@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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.0vnh8.d8wxa2x.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.0~.8lt~vdqmc3.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.00z~hoalba5dm.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.p.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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.0xyeb7czu1stb.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.0vnh8.d8wxa2x.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.0~.8lt~vdqmc3.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.00z~hoalba5dm.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.p.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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.0xyeb7czu1stb.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.0vnh8.d8wxa2x.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.0~.8lt~vdqmc3.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.00z~hoalba5dm.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.p.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.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:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.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:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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_a80ae50e-module__0-OeHG__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_a80ae50e-module__0-OeHG__variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--fs-micro:11px;--fs-meta:12px;--fs-base:13px;--fs-strong:14px;--fs-title:16px;--fs-lead:20px;--fs-head:26px;--fs-hero:32px;--lh-tight:1.15;--lh-base:1.5;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:44px;--r-sm:4px;--r-md:7px;--r-lg:11px;--r-full:999px;--sidebar-w:228px;--topbar-h:56px;--ease:cubic-bezier(.2, .8, .3, 1);--fast:.13s;--canvas:#f4f3ef;--paper:#fffffe;--paper-2:#faf9f5;--raised:#efeee8;--line:#e5e3dc;--line-2:#d2cfc5;--ink:#1c1e1c;--ink-2:#4a4d47;--muted:#74786f;--faint:#999d94;--accent:#1f6156;--accent-2:#e8f0ec;--tone-planned:#3c6285;--tone-paid:#1f6156;--tone-open:#8f6109;--warn:#8f6109;--warn-2:#f7efda;--danger:#a4322d;--danger-2:#f8e7e5;--shadow-sm:0 1px 2px #1c1e1c0d;--shadow-lg:0 18px 48px #1c1e1c29;--focus:0 0 0 3px #1f615647}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--canvas:#15171a;--paper:#1c1f22;--paper-2:#202428;--raised:#272b30;--line:#2d3237;--line-2:#3d4349;--ink:#e9eae6;--ink-2:#b7bab4;--muted:#8b8f88;--faint:#6d716b;--accent:#62b5a2;--accent-2:#1a302b;--tone-planned:#86b2da;--tone-paid:#62b5a2;--tone-open:#d5a45c;--warn:#d5a45c;--warn-2:#2f2718;--danger:#e28179;--danger-2:#33211f;--shadow-sm:0 1px 2px #0000004d;--shadow-lg:0 18px 48px #0000008c;--focus:0 0 0 3px #62b5a252}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif;font-size:var(--fs-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}:where(button,a,input,select,textarea):focus-visible{box-shadow:var(--focus);outline:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{min-height:100vh}.sidebar{z-index:40;width:var(--sidebar-w);border-right:1px solid var(--line);background:var(--paper-2);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{height:var(--topbar-h);padding:0 var(--s5);border-bottom:1px solid var(--line);font-size:var(--fs-title);letter-spacing:-.02em;align-items:center;font-weight:600;display:flex}.nav{padding:var(--s4) var(--s3);gap:1px;display:grid}.nav__item{align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-md);color:var(--muted);cursor:pointer;font-size:var(--fs-base);text-align:left;transition:background-color var(--fast) ease, color var(--fast) ease;background:0 0;border:0;font-weight:500;display:flex}.nav__item svg{opacity:.8;flex:none}.nav__item.is-active{background:var(--raised);color:var(--ink);font-weight:600}.nav__item.is-active svg{color:var(--accent);opacity:1}.sidebar__foot{padding:var(--s3);border-top:1px solid var(--line);margin-top:auto}.main{min-height:100vh;margin-left:var(--sidebar-w)}.topbar{z-index:30;height:var(--topbar-h);align-items:center;gap:var(--s2);padding:0 var(--s7);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--canvas) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.topbar__spacer{flex:1}.content{width:min(100%,1320px);padding:var(--s7) var(--s7) var(--s8);margin:0 auto}.stack{gap:var(--s5);display:grid}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s5);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-head);letter-spacing:-.022em;font-weight:600;line-height:var(--lh-tight)}.page-head__meta{margin-top:var(--s1);color:var(--muted);font-size:var(--fs-meta)}.page-head__actions{gap:var(--s2);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s2);padding:0 var(--s3);border-radius:var(--r-md);cursor:pointer;height:32px;font-size:var(--fs-meta);white-space:nowrap;transition:background-color var(--fast) ease, border-color var(--fast) ease, color var(--fast) ease, transform var(--fast) var(--ease);background:0 0;border:1px solid #0000;font-weight:500;display:inline-flex}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{cursor:default;opacity:.5}.btn--primary{background:var(--accent);color:#fff}@media (prefers-color-scheme:dark){.btn--primary{color:#10201d}}.btn--ghost{border-color:var(--line-2);background:var(--paper);color:var(--ink-2)}.btn--quiet{color:var(--muted);padding:0 var(--s2)}.btn--danger{border-color:var(--danger);color:var(--danger)}.btn--icon{width:32px;color:var(--muted);padding:0}.btn--sm{height:26px;font-size:var(--fs-micro)}@media (hover:hover) and (pointer:fine){.nav__item:hover:not(.is-active){background:var(--raised);color:var(--ink)}.btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.btn--ghost:hover:not(:disabled),.btn--icon:hover:not(:disabled){border-color:var(--line-2);background:var(--raised);color:var(--ink)}.btn--quiet:hover:not(:disabled){color:var(--accent)}.btn--danger:hover:not(:disabled){background:var(--danger-2)}}.seg{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);padding:2px;display:inline-flex}.seg__item{padding:0 var(--s3);border-radius:var(--r-sm);height:26px;color:var(--muted);cursor:pointer;font-size:var(--fs-micro);white-space:nowrap;transition:background-color var(--fast) ease, color var(--fast) ease;background:0 0;border:0;font-weight:500}.seg__item.is-active{background:var(--paper);box-shadow:var(--shadow-sm);color:var(--ink)}.lang{gap:1px;display:inline-flex}.lang button{border-radius:var(--r-sm);width:30px;height:26px;color:var(--faint);cursor:pointer;font-size:var(--fs-micro);letter-spacing:.04em;background:0 0;border:0;font-weight:600}.lang button.is-active{background:var(--raised);color:var(--ink)}.lock{align-items:center;gap:var(--s2);padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-full);background:var(--paper);height:30px;color:var(--muted);cursor:pointer;font-size:var(--fs-micro);transition:border-color var(--fast) ease, color var(--fast) ease;font-weight:500;display:inline-flex}.lock.is-unlocked{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-2);color:var(--accent)}.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);min-width:0}.panel__head{justify-content:space-between;align-items:center;gap:var(--s4);min-height:46px;padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);display:flex}.panel__title{font-size:var(--fs-strong);letter-spacing:-.008em;font-weight:600}.panel__body{padding:var(--s3) var(--s5) var(--s5)}.panel__body--flush{padding:0}.count-badge{border-radius:var(--r-full);background:var(--raised);min-width:20px;height:20px;color:var(--ink-2);font-size:var(--fs-micro);place-items:center;padding:0 6px;font-weight:600;display:inline-grid}.label{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.label--name{font-size:var(--fs-meta);letter-spacing:0;text-transform:none}.section-label{justify-content:space-between;align-items:baseline;gap:var(--s4);margin-bottom:var(--s3);display:flex}.section-label__note{color:var(--muted);font-size:var(--fs-meta)}.kpis{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.kpi{padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}.kpi__value{margin:var(--s3) 0 var(--s1);font-size:var(--fs-lead);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600}.kpi__value.is-accent{color:var(--accent)}.label--tone{align-items:center;gap:var(--s2);display:inline-flex}.tone-dot{background:var(--ink-2);border-radius:50%;flex:none;width:7px;height:7px}.tone-dot--planned{background:var(--tone-planned)}.tone-dot--paid{background:var(--tone-paid)}.tone-dot--open{background:var(--tone-open)}.tone-planned{color:var(--tone-planned)}.tone-paid{color:var(--tone-paid)}.tone-open{color:var(--tone-open)}.kpi__value.is-warn{color:var(--warn)}.kpi__value.is-danger{color:var(--danger)}.kpi__meta{color:var(--muted);font-size:var(--fs-meta)}.project-cards{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.project-card{gap:var(--s3);padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);cursor:pointer;text-align:left;transition:border-color var(--fast) ease, transform var(--fast) var(--ease);display:grid}.project-card:active{transform:scale(.99)}.project-card__name{font-size:var(--fs-strong);font-weight:600}.project-card__rows{gap:var(--s2);margin:0;display:grid}.project-card__rows>div{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.project-card__rows dt{align-items:center;gap:var(--s2);color:var(--muted);font-size:var(--fs-meta);display:flex}.project-card__rows dd{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:500}@media (hover:hover) and (pointer:fine){.project-card:hover{border-color:var(--line-2)}}.bar{border-radius:var(--r-full);background:var(--raised);height:4px;overflow:hidden}.bar span{border-radius:var(--r-full);background:var(--accent);height:100%;transition:width .32s var(--ease);display:block}.bar span.is-over{background:var(--danger)}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:700px;font-size:var(--fs-base);table-layout:fixed}table.data :where(th,td){padding:var(--s3) var(--s4);text-align:left;vertical-align:middle;white-space:nowrap}table.data :where(th,td):not(.cell-control){text-overflow:ellipsis;overflow:hidden}table.data :where(td){color:var(--ink-2)}table.data thead th{border-bottom:1px solid var(--line);background:var(--paper-2);color:var(--muted);font-size:var(--fs-micro);letter-spacing:.05em;text-transform:uppercase;font-weight:600}table.data tbody tr{border-bottom:1px solid var(--line)}table.data tbody tr:last-child{border-bottom:0}.data--wide{min-width:1040px}.cell-num{font-variant-numeric:tabular-nums;text-align:right}th.cell-num .tone-dot{margin-right:var(--s2);vertical-align:1px}.cell-date{font-variant-numeric:tabular-nums;text-align:left}.cell-strong{color:var(--ink);font-weight:500}.cell-sub{color:var(--muted);font-size:var(--fs-meta);text-overflow:ellipsis;display:block;overflow:hidden}.cell-muted{color:var(--muted)}.cell-faint{color:var(--faint)}.cell-stack>*{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cell-action{text-align:right}.cell-control{overflow:visible}.sort-button{align-items:center;gap:var(--s1);color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0;display:inline-flex}.sort-button svg{opacity:0;transition:opacity var(--fast) ease}.sort-button.is-sorted{color:var(--ink)}.sort-button.is-sorted svg{opacity:1}@media (hover:hover) and (pointer:fine){table.data tbody tr:hover{background:var(--paper-2)}.sort-button:hover{color:var(--ink)}.sort-button:hover svg{opacity:.5}}tfoot.total td{border-top:1px solid var(--line-2);background:var(--paper-2);color:var(--ink);font-weight:600}.pill{align-items:center;gap:var(--s1);padding:2px var(--s2);border-radius:var(--r-full);background:var(--raised);color:var(--ink-2);font-size:var(--fs-micro);white-space:nowrap;border:1px solid #0000;font-weight:600;display:inline-flex}.pill--paid{background:var(--accent-2);color:var(--accent)}.pill--open{background:var(--warn-2);color:var(--warn)}.pill--overdue{background:var(--danger-2);color:var(--danger)}button.pill{cursor:pointer;transition:border-color var(--fast) ease, transform var(--fast) var(--ease)}button.pill:active:not(:disabled){transform:scale(.96)}button.pill:disabled{cursor:default}@media (hover:hover) and (pointer:fine){button.pill:hover:not(:disabled){border-color:currentColor}}.due-overdue{color:var(--danger);font-weight:500}.toolbar{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.toolbar__grow{flex:220px;min-width:180px}.search{display:block;position:relative}.search svg{top:50%;left:var(--s3);color:var(--faint);position:absolute;transform:translateY(-50%)}.search input{width:100%;height:32px;padding:0 var(--s3) 0 34px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--paper);font-size:var(--fs-meta)}.search input::placeholder{color:var(--faint)}select.control{height:32px;padding:0 var(--s2);border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--paper);cursor:pointer;font-size:var(--fs-meta)}.empty{gap:var(--s3);padding:var(--s7) var(--s5);color:var(--muted);text-align:center;justify-items:center;display:grid}.empty--compact{padding:var(--s5)}.banner{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--r-md);background:var(--danger-2);color:var(--danger);font-size:var(--fs-meta);display:flex}.splash{gap:var(--s4);min-height:100vh;color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.splash__brand{color:var(--ink);font-size:var(--fs-lead);letter-spacing:-.02em;font-weight:600}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toasts{z-index:60;right:var(--s5);bottom:var(--s5);gap:var(--s2);max-width:min(380px, calc(100vw - var(--s7)));display:grid;position:fixed}.toast{align-items:center;gap:var(--s3);padding:var(--s3) var(--s3) var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--shadow-lg);color:var(--ink);font-size:var(--fs-meta);animation:toast-in .2s var(--ease);display:flex}.toast p{flex:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.backdrop{z-index:50;padding:var(--s5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .16s var(--ease);background:#181a1861;place-items:center;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal{width:min(560px,100%);max-height:calc(100vh - var(--s7));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-lg);animation:modal-in .2s var(--ease);overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.99)}}.modal__head{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s4) var(--s4) var(--s4) var(--s5);border-bottom:1px solid var(--line);display:flex}.modal__head h2{font-size:var(--fs-title);letter-spacing:-.012em;font-weight:600}.modal__body{padding:var(--s5)}.summary{gap:var(--s2);margin-bottom:var(--s4);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);display:grid}.summary__row{justify-content:space-between;align-items:baseline;gap:var(--s4);font-size:var(--fs-meta);display:flex}.summary__row dt{color:var(--muted)}.summary__row dd{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:500}.modal__actions{align-items:center;gap:var(--s2);margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--line);display:flex}.modal__actions .spacer{flex:1}.form-grid{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}.form-grid .span-2{grid-column:span 2}.field{gap:var(--s2);min-width:0;display:grid}.field>span{color:var(--ink-2);font-size:var(--fs-meta);font-weight:500}.field input,.field select{width:100%;height:34px;padding:0 var(--s3);border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--paper);font-size:var(--fs-base)}.field input[type=date]{padding-right:var(--s2)}.field select:disabled{background:var(--paper-2);color:var(--muted)}.field small{color:var(--muted);font-size:var(--fs-micro)}.field-check{align-items:center;gap:var(--s2);height:34px;font-size:var(--fs-base);align-self:end;display:flex}.field-check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.static-field{gap:var(--s2);display:grid}.static-field b{align-items:center;height:34px;font-weight:500;display:flex}.tabs{gap:var(--s1);border-bottom:1px solid var(--line);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{padding:var(--s2) var(--s3) var(--s3);color:var(--muted);cursor:pointer;font-size:var(--fs-base);white-space:nowrap;transition:color var(--fast) ease;background:0 0;border:0;font-weight:500;position:relative}.tabs button:after{background:var(--accent);content:"";opacity:0;height:2px;transition:opacity var(--fast) ease;border-radius:2px 2px 0 0;position:absolute;inset:auto 0 -1px}.tabs button.is-active{color:var(--ink);font-weight:600}.tabs button.is-active:after{opacity:1}.project-summary{gap:var(--s5);padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.project-summary__item span{align-items:center;gap:var(--s2);color:var(--muted);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:600;display:flex}.project-summary__item b{font-variant-numeric:tabular-nums;margin-top:var(--s2);font-size:var(--fs-lead);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600;display:block}.project-summary__bar{grid-column:1/-1}.area-group td{border-top:1px solid var(--line);background:var(--paper-2);color:var(--muted);font-size:var(--fs-micro);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.tone-negative{color:var(--danger)}.danger-card{gap:var(--s3);padding:var(--s5);border:1px solid color-mix(in srgb, var(--danger) 30%, var(--line));border-radius:var(--r-lg);background:var(--paper);justify-items:start;display:grid}.danger-card p{color:var(--muted);font-size:var(--fs-meta)}.unlock-form{gap:var(--s4);max-width:340px;padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);display:grid}@media (max-width:900px){.sidebar{transition:transform .22s var(--ease);transform:translate(-100%)}.sidebar.is-open{box-shadow:var(--shadow-lg);transform:none}.main{margin-left:0}.scrim{z-index:35;background:#181a1859;position:fixed;inset:0}.content,.topbar{padding-left:var(--s5);padding-right:var(--s5)}}@media (min-width:901px){.menu-button{display:none}}@media (max-width:620px){.content{padding:var(--s5) var(--s4) var(--s7)}.topbar{padding:0 var(--s4)}.page-head h1{font-size:22px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.modal__actions{flex-wrap:wrap}.toasts{right:var(--s3);left:var(--s3);bottom:var(--s3);max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
