@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_9a42ea1f-module__2lIkVa__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_9a42ea1f-module__2lIkVa__variable{--font-plex:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0g4pmka8j2u20.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/77ce6907447ba740-s.1thpl3j71vtxe.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1v7x_qdpnbwoz.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1h7k3aqd68qji.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.30xqm3yldpj47.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.42z9vm7u0i9n-.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/bfc9b7e66b1caeca-s.3hdclex1x_th1.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.1iu7q7yw-zhgt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.07-q_h5lq3omo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.27korwsf9c79u.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_b8c3c420-module__vGkobG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_b8c3c420-module__vGkobG__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ground:#eef3f4;--surface:#fff;--raised:#f4f6f8;--active:#e2e9eb;--border:#e8eaec;--rule:#f0f1f2;--control:#cdced1;--text:#131416;--muted:#5d5f60;--faint:#66696b;--accent:#1b6c80;--accent-soft:#e3f0f3;--primary:#1d1f20;--primary-ink:#fff;--positive:#1e7b4f;--negative:#c4242a;--warning:#92400e;--pill-positive-bg:#dcfae5;--pill-positive-ink:#04250e;--pill-negative-bg:#ffedea;--pill-negative-ink:#831c1e;--pill-warning-bg:#fffbeb;--pill-warning-ink:#92400e;--pill-info-bg:#e3f0f3;--pill-info-ink:#0f4654;--pill-neutral-bg:#ebedee;--pill-neutral-ink:#353736;--track:#e6eaec;--grid:#eceef0;--scrim:#13141652;--radius-card:8px;--radius-control:6px;--radius-sheet:16px;--sheet-inset:8px;--sidebar-width:228px;--topbar:48px;--gap:24px;--pad:24px;--card-pad:20px;--control-height:32px;--row-height:48px;--font:var(--font-plex), "IBM Plex Sans", system-ui, sans-serif;--mono:var(--font-plex-mono), "IBM Plex Mono", ui-monospace, monospace;--fs-title:22px;--fs-section:16px;--fs-kpi:28px;--fs-body:14px;--fs-small:12px;--ease-out:cubic-bezier(.22, 1, .36, 1);--t-press:.12s;--t-hover:.15s;--t-ui:.2s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ground:#000;--surface:#111;--raised:#1b1b1b;--active:#242424;--border:#262626;--rule:#1c1c1c;--control:#444;--text:#fff;--muted:#b4b4b4;--faint:#949494;--accent:#4fb3c9;--accent-soft:#10272d;--primary:#fff;--primary-ink:#000;--positive:#3fc07a;--negative:#e5566f;--warning:#e5a93b;--pill-positive-bg:#172a1d;--pill-positive-ink:#3fc07a;--pill-negative-bg:#2c1a20;--pill-negative-ink:#e5566f;--pill-warning-bg:#2b2414;--pill-warning-ink:#e5a93b;--pill-info-bg:#10272d;--pill-info-ink:#6cc6da;--pill-neutral-bg:#222;--pill-neutral-ink:#e6e6e6;--track:#2a2a2a;--grid:#222;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ground);min-height:100svh;color:var(--text);font:400 var(--fs-body)/20px var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--text)}.num,table,.kpi-value,.money{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--muted)}.faint{color:var(--faint)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:var(--topbar) minmax(0, 1fr);min-height:100svh;display:grid}.sidebar{flex-direction:column;grid-row:1/-1;height:100svh;padding:12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.01em;align-items:center;gap:10px;height:32px;margin-bottom:4px;padding:0 8px;font-size:15px;font-weight:600;display:flex}.brand svg{flex:none}.scope{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:1px;margin:12px 0;padding:8px;display:grid}.scope strong{overflow-wrap:anywhere;font-weight:500;line-height:18px}.scope span{font-size:var(--fs-small);color:var(--muted)}.nav-group{font-size:var(--fs-small);color:var(--faint);margin:16px 8px 6px}.nav{gap:2px;display:grid}.nav-item{height:32px;color:var(--muted);transition:background-color var(--t-hover) ease, color var(--t-hover) ease;border-radius:8px;align-items:center;gap:10px;padding:0 8px;display:flex}.nav-item svg{stroke-width:1.5px;flex:none;width:16px;height:16px}.nav-item:hover{background:var(--raised);color:var(--text)}.nav-item[aria-current=page]{background:var(--active);color:var(--text);font-weight:500}.nav-item .count{font-size:var(--fs-small);color:var(--negative);margin-left:auto;font-weight:500}.sidebar-foot{gap:2px;margin-top:auto;padding-top:12px;display:grid}.user-row{align-items:center;gap:10px;min-width:0;padding:8px;display:flex}.user-row>div{min-width:0;display:grid}.user-row strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.user-row span{font-size:var(--fs-small);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar{padding:0 calc(var(--sheet-inset) + 8px) 0 16px;align-items:center;gap:12px;min-width:0;display:flex}.topbar .crumb{color:var(--muted);white-space:nowrap}.topbar .spacer{flex:1}.topbar .menu-toggle{display:none}.sheet{min-width:0;margin:0 var(--sheet-inset) var(--sheet-inset) 0;padding:var(--pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet)}.search{width:min(548px,100%);position:relative}.search svg.lead{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:8px;left:10px}.search input{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface);width:100%;height:32px;padding:0 44px 0 34px}.search input::placeholder{color:var(--faint)}.search input:focus{border-color:var(--accent);outline:none}.search kbd{background:var(--raised);height:20px;color:var(--muted);font:500 11px/20px var(--font);border-radius:4px;padding:0 6px;position:absolute;top:6px;right:8px}.search-results{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);max-height:380px;padding:6px;position:absolute;top:38px;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #0000001f}.search-results .group{font-size:var(--fs-small);color:var(--faint);padding:8px 8px 4px}.search-results a{border-radius:6px;justify-content:space-between;gap:12px;padding:8px;display:flex}.search-results a:hover,.search-results a[data-active=true]{background:var(--raised)}.search-results a span:last-child{color:var(--muted);font-size:var(--fs-small);white-space:nowrap}.search-results .none{color:var(--muted);padding:12px 8px}.title-row{margin-bottom:var(--gap);justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.title-row h1{font-size:var(--fs-title);letter-spacing:-.01em;font-weight:600;line-height:28px}.title-row .sub{color:var(--muted);max-width:72ch;margin-top:4px}.title-row .sub strong{color:var(--text);font-weight:500}.title-row .actions{flex:none;gap:8px;display:flex}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:24px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);transition:color var(--t-hover) ease;background:0 0;border:0;flex:none;padding:10px 0;position:relative}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{color:var(--text);font-weight:500}.tabs button[aria-selected=true]:after{content:"";background:var(--text);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tabs .n{color:var(--faint);margin-left:6px;font-weight:400}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.toolbar .field-search{width:288px;max-width:100%;position:relative}.toolbar .field-search svg{width:16px;height:16px;color:var(--muted);position:absolute;top:8px;left:10px}.toolbar .field-search input{border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);width:100%;height:32px;padding:0 10px 0 34px}.toolbar .field-search input::placeholder{color:var(--faint)}.toolbar .spacer{flex:1}.toolbar .count{color:var(--muted)}.overview{gap:var(--gap);grid-template-columns:minmax(0,1fr) 384px;align-items:start;display:grid}.stack{gap:var(--gap);align-content:start;min-width:0;display:grid}.rail{gap:var(--gap);min-width:0;display:grid}.rail-block>h2{font-size:var(--fs-section);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-weight:600;line-height:22px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad);min-width:0}.panel>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;margin-bottom:16px;display:flex}.rail-block>.panel>.empty{margin:12px 0}.panel h2{font-size:var(--fs-section);font-weight:600;line-height:22px}.panel .meta{color:var(--muted);font-size:var(--fs-small)}.panel.flush{padding:0}.panel.flush>header{padding:var(--card-pad) var(--card-pad) 0}.card-link{color:var(--text);font-weight:500;font-size:var(--fs-body);text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.card-link svg{width:14px;height:14px}.card-link:hover{text-decoration:underline}.kpis{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.kpi{padding:16px var(--card-pad);min-width:0}.kpi+.kpi{border-left:1px solid var(--border)}.kpi-label{color:var(--muted);font-weight:500}.kpi-value{font-size:var(--fs-kpi);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-weight:400;line-height:34px;overflow:hidden}.kpi-value.lead{font-size:32px;line-height:38px}.kpi-value small{color:var(--muted);letter-spacing:0;margin-left:4px;font-size:15px}.kpi-note{font-size:var(--fs-small);color:var(--muted);margin-top:4px}.kpi-note .neg{color:var(--negative);font-weight:500}.kpi-note .pos{color:var(--positive);font-weight:500}.rows{display:grid}.row{align-items:center;gap:12px;min-height:48px;padding:10px 0;display:flex}.row+.row{border-top:1px solid var(--rule)}.row .grow{flex:1;min-width:0}.row .title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.row .subline{font-size:var(--fs-small);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.row .end{text-align:right;flex:none}.progress{background:var(--track);border-radius:999px;height:6px;position:relative;overflow:hidden}.progress>span{background:var(--accent);transition:width .4s var(--ease-out);border-radius:999px;position:absolute;inset:0 auto 0 0}.progress.done>span{background:var(--positive)}.progress.held>span{background:var(--muted)}.table-wrap{margin:0 -12px;overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;height:36px;font-weight:400;font-size:var(--fs-small);color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--border);padding:0 12px}td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:12px}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color var(--t-hover) ease}tbody tr:hover td{background:var(--raised)}th.n,td.n{text-align:right;white-space:nowrap}td .name{font-weight:500;display:block}td .sub{font-size:var(--fs-small);color:var(--muted);display:block}td.actions{white-space:nowrap;text-align:right;width:1%}.cell-trunc{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.dash{color:var(--faint)}.mobile-list{display:none}.pill{height:22px;font-size:var(--fs-small);background:var(--pill-neutral-bg);color:var(--pill-neutral-ink);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}.pill.pos{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.pill.neg{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.pill.warn{background:var(--pill-warning-bg);color:var(--pill-warning-ink)}.pill.info{background:var(--pill-info-bg);color:var(--pill-info-ink)}button.pill{transition:filter var(--t-hover) ease;border:0}button.pill:hover{filter:brightness(.96)}.btn{height:var(--control-height);border-radius:var(--radius-control);border:1px solid var(--control);background:var(--surface);color:var(--text);white-space:nowrap;transition:background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out), opacity var(--t-hover) ease;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:500;display:inline-flex}.btn svg{stroke-width:1.75px;width:16px;height:16px}.btn:hover{background:var(--raised)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:#0000}.btn.primary:hover{background:var(--primary);opacity:.88}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--raised)}.btn.danger{color:var(--negative)}.btn.danger-fill{background:var(--negative);color:#fff;border-color:#0000}.btn.danger-fill:hover{background:var(--negative);opacity:.9}.btn.lg{height:40px;padding:0 16px}.btn.block{width:100%}.icon-btn{border-radius:var(--radius-control);width:32px;height:32px;color:var(--muted);transition:background-color var(--t-hover) ease, color var(--t-hover) ease;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn svg{stroke-width:1.75px;width:16px;height:16px}.icon-btn:hover{background:var(--raised);color:var(--text)}.icon-btn.danger:hover{color:var(--negative)}.text-btn{color:var(--text);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:500}.text-btn:hover{text-decoration:underline}.text-btn.danger{color:var(--negative)}.avatar{border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:inline-grid}.avatar.lg{width:36px;height:36px;font-size:14px}.form{gap:16px;display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:8px;min-width:0;display:grid}.field>label,.field .label{font-weight:500}.hint{color:var(--muted);font-size:var(--fs-small);line-height:18px}.check .hint{margin-top:2px}.input{border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);width:100%;height:38px;transition:border-color var(--t-hover) ease;padding:0 12px}textarea.input{resize:vertical;height:auto;min-height:88px;padding:10px 12px;line-height:20px}.input::placeholder{color:var(--faint)}.input:focus,.select-btn:focus-visible,.select-btn[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input-wrap{position:relative}.input-wrap>svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:11px;left:12px}.input-wrap>.input{padding-left:38px}.input-wrap>.reveal{position:absolute;top:3px;right:3px}.input-wrap.has-reveal>.input{padding-right:40px}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:16px;height:16px;accent-color:var(--text);flex:none;margin:2px 0 0}.range{width:100%;accent-color:var(--accent)}.check input.switch{appearance:none;background:var(--control);cursor:pointer;width:32px;height:20px;transition:background-color var(--t-ui) ease;border-radius:999px;margin:0;position:relative}.check input.switch:after{content:"";width:16px;height:16px;transition:transform var(--t-ui) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.check input.switch:checked{background:var(--positive)}.check input.switch:checked:after{transform:translate(12px)}.joined{display:flex}.joined .input{border-radius:var(--radius-control) 0 0 var(--radius-control)}.joined .btn{border-radius:0 var(--radius-control) var(--radius-control) 0;border-left:0;height:38px}.notice{border-radius:var(--radius-control);align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:18px;display:flex}.notice svg{flex:none;width:16px;height:16px;margin-top:1px}.notice.neg{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.notice.pos{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.notice.warn{background:var(--pill-warning-bg);color:var(--pill-warning-ink);border:1px solid #fde68a}:root[data-theme=dark] .notice.warn{border-color:#4a3a12}.dropzone{border:1px dashed var(--control);border-radius:var(--radius-card);text-align:center;color:var(--muted);cursor:pointer;transition:border-color var(--t-hover) ease, background-color var(--t-hover) ease;place-items:center;gap:4px;padding:24px 16px;display:grid}.dropzone svg{width:20px;height:20px}.dropzone strong{color:var(--text);font-weight:500}.dropzone:hover,.dropzone[data-over=true]{border-color:var(--accent);background:var(--accent-soft)}.select{position:relative}.select-btn{border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px 0 12px;display:flex}.select-btn.compact{width:auto;height:28px;font-size:var(--fs-small);padding:0 6px 0 8px}.select-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-btn .ph{color:var(--faint)}.select-btn svg{width:16px;height:16px;color:var(--muted);transition:transform var(--t-ui) var(--ease-out);flex:none}.select-btn[aria-expanded=true] svg{transform:rotate(180deg)}.menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);transform-origin:top;min-width:100%;max-height:260px;animation:pop var(--t-ui) var(--ease-out);margin-top:4px;padding:4px;position:absolute;overflow-y:auto;box-shadow:0 12px 32px #0000001f}.menu.up{transform-origin:bottom;margin:0 0 4px;bottom:100%}.menu.right{right:0}.menu [role=option],.menu [role=menuitem]{text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:7px 8px;display:flex}.menu [role=option][data-active=true],.menu [role=menuitem]:hover,.menu [role=menuitem]:focus-visible{background:var(--raised);outline:none}.menu [role=option][aria-selected=true]{font-weight:500}.menu [role=option] svg,.menu [role=menuitem] svg{width:14px;height:14px;color:var(--muted)}.menu [role=menuitem].danger,.menu [role=menuitem].danger svg{color:var(--negative)}.menu hr{border:0;border-top:1px solid var(--rule);margin:4px 0}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.calendar{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:280px;animation:pop var(--t-ui) var(--ease-out);transform-origin:0 0;margin-top:4px;padding:12px;position:absolute;box-shadow:0 12px 32px #0000001f}.calendar.up{transform-origin:0 100%;margin:0 0 4px;bottom:100%}.calendar.right{transform-origin:100% 0;right:0}.calendar header{justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:500;display:flex}.calendar .dow,.calendar .days{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar .dow span{font-size:var(--fs-small);color:var(--faint);padding:4px 0}.calendar .days button{font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:6px;height:32px}.calendar .days button:hover:not(:disabled){background:var(--raised)}.calendar .days button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--control)}.calendar .days button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.calendar .days button:disabled{color:var(--control);cursor:not-allowed}.calendar footer{border-top:1px solid var(--rule);justify-content:space-between;margin-top:8px;padding-top:8px;display:flex}.scrim{z-index:50;background:var(--scrim);animation:fade var(--t-ui) ease;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);width:min(520px,100%);max-height:calc(100svh - 32px);animation:rise .24s var(--ease-out);border-radius:12px;overflow-y:auto;box-shadow:0 24px 64px #0003}.dialog.sm{width:min(420px,100%)}.dialog>header{justify-content:space-between;gap:16px;padding:20px 20px 0;display:flex}.dialog>header h2{font-size:18px;font-weight:600;line-height:24px}.dialog>header p{color:var(--muted);margin-top:4px}.dialog .body{padding:20px}.dialog>footer{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}.drawer-scrim{z-index:50;background:var(--scrim);animation:fade var(--t-ui) ease;position:fixed;inset:0}.drawer{z-index:51;background:var(--surface);border:1px solid var(--border);width:min(520px,100% - 16px);animation:slide .28s var(--ease-out);border-radius:12px;flex-direction:column;display:flex;position:fixed;top:8px;bottom:8px;right:8px;box-shadow:0 24px 64px #0003}.drawer>header{border-bottom:1px solid var(--rule);justify-content:space-between;gap:16px;padding:20px;display:flex}.drawer>header h2{font-size:18px;font-weight:600;line-height:24px}.drawer>header p{color:var(--muted);margin-top:2px}.drawer .body{flex:1;align-content:start;gap:24px;padding:20px;display:grid;overflow-y:auto}.drawer .body h3{font-size:var(--fs-body);margin-bottom:8px;font-weight:600}@keyframes slide{0%{opacity:0;transform:translate(24px)}}.kv{border-radius:var(--radius-card);background:var(--border);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.kv.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kv>div{background:var(--surface);min-width:0;padding:12px}.kv dt{font-size:var(--fs-small);color:var(--muted)}.kv dd{margin-top:2px;font-weight:500}.toasts{z-index:70;gap:8px;width:min(360px,100% - 32px);display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{background:var(--primary);color:var(--primary-ink);animation:rise .24s var(--ease-out);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex;box-shadow:0 12px 32px #0000002e}.toast svg{flex:none;width:16px;height:16px;margin-top:2px}.toast.error svg{color:#ff8a8f}.toast.ok svg{color:#7fe0a9}:root[data-theme=dark] .toast.error svg{color:var(--negative)}:root[data-theme=dark] .toast.ok svg{color:var(--positive)}.empty{border:1px dashed var(--control);border-radius:var(--radius-control);min-height:96px;color:var(--muted);text-align:center;place-items:center;gap:8px;padding:20px 16px;display:grid}.empty .text-btn{color:var(--text)}.skeleton{background:var(--raised);border-radius:4px;display:block}.block-error{border-radius:var(--radius-card);border:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:14px 16px;display:flex}.block-error svg{width:16px;height:16px;color:var(--negative);flex:none}.block-error .text-btn{margin-left:auto}.boot{min-height:100svh;color:var(--muted);place-items:center;display:grid}.owed-axis,.owed-row{grid-template-columns:176px minmax(0,1fr) 128px;align-items:center;gap:16px;display:grid}.owed-axis{height:24px;font-size:var(--fs-small);color:var(--faint)}.owed-axis .scale{height:24px;position:relative}.owed-axis .scale span{white-space:nowrap;position:absolute;top:4px;transform:translate(-50%)}.owed-row{border-top:1px solid var(--rule);min-height:52px;padding:8px 0}.owed-row .who{min-width:0}.owed-row .who>strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.owed-row .who>span{font-size:var(--fs-small);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.owed-track{height:28px;position:relative}.owed-track:before{content:"";background:var(--track);border-radius:2px;height:2px;position:absolute;top:13px;left:0;right:0}.owed-track .today{background:var(--accent);width:1px;position:absolute;top:-8px;bottom:-8px}.owed-track .span{background:var(--negative);opacity:.55;height:2px;position:absolute;top:13px}.owed-track .dot{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;margin-left:-6px;position:absolute;top:8px}.owed-track .dot.late{background:var(--negative)}.owed-track .dot.part{background:var(--surface);box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 3px var(--surface)}.owed-track .dot.part.late{box-shadow:inset 0 0 0 2px var(--negative), 0 0 0 3px var(--surface)}.owed-track .off{color:var(--negative);font-size:11px;font-weight:500;position:absolute;top:6px}.owed-row .amt{text-align:right}.owed-row .amt strong{font-weight:500;display:block}.owed-row .amt span{font-size:var(--fs-small);color:var(--muted);display:block}.owed-row .amt span.late{color:var(--negative)}.owed-legend{font-size:var(--fs-small);color:var(--muted);flex-wrap:wrap;gap:16px;display:flex}.owed-legend span{align-items:center;gap:6px;display:inline-flex}.owed-legend i{background:var(--accent);border-radius:50%;width:10px;height:10px}.owed-legend i.late{background:var(--negative)}.owed-legend i.part{box-shadow:inset 0 0 0 2px var(--accent);background:0 0}.owed-legend i.today{border-radius:0;width:1px;height:12px}.owed-foot{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.bars{position:relative}.bars svg{width:100%;height:auto;overflow:visible}.bars .tip{pointer-events:none;background:var(--primary);color:var(--primary-ink);font-size:var(--fs-small);white-space:nowrap;border-radius:6px;padding:6px 8px;position:absolute;transform:translate(-50%,-100%)}.project-hero{gap:16px;display:grid}.project-hero .head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-hero h2{font-size:20px;font-weight:600;line-height:26px}.project-hero .pct{letter-spacing:-.01em;font-size:32px;line-height:38px}.project-hero .progress{height:10px}.progress-ends{font-size:var(--fs-small);color:var(--muted);justify-content:space-between;display:flex}.feed{display:grid}.feed li{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.feed li+li{border-top:1px solid var(--rule)}.feed p{white-space:pre-wrap}.feed .when{font-size:var(--fs-small);color:var(--muted)}.project-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip{border:1px solid var(--control);background:var(--surface);height:28px;color:var(--muted);transition:background-color var(--t-hover) ease, color var(--t-hover) ease;border-radius:999px;align-items:center;padding:0 10px;font-size:13px;display:inline-flex}.chip:hover{color:var(--text)}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.auth{background:var(--ground);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100svh;display:grid}.auth-side{flex-direction:column;justify-content:space-between;padding:32px 40px;display:flex}.auth-side .brand{padding:0;font-size:17px}.auth-side .preview{width:100%;max-width:520px;margin:32px 0}.auth-side .tag{letter-spacing:-.015em;max-width:440px;font-size:26px;font-weight:500;line-height:34px}.auth-side .tag-sub{max-width:440px;color:var(--muted);margin-top:12px;font-size:15px;line-height:22px}.auth-side .foot{font-size:var(--fs-small);color:var(--muted);gap:16px;display:flex}.auth-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet);place-items:center;margin:8px 8px 8px 0;padding:32px;display:grid}.auth-card{width:min(380px,100%)}.auth-card h1{font-size:var(--fs-title);letter-spacing:-.01em;font-weight:600;line-height:28px}.auth-card .lede{color:var(--muted);margin:6px 0 24px}.auth-card .between{justify-content:space-between;align-items:baseline;display:flex}.auth-card .after{color:var(--muted);text-align:center;margin-top:20px}.peek{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.peek .row:first-child{padding-top:0}.peek .row:last-child{padding-bottom:0}.peek .peek-icon{width:18px;height:18px;color:var(--accent);flex:none;align-self:flex-start;margin-top:2px}.peek .subline{white-space:normal}.tasks-layout{gap:var(--gap);grid-template-columns:264px minmax(0,1fr);align-items:start;display:grid}.task-projects{position:sticky;top:16px}.task-projects-select{display:none}.task-project-list{gap:2px;display:grid}.task-project-list button{text-align:left;width:100%;min-height:48px;transition:background-color var(--t-hover) ease;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.task-project-list button:hover{background:var(--raised)}.task-project-list button[aria-current=true]{background:var(--active)}.task-project-list .grow{flex:1;min-width:0}.task-project-list .title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.task-project-list .subline{font-size:var(--fs-small);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-project-list .end{text-align:right;flex:none}.task-project-list .end .num{font-weight:500;display:block}.task-board-wrap{min-width:0}.task-board-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.task-board-head h2{font-size:18px;font-weight:600;line-height:24px}.task-board-head .meta{color:var(--muted);margin-top:2px}.task-board-head .card-link svg{width:14px;height:14px}.quick-add{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;margin-bottom:20px;display:grid}.quick-add:has(.qa-project){grid-template-columns:minmax(0,1fr) 200px auto auto auto}.quick-add .qa-priority{width:112px}.quick-add .qa-due{width:168px}.quick-add .btn{height:38px}.quick-add .qa-err{color:var(--negative);grid-column:1/-1;font-size:13px}.task-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.task-col{border-radius:var(--radius-card);background:var(--raised);min-width:0;min-height:120px;transition:box-shadow var(--t-hover) ease;padding:12px}.task-col[data-over=true]{box-shadow:inset 0 0 0 2px var(--accent)}.task-col h3{font-size:var(--fs-body);align-items:baseline;gap:6px;margin:0 2px 10px;font-weight:600;display:flex}.task-col h3 .n{color:var(--muted);font-weight:400}.task-list{gap:8px;display:grid}.task-empty{color:var(--muted);text-align:center;padding:16px 8px;font-size:13px}.task-more{margin:10px 2px 0;font-size:13px}.task-card{border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--border);cursor:grab;transition:border-color var(--t-hover) ease, opacity var(--t-hover) ease, transform var(--t-press) var(--ease-out);align-items:flex-start;gap:10px;padding:10px 12px;display:flex;position:relative}.task-card:hover{border-color:var(--control)}.task-card[data-dragging=true]{opacity:.4}.task-card[data-drop-before=true]:before{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;top:-6px;left:0;right:0}.task-check{border:1.5px solid var(--control);background:var(--surface);color:#fff;width:18px;height:18px;transition:background-color var(--t-hover) ease, border-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);border-radius:50%;flex:none;place-items:center;margin-top:1px;padding:0;display:grid}.task-check:hover{border-color:var(--positive)}.task-check:active{transform:scale(.9)}.task-check svg{stroke-width:3px;width:12px;height:12px}.task-check[aria-pressed=true]{background:var(--positive);border-color:var(--positive)}.task-body{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:4px;min-width:0;padding:0;display:grid}.task-title{overflow-wrap:anywhere;font-weight:500}.task-card[data-done=true] .task-title{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--control);text-decoration-color:var(--control)}.task-notes{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:18px;display:-webkit-box;overflow:hidden}.task-meta{font-size:var(--fs-small);color:var(--muted);flex-wrap:wrap;gap:4px 10px;display:flex}.task-meta>span{white-space:nowrap}.task-high,.task-due.neg{color:var(--negative);font-weight:500}.task-due.warn{color:var(--warning);font-weight:500}.task-proj{text-overflow:ellipsis;max-width:100%;overflow:hidden}.task-mini .row{align-items:flex-start}.task-mini .task-check{margin-top:2px}@media (max-width:1180px){.tasks-layout{grid-template-columns:minmax(0,1fr)}.task-projects{position:static}.task-project-list{display:none}.task-projects-select{max-width:360px;display:block}}@media (max-width:760px){.task-board{grid-template-columns:minmax(0,1fr);gap:12px}:is(.quick-add,.quick-add:has(.qa-project)){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quick-add>.input,.quick-add .qa-project{grid-column:1/-1}.quick-add .qa-priority,.quick-add .qa-due{width:auto}.quick-add .btn{grid-column:1/-1}.task-board-head{flex-wrap:wrap;align-items:flex-start}.task-projects-select{max-width:none}}@media (max-width:1180px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.kpi+.kpi{border-left:0}.kpi:nth-child(n+3){border-top:1px solid var(--border)}.kpi:nth-child(2n){border-left:1px solid var(--border)}.kpi:last-child:nth-child(odd){grid-column:1/-1}.overview{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.desktop-table{display:none}.mobile-list{display:grid}.mobile-list>li{cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:12px 0;display:flex}.mobile-list>li+li{border-top:1px solid var(--rule)}.mobile-list .grow{flex:1;min-width:0}.mobile-list .l1{justify-content:space-between;gap:12px;font-weight:500;display:flex}.mobile-list .l1 span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-list .l1 span:last-child,.mobile-list .l2>:last-child{white-space:nowrap;flex:none}.mobile-list .l2{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:2px;font-size:13px;display:flex}.mobile-list .l2 span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (max-width:960px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar) minmax(0, 1fr)}.sidebar{z-index:40;background:var(--ground);visibility:hidden;width:100%;height:100%;transition:transform var(--t-ui) var(--ease-out), visibility 0s linear var(--t-ui);position:fixed;inset:0;transform:translate(-100%)}.sidebar.open{visibility:visible;transition:transform var(--t-ui) var(--ease-out);transform:none}.sidebar .close{display:inline-grid!important}.topbar .menu-toggle{display:inline-grid}.topbar{padding:0 12px}.topbar .crumb,.topbar .search{display:none}.topbar .mobile-title{font-weight:600;display:block!important}.sheet{border-width:1px 0 0;border-radius:0;margin:0;padding:16px}.auth{grid-template-columns:minmax(0,1fr)}.auth-side{display:none}.auth-main{border:0;border-radius:0;align-items:start;margin:0;padding:12vh 16px 24px}.auth-main .mobile-brand{margin-bottom:32px;display:flex!important}}@media (max-width:760px){.rail{grid-template-columns:minmax(0,1fr)}.kpi-value,.kpi-value.lead{font-size:22px;line-height:28px}.title-row{flex-wrap:wrap;align-items:flex-start}.title-row h1{font-size:20px}.title-row .actions{width:100%}.title-row .actions>*{flex:1}.title-row .actions .select>.btn,.toolbar .field-search{width:100%}.owed-axis,.owed-row{grid-template-columns:minmax(0,1fr) 96px;gap:4px 12px}.owed-axis .label-col{display:none}.owed-axis .scale{order:2;grid-column:1/-1}.owed-axis .amt-col,.owed-axis .scale span.minor{display:none}.owed-row .who{grid-area:1/1}.owed-row .amt{grid-area:1/2}.owed-row .owed-track{grid-area:2/1/auto/-1}.form-row,.form-row.three,.kv,.kv.three{grid-template-columns:minmax(0,1fr)}.project-hero .pct{font-size:26px;line-height:32px}}.auth-story .tag{animation:tag-in .72s var(--ease-out) both}.auth-story .tag-sub{animation:lift .6s var(--ease-out) .14s both}.auth-story .peek{animation:lift .6s var(--ease-out) .26s both}.auth-card{animation:.42s both fade}.auth-swap{animation:swap .28s var(--ease-out) both}.auth-card .notice.neg{animation:nudge .38s var(--ease-out)}.auth-card .notice.pos{animation:lift .32s var(--ease-out)}.btn .spin{animation:.8s linear infinite spin}@keyframes tag-in{0%{clip-path:inset(0 0 100%);transform:translateY(16px)}to{clip-path:inset(0);transform:none}}@keyframes lift{0%{opacity:0;transform:translateY(8px)}}@keyframes swap{0%{opacity:0;filter:blur(3px);transform:translateY(6px)}}@keyframes nudge{20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(1px)}}@keyframes spin{to{transform:rotate(360deg)}}.peek .row{--d:0s}.peek-end{flex:none;align-self:center;align-items:center;gap:8px;display:flex}.peek-bar{background:var(--track);border-radius:999px;width:56px;height:4px;position:relative;overflow:hidden}.peek-bar>span{border-radius:inherit;background:var(--accent);transform-origin:0;animation:peek-fill 1s var(--ease-out) var(--d) both;position:absolute;inset:0;transform:scaleX(.72)}@property --pct{syntax:"<integer>";inherits:false;initial-value:0}.peek-pct{--pct:72;text-align:right;min-width:3.2ch;font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums;counter-reset:pct var(--pct);animation:peek-count 1s var(--ease-out) var(--d) both}.peek-pct:after{content:counter(pct) "%"}.peek-file{background:var(--pill-positive-bg);width:22px;height:22px;color:var(--positive);animation:peek-file .32s ease var(--d) both;border-radius:50%;place-items:center;display:grid}.peek-file svg{grid-area:1/1;width:13px;height:13px}.peek-pill{height:22px;font-size:var(--fs-small);background:var(--pill-positive-bg);color:var(--pill-positive-ink);animation:peek-paid .32s ease var(--d) both;border-radius:999px;padding:0 9px;font-weight:500;line-height:22px;display:inline-grid}.peek-pill>span{text-align:center;grid-area:1/1}.peek .before{opacity:0;animation:peek-out .2s ease var(--d) both}.peek .after{animation:peek-in .36s var(--ease-out) calc(var(--d) + 80ms) both}@keyframes peek-fill{0%{transform:scaleX(0)}}@keyframes peek-count{0%{--pct:0}}@keyframes peek-file{0%{background:var(--raised);color:var(--muted)}}@keyframes peek-paid{0%{background:var(--pill-warning-bg);color:var(--pill-warning-ink)}}@keyframes peek-out{0%{opacity:1}to{opacity:0;transform:translateY(5px)scale(.8)}}@keyframes peek-in{0%{opacity:0;transform:translateY(-5px)scale(.8)}}.sheet>*{animation:.24s backwards fade}.progress>span{transform-origin:0;animation:bar-in .8s var(--ease-out) backwards}.boot .brand img{animation:1.6s ease-in-out infinite breathe}@keyframes bar-in{0%{transform:scaleX(0)}}@keyframes breathe{50%{opacity:.5;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}.auth-story .tag,.auth-story .tag-sub,.auth-story .peek,.auth-swap,.auth-card .notice.pos{animation:.2s both fade}.auth-card .notice.neg,.progress>span,.peek-bar>span,.boot .brand img,.peek-pct,.peek .before{animation:none}.peek .after{animation:fade .2s ease var(--d) both}.btn .spin{animation-duration:2.4s}.menu,.calendar,.dialog,.drawer,.toast,.sheet>*{animation:.16s backwards fade}}
