@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");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}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_4a4f7444-module__UHjWDq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_4a4f7444-module__UHjWDq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e7150917543fc9da-s.0mybutugvu-lq.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/71fbf9c08529c2a5-s.2fpqrm51ez0iq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e9457141811d41ae-s.02frcczqg7k-8.woff2)format("woff2");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/ac34884600cd8d5d-s.2936i88_6qsfd.woff2)format("woff2");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e1ccd2766b08c828-s.15gdzqknx46iu.woff2)format("woff2");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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/507a47c1876d4ec2-s.2qdkzeru_ecot.woff2)format("woff2");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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/8c2eb9ceedecfc8e-s.p.23aeddxv5enbo.woff2)format("woff2");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}@font-face{font-family:Lora Fallback;src:local(Times New Roman);ascent-override:87.33%;descent-override:23.78%;line-gap-override:0.0%;size-adjust:115.2%}.lora_f2bea496-module__sWDhhq__className{font-family:Lora,Lora Fallback;font-style:normal}.lora_f2bea496-module__sWDhhq__variable{--font-lora:"Lora", "Lora Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#f8fafc;--bg-surface:#fff;--bg-raised:#f1f5f9;--bg-hover:#ecfdf5;--border:#0f172a12;--border-mid:#0f172a1f;--border-hi:#0f172a33;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#616f86;--accent:#047857;--accent-strong:#065f46;--accent-dim:#0478571a;--accent-border:#04785752;--accent-contrast:#fff;--success:#177835;--success-dim:#1880381a;--success-border:#18803852;--warning:#a94e08;--warning-dim:#b453091a;--error-contrast:#fff;--warning-contrast:#fff;--error:#c52c22;--error-dim:#d930251a;--error-border:#d9302552;--info:#1d4ed8;--info-dim:#1d4ed81a;--info-border:#1d4ed847;--violet:#6d28d9;--violet-dim:#6d28d91a;--violet-border:#6d28d93d;--fmt-red:#e04040;--fmt-orange:#e07a10;--fmt-green:#0f9d58;--fmt-blue:#3b6fdc;--fmt-purple:#9b59b6;--fmt-teal:#16a085;--log-info:#1a73e8;--log-info-bg:#e8f0fe;--log-warn:#e8710a;--log-warn-bg:#fff3e0;--log-error:#d93025;--log-error-bg:#fce8e6;--log-action:#0f9d58;--log-action-bg:#e6f4ea;--log-api:#5f6368;--log-api-bg:#f1f3f4;--log-system:#a142f4;--log-system-bg:#f3e8fd;--pivot-negative:#dc2626;--pivot-heatmap-fg:#137333;--pivot-density-rgb:5,150,105;--chart-1:#3b6fdc;--chart-2:#0f9d58;--chart-3:#f0a050;--chart-4:#e04040;--chart-5:#9b59b6;--chart-6:#16a085;--chart-7:#e67e22;--chart-8:#2980b9;--chart-9:#c0392b;--chart-10:#27ae60;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--radius-circle:50%;--shadow-sm:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a1a, 0 2px 4px #0f172a0f;--shadow-lg:0 12px 32px #0f172a1f, 0 4px 8px #0f172a0f;--font-sans:var(--font-inter), system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-serif:var(--font-lora), Georgia, "Times New Roman", serif;--paper-bg:#fdfbf6}.dark{--bg-base:#0b0f1a;--bg-surface:#131929;--bg-raised:#1a2235;--bg-hover:#212d45;--border:#ffffff12;--border-mid:#ffffff1f;--border-hi:#fff3;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#7c8aa3;--accent:#10b981;--accent-strong:#34d399;--accent-dim:#10b98126;--accent-border:#10b98166;--accent-contrast:#04140d;--success:#81c995;--success-dim:#81c99526;--success-border:#81c99566;--warning:#fdd663;--warning-dim:#fdd66326;--error-contrast:#2a0e0a;--warning-contrast:#1a1200;--error:#f28b82;--error-dim:#f28b8226;--error-border:#f28b8266;--info:#8ab4f8;--info-dim:#8ab4f826;--info-border:#8ab4f861;--violet:#c58af9;--violet-dim:#c58af929;--violet-border:#c58af95c;--fmt-red:#f28b82;--fmt-orange:#fbbc04;--fmt-green:#81c995;--fmt-blue:#8ab4f8;--fmt-purple:#c58af9;--fmt-teal:#80cbc4;--log-info:#8ab4f8;--log-info-bg:#8ab4f826;--log-warn:#fbbc04;--log-warn-bg:#fbbc0429;--log-error:#f28b82;--log-error-bg:#f28b8229;--log-action:#81c995;--log-action-bg:#81c99524;--log-api:#cbd5e1;--log-api-bg:#cbd5e11f;--log-system:#c58af9;--log-system-bg:#c58af929;--pivot-negative:#f28b82;--pivot-heatmap-fg:#d7f5e1;--pivot-density-rgb:129,201,149;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 12px #00000059, 0 2px 4px #0003;--shadow-lg:0 12px 32px #0006, 0 4px 8px #00000040;--paper-bg:var(--bg-surface)}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--font-size-2xs:10px;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:28px;--font-size-4xl:36px;--z-base:0;--z-raised:1;--z-stacked:2;--z-sticky-cell:3;--z-sticky-corner:4;--z-sticky-header:10;--z-sticky-bar:30;--z-banner:100;--z-header:200;--z-scrim:900;--z-dropdown:1000;--z-popover:1100;--z-modal:1200;--z-modal-nested:1400;--z-drawer:2000;--z-dialog:3000;--z-dialog-scrim:4000;--z-dialog-top:5000;--z-toast:9999;--bp-xs:480px;--bp-sm:640px;--bp-md:768px;--bp-lg:900px}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv05", "cv08", "ss01";font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hi)}button,select,input{font-family:var(--font-sans)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}@media (forced-colors:active){:focus-visible{outline-offset:2px;outline:3px solid highlight}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}input,select,textarea,button,table,th,td,[class*=-card],[class*=-panel],[class*=-modal],[class*=-popover],[class*=-dropdown],[class*=-menu]{border-color:canvastext}:disabled,[aria-disabled=true],[class*=--disabled]{color:graytext;opacity:1;border-color:graytext}[aria-selected=true],[aria-current=page],[aria-pressed=true],[aria-checked=true]{color:highlighttext;background:highlight}hr{border-color:canvastext}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.app{background:var(--bg-base);height:100vh;font-family:var(--font-sans);color:var(--text-primary);flex-direction:column;font-size:14px;display:flex;overflow:hidden}.gs-menubar{background:var(--bg-surface);border-bottom:1px solid var(--border);height:54px;box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:10px;padding:0 20px;display:flex}.gs-brand-wrap{position:relative}.gs-brand{font:inherit;cursor:default;background:0 0;border:none;flex-shrink:0;align-items:center;gap:9px;padding:0;text-decoration:none;display:flex}.gs-brand-clickable{cursor:pointer;border-radius:6px;transition:opacity .15s}.gs-brand-clickable:hover{opacity:.75}.gs-brand-name{color:var(--text-primary);letter-spacing:-.03em;font-size:16px;font-weight:700}.gs-header-divider{background:var(--border-mid);flex-shrink:0;width:1px;height:18px;margin:0 2px}.gs-sheet-icon{flex-shrink:0;align-items:center;display:flex}.gs-filename{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;font-weight:500;overflow:hidden}label.gs-toolbar-btn,label.gs-btn-green{cursor:pointer}a.gs-toolbar-btn{text-decoration:none}.gs-icon{flex-shrink:0;display:block}.gs-user-chevron{flex-shrink:0}.gs-field-type-toggle{cursor:pointer;border:none}.gs-toolbar-btn{border-radius:var(--radius-sm);font-size:12px;font-weight:500;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;transition:background .12s,color .12s;display:inline-flex}.gs-toolbar-btn:hover{background:var(--bg-raised);color:var(--text-primary)}.gs-toolbar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gs-toolbar-btn--success{color:var(--accent)!important}.gs-toolbar-btn--upload{border:1px solid var(--border-mid);color:var(--text-secondary)}.gs-toolbar-btn--upload:hover{border-color:var(--border-hi);color:var(--text-primary)}.gs-toolbar-sep{background:var(--border-mid);flex-shrink:0;width:1px;height:18px;margin:0 2px}.gs-menu-items{flex:1;align-items:center;gap:0;display:flex}.gs-menu-item{color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:13px}.gs-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.gs-header-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.gs-menu-items{display:none}.gs-badge{color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border-mid);font-size:11px;font-weight:600;font-family:var(--font-sans);letter-spacing:.01em;border-radius:20px;padding:3px 10px}.gs-btn-outline{border:1px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 14px;font-size:13px;transition:background .12s,color .12s,border-color .12s}.gs-btn-outline:hover{background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-hi)}.gs-btn-outline.large{padding:9px 20px;font-size:14px}.gs-btn-outline.sm{padding:3px 10px;font-size:12px}.gs-btn-upload{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);border:none;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:filter .15s;display:inline-flex}.gs-btn-upload:hover{filter:brightness(1.1)}.gs-btn-green{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:5px 14px;font-size:13px;font-weight:600;transition:filter .15s,transform .15s,box-shadow .15s}.gs-btn-green:hover{filter:brightness(1.08);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gs-btn-green:active{transform:translateY(0)}.gs-btn-green.large{padding:9px 20px;font-size:14px}.gs-theme-btn{border:1px solid var(--border-mid);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;width:34px;height:34px;padding:5px 8px;font-size:14px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:flex}.gs-theme-btn:hover{background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-hi)}.gs-user-info{align-items:center;gap:6px;display:flex}.gs-user-avatar{border-radius:var(--radius-circle);border:1px solid var(--border-mid);object-fit:cover;flex-shrink:0;width:28px;height:28px}.gs-user-initials{background:var(--accent);color:var(--accent-contrast);letter-spacing:.03em;border:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.gs-account-wrap{position:relative}.gs-user-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:3px 6px 3px 3px;transition:background .12s,border-color .12s;display:flex}.gs-user-btn:hover{background:var(--bg-raised);border-color:var(--border-mid);color:var(--text-primary)}.gs-user-name{white-space:nowrap;font-size:13px}.gs-user-btn--loading{pointer-events:none;opacity:0;width:112px;height:34px}.gs-account-menu{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-md);z-index:200;min-width:160px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.gs-acct-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:9px;padding:9px 14px;font-size:13px;display:flex}.gs-acct-item:hover{background:var(--bg-hover)}.gs-acct-divider{background:var(--border);height:1px;margin:2px 0}.gs-acct-signout{color:var(--error)}.gs-acct-signout:hover{background:var(--error-dim)}.gs-acct-role-row{padding:8px 14px 4px}.gs-acct-role-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border-radius:20px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.acct-page-overlay{z-index:var(--z-scrim,900);background:var(--bg-surface);justify-content:stretch;align-items:stretch;display:flex;position:fixed;inset:54px 0 0}.acct-modal{background:var(--bg-surface);width:100%;max-width:none;height:100%;box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex}.acct-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 32px 14px;display:flex}.acct-modal-title{color:var(--text-primary);font-size:16px;font-weight:600}.acct-modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:4px;font-size:16px;line-height:1}.acct-modal-close:hover{color:var(--text-primary);background:var(--bg-raised)}.acct-tabs{border-bottom:1px solid var(--border);gap:0;padding:0 32px;display:flex}.acct-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 18px;font-size:13px}.acct-tab:hover{color:var(--text-primary)}.acct-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.acct-body{flex-direction:column;gap:14px;max-width:760px;padding:24px 32px 32px;display:flex}.acct-field-group{flex-direction:column;gap:5px;display:flex}.acct-label{color:var(--text-secondary);font-size:12px;font-weight:500}.acct-input{border:1px solid var(--border-mid);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-primary);outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.acct-input:focus{border-color:var(--accent)}.acct-input-disabled{opacity:.55;cursor:not-allowed}.acct-select{appearance:auto}.acct-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.acct-status-saving{color:var(--text-muted);font-size:12px}.acct-status-ok{color:var(--success);font-size:12px;font-weight:500}.acct-status-err{color:#d94f3d;font-size:12px}.gs-user-name{color:var(--text-secondary);white-space:nowrap;font-size:13px}.acct-modal-wide{max-width:none}.logs-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.logs-filters{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.logs-filter-chips{flex-wrap:wrap;gap:4px;display:flex}.logs-chip{border-radius:var(--radius-md);border:1px solid var(--border-mid);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;padding:3px 10px;font-size:11px;font-weight:500;transition:background-color .12s,color .12s,border-color .12s}.logs-chip:hover{border-color:var(--accent);color:var(--accent)}.logs-chip.active{border-color:currentColor}.logs-level-info.active,.logs-badge.logs-level-info{background:var(--log-info-bg);color:var(--log-info)}.logs-level-warn.active,.logs-badge.logs-level-warn{background:var(--log-warn-bg);color:var(--log-warn)}.logs-level-error.active,.logs-badge.logs-level-error{background:var(--log-error-bg);color:var(--log-error)}.logs-cat-action.active,.logs-badge.logs-cat-action{background:var(--log-action-bg);color:var(--log-action)}.logs-cat-api.active,.logs-badge.logs-cat-api{background:var(--log-api-bg);color:var(--log-api)}.logs-cat-error.active,.logs-badge.logs-cat-error{background:var(--log-error-bg);color:var(--log-error)}.logs-cat-system.active,.logs-badge.logs-cat-system{background:var(--log-system-bg);color:var(--log-system)}.logs-badge.logs-src-client{border:1px solid var(--border-mid);color:var(--text-muted);background:0 0;margin-left:4px}.logs-search-row{gap:6px;margin-top:2px;display:flex}.logs-search{border:1px solid var(--border-mid);background:var(--bg-base);color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:5px 9px;font-size:12px}.logs-search:focus{border-color:var(--accent)}.logs-search-btn{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:5px 12px;font-size:12px}.logs-search-btn:hover{opacity:.88}.logs-search-clear{color:var(--text-muted);border:1px solid var(--border-mid);cursor:pointer;background:0 0;border-radius:6px;padding:5px 8px;font-size:12px}.logs-search-clear:hover{color:var(--text-primary)}.logs-meta{color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 16px;font-size:11px}.logs-error{color:var(--error)}.logs-table-wrap{flex:1;overflow-y:auto}.logs-table{border-collapse:collapse;width:100%;font-size:11.5px}.logs-th{z-index:1;background:var(--bg-raised);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px;font-size:10.5px;font-weight:600;position:sticky;top:0}.logs-row{border-bottom:1px solid var(--border)}.logs-row.has-det{cursor:pointer}.logs-row.has-det:hover,.logs-row.open{background:var(--bg-raised)}.logs-row td{vertical-align:top;padding:5px 10px}.logs-badge{white-space:nowrap;background:var(--bg-raised);color:var(--text-muted);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.logs-td-time{white-space:nowrap;color:var(--text-muted);font-size:11px}.logs-td-user{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--text-secondary);font-size:11px;overflow:hidden}.logs-td-msg{color:var(--text-primary);word-break:break-word;max-width:340px}.logs-expand-icon{color:var(--text-muted);margin-left:4px;font-size:9px}.logs-detail-row td{background:var(--bg-base);padding:0}.logs-detail-pre{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;border-top:1px dashed var(--border);max-height:220px;margin:0;padding:10px 16px;font-family:monospace;font-size:11px;line-height:1.6;overflow-y:auto}.logs-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:12px}.logs-load-more-row{border-top:1px solid var(--border);flex-shrink:0;justify-content:center;padding:10px;display:flex}.logs-load-more{border:1px solid var(--border-mid);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:5px 20px;font-size:12px}.logs-load-more:hover{background:var(--bg-raised)}.logs-loading-bar{background:var(--accent);flex-shrink:0;height:2px;animation:1.2s infinite logs-bar}@media (prefers-reduced-motion:reduce){.logs-bar,[class*=logs-bar]{opacity:1!important;animation:none!important}}@keyframes logs-bar{0%{opacity:1}50%{opacity:.35}to{opacity:1}}@media (max-width:768px){.gs-menubar{z-index:300;gap:8px;min-width:0;padding:0 10px;position:sticky;top:0}.gs-brand-wrap{flex-shrink:0}.gs-header-right{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;flex:0 auto;gap:6px;min-width:0;padding:3px 0;overflow:auto hidden}.gs-header-right::-webkit-scrollbar{width:0;height:0;display:none}.gs-header-right>.gs-account-wrap{z-index:2;background:var(--bg-surface);padding-left:8px;position:sticky;right:0;box-shadow:-10px 0 10px -8px #0f172a29}.gs-header-right>.gs-btn-green{z-index:2;box-shadow:-8px 0 0 0 var(--bg-surface);position:sticky;right:0}.gs-account-menu{z-index:400;max-height:calc(100vh - 66px);position:fixed;top:54px;left:auto;right:8px;overflow-y:auto}.gs-toolbar-btn{gap:4px;padding:5px 8px}}@media (max-width:480px){.gs-menubar{gap:6px;padding:0 8px}.gs-brand-name{font-size:15px}.gs-header-right{gap:4px}.gs-toolbar-btn{padding:5px 6px;font-size:11px}.gs-theme-btn{width:30px;height:30px;padding:4px}.gs-header-right>.gs-btn-green{padding:5px 10px;font-size:12px}.gs-user-name{display:none}.gs-user-btn--loading{width:64px}.gs-header-right>.gs-account-wrap{padding-left:6px}}.gs-toolbar-btn--active{background:var(--bg-raised);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.gs-toolbar-btn--active:hover{background:var(--bg-raised);color:var(--text-primary)}.gs-acct-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg-hover)}a.gs-acct-item{text-decoration:none}.gs-user-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mfa-lead{color:var(--text-primary);margin:0;font-size:14px;line-height:1.6}.mfa-note{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.65}.mfa-secret-row{align-items:center;gap:8px;display:flex}.mfa-secret{font-family:var(--font-mono);letter-spacing:.08em;flex:1;font-size:13px}.mfa-codes{background:var(--bg-subtle);border:1px solid var(--border-mid);border-radius:var(--radius-md);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-primary);grid-template-columns:repeat(2,1fr);gap:6px 20px;margin:0;padding:14px 18px;font-size:13.5px;list-style:none;display:grid}@media (max-width:520px){.mfa-codes{grid-template-columns:1fr}}.mfa-enrol{flex-wrap:wrap;align-items:flex-start;gap:22px;display:flex}.mfa-qr-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.mfa-qr{border:1px solid var(--border-mid);border-radius:var(--radius-sm);background:#fff;display:block}.mfa-qr-note{text-align:center}.mfa-enrol-alt{flex:1;min-width:200px;padding-top:4px}.mfa-choice{border:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.mfa-choice legend{margin-bottom:4px;padding:0}.mfa-option{cursor:pointer;border:1px solid var(--border-mid);border-radius:var(--radius-md);background:var(--bg-surface);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.mfa-option--on{border-color:var(--accent);background:var(--accent-dim)}.mfa-option--off{opacity:.55;cursor:not-allowed}.mfa-option>span{flex-direction:column;gap:4px;font-size:13.5px;display:flex}.mfa-option input{margin-top:3px}.mfa-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);margin-left:6px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}
.landing{background:radial-gradient(1100px 460px at 50% -160px, var(--accent-dim), transparent 72%), var(--bg-base);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding:4.5rem 2rem 4rem;display:flex;overflow-y:auto}.landing-content{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:560px;display:flex}.landing-brand{align-items:center;gap:12px;margin-bottom:8px;display:flex}.landing-title{color:var(--text-primary);letter-spacing:-.04em;font-size:46px;font-weight:800;line-height:1.08}.landing-title-accent{background:linear-gradient(120deg, var(--accent), var(--accent-strong));-webkit-text-fill-color:transparent;color:var(--accent);-webkit-background-clip:text;background-clip:text}.landing-sub{color:var(--text-secondary);max-width:440px;font-size:16px;line-height:1.6}.landing-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.landing-hint{color:var(--text-muted);margin-top:2px;font-size:11px}.landing-cta-primary{letter-spacing:-.01em;cursor:pointer;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex;border-radius:10px!important;padding:13px 28px!important;font-size:16px!important;font-weight:700!important}.landing-cta-primary.gs-btn-green{box-shadow:0 4px 14px var(--accent-border)}.landing-cta-primary:hover{transform:translateY(-1px)}.landing-cta-primary.gs-btn-green:hover{box-shadow:0 6px 20px var(--accent-border)}.landing-secondary-links{align-items:center;gap:8px;margin-top:4px;display:flex}.landing-link-btn{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none}.landing-link-btn:hover{text-decoration:underline}.landing-link-sep{color:var(--text-muted);font-size:13px}.landing-trust{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.5}.landing-how{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:860px;box-shadow:var(--shadow-md);align-items:flex-start;gap:12px;margin:36px auto 0;padding:22px 26px;display:flex}.landing-how-step{flex:1;align-items:flex-start;gap:12px;display:flex}.landing-how-icon{width:34px;height:34px;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.landing-how-text{flex-direction:column;gap:3px;display:flex}.landing-how-text strong{color:var(--text-primary);font-size:13px;font-weight:700}.landing-how-text span{color:var(--text-secondary);font-size:12px;line-height:1.5}.landing-how-arrow{color:var(--accent);flex-shrink:0;align-self:center;margin-top:0;font-size:20px;font-weight:700}@media (max-width:680px){.landing-how{flex-direction:column}.landing-how-arrow{align-self:flex-start;margin-left:10px;transform:rotate(90deg)}}.landing-screenshots{width:100%;max-width:1100px;margin:32px auto 0;padding:0 24px}.landing-screenshot-pair{justify-content:center;align-items:flex-start;gap:20px;display:flex}.landing-shot-wrap{flex-direction:column;flex:1;gap:8px;max-width:500px;display:flex}.landing-shot-label{color:var(--text-secondary);text-align:center;letter-spacing:.02em;font-size:12px;font-weight:600}.landing-frame{border:1px solid var(--border-mid);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-lg);transition:transform .18s,box-shadow .18s;overflow:hidden}.landing-frame:hover{transform:translateY(-3px)}.landing-frame-bar{background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;gap:6px;height:28px;padding:0 12px;display:flex}.landing-frame-bar span{border-radius:var(--radius-circle);background:var(--border-hi);width:9px;height:9px}.landing-shot{object-fit:cover;object-position:top center;width:100%;height:248px;display:block}.landing-shot-build{object-position:top left}.landing-chart{background:var(--bg-surface);box-sizing:border-box;width:100%;height:248px;padding:12px 14px;display:block}.landing-charts-pair{margin-top:20px}.landing-shot-arrow{color:var(--accent);flex-shrink:0;align-self:center;margin-top:28px;font-size:28px;font-weight:700}@media (max-width:700px){.landing-screenshot-pair{flex-direction:column;align-items:center}.landing-shot-arrow{margin:0;transform:rotate(90deg)}.landing-shot-wrap{max-width:100%}}.landing-value{box-sizing:border-box;width:100%;max-width:900px;margin:56px auto 0}.landing-value-title{color:var(--text-primary);text-align:center;letter-spacing:-.02em;margin:0 0 24px;font-size:22px;font-weight:800}.landing-value-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.landing-value-card{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-md);text-align:left;padding:18px 20px}.landing-value-card h3{color:var(--text-primary);margin:0 0 7px;font-size:15px;font-weight:700}.landing-value-card p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.landing-value-more{text-align:center;color:var(--accent);margin-top:22px;font-size:13px;font-weight:700;text-decoration:none;display:block}.landing-value-more:hover{text-decoration:underline}.landing-close{box-sizing:border-box;text-align:center;background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:14px;width:100%;max-width:720px;margin:56px auto 0;padding:30px 28px}.landing-close-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 10px;font-size:21px;font-weight:800}.landing-close-body{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:14px;line-height:1.65}.landing-close-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.landing-close-links{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;font-size:12.5px;display:flex}.landing-close-links a{color:var(--accent-strong);font-weight:500;text-decoration:none}.landing-close-links a:hover{text-decoration:underline}.landing-value-card--link{color:inherit;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:block}.landing-value-card--link:hover{border-color:var(--accent);background:var(--bg-base);transform:translateY(-1px)}.landing-value-card--link:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-color:var(--accent)}.landing-value-card-cue{color:var(--accent);margin-top:10px;font-size:12.5px;font-weight:700;display:block}.landing-value-card--link:hover .landing-value-card-cue{text-decoration:underline}
.gs-workspace{flex:1;grid-template-columns:1fr 460px;min-height:0;display:grid;position:relative;overflow:hidden}.gs-workspace.panel-hidden{grid-template-columns:1fr}.gs-editor-panel.panel-closed{display:none}.panel-toggle-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:3px 5px;transition:color .12s,background .12s;display:flex}.panel-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.panel-fab{border-radius:var(--radius-circle);background:var(--accent);width:48px;height:48px;color:var(--accent-contrast);cursor:pointer;box-shadow:0 4px 16px var(--accent-border);z-index:100;border:none;justify-content:center;align-items:center;transition:background .15s,box-shadow .15s,transform .15s;display:flex;position:fixed;bottom:28px;right:28px}.panel-fab:hover{box-shadow:0 6px 24px var(--accent-border);background:#0b8a4a;transform:scale(1.07)}.gs-table-area{background:var(--bg-base);flex-direction:column;gap:10px;padding:16px 20px;display:flex;overflow:auto}.gs-chart-loading{opacity:.6;padding:24px}.gs-report-bar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.gs-report-bar-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;flex:auto;min-width:0;margin:-4px 0 -4px -8px;padding:4px 8px;font-family:inherit;font-size:14px;font-weight:700;transition:border-color .12s,background .12s;overflow:hidden}.gs-report-bar-name:hover{border-color:var(--border)}.gs-report-bar-name:focus{background:var(--bg-base,#fff);border-color:var(--accent,#16a34a);outline:none}.gs-report-bar-name::placeholder{color:var(--text-secondary);font-weight:500}.gs-report-bar-save{flex-shrink:0}.data-refresh-banner{border:2px solid var(--accent);background:var(--accent-dim);color:var(--text-primary);border-radius:var(--radius-sm);box-shadow:0 8px 24px var(--accent-dim);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.data-refresh-icon{border-radius:var(--radius-sm);background:var(--accent);width:34px;height:34px;color:var(--accent-contrast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.data-refresh-copy{flex-direction:column;flex:1;gap:4px;min-width:0;font-size:13px;line-height:1.4;display:flex}.data-refresh-copy strong{color:var(--text-primary);font-size:14px}.data-refresh-copy b{font-family:var(--font-mono);color:var(--text-primary)}.data-refresh-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.data-refresh-secondary{border:1px solid var(--accent);background:var(--bg-surface);color:var(--accent-strong);cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:700}.data-refresh-secondary:hover{background:var(--accent-dim)}.data-refresh-close{border:1px solid var(--accent-border);width:30px;height:30px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;display:flex}.data-refresh-close:hover{background:var(--accent-dim)}.compare-years-banner{border-color:var(--violet-border);background:var(--violet-dim);color:var(--text-primary);box-shadow:0 8px 24px #6366f129}.compare-years-banner .data-refresh-icon{background:var(--violet);color:var(--bg-surface)}.compare-years-banner .data-refresh-copy strong,.compare-years-banner .data-refresh-copy b{color:var(--text-primary)}.compare-years-banner .data-refresh-secondary{border-color:var(--violet-border);color:var(--violet)}.compare-years-banner .data-refresh-secondary:hover{background:var(--violet-dim)}.compare-years-banner .data-refresh-close{border-color:var(--violet-border);color:var(--text-primary)}.compare-years-banner .data-refresh-close:hover{background:#6366f114}.gs-add-dataset-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.gs-add-dataset-hint{color:var(--text-secondary);font-size:12px}.gs-table-header{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;display:flex}.gs-table-title{color:var(--text-secondary);white-space:nowrap;letter-spacing:.01em;font-size:12px;font-weight:600}.gs-totals-row{align-items:center;gap:14px;display:flex}.gs-checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.gs-checkbox-label input{accent-color:var(--accent);cursor:pointer}.gs-editor-panel{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden;box-shadow:-4px 0 16px #0f172a0a}.gs-panel-body{flex:1;min-height:0;display:flex;overflow:hidden}.gs-panel-zones{border-right:1px solid var(--border);flex-shrink:0;width:220px;overflow-y:auto}.gs-panel-fields{background:var(--bg-base);flex:1;overflow-y:auto}.gs-panel-header{border-bottom:1px solid var(--border-mid);background:var(--bg-raised);align-items:center;gap:8px;padding:6px 10px 6px 14px;display:flex}.gs-panel-title{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;font-size:10px;font-weight:700}.gs-source-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:7px 14px;display:flex}.gs-source-label{color:var(--text-secondary);font-size:12px}.gs-source-value{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:4px;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:2px 7px;font-size:11px;display:flex}.gs-source-value:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.gs-source-value.invalid{border-color:var(--error);box-shadow:0 0 0 2px var(--error-dim)}.gs-source-kicker{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.gs-source-range-input{width:74px;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;padding:0;font-weight:500}.gs-source-range-input::selection{background:var(--accent);color:var(--accent-contrast)}.gs-source-filename{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gs-sheet-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:4px 14px 6px;display:flex}.gs-sheet-select{border:1px solid var(--border-mid);background:var(--bg-raised);color:var(--text-primary);cursor:pointer;border-radius:4px;max-width:160px;padding:3px 6px;font-size:12px}.gs-sheet-select:focus{border-color:var(--accent);outline:none}.dark .gs-sheet-select{background:var(--bg-raised);color:var(--text-primary)}.gs-fields-section{padding:8px 12px 6px}.gs-fields-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;font-size:10px;font-weight:700}.gs-fields-list{flex-direction:column;gap:1px;display:flex}.gs-field-item{color:var(--text-primary);cursor:grab;border-radius:4px;align-items:center;gap:6px;padding:3px 5px;font-size:12px;transition:background .12s;display:flex}.gs-field-item:active{cursor:grabbing}.gs-field-drag{color:var(--text-muted);cursor:grab;letter-spacing:-1px;flex-shrink:0;margin-right:4px;font-size:14px}.gs-field-type{font-size:10px;font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-weight:500}.gs-field-type.num{color:#1765cc;background:#e8f0fe}.gs-field-type.cat{color:#177835;background:#e6f4ea}.dark .gs-field-type.num{color:#8ab4f8;background:#5b8af026}.dark .gs-field-type.cat{color:#81c995;background:#3ecf8e1f}.gs-computed-item .gs-field-type.cat{background:var(--accent-purple-soft,#f3eeff);color:#7b2ff7}.gs-computed-item .gs-field-type.num{background:var(--accent-blue-soft,#eef3ff);color:#3b6fdc;font-style:italic}.dark .gs-computed-item .gs-field-type.cat{color:#b08af7;background:#7b2ff71f}.dark .gs-computed-item .gs-field-type.num{color:#8ab4f8;background:#3b6fdc1f}.gs-divider{background:var(--border);height:1px;margin:0}.zone-rows{--zone-color:#1a73e8;--zone-color-dim:#1a73e817}.zone-cols{--zone-color:#7b2ff7;--zone-color-dim:#7b2ff717}.zone-vals{--zone-color:var(--accent);--zone-color-dim:var(--accent-dim)}.zone-filters{--zone-color:#e37400;--zone-color-dim:#e3740017}.dark .zone-rows{--zone-color:#8ab4f8;--zone-color-dim:#8ab4f81f}.dark .zone-cols{--zone-color:#bb86fc;--zone-color-dim:#bb86fc1f}.dark .zone-vals{--zone-color:#3ecf8e;--zone-color-dim:#3ecf8e1f}.dark .zone-filters{--zone-color:#ffa726;--zone-color-dim:#ffa7261f}.zone-section{border-bottom:1px solid var(--border);padding:8px 12px;transition:background .12s}.zone-header{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.zone-title{letter-spacing:.07em;text-transform:uppercase;color:var(--zone-color,var(--text-muted));align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.zone-title:before{content:"";border-radius:var(--radius-circle);background:var(--zone-color,var(--text-muted));flex-shrink:0;width:10px;height:10px;display:block}.zone-add-wrap{position:relative}.zone-add-btn{border:1px solid var(--zone-color,var(--border-mid));color:var(--zone-color,var(--text-secondary));cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;transition:background .12s}.zone-add-btn:hover{background:var(--zone-color-dim,var(--bg-raised))}.field-picker{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-sm);z-index:var(--z-popover,1100);flex-direction:column;min-width:220px;max-height:320px;display:flex;position:fixed;overflow:hidden;box-shadow:0 4px 20px #0003}.fp-search-wrap{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;display:flex}.fp-search-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.fp-search{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:12.5px}.fp-search::placeholder{color:var(--text-muted)}.fp-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 2px;font-size:15px;line-height:1;display:flex}.fp-search-clear:hover{color:var(--text-primary)}.fp-list{flex:1;overflow-y:auto}.fp-empty{color:var(--text-muted);text-align:center;padding:12px;font-size:12px}.fp-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:flex}.fp-item:hover{background:var(--bg-hover)}.fp-item.fp-used{color:var(--text-muted)}.fp-type{font-size:10px;font-family:var(--font-mono);border-radius:3px;padding:1px 4px}.fp-type.num{color:#1765cc;background:#e8f0fe}.fp-type.cat{color:#177835;background:#e6f4ea}.dark .fp-type.num{color:#8ab4f8;background:#5b8af026}.dark .fp-type.cat{color:#81c995;background:#3ecf8e1f}.fp-check{color:var(--zone-color,var(--accent));margin-left:auto;font-size:12px}.zone-field-row{background:var(--bg-raised);border:1px solid var(--border);border-left:3px solid var(--zone-color,var(--border-mid));cursor:default;border-radius:5px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;padding:5px 8px 5px 10px;transition:box-shadow .12s,border-color .12s;display:flex}.zone-field-row:hover{box-shadow:0 1px 4px #00000014}.zone-field-row--over{border-top:2px solid var(--accent);box-shadow:0 -1px 0 var(--accent)}.zone-drag-handle{color:var(--text-muted);cursor:grab;letter-spacing:-1px;flex-shrink:0;margin-right:2px;font-size:14px}.zone-field-name{color:var(--text-primary);flex:1;min-width:60px;font-size:12px;font-weight:500}.zone-field-row--clickable{cursor:pointer}.zone-field-row--clickable:hover{background:var(--zone-color-dim,#3b6fdc0f);border-left-color:var(--zone-color,var(--accent));box-shadow:0 1px 4px #00000014}.zone-field-chevron{color:var(--text-muted);opacity:.6;flex-shrink:0;align-items:center;transition:opacity .12s,color .12s;display:flex}.zone-field-row--clickable:hover .zone-field-chevron{color:var(--zone-color,var(--accent));opacity:1}.rc-field-card{z-index:var(--z-popover,1100);background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-mid);min-width:230px;font-family:var(--font-sans);padding:14px 16px 12px;font-size:13px;position:fixed;box-shadow:0 4px 20px #0000002e,0 1px 4px #0000001a}.rc-field-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rc-field-card-title{color:var(--text-primary);font-size:14px;font-weight:600}.rc-field-card-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:15px;line-height:1;transition:background .1s}.rc-field-card-close:hover{background:var(--bg-raised);color:var(--text-primary)}.rc-field-card-row{gap:10px;margin-bottom:12px;display:flex}.rc-field-card-col{flex-direction:column;flex:1;gap:4px;display:flex}.rc-field-label{color:var(--text-secondary);letter-spacing:.01em;font-size:11px;font-weight:500}.rc-field-select{border:1px solid var(--border-mid);background:var(--bg-base);color:var(--text-primary);cursor:pointer;appearance:auto;border-radius:4px;width:100%;padding:5px 6px;font-size:12px}.rc-field-select:focus{outline:2px solid var(--accent);outline-offset:1px}.rc-field-check{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.rc-field-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;border-radius:2px;flex-shrink:0}.zone-mini-select{border:1px solid var(--border-mid);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:2px 4px;font-size:11px}.gs-topn-input{border:1px solid var(--border-mid);background:var(--bg-raised);width:52px;color:var(--text-primary);border-radius:4px;padding:2px 5px;font-size:12px}.file-input-hidden{display:none}.icon-inline{vertical-align:middle;display:inline}.icon-inline-mr{vertical-align:middle;margin-right:8px;display:inline}.zone-remove-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:12px;line-height:1}.zone-remove-btn:hover{color:#d93025;background:#d9302514}.zone-over{outline:2px dashed var(--zone-color,var(--accent));outline-offset:-2px;border-radius:6px;background:var(--zone-color-dim,#3b6fdc12)!important}.zone-empty{color:var(--text-muted);border:1.5px dashed var(--border-mid);text-align:center;letter-spacing:.01em;border-radius:5px;padding:9px 6px;font-size:11px;transition:background-color .12s,color .12s,border-color .12s}.zone-empty-over{border-color:var(--zone-color,var(--accent));color:var(--zone-color,var(--accent));background:var(--zone-color-dim,var(--accent-dim))}.zone-filter-chips{flex-wrap:wrap;gap:3px;width:100%;margin-top:5px;display:flex}@media (max-width:768px){.gs-editor-panel{max-height:55vh;box-shadow:0 -4px 16px #0f172a0d}.gs-panel-body{-webkit-overflow-scrolling:touch;flex-direction:column;overflow:hidden auto}.gs-panel-zones{border-right:none;border-bottom:1px solid var(--border);flex:none;width:100%;overflow-y:visible}.gs-panel-fields{flex:none;width:100%;overflow-y:visible}.gs-table-area{padding:12px}.gs-report-bar,.gs-table-header{flex-wrap:wrap}.gs-add-dataset-row{margin-bottom:6px}}.gs-report-bar-error{color:var(--error);max-width:30ch;font-size:12px;line-height:1.35}.gs-range-error{color:var(--error);max-width:26ch;margin-top:3px;font-size:11px;line-height:1.35;display:block}.data-refresh-tip{letter-spacing:.01em;color:#0b3d25;opacity:.7;cursor:help;border-bottom:1px dotted;align-self:flex-start;font-size:11px;font-weight:600}.data-refresh-tip:hover,.data-refresh-tip:focus-visible{opacity:1}.data-refresh-error{color:#8a1c1c;font-size:12px;font-weight:600;line-height:1.35}.file-reading-overlay{z-index:var(--z-dialog-top,5000);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:progress;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.file-reading-card{background:var(--bg-surface,#fff);color:var(--text-primary,#0f172a);border-radius:var(--radius-md);text-align:center;max-width:380px;padding:24px 28px;box-shadow:0 18px 48px #0f172a47}.file-reading-spinner{border-radius:var(--radius-circle);border:3px solid var(--accent-border);border-top-color:var(--accent);width:28px;height:28px;margin:0 auto 12px;animation:.8s linear infinite file-reading-spin}@keyframes file-reading-spin{to{transform:rotate(360deg)}}.file-reading-title{overflow-wrap:anywhere;margin:0 0 6px;font-size:15px;font-weight:700}.file-reading-hint{opacity:.75;margin:0;font-size:12.5px;line-height:1.45}@media (prefers-reduced-motion:reduce){.file-reading-spinner{animation-duration:2.4s}}.session-open-error{z-index:var(--z-dialog-top,5000);background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.session-open-error-card{background:var(--bg-surface,#fff);color:var(--text-primary,#0f172a);border:1px solid var(--border,#e2e8f0);border-top:4px solid var(--error,#b91c1c);border-radius:var(--radius-md);max-width:520px;padding:22px 24px;box-shadow:0 18px 48px #0f172a47}.session-open-error-title{overflow-wrap:anywhere;margin:0 0 8px;font-size:16px;font-weight:700}.session-open-error-msg{margin:0 0 16px;font-size:13.5px;line-height:1.5}.session-open-error-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-open-error-link{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.session-open-error-link:hover{text-decoration:underline}.session-open-error-dismiss{cursor:pointer;color:var(--text-secondary,#64748b);background:0 0;border:none;margin-left:auto;font-size:13px}.session-open-error-dismiss:hover{text-decoration:underline}.session-open-error-hint{color:var(--text-secondary,#64748b);margin:14px 0 0;font-size:12px;line-height:1.45}.panel-fab-dock{z-index:100;align-items:center;gap:10px;display:flex;position:fixed;bottom:28px;right:28px}.panel-fab-dock .panel-fab{flex:none;position:static}.panel-fab-range{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-surface);max-width:60vw;color:var(--text-primary);cursor:pointer;align-items:baseline;gap:6px;padding:8px 12px;font-size:12.5px;transition:border-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 16px #0000001f}.panel-fab-range:hover{border-color:var(--accent);box-shadow:0 6px 20px #0000002e}.panel-fab-range-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:700}.panel-fab-range-value{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;overflow:hidden}
.save-overlay{z-index:2000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.save-dialog{background:var(--bg-surface,#fff);border-radius:10px;flex-direction:column;gap:14px;width:360px;padding:24px;display:flex;box-shadow:0 8px 32px #0000002e}.save-dialog-title{color:var(--text-primary);font-size:15px;font-weight:600}.save-dialog-label{color:var(--text-secondary);font-size:12px;font-weight:500}.save-dialog-input{border:1px solid var(--border-mid);color:var(--text-primary);background:var(--bg-base);border-radius:7px;outline:none;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.save-dialog-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.save-dialog-error{color:var(--error);font-size:12px}.save-dialog-mode-note{color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border);border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.5}.save-dialog-confirm{border:1px solid var(--warning);color:var(--text-primary);background:#f299001a;border-radius:7px;flex-direction:column;gap:5px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.save-dialog-confirm strong{font-size:13px}.save-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.save-dialog-cancel{border:1px solid var(--border-mid);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:6px;padding:8px 16px;font-size:13px}.save-dialog-cancel:hover{background:var(--bg-raised);color:var(--text-primary)}.save-dialog-btn{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);cursor:pointer;min-width:80px;box-shadow:var(--shadow-sm);border:none;padding:8px 20px;font-size:13px;font-weight:600;transition:filter .15s}.save-dialog-btn:hover:not(:disabled){filter:brightness(1.1)}.save-dialog-btn:disabled{opacity:.6;cursor:not-allowed}.save-dialog-overwrite{border:1px solid var(--warning);color:var(--warning);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.save-dialog-overwrite:hover:not(:disabled){background:#f299001a}.save-dialog-overwrite:disabled{opacity:.6;cursor:not-allowed}.save-dialog-share-label{color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:8px;margin:2px 0 4px;font-size:13px;display:flex}.save-dialog-share-label input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:2px}.save-dialog-share-hint{color:var(--text-muted);margin-left:2px;font-size:11px}.fvm-overlay{z-index:3000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fvm-modal{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-lg);flex-direction:column;width:340px;max-height:80vh;display:flex;box-shadow:0 16px 40px #0003}.fvm-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.fvm-title{color:var(--text-primary);font-size:14px;font-weight:600}.fvm-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:15px}.fvm-close:hover{color:var(--text-primary);background:var(--bg-raised)}.fvm-search-row{padding:10px 14px 6px}.fvm-search{border:1px solid var(--border-mid);border-radius:var(--radius-sm);background:var(--bg-base);width:100%;color:var(--text-primary);outline:none;padding:7px 10px;font-size:12px}.fvm-search:focus{border-color:var(--accent)}.fvm-bulk-row{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:4px 14px 8px;display:flex}.fvm-bulk-btn{border:1px solid var(--border-mid);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:3px;padding:3px 8px;font-size:11px}.fvm-bulk-btn:hover{background:var(--bg-raised);color:var(--accent);border-color:var(--accent)}.fvm-count{color:var(--text-muted);margin-left:auto;font-size:11px}.fvm-list{flex:1;padding:6px 0;overflow-y:auto}.fvm-item{cursor:pointer;align-items:center;gap:8px;padding:5px 14px;display:flex}.fvm-item:hover{background:var(--bg-raised)}.fvm-item input[type=checkbox]{cursor:pointer;accent-color:var(--accent);flex-shrink:0}.fvm-item-val{color:var(--text-primary);font-size:12px}.fvm-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:12px}.fvm-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 14px;display:flex}.zone-filter-btn{border:1px solid var(--border-mid);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:10px;padding:2px 7px;font-size:10px}.zone-filter-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.zone-fmt-btn{border:1px solid var(--border-mid);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-size:10px;font-family:var(--font-mono);white-space:nowrap;border-radius:3px;padding:2px 5px}.zone-fmt-btn:hover{border-color:var(--accent);color:var(--accent)}.zone-fmt-btn.has-cond-fmt{color:currentColor;border-color:currentColor}.zone-fmt-btn--custom{color:var(--zone-cond-color)!important}.fmt-popover{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-md);flex-direction:column;gap:8px;width:220px;padding:12px 14px;display:flex;box-shadow:0 8px 24px #00000026}.fmt-title{color:var(--text-secondary);margin-bottom:2px;font-size:11px;font-weight:600}.fmt-row{align-items:center;gap:8px;display:flex}.fmt-row label{color:var(--text-muted);flex-shrink:0;width:60px;font-size:11px}.fmt-input{border:1px solid var(--border-mid);background:var(--bg-base);color:var(--text-primary);border-radius:3px;outline:none;flex:1;padding:4px 6px;font-size:11px}.fmt-input:focus{border-color:var(--accent)}.fmt-actions{justify-content:flex-end;gap:6px;margin-top:2px;display:flex}.gs-tabs{background:var(--bg-raised);border-radius:var(--radius-sm);flex-shrink:0;gap:2px;padding:3px;display:flex}.gs-tab{cursor:pointer;color:var(--text-secondary);font-size:12px;font-family:var(--font-sans);background:0 0;border:none;border-radius:6px;padding:4px 14px;transition:background .12s,color .12s}.gs-tab.active{background:var(--bg-surface);color:var(--text-primary);font-weight:500;box-shadow:0 1px 3px #0000001a}.gs-tab:hover:not(.active){color:var(--text-primary)}.chart-view{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1;min-height:0;padding:16px 12px 12px}.chart-empty{color:var(--text-muted);border:1px dashed var(--border-mid);border-radius:var(--radius-lg);text-align:center;flex:1;justify-content:center;align-items:center;padding:4rem 2rem;font-size:13px;display:flex}.chart-truncated{color:var(--text-muted);text-align:right;margin-bottom:8px;font-size:11px}.ddm-overlay{z-index:4000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000085;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ddm-modal{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-lg);flex-direction:column;width:92vw;max-width:1120px;max-height:88vh;display:flex;box-shadow:0 24px 64px #00000052}.ddm-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 20px 12px}.ddm-title-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ddm-title{color:var(--text-primary);font-size:15px;font-weight:600}.ddm-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;line-height:1}.ddm-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ddm-chips{flex-wrap:wrap;gap:6px;display:flex}.ddm-chip{background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent);border-radius:20px;padding:2px 10px;font-size:11px}.ddm-chip-field{font-weight:600}.ddm-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.ddm-search{border:1px solid var(--border-mid);background:var(--bg-raised);max-width:240px;color:var(--text-primary);border-radius:6px;outline:none;flex:0 240px;padding:6px 10px;font-size:12px}.ddm-search:focus{border-color:var(--accent)}.ddm-count{color:var(--text-muted);white-space:nowrap;margin-right:auto;font-size:11px}.ddm-export-group{flex-shrink:0;align-items:center;gap:6px;display:flex}.ddm-export-btn{border:1px solid var(--border-mid);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;padding:5px 12px;font-size:11px}.ddm-export-btn:hover{background:var(--bg-raised);border-color:var(--border-hi)}.ddm-table-wrap{flex:1;min-height:0;overflow:auto}.ddm-table{border-collapse:collapse;width:100%;font-size:12px}.ddm-table th{background:var(--bg-raised);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-mid);white-space:nowrap;cursor:pointer;z-index:1;-webkit-user-select:none;user-select:none;padding:7px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.ddm-table th:hover{color:var(--text-primary)}.ddm-th-sorted{color:var(--accent)!important}.ddm-table td{border-bottom:1px solid var(--border);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:300px;padding:5px 12px;overflow:hidden}.ddm-row-alt td{background:var(--bg-raised)}.ddm-table tbody tr:hover td{background:var(--bg-hover)}.ddm-empty{text-align:center;color:var(--text-muted);padding:24px}.ddm-truncated{color:var(--text-muted);border-top:1px solid var(--border);text-align:center;background:var(--bg-raised);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-shrink:0;padding:8px 20px;font-size:11px}.fvm-mode-row{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 14px;display:flex}.fvm-mode-btn{border-radius:var(--radius-md);border:1px solid var(--border-mid);color:var(--text-secondary);cursor:pointer;background:0 0;padding:3px 10px;font-size:11px;transition:background-color .12s,color .12s,border-color .12s}.fvm-mode-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:500}.fvm-mode-btn:hover:not(.active){background:var(--bg-hover)}.fvm-mode-hint{color:var(--text-muted);margin-left:auto;font-size:10px}.fvm-tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 14px;display:flex}.fvm-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 14px;font-size:12px;font-weight:500}.fvm-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.fvm-tab:hover:not(.active){color:var(--text-primary)}.fvm-cond-body{flex-direction:column;gap:10px;padding:14px 14px 8px;display:flex}.fvm-cond-row{align-items:center;gap:10px;display:flex}.fvm-cond-label{color:var(--text-secondary);flex-shrink:0;width:64px;font-size:12px}.fvm-cond-select,.fvm-cond-input{border:1px solid var(--border-mid);background:var(--bg-input);color:var(--text-primary);border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.fvm-cond-input:focus,.fvm-cond-select:focus{border-color:var(--accent);outline:none}.fvm-cond-active{color:var(--accent);padding:4px 0;font-size:11px}.fvm-cond-clear{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.fvm-cond-clear:hover{color:var(--text-primary)}
@media (max-width:768px){.gs-workspace{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.gs-editor-panel{border-left:none;border-top:1px solid var(--border)}.gs-menu-items{display:none}}.app-footer{border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 20px;font-size:12px;display:flex}.app-footer-version{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:500}.app-footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0;display:flex}.app-footer-link{color:var(--text-secondary);font-size:12px;font-weight:500;text-decoration:none}.app-footer-link:hover{color:var(--accent);text-decoration:underline}.app-footer-sep{color:var(--text-muted);margin:0 6px}.invite-toast{background:var(--text-primary);color:var(--bg-base);border-radius:var(--radius-sm);z-index:9999;padding:10px 20px;font-size:13px;animation:.3s toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}@media (prefers-reduced-motion:reduce){.toast,[class*=toast]{animation:none!important}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.gs-row-count{font-size:11px;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;letter-spacing:.01em;margin-left:auto;font-weight:600}.gs-row-count-of{color:var(--text-muted);font-weight:400}.gs-heatmap-axis{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.gs-heatmap-axis-label{color:var(--text-secondary);margin-right:2px;font-size:11px;font-weight:600}.gs-seg{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;padding:3px 8px;font-size:11px;font-weight:700}.gs-seg:first-of-type{border-radius:5px 0 0 5px}.gs-seg:last-of-type{border-left:none;border-radius:0 5px 5px 0}.gs-seg.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.gs-count-badge{letter-spacing:.03em;text-transform:uppercase;color:#4338ca;border-radius:var(--radius-pill);white-space:nowrap;cursor:default;background:#eef2ff;border:1px solid #c7d2fe;padding:1px 7px;font-size:10px;font-weight:700}.gs-table-export{align-items:center;gap:4px;display:flex}.gs-export-btn{color:var(--text-muted);cursor:pointer;opacity:.72;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:100%;padding:2px 6px;font-size:10px;font-weight:400;line-height:1;transition:opacity .15s,background .12s,border-color .12s,color .12s;display:inline-flex}.gs-export-btn svg{flex-shrink:0}.gs-export-btn:hover{opacity:1;background:var(--bg-hover);border-color:var(--border-mid);color:var(--text-primary)}.gs-global-search{border:1px solid var(--border-mid);background:var(--bg-raised);color:var(--text-primary);border-radius:4px;width:130px;padding:3px 8px;font-size:12px;transition:border-color .15s}.gs-global-search:focus{border-color:var(--accent)}.gs-global-search::placeholder{color:var(--text-muted)}.gs-bin-btn{border:1px solid var(--border-mid);color:var(--text-muted);cursor:pointer;opacity:.7;background:0 0;border-radius:3px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:11px}.gs-bin-btn:hover{opacity:1;color:var(--accent);border-color:var(--accent-border)}.gs-computed-section{border-top:1px dashed var(--border-mid);margin-top:6px;padding-top:6px}.gs-computed-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px 4px;font-size:10px;font-weight:600}.gs-computed-item{opacity:.92}.gs-add-derived-btn{border:1px dashed var(--border-mid);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border-radius:4px;width:calc(100% - 8px);margin:6px 4px 0;padding:4px 10px;font-size:11px;transition:background-color .15s,color .15s,border-color .15s}.gs-add-derived-btn:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-dim)}.pivot-virt-badge{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border);border-radius:10px;align-items:center;gap:4px;margin-bottom:6px;padding:2px 8px;font-size:11px;display:inline-flex}.auth-loading{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading-spinner{border:3px solid var(--border-mid);border-top-color:var(--accent);border-radius:var(--radius-circle);width:32px;height:32px;animation:.9s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.login-modal-overlay{z-index:var(--z-modal,1200);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.login-modal-inner{border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-width:420px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.login-modal-close{z-index:2;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-circle);cursor:pointer;width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;transition:background .12s,color .12s;display:flex;position:absolute;top:14px;right:14px}.login-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.maintenance-banner{background:var(--warning);color:var(--warning-contrast);text-align:center;z-index:100;padding:8px 20px;font-size:13px;font-weight:600;position:relative}.error-boundary{text-align:center;color:var(--error);padding:32px}.error-boundary-title{margin-bottom:0;font-size:16px;font-weight:600}.error-boundary-msg{color:var(--text-secondary);margin:8px 0 20px;font-size:13px}.ddm-sort-arrow{color:var(--accent);opacity:.85;vertical-align:middle;align-items:center;margin-left:4px;display:inline-flex}.fmt-btn-sm{padding:4px 10px!important;font-size:11px!important}.fmt-btn-sm-narrow{padding:4px 8px!important;font-size:11px!important}.fmt-popover--cond{width:240px}.fmt-color-row{flex-wrap:wrap;gap:5px;display:flex}.fmt-color-swatch{border-radius:var(--radius-circle);cursor:pointer;border:2px solid #0000;flex-shrink:0;width:20px;height:20px;transition:border-color .1s}.fmt-color-swatch.selected{border-color:var(--text-primary)}.fmt-color-swatch--red{background:var(--fmt-red)}.fmt-color-swatch--orange{background:var(--fmt-orange)}.fmt-color-swatch--green{background:var(--fmt-green)}.fmt-color-swatch--blue{background:var(--fmt-blue)}.fmt-color-swatch--purple{background:var(--fmt-purple)}.fmt-color-swatch--teal{background:var(--fmt-teal)}.fmt-hint{color:var(--text-muted);margin:8px 0;font-size:12px}.fmt-row--operand{flex-wrap:wrap;align-items:flex-start!important;gap:4px!important}.fmt-input--narrow{width:72px}.fmt-input--flex{flex:1}.popover-anchor{z-index:9999;top:var(--popover-top,auto);right:var(--popover-right,auto);bottom:var(--popover-bottom,auto);left:var(--popover-left,auto);width:var(--popover-width,auto);position:fixed}.fmt-popover--bin{width:220px}.fmt-popover--derived-empty{width:240px}.fmt-popover--derived{width:260px}.brand-mark-fill{fill:var(--accent)}.brand-mark-line{fill:none;stroke:var(--accent-contrast)}.brand-mark-cell{fill:var(--accent-contrast)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;max-width:460px;min-height:60vh;margin:0 auto;padding:64px 24px;display:flex}.empty-state-icon{border-radius:var(--radius-lg);width:56px;height:56px;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.empty-state-title{color:var(--text-primary);letter-spacing:-.01em;font-size:18px;font-weight:700}.empty-state-text{color:var(--text-secondary);max-width:360px;font-size:14px;line-height:1.6}.empty-state-cta{margin-top:18px;text-decoration:none}.zone-fmt-btn-wrap{position:relative}button.zone-field-chevron{appearance:none;font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;line-height:0}button.zone-field-chevron:focus-visible{opacity:1;border-radius:3px}.req-mark{color:var(--error);margin-left:2px;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.empty-state-text a{color:var(--accent);text-decoration:none}.empty-state-text a:hover{color:var(--text-primary);text-decoration:underline}.error-boundary-alt{text-align:center;color:var(--text-secondary);margin-top:14px;font-size:13px}.error-boundary-alt a{color:var(--accent);text-decoration:none}.error-boundary-alt a:hover{text-decoration:underline}.login-modal-reason{text-align:center;color:var(--text-secondary);margin:0;padding:22px 52px 0 32px;font-size:13px;line-height:1.5}.auth-loading{position:relative}.mk-back{color:var(--text-secondary);margin-bottom:12px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-block}.mk-back:hover{color:var(--accent)}.mk-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media print{.mk-back{display:none}}.mfa-required-banner{background:var(--warning);color:var(--warning-contrast);text-align:center;z-index:100;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:9px 20px;font-size:13px;line-height:1.5;display:flex;position:relative}.mfa-required-banner-btn{background:var(--warning-contrast);color:var(--warning);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:5px 12px;font-size:12px;font-weight:700}.mfa-required-banner-btn:hover{filter:brightness(.95)}
.support-session-banner{background:var(--warning-dim);border-bottom:1px solid var(--warning-border,var(--warning));color:var(--warning);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 22px;font-size:13px;line-height:1.35;display:flex}.support-session-banner strong{color:var(--warning)}.support-end-btn{border:1px solid var(--warning);background:var(--bg-surface);color:var(--warning);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:12px;font-weight:700}.support-end-btn:hover{background:var(--warning-dim)}.support-overlay{z-index:var(--z-modal,1200);background:#0f172a6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.support-modal{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-lg);flex-direction:column;gap:14px;width:min(720px,100%);max-height:calc(100vh - 48px);padding:22px 22px 0;display:flex;overflow-y:auto;box-shadow:0 24px 70px #0f172a3d}.support-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.support-head h2{color:var(--text-primary);margin:0;font-size:20px}.support-head p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.support-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:24px;line-height:1}.support-close:hover{color:var(--text-primary)}.support-error{background:var(--error-dim);color:var(--error);border-radius:var(--radius-sm);border:1px solid #dc26262e;padding:10px 12px;font-size:13px}.support-field-error{color:var(--error);margin-top:-8px;font-size:12px;font-weight:700}.support-label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.support-input{border:1px solid var(--border-mid);border-radius:var(--radius-sm);background:var(--bg-base);width:100%;color:var(--text-primary);font:inherit;outline:none;padding:10px 12px;font-size:14px;font-weight:400}.support-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.support-input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 3px var(--error-dim)}.support-textarea{resize:vertical;min-height:74px}.support-select{appearance:auto}.support-count{color:var(--text-muted);margin-top:-6px;font-size:12px;font-weight:600}.support-target-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);min-height:48px;max-height:120px;overflow:auto}.support-target{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.support-target:last-child{border-bottom:0}.support-target:hover{background:var(--bg-hover)}.support-target.active{background:var(--accent-dim);box-shadow:inset 3px 0 0 var(--accent)}.support-target-main,.support-target-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.support-target-main strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.support-target-main span,.support-target-meta span{color:var(--text-secondary);font-size:12px}.support-target-meta{align-items:flex-end}.support-empty{color:var(--text-muted);text-align:center;padding:18px}.support-check{color:var(--text-primary);align-items:flex-start;gap:9px;font-size:13px;line-height:1.4;display:flex}.support-check input{accent-color:var(--accent);margin-top:2px}.support-actions{z-index:2;background:var(--bg-surface);border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin:2px -22px 0;padding:14px 22px 18px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 18px #0f172a0f}

