@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_49212deb-module__cozc6G__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_49212deb-module__cozc6G__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@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-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.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-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.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-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.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_1eb46fbc-module__X26yRG__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_1eb46fbc-module__X26yRG__variable{--font-body:"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.2vemzm0itqzfy.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/e532fa1b9921e1cd-s.3cb5lpr2l6xud.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.1u30mmyq6lnsd.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.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.1qc6dx89jd2qv.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/02263ebadd758ea4-s.29yke99gs9qpn.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.1i-sca43-qwng.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.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:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.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:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.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:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.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:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.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_751fc0c2-module__3RctcG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_751fc0c2-module__3RctcG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ground:#f3f4f1;--surface:#fff;--ink:#18202b;--ink-2:#505a68;--ink-3:#8a93a0;--line:#dee1dc;--track:#e7e9e4;--accent:#2f55d4;--ok:#1f8a5b;--warn:#c98a12;--bad:#d0402f;--buffer-fill:#c98a121f;--over-fill:#d0402f24;--seg-1:#2f55d4;--seg-2:#1f8a8a;--seg-3:#7a4fd0;--seg-4:#c2572d;--seg-5:#3c7a3a;--seg-6:#b23a7a;--seg-7:#4a6a8c;--seg-8:#9c7a1c;--display:var(--font-display), "Segoe UI", system-ui, sans-serif;--body:var(--font-body), "Segoe UI", system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, "SFMono-Regular", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#10151c;--surface:#18202a;--ink:#e9ecef;--ink-2:#a9b2be;--ink-3:#6e7886;--line:#2a3441;--track:#222b37;--accent:#7c9bff;--ok:#4cc08a;--warn:#e6ae3e;--bad:#ff7564;--buffer-fill:#e6ae3e24;--over-fill:#ff756429;--seg-1:#5b7ff0;--seg-2:#2fa3a3;--seg-3:#9373e6;--seg-4:#db7045;--seg-5:#5b9e58;--seg-6:#cf5a98;--seg-7:#6e8db0;--seg-8:#be9a35}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font:15px/1.5 var(--body);min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}[hidden]{display:none!important}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:8px 18px;max-width:1180px;margin:0 auto;padding:10px clamp(16px,4vw,48px);display:flex}.brand{font:700 17px/1 var(--display);letter-spacing:-.01em;margin-right:6px;text-decoration:none}.brand small{font:500 11px var(--mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-left:8px}.topnav{flex-wrap:wrap;gap:2px;display:flex}.topnav a{color:var(--ink-2);border-radius:8px;padding:6px 10px;font-size:13.5px;text-decoration:none}.topnav a:hover{background:var(--track);color:var(--ink)}.topnav a[aria-current=page]{background:var(--ink);color:var(--ground)}.topbar .spacer{flex:1}.userchip{color:var(--ink-3);align-items:center;gap:8px;font-size:12.5px;display:flex}.wrap{gap:16px;max-width:1180px;margin:0 auto;padding:16px clamp(16px,4vw,48px) 64px;display:grid}.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}h1{font:700 clamp(22px, 2.6vw, 28px)/1.1 var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0}h2{font:700 20px/1.2 var(--display);margin:0}h3{font:700 17px/1.2 var(--display);margin:0}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-flex}.btn:hover{color:var(--ink);border-color:var(--ink-3)}.btn.primary{background:var(--ink);color:var(--ground);border-color:var(--ink)}.btn.primary:hover{color:var(--ground);opacity:.9}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.5;cursor:default}.field{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.field input,.field select{color:var(--ink);background:0 0;border:0}.field input[type=number]{text-align:right;width:3.4em;font-family:var(--mono)}.input{border:1px solid var(--line);background:var(--ground);border-radius:8px;min-width:0;padding:8px 10px}select.input{background:var(--surface)}.weekrow{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 24px;display:flex}.weekswitch{align-items:center;gap:4px;min-width:0;padding-bottom:8px;display:flex}.weekswitch h1{white-space:nowrap;padding:0 4px}.weekswitch .icon-btn{padding:2px 8px;font-size:18px}.weekswitch .today{color:var(--ink-3);border:1px solid var(--line);border-radius:999px;margin-left:8px;padding:3px 8px;font-size:12.5px;text-decoration:none}.weekswitch .today:hover{color:var(--ink);border-color:var(--ink-3)}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tabs a{color:var(--ink-2);border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 12px;font-size:13.5px;font-weight:500;text-decoration:none}.empty-week{background:0 0;border-style:dashed}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.tabs a .num{color:var(--ink-3);margin-left:6px;font-size:12px}.tabs a[data-state=over] .num{color:var(--bad)}.tabs a[data-state=ok] .num{color:var(--ok)}.tabs a[data-state=buffer] .num{color:var(--warn)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:16px;padding:clamp(16px,2.5vw,26px);display:grid}.card.dashed{background:0 0;border-style:dashed}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.hint{color:var(--ink-3);margin:0;font-size:12.5px}.note{color:var(--ink-2);margin:0;font-size:13px}.msg{border-radius:8px;padding:8px 12px;font-size:13px}.msg.ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.msg.bad{color:var(--bad);background:var(--over-fill)}.readout{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;display:flex}.total{font:700 clamp(30px, 4vw, 44px)/.9 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.total small{color:var(--ink-3);letter-spacing:0;margin-left:6px;font-size:.42em;font-weight:500}.status{border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:9px;height:9px}.status[data-state=empty]{color:var(--ink-3);background:var(--track)}.status[data-state=ok]{color:var(--ok);background:color-mix(in srgb, var(--ok) 13%, transparent)}.status[data-state=buffer]{color:var(--warn);background:var(--buffer-fill)}.status[data-state=over]{color:var(--bad);background:var(--over-fill)}.status.small{padding:4px 10px;font-size:12.5px}.stats{color:var(--ink-2);flex-wrap:wrap;gap:8px 28px;font-size:13px;display:flex}.stats b{font:500 15px var(--mono);color:var(--ink);margin-right:4px}.bar-scroll{padding-bottom:4px;overflow-x:auto}.bar-area{min-width:560px;padding-top:26px;position:relative}.bar{background:var(--track);border-radius:10px;height:52px;position:relative;overflow:hidden}.card.compact{gap:12px;padding:14px clamp(14px,2vw,20px)}.card.compact .stats-row{flex-wrap:wrap;justify-content:space-between;gap:6px 20px;display:flex}.zone{position:absolute;top:0;bottom:0}.zone.buffer{background:repeating-linear-gradient(135deg, var(--buffer-fill) 0 8px, transparent 8px 16px);border-left:2px dashed var(--warn)}.zone.over{background:repeating-linear-gradient(135deg, var(--over-fill) 0 8px, transparent 8px 16px);border-left:2px solid var(--bad)}.segs{display:flex;position:absolute;inset:0}.seg{border-right:2px solid var(--surface);color:#fff;flex-direction:column;justify-content:space-between;min-width:0;height:100%;padding:8px;transition:width .35s,filter .15s;display:flex;position:relative;overflow:hidden}.seg .s-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}.seg .s-h{font:500 12px var(--mono);opacity:.85;white-space:nowrap}.seg.past-limit{background-image:repeating-linear-gradient(135deg,#ffffff47 0 6px,#0000 6px 12px)}.seg.hl,.seg:hover{filter:brightness(1.12)}.bar-empty{color:var(--ink-3);place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.marker{width:0;position:absolute;top:0;bottom:-6px}.marker:after{content:"";width:2px;position:absolute;top:24px;bottom:0;left:-1px}.marker span{white-space:nowrap;font:500 11.5px var(--mono);border-radius:4px;padding:2px 6px;position:absolute;top:0;transform:translate(-50%)}.marker.limit:after{background:var(--bad)}.marker.limit span{background:var(--bad);color:var(--surface)}.marker.target:after{background:var(--warn)}.marker.target span{color:var(--warn);background:var(--buffer-fill)}.ticks{height:22px;margin-top:6px;position:relative}.tick{font:11px var(--mono);color:var(--ink-3);position:absolute;top:0;transform:translate(-50%)}.tick:before{content:"";background:var(--ink-3);opacity:.6;width:1px;height:5px;margin:0 auto 2px;display:block}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 20px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:18px;height:10px;margin-right:6px;display:inline-block}.lists{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.list{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:12px;padding:18px;display:grid}.list.parked{background:0 0;border-style:dashed}.list-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.list-head .num{color:var(--ink-2);font-size:14px}ul.tasks{border-radius:10px;gap:6px;min-height:56px;margin:0;padding:0;list-style:none;display:grid}ul.tasks.drop-over{background:color-mix(in srgb, var(--accent) 8%, transparent);outline:2px dashed var(--accent);outline-offset:4px}.empty-note{color:var(--ink-3);text-align:center;border:1px dashed var(--line);border-radius:10px;padding:16px;font-size:13.5px}li.task{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:auto 6px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:8px 10px 8px 6px;display:grid}li.task.hl{border-color:var(--ink-3)}li.task.dragging{opacity:.4}li.task.drop-before{box-shadow:0 -3px 0 var(--accent)}.grip{cursor:grab;color:var(--ink-3);letter-spacing:-2px;background:0 0;border:0;padding:4px 2px;font-size:16px;line-height:1}.swatch{border-radius:3px;flex:none;width:6px;height:28px}.t-main{gap:2px;min-width:0;display:grid}.t-name{background:0 0;border:0;border-radius:6px;width:100%;min-width:0;padding:4px 6px;font-weight:500}.t-name:hover,.t-name:focus{background:var(--track)}.t-project{align-items:center;gap:6px;min-width:0;display:flex}.t-project select{text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;min-width:0;max-width:100%;padding:3px 4px;font-weight:500}.t-project select:hover,.t-project select:focus{background:var(--track)}.t-sub{color:var(--ink-3);align-items:center;gap:8px;padding-left:6px;font-size:12px;display:flex}.t-sub a{color:var(--ink-3)}.t-sub input{color:var(--ink-2);background:0 0;border:0;border-radius:4px;width:100%;min-width:0;padding:2px 4px;font-size:12px}.t-sub input:hover,.t-sub input:focus{background:var(--track)}.t-project .t-name{flex:auto}.t-sub-select select{color:var(--ink-3);background:0 0;border:0;border-radius:4px;max-width:100%;padding:2px 4px;font-size:12px}.t-sub-select select:hover,.t-sub-select select:focus{background:var(--track);color:var(--ink)}.kind{font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-3);white-space:nowrap;border-radius:4px;padding:1px 5px}.kind.linear{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.prio{border:1px solid var(--line);font:600 11px var(--mono);letter-spacing:.04em;color:var(--ink-2);background:0 0;border-radius:6px;min-width:64px;padding:3px 7px}.prio[data-p=must]{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, transparent)}.prio[data-p=should]{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.prio[data-p=could]{color:var(--ink-3)}.hours{border:1px solid var(--line);border-radius:8px;align-items:center;display:flex;overflow:hidden}.hours button{background:var(--track);width:28px;height:30px;color:var(--ink-2);border:0;font-size:16px}.hours button:hover{color:var(--ink)}.hours input{text-align:center;width:3.4em;font-family:var(--mono);font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;height:30px}.hours input::-webkit-inner-spin-button{display:none}.row-actions{gap:2px;display:flex}.icon-btn{color:var(--ink-3);background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:13px}.icon-btn:hover{color:var(--ink);background:var(--track)}.list.parked li.task{background:var(--ground)}.list.parked .swatch{opacity:.45}@media (max-width:560px){li.task{grid-template-columns:auto 6px minmax(0,1fr) auto}li.task .prio,li.task .hours{grid-column:3;justify-self:start}li.task .row-actions{grid-area:1/4}}.add{flex-wrap:wrap;gap:8px;display:flex}.add .input{flex:200px}.add .input.hours{font-family:var(--mono);flex:0 0 5.5em}.add select.input{flex:240px}.confirm{color:var(--bad);align-items:center;gap:6px;font-size:13px;display:inline-flex}body.present .edit-only{display:none!important}body.present li.task .grip,body.present li.task .row-actions{visibility:hidden;display:flex!important}body.present .t-name,body.present .t-project select,body.present .t-sub input{pointer-events:none}body.present .hours button{display:none}body.present .hours input{pointer-events:none}body.present .bar{height:92px}body.present .seg .s-name{font-size:14px}body.present .topnav,body.present .userchip form,body.present .weekswitch .today{display:none}.step-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:-12px;display:flex}.step-head h2{font-size:clamp(22px,2.6vw,28px)}.step-head .eyebrow{margin-bottom:6px;display:block}.plan-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.savestate{color:var(--ink-3);font-size:12px;font-family:var(--mono)}.savestate[data-s=saving]{color:var(--warn)}.savestate[data-s=error]{color:var(--bad)}.pool{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:10px;padding:16px 18px;display:grid}.pool.drop-over{outline:2px dashed var(--accent);outline-offset:3px}.pool-items{flex-wrap:wrap;gap:8px;display:flex}.pool-item{border:1px solid var(--line);background:var(--ground);cursor:grab;border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:6px 8px 6px 10px;display:flex}.pool-item.hl{border-color:var(--ink-3)}.pool-item .swatch{height:20px}.pool-item .p-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.pool-item .p-h{color:var(--ink-2);white-space:nowrap;font-size:13px}.pool-item.too-much{border-color:color-mix(in srgb, var(--bad) 45%, transparent);cursor:default}.pool-item.too-much .p-h{color:var(--bad)}.day-picks{gap:2px;display:flex}.day-picks button{border:1px solid var(--line);background:var(--surface);font:500 11px var(--mono);color:var(--ink-2);border-radius:6px;padding:3px 6px}.day-picks button:hover{color:var(--ink);border-color:var(--accent)}.pool-done{color:var(--ink-3);font-size:13.5px}.pool-done.ok{color:var(--ok);font-weight:600}.days{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}@media (max-width:900px){.days{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.day{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-content:start;gap:10px;padding:14px;display:grid}.day.drop-over{outline:2px dashed var(--accent);outline-offset:3px}.day-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.day-head .num{color:var(--ink-2);white-space:nowrap;font-size:13px}.day[data-state=over] .day-head .num{color:var(--bad);font-weight:500}.day[data-state=full] .day-head .num{color:var(--ok);font-weight:500}.day-meter{background:var(--track);border-radius:4px;height:8px;display:flex;position:relative;overflow:hidden}.day-meter i{border-right:1px solid var(--surface);height:100%;display:block}.day[data-state=over] .day-meter{box-shadow:inset 0 0 0 2px var(--bad)}.day-blocks{gap:6px;min-height:64px;display:grid}.day-empty{border:1px dashed var(--line);color:var(--ink-3);text-align:center;border-radius:10px;place-items:center;padding:12px;font-size:12.5px;display:grid}.block{border:1px solid var(--line);background:var(--ground);cursor:grab;border-radius:9px;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:7px 6px 7px 8px;display:grid}.block.hl{border-color:var(--ink-3)}.block.dragging,.pool-item.dragging{opacity:.4}.block .swatch{grid-row:span 2;width:5px;height:100%;min-height:34px}.block .b-name{overflow-wrap:anywhere;font-size:13.5px;font-weight:500;line-height:1.25}.block .b-del{grid-area:1/3}.block .b-hours{color:var(--ink-2);grid-column:2/span 2;align-items:center;gap:2px;font-size:12.5px;display:flex}.block .b-hours button{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--ink-2);border-radius:5px;padding:0;line-height:1}.block .b-hours .num{text-align:center;min-width:3.4em;color:var(--ink)}body.present .block .b-hours button{visibility:hidden}.team-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.person-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:10px;padding:16px;text-decoration:none;display:grid}.person-card:hover{border-color:var(--ink-3)}.person-card .pc-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.person-card .pc-total{font:700 30px/1 var(--display);font-variant-numeric:tabular-nums}.person-card .pc-total small{color:var(--ink-3);margin-left:4px;font-size:13px;font-weight:500}.mini-bar{background:var(--track);border-radius:5px;height:10px;display:flex;position:relative;overflow:hidden}.mini-bar i{border-right:1px solid var(--surface);height:100%;display:block}.mini-bar .mb-target{background:var(--warn);width:2px;position:absolute;top:0;bottom:0}.table-scroll{overflow-x:auto}table.matrix{border-collapse:collapse;width:100%;min-width:520px;font-size:13.5px}table.matrix th,table.matrix td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}table.matrix th{font:600 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}table.matrix td.n,table.matrix th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}table.matrix tr.sum td{border-top:2px solid var(--line);border-bottom:0;font-weight:600}table.matrix.fixed{table-layout:fixed}table.matrix.fixed th:first-child{width:110px}table.matrix td.zero{color:var(--ink-3)}table.matrix .pname{align-items:center;gap:8px;display:flex}table.matrix .pname a{color:var(--ink-3);font-size:12px;text-decoration:none}.dayblock{gap:2px;display:grid}.dayblock .db-item{align-items:center;gap:6px;font-size:12.5px;display:flex}.dayblock .db-item .swatch{width:4px;height:14px}.dayblock .db-item .num{color:var(--ink-3);margin-left:auto;padding-left:6px}.rows{gap:6px;display:grid}.row{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.row.inactive{opacity:.55}.row form{display:contents}.row .r-main{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;display:flex}.row .r-main .t-name{flex:180px;width:auto}.row .r-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:6px;display:flex}.row label.chk{color:var(--ink-2);align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.auth{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth form{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:12px;width:min(100%,380px);padding:28px;display:grid}.auth label{color:var(--ink-2);gap:4px;font-size:13px;display:grid}.auth .input{background:var(--ground)}.auth p{color:var(--ink-2);margin:0;font-size:13px}@media (prefers-reduced-motion:reduce){.seg{transition:none}}.linear-panel{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.issue-groups{gap:14px;display:grid}.issue-group{gap:6px;display:grid}.issue-group h3{color:var(--ink-2);font-size:13px;font-family:var(--body);font-weight:600}ul.issues{gap:4px;margin:0;padding:0;list-style:none;display:grid}.issue{border:1px solid var(--line);background:var(--ground);border-radius:8px;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 8px;font-size:13.5px;display:grid}.issue[data-state=started]{border-left:3px solid var(--accent)}.issue .issue-id{color:var(--ink-3);white-space:nowrap;font-size:12.5px;text-decoration:none}.issue .issue-id:hover{color:var(--accent)}.issue .issue-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.issue .issue-meta{color:var(--ink-3);white-space:nowrap;gap:8px;font-size:12px;display:flex}@media (max-width:700px){.issue{grid-template-columns:auto minmax(0,1fr) auto}.issue .issue-id{grid-column:1}.issue .issue-meta{display:none}}.health{color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.health:before{content:"";background:var(--ink-3);border-radius:50%;width:7px;height:7px}.health[data-h=onTrack]:before{background:var(--ok)}.health[data-h=atRisk]:before{background:var(--warn)}.health[data-h=offTrack]:before{background:var(--bad)}.progress{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.progress i{background:var(--track);border-radius:3px;width:56px;height:6px;display:inline-block;position:relative;overflow:hidden}.progress i:after{content:"";width:var(--p);background:var(--accent);position:absolute;inset:0}.deadline{font-family:var(--mono);white-space:nowrap;font-size:12.5px}.deadline[data-soon=true]{color:var(--warn);font-weight:600}.deadline[data-past=true]{color:var(--bad);font-weight:600}.alerts{gap:8px;display:grid}.alert{background:var(--buffer-fill);color:var(--warn);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 10px;font-size:13px;display:flex}.alert[data-level=bad]{background:var(--over-fill);color:var(--bad)}.alert b{font-weight:600}.alert a{color:inherit}.milestones{color:var(--ink-3);gap:2px;font-size:12px;display:grid}.day-loc{align-items:center;display:inline-flex;position:relative}.day-loc select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.loc-chip{font:500 11.5px var(--mono);letter-spacing:.03em;border:1px solid var(--line);color:var(--ink-3);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.loc-chip:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.loc-chip[data-loc=kantoor]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.loc-chip[data-loc=klant]{color:var(--seg-4);border-color:color-mix(in srgb, var(--seg-4) 45%, transparent)}.loc-chip[data-loc=thuis]{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.loc-chip[data-loc=vrij]{color:var(--ink-3);border-style:dashed}.day-loc:hover .loc-chip{border-color:var(--ink-3);color:var(--ink)}body.present .day-loc select{display:none}.dayblock .loc-chip{justify-self:start;margin-bottom:4px}
