@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;--effort-presales:#e5409f;--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;--effort-presales:#b5206f;--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)}.sync-btn[data-v-4e87078c]{align-items:center;font-size:20px;display:inline-flex}.is-running .sync-icon[data-v-4e87078c]{color:var(--accent);animation:1.6s linear infinite sync-turn-4e87078c}@keyframes sync-turn-4e87078c{to{transform:rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.is-running .sync-icon[data-v-4e87078c]{animation:none}}.sync-pop[data-v-4e87078c]{width:280px;padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.sync-title[data-v-4e87078c]{margin:0;font-weight:600}.sync-sub[data-v-4e87078c],.sync-note[data-v-4e87078c]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.sync-bar[data-v-4e87078c]{border-radius:var(--radius-full);background:var(--surface-3,var(--border-subtle));height:6px;overflow:hidden}.sync-bar span[data-v-4e87078c]{background:var(--accent);height:100%;transition:width 1s linear;display:block}.sync-systems[data-v-4e87078c]{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sync-system[data-v-4e87078c]{flex-direction:column;gap:4px;display:flex}.sync-system-head[data-v-4e87078c],.sync-system-foot[data-v-4e87078c]{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);display:flex}.sync-system-name[data-v-4e87078c]{font-weight:600}.sync-system-status[data-v-4e87078c],.sync-system-foot[data-v-4e87078c]{color:var(--text-secondary)}.sync-system-count[data-v-4e87078c]{font-variant-numeric:tabular-nums}.is-done .sync-bar span[data-v-4e87078c]{background:var(--ok)}.is-failed .sync-bar span[data-v-4e87078c]{background:var(--danger)}.is-failed .sync-system-status[data-v-4e87078c]{color:var(--danger);font-weight:600}.sync-go[data-v-4e87078c]{align-self:flex-start}.sync-error[data-v-4e87078c]{font-size:var(--text-sm);color:var(--danger);margin:0}.sync-more[data-v-4e87078c]{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)}.sheet-drawer[data-v-24ff68fd]{z-index:calc(var(--z-sticky) - 1);background:var(--surface-1);border-right:1px solid var(--border-default);border-top:1px solid var(--border-subtle);max-width:100vw;box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:fixed;bottom:0;left:0}.sheet-drawer-head[data-v-24ff68fd]{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.sheet-drawer-title[data-v-24ff68fd]{min-width:0;font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.sheet-drawer-actions[data-v-24ff68fd]{align-items:center;gap:var(--space-3);flex:none;display:flex}.sheet-drawer-body[data-v-24ff68fd]{padding:0 var(--space-4) var(--space-4);flex:1;overflow:auto}.sheet-drawer-resize[data-v-24ff68fd]{cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;right:-4px}.sheet-drawer-resize[data-v-24ff68fd]:after{content:"";width:2px;transition:background var(--duration-fast) var(--ease);background:0 0;position:absolute;top:0;bottom:0;left:3px}.sheet-drawer-resize[data-v-24ff68fd]:hover:after,.sheet-drawer-resize[data-v-24ff68fd]:focus-visible:after{background:var(--accent)}.sheet-drawer-resize[data-v-24ff68fd]:focus-visible{outline:none}.sheet-drawer--right[data-v-24ff68fd]{border-right:0;border-left:1px solid var(--border-default);left:auto;right:0}.sheet-drawer--right .sheet-drawer-resize[data-v-24ff68fd]{left:-4px;right:auto}.sheet-drawer-left-enter-active[data-v-24ff68fd],.sheet-drawer-left-leave-active[data-v-24ff68fd],.sheet-drawer-right-enter-active[data-v-24ff68fd],.sheet-drawer-right-leave-active[data-v-24ff68fd]{transition:transform var(--duration-fast) var(--ease)}.sheet-drawer-left-enter-from[data-v-24ff68fd],.sheet-drawer-left-leave-to[data-v-24ff68fd]{transform:translate(-100%)}.sheet-drawer-right-enter-from[data-v-24ff68fd],.sheet-drawer-right-leave-to[data-v-24ff68fd]{transform:translate(100%)}@media (prefers-reduced-motion:reduce){.sheet-drawer-left-enter-active[data-v-24ff68fd],.sheet-drawer-left-leave-active[data-v-24ff68fd],.sheet-drawer-right-enter-active[data-v-24ff68fd],.sheet-drawer-right-leave-active[data-v-24ff68fd]{transition:none}}.chart-tip[data-v-49dde795]{background:var(--surface-1);border:1px solid var(--border-strong,var(--border-subtle));border-radius:var(--radius-lg);padding:var(--space-3);pointer-events:none;width:max-content;min-width:150px;max-width:min(32rem,90vw);font-size:var(--text-xs);line-height:var(--leading-body);white-space:normal;box-shadow:0 8px 24px #00000059}.chart-tip__head[data-v-49dde795]{margin:0 0 var(--space-2);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.chart-tip__row[data-v-49dde795]{align-items:center;gap:var(--space-2);color:var(--text-secondary);margin:0;line-height:1.7;display:flex}.chart-tip__label[data-v-49dde795]{white-space:nowrap;margin-right:auto}.chart-tip__value[data-v-49dde795]{font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap}.chart-tip__swatch[data-v-49dde795]{border-radius:2px;flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0000002e}.chart-tip__swatch.is-line[data-v-49dde795]{width:12px;height:2px;box-shadow:none;border-radius:1px}.chart-tip__total[data-v-49dde795]{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);font-weight:600}.chart-tip__empty[data-v-49dde795]{color:var(--text-secondary)}.chart-tip__notes[data-v-49dde795]{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle)}.chart-tip__note[data-v-49dde795]{color:var(--text-muted);line-height:1.6}.chart-tip__note .chart-tip__value[data-v-49dde795]{color:var(--text-secondary);font-weight:500}.spark-wrap[data-v-29496bcf]{--spark-rest:.5;flex-direction:column;gap:2px;width:100%;display:flex}.spark-wrap[data-v-29496bcf]:hover,.spark-wrap.is-active[data-v-29496bcf]{--spark-rest:1}.plot[data-v-29496bcf]{width:100%;position:relative}.spark[data-v-29496bcf],.est[data-v-29496bcf],.est-in[data-v-29496bcf],.price[data-v-29496bcf],.month[data-v-29496bcf],.mark[data-v-29496bcf]{opacity:var(--spark-rest);transition:opacity var(--duration-fast) var(--ease)}.spark[data-v-29496bcf]{width:100%;height:100%;display:block;overflow:visible}.month-tick[data-v-29496bcf]{stroke-width:1px;stroke-dasharray:2 2;opacity:.4}.hit rect[data-v-29496bcf]{pointer-events:all;cursor:crosshair}.cursor-line[data-v-29496bcf]{background:var(--text-secondary);opacity:.55;pointer-events:none;width:1px;position:absolute;top:0;transform:translate(-50%)}.cursor-dot[data-v-29496bcf]{border:1.5px solid var(--surface-1);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%)}.lbl[data-v-29496bcf]{font-family:var(--font-mono);pointer-events:none;white-space:nowrap;line-height:1;position:absolute}.est[data-v-29496bcf],.est-in[data-v-29496bcf]{height:11px;font-size:9px;line-height:11px;left:10px}.est[data-v-29496bcf]{color:var(--text-secondary);font-weight:700}.est-in[data-v-29496bcf]{color:var(--text-muted)}.price[data-v-29496bcf]{height:11px;color:var(--accent);pointer-events:auto;font-size:9px;line-height:11px;left:10px}.month[data-v-29496bcf]{height:11px;color:var(--text-secondary);pointer-events:auto;font-size:9px;line-height:11px;transform:translate(calc(-100% - 3px))}.month.is-flipped[data-v-29496bcf]{transform:translate(3px)}.total[data-v-29496bcf]{height:14px;text-shadow:0 0 3px var(--surface-1), 0 0 3px var(--surface-1);align-items:baseline;gap:6px;font-size:11px;font-weight:700;line-height:14px;display:flex;right:6.25%}.badge[data-v-29496bcf]{font-size:9px;font-style:normal;font-weight:600}.mark[data-v-29496bcf]{pointer-events:none;height:8px;font-size:7px;line-height:8px;position:absolute;transform:translate(-50%)}.figures[data-v-29496bcf]{justify-content:space-between;align-items:baseline;gap:var(--space-2);color:var(--text-muted);padding:0 2px;font-size:10px;line-height:14px;display:flex}.so-far[data-v-29496bcf]{gap:0 var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.fig[data-v-29496bcf]{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.swatch[data-v-29496bcf]{box-sizing:border-box;border-radius:2px;flex-shrink:0;align-self:center;width:7px;height:7px}.is-undecided[data-v-29496bcf]{stroke-width:calc(var(--hour-undecided-stroke) / 2);stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.fig-value[data-v-29496bcf]{font-family:var(--font-mono);color:var(--text-secondary);font-weight:600}.to-invoice[data-v-29496bcf]{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:4px;display:inline-flex}.to-invoice .fig-value[data-v-29496bcf]{color:var(--text-primary);font-size:11px;font-weight:700}.to-invoice.is-empty .fig-value[data-v-29496bcf]{color:var(--text-muted);font-weight:600}.fig-money[data-v-29496bcf]{font-size:11px;font-weight:700}.spark-tip[data-v-29496bcf]{z-index:var(--z-tooltip);position:fixed;transform:translate(-50%,-100%)}.spark-tip.is-pinned[data-v-29496bcf]{pointer-events:auto;-webkit-user-select:text;user-select:text;box-shadow:0 0 0 2px var(--accent), 0 8px 24px #00000059}.cols[data-v-e954a4fc]{--cols-plot:120px;--cols-month-pad:var(--space-1);--cols-pair-gap:2px;--cols-pair-max:40px;align-items:stretch;display:flex;container-type:inline-size}.is-micro[data-v-e954a4fc]{--cols-plot:36px;--cols-month-pad:1px;--cols-pair-gap:1px;--cols-pair-max:none}.month[data-v-e954a4fc]{align-items:center;gap:var(--space-1);min-width:0;padding:0 var(--cols-month-pad);flex-direction:column;flex:1 1 0;display:flex}.pair[data-v-e954a4fc]{align-items:flex-end;gap:var(--cols-pair-gap);width:100%;max-width:var(--cols-pair-max);height:var(--cols-plot);border-bottom:1px solid var(--border-strong);display:flex}.bar[data-v-e954a4fc]{flex-direction:column-reverse;min-width:0;height:100%;display:flex}.bar-thick[data-v-e954a4fc]{flex:3 1 0}.bar-thin[data-v-e954a4fc]{flex:1 1 0}.part[data-v-e954a4fc]{box-sizing:border-box;flex:none;width:100%;display:block}.bar>.part[data-v-e954a4fc]:last-child{border-radius:2px 2px 0 0}.x-label[data-v-e954a4fc]{max-width:100%;color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;flex-direction:column;align-items:center;line-height:1.2;display:flex}.x-year[data-v-e954a4fc]{color:var(--text-muted);opacity:.8}@container (width<=32rem){.month[data-v-e954a4fc]{--cols-month-pad:1px}}.months-tip{z-index:var(--z-tooltip);gap:var(--space-1);pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%,-100%)}div.months-tip{width:max-content}div.months-tip>.chart-tip{width:auto}.months-tip.is-below{transform:translate(-50%)}.pairs[data-v-98a107aa]{gap:var(--space-3);flex-direction:column;display:flex}.legend[data-v-98a107aa]{gap:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.legend li[data-v-98a107aa]{align-items:center;gap:var(--space-2);display:flex}.swatch[data-v-98a107aa]{border-radius:2px;width:10px;height:10px}.swatch.is-line[data-v-98a107aa]{height:3px}.rows[data-v-98a107aa]{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pairs[data-v-98a107aa]{container-type:inline-size}.row[data-v-98a107aa]{align-items:center;column-gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:minmax(5rem,9rem) 1fr 4.5rem 4.5rem;grid-template-areas:"label bars a-num b-num";display:grid}.row.has-c[data-v-98a107aa]{grid-template-columns:minmax(5rem,9rem) 1fr 4.5rem 4.5rem 4.5rem;grid-template-areas:"label bars a-num b-num c-num"}.label[data-v-98a107aa]{grid-area:label}.num-a[data-v-98a107aa]{grid-area:a-num}.num-b[data-v-98a107aa]{grid-area:b-num}.num-c[data-v-98a107aa]{grid-area:c-num}.stack[data-v-98a107aa]{grid-area:bars}@container (width<=30rem){.row[data-v-98a107aa]{row-gap:var(--space-1);grid-template-columns:1fr 4.5rem 4.5rem;grid-template-areas:"label a-num b-num""bars bars bars"}.row.has-c[data-v-98a107aa]{grid-template-columns:1fr 4.5rem 4.5rem 4.5rem;grid-template-areas:"label a-num b-num c-num""bars bars bars bars"}}.label[data-v-98a107aa]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.num[data-v-98a107aa]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.num-b[data-v-98a107aa]{color:var(--text-secondary)}.track[data-v-98a107aa]{height:12px;display:flex}.stack[data-v-98a107aa]{flex-direction:column;justify-content:center;gap:2px;height:14px}.bar[data-v-98a107aa]{border-radius:2px;height:100%;display:block}.stack .bar[data-v-98a107aa]{height:9px}.row.has-c .stack[data-v-98a107aa]{height:19px}.line[data-v-98a107aa]{border-radius:2px;height:3px;display:block}.chart[data-v-0ee0e820]{margin:0}.legend[data-v-0ee0e820]{align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;display:flex}.key[data-v-0ee0e820]{align-items:center;gap:var(--space-2);display:inline-flex}.swatch[data-v-0ee0e820]{border-radius:2px;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0000002e}.caption[data-v-0ee0e820]{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto}.bars[data-v-0ee0e820]{position:relative}.plot[data-v-0ee0e820]{display:block}.grid[data-v-0ee0e820]{stroke:var(--border-subtle);opacity:.5}.base[data-v-0ee0e820]{stroke:var(--border-subtle)}.seg[data-v-0ee0e820]{shape-rendering:crispedges}.seg.is-undecided[data-v-0ee0e820]{stroke-width:var(--hour-undecided-stroke);stroke-dasharray:3 2;vector-effect:non-scaling-stroke;shape-rendering:auto}.line[data-v-0ee0e820]{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.dot[data-v-0ee0e820]{stroke:var(--surface-1);stroke-width:1px}.line-tick[data-v-0ee0e820]{font-size:var(--text-xs);font-variant-numeric:tabular-nums;opacity:.85}.swatch-line[data-v-0ee0e820]{border-radius:1px;width:12px;height:2px}.axis[data-v-0ee0e820]{height:1.4em;margin-top:var(--space-2);position:relative}.tick[data-v-0ee0e820]{color:var(--text-secondary);text-align:center;white-space:nowrap;font-size:11px;position:absolute;overflow:hidden;transform:translate(-50%)}.tick.hidden[data-v-0ee0e820]{visibility:hidden}.tick.is-active[data-v-0ee0e820]{color:var(--text-primary)}.hit[data-v-0ee0e820]{fill:#0000;cursor:default}.col.is-muted .seg[data-v-0ee0e820]{opacity:.5}.mark[data-v-0ee0e820]{shape-rendering:crispedges;pointer-events:none}.col.is-active .seg[data-v-0ee0e820]{filter:brightness(1.18)}.hit[data-v-0ee0e820]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.empty[data-v-0ee0e820]{padding:var(--space-6) 0;color:var(--text-secondary);font-size:var(--text-sm);margin:0}.stacked-tip{z-index:var(--z-tooltip);pointer-events:none;position:fixed}.time-item[data-v-b8102408]{--time-item-cols:minmax(0, 1fr);align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.time-item__lead[data-v-b8102408],.time-item__actions[data-v-b8102408]{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.time-item__actions[data-v-b8102408]{margin-left:auto}.time-item__when[data-v-b8102408]{white-space:nowrap;flex-direction:column;flex:none;min-width:10.5ch;display:flex}.time-item__day[data-v-b8102408]{font-size:var(--text-sm);color:var(--text-primary)}.time-item__sub[data-v-b8102408]{gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);display:flex}.time-item__body[data-v-b8102408]{grid-template-columns:var(--time-item-cols);column-gap:var(--space-3);flex:auto;align-items:baseline;min-width:0;display:grid}.time-item__head[data-v-b8102408]{grid-column:1}.time-item__note[data-v-b8102408]{grid-column:-2/-1}.time-item__under[data-v-b8102408]{grid-column:1/-1}.time-item__head[data-v-b8102408]{align-items:baseline;gap:var(--space-2);white-space:nowrap;min-width:0;display:flex}.time-item__head[data-v-b8102408]>*{flex:none}.time-item__who[data-v-b8102408]{color:var(--text-primary)}.time-item__head>.time-item__task[data-v-b8102408]{flex:0 auto;min-width:0}.time-item__task[data-v-b8102408]{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);overflow:hidden}.time-item__task[data-v-b8102408]:first-child{color:var(--text-primary)}a.time-item__task[data-v-b8102408]:hover{color:var(--accent-hover)}.time-item__task[data-v-b8102408]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.time-item__note[data-v-b8102408]{align-items:flex-start;gap:var(--space-1);color:var(--text-secondary);font-size:var(--text-sm);display:flex}.time-item__note-text[data-v-b8102408]{-webkit-line-clamp:1;white-space:pre-line;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.time-item__note.is-open .time-item__note-text[data-v-b8102408]{-webkit-line-clamp:unset;display:block}.time-item__note-toggle[data-v-b8102408]{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.time-item__note-toggle[data-v-b8102408]:hover,.time-item__note-toggle[data-v-b8102408]:focus-visible{background:var(--surface-2);color:var(--text-primary)}.time-item__note-toggle[data-v-b8102408]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.time-item__note.is-open .time-item__note-toggle[data-v-b8102408] svg{transform:rotate(180deg)}.time-item__duration[data-v-b8102408]{white-space:nowrap;color:var(--text-primary);flex:none}dialog.correct-duration[data-v-a1f89db9]{width:min(560px,100vw - 32px)}.entry[data-v-a1f89db9]{margin:0 0 var(--space-5);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.how[data-v-a1f89db9]{align-items:center;gap:var(--space-3);display:flex}.amount[data-v-a1f89db9]{align-items:center;gap:var(--space-2);display:inline-flex}.amount .input[data-v-a1f89db9]{text-align:right;width:5rem}.unit[data-v-a1f89db9]{color:var(--text-secondary);font-size:var(--text-sm)}.field-hint[data-v-a1f89db9]{margin:var(--space-2) 0 var(--space-4)}.swap[data-v-a1f89db9]{gap:var(--space-4);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);grid-template-columns:auto auto;display:grid}.swap dt[data-v-a1f89db9]{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.swap dd[data-v-a1f89db9]{color:var(--text-primary);margin:2px 0 0}.stale[data-v-a1f89db9]{opacity:.55;transition:opacity var(--duration-fast) var(--ease)}.callout[data-v-a1f89db9]{margin:0 0 var(--space-3)}.kpi[data-v-a6cf32cb]{text-align:center;min-width:0}.kpi-label[data-v-a6cf32cb]{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.kpi-label[data-v-a6cf32cb] .info-tip{margin-left:var(--space-1)}.kpi-value[data-v-a6cf32cb]{margin-top:var(--space-1);font-size:var(--text-xl);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:600}.kpi-value.is-warn[data-v-a6cf32cb]{color:var(--warn)}.kpi-value.is-ok[data-v-a6cf32cb]{color:var(--ok)}.kpi-value.is-danger[data-v-a6cf32cb]{color:var(--danger)}.kpi-value.is-info[data-v-a6cf32cb]{color:var(--info)}.kpi-value.is-accent[data-v-a6cf32cb]{color:var(--accent)}.kpi-value.is-tbd[data-v-a6cf32cb]{color:var(--hour-tbd-outline)}.kpi-link[data-v-a6cf32cb]{color:inherit;text-decoration:none}.kpi-link[data-v-a6cf32cb]:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.kpi-unit[data-v-a6cf32cb]{margin-left:var(--space-1);color:var(--text-muted);font-size:var(--text-md);font-weight:400}.kpi-note[data-v-a6cf32cb],.kpi-delta[data-v-a6cf32cb]{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--text-xs)}.kpi-delta.is-better[data-v-a6cf32cb]{color:var(--ok)}.kpi-delta.is-worse[data-v-a6cf32cb]{color:var(--danger)}.kpi-chart[data-v-a6cf32cb]{margin-top:var(--space-2)}.kpi-sub[data-v-a6cf32cb]{justify-content:center;gap:var(--space-4);margin:var(--space-2) 0 0;font-size:var(--text-xs);display:flex}.kpi-sub-item[data-v-a6cf32cb]{gap:var(--space-1);display:flex}.kpi-sub dt[data-v-a6cf32cb]{color:var(--text-muted)}.kpi-sub dd[data-v-a6cf32cb]{color:var(--text-secondary);margin:0}.kpi-row[data-v-01c9bed6]{gap:var(--space-5) var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.name-suggestions[data-v-fcc34be2]{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.candidates[data-v-fcc34be2]{margin:0;padding:0;list-style:none;display:contents}.candidate[data-v-fcc34be2]{max-width:100%;padding:2px var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease)}.candidate[data-v-fcc34be2]:hover{border-color:var(--accent);background:var(--accent-subtle)}.candidate[data-v-fcc34be2]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.note[data-v-fcc34be2]{font-size:var(--text-sm);color:var(--text-secondary);flex-basis:100%;margin:0}dialog.rename-task[data-v-acb0d251]{width:min(560px,100vw - 32px)}.field[data-v-acb0d251]{gap:var(--space-1);flex-direction:column;display:flex}.name-input[data-v-acb0d251]{width:100%}.field-hint[data-v-acb0d251]{margin:var(--space-2) 0 var(--space-3)}.suggestions[data-v-acb0d251]{margin:0 0 var(--space-4)}.swap[data-v-acb0d251]{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);display:grid}.swap dt[data-v-acb0d251]{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.swap dd[data-v-acb0d251]{color:var(--text-primary);overflow-wrap:anywhere;margin:2px 0 0}.stale[data-v-acb0d251]{opacity:.55;transition:opacity var(--duration-fast) var(--ease)}.callout[data-v-acb0d251]{margin:0 0 var(--space-3)}dialog.estimate-task[data-v-c3137583]{width:min(440px,100vw - 32px)}.who[data-v-c3137583]{gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.who-client[data-v-c3137583]{color:var(--text-secondary);font-weight:500}.who-task[data-v-c3137583]{color:var(--text-primary);overflow-wrap:anywhere;font-weight:600}.field[data-v-c3137583]{gap:var(--space-1);flex-direction:column;display:flex}.hours-input[data-v-c3137583]{font-variant-numeric:tabular-nums;width:10rem}.field-hint[data-v-c3137583]{margin:var(--space-2) 0 var(--space-4)}.swap[data-v-c3137583]{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);grid-template-columns:1fr 1fr;display:grid}.swap dt[data-v-c3137583]{font-size:var(--text-xs);color:var(--text-muted)}.swap dd[data-v-c3137583]{color:var(--text-primary);font-variant-numeric:tabular-nums;margin:2px 0 0}.stale[data-v-c3137583]{opacity:.55;transition:opacity var(--duration-fast) var(--ease)}.callout[data-v-c3137583]{margin:0 0 var(--space-3)}dialog.split-entry[data-v-af9e2c7b]{width:min(640px,100vw - 32px)}.entry[data-v-af9e2c7b]{margin:0 0 var(--space-5);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.how[data-v-af9e2c7b]{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.amount[data-v-af9e2c7b]{align-items:center;gap:var(--space-2);display:inline-flex}.amount .input[data-v-af9e2c7b]{text-align:right;width:5.5rem}.unit[data-v-af9e2c7b]{color:var(--text-secondary);font-size:var(--text-sm)}.strip[data-v-af9e2c7b]{height:40px;margin-bottom:var(--space-4);gap:2px;display:flex}.block[data-v-af9e2c7b]{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:0;display:flex;overflow:hidden}.block.kept[data-v-af9e2c7b]{background:var(--accent-subtle);border-color:var(--accent)}.block-min[data-v-af9e2c7b]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap}.stale[data-v-af9e2c7b]{opacity:.55;transition:opacity var(--duration-fast) var(--ease)}.blocks[data-v-af9e2c7b]{margin-bottom:var(--space-4)}.nowrap[data-v-af9e2c7b]{white-space:nowrap}.num-col[data-v-af9e2c7b]{text-align:right}.from[data-v-af9e2c7b]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.callout[data-v-af9e2c7b]{margin:0}.changes[data-v-d5013bb4]{margin-top:var(--space-5)}.changes-head[data-v-d5013bb4]{cursor:pointer;list-style-position:inside}.changes-head[data-v-d5013bb4]::marker{color:var(--text-muted)}.changes-title[data-v-d5013bb4]{font-size:var(--text-md);font-weight:600}.count[data-v-d5013bb4]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:400}.changes-body[data-v-d5013bb4]{padding-top:0}.changes-table .nowrap[data-v-d5013bb4]{white-space:nowrap}.changes-table .num-col[data-v-d5013bb4]{text-align:right}.change-field[data-v-d5013bb4]{white-space:nowrap;font-weight:600}.change-what[data-v-d5013bb4]{overflow-wrap:anywhere}.change-who[data-v-d5013bb4]{color:var(--text-muted)}.is-deleted .change-field[data-v-d5013bb4],.is-deleted .change-what[data-v-d5013bb4]{color:var(--danger)}.task-status[data-v-fb954eec]{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:20px;line-height:1;text-decoration:none;display:inline-flex}.task-status.is-fallback[data-v-fb954eec]{color:var(--text-muted)}a.task-status[data-v-fb954eec]:hover{filter:brightness(.85)}a.task-status[data-v-fb954eec]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bar-cell[data-v-9fcb5e95]{isolation:isolate;padding:2px 6px;display:block;position:relative}.bar-cell-track[data-v-9fcb5e95]{z-index:-1;opacity:.55;border-radius:3px;position:absolute;inset:3px 0;overflow:hidden}.bar-cell-part[data-v-9fcb5e95]{position:absolute;top:0;bottom:0}.bar-cell-value[data-v-9fcb5e95]{position:relative}.panel-h[data-v-8b38b7eb]{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:600}.count[data-v-8b38b7eb]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:400}.times-tools[data-v-8b38b7eb]{gap:var(--space-3) var(--space-5);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.tool[data-v-8b38b7eb]{align-items:center;gap:var(--space-2);max-width:100%;display:inline-flex}.tool .segmented[data-v-8b38b7eb]{flex-wrap:wrap}.tool-label[data-v-8b38b7eb]{font-size:var(--text-xs);color:var(--text-muted)}.segmented span[data-v-8b38b7eb]{white-space:nowrap;padding:4px 10px}.segmented input:focus-visible+span[data-v-8b38b7eb]{outline:2px solid var(--accent);outline-offset:-2px}.num-col[data-v-8b38b7eb]{text-align:right;white-space:nowrap}.timer-col[data-v-8b38b7eb]{width:100%;min-width:36rem;max-width:64rem}.time-toggle[data-v-8b38b7eb]{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-1);width:18px;height:18px;color:var(--text-secondary);font:inherit;cursor:pointer;margin-left:4px;padding:0;font-size:12px;line-height:1}.time-toggle[data-v-8b38b7eb]:hover,.time-toggle[data-v-8b38b7eb]:focus-visible{color:var(--text-primary);border-color:var(--accent)}.hours-col[data-v-8b38b7eb]{min-width:9rem}.inv-col[data-v-8b38b7eb]{white-space:nowrap;font-size:var(--text-sm)}.inv[data-v-8b38b7eb]{display:block}.inv-min[data-v-8b38b7eb]{color:var(--text-muted)}.state-col[data-v-8b38b7eb]{white-space:nowrap;color:var(--text-muted);font-size:var(--text-sm)}.tag-clash[data-v-8b38b7eb]{font-size:var(--text-xs);color:var(--warn);font-weight:600;display:block}.from[data-v-8b38b7eb]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.act-col[data-v-8b38b7eb]{white-space:nowrap;text-align:right;width:1%}.empty-note[data-v-8b38b7eb]{color:var(--text-secondary);font-size:var(--text-sm)}.group-row th[data-v-8b38b7eb],.group-row td[data-v-8b38b7eb]{background:var(--surface-1);color:var(--text-primary);font-weight:600}.group-row th[data-v-8b38b7eb]{text-align:left;text-transform:none;letter-spacing:normal;font-size:var(--text-sm)}tr.is-billed>td[data-v-8b38b7eb]{color:var(--text-muted)}tr.is-draft-current>td[data-v-8b38b7eb]{background:color-mix(in srgb, var(--hour-to-invoice) 10%, transparent)}tr.is-draft-current>td[data-v-8b38b7eb]:first-child{box-shadow:inset 3px 0 0 var(--hour-to-invoice)}tr.is-draft-earlier>td[data-v-8b38b7eb]{background:color-mix(in srgb, var(--hour-tbd) 10%, transparent)}tr.is-draft-earlier>td[data-v-8b38b7eb]:first-child{box-shadow:inset 3px 0 0 var(--hour-tbd)}.added-col[data-v-8b38b7eb]{white-space:nowrap}.added-figure[data-v-8b38b7eb]{padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0}.added-figure[data-v-8b38b7eb]:hover,.added-figure[data-v-8b38b7eb]:focus-visible{background:var(--surface-1);color:var(--text-primary)}.added-figure.is-empty[data-v-8b38b7eb]{color:var(--text-muted)}.added-editor[data-v-8b38b7eb]{align-items:center;gap:var(--space-2);display:inline-flex}.input--hours[data-v-8b38b7eb]{text-align:right;width:9ch}.times-charts[data-v-dce174df]{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (width<=800px){.times-charts[data-v-dce174df]{grid-template-columns:minmax(0,1fr)}}.panel-h[data-v-dce174df]{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:600}.times-key[data-v-dce174df]{gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;display:flex}.times-key>span[data-v-dce174df]{align-items:center;gap:6px;display:inline-flex}.key-swatch[data-v-dce174df]{border-radius:2px;width:10px;height:10px}.key-swatch.is-thin[data-v-dce174df]{width:4px}.task-tabs[data-v-6d827d8d]{margin:var(--space-4) 0 var(--space-5)}.task-tabs .tab[data-v-6d827d8d]{white-space:nowrap}.task-name[data-v-6d827d8d]{font-size:var(--text-xl);letter-spacing:-.015em;margin:0;font-weight:600}.page-head[data-v-6d827d8d]{margin-bottom:var(--space-6)}.kpi-bundles[data-v-6d827d8d]{gap:var(--space-6) var(--space-8);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.bundle-h[data-v-6d827d8d]{margin:0 0 var(--space-3);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.bundle-row[data-v-6d827d8d]{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:0}.open.is-late[data-v-6d827d8d]{color:var(--warn)}.head-top[data-v-6d827d8d]{align-items:flex-start;gap:var(--space-4);display:flex}.head-title[data-v-6d827d8d]{align-items:flex-start;gap:var(--space-2);flex:auto;min-width:0;display:flex}.head-title .task-name[data-v-6d827d8d]{min-width:0}.head-chrome[data-v-6d827d8d]{align-items:center;gap:var(--space-3);flex:none;display:flex}.crumb[data-v-6d827d8d]{color:var(--accent-hover);text-decoration:none}.lineage[data-v-6d827d8d]{align-items:baseline;gap:var(--space-1);margin-bottom:var(--space-1);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.lineage-sep[data-v-6d827d8d]{color:var(--text-muted)}.sub-name[data-v-6d827d8d]{white-space:normal}.tie[data-v-6d827d8d]{margin-right:var(--space-1);color:var(--text-muted)}.sub-status[data-v-6d827d8d]{margin-right:var(--space-2);vertical-align:middle}.head-status[data-v-6d827d8d]{margin-top:10px}.open[data-v-6d827d8d]{color:var(--warn);font-weight:600}.sep[data-v-6d827d8d]{margin:0 var(--space-2);color:var(--text-muted)}.lede[data-v-6d827d8d]{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;max-width:none;display:flex}.facts[data-v-6d827d8d],.acts[data-v-6d827d8d]{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.fact[data-v-6d827d8d]{align-items:baseline;gap:var(--space-2);min-width:0;display:inline-flex}.kind[data-v-6d827d8d]{color:var(--text-muted);font-size:var(--text-xs)}.badge.fixed[data-v-6d827d8d]{text-transform:none;letter-spacing:0}.unmapped[data-v-6d827d8d]{color:var(--warn);font-weight:600}.clickup[data-v-6d827d8d]{color:var(--accent-hover);font-size:var(--text-sm);white-space:nowrap;text-decoration:none}.head-act[data-v-6d827d8d]{color:var(--accent-hover);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0}.head-act[data-v-6d827d8d]:hover,.head-act[data-v-6d827d8d]:focus-visible{text-decoration:underline}.panel-h[data-v-6d827d8d]{margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:600}.months-caption[data-v-6d827d8d]{align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;display:flex}.months-caption .num[data-v-6d827d8d]{margin-right:var(--space-4);color:var(--text-primary);font-variant-numeric:tabular-nums}.months-key[data-v-6d827d8d]{align-items:center;gap:var(--space-2);color:var(--text-muted);display:inline-flex}.months-swatch[data-v-6d827d8d]{border-radius:2px;width:10px;height:10px}.months-swatch.is-thin[data-v-6d827d8d]{width:4px}.two-col[data-v-6d827d8d]{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.charts[data-v-6d827d8d]{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;display:grid}@media (width<=800px){.charts[data-v-6d827d8d],.two-col[data-v-6d827d8d]{grid-template-columns:minmax(0,1fr)}}.num-col[data-v-6d827d8d]{text-align:right;white-space:nowrap}.entries[data-v-6d827d8d]{margin-top:var(--space-5)}.count[data-v-6d827d8d]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:400}.nowrap[data-v-6d827d8d]{white-space:nowrap}.clock-col[data-v-6d827d8d]{white-space:nowrap;color:var(--text-secondary)}.manual[data-v-6d827d8d]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-sm)}.sub-col[data-v-6d827d8d]{min-width:9rem;max-width:14rem}.note-col[data-v-6d827d8d]{width:100%;min-width:12rem;max-width:44rem;color:var(--text-secondary)}.state-col[data-v-6d827d8d]{white-space:nowrap;color:var(--text-muted);font-size:var(--text-sm)}.tag-clash[data-v-6d827d8d]{font-size:var(--text-xs);color:var(--warn);font-weight:600;display:block}.from[data-v-6d827d8d]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.act-col[data-v-6d827d8d]{white-space:nowrap;text-align:right;width:1%}.empty-note[data-v-6d827d8d]{color:var(--text-secondary);font-size:var(--text-sm)}.added-col[data-v-6d827d8d]{white-space:nowrap}.added-figure[data-v-6d827d8d]{padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0}.added-figure[data-v-6d827d8d]:hover,.added-figure[data-v-6d827d8d]:focus-visible{background:var(--surface-1);color:var(--text-primary)}.added-figure.is-empty[data-v-6d827d8d]{color:var(--text-muted)}.added-figure.is-empty[data-v-6d827d8d]:hover,.added-figure.is-empty[data-v-6d827d8d]:focus-visible{color:var(--text-primary)}.added-editor[data-v-6d827d8d]{align-items:center;gap:var(--space-2);display:inline-flex}.input--hours[data-v-6d827d8d]{text-align:right;width:9ch}.uplift-bar[data-v-6d827d8d]{margin-bottom:var(--space-5)}.uplift-form[data-v-6d827d8d]{align-items:flex-end;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);flex-wrap:wrap;display:flex}.uplift-field[data-v-6d827d8d]{gap:var(--space-1);flex-direction:column;display:flex}.uplift-field--note[data-v-6d827d8d]{flex:14rem}.uplift-mode[data-v-6d827d8d]{width:10rem}.uplift-actions[data-v-6d827d8d]{gap:var(--space-2);padding-bottom:1px;display:inline-flex}.uplift-hint[data-v-6d827d8d],.uplift-form .field-error[data-v-6d827d8d]{flex-basis:100%;margin:0}.tree .sub-name[data-v-6d827d8d]{--depth:0;padding-left:calc(var(--space-2) + var(--depth) * var(--space-5))}.tree-self-name[data-v-6d827d8d]{font-weight:600}.tree-self-note[data-v-6d827d8d]{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.tree-sum td[data-v-6d827d8d]{border-top:2px solid var(--border-default);font-weight:600}.tree-sum.is-off td[data-v-6d827d8d]{color:var(--danger)}.tree-off[data-v-6d827d8d]{font-weight:400}.decisions[data-v-6d827d8d]{margin-top:var(--space-5)}.decisions-head[data-v-6d827d8d]{cursor:pointer;list-style-position:inside}.decisions-head[data-v-6d827d8d]::marker{color:var(--text-muted)}.decisions-title[data-v-6d827d8d]{margin:0}.decisions-body[data-v-6d827d8d]{padding-top:0}.log[data-v-6d827d8d]{margin:0;padding:0;list-style:none}.log-row[data-v-6d827d8d]{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);display:flex}.log-day[data-v-6d827d8d]{color:var(--text-muted);flex:none}.log-what[data-v-6d827d8d]{color:var(--text-secondary)}.permissions-dialog[data-v-5a654997]{width:min(480px,100vw - 32px)}.perm-h[data-v-5a654997]{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.perm-h[data-v-5a654997]:not(:first-child){margin-top:var(--space-5)}.perm-list[data-v-5a654997]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);margin:0}.perm-row[data-v-5a654997]{gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);grid-template-columns:120px 1fr;display:grid}.perm-row+.perm-row[data-v-5a654997]{border-top:1px solid var(--border-subtle)}.perm-row dt[data-v-5a654997]{color:var(--text-primary);font-weight:500}.perm-row dd[data-v-5a654997]{color:var(--text-secondary);margin:0}.perm-role[data-v-5a654997]{font-family:var(--font-mono);font-size:var(--text-xs)}.perm-note[data-v-5a654997]{margin:var(--space-2) 0 0;font-size:var(--text-sm)}
