:root{--bw-bg:#0b1220;--bw-surface:#121a2b;--bw-border:#243049;--bw-text:#e8eefc;--bw-muted:#93a0b8;--bw-accent:#3b82f6;--bw-accent-soft:#1d4ed8;--bw-success:#22c55e;--bw-warning:#f59e0b;--bw-danger:#ef4444;--bw-radius:12px;--bw-font:"Segoe UI",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--bw-font);background:var(--bw-bg);color:var(--bw-text)}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:240px 1fr}.shell,.sidebar{min-height:100vh}.sidebar{background:var(--bw-surface);border-right:1px solid var(--bw-border);padding:24px 16px;display:flex;flex-direction:column;gap:8px}.sidebar .brand{font-weight:700;font-size:18px;letter-spacing:.02em;margin-bottom:16px}.sidebar a{padding:10px 12px;border-radius:10px;color:var(--bw-muted);font-size:14px}.sidebar a.active,.sidebar a:hover{background:#1a2438;color:var(--bw-text)}.main{padding:28px 32px}.card{background:var(--bw-surface);border:1px solid var(--bw-border);border-radius:var(--bw-radius);padding:20px}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.muted{color:var(--bw-muted)}h1{margin:0 0 8px;font-size:28px}h2{margin:0 0 12px;font-size:16px;font-weight:600}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:var(--bw-surface);border:1px solid var(--bw-border);border-radius:16px;padding:28px;gap:14px}.auth-card,.auth-card label{display:flex;flex-direction:column}.auth-card label{gap:6px;font-size:13px;color:var(--bw-muted)}.auth-card input{border-radius:10px;border:1px solid var(--bw-border);background:var(--bw-bg);color:var(--bw-text);padding:10px 12px;font-size:14px}.kpi{font-size:28px;font-weight:700}.banner{border:1px solid #854d0e;background:#422006;color:#fde68a;border-radius:12px;padding:12px 14px;margin-bottom:20px;font-size:14px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table td,.data-table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--bw-border);vertical-align:middle}.data-table th{color:var(--bw-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.auth-card input,.card input,.card label input,.card select,.card>label input,.data-table input,.data-table select,.form-grid input{width:100%;border-radius:10px;border:1px solid var(--bw-border);background:var(--bw-bg);color:var(--bw-text);padding:8px 10px;font-size:14px}.card label,.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--bw-muted)}.form-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}