:root{--surface-1: #fcfcfb;--page-plane: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--gridline: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--series-2: #1baf7a;--series-3: #eda100;--series-4: #008300;--series-5: #4a3aa7;--series-6: #e34948;--series-7: #e87ba4;--series-8: #eb6834}@media(prefers-color-scheme:dark){:root{--surface-1: #1a1a19;--page-plane: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--gridline: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #199e70;--series-3: #c98500;--series-4: #008300;--series-5: #9085e9;--series-6: #e66767;--series-7: #d55181;--series-8: #d95926}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--page-plane);color:var(--text-primary)}.page{max-width:1400px;margin:0 auto;padding:24px}.header h1{font-size:20px;margin:0}.header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.logout-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:none;color:var(--text-secondary);cursor:pointer;font-size:12px}.login-screen{max-width:480px;margin:120px auto;text-align:center;padding:24px}.login-screen h1{font-size:20px;margin:0 0 8px}.login-screen .generate-btn{margin-top:16px}.controls{display:flex;align-items:end;gap:16px;margin-bottom:20px}.controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.controls input[type=date]{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);color:var(--text-primary)}.dim-picker{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:13px}.dim-picker-label{color:var(--text-secondary)}.dim-list{display:flex;gap:6px;list-style:none;margin:0;padding:0}.dim-item{display:flex;align-items:center;gap:4px;padding:4px 10px 4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);cursor:grab}.dim-item label{display:flex;align-items:center;gap:6px;cursor:pointer}.dim-handle{color:var(--text-muted);font-size:12px}.generate-btn{padding:8px 16px;border:none;border-radius:6px;background:var(--series-1);color:#fff;font-weight:600;cursor:pointer}.generate-btn:disabled{opacity:.6;cursor:default}.error-banner{padding:10px 14px;border-radius:6px;background:color-mix(in srgb,var(--series-6) 15%,var(--surface-1));color:var(--series-6);margin-bottom:16px;font-size:14px}.hint{color:var(--text-muted)}.uploads{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.upload-group{display:flex;align-items:center;gap:12px;font-size:13px}.upload-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);color:var(--text-primary);cursor:pointer}.upload-status{color:var(--series-2)}.upload-error{color:var(--series-6)}.tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--gridline)}.tab{padding:8px 16px;border:none;background:none;color:var(--text-secondary);font-size:14px;cursor:pointer;border-bottom:2px solid transparent}.tab-active{color:var(--text-primary);border-bottom-color:var(--series-1);font-weight:600}.table-scroll{overflow-x:auto;border:1px solid var(--gridline);border-radius:8px;background:var(--surface-1)}.report-table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}.report-table th,.report-table td{padding:6px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--gridline)}.report-table .label-cell{text-align:left;white-space:nowrap;position:sticky;left:0;z-index:1;background:var(--surface-1);border-right:1px solid var(--gridline)}.report-table thead .label-cell{z-index:3}.group-header{font-weight:700;font-size:12px;text-align:center}.metric-header{font-weight:500;font-size:11px;color:var(--text-secondary)}.toggle{border:none;background:none;cursor:pointer;color:var(--text-muted);width:16px;display:inline-block;font-size:11px}.toggle-spacer{display:inline-block;width:16px}.depth-0{font-weight:700;background:color-mix(in srgb,var(--series-1) 10%,var(--surface-1))}.depth-0 .label-cell{background:color-mix(in srgb,var(--series-1) 10%,var(--surface-1))}.depth-1{font-weight:600;background:color-mix(in srgb,var(--text-muted) 8%,var(--surface-1))}.depth-1 .label-cell{background:color-mix(in srgb,var(--text-muted) 8%,var(--surface-1))}.depth-2{font-weight:400}.depth-3 td{color:var(--text-secondary)}
