@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:600;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:600;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:600;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_7706ae-module__rsRD2a__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_7706ae-module__rsRD2a__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.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:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.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:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.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:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.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:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.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:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.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:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_569e7d0b-module__7FdnQa__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_569e7d0b-module__7FdnQa__variable{--font-body:"Instrument Sans", "Instrument 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 Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_9d88f727-module__1NxLqG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_9d88f727-module__1NxLqG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#f2f3f7;--surface:#fff;--surface-2:#f7f8fb;--sunken:#e9ebf2;--ink:#12152a;--ink-2:#3b4062;--muted:#686d8d;--faint:#9a9eb8;--line:#e1e3ec;--line-2:#cdd0dd;--accent:#2d3fd0;--accent-ink:#fff;--accent-soft:#e6e9fc;--client:#a2357a;--client-soft:#f7e8f1;--good:#17804d;--good-soft:#e2f3ea;--warn:#a36000;--warn-soft:#fbf0dc;--bad:#c22d38;--bad-soft:#fbe5e7;--strip:#12152a;--strip-2:#1e2240;--strip-line:#343a5e;--strip-ink:#c5c9e2;--strip-tag:#b9c1ff;--shadow:0 1px 2px #12152a0f,0 10px 28px -14px #12152a38;--r:10px;--f-display:var(--font-display),"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--f-body:var(--font-body),"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:var(--font-mono),"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0c0e18;--surface:#141726;--surface-2:#191d2f;--sunken:#0f1220;--ink:#e8eaf6;--ink-2:#bfc3db;--muted:#8c91b0;--faint:#636888;--line:#252a40;--line-2:#363c58;--accent:#8c98ff;--accent-ink:#0c0e18;--accent-soft:#1f2550;--client:#e27bb8;--client-soft:#351a2d;--good:#4fc48b;--good-soft:#11301f;--warn:#e7a64a;--warn-soft:#35260e;--bad:#f2707a;--bad-soft:#3a161b;--strip:#05060c;--strip-2:#171a2b;--strip-line:#2a2f48;--strip-ink:#aeb3cf;--strip-tag:#8c98ff;--shadow:0 1px 2px #0006,0 12px 30px -12px #000000a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg)}body{font-family:var(--f-body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;letter-spacing:-.012em;margin:0;font-weight:600}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:5px}.ic{flex:none;width:16px;height:16px}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--f-mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.grow{flex:1}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.stack{flex-direction:column;gap:18px;min-width:0;display:flex}.txt-bad{color:var(--bad)}.app{grid-template-columns:236px minmax(0,1fr);align-items:start;display:grid}.side{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:16px;height:100dvh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side-scrim{display:none}.brand{align-items:center;gap:10px;padding:2px 8px;display:flex}.logo{flex:none;width:30px;height:30px}.logo .l1{fill:var(--accent)}.logo .l2{fill:var(--ink)}.brand-name{font-family:var(--f-display);letter-spacing:-.02em;font-size:19px;font-weight:700;line-height:1}.brand-sub{color:var(--muted);margin-top:3px;font-size:11.5px}.nav{flex-direction:column;gap:2px;display:flex}.nav-a{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-weight:500;display:flex}.nav-a:hover{background:var(--surface-2);color:var(--ink)}.nav-a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-n{background:var(--bad);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.nav-a.on .nav-n{background:var(--accent);color:var(--accent-ink)}.side-foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:10px 8px 0;display:flex}.sf-name{font-size:13px;font-weight:600;line-height:1.2}.sf-role{color:var(--muted);font-size:12px}.main{min-width:0}.top{top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:58px;padding-inline:28px;display:flex;position:sticky}.top-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.top-r{align-items:center;gap:8px;margin-left:auto;display:flex}.search{background:var(--surface);border:1px solid var(--line);height:34px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;width:240px;padding:0 10px;display:flex}.search input{width:100%;height:100%;color:var(--ink);background:0 0;border:0;outline:0}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.icon-btn{width:34px;height:34px;color:var(--ink-2);border-radius:8px;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--sunken);color:var(--ink)}.only-m{display:none}.page{flex-direction:column;gap:22px;max-width:1380px;padding-block:26px 80px;padding-inline:28px;display:flex}.bell-wrap{position:relative}.dot-n{background:var(--bad);color:#fff;border:2px solid var(--bg);border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:grid;position:absolute;top:3px;right:2px}.pop{background:var(--surface);border:1px solid var(--line);width:min(360px,100vw - 32px);box-shadow:var(--shadow);z-index:50;border-radius:12px;position:absolute;top:42px;right:0;overflow:hidden}.pop-h{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 14px;font-weight:600;display:flex}.pop li button{border-bottom:1px solid var(--line);grid-template-columns:8px minmax(0,1fr);gap:10px;width:100%;padding:11px 14px;display:grid}.pop li:last-child button{border-bottom:0}.pop li button:hover{background:var(--surface-2)}.pop .unread-dot{background:0 0;border-radius:50%;width:8px;height:8px;margin-top:6px}.pop .unread .unread-dot{background:var(--accent)}.pop-t{font-size:13px;line-height:1.35}.pop-at{color:var(--muted);margin-top:2px;font-size:11.5px}.pop-empty{color:var(--muted);padding:18px 14px}.btn{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:7px 13px;font-size:13.5px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--faint);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.btn.client-btn{background:var(--client);border-color:var(--client);color:var(--accent-ink)}.btn.client-btn:hover{background:color-mix(in srgb,var(--client) 88%,var(--ink))}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--sunken);color:var(--ink)}.btn.sm{border-radius:7px;padding:4px 9px;font-size:12.5px}.btn.sm .ic{width:14px;height:14px}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.pill{white-space:nowrap;background:var(--sunken);color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:1px 8px 1px 7px;font-size:11.5px;font-weight:600;line-height:19px;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.t-good{background:var(--good-soft);color:var(--good)}.t-warn{background:var(--warn-soft);color:var(--warn)}.t-bad{background:var(--bad-soft);color:var(--bad)}.t-client{background:var(--client-soft);color:var(--client)}.t-accent{background:var(--accent-soft);color:var(--accent)}.chip{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}a.chip:hover{border-color:var(--line-2);color:var(--ink);text-decoration:none}.chip .ic{width:14px;height:14px}.track-tag{font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:500}.track-tag.seo{background:var(--good-soft);color:var(--good)}.av{background:var(--av);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid}.av-xs{width:18px;height:18px;font-size:8px}.av-sm{width:22px;height:22px;font-size:9.5px}.av-md{width:32px;height:32px;font-size:12px}.av-lg{width:40px;height:40px;font-size:14px}.av-client{border-radius:28%}.dotsep{background:var(--faint);border-radius:50%;flex:none;width:3px;height:3px;display:inline-block}.ph{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;display:flex}.ph h1{margin-top:4px;font-size:30px;line-height:1.1}.ph .sub{color:var(--muted);margin-top:6px}.ph-act{flex-wrap:wrap;gap:8px;display:flex}.crumb{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.crumb button{color:var(--muted)}.crumb button:hover{color:var(--accent)}.meta-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:13.5px;display:flex}.meta-line .ic{width:14px;height:14px}.meta-line span.who{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0}.panel-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:13px 18px;display:flex}.panel-h h2{font-size:15.5px}.panel-b{padding:16px 18px}.panel-f{border-top:1px solid var(--line);padding:10px 18px}.cols{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.empty{color:var(--muted);text-align:center;padding:26px 18px}.stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r);flex-wrap:wrap;gap:1px;display:flex;overflow:hidden}.stat{background:var(--surface);text-align:left;flex-direction:column;flex:170px;gap:2px;padding:14px 18px;display:flex}.stat:hover{background:var(--surface-2)}.stat-v{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1.1}.stat-l{font-size:13px;font-weight:600}.stat-s{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stat.bad .stat-v{color:var(--bad)}.stat.client .stat-v{color:var(--client)}.stat.good .stat-v{color:var(--good)}.att li button{border-top:1px solid var(--line);grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:11px 18px 11px 14px;display:grid}.att li:first-child button{border-top:0}.att li button:hover{background:var(--surface-2)}.att-s{background:var(--line-2);border-radius:2px;align-self:stretch}.att .bad .att-s{background:var(--bad)}.att .warn .att-s{background:var(--warn)}.att .client .att-s{background:var(--client)}.att-t{font-size:13.5px;font-weight:600}.att-sub{color:var(--muted);font-size:12.5px}.att .ic{color:var(--faint)}.pipes{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px 28px;padding:14px 18px 16px;display:grid}.pipe-h{border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:4px;padding-bottom:6px;font-size:13px;font-weight:600;display:flex}.pipe-r{border-radius:6px;grid-template-columns:minmax(0,1fr) 72px 18px;align-items:center;gap:10px;width:100%;padding:5px 4px;font-size:13px;display:grid}.pipe-r:hover{background:var(--surface-2)}.pipe-n{white-space:nowrap;text-overflow:ellipsis;color:var(--ink-2);overflow:hidden}.pipe-bar{background:var(--sunken);border-radius:4px;height:8px;overflow:hidden}.pipe-bar i{background:var(--accent);border-radius:4px;height:100%;display:block}.pipe-r.gate .pipe-bar i{background:var(--client)}.pipe-r.fin .pipe-bar i{background:var(--good)}.pipe-c{text-align:right;font-weight:600}.rday-top{justify-content:space-between;gap:12px;padding:16px 18px 10px;display:flex}.rday-date{font-family:var(--f-display);margin-top:2px;font-size:26px;font-weight:600;line-height:1.15}.rday-n{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.rday-n b{font-family:var(--f-display);color:var(--accent);font-size:40px;font-weight:600;line-height:1}.rday-n span{color:var(--muted);font-size:12px}.rday-steps{gap:8px;padding:4px 18px 14px;display:grid}.rday-steps li{grid-template-columns:36px minmax(0,1fr) 80px 34px;align-items:center;gap:10px;font-size:13px;display:grid}.rday-day{font-family:var(--f-mono);color:var(--muted);font-size:11.5px}.rday-bar{background:var(--sunken);border-radius:3px;height:6px;overflow:hidden}.rday-bar i{background:var(--accent);height:100%;display:block}.rday-steps .over .rday-day{color:var(--bad);font-weight:500}.rday-c{text-align:right;color:var(--muted)}.mini-list li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 18px;display:flex}.mini-list li:first-child{border-top:0}.mini-list .ml-main{flex:1;min-width:0}.mini-list .ml-t{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.mini-list .ml-s{color:var(--muted);font-size:12.5px}.mini-list button.ml-t{text-align:left;max-width:100%}.mini-list button.ml-t:hover{color:var(--accent)}.date-block{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:none;width:44px;overflow:hidden}.date-block b{font-family:var(--f-display);font-size:18px;line-height:1.3;display:block}.date-block span{text-transform:uppercase;letter-spacing:.06em;background:var(--good-soft);color:var(--good);font-size:10px;font-weight:600;display:block}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2);padding:9px 14px;font-size:11px;font-weight:600}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.tbl tr:last-child td{border-bottom:0}.tbl th:first-child,.tbl td:first-child{padding-left:18px}.row-link{cursor:pointer}.row-link:hover td{background:var(--surface-2)}.cl-name{text-align:left;font-size:14px;font-weight:600}.cl-name:hover{color:var(--accent)}.cl-sub{color:var(--muted);font-size:12.5px}.sc{flex-direction:column;gap:5px;min-width:190px;display:flex}.sc-name{font-size:13px;font-weight:600}.sc-meta{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.mini{gap:2px;width:150px;display:flex}.mini i{background:var(--sunken);border-radius:2px;flex:1;height:4px}.mini i.d{background:var(--accent)}.mini i.dg{background:var(--client)}.mini i.n{background:var(--accent);opacity:.45}.mini i.ng{background:var(--client);opacity:.5}.mini i.f{background:var(--good)}.seg{background:var(--sunken);border-radius:9px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);border-radius:7px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:500;display:inline-flex}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001a}.seg .c{color:var(--muted);font-size:11px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:6px;padding-inline:14px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:13px 8px 11px;font-weight:500;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--ink);border-color:var(--accent);font-weight:600}.tab-n{background:var(--sunken);color:var(--ink-2);border-radius:999px;padding:0 6px;font-size:11px;line-height:17px}.track .panel-h{border-bottom:0;padding-bottom:6px}.th-l{align-items:center;gap:10px;min-width:0;display:flex}.stage-track{grid-auto-columns:minmax(118px,1fr);grid-auto-flow:column;gap:6px;padding:8px 18px 14px;display:grid;overflow-x:auto}.leg{min-width:0}.leg-bar{background:var(--sunken);border-radius:4px;height:7px}.leg.done .leg-bar{background:var(--accent)}.leg.done.gate .leg-bar{background:var(--client)}.leg.fin .leg-bar{background:var(--good)}.leg.now .leg-bar{background:repeating-linear-gradient(-45deg,var(--accent) 0 5px,color-mix(in srgb,var(--accent) 40%,var(--surface)) 5px 10px);box-shadow:0 0 0 3px var(--accent-soft);background-size:14.14px 14.14px;animation:1.1s linear infinite baton}.leg.now.gate .leg-bar{background:repeating-linear-gradient(-45deg,var(--client) 0 5px,color-mix(in srgb,var(--client) 40%,var(--surface)) 5px 10px);box-shadow:0 0 0 3px var(--client-soft);background-size:14.14px 14.14px}@keyframes baton{to{background-position:14.14px 0}}.leg-name{gap:6px;margin-top:9px;font-size:12.5px;font-weight:600;line-height:1.25;display:flex}.leg-i{font-family:var(--f-mono);color:var(--faint);padding-top:1px;font-size:10.5px;font-weight:400}.leg.todo .leg-name{color:var(--muted);font-weight:500}.leg-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;margin-top:5px;font-size:11.5px;display:flex}.leg.now .leg-meta{color:var(--ink-2);font-weight:500}.now{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin:0 18px 14px;padding:13px 16px;display:flex}.now.gate{background:var(--client-soft);border-color:color-mix(in srgb,var(--client) 28%,transparent)}.now.fin{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 25%,transparent)}.now-stage{font-family:var(--f-display);margin-top:1px;font-size:19px;font-weight:600;line-height:1.2}.now-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;font-size:13px;display:flex}.now-meta .who{align-items:center;gap:6px;display:inline-flex}.now-r{flex-wrap:wrap;gap:8px;display:flex}.track-links{flex-wrap:wrap;gap:8px;padding:0 18px 16px;display:flex}.golive{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:7px;align-items:center;gap:6px;padding:2px 4px 2px 10px;font-size:12.5px;display:inline-flex}.golive .ic{width:14px;height:14px}.golive input{color:var(--ink);background:0 0;border:0;padding:3px 4px;font-size:12.5px}.feed li{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:13px 0;display:grid}.feed li+li{border-top:1px solid var(--line)}.f-head{color:var(--ink-2);font-size:13.5px;line-height:1.45}.f-head b{color:var(--ink);font-weight:600}.f-body{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin-top:7px;padding:9px 12px}.f-body.cl{background:var(--client-soft);border-color:color-mix(in srgb,var(--client) 22%,transparent)}.f-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:5px;font-size:12px;display:flex}.vis{align-items:center;gap:4px;display:inline-flex}.vis .ic{width:13px;height:13px}.vis.cl{color:var(--client);font-weight:500}.ho{font-family:var(--f-mono);background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:12px}.composer{border:1px solid var(--line-2);background:var(--surface);border-radius:10px;margin-bottom:6px}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer textarea{resize:vertical;background:0 0;border:0;outline:0;width:100%;min-height:62px;padding:11px 13px}.composer-f{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:7px 8px 7px 12px;display:flex}.switch{cursor:pointer;color:var(--ink-2);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13px;font-weight:500;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.sw{background:var(--line-2);border-radius:999px;flex:none;width:32px;height:18px;transition:background .15s;position:relative}.sw:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch input:checked+.sw{background:var(--client)}.switch input:checked+.sw:after{transform:translate(14px)}.switch input:focus-visible+.sw{outline:2px solid var(--accent);outline-offset:2px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>label,.flabel{color:var(--ink-2);font-size:12.5px;font-weight:600}.field input:not([type=checkbox]),.field select,.field textarea,.inp{border:1px solid var(--line-2);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;outline:0;padding:8px 11px}.field input:focus,.field select:focus,.field textarea:focus,.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{resize:vertical}.hint{color:var(--muted);font-size:12px}.grid2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.checks{flex-wrap:wrap;gap:8px;display:flex}.check{border:1px solid var(--line-2);cursor:pointer;border-radius:9px;flex:200px;align-items:flex-start;gap:9px;padding:10px 12px;display:flex}.check:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.check input{accent-color:var(--accent);margin-top:3px}.check b{font-size:13.5px;display:block}.check span{color:var(--muted);font-size:12px}.tasks li{border-top:1px solid var(--line);grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 0;display:grid}.tasks li:first-child{border-top:0}.tasks input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;margin-top:2px}.task-t{font-weight:500}.done .task-t{color:var(--muted);text-decoration:line-through}.task-s{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:2px;font-size:12px;display:flex}.due{font-size:12px;font-family:var(--f-mono);color:var(--muted);white-space:nowrap;padding-top:2px}.due.late{color:var(--bad);font-weight:500}.due.soon{color:var(--warn)}.add-row{grid-template-columns:minmax(0,1fr) 150px 140px auto;gap:8px;margin-bottom:12px;display:grid}.fb{border-top:1px solid var(--line);padding:14px 0}.fb:first-child{border-top:0;padding-top:4px}.fb-top{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.fb-where{font-family:var(--f-mono);background:var(--sunken);color:var(--ink-2);border-radius:4px;padding:1px 7px;font-size:11.5px}.fb-text{overflow-wrap:anywhere;margin-top:8px;font-size:14px}.fb-replies{border-left:2px solid var(--line);gap:8px;margin-top:10px;padding-left:14px;display:grid}.fb-reply{font-size:13px}.fb-reply b{font-weight:600}.fb-form{gap:8px;margin-top:10px;display:flex}.fb-form input{flex:1;min-width:0}.fb-status{border:1px solid var(--line-2);background:var(--surface);border-radius:7px;padding:3px 8px;font-size:12.5px}.kanban{grid-auto-columns:minmax(232px,1fr);grid-auto-flow:column;align-items:start;gap:10px;padding-bottom:10px;display:grid;overflow-x:auto}.kcol{background:var(--sunken);border-radius:var(--r);border:1px solid #0000;flex-direction:column;gap:8px;min-height:300px;padding:8px;display:flex}.kcol.gate{background:color-mix(in srgb,var(--client-soft) 70%,var(--sunken))}.kcol.over{border:1px dashed var(--accent);background:var(--accent-soft)}.kcol-h{justify-content:space-between;align-items:center;gap:8px;padding:4px 6px 2px;font-size:13px;font-weight:600;display:flex}.kcol-n{color:var(--muted);font-size:12px;font-weight:500}.kcol-tag{color:var(--client);margin-top:-4px;padding:0 6px;font-size:11px;font-weight:600}.kcard{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex-direction:column;gap:8px;padding:10px 11px;display:flex}.kcard[draggable=true]{cursor:grab}.kcard:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.kcard.dragging{opacity:.4}.kc-name{font-size:13.5px;font-weight:600;line-height:1.3}.kc-meta{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.kc-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.kcol-empty{color:var(--faint);text-align:center;padding:14px 0;font-size:12.5px}.gantt{border-top:1px solid var(--line);overflow-x:auto}.g-grid{min-width:max-content;display:grid}.g-lab{z-index:3;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-width:0;height:44px;padding:0 14px 0 18px;display:flex;position:sticky;left:0}.g-lab button{white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:13px;font-weight:600;overflow:hidden}.g-lab button:hover{color:var(--accent)}.g-lab small{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.g-head-l{border-bottom:1px solid var(--line);background:var(--surface-2);height:34px}.g-head{border-bottom:1px solid var(--line);background:var(--surface-2);height:34px;position:relative}.g-m{border-left:1px solid var(--line);color:var(--muted);white-space:nowrap;padding:9px 8px 0;font-size:11.5px;font-weight:600;position:absolute;top:0;bottom:0;overflow:hidden}.g-lane{border-bottom:1px solid var(--line);height:44px;position:relative}.g-mline{border-left:1px solid var(--line);position:absolute;top:0;bottom:0}.g-today{border-left:2px solid var(--ink);opacity:.55;z-index:1;position:absolute;top:0;bottom:0}.g-today-l{font-size:10.5px;font-family:var(--f-mono);background:var(--ink);color:var(--bg);z-index:2;white-space:nowrap;border-radius:4px;padding:1px 6px;position:absolute;top:8px;transform:translate(-50%)}.g-bar{white-space:nowrap;z-index:1;border-radius:5px;height:20px;padding:0 6px;font-size:11px;font-weight:600;line-height:20px;position:absolute;top:12px;overflow:hidden}.g-bar span{text-overflow:ellipsis;display:block;overflow:hidden}.b-done{background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--ink-2)}.b-client{background:color-mix(in srgb,var(--client) 22%,var(--surface));color:var(--ink-2)}.b-now{background:var(--accent);color:var(--accent-ink)}.b-now-client{background:var(--client);color:var(--accent-ink)}.b-late{background:repeating-linear-gradient(-45deg,var(--bad) 0 4px,color-mix(in srgb,var(--bad) 45%,var(--surface)) 4px 8px);z-index:1}.b-plan{background:var(--surface);border:1px dashed var(--line-2);color:var(--muted);font-weight:500;line-height:18px}.b-live{background:color-mix(in srgb,var(--good) 16%,var(--surface));color:var(--good)}.g-dia{background:var(--good);z-index:2;width:12px;height:12px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;top:16px;transform:translate(-6px)rotate(45deg)}.g-dot{background:var(--warn);z-index:2;border-radius:50%;width:5px;height:5px;position:absolute;top:36px;transform:translate(-2.5px)}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;padding:12px 18px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:18px;height:10px;display:inline-block}.legend i.dia{background:var(--good);border-radius:1px;width:9px;height:9px;transform:rotate(45deg)}.legend i.dot{background:var(--warn);border-radius:50%;width:6px;height:6px}.sched{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.sched>div{background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 14px;padding:14px 16px;display:grid}.sched-d{text-align:center;border:1px solid var(--line-2);border-radius:8px;grid-row:span 3;width:50px;overflow:hidden}.sched-d b{font-family:var(--f-display);font-size:22px;line-height:1.35;display:block}.sched-d span{letter-spacing:.08em;text-transform:uppercase;background:var(--sunken);color:var(--muted);font-size:10px;font-weight:600;display:block}.sched .over .sched-d{border-color:var(--bad)}.sched .over .sched-d span{background:var(--bad);color:#fff}.sched .complete .sched-d span{background:var(--good);color:#fff}.sched-n{font-weight:600}.sched-w{color:var(--muted);font-size:12px}.sched-p{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.sched-p .rday-bar{flex:1}.rc-in{flex-direction:column;align-items:flex-start;gap:5px;min-width:120px;display:flex}.rc-ok{color:var(--good);align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.rc-ok .ic{width:14px;height:14px}.rc-by{color:var(--muted);font-size:12px}.rc-due{color:var(--ink-2);font-size:12.5px}.rc-wait{color:var(--faint);font-size:12.5px}td.rc-overdue{background:color-mix(in srgb,var(--bad-soft) 55%,transparent)}.member{border-top:1px solid var(--line);grid-template-columns:minmax(200px,1.1fr) minmax(0,2fr) 170px;align-items:center;gap:16px;padding:14px 18px;display:grid}.member:first-child{border-top:0}.m-who{align-items:center;gap:10px;min-width:0;display:flex}.m-name{font-weight:600}.m-title{color:var(--muted);font-size:12.5px}.m-work{flex-wrap:wrap;gap:6px;display:flex}.m-work button.chip:hover{border-color:var(--line-2);color:var(--ink)}.load{gap:4px;display:grid}.load-bar{background:var(--sunken);border-radius:4px;height:8px;overflow:hidden}.load-bar i{background:var(--good);border-radius:4px;height:100%;display:block}.load-bar.warn i{background:var(--warn)}.load-bar.bad i{background:var(--bad)}.load-l{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.group-h{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 18px}.group-h:first-child{border-radius:var(--r) var(--r) 0 0;border-top:0}.desk-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;padding:14px 18px 18px;display:grid}.desk{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.desk.late{border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.desk-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.desk-p{font-size:13.5px;font-weight:600}.desk-p:hover{color:var(--accent)}.desk-stage{font-family:var(--f-display);font-size:18px;font-weight:600;line-height:1.2}.desk-f{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.desk .mini{width:100%}.scrim{z-index:100;background:#080a1680;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}dialog.modal{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;width:min(580px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow-y:auto;box-shadow:0 30px 80px -20px #00000080}dialog.modal::backdrop{background:#080a1680}dialog.modal.wide{width:min(820px,100vw - 32px)}.m-h{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.m-h h2{font-size:20px}.m-h p{margin-top:3px;font-size:13px}.m-form{flex-direction:column;gap:14px;padding:4px 20px 0;display:flex}.m-f{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:4px;padding:14px 0 18px;display:flex}.m-body{flex-direction:column;gap:16px;padding:4px 20px 20px;display:flex}.ho-route{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;display:grid}.ho-route b{font-family:var(--f-display);margin:2px 0;font-size:16px;font-weight:600;display:block}.ho-route span.who{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.ho-arrow{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid}.client-msg{background:var(--client-soft);border-radius:10px;gap:10px;padding:12px}.client-msg textarea{border-color:color-mix(in srgb,var(--client) 30%,var(--line-2))}.metrics{background:var(--line);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.metric{background:var(--surface);padding:12px 14px}.metric-v{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.15}.metric-l{color:var(--muted);font-size:12px}.delta{font-size:12px;font-weight:600}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.spark{width:100%;height:auto;display:block}.spark .grid{stroke:var(--line);stroke-width:1px}.spark .area{fill:var(--accent);fill-opacity:.12}.spark .line{fill:none;stroke:var(--accent);stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.spark .pt{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.spark .end{fill:var(--accent)}.spark text{fill:var(--muted);font-size:11px;font-family:var(--f-body)}.spark text.val{fill:var(--ink);font-size:12px;font-weight:600}.kw-pos{font-family:var(--f-mono);font-weight:500}.chg{font-size:12px;font-weight:600;font-family:var(--f-mono)}.chg.up{color:var(--good)}.chg.down{color:var(--bad)}.chg.flat{color:var(--faint)}.portal{max-width:1120px;margin:0 auto;padding-block:0 80px;padding-inline:20px}.p-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-block:18px;display:flex}.p-top-r{align-items:center;gap:10px;display:flex}.p-me{align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.p-hero{gap:12px;padding-block:34px 24px;display:grid}.p-hero h1{letter-spacing:-.025em;max-width:20ch;font-size:clamp(30px,5vw,50px);line-height:1.03}.p-sub{color:var(--ink-2);max-width:62ch;font-size:16px}.p-pm{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:6px;display:flex}.p-pm-n{font-weight:600;line-height:1.2}.p-pm .muted{font-size:12.5px}.p-upd{margin-left:auto;font-size:12.5px}.action{background:var(--client-soft);border:1px solid color-mix(in srgb,var(--client) 30%,transparent);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 26px;margin-bottom:12px;padding:20px 22px;display:grid}.action h2{margin-top:4px;font-size:21px}.action p{color:var(--ink-2);max-width:60ch;margin-top:4px}.action .eyebrow{color:var(--client)}.a-due{font-size:13px;font-weight:500}.a-btns{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.p-tabs{border-bottom:1px solid var(--line);gap:4px;margin:18px 0;display:flex;overflow-x:auto}.p-tabs button{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:12px 12px 11px;font-size:14.5px;font-weight:500;display:inline-flex}.p-tabs button.on{color:var(--ink);border-color:var(--client);font-weight:600}.p-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.journey{padding:4px 0}.journey li{grid-template-columns:28px minmax(0,1fr);gap:14px;padding-bottom:18px;display:grid;position:relative}.journey li:last-child{padding-bottom:0}.journey li:before{content:"";background:var(--line);border-radius:1px;width:2px;position:absolute;top:30px;bottom:2px;left:13px}.journey li:last-child:before{display:none}.journey li.j-done:before{background:var(--accent)}.j-dot{border:2px solid var(--line-2);background:var(--surface);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid}.j-dot .ic{width:14px;height:14px}.j-done .j-dot{background:var(--accent);border-color:var(--accent)}.j-now .j-dot{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.j-now .j-dot:after{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px}.j-now.gate .j-dot{border-color:var(--client);box-shadow:0 0 0 4px var(--client-soft)}.j-now.gate .j-dot:after{background:var(--client)}.j-live .j-dot{background:var(--good);border-color:var(--good)}.j-name{padding-top:3px;font-size:14.5px;font-weight:600}.j-next .j-name{color:var(--muted);font-weight:500}.j-date{color:var(--muted);font-size:12.5px}.j-now .j-date{color:var(--accent);font-weight:600}.j-now.gate .j-date{color:var(--client)}.j-desc{color:var(--ink-2);max-width:52ch;margin-top:4px;font-size:13.5px}.kd li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 18px;font-size:13.5px;display:flex}.kd li:first-child{border-top:0}.kd b{text-align:right;font-weight:600}.steps4{gap:10px;padding:14px 18px 16px;display:grid}.steps4 li{align-items:center;gap:10px;font-size:13.5px;display:flex}.s4-dot{border:2px solid var(--line-2);width:20px;height:20px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.s4-dot .ic{width:12px;height:12px}.steps4 .ok .s4-dot{background:var(--good);border-color:var(--good)}.steps4 .ok span.l{color:var(--ink)}.steps4 span.l{color:var(--muted)}.steps4 span.d{color:var(--muted);font-size:12px;font-family:var(--f-mono);margin-left:auto}.arch{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.arch-card{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.arch-card:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.arch-card h3{font-size:18px}.arch-m{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.arch-m b{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:18px;display:block}.arch-m span{color:var(--muted);font-size:11.5px}.side-note{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:0 8px;padding:9px 10px;font-size:12px;line-height:1.4}.side-note a{color:inherit;font-weight:600;text-decoration:underline}.side-foot form{margin-left:auto}.form-error{color:var(--bad);background:var(--bad-soft);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500}.form-ok{color:var(--good);background:var(--good-soft);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500}.inline-form{display:inline-flex}.auth{place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.auth-card{flex-direction:column;gap:22px;width:min(420px,100%);display:flex}.auth-card .panel{padding:24px}.auth-card h1{font-size:28px}.auth-card form{flex-direction:column;gap:14px;display:flex}.demo-users{gap:4px;display:grid}.demo-users form{display:block}.demo-users button{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 8px;display:flex}.demo-users button:hover{background:var(--surface-2)}.demo-users small{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.decision{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.decision label{border:1px solid var(--line-2);cursor:pointer;border-radius:9px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.decision label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.decision input{opacity:0;position:absolute}.decision b{font-size:13.5px}.decision span{color:var(--muted);font-size:12px}.work{border-top:1px solid var(--line);gap:10px;padding:16px 18px;display:grid}.work:first-child{border-top:0}.work-top{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.work-title{font-family:var(--f-display);font-size:17px;font-weight:600}.work-links{overflow-wrap:anywhere;flex-direction:column;gap:2px;font-size:13px;display:flex}.outbox{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.outbox-list a{border-top:1px solid var(--line);color:var(--ink);padding:11px 16px;text-decoration:none;display:block}.outbox-list a:first-child{border-top:0}.outbox-list a:hover{background:var(--surface-2)}.outbox-list a.on{background:var(--accent-soft)}.outbox-list .ob-s{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.outbox-list .ob-m{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.outbox iframe{border-radius:0 0 var(--r) var(--r);background:#f2f3f7;border:0;width:100%;height:720px;display:block}.page-link{color:var(--ink)}.page-link:hover{color:var(--accent);text-decoration:none}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:13px 8px 11px;font-weight:500;text-decoration:none;display:inline-flex}.tabs a:hover{color:var(--ink)}.tabs a.on{color:var(--ink);border-color:var(--accent);font-weight:600}.p-tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:12px 12px 11px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-flex}.p-tabs a.on{color:var(--ink);border-color:var(--client);font-weight:600}.seg a{color:var(--ink-2);border-radius:7px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.seg a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001a}.back{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}@media (max-width:1100px){.outbox{grid-template-columns:minmax(0,1fr)}}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:200;border-radius:10px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:13.5px;font-weight:500;transition:opacity .2s,transform .2s;display:flex;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:1100px){.cols,.p-grid{grid-template-columns:minmax(0,1fr)}.member{grid-template-columns:minmax(0,1fr) 150px}.m-work{grid-area:2/1/auto/-1}}@media (max-width:900px){.app{grid-template-columns:minmax(0,1fr)}.side{z-index:60;width:min(280px,86vw);height:auto;box-shadow:var(--shadow);padding-top:calc(18px + env(safe-area-inset-top,0px));transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.nav-open .side{transform:none}.nav-open .side-scrim{z-index:55;background:#080a1666;display:block;position:fixed;inset:0}.only-m{display:inline-grid}.page{padding-inline:16px}.top{padding-inline:12px}.search{width:170px}.sched,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.add-row{grid-template-columns:1fr 1fr}.add-row input[name=title]{grid-column:1/-1}}@media (max-width:640px){.search{display:none}.ph h1{font-size:25px}.action{grid-template-columns:minmax(0,1fr)}.a-btns{justify-content:flex-start}.strip-txt{display:none}.p-upd{width:100%;margin-left:0}.member,.ho-route{grid-template-columns:minmax(0,1fr)}.ho-arrow{transform:rotate(90deg)}.sched{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.daily-form{padding:16px 18px 0}.entry{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:10px;margin:0;padding:12px 14px 14px;display:grid}.entry legend{margin-left:-6px;padding:0 6px}.entry-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) 110px;gap:10px;display:grid}.dl{border-top:1px solid var(--line);gap:6px;padding:10px 0;display:grid}.dl:first-child{border-top:0}.dl-top{flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.dl-name{font-weight:600}.dl-who{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.dl-n{color:var(--muted)}.dl-n b{color:var(--ink);font-size:15px}.dl-bar{background:var(--sunken);border-radius:4px;height:8px;position:relative}.dl-bar i{background:var(--accent);border-radius:4px;height:100%;display:block}.dl-bar.done i{background:var(--good)}.dl-bar.behind i{background:var(--bad)}.dl-exp{background:var(--ink);opacity:.45;border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.plan-grid{gap:8px;display:grid}.plan-grid>.flabel{display:none}.plan-row{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:10px;display:grid}.plan-row label{font-weight:500}.plan-row input,.plan-row select{border:1px solid var(--line-2);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:7px 10px}.cell-prog{min-width:92px}.cell-prog .num{font-size:13px}.cell-prog .dl-bar{height:5px;margin-top:4px}.day-strip{flex-wrap:wrap;gap:4px;display:flex}.day{text-align:center;border:1px solid var(--line);width:30px;color:var(--muted);border-radius:6px;padding:3px 0;font-size:11px;line-height:1.2;text-decoration:none}.day b{color:var(--ink);font-size:12.5px;display:block}.day.ok{background:var(--good-soft);color:var(--good);border-color:#0000}.day.miss{background:var(--bad-soft);color:var(--bad);border-color:#0000}.day.on{outline:2px solid var(--accent);outline-offset:1px}.day.off{opacity:.45}.person-day{border-top:1px solid var(--line);gap:8px;padding:14px 18px;display:grid}.person-day:first-child{border-top:0}.entries li{border-top:1px dashed var(--line);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 0;display:grid}.entries li:first-child{border-top:0}.entry-t{font-size:13.5px}.entry-m{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;display:flex}.proof{overflow-wrap:anywhere;flex-direction:column;grid-column:1/-1;gap:1px;font-size:12.5px;display:flex}@media (max-width:700px){.entry-grid{grid-template-columns:1fr}.plan-row{grid-template-columns:1fr 90px}.plan-row select{grid-column:1/-1}}.viewas{top:env(safe-area-inset-top,0px);z-index:70;background:var(--warn);color:#fff;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 20px;font-size:13px;display:flex;position:sticky}.viewas form{margin-left:auto}.viewas .btn{color:var(--ink);background:#fff;border-color:#0000}.org{padding:6px 0}.org-row{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1.3fr) repeat(4,minmax(90px,.6fr));align-items:center;gap:10px;padding:9px 18px;display:grid}.org-row:first-child{border-top:0}.org-row.head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);font-size:11px;font-weight:600}.org-who{align-items:center;gap:9px;min-width:0;display:flex}.org-who .tree{color:var(--faint);font-family:var(--f-mono);white-space:pre}.org-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.org-role{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.org-cell{font-size:13px}.dept{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.dept-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:10px;padding:14px 16px;display:grid}.dept-card h3{font-size:16px}.dept-kv{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.dept-kv b{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:22px;display:block}.dept-kv span{color:var(--muted);font-size:11.5px}.audit li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 18px;font-size:13px;display:grid}.audit li:first-child{border-top:0}.audit code{font-family:var(--f-mono);background:var(--sunken);border-radius:4px;padding:1px 6px;font-size:11.5px}@media (max-width:900px){.org-row{grid-template-columns:minmax(0,1fr) repeat(2,auto)}.org-row .hide-m{display:none}}.task-d{color:var(--ink-2);white-space:pre-wrap;margin-top:2px;font-size:13px}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:10px 10px 4px;font-size:10.5px;font-weight:600}.thread-list a{border-top:1px solid var(--line);color:var(--ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 18px;text-decoration:none;display:grid}.thread-list a:first-child{border-top:0}.thread-list a:hover{background:var(--surface-2)}.thread-list a.unread .th-sub{font-weight:700}.thread-list a.unread:before{content:"";position:absolute}.th-sub{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.th-prev{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.th-meta{color:var(--muted);text-align:right;white-space:nowrap;font-size:12px}.bubble-list{flex-direction:column;gap:12px;display:flex}.bubble{background:var(--surface-2);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;max-width:min(640px,88%);padding:10px 14px}.bubble.mine{background:var(--accent-soft);border-color:#0000;align-self:flex-end}.bubble-meta{color:var(--muted);align-items:center;gap:6px;margin-bottom:4px;font-size:11.5px;display:flex}.person-actions{flex-wrap:wrap;gap:4px;display:flex}.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}.file-ext{background:var(--sunken);width:38px;height:38px;color:var(--muted);letter-spacing:.04em;border-radius:8px;flex:none;place-items:center;font-size:10px;font-weight:700;display:inline-grid}input[type=file]{border:1px dashed var(--line-2);background:var(--surface);border-radius:8px;width:100%;padding:8px 11px;font-size:13px}input[type=file]::file-selector-button{border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;margin-right:10px;padding:5px 10px;font-size:13px}
