:root{--bg:#eaedf3;--surface:rgba(255,255,255,.72);--surface-2:rgba(120,130,150,.11);--border:rgba(0,0,0,.08);--text:#1d1d1f;--text-2:#54545c;--text-3:#86868b;--accent:#0071e3;--accent-soft:rgba(0,113,227,.1);--red:#e0352b;--red-soft:rgba(224,53,43,.11);--amber:#b86a00;--amber-soft:rgba(184,106,0,.12);--green:#1f8a4c;--green-soft:rgba(31,138,76,.12);--page-bg:radial-gradient(900px 620px at 12% -5%, #dfe7f6, transparent 60%), radial-gradient(820px 600px at 105% 10%, #ece2f4, transparent 55%), linear-gradient(165deg,#eef1f7,#e5e9f1);--chrome:rgba(244,246,250,.7);--radius:16px}[data-theme=dark]{--bg:#0a0a0c;--surface:rgba(28,28,32,.6);--surface-2:rgba(255,255,255,.07);--border:rgba(255,255,255,.12);--text:#f5f5f7;--text-2:#a6a6ad;--text-3:#8e8e93;--accent:#0a84ff;--accent-soft:rgba(10,132,255,.18);--red:#ff453a;--red-soft:rgba(255,69,58,.18);--amber:#ff9f0a;--amber-soft:rgba(255,159,10,.18);--green:#32d74b;--green-soft:rgba(50,215,75,.16);--page-bg:radial-gradient(900px 620px at 12% -5%, #16203a, transparent 60%), radial-gradient(820px 600px at 105% 10%, #241a35, transparent 55%), linear-gradient(165deg,#0b0c10,#070709);--chrome:rgba(18,18,22,.62)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);background-image:var(--page-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased}.kd-glass{backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}@keyframes kd-spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-track{background:transparent}a{color:var(--accent);text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;padding:18px 14px;background:var(--chrome);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px}.brand .logo{width:34px;height:34px;border-radius:9px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.brand b{font-size:15px}.navgroup{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin:12px 8px 4px}.navitem{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;color:var(--text-2);cursor:pointer;font-size:14px;border:1px solid transparent}.navitem:hover{background:var(--surface-2)}.navitem.active{background:var(--surface);border-color:var(--border);color:var(--text);font-weight:600}.main{flex:1;min-width:0;padding:22px 26px 60px}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.header .kicker{font-size:12px;color:var(--text-3)}.header h1{font-size:24px;margin:2px 0 0}.userchip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.card h3{margin:0 0 12px;font-size:14px;font-weight:600}.grid{display:grid;gap:14px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.kpi .n{font-size:28px;font-weight:700;letter-spacing:-.5px}.kpi .l{font-size:12px;color:var(--text-3);margin-top:3px}.kpi .n.red{color:var(--red)}.kpi .n.amber{color:var(--amber)}.kpi .n.green{color:var(--green)}.bars{display:flex;flex-direction:column;gap:9px}.barrow{display:grid;grid-template-columns:130px 1fr 34px;align-items:center;gap:10px;font-size:13px}.barrow .lab{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bartrack{height:9px;background:var(--surface-2);border-radius:99px;overflow:hidden}.bartrack>i{display:block;height:100%;background:var(--accent);border-radius:99px}.barrow .val{text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums}.chip{display:inline-block;font-size:11px;padding:2px 9px;border-radius:20px;font-weight:600}.chip.red{background:var(--red-soft);color:var(--red)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.chip.green{background:var(--green-soft);color:var(--green)}.chip.blue{background:var(--accent-soft);color:var(--accent)}.chip.gray{background:var(--surface-2);color:var(--text-2)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}th{color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}tr:hover td{background:var(--surface-2)}.btn{padding:10px 16px;border-radius:11px;border:1px solid transparent;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;font-size:14px}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn:disabled{opacity:.6;cursor:default}.input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font-size:14px}.input:focus{outline:none;border-color:var(--accent)}label.field{display:block;font-size:13px;color:var(--text-2);margin:12px 0 5px}.authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a0d12;background-image:radial-gradient(620px 420px at 72% 62%,rgba(20,170,150,.22),transparent 60%),radial-gradient(520px 420px at 28% 30%,rgba(40,80,160,.2),transparent 62%)}.authcard{width:100%;max-width:410px;background:#12161cb8;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:34px 30px;box-shadow:0 30px 80px #00000080;color:#f2f4f7}.authcard .logo{width:48px;height:48px;border-radius:13px;background:#2f57c2;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin:0 auto 16px}.authcard h2{margin:0 0 4px;font-size:21px;text-align:center;color:#f2f4f7}.authcard p.sub{margin:0 0 20px;color:#9aa4ae;font-size:13px;text-align:center}.authcard label.field{color:#c4cad1}.authcard .input{background:#fff;color:#14181d;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:13px 14px}.authcard .input::placeholder{color:#9aa4ae}.authcard .input:focus{border-color:#2f57c2;box-shadow:0 0 0 3px #2f57c247}.authcard .btn{background:#2f57c2;border:none;border-radius:12px;padding:13px 16px;font-weight:600}.authcard .btn:hover{background:#3a63d0}.authcard .btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.18);color:#e6e9ee}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.remember{display:flex;align-items:center;gap:8px;font-size:13px;color:#c4cad1;margin:14px 0}.msg{font-size:13px;padding:9px 12px;border-radius:10px;margin-top:12px}.msg.err{background:#e0352b26;color:#ff8f86}.msg.ok{background:#1f8a4c2e;color:#7ee2a8}.linkbtn{background:none;border:none;color:#7fb0ff;cursor:pointer;font-size:13px;padding:0}.muted{color:var(--text-3)}.center{text-align:center}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:kd-spin .8s linear infinite;margin:30px auto}
