:root{--sans:"Geist", system-ui, -apple-system, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--brand-main:#c5ffa3;--brand-medium:#8dcc72;--brand-dark:#2c5b37;--brand-foreground:#17210f;--notify:#e5533d;--amber:#caa033}[data-theme=light]{--bg:#f4f6f2;--elevated:#fff;--muted:#f1f3ef;--subtle:#e6eae4;--subtle-strong:#dce2db;--text:#151917;--text-2:#3a423d;--text-3:#5d655f;--text-muted:#7b837d;--text-dim:#9aa29c;--border:#d7ddd7;--border-strong:#c2cabf;--divider:#e3e8e1;--shadow-sm:0 1px 2px #1016110f, 0 1px 3px #1016110d;--shadow-lg:0 18px 40px -12px #10161129;--glass-tint:#c5ffa31a;--glow:#c5ffa338;--brand-med-theme:#8dcc72;--brand-dark-theme:#2c5b37;--track:#e6eae4}[data-theme=dark]{--bg:#101311;--elevated:#171b18;--muted:#1c211e;--subtle:#232925;--subtle-strong:#2c342f;--text:#f5f7f4;--text-2:#cdd3cd;--text-3:#a4aca5;--text-muted:#838c85;--text-dim:#646c66;--border:#2c342d;--border-strong:#3a443b;--divider:#242b25;--shadow-sm:0 1px 2px #0006;--shadow-lg:0 18px 40px -12px #0000008c;--glass-tint:#c5ffa30f;--glow:#c5ffa317;--brand-med-theme:#98d67b;--brand-dark-theme:#cdeebd;--track:#232925}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}.mono{font-family:var(--mono)}button,input,textarea,select{font-family:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--subtle-strong);border:3px solid var(--bg);border-radius:99px}#login{z-index:50;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#login:before{content:"";background:radial-gradient(50% 70% at 50% 0%, var(--glow), transparent 70%);pointer-events:none;position:absolute;inset:0}.login-card{background:var(--elevated);border:1px solid var(--border);width:340px;box-shadow:var(--shadow-lg);border-radius:22px;padding:34px 30px;position:relative}.login-card .mk{letter-spacing:-.02em;align-items:center;gap:9px;font-size:18px;font-weight:600;display:flex}.login-card .dot,.side-brand .dot{background:var(--brand-main);border:1px solid var(--brand-medium);border-radius:50%;width:11px;height:11px}.login-card .tag{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:8px 0 26px;font-size:10px}.form-row{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.form-row input,.form-row select{background:var(--muted);border:1px solid var(--border);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:10px;padding:8px 10px;font-size:13px}@media (prefers-color-scheme:dark){.form-row input,.form-row select{--lightningcss-light: ;--lightningcss-dark:initial}}.form-row input:focus,.form-row select:focus{border-color:var(--brand-medium);outline:none}.form-row input::placeholder{color:var(--text-dim)}.kpis-4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.kpis-4{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.kpis-4{grid-template-columns:1fr}}.cost-form{background:var(--muted);border:1px solid var(--border);border-radius:14px;margin:14px 0;padding:16px}.cf-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px;display:grid}.cf-field{flex-direction:column;gap:5px;display:flex}.cf-field>span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.cf-field>span em{text-transform:none;letter-spacing:0;color:var(--text-dim);font-style:normal}.cf-field input,.cf-field select{background:var(--elevated);border:1px solid var(--border);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:9px;padding:9px 11px;font-size:13px}@media (prefers-color-scheme:dark){.cf-field input,.cf-field select{--lightningcss-light: ;--lightningcss-dark:initial}}.cf-field input:focus,.cf-field select:focus{border-color:var(--brand-medium);outline:none}.cf-wide{grid-column:span 2}.cf-narrow{max-width:120px}.cf-freq{margin-bottom:14px}.cf-flabel{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:10px;display:block}.cf-seg{border:1px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.cf-seg button{background:var(--elevated);border:none;border-right:1px solid var(--border);color:var(--text-muted);padding:9px 16px;font-size:13px;font-weight:500}.cf-seg button:last-child{border-right:none}.cf-seg button.on{background:var(--brand-main);color:#17210f;font-weight:600}.cf-actions{justify-content:flex-end;gap:10px;display:flex}.field{margin-bottom:13px}.field label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:10px;display:block}.field input{background:var(--muted);border:1px solid var(--border);width:100%;color:var(--text);border-radius:11px;padding:11px 13px;font-size:14px}.field input:focus{border-color:var(--brand-medium);outline:none}.btn-primary{background:var(--brand-main);width:100%;color:var(--brand-foreground);border:none;border-radius:999px;margin-top:8px;padding:12px;font-size:14px;font-weight:600}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:disabled{opacity:.6;cursor:default}.login-note{font-family:var(--mono);letter-spacing:.06em;color:var(--text-dim);text-align:center;margin-top:16px;font-size:9.5px;line-height:1.6}.login-error{color:var(--notify);font-family:var(--mono);text-align:center;margin-top:12px;font-size:11px}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}aside{border-right:1px solid var(--border);background:var(--bg);align-self:start;height:100vh;padding:24px 16px;position:sticky;top:0;overflow-y:auto}.side-brand{letter-spacing:-.02em;align-items:center;gap:9px;padding:4px 8px;font-size:17px;font-weight:600;display:flex}.side-tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:6px 8px 16px;font-size:9.5px}.nav-grp{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);padding:14px 10px 6px;font-size:9px}nav a{color:var(--text-3);cursor:pointer;border-left:2px solid #0000;border-radius:9px;align-items:center;gap:10px;margin-bottom:1px;padding:8px 10px;font-size:13.5px;transition:all .13s;display:flex}nav a:hover{background:var(--muted);color:var(--text)}nav a.active{background:var(--muted);color:var(--text);border-left-color:var(--brand-medium)}nav a .ic{text-align:center;opacity:.8;width:15px;font-size:14px}nav a .badge{font-family:var(--mono);background:var(--notify);color:#fff;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:600}.side-foot{border-top:1px solid var(--divider);margin-top:20px;padding-top:14px}.who-mini{color:var(--text-3);align-items:center;gap:9px;padding:4px 8px 12px;font-size:12px;display:flex}.who-mini .av{background:var(--brand-main);width:26px;height:26px;color:var(--brand-foreground);font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.theme-toggle,.signout{width:100%;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);background:var(--elevated);color:var(--text-2);box-shadow:var(--shadow-sm);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px;font-size:10px;font-weight:600;display:flex}.theme-toggle:hover,.signout:hover{background:var(--muted)}.signout{color:var(--notify);margin-top:8px}main{max-width:1220px;padding:30px 34px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:22px;display:flex}.topbar h1{letter-spacing:-.025em;font-size:24px;font-weight:600}.topbar .sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:10px}.range{background:var(--muted);border:1px solid var(--border);border-radius:999px;gap:4px;padding:3px;display:flex}.range button{color:var(--text-3);font-family:var(--mono);letter-spacing:.04em;background:0 0;border:none;border-radius:999px;padding:6px 13px;font-size:11px;font-weight:600}.range button.on{background:var(--elevated);color:var(--text);box-shadow:var(--shadow-sm)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filters input.search{background:var(--elevated);border:1px solid var(--border);min-width:180px;color:var(--text);border-radius:999px;flex:1;padding:9px 15px;font-size:13px}.filters input.search:focus{border-color:var(--brand-medium);outline:none}.chip{font-family:var(--mono);letter-spacing:.03em;border:1px solid var(--border);background:var(--elevated);color:var(--text-3);border-radius:999px;align-items:center;gap:6px;padding:8px 13px;font-size:11px;font-weight:600;display:inline-flex}.chip.on{background:var(--brand-main);color:var(--brand-foreground);border-color:var(--brand-main)}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}.kpi{background:var(--elevated);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;padding:16px 17px}.kpi .k{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:9.5px}.kpi .v{letter-spacing:-.03em;margin-top:9px;font-size:27px;font-weight:600}.kpi .d{font-family:var(--mono);margin-top:6px;font-size:11px}.up{color:var(--brand-med-theme)}.down{color:var(--notify)}.row{gap:14px;margin-bottom:14px;display:grid}.row.c2{grid-template-columns:1.6fr 1fr}.row.c2b{grid-template-columns:1fr 1.4fr}.row.c2e{grid-template-columns:1fr 1fr}.panel{background:var(--elevated);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;padding:18px 20px}.panel h2{letter-spacing:-.01em;justify-content:space-between;align-items:center;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.panel h2 .hint{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:9.5px;font-weight:500}.panel .lede{font-family:var(--mono);color:var(--text-muted);letter-spacing:.04em;margin-bottom:16px;font-size:10px}table{border-collapse:collapse;width:100%;font-size:13px}th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--divider);padding:7px 8px;font-size:9.5px;font-weight:500}td{border-bottom:1px solid var(--divider);color:var(--text-2);vertical-align:middle;padding:9px 8px}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--muted)}td .who{color:var(--text);font-weight:500}.src{font-family:var(--mono);color:var(--text-3);font-size:11px}.lnk{font-family:var(--mono);color:var(--brand-med-theme);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.num{font-family:var(--mono);font-size:12px}.pill{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:600;display:inline-flex}.pill.green{background:var(--glass-tint);border-color:var(--brand-medium);color:var(--brand-dark-theme)}.pill.flat{background:var(--muted);color:var(--text-3)}.pill.red{background:color-mix(in srgb, var(--notify) 14%, var(--elevated));border-color:color-mix(in srgb, var(--notify) 45%, var(--border));color:var(--notify)}.pill.amber{background:color-mix(in srgb, var(--amber) 16%, var(--elevated));border-color:color-mix(in srgb, var(--amber) 45%, var(--border));color:var(--amber)}.attr{flex-direction:column;gap:13px;margin-top:4px;display:flex}.attr .r{align-items:center;gap:11px;display:flex}.attr .nm{align-items:center;gap:7px;width:130px;font-size:12px;display:flex}.sw{border-radius:3px;flex:none;width:9px;height:9px}.attr .track{background:var(--track);border-radius:99px;flex:1;height:10px;overflow:hidden}.attr .track i{border-radius:99px;height:100%;display:block}.attr .pct{text-align:right;width:54px;font-family:var(--mono);color:var(--text-2);font-size:12px}.spark{align-items:flex-end;gap:4px;min-width:0;height:120px;margin-top:10px;display:flex;overflow:hidden}.spark .col{background:linear-gradient(180deg, var(--brand-main), var(--brand-medium));border-radius:4px 4px 2px 2px;flex:1 1 0;min-width:0;min-height:2px;position:relative}.spark .col:hover{filter:brightness(1.08)}.spark-axis{font-family:var(--mono);color:var(--text-dim);justify-content:space-between;margin-top:6px;font-size:9px;display:flex}.btn{font-family:var(--mono);letter-spacing:.03em;border:1px solid var(--border);background:var(--elevated);color:var(--text-2);border-radius:999px;padding:8px 14px;font-size:11px;font-weight:600}.btn:hover{background:var(--muted)}.btn.brand{background:var(--brand-main);color:var(--brand-foreground);border-color:var(--brand-main)}.btn.danger{color:var(--notify);border-color:color-mix(in srgb, var(--notify) 45%, var(--border))}.btn:disabled{opacity:.5;cursor:default}.empty{text-align:center;color:var(--text-muted);font-family:var(--mono);padding:40px 0;font-size:12px}.loading{color:var(--text-muted);font-family:var(--mono);padding:24px 0;font-size:12px}.toast{background:var(--elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);z-index:80;border-radius:12px;padding:11px 18px;font-size:13px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.modal-overlay{z-index:70;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--elevated);border:1px solid var(--border);width:480px;max-width:100%;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:18px;padding:22px 24px;overflow-y:auto}.modal h3{letter-spacing:-.01em;margin-bottom:4px;font-size:16px;font-weight:600}.modal .modal-sub{font-family:var(--mono);letter-spacing:.04em;color:var(--text-muted);margin-bottom:16px;font-size:10px}.modal label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 6px;font-size:10px;display:block}.modal input,.modal textarea,.modal select{background:var(--muted);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-size:14px}.modal textarea{resize:vertical;min-height:90px}.modal .field-hint{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}
