:root{--bg: #0a0d12;--bg-alt: #0f1319;--surface: #141a23;--surface-2: #1a2230;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #e8edf4;--text-muted: #8a95a7;--text-dim: #5a6478;--accent: #00e87a;--accent-dim: rgba(0, 232, 122, .15);--accent-glow: rgba(0, 232, 122, .35);--accent-orange: #ff8a3d;--danger: #ff5470;--danger-dim: rgba(255, 84, 112, .08);--warning: #ffc857;--warning-dim: rgba(255, 200, 87, .12);--radius: 14px;--radius-sm: 8px;--radius-lg: 22px;--max: 1180px;--container-pad: 24px;--font-display: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;--t-fast: .15s ease;--t: .2s ease}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:opacity var(--t)}a:hover{opacity:.85}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}ul{list-style:none;padding:0;margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;margin:0 0 .5em;line-height:1.2}h1{font-size:1.85rem;font-weight:800;letter-spacing:-.03em}h2{font-size:1.45rem}h3{font-size:1.1rem;font-weight:600}h4{font-size:.95rem;font-weight:600}p{margin:0 0 1em;color:var(--text-muted)}code,.mono{font-family:var(--font-mono);font-size:.9em}hr{border:none;border-top:1px solid var(--border);margin:24px 0}::selection{background:var(--accent-dim);color:var(--text)}.boot-message{padding:80px 24px;text-align:center;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;font-size:.95rem;font-weight:600;border-radius:10px;transition:transform var(--t-fast),background var(--t),box-shadow var(--t),border-color var(--t),color var(--t);white-space:nowrap;cursor:pointer;text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#03150c;box-shadow:0 8px 24px -10px var(--accent-glow)}.btn-primary:hover:not(:disabled){background:#1aff8e;box-shadow:0 12px 32px -10px var(--accent-glow)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border-strong)}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-ghost{background:transparent;color:var(--text-muted);padding:10px 16px}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--surface)}.btn-danger{background:transparent;color:var(--danger);border:1px solid rgba(255,84,112,.4)}.btn-danger:hover:not(:disabled){background:var(--danger-dim)}.btn-block{width:100%}.btn-sm{padding:8px 14px;font-size:.85rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;text-align:left}.field label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.field .hint{font-size:.78rem;color:var(--text-dim);margin-top:4px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:540px){.field-row{grid-template-columns:1fr}}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{background:var(--bg);border:1px solid var(--border-strong);outline:none;color:var(--text);padding:12px 14px;border-radius:10px;font-size:.95rem;font-family:inherit;transition:border-color var(--t),box-shadow var(--t);width:100%}input::placeholder,textarea::placeholder{color:var(--text-dim)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim)}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2,.card-head h3{margin:0}.card+.card{margin-top:20px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:500;border-radius:999px;letter-spacing:.01em}.badge-ok{color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-dim)}.badge-warning{color:var(--warning);background:var(--warning-dim);border:1px solid var(--warning-dim)}.badge-error{color:var(--danger);background:var(--danger-dim);border:1px solid rgba(255,84,112,.25)}.badge-muted{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}.alert{padding:12px 16px;border-radius:10px;font-size:.9rem;margin-bottom:14px;line-height:1.5}.alert-error{color:var(--danger);background:var(--danger-dim);border:1px solid rgba(255,84,112,.25)}.alert-success{color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-dim)}.alert-warning{color:var(--warning);background:var(--warning-dim);border:1px solid rgba(255,200,87,.25)}.alert-info{color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong)}.alert ul{margin:8px 0 0 18px;padding:0;list-style:disc}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table thead th{text-align:left;font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.table tbody td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.table .num{font-family:var(--font-mono);text-align:right;white-space:nowrap}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fadeIn .2s ease}.modal{position:relative;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:36px 32px 28px;max-width:540px;width:100%;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 60px -20px #0009,0 0 80px -30px var(--accent-glow);animation:slideUp .25s ease}.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;font-size:1.4rem;color:var(--text-dim);border-radius:8px;transition:background var(--t),color var(--t);display:inline-flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal h2{font-size:1.35rem;margin-bottom:8px}.modal-message{color:var(--text-muted);margin-bottom:22px}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:#0a0d12d9;border-bottom:1px solid var(--border)}.app-header-inner{max-width:var(--max);margin:0 auto;padding:0 var(--container-pad);height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.08rem;letter-spacing:-.02em;color:var(--text)}.app-logo-mark{color:var(--accent);font-size:1.4rem;text-shadow:0 0 18px var(--accent-glow)}.app-logo-tld{color:var(--accent-orange);font-style:italic;font-weight:500;margin-left:1px;letter-spacing:0}.app-header-actions{display:flex;align-items:center;gap:8px}.app-header-user{font-size:.85rem;color:var(--text-muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 6px}@media(max-width:540px){.app-header-user{display:none}}.app-body{flex:1;width:100%;max-width:var(--max);margin:0 auto;padding:28px var(--container-pad) 80px;display:grid;grid-template-columns:220px 1fr;gap:32px}@media(max-width:880px){.app-body{grid-template-columns:1fr;gap:16px}}.app-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:88px;align-self:start}@media(max-width:880px){.app-nav{position:static;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:8px}}.app-nav a{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:.92rem;color:var(--text-muted);transition:background var(--t),color var(--t)}.app-nav a:hover{background:var(--surface);color:var(--text)}.app-nav a.active{background:var(--surface);color:var(--accent)}.app-main{min-width:0}.page-head{margin-bottom:24px}.page-head h1{margin-bottom:6px}.page-head p{color:var(--text-muted);margin:0}.legal-footer{border-top:1px solid var(--border);padding:20px 0;color:var(--text-dim);font-size:.82rem}.app-footer.legal-footer{margin-top:auto;background:var(--bg-alt)}.legal-footer-inner{max-width:var(--max);margin:0 auto;padding:0 var(--container-pad);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.legal-footer-copy{color:var(--text-dim)}.legal-footer-links{display:inline-flex;gap:18px;flex-wrap:wrap}.legal-footer-links a{color:var(--text-muted);text-decoration:none;transition:color var(--t-fast)}.legal-footer-links a:hover{color:var(--text)}.auth-legal-footer.legal-footer{position:relative;z-index:1;margin-top:24px;border-top:none;padding:12px 0 0;text-align:center}.auth-legal-footer .legal-footer-inner{justify-content:center;padding:0}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;position:relative;overflow:hidden}.auth-shell:before{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:800px;height:600px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 60%);filter:blur(80px);opacity:.25;z-index:0;pointer-events:none}.auth-card{position:relative;z-index:1;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:40px 36px 32px;max-width:460px;width:100%;box-shadow:0 20px 60px -20px #0009}.auth-brand{text-align:center;margin-bottom:28px;font-family:var(--font-display);font-weight:700;font-size:1.1rem}.auth-brand .app-logo-mark{font-size:1.5rem;margin-right:4px}.auth-card h1{font-size:1.5rem;text-align:center;margin-bottom:8px}.auth-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:24px}.auth-card .auth-switch{text-align:center;margin-top:18px;font-size:.9rem;color:var(--text-muted)}.toast-stack{position:fixed;top:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:var(--surface);border:1px solid var(--border-strong);border-left-width:4px;border-radius:10px;padding:12px 16px;font-size:.9rem;max-width:360px;box-shadow:0 12px 32px -12px #0009;pointer-events:auto;animation:slideUp .25s ease}.toast-error{border-left-color:var(--danger);color:var(--danger)}.toast-success{border-left-color:var(--accent);color:var(--accent)}.toast-info{border-left-color:var(--text-muted);color:var(--text)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state h3{color:var(--text);margin-bottom:8px}
