@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f2;--surface:#fff;--surface-2:#f6f9f8;--surface-sunken:#e6eeec;--border:#d5e0dd;--border-strong:#b9c9c5;--text:#1b2826;--text-muted:#5f716d;--text-faint:#8a9b97;--primary:#1f7f71;--primary-hover:#196a5e;--primary-soft:#e0f0ec;--primary-text:#fff;--warning:#9a6200;--warning-soft:#fdf3e1;--danger:#b3261e;--danger-soft:#fbeae9;--focus:#2a9d8c;--shadow:0 1px 2px #1028240f, 0 4px 16px #1028240f;--shadow-lg:0 12px 48px #10282438}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1715;--surface:#15201e;--surface-2:#1a2725;--surface-sunken:#111b19;--border:#26332f;--border-strong:#35453f;--text:#e2ebe9;--text-muted:#9fb0ac;--text-faint:#6e817c;--primary:#3aae9b;--primary-hover:#4fc2af;--primary-soft:#183a34;--primary-text:#06201b;--warning:#e8b04a;--warning-soft:#2e2413;--danger:#f08b84;--danger-soft:#3a1a18;--focus:#4fc2af;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--shadow-lg:0 12px 48px #0000008c}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1, "cv11" 1;font-family:Inter Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-rows:auto 1fr auto;height:100%;display:grid}.app-main{grid-template-columns:300px 1fr;min-height:0;display:grid}.workspace{flex-direction:column;min-width:0;min-height:0;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 20px;display:flex}.brand{letter-spacing:-.01em;color:inherit;align-items:center;gap:10px;margin-right:12px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.brand img{width:auto;height:32px}.header-spacer{flex:1}.control{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 12px;display:inline-flex}button.control:hover{border-color:var(--border-strong)}.control:has(select:hover){border-color:var(--border-strong)}.control-label{color:var(--text-muted)}.control select{cursor:pointer;background:0 0;border:0;padding-right:4px;font-weight:600}.control select:focus-visible{outline:none}.control:has(select:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.control svg{color:var(--text-muted);flex:none}.control strong{font-weight:600}.popover-anchor{position:relative}.popover{z-index:20;background:var(--surface);border:1px solid var(--border);width:320px;box-shadow:var(--shadow-lg);border-radius:10px;padding:16px;position:absolute;top:calc(100% + 6px);right:0}.popover h3{margin:0 0 12px;font-size:13px;font-weight:600}.period-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.period-grid label{color:var(--text-muted);gap:4px;font-size:12px;display:grid}.period-grid select{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;height:34px;padding:0 8px}.presets{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip-button{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:4px 10px;font-size:12px}.chip-button:hover{border-color:var(--primary);color:var(--primary)}.hint{color:var(--text-muted);margin:12px 0 0;font-size:12px}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.sidebar-head{border-bottom:1px solid var(--border);padding:18px 18px 14px}.sidebar-head h2{margin:0 0 10px;font-size:15px;font-weight:600}.search{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--focus)}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0}.search svg{color:var(--text-faint);flex:none}.sidebar-body{flex:1;padding:6px 18px 24px;overflow-y:auto}.category{margin-top:16px}.category h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:11px;font-weight:600}.field-list{flex-wrap:wrap;gap:6px;display:flex}.field-pill{border:1px solid var(--border);background:var(--surface);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:5px 10px 5px 6px;font-size:13px;display:inline-flex}.field-pill:hover{border-color:var(--primary)}.field-pill.in-use{background:var(--primary-soft);border-color:#0000}.field-pill.dragging{opacity:.4}.field-pill .grip{color:var(--text-faint);flex:none}.field-pill .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{border-radius:999px;flex:none;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.badge.null-rate{background:var(--warning-soft);color:var(--warning)}.badge.derived{background:var(--surface-sunken);color:var(--text-muted);font-style:italic}.drag-overlay{cursor:grabbing;box-shadow:var(--shadow-lg);border-color:var(--primary)}.empty-note{color:var(--text-muted);padding:16px 0;font-size:13px}.zones{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:16px 24px 18px;display:grid}.zone h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.zone h3 small{letter-spacing:0;text-transform:none;color:var(--text-faint);font-weight:500}.zone-box{border:1.5px dashed var(--border-strong);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:58px;padding:10px;transition:border-color .12s,background-color .12s,opacity .12s;display:flex}.zone-box.can-drop{border-color:var(--primary)}.zone-box.over{background:var(--primary-soft);border-style:solid}.zone-box.cannot-drop{opacity:.45}.zone-placeholder{color:var(--text-faint);align-self:center;font-size:12px}.pill{background:var(--primary);max-width:100%;height:30px;color:var(--primary-text);border:0;border-radius:999px;align-items:center;gap:6px;padding:0 4px 0 12px;font-size:13px;font-weight:500;display:inline-flex}.pill.draggable{cursor:grab;touch-action:none}.pill .pill-main{min-width:0;color:inherit;font-weight:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.pill .pill-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pill .agg{background:#fff3;border-radius:999px;flex:none;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.pill .remove{width:22px;height:22px;color:inherit;opacity:.8;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:inline-grid}.pill .remove:hover{opacity:1;background:#fff3}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 24px;display:flex}.tabs{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:3px;display:inline-flex}.tabs button{color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:5px 16px;font-weight:600}.tabs button[aria-selected=true]{background:var(--primary);color:var(--primary-text)}.status{color:var(--text-muted);font-size:13px}.status.stale{color:var(--warning)}.btn{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 16px;font-weight:600;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--primary);color:var(--primary-text)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken)}.btn-outline{background:var(--surface);border-color:var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--border-strong)}.btn-danger-ghost{color:var(--danger);background:0 0}.btn-danger-ghost:hover{background:var(--danger-soft)}.divider{background:var(--border);width:1px;height:22px}.results{flex-direction:column;flex:1;min-height:0;padding:20px 24px;display:flex;overflow:hidden}.state-card{border:1px solid var(--border);background:var(--surface);max-width:560px;box-shadow:var(--shadow);text-align:center;border-radius:12px;align-self:center;margin-top:48px;padding:28px 32px}.state-card .icon{background:var(--primary-soft);width:48px;height:48px;color:var(--primary);border-radius:12px;place-items:center;margin-bottom:12px;display:inline-grid}.state-card.warning .icon{background:var(--warning-soft);color:var(--warning)}.state-card.error .icon{background:var(--danger-soft);color:var(--danger)}.state-card h2{margin:0 0 6px;font-size:17px}.state-card p{color:var(--text-muted);margin:0}.state-card .actions{justify-content:center;gap:8px;margin-top:18px;display:flex}.spinner{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.truncated-note{background:var(--warning-soft);color:var(--warning);border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:13px}.table-scroll{border:1px solid var(--border);background:var(--surface);width:max-content;max-width:100%;min-height:0;box-shadow:var(--shadow);border-radius:10px;flex:0 auto;overflow:auto}.pivot{border-collapse:separate;border-spacing:0;table-layout:fixed}.pivot th,.pivot td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;height:38px;padding:0 16px;overflow:hidden}.pivot thead th{z-index:2;background:var(--surface-2);color:var(--text-muted);text-align:right;font-size:12px;font-weight:600;position:sticky}.pivot thead th.dim{text-align:left;text-transform:uppercase;letter-spacing:.06em}.pivot thead th:not(.dim):not(.group){white-space:normal;vertical-align:bottom;height:auto;min-height:38px;padding-top:7px;padding-bottom:7px;line-height:1.3}.pivot thead th.group{text-align:center;color:var(--text)}.pivot th.sortable{cursor:pointer}.pivot th.sortable:hover{color:var(--text)}.pivot .sort-icon{vertical-align:-2px;width:14px;margin-left:4px;display:inline-block}.pivot td{text-align:right;font-variant-numeric:tabular-nums}.pivot td:not(.dim),.pivot tfoot td{text-overflow:clip}.pivot td.dim{text-align:left}.pivot td.null,.pivot .muted{color:var(--text-faint)}.pivot tbody tr:hover td{background:var(--surface-2)}.pivot .sticky-col{z-index:1;background:var(--surface);position:sticky;left:0}.pivot thead .sticky-col{z-index:3;background:var(--surface-2)}.pivot .total-col{border-left:1px solid var(--border);font-weight:700}.pivot thead .total-col{color:var(--primary)}.pivot tfoot td{z-index:2;border-top:1px solid var(--border-strong);background:var(--surface-2);border-bottom:0;height:40px;font-weight:700;position:sticky;bottom:0}.pivot tfoot td.sticky-col{z-index:3;background:var(--surface-2)}.pivot tfoot td.grand{color:var(--primary)}.modal{border:1px solid var(--border);background:var(--surface);width:min(560px,100vw - 32px);max-height:min(720px,100vh - 48px);color:var(--text);box-shadow:var(--shadow-lg);border-radius:14px;padding:0}.modal[open]{flex-direction:column;display:flex}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08141273}.modal-head{align-items:flex-start;gap:12px;padding:20px 22px 12px;display:flex}.modal-head h2{flex:1;margin:0;font-size:17px}.modal-head p{color:var(--text-muted);margin:4px 0 0;font-size:13px;font-weight:400}.icon-button{width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--surface-sunken);color:var(--text)}.modal-body{flex:1;min-height:0;padding:4px 22px 12px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:14px 22px;display:flex}.modal-foot .grow{color:var(--text-muted);flex:1;font-size:13px}.agg-options{gap:8px;display:grid}.agg-option{border:1.5px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:14px;padding:12px 14px;display:flex}.agg-option:hover{border-color:var(--border-strong)}.agg-option:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.agg-option input{accent-color:var(--primary);margin:0}.agg-option .symbol{background:var(--surface-sunken);border-radius:8px;place-items:center;width:40px;height:32px;font-size:12px;font-weight:700;display:inline-grid}.agg-option strong{display:block}.agg-option span.desc{color:var(--text-muted);font-size:13px}.filter-search{z-index:1;background:var(--surface);padding-bottom:10px;position:sticky;top:0}.value-list{margin:0;padding:0;list-style:none}.value-item label{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.value-item label:hover{background:var(--surface-2)}.value-item input{width:16px;height:16px;accent-color:var(--primary);margin:0}.value-item .value-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.value-item .value-label.null{color:var(--text-muted);font-style:italic}.value-item .value-count{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12px}.list-note{color:var(--text-muted);margin:8px 10px 0;font-size:12px}.inline-state{color:var(--text-muted);align-items:center;gap:10px;padding:24px 10px;display:flex}.inline-state.error{color:var(--danger)}.toast{z-index:50;background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:10px;align-items:center;gap:10px;padding:12px 18px;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:48px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.footer{border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:8px 20px;font-size:12px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.header-link{height:36px;color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.header-link:hover,.header-link[aria-current=page]{background:var(--surface-sunken);color:var(--text)}.details{min-height:0;overflow-y:auto}.details-inner{max-width:1200px;margin:0 auto;padding:24px 24px 48px}.back-link{color:var(--primary);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.details h1{letter-spacing:-.01em;margin:12px 0 4px;font-size:24px}.lead{color:var(--text-muted);margin:0 0 20px}.details-tabs{margin-bottom:20px}.details-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;margin-bottom:16px;display:grid}.details-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;padding:20px 22px}.details-card h2{margin:0 0 12px;font-size:15px}.details-card dl{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}.details-card dt{color:var(--text-muted)}.details-card dd{margin:0}.details-card ul{gap:6px;margin:0;padding-left:18px;display:grid}.details code{background:var(--surface-sunken);border-radius:5px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.dictionary-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.dictionary-head h2{margin:0}.dictionary-search{width:280px;height:36px}.dictionary-scroll{overflow-x:auto}.dictionary{border-collapse:collapse;width:100%}.dictionary th{border-bottom:1px solid var(--border-strong);letter-spacing:.06em;text-align:left;text-transform:uppercase;color:var(--text-muted);padding:8px 12px;font-size:11px;font-weight:600}.dictionary td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.dictionary td small{color:var(--text-muted);margin-top:2px;display:block}.dictionary .notes{color:var(--text-muted);font-size:13px}.kind{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.kind-dim{background:var(--surface-sunken);color:var(--text-muted)}.kind-metric{background:var(--primary-soft);color:var(--primary)}@media (width<=900px){.details-grid{grid-template-columns:1fr}}a.btn{cursor:pointer;text-decoration:none}.account{align-items:center;gap:10px;display:inline-flex}.quota-chip{color:var(--text-muted);white-space:nowrap;font-size:12.5px}.quota-chip.exhausted{color:var(--warning);font-weight:600}.account-name{text-overflow:ellipsis;max-width:180px;overflow:hidden}.account-popover{gap:4px;width:280px;display:grid}.account-popover .hint{margin:0 0 6px}.account-who{overflow-wrap:anywhere;margin:0 0 6px;font-weight:600}.account-who span{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.menu-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-sunken)}.menu-item svg{color:var(--text-muted)}.login-providers{gap:10px;display:grid}.login-provider{height:42px;color:var(--text);justify-content:center}.privacy-note{background:var(--surface-sunken);color:var(--text-muted);border-radius:8px;gap:10px;margin-top:18px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.privacy-note svg{color:var(--primary);flex:none}.privacy-note p{margin:0}.suggestion{max-width:720px}.suggestion h1{align-items:center;gap:10px;display:flex}.suggestion-form{gap:18px;margin-top:16px;display:grid}.suggestion-form label,.suggestion-form legend{gap:6px;font-weight:600;display:grid}.suggestion-form fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.suggestion-form input:not([type=radio]),.suggestion-form select,.suggestion-form textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:9px 12px;font-weight:400}.suggestion-form textarea{resize:vertical}.suggestion-form :is(input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:1px}.suggestion-form .radio{cursor:pointer;align-items:baseline;gap:10px;font-weight:500;display:flex}.suggestion-form .radio small{color:var(--text-muted);font-weight:400}.form-error{color:var(--danger);margin:0}.form-success{color:var(--primary);align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.form-actions{justify-content:flex-end;display:flex}
