:root{--ff-bg: #0f1419;--ff-bg-elevated: #171d25;--ff-bg-soft: #1c2430;--ff-surface: #222b38;--ff-border: rgba(148, 163, 184, .16);--ff-border-strong: rgba(148, 163, 184, .28);--ff-text: #e8eef6;--ff-text-muted: #94a3b8;--ff-text-dim: #64748b;--ff-accent: #2dd4bf;--ff-accent-strong: #14b8a6;--ff-accent-soft: rgba(45, 212, 191, .12);--ff-danger: #f87171;--ff-danger-soft: rgba(248, 113, 113, .12);--ff-warning: #fbbf24;--ff-success: #34d399;--ff-radius: 12px;--ff-radius-sm: 8px;--ff-shadow: 0 12px 40px rgba(0, 0, 0, .28);--ff-font: "Plus Jakarta Sans", system-ui, sans-serif;--ff-mono: "IBM Plex Mono", ui-monospace, monospace;--ff-sidebar: 260px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--ff-font);background:radial-gradient(1200px 600px at 10% -10%,rgba(45,212,191,.08),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(56,189,248,.05),transparent 50%),linear-gradient(180deg,#10161d,#0c1117);color:var(--ff-text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#2dd4bf4d}.app-shell{display:grid;grid-template-columns:var(--ff-sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:1.25rem 1rem;border-right:1px solid var(--ff-border);background:#0f1419e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:1.5rem}.brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .5rem}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,var(--ff-accent),#0ea5e9);display:grid;place-items:center;font-weight:700;color:#042f2e;box-shadow:0 0 0 1px #ffffff14 inset}.brand-logo{display:block;width:40px;height:40px;object-fit:contain;border-radius:10px;flex-shrink:0;background:#f4f9ff;box-shadow:0 0 0 1px #ffffff14}.auth-logo{width:56px;height:56px;margin:0 auto .35rem;border-radius:14px}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-size:1.05rem;letter-spacing:-.02em}.beta-badge{display:inline-block;margin-left:.35rem;padding:.08rem .4rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;color:#083344;background:#7dd3fc}.brand-text span{font-size:.72rem;color:var(--ff-text-muted)}.nav-list{display:flex;flex-direction:column;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border-radius:var(--ff-radius-sm);color:var(--ff-text-muted);transition:background .15s ease,color .15s ease}.nav-link:hover{background:#ffffff0a;color:var(--ff-text)}.nav-link.active{background:var(--ff-accent-soft);color:var(--ff-accent)}.nav-icon{width:18px;height:18px;opacity:.9}.sidebar-footer{margin-top:auto;padding:.75rem;border-top:1px solid var(--ff-border);color:var(--ff-text-dim);font-size:.8rem}.main{min-width:0;padding:1.75rem 2rem 2.5rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.page-header h1{margin:0;font-size:1.75rem;letter-spacing:-.03em}.page-header p{margin:.35rem 0 0;color:var(--ff-text-muted)}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.metric-card{background:linear-gradient(180deg,#222b38e6,#1c2430bf);border:1px solid var(--ff-border);border-radius:var(--ff-radius);padding:1.1rem 1.15rem;transition:border-color .15s ease,transform .15s ease}.metric-card:hover{border-color:var(--ff-border-strong);transform:translateY(-1px)}.metric-card label{display:block;color:var(--ff-text-muted);font-size:.82rem;margin-bottom:.45rem}.metric-card strong{font-size:1.45rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.panel{background:#171d25d9;border:1px solid var(--ff-border);border-radius:var(--ff-radius);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--ff-border)}.panel-header h2{margin:0;font-size:1rem}.table-wrap{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse}table.data-table th,table.data-table td{text-align:left;padding:.9rem 1.15rem;border-bottom:1px solid var(--ff-border);white-space:nowrap}table.data-table th{color:var(--ff-text-dim);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}table.data-table tbody tr{cursor:pointer;transition:background .12s ease}table.data-table tbody tr:hover{background:#ffffff08}table.data-table td.num{font-family:var(--ff-mono);font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:var(--ff-radius-sm);padding:.65rem 1rem;font-weight:600;font-size:.92rem;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--ff-accent),var(--ff-accent-strong));color:#042f2e}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-secondary{background:#ffffff0a;border-color:var(--ff-border);color:var(--ff-text)}.btn-secondary:hover:not(:disabled){border-color:var(--ff-border-strong);background:#ffffff0f}.btn-danger{background:var(--ff-danger-soft);border-color:#f8717159;color:var(--ff-danger)}.btn-ghost{background:transparent;color:var(--ff-text-muted)}.btn-ghost:hover:not(:disabled){color:var(--ff-text);background:#ffffff0a}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.85rem;color:var(--ff-text-muted)}.field input,.field select,.field textarea{background:var(--ff-bg-soft);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);padding:.75rem .85rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2dd4bf8c;box-shadow:0 0 0 3px #2dd4bf1f}.status-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--ff-text-muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--ff-text-dim)}.status-dot.online{background:var(--ff-success);box-shadow:0 0 0 3px #34d3992e}.status-dot.offline{background:var(--ff-text-dim)}.empty-state{text-align:center;padding:3.5rem 1.5rem}.empty-state h3{margin:0 0 .5rem;font-size:1.2rem}.empty-state p{margin:0 auto 1.25rem;max-width:36ch;color:var(--ff-text-muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.auth-card{width:min(420px,100%);background:#171d25eb;border:1px solid var(--ff-border);border-radius:16px;padding:2rem;box-shadow:var(--ff-shadow)}.auth-card h1{margin:.75rem 0 .35rem;font-size:1.55rem;letter-spacing:-.03em}.auth-card .subtitle{margin:0 0 1.5rem;color:var(--ff-text-muted)}.auth-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:.5rem}.auth-links{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.88rem;color:var(--ff-accent)}.error-text{color:var(--ff-danger);font-size:.88rem;margin:0 0 .75rem}.toast-stack{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1000;display:flex;flex-direction:column;gap:.6rem}.toast{min-width:260px;max-width:360px;background:var(--ff-bg-elevated);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);padding:.85rem 1rem;box-shadow:var(--ff-shadow);animation:slideIn .2s ease}.toast.success{border-color:#34d39959}.toast.error{border-color:#f8717159}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080ca6;display:grid;place-items:center;z-index:900;padding:1rem}.modal{width:min(440px,100%);background:var(--ff-bg-elevated);border:1px solid var(--ff-border);border-radius:14px;padding:1.35rem;box-shadow:var(--ff-shadow)}.modal h3{margin:0 0 .4rem}.modal p{margin:0 0 1.1rem;color:var(--ff-text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.usage-bar{height:10px;border-radius:999px;background:#ffffff0f;overflow:hidden}.usage-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--ff-accent-strong),#38bdf8);border-radius:inherit}.file-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--ff-border)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.85rem 1.15rem;border-bottom:1px solid var(--ff-border);color:var(--ff-text-muted);font-size:.9rem}.breadcrumb button{background:none;border:none;color:var(--ff-accent);padding:0}.breadcrumb .sep{opacity:.5}.file-row-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:#ffffff0d;font-size:.75rem;font-weight:700;color:var(--ff-accent)}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.2s infinite linear;border-radius:8px;height:1rem}@keyframes shimmer{to{background-position:-200% 0}}.computer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.computer-card{background:#171d25e6;border:1px solid var(--ff-border);border-radius:var(--ff-radius);padding:1.2rem;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.computer-card:hover{border-color:var(--ff-border-strong);transform:translateY(-1px)}.activity-list{display:flex;flex-direction:column}.activity-item{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--ff-border)}.activity-item:last-child{border-bottom:none}.activity-item h4{margin:0 0 .25rem;font-size:.95rem}.activity-item p{margin:0;color:var(--ff-text-muted);font-size:.85rem}.activity-item time{color:var(--ff-text-dim);font-size:.8rem;white-space:nowrap}.progress-track{height:6px;background:#ffffff14;border-radius:999px;overflow:hidden;margin-top:.5rem}.progress-track>span{display:block;height:100%;background:var(--ff-accent)}.mobile-toggle{display:none}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);z-index:800;transform:translate(-105%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.mobile-toggle{display:inline-flex}.main{padding:1.25rem 1rem 2rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
