:root{--bg:#0b0b0c;--surface:#141416;--surface-2:#1b1b1f;--border:#2a2a30;--text:#f3f1ea;--muted:#9a978d;--gold:#d4a537;--gold-l:#f0c46b;--on-gold:#1a1405;--danger:#ef5350;--success:#43b581;--info:#5aa9ff;--warn:#f2b94b;--radius:14px;--sidebar:250px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3,h4{margin:0;line-height:1.2}a{color:var(--gold-l)}button{font:inherit}table{border-collapse:collapse;width:100%}::selection{background:var(--gold);color:var(--on-gold)}:focus-visible{outline:2px solid var(--gold-l);outline-offset:2px}.app{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100%;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:.3px;align-items:center;gap:10px;padding:6px 10px 16px;font-weight:800;display:flex}.brand b{color:var(--gold-l)}.brand small{color:var(--muted);letter-spacing:1.4px;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.nav-group{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:14px 10px 4px;font-size:11px;font-weight:700}.nav a{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.nav a:hover{background:var(--surface-2)}.nav a.active{color:var(--gold-l);background:#d4a53729}.nav .ico{text-align:center;opacity:.9;width:20px}.side-foot{border-top:1px solid var(--border);color:var(--muted);margin-top:auto;padding:12px 10px 4px;font-size:13px}.side-foot strong{color:var(--text);text-overflow:ellipsis;display:block;overflow:hidden}.main{width:100%;min-width:0;max-width:1500px;padding:26px clamp(16px,3vw,36px) 60px}.topbar{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:22px;display:flex}.page-head h1{font-size:clamp(22px,3vw,28px)}.page-head p{color:var(--muted);margin:4px 0 0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=920px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:min(82vw,290px);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:10px 0 40px #00000080}.sidebar.open{transform:none}.scrim{z-index:30;background:#0000008c;position:fixed;inset:0}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0}.main{padding-top:18px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card h3{margin-bottom:4px;font-size:15px}.card .sub{color:var(--muted);margin-bottom:14px;font-size:13px}.grid{gap:16px;display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (width<=1100px){.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-21{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.cols-2,.cols-3{grid-template-columns:minmax(0,1fr)}}.kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;overflow:hidden}.kpi:before{content:"";background:linear-gradient(90deg, var(--gold), transparent);opacity:.8;height:3px;position:absolute;inset:0 0 auto}.kpi .label{color:var(--muted);font-size:12.5px;font-weight:600}.kpi .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:800}.kpi .hint{color:var(--muted);margin-top:2px;font-size:12px}.kpi.good .value{color:var(--success)}.kpi.bad .value{color:var(--danger)}.stack{gap:16px;display:grid}.muted{color:var(--muted)}.right{text-align:right}.num{font-variant-numeric:tabular-nums}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.card .table-wrap{background:0 0;border:0;border-radius:0}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;background:var(--surface);font-size:12px;font-weight:700;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr.click{cursor:pointer}tbody tr.click:hover td{background:var(--surface-2)}tfoot td{background:var(--surface-2);font-weight:800}td.wrap{white-space:normal;min-width:200px}.empty{text-align:center;color:var(--muted);padding:28px}.btn{border:1px solid var(--border);background:var(--surface-2);min-height:40px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}.btn.primary:hover{background:var(--gold-l)}.btn.danger{color:var(--danger);border-color:#ef535080}.btn.sm{min-height:32px;padding:4px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.field{gap:6px;margin-bottom:14px;display:grid}.field label{color:var(--muted);font-size:13px;font-weight:700}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:42px;color:var(--text);font:inherit;border-radius:10px;padding:9px 12px}.input:focus{border-color:var(--gold);outline:none}textarea.input{resize:vertical;min-height:80px}.row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=560px){.row{grid-template-columns:minmax(0,1fr)}}.filters{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.filters .input{flex:150px;width:auto;min-width:150px}.chips{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.chips button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-weight:700}.chips button.on{background:var(--gold);color:var(--on-gold)}.badge{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.badge.good{color:var(--success);border-color:#43b58180}.badge.bad{color:var(--danger);border-color:#ef535080}.badge.warn{color:var(--warn);border-color:#f2b94b80}.badge.gold{color:var(--gold-l);border-color:#d4a53799}.alert{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:14px}.alert.error{color:#ffb4b2;border-color:#ef535099}.alert.ok{color:#a8e6c6;border-color:#43b58199}.alert.warn{color:#f7d98e;border-color:#f2b94b99}.bar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--gold), var(--gold-l));height:100%;display:block}.bar.over>i{background:var(--danger)}.pager{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:14px;display:flex}.modal-bg{z-index:60;background:#000000a6;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:min(640px,100%);max-height:calc(100vh - 32px);padding:22px;overflow-y:auto}.modal.wide{width:min(900px,100%)}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.modal-foot{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.x{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}.login{background:radial-gradient(900px 500px at 50% -10%, #d4a5372e, transparent), var(--bg);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:min(420px,100%);padding:28px}.login-card h1{margin:14px 0 4px;font-size:22px}.login-card p{color:var(--muted);margin:0 0 20px}.spinner{border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:22px;height:22px;margin:30px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.recharts-tooltip-wrapper{outline:none}.card,.kpi,.stack>*,.grid>*{min-width:0}.page-head .actions{max-width:100%}.chips{max-width:100%;overflow-x:auto}
