@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#16181c;--surface-1:#1c1f24;--surface-2:#24272d;--surface-3:#2d3138;--border-subtle:#292d33;--border-default:#313640;--border-strong:#434853;--text-primary:#cfd1d6;--text-secondary:#969ba4;--text-muted:#757a83;--text-disabled:#4a4d53;--text-on-accent:#f5f8fb;--text-on-danger:#fef2f2;--accent:#3e6d96;--accent-hover:#4e7ea8;--accent-active:#345c80;--accent-subtle:#3e6d9629;--ok:#5fa987;--ok-bg:#5fa9871a;--ok-border:#5fa98747;--danger:#d87871;--danger-strong:#c0453b;--danger-bg:#d878711a;--danger-border:#d8787152;--warn:#d6a854;--warn-bg:#d6a8541a;--warn-border:#d6a85447;--flag-tricky:#e8cf62;--flag-hazard:#ef8a2f;--flag-tricky-bg:#f0d65a8c;--flag-hazard-bg:#ef802899;--info:#7c9ac4;--info-bg:#7c9ac41a;--info-border:#7c9ac447;--hour-invoiced:#3b6d11;--hour-invoiced-outline:#27500a;--hour-to-invoice:#97c459;--hour-to-invoice-outline:#3b6d11;--hour-fixed:#1d9e75;--hour-fixed-outline:#0f6e56;--hour-deferred:#378add;--hour-deferred-outline:#185fa5;--hour-tbd:#ef9f27;--hour-tbd-outline:#ba7517;--hour-over:#d85a30;--hour-over-outline:#993c1d;--hour-written-off:#a32d2d;--hour-written-off-outline:#791f1f;--hour-capitalized:#7f77dd;--hour-capitalized-outline:#534ab7;--hour-internal:#b4b2a9;--hour-internal-outline:#888780;--hour-tracked:#f6f7f9;--money-fees:#2fb2c4;--money-costs:#b08a66;--cat-1:#6d9bd1;--cat-2:#f2a15a;--cat-3:#74bd6b;--cat-4:#c59bc0;--cat-5:#e8cf62;--cat-6:#86c9c4;--cat-7:#ec7f80;--cat-8:#b8937b;--cat-9:#f4b3bc;--cat-10:#9fb4c9;--cat-other:#6b7280;--cat-shared:#9a948c;--hour-billy-opacity:.45;--hour-undecided-stroke:1.5px;--hour-undecided-tint:0%;--font-ui:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--font-icon:"Material Symbols Outlined";--text-xs:13px;--text-sm:14px;--text-base:15px;--text-md:17px;--text-lg:21px;--text-xl:26px;--text-2xl:33px;--text-display:40px;--leading-tight:1.25;--leading-body:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--field-month:160px;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-full:999px;--shadow-overlay:0 4px 24px #00000080, 0 1px 2px #0006;--shadow-modal:0 16px 48px #0009;--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-overlay:1200;--z-modal:1300;--z-popover:1400;--z-toast:1500;--z-tooltip:1600;--duration-fast:.12s;--duration:.18s;--ease:cubic-bezier(.2, 0, 0, 1);--container:1200px}*,:before,:after{box-sizing:border-box}html{height:100%}body{background:var(--canvas);min-height:100%;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p{margin:0}a{color:inherit}code,.mono{font-family:var(--font-mono);font-size:.92em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.icon{font-family:var(--font-icon);vertical-align:middle;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;-webkit-user-select:none;user-select:none;font-size:18px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}.icon--sm{font-size:16px}::selection{background:var(--surface-3)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.container{max-width:var(--container);padding:0 var(--space-6);margin:0 auto}.topbar{border-bottom:1px solid var(--border-subtle);background:var(--canvas);z-index:var(--z-sticky);position:sticky;top:0}.topbar .container{align-items:center;gap:var(--space-4);height:56px;display:flex}.topbar-logo{align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--text-base);letter-spacing:-.01em;text-decoration:none;display:flex}.topbar-logo .logo-mark{width:auto;height:26px;display:block}.topbar-nav{align-items:center;gap:var(--space-1);margin-left:var(--space-4);display:flex}.nav-item{border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);padding:6px 12px;font-weight:450;text-decoration:none}.nav-item:hover{color:var(--text-primary);background:var(--surface-1)}.nav-item.is-active{color:var(--accent);background:var(--accent-subtle);font-weight:500}.topbar--platform{background:var(--surface-1);border-bottom:1px solid var(--border-default);box-shadow:inset 0 2px 0 var(--accent)}.scope-tag{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:2px 10px;font-weight:500}.org-switcher{position:relative}.org-switcher-trigger{align-items:center;gap:var(--space-2);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font:inherit;cursor:pointer;transition:border-color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);background:0 0;padding:6px 10px;font-weight:500;display:inline-flex}.org-switcher-trigger:hover{border-color:var(--border-strong);background:var(--surface-1)}.org-switcher-trigger .caret{color:var(--text-muted)}.org-switcher-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.menu{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-overlay);z-index:var(--z-dropdown);padding:var(--space-1);display:none;position:absolute;top:calc(100% + 6px);left:0}.menu.is-open{display:block}.menu[data-align=right]{left:auto;right:0}.menu-item{align-items:center;gap:var(--space-2);width:100%;color:var(--text-primary);font:inherit;text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:8px 10px;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-3);outline:none}.menu-item.is-selected{background:var(--surface-3)}.menu-item .menu-meta{font-size:var(--text-xs);color:var(--text-muted);margin-left:auto}.menu-item--danger{color:var(--danger)}.menu-separator{background:var(--border-subtle);height:1px;margin:var(--space-1) 0}.menu-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:8px 10px 4px}.page-header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8);display:flex}.page-header h1{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600;line-height:var(--leading-tight)}.page-header--center{align-items:center}.page-header .page-sub{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--text-sm)}.page-header .page-actions{gap:var(--space-2);align-items:center;margin-left:auto;display:flex}.section{margin-top:var(--space-12)}.section:first-child{margin-top:0}.section-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.section-head h2{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:var(--leading-tight)}.section-head .section-count{color:var(--text-muted);font-size:var(--text-sm);font-weight:400}.section-head .section-actions{gap:var(--space-2);margin-left:auto;display:flex}.section-disclose{align-items:center;gap:var(--space-2);font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.section-disclose .chev{color:var(--text-muted);flex:none;transition:transform .12s}.section-disclose[aria-expanded=true] .chev{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.section-disclose .chev{transition:none}}.backlink{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-4);border-radius:var(--radius-sm);text-decoration:none;display:inline-flex}.backlink:hover{color:var(--text-primary)}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);font:inherit;font-size:var(--text-base);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);border:1px solid #0000;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.btn--lg{height:40px;padding:0 var(--space-5);font-size:var(--text-base)}.btn--sm{height:26px;padding:0 var(--space-2);font-size:var(--text-sm)}.btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost):not(.btn-danger):not(.btn-danger-outline){background:var(--surface-1);border-color:var(--border-default);color:var(--text-primary)}.btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost):not(.btn-danger):not(.btn-danger-outline):hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active)}.btn-secondary{background:var(--surface-1);border-color:var(--border-default);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn-secondary:active:not(:disabled){background:var(--surface-3)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-1);color:var(--text-primary)}.btn-ghost:active:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger-strong);color:var(--text-on-danger)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:active:not(:disabled){background:#991b1b}.btn-danger-outline{border-color:var(--danger-border);color:var(--danger);background:0 0}.btn-danger-outline:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.btn-icon{width:32px;color:var(--text-secondary);background:0 0;padding:0}.btn-icon:hover:not(:disabled){background:var(--surface-1);color:var(--text-primary)}.btn-icon.btn--sm{width:26px}.btn.is-loading{pointer-events:none;position:relative;color:#0000!important}.btn.is-loading:after{content:"";border-radius:var(--radius-full);border:2px solid #ffffff59;border-top-color:#fff;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute}.btn-secondary.is-loading:after,.btn-ghost.is-loading:after{border-color:var(--border-strong);border-top-color:var(--text-primary)}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2);flex-direction:column;display:flex}.field+.field{margin-top:var(--space-4)}.field-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.field-label .optional{color:var(--text-muted);font-weight:400}.field-hint{font-size:var(--text-sm);color:var(--text-muted)}.field-error{font-size:var(--text-sm);color:var(--danger)}.input,.select{width:100%;height:32px;padding:0 var(--space-3);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease)}.input::placeholder{color:var(--text-muted)}.input:hover:not(:disabled),.select:hover:not(:disabled){border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.input:disabled,.select:disabled{background:var(--canvas);color:var(--text-disabled);cursor:not-allowed}.input.is-invalid{border-color:var(--danger)}.input.is-invalid:focus{box-shadow:0 0 0 1px var(--danger)}textarea.input{height:auto;min-height:96px;padding:var(--space-2) var(--space-3);resize:vertical}.input--mono{font-family:var(--font-mono);font-size:var(--text-sm)}.input--lg{height:44px;padding:0 var(--space-4);font-size:15px}.select{appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat}.field-month{width:var(--field-month)}.field-month .combo-input{height:28px;font-size:var(--text-sm)}.search{align-items:center;display:inline-flex;position:relative}.search .input{padding-left:30px}.search .search-icon{color:var(--text-muted);pointer-events:none;display:inline-flex;position:absolute;left:10px}.check,.radio-opt{align-items:center;gap:var(--space-2);font-size:var(--text-base);cursor:pointer;display:inline-flex}.check input,.radio-opt input{appearance:none;border:1px solid var(--border-strong);background:var(--surface-1);cursor:pointer;width:16px;height:16px;transition:background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);margin:0}.check input{border-radius:3px}.radio-opt input{border-radius:var(--radius-full)}.check input:checked,.radio-opt input:checked{background:var(--accent);border-color:var(--accent)}.check input:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat}.radio-opt input:checked{box-shadow:inset 0 0 0 3px var(--surface-1)}.check input:disabled,.radio-opt input:disabled{opacity:.4;cursor:not-allowed}.chip-input{gap:var(--space-2);padding:var(--space-2);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:text;flex-wrap:wrap;display:flex}.chip-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.chip-input input{min-width:120px;color:var(--text-primary);font:inherit;font-size:var(--text-sm);background:0 0;border:0;flex:1}.chip-input input:focus{outline:none}.chip{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono);align-items:center;gap:6px;padding:2px 4px 2px 8px;display:inline-flex}.chip .chip-remove{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.chip .chip-remove:hover{background:var(--surface-3);color:var(--text-primary)}.chip .chip-remove .icon{font-size:13px}.badge{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--surface-2);color:var(--text-secondary);white-space:nowrap;border-radius:2px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.badge--ok{background:var(--ok-bg);color:var(--ok)}.badge--danger{background:var(--danger-bg);color:var(--danger)}.badge--warn{background:var(--warn-bg);color:var(--warn)}.badge--info{background:var(--info-bg);color:var(--info);text-transform:none;letter-spacing:0;font-size:var(--text-xs)}.badge--role{text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--text-xs);background:var(--surface-2);color:var(--text-secondary);border-left:none;border-radius:2px}.badge--scope{text-transform:none;letter-spacing:0;background:var(--surface-2);color:var(--text-secondary);border-left:none;border-radius:2px;font-size:11px;font-weight:400}.badge--scope-missing{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn);text-decoration:line-through;text-decoration-thickness:1px}.badge--danger-role{letter-spacing:.02em;text-transform:none;background:var(--danger-bg);box-shadow:inset 0 0 0 1px var(--danger-border);color:var(--danger);border-radius:2px;padding:2px 8px;font-size:11px;font-weight:600}.badge--danger-role:before{content:"warning";font-family:var(--font-icon);font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 20;font-size:13px;font-weight:400;line-height:1}.table{border-collapse:collapse;width:100%;font-size:var(--text-base);border:1px solid var(--border-default)}.table--compact{max-width:760px}.table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-2) var(--space-3);background:var(--surface-1);border-bottom:1px solid var(--border-default);white-space:nowrap;font-weight:500}.table th:not(:last-child),.table td:not(:last-child){border-right:1px solid var(--border-subtle)}.table th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.is-sortable:hover{color:var(--text-secondary)}.table th .sort-arrow{vertical-align:-3px;font-size:14px}.table td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tbody tr{transition:background var(--duration-fast) var(--ease)}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-clickable:hover{background:var(--surface-1)}.table .cell-muted{color:var(--text-muted);font-size:var(--text-sm)}.table .cell-mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.table .cell-num{text-align:right;font-variant-numeric:tabular-nums}.table .cell-actions{text-align:right;white-space:nowrap}.table tr:hover .cell-actions .btn,.table .cell-actions .btn:focus-visible{visibility:visible}.cell-entity{align-items:center;gap:var(--space-3);color:inherit;text-decoration:none;display:flex}a.cell-entity:hover .entity-name{color:var(--accent)}.cell-entity .entity-name{color:var(--text-primary);font-weight:500}.cell-entity .entity-sub{font-size:var(--text-sm);color:var(--text-muted)}.avatar{border-radius:var(--radius-full);background:var(--surface-3);width:28px;height:28px;color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.02em;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar--lg{width:48px;height:48px;font-size:var(--text-md)}.avatar--app{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border-default)}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.card-entity{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:inherit;transition:border-color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease);text-decoration:none;display:flex}.card-entity:hover{border-color:var(--border-strong);background:var(--surface-2)}.card-entity .card-title{font-weight:600;font-size:var(--text-base)}.card-entity .card-meta{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.card-entity .card-chevron{color:var(--text-muted);margin-left:auto}.card-stat{padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.card-stat .stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.card-stat .stat-value{font-size:var(--text-xl);letter-spacing:-.02em;margin-top:var(--space-1);font-variant-numeric:tabular-nums;font-weight:600}.card-stat .stat-value .skeleton{width:48px;height:26px;margin-top:2px}.card-nav{padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:inherit;transition:border-color var(--duration-fast) var(--ease);text-decoration:none;display:block}.card-nav:hover{border-color:var(--border-strong)}.card-nav .card-title{font-weight:600}.card-nav .card-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-6);display:flex}.tab{padding:var(--space-2) var(--space-3) var(--space-3);font:inherit;font-size:var(--text-base);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:450;text-decoration:none}.tab:hover{color:var(--text-primary)}.tab.is-active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:500}.tab .tab-count{color:var(--text-muted);font-size:var(--text-sm);margin-left:4px}.kv-grid{gap:var(--space-3) var(--space-8);grid-template-columns:max-content 1fr;max-width:560px;margin:0;display:grid}.id-reveal--center{justify-content:center}.kv-grid dt{font-size:var(--text-sm);color:var(--text-muted)}.kv-grid dd{font-size:var(--text-base);margin:0}.kv-grid dd .mono{color:var(--text-secondary)}.id-reveal{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);display:inline-flex}.id-reveal .id-copy{color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease);font-size:var(--text-xs);background:0 0;border:0;border-radius:4px;padding:2px 4px}.id-reveal:hover .id-copy,.id-reveal .id-copy:focus-visible{opacity:1}.id-reveal .id-copy:hover{background:var(--surface-2);color:var(--text-primary)}.matrix{border-collapse:collapse;font-size:var(--text-sm)}.matrix th,.matrix td{padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);text-align:center}.matrix th{font-size:var(--text-xs);color:var(--text-muted);background:var(--surface-1);font-weight:500}.matrix th[scope=row],.matrix .matrix-row-head{text-align:left;font-family:var(--font-mono);color:var(--text-secondary);font-size:11px;font-weight:400}.matrix .m-yes{color:var(--ok);font-weight:600}.matrix .m-no{color:var(--text-disabled)}.matrix .m-warn{color:var(--warn);font-weight:600}dialog[open]{flex-direction:column;display:flex}dialog:not([open]){display:none}dialog.modal{background:var(--surface-2);width:min(480px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:0}dialog.modal::backdrop{background:#040812b3}dialog.modal[open]{animation:modal-in var(--duration) var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.modal-head{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6) 0;display:flex}.modal-head h2{font-size:var(--text-md);font-weight:600}.modal-head .modal-close{margin-left:auto}.modal-body{padding:var(--space-4) var(--space-6);flex:auto;min-height:0;overflow-y:auto}.modal-body p{color:var(--text-secondary);font-size:var(--text-base)}.modal-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-6) var(--space-5);display:flex}dialog.modal--danger{border-color:var(--danger-border)}.modal--danger .modal-head h2{color:var(--danger)}.consequences{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary)}.consequences ul{padding-left:var(--space-4);gap:var(--space-1);margin:0;display:grid}.toast-stack{bottom:var(--space-6);right:var(--space-6);gap:var(--space-2);z-index:var(--z-toast);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);min-width:280px;max-width:380px;padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);font-size:var(--text-base);animation:toast-in var(--duration) var(--ease);display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast .toast-icon{flex-shrink:0}.toast--success .toast-icon{color:var(--ok)}.toast--error .toast-icon{color:var(--danger)}.toast .toast-dismiss{margin-left:auto}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-1) 25%, var(--surface-2) 50%, var(--surface-1) 75%);-webkit-user-select:none;user-select:none;background-size:200% 100%;animation:1.4s infinite shimmer;display:inline-block;color:#0000!important}@keyframes shimmer{to{background-position:-200% 0}}.skeleton-row td .skeleton{width:70%;height:14px}.skeleton-row td .skeleton.w-40{width:40%}.skeleton-row td .skeleton.w-90{width:90%}.spinner{border:2px solid var(--border-strong);border-top-color:var(--text-primary);border-radius:var(--radius-full);width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.empty-state{padding:var(--space-12) var(--space-6);text-align:center}.empty-state .empty-icon{border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--border-default);width:40px;height:40px;color:var(--text-muted);margin-bottom:var(--space-3);justify-content:center;align-items:center;display:inline-flex}.empty-state .empty-title{color:var(--text-primary);font-weight:500}.empty-state .empty-hint{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.empty-state .btn{margin-top:var(--space-4)}.error-state{padding:var(--space-8) var(--space-6);text-align:center}.error-state .error-title{color:var(--danger);font-weight:500}.error-state .error-hint{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.error-state .btn{margin-top:var(--space-4)}.danger-zone{border:1px solid var(--danger-border);border-radius:var(--radius-lg);overflow:hidden}.danger-zone-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);display:flex}.danger-zone-row+.danger-zone-row{border-top:1px solid var(--danger-border)}.danger-zone-row .dz-title{font-weight:500}.danger-zone-row .dz-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.danger-zone-row .btn{flex-shrink:0;margin-left:auto}.tip{position:relative}.tip:after{content:attr(data-tip);background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text-primary);font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;z-index:var(--z-tooltip);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease);padding:4px 8px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip:hover:after,.tip:focus-visible:after{opacity:1}.info-tip{vertical-align:-2px;margin-left:4px;display:inline-flex}.info-tip-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:1px;display:inline-flex}.info-tip-btn:hover,.info-tip-btn:focus-visible{color:var(--text-primary)}.info-tip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.info-tip-panel{background:var(--surface-3);border:1px solid var(--border-strong);width:max-content;max-width:min(300px,78vw);color:var(--text-primary);font-size:var(--text-xs);letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);box-shadow:var(--shadow-overlay);margin:0;font-weight:400;line-height:1.5;position:fixed;inset:auto}.auth-shell{min-height:100vh;padding:var(--space-8) var(--space-4);background:radial-gradient(ellipse 800px 500px at 50% -10%, #ebecee0d, transparent 70%), var(--canvas);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bg{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(94% 78% at 50% 46%,#000 62%,#0000 100%);mask-image:radial-gradient(94% 78% at 50% 46%,#000 62%,#0000 100%)}.auth-card{z-index:1;text-align:center;width:min(400px,100%);padding:var(--space-10) var(--space-8);position:relative}.auth-card--wide{width:min(460px,100%)}.auth-title--compact{font-size:var(--text-2xl)}.auth-actions--split{grid-template-columns:1fr 1fr}.auth-field{text-align:left}.auth-logo{width:auto;height:48px;margin-bottom:var(--space-6);display:inline-block}.auth-title{font-family:var(--font-ui);font-weight:600;font-size:var(--text-display);letter-spacing:-.02em;line-height:1.15}.auth-sub{color:var(--text-secondary);margin-top:var(--space-3);font-size:var(--text-base)}.auth-actions{margin-top:var(--space-8);gap:var(--space-3);display:grid}.btn-google{gap:var(--space-3);color:#1f2937;border-radius:var(--radius-md);background:#fff;height:44px;font-size:15px;font-weight:500}.btn-google:hover:not(:disabled){background:#f1f5f9}.auth-foot{margin-top:var(--space-8);font-size:var(--text-sm);color:var(--text-muted);position:relative}.auth-foot a{color:var(--text-secondary)}.consent-panel{text-align:left;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-6)}.consent-scope{gap:var(--space-3);padding:var(--space-3) 0;display:flex}.consent-scope+.consent-scope{border-top:1px solid var(--border-subtle)}.consent-scope .scope-icon{color:var(--text-muted);flex-shrink:0;margin-top:2px}.consent-scope .scope-name{font-weight:500;font-size:var(--text-base)}.consent-scope .scope-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.consent-scope .scope-id{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.auth-glyph{border-radius:var(--radius-full);width:56px;height:56px;margin-bottom:var(--space-5);justify-content:center;align-items:center;display:inline-flex}.auth-glyph .icon{font-size:28px}.auth-glyph--ok{background:var(--ok-bg);border:1px solid var(--ok-border);color:var(--ok)}.auth-glyph--danger{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.auth-glyph--warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--danger)}.text-warn{color:var(--warn)}.text-ok{color:var(--ok)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.emph{color:var(--text-primary);font-weight:500}.flex{align-items:center;gap:var(--space-2);display:flex}.flex-wrap{flex-wrap:wrap}.grow{flex:1}.gap-4{gap:var(--space-4)}.stack-2>*+*{margin-top:var(--space-2)}.stack-4>*+*{margin-top:var(--space-4)}.ml-2{margin-left:var(--space-2)}.mt-2{margin-top:var(--space-2)}.mb-2{margin-bottom:var(--space-2)}.section-title--sm{font-size:var(--text-md)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-0{margin-top:0}.measure{max-width:60ch}.toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.w-sm{width:140px}.w-md{width:180px}.w-lg{width:260px}.w-xl{width:320px}.w-full{width:100%}.card-grid--stats{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.menu-heading--plain{text-transform:none;letter-spacing:0}.backlink--flush{margin-bottom:0}.app-shell{grid-template-columns:320px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface-1);border-right:1px solid var(--border-subtle);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-logo{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-3);font-weight:600;display:flex}.sidebar-logo .logo-mark{height:24px}.side-ws{padding:0 var(--space-3) var(--space-3)}.side-ws-trigger{align-items:center;gap:var(--space-2);background:var(--canvas);width:100%;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font:inherit;cursor:pointer;text-align:left;padding:8px 10px;font-weight:500;display:flex}.side-ws-trigger:hover{border-color:var(--border-strong)}.side-ws-trigger .ws-body{min-width:0;line-height:1.25}.side-ws-trigger .ws-kicker{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.side-ws-trigger .ws-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.side-ws-trigger .ws-slug{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.side-ws-trigger .caret{color:var(--text-muted);flex-shrink:0;margin-left:auto}.menu-item .ws-slug{font-family:var(--font-mono);color:var(--text-muted);font-size:11px;display:block}.sidebar-scroll{padding:0 var(--space-3) var(--space-3);flex:1;overflow-y:auto}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.side-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);padding:8px 10px;font-weight:450;text-decoration:none;display:flex}.side-item:hover{background:var(--surface-2);color:var(--text-primary)}.side-item.is-active{background:var(--accent-subtle);color:var(--accent);font-weight:500}.side-item .icon{font-size:20px}.side-tree>summary{list-style:none}.side-tree>summary::-webkit-details-marker{display:none}.side-tree>summary .tree-caret{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease);margin-left:auto}.side-tree[open]>summary .tree-caret{transform:rotate(180deg)}.side-subnav{margin:2px 0 var(--space-1);flex-direction:column;gap:1px;display:flex}.side-subitem{border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);padding:7px 10px 7px 42px;text-decoration:none;display:block}.side-subitem:hover{background:var(--surface-2);color:var(--text-primary)}.side-subitem.is-active{color:var(--accent);background:var(--accent-subtle)}.side-subitem--more{color:var(--text-muted);font-style:italic}.side-group{margin-top:var(--space-4)}.side-group-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-2);padding:0 10px}.sidebar-foot{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border-subtle)}.side-account{position:relative}.side-account-trigger{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);font:inherit;background:0 0;border:0;padding:8px;display:flex}.side-account-trigger:hover{background:var(--surface-2)}.side-account-trigger .who{min-width:0}.side-account-trigger .who .nm{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.side-account-trigger .who .em{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.side-account-trigger .caret{color:var(--text-muted);margin-left:auto}.sidebar-foot .menu{min-width:0;inset:auto 0 calc(100% + 6px)}.content{min-width:0}.content-body{max-width:1080px;padding:var(--space-8)}.content-body--narrow{max-width:680px}.cell-check{width:40px}.bulk-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);display:none}.bulk-bar.is-active{display:flex}.bulk-bar .bulk-count{font-weight:500}.bulk-bar .spacer{flex:1}.access-summary{flex-direction:column;gap:2px;display:flex}.access-summary .app-line{font-size:var(--text-sm)}.access-summary .app-line .role{color:var(--text-muted)}.row-actions{gap:var(--space-2);justify-content:flex-end;align-items:center;display:flex}.table .cell-actions .btn{visibility:visible}dialog.drawer{border:0;border-left:1px solid var(--border-default);background:var(--surface-1);width:min(480px,100vw);height:100vh;max-height:100vh;box-shadow:var(--shadow-modal);color:var(--text-primary);border-radius:0;margin:0;padding:0;inset:0 0 auto auto}dialog.drawer::backdrop{background:#04081280}dialog.drawer[open]{animation:drawer-in var(--duration) var(--ease)}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-inner{flex-direction:column;height:100vh;display:flex}.drawer-head{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.drawer-head .avatar{flex-shrink:0}.drawer-head h2{font-size:var(--text-md);font-weight:600}.drawer-head .sub{font-size:var(--text-sm);color:var(--text-muted)}.drawer-head .modal-close{margin-left:auto}.drawer-body{padding:var(--space-5);flex:1;overflow-y:auto}.drawer-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);display:flex}.acc-list{flex-direction:column;display:flex}.acc-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);display:flex}.acc-row .acc-info{flex:1;min-width:0}.acc-row .acc-name{font-weight:500;font-size:var(--text-sm)}.acc-row .acc-sub{font-size:var(--text-xs);color:var(--text-muted)}.acc-add{margin-top:var(--space-4);padding:var(--space-4);border:1px dashed var(--border-default);border-radius:var(--radius-md)}.acc-add .acc-add-label{font-size:var(--text-sm);margin-bottom:var(--space-3);font-weight:500}.acc-add .acc-add-row{gap:var(--space-2);align-items:center;display:flex}a.acc-row{color:inherit;padding-inline:var(--space-3);border-radius:var(--radius-md);text-decoration:none}a.acc-row:hover{background:var(--surface-2)}.acc-list--picker{text-align:left;max-width:420px;margin-inline:auto}.acc-list--picker .acc-row:last-child{border-bottom:0}.form-section+.form-section{margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.form-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .field--full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--border-subtle);display:flex}.form-actions .spacer{flex:1}.share-link{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--canvas);align-items:stretch;gap:0;display:flex;overflow:hidden}.share-link input{min-width:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);padding:0 var(--space-3);background:0 0;border:0;flex:1}.share-link input:focus{outline:none}.share-link .btn{border:0;border-left:1px solid var(--border-default);border-radius:0}.share-link .slug{color:var(--text-primary)}.state-panel{text-align:center;max-width:460px;margin:12vh auto 0}.state-panel .state-glyph{border-radius:var(--radius-full);width:56px;height:56px;margin-bottom:var(--space-5);background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.state-panel .state-glyph .icon{font-size:28px}.state-panel h1{font-size:var(--text-lg);margin-bottom:var(--space-2)}.state-panel p{color:var(--text-secondary);margin-bottom:var(--space-5)}.state-panel .state-actions{gap:var(--space-2);justify-content:center;display:flex}.callout{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);display:flex}.callout .callout-icon{color:var(--text-muted);flex-shrink:0;margin-top:1px}.callout .callout-body{flex:1;min-width:0}.callout .callout-title{font-weight:500;font-size:var(--text-sm);margin-bottom:2px}.callout .callout-text{font-size:var(--text-sm);color:var(--text-secondary)}.callout--info{border-color:var(--info-border);background:var(--info-bg)}.callout--info .callout-icon{color:var(--info)}.callout--danger{border-color:var(--danger-border);background:var(--danger-bg)}.callout--danger .callout-icon{color:var(--danger)}.callout--warn{border-color:var(--warn-border);background:var(--warn-bg)}.callout--warn .callout-icon{color:var(--warn)}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.segmented{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--canvas);display:inline-flex;overflow:hidden}.segmented label{position:relative}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented span{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;border-right:1px solid var(--border-default);padding:7px 14px;display:block}.segmented label:last-child span{border-right:0}.segmented input:checked+span{background:var(--accent-subtle);color:var(--accent);font-weight:500}.mobile-topbar,.sidebar-backdrop{display:none}@media (width<=768px){.app-shell{grid-template-columns:1fr}.mobile-topbar{align-items:center;gap:var(--space-3);z-index:var(--z-sticky);padding:var(--space-3) var(--space-4);background:var(--surface-1);border-bottom:1px solid var(--border-subtle);display:flex;position:sticky;top:0}.mobile-topbar-logo{height:20px}.sidebar-backdrop{z-index:var(--z-overlay);background:#04081280;display:block;position:fixed;inset:0}.sidebar{width:248px;max-width:85vw;transition:transform var(--duration) var(--ease);z-index:var(--z-modal);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.content-body{padding:var(--space-4)}.table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}dialog.drawer{width:100vw}.form-grid{grid-template-columns:1fr}.page-header{flex-wrap:wrap}.page-header .page-actions{margin-left:0}}.segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.side-ws-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-2);padding:0 10px}.side-ws-trigger .ws-name{flex:1;min-width:0}.ws-menu-item{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.ws-menu-item .ws-menu-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ws-menu-item .ws-menu-slug{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:11px}.form-grid .field+.field{margin-top:0}.combo{display:block;position:relative}.combo-input{padding-right:var(--space-8)}.combo-caret{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.combo-panel{padding:var(--space-1);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);max-height:280px;box-shadow:var(--shadow-lg);margin:0;position:fixed;inset:auto;overflow-y:auto}.combo-option{justify-content:space-between;align-items:baseline;gap:var(--space-4);width:100%;padding:6px var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.combo-option.is-active{background:var(--surface-3)}.combo-option[aria-selected=true] .combo-option-label{font-weight:600}.combo-option.is-disabled{color:var(--text-disabled);cursor:not-allowed}.combo-option.is-separated{margin-bottom:var(--space-1);border-bottom:1px solid var(--border-default);padding-bottom:var(--space-2)}.combo-option.is-create{margin-top:var(--space-1);border-top:1px solid var(--border-default);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding-top:var(--space-2);align-items:flex-start}.combo-option.is-create .combo-option-label{white-space:normal;text-overflow:clip;overflow:visible}.combo-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.combo-option-note{font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0}.combo-empty{padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.app-shell{grid-template-columns:240px 1fr}.app-main{min-width:0}html,body{overflow-x:clip}.table-scroll{overscroll-behavior-x:contain;overflow-x:auto}.table-scroll .table{display:table;overflow-x:visible}@media (width<=768px){.table-scroll .table th:first-child,.table-scroll .table td:first-child{z-index:1;background:var(--canvas);text-overflow:ellipsis;white-space:nowrap;max-width:45vw;position:sticky;left:0;overflow:hidden}.table-scroll .table thead th:first-child{background:var(--surface-1)}}.num,.money{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.money{white-space:nowrap}.money--lg{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:500}.money--muted{color:var(--text-muted)}.money--credit{color:var(--ok)}.money--absent{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);border:1px dashed var(--border-default);border-radius:var(--radius-sm);padding:0 var(--space-2);white-space:nowrap}.cert{border-radius:var(--radius-full);background:var(--surface-3);height:6px;display:flex;overflow:hidden}.cert--lg{height:10px}.cert>span{height:100%;display:block}.cert .is-certain{background:var(--ok)}.cert .is-growing{background:var(--accent)}.cert .is-waiting{background:var(--info)}.cert .is-blocked{background:var(--warn)}.cert-legend{gap:var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.cert-legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.swatch{border-radius:2px;flex:none;width:10px;height:10px}.swatch.is-certain{background:var(--ok)}.swatch.is-growing{background:var(--accent)}.swatch.is-waiting{background:var(--info)}.swatch.is-blocked{background:var(--warn)}.cert .is-waiting,.swatch.is-waiting{background-image:repeating-linear-gradient(-45deg,#ffffff47 0 2px,#0000 2px 4px)}.panel{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.panel-head{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.panel-head h2{font-size:var(--text-md);font-weight:600}.panel-head .spacer{margin-left:auto}.panel-body{padding:var(--space-5)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px}.issue{gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);grid-template-columns:3px minmax(0,1fr) auto;align-items:start;display:grid}.issue:first-child{border-top:0}.issue-flag{border-radius:var(--radius-full);align-self:stretch}.issue-flag.is-blocking{background:var(--warn)}.issue-flag.is-warning{background:var(--info)}.issue-flag.is-certain{background:var(--ok);opacity:.45}.issue-flag.is-growing{background:var(--accent);opacity:.45}.issue-flag.is-waiting{background:var(--info);opacity:.45}.issue-flag.is-blocked{background:var(--warn)}.issue-title{font-weight:500}.issue-detail{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.issue-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.issue-right{text-align:right;gap:var(--space-2);flex-direction:column;align-items:flex-end;display:flex}.sendbar{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default);background:var(--surface-1);display:flex}.kv{gap:var(--space-3);flex-direction:column;display:flex}.kv-item{gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:132px minmax(0,1fr);align-items:baseline;display:grid}.kv-k{color:var(--text-muted);font-size:var(--text-xs)}.kv-v{overflow-wrap:anywhere;min-width:0}.hazard{background:repeating-linear-gradient(135deg, var(--danger-strong) 0 8px, transparent 8px 16px);height:3px}.page{padding:var(--space-6) var(--space-6) var(--space-16)}.page-head{margin-bottom:var(--space-6)}.page-head h1{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:600}.page-head .lede{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-2);max-width:68ch}.stack{gap:var(--space-5);flex-direction:column;display:flex}.inline{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.nav-group{margin-bottom:var(--space-5)}.nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 var(--space-2) var(--space-2);align-items:center;gap:var(--space-2);font-size:11px;display:flex}.nav-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-1);color:var(--text-primary)}.nav-item.router-link-active,.nav-item.is-current{background:var(--accent-subtle);color:var(--text-primary);font-weight:500}.nav-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-left:auto}.nav-toggle{cursor:pointer;text-align:left;font:inherit;font-size:var(--text-sm);background:0 0;border:0}.nav-item.nav-toggle.is-current{color:var(--text-primary);background:0 0}.nav-toggle[aria-expanded=true]{color:var(--text-primary)}.nav-toggle .chev{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease);margin-left:auto;line-height:1}.nav-toggle[aria-expanded=true] .chev{transform:rotate(90deg)}.nav-sub{margin:var(--space-1) 0 var(--space-2) var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--border-subtle);flex-direction:column;gap:1px;display:flex}.nav-group--danger{border-top:1px solid var(--border-subtle);margin-top:var(--space-6);padding-top:var(--space-5)}.nav-group--danger .nav-group-label{color:var(--danger)}.nav-group--danger .nav-item.router-link-active{background:var(--danger-bg);box-shadow:inset 2px 0 0 var(--danger)}.buildstamp{padding:var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);line-height:1.6}@media (width<=880px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:auto;width:auto;max-width:none;height:auto;position:static;transform:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;top:0;left:0;overflow:hidden}.btn:disabled,.btn[aria-disabled=true]{opacity:1;color:var(--text-secondary);background:var(--canvas);border-color:var(--border-subtle)}.btn-primary:disabled,.btn-danger:disabled{color:var(--text-secondary);background:var(--surface-3);border-color:var(--border-subtle)}.app-shell--bar{min-height:100vh;display:block}.topbar{z-index:var(--z-sticky,1100);align-items:center;gap:var(--space-6);height:52px;padding:0 var(--space-6);background:var(--surface-1);border-bottom:1px solid var(--border-default);display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:-.03em;color:var(--text-primary);font-weight:600;text-decoration:none}.wordmark-dot{color:var(--accent)}.wordmark:hover .wordmark-dot{color:var(--accent-hover)}.topbar-nav{align-items:center;gap:var(--space-1);min-width:0;display:flex}.topbar-link{height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;align-items:center;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.topbar-link:hover{color:var(--text-primary);background:var(--surface-2)}.topbar-link.is-current{color:var(--text-primary);background:var(--surface-3);font-weight:500}.topbar-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topbar-btn{cursor:pointer;font:inherit;background:0 0;border:none}.topbar-right{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.bar-menu{position:relative}.bar-popover{min-width:220px;padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg,0 8px 24px #00000059);z-index:var(--z-dropdown,1000);position:absolute;top:calc(100% + 6px);left:0}.bar-popover--right{left:auto;right:0}.bar-popover .menu-item{text-align:left;width:100%;text-decoration:none;display:block}.menu-meta{padding:var(--space-2) var(--space-3)}.menu-meta-sub{color:var(--text-muted);font-size:var(--text-xs)}.menu-row{padding:var(--space-1) var(--space-3) var(--space-2)}.app-main--bar{min-width:0}.stage-rail{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border-default);background:var(--canvas);display:flex;overflow-x:auto}.stage-rail.stage-rail--inline{border-bottom:0;padding:0}@media (width>=769px){.app-main--staged{--topbar-h:52px;--rail-h:52px}.app-main--staged .stage-rail{top:var(--topbar-h);z-index:calc(var(--z-sticky) - 1);height:var(--rail-h);box-sizing:border-box;padding-top:0;padding-bottom:0;position:sticky}.app-main--staged .page-head{top:calc(var(--topbar-h) + var(--rail-h));z-index:calc(var(--z-sticky) - 2);margin-left:calc(var(--space-6) * -1);margin-right:calc(var(--space-6) * -1);padding:var(--space-4) var(--space-6);background:var(--canvas);border-bottom:1px solid var(--border-subtle);position:sticky}.app-main--staged .page{padding-top:0}}dialog .page-head,.app-main--staged dialog .page-head{z-index:1;margin:calc(var(--space-4) * -1) calc(var(--space-6) * -1) var(--space-5);padding:var(--space-4) var(--space-6);background:var(--surface-2);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}.stage-months{flex:none;align-items:center;display:flex}.stage-months>.stage-board+.stage-board{margin-left:-1px}.stage-months>.stage-board:not(:first-child):not(:last-child){border-radius:0}.stage-months>.stage-board:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.stage-months>.stage-board:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.stage-board{font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-1) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);white-space:nowrap;text-decoration:none}.stage-board:hover{color:var(--text-primary);border-color:var(--border-strong)}.stage-board:hover,.stage-board.is-current{z-index:1;position:relative}.stage-board.is-current{color:var(--text-primary);border-color:var(--accent)}.stage-list{align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.stage-seg{align-items:center;gap:var(--space-1);display:flex}.stage-arrow{background:var(--border-strong);width:18px;height:1px;position:relative}.stage-arrow:after{content:"";border-left:5px solid var(--border-strong);border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;position:absolute;top:-3px;right:-1px}.stage-link{align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.stage-link:hover{color:var(--text-primary);background:var(--surface-1)}.stage-link.is-current{color:var(--text-primary);background:var(--surface-3);font-weight:500}.stage-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stage-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);background:var(--accent-subtle);padding:0 var(--space-2);border-radius:999px;line-height:1.6}.stage-hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}@media (width<=768px){.topbar{height:auto;padding:0 var(--space-3);gap:0 var(--space-3);flex-wrap:wrap}.wordmark,.topbar-right{align-items:center;height:48px;display:inline-flex}.topbar-nav{scrollbar-width:none;border-top:1px solid var(--border-subtle);padding:var(--space-1) 0;flex:1 0 100%;order:3;margin-left:0;overflow-x:auto}.topbar-nav::-webkit-scrollbar{display:none}.topbar-right{min-width:0}.user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:38vw;line-height:32px;display:inline-block;overflow:hidden}.stage-rail{padding:var(--space-2) var(--space-3)}.tabs,.section-bar{scrollbar-width:none;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.section-bar::-webkit-scrollbar{display:none}}::highlight(flag-tricky){background-color:var(--flag-tricky-bg);color:inherit}::highlight(flag-hazard){background-color:var(--flag-hazard-bg);color:inherit}:root{--person-graphite:oklch(68% .014 265);--person-coral:oklch(72% .105 25);--person-lime:oklch(72% .105 97);--person-cyan:oklch(72% .105 169);--person-indigo:oklch(72% .105 241);--person-magenta:oklch(72% .105 313);--person-amber:oklch(72% .105 61);--person-teal:oklch(72% .105 133);--person-azure:oklch(72% .105 205);--person-violet:oklch(72% .105 277);--person-rose:oklch(72% .105 349);--person-slate:oklch(72% .042 230);--person-ink:oklch(18% 0 0)}:root[data-theme=light]{--person-graphite:oklch(50% .014 265);--person-coral:oklch(56% .125 25);--person-lime:oklch(56% .125 97);--person-cyan:oklch(56% .125 169);--person-indigo:oklch(56% .125 241);--person-magenta:oklch(56% .125 313);--person-amber:oklch(56% .125 61);--person-teal:oklch(56% .125 133);--person-azure:oklch(56% .125 205);--person-violet:oklch(56% .125 277);--person-rose:oklch(56% .125 349);--person-slate:oklch(56% .05 230);--person-ink:oklch(18% 0 0);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f1f3f5;--surface-1:#fff;--surface-2:#fff;--surface-3:#e4e7eb;--border-subtle:#e4e7ea;--border-default:#d6dae0;--border-strong:#b4bac3;--text-primary:#1f2429;--text-secondary:#4e545e;--text-muted:#61686f;--text-disabled:#8c9299;--text-on-accent:#fff;--text-on-danger:#fff;--accent:#2f6288;--accent-hover:#265475;--accent-active:#1e4661;--accent-subtle:#2f62881a;--ok:#266b4f;--ok-bg:#266b4f17;--ok-border:#266b4f42;--danger:#b0332a;--danger-strong:#8c241c;--danger-bg:#b0332a14;--danger-border:#b0332a4d;--warn:#7a5709;--warn-bg:#7a570917;--warn-border:#7a570942;--flag-tricky:#e0b800;--flag-hazard:#e8750f;--flag-tricky-bg:#ffe766;--flag-hazard-bg:#ffb067;--warn-surface:#fbf0c9;--info:#3f6795;--info-bg:#3f679517;--info-border:#3f679542;--hour-invoiced:#3b6d11;--hour-invoiced-outline:#27500a;--hour-to-invoice:#8dbb4a;--hour-to-invoice-outline:#3b6d11;--hour-fixed:#1d9e75;--hour-fixed-outline:#0f6e56;--hour-deferred:#378add;--hour-deferred-outline:#185fa5;--hour-tbd:#ef9f27;--hour-tbd-outline:#ba7517;--hour-over:#d85a30;--hour-over-outline:#993c1d;--hour-written-off:#a32d2d;--hour-written-off-outline:#791f1f;--hour-capitalized:#7f77dd;--hour-capitalized-outline:#534ab7;--hour-internal:#b4b2a9;--hour-internal-outline:#888780;--hour-tracked:#082134;--money-fees:#0e8c9e;--money-costs:#9c7a5a;--cat-1:#4e79a7;--cat-2:#f28e2b;--cat-3:#59a14f;--cat-4:#b07aa1;--cat-5:#d4b22c;--cat-6:#76b7b2;--cat-7:#e15759;--cat-8:#9c755f;--cat-9:#ff9da7;--cat-10:#7f8fa6;--cat-other:#bab0ac;--cat-shared:#858b93;--hour-billy-opacity:.5;--hour-undecided-stroke:2px;--hour-undecided-tint:12%;--fill-subtle:#edf0f3;--shadow-overlay:0 4px 16px #1018281a, 0 1px 3px #10182814;--shadow-modal:0 16px 48px #1018282e}:root[data-theme=light] .table th,:root[data-theme=light] .matrix th,:root[data-theme=light] .table tbody tr.is-clickable:hover,:root[data-theme=light] .btn-ghost:hover:not(:disabled),:root[data-theme=light] .btn-icon:hover:not(:disabled),:root[data-theme=light] .empty-state .empty-icon{background:var(--fill-subtle)}:root[data-theme=light] .sidebar{background:var(--canvas);border-right-color:var(--border-default)}:root[data-theme=light] .spinner{border-color:#1f24292e;border-top-color:var(--accent)}:root[data-theme=light] dialog.modal::backdrop,:root[data-theme=light] dialog.drawer::backdrop{background:#171e2b61}:root[data-theme=light] .issue-flag.is-certain,:root[data-theme=light] .issue-flag.is-growing,:root[data-theme=light] .issue-flag.is-waiting{opacity:.8}:root[data-theme=light] .cert .is-waiting,:root[data-theme=light] .swatch.is-waiting{background-image:repeating-linear-gradient(-45deg,#00000038 0 2px,#0000 2px 4px)}.mi[data-v-737f9553]{flex:none;display:block}.sync-btn[data-v-7d998c59]{align-items:center;font-size:20px;display:inline-flex}.is-running .sync-icon[data-v-7d998c59]{color:var(--accent);animation:1.6s linear infinite sync-turn-7d998c59}@keyframes sync-turn-7d998c59{to{transform:rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.is-running .sync-icon[data-v-7d998c59]{animation:none}}.sync-pop[data-v-7d998c59]{width:280px;padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.sync-title[data-v-7d998c59]{margin:0;font-weight:600}.sync-sub[data-v-7d998c59],.sync-note[data-v-7d998c59]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.sync-bar[data-v-7d998c59]{border-radius:var(--radius-full);background:var(--surface-3,var(--border-subtle));height:6px;overflow:hidden}.sync-bar span[data-v-7d998c59]{background:var(--accent);height:100%;transition:width 1s linear;display:block}.sync-go[data-v-7d998c59]{align-self:flex-start}.sync-error[data-v-7d998c59]{font-size:var(--text-sm);color:var(--danger);margin:0}.sync-more[data-v-7d998c59]{font-size:var(--text-sm)}.theme-toggle[data-v-1a56d1ab]{margin:0 0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--canvas);gap:2px;padding:2px;display:flex}.theme-opt[data-v-1a56d1ab]{text-align:center;flex:1;position:relative}.theme-opt input[data-v-1a56d1ab]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.theme-opt span[data-v-1a56d1ab]{border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);padding:4px 2px;line-height:1.3;display:block}.theme-opt input:hover+span[data-v-1a56d1ab]{color:var(--text-secondary)}.theme-opt input:checked+span[data-v-1a56d1ab]{background:var(--surface-3);color:var(--text-primary)}.theme-opt input:focus-visible+span[data-v-1a56d1ab]{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.theme-opt span[data-v-1a56d1ab]{transition:none}}.feedback-launch[data-v-097a3edb]{align-items:center;display:inline-flex}.feedback-panel[data-v-097a3edb]{width:min(420px,100vw - 32px);z-index:var(--z-popover);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);color:var(--text-primary);position:fixed;bottom:24px;right:24px}.fb-head[data-v-097a3edb]{justify-content:space-between;align-items:center;padding:12px 12px 4px 16px;display:flex}.fb-head h2[data-v-097a3edb]{font-size:var(--text-md);margin:0;font-weight:600}.fb-body[data-v-097a3edb]{flex-direction:column;gap:10px;padding:8px 16px 16px;display:flex}.fb-text[data-v-097a3edb]{resize:vertical;width:100%;height:auto;min-height:110px;font:inherit;padding:8px 10px}.fb-where[data-v-097a3edb]{gap:8px;display:flex}.fb-where .btn[data-v-097a3edb]{align-items:center;gap:6px;display:inline-flex}.fb-attached[data-v-097a3edb]{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:10px;padding:8px;display:flex}.fb-shot[data-v-097a3edb]{object-fit:cover;object-position:left top;border:1px solid var(--border-default);border-radius:4px;width:72px;max-height:48px}.fb-attached-text[data-v-097a3edb]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;overflow:hidden}.fb-sent[data-v-097a3edb]{color:var(--ok);margin:4px 16px 0}.fb-problem[data-v-097a3edb]{color:var(--danger);margin:0}.fb-foot[data-v-097a3edb]{justify-content:space-between;align-items:center;gap:12px;display:flex}.fb-meta[data-v-097a3edb]{color:var(--text-muted);font-size:var(--text-sm)}.fb-layer[data-v-097a3edb]{z-index:var(--z-toast);background:#00000014;position:fixed;inset:0}.fb-layer--point[data-v-097a3edb]{cursor:pointer}.fb-layer--frame[data-v-097a3edb]{cursor:crosshair}.fb-hint[data-v-097a3edb],.fb-capturing[data-v-097a3edb]{z-index:var(--z-toast);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);color:var(--text-primary);pointer-events:none;margin:0;padding:6px 12px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.fb-outline[data-v-097a3edb]{pointer-events:none;outline:2px solid var(--accent);background:var(--accent-subtle);position:fixed}.fb-outline--frame[data-v-097a3edb]{outline-style:dashed}.waking[data-v-5120a8a1]{z-index:var(--z-toast);pointer-events:none;justify-items:center;display:grid;position:fixed;top:0;left:0;right:0}.waking-bar[data-v-5120a8a1]{background:var(--accent);width:100%;height:3px;position:relative;overflow:hidden}.waking-bar[data-v-5120a8a1]:after{content:"";width:30%;animation:waking-slide-5120a8a1 1.1s var(--ease) infinite;background:linear-gradient(90deg,#0000,#fff9,#0000);position:absolute;inset:0 auto 0 0}@keyframes waking-slide-5120a8a1{0%{transform:translate(-100%)}to{transform:translate(340%)}}.waking-note[data-v-5120a8a1]{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-4);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);animation:toast-in var(--duration) var(--ease)}
