.cal-task-preview-popover{border:1px solid var(--line-strong);background:var(--surface)}.cal-task-preview{padding:14px 16px;max-height:min(560px,calc(100dvh - 16px));overflow-y:auto;outline:none}.cal-preview-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.cal-preview-top .icon-btn{margin-left:auto;width:26px;height:26px}.cal-preview-ref{color:var(--text-3);font-family:var(--mono);font-size:11px}.cal-preview-rush{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--rush)}.cal-preview-title{font-size:17px;line-height:1.35;font-weight:650;color:var(--text-hi);overflow-wrap:anywhere}.cal-preview-context{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;margin-top:8px;font-size:12px;color:var(--text-2);overflow-wrap:anywhere}.cal-preview-parent{margin-top:6px;font-size:12px;color:var(--text-3);overflow-wrap:anywhere}.cal-preview-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 14px;margin-top:18px}.cal-preview-field{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.cal-preview-label{font-size:11px;color:var(--text-3)}.cal-preview-field .trigger{max-width:100%}.cal-preview-field .trigger-main{max-width:100%;padding-left:7px;padding-right:7px;background:var(--surface-2);font-size:13px}.cal-preview-notes{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;line-height:1.5}.cal-preview-notes h3{margin-bottom:7px;font-size:12px;font-weight:600;color:var(--text-2)}.cal-preview-notes .prewrap{max-height:132px;overflow-y:auto;overflow-wrap:anywhere;color:var(--text-2)}.cal-preview-error{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-3)}.cal-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.cal-preview-summary{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11px;color:var(--text-3)}.cal-preview-open{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:12px;font-weight:550;color:var(--text)}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAaEABMAAAAADFgAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiDAcbvgpRVHJOI/viwCYyfSFrJjFIG8raYpYj9+IeSF0s6zD+Lk/4OGrZHhHV+wvt2ffuWPwlA51lIICIosSVmyOKEs5Uzlx3NKeXIgn1ssCydUybDV0IHga+SszIyfrQe9bLTFNxjayzgs76hNsDoSYtRe32fiJ4gxBjrP8L+w//zzHjv7Yqyr9o2vOBDXhCo2jMtr4uwAK/gV1U0PxAq/EAD+yW9EoKOL1KLw8rHrFgCSgRTQRzBzpeXVhweEDlyfY8gIoOa2CQJzrTAHIIoitTMVV2dyFwpJ2iAEQTpSkhPitxD3YwuZHEagTcAhyKAcBmUyPdhTovJThOw6HYiaF2M/J7erdi2OUutor6ES6Ac88AvfZvKpb6fJoArohb524042j6Jij36NI7P8Pb7s721naN9gcTtcjXQP4l+8BKEzFVGMxxoHqlq8Ul4LGneFJBDFaOdKpLPcg8P14YSDwIcn75hdlyJLTBlZ4voL6tT46yC/njunXqpJ0/bSvmrH1o3kRlwZ+j0DBogkF3KbDRVBlbOc+fY5HVXwPoT9hfekPnyZMaEmenYLMSg5npqegFOsgXsBv1IoF9aIVfSCNHkk6+gIzILsiYuhWQCfUtZEpbkRntQxBZgw7MwFbMcRvwJrAnBlDqs7isLtL7pO84Xru1i7ah7tckH1Wreqq6K9u0amxU1bcff/s2Y1ni3rh2I8zHzqkm3PGvv3mzC6NDBz/UcOBIg+nm88rxN8MbdtypvHUL5o1c2zG0urYpRmW+VHZdiba6GXN/3v0B3i3nt4RBsbfAu8ftLqRcTIlZ4VYheFTAS5nXLS65VZrbuW3daF2Ze1ChyGXWZN6u9nUuH1LfyTERifZXEpIueMe28vF8FOoTnsONzw+1djo9P71lZGx1vM8mH/BhvSa2HDsRZ1+Ul+RmpnPOIaEuwWnZZdkgQWAAyCDDZ1wk+0sh7wseAAwA6UlHxbftCgYAAwKAgwIAEA7ACfHIRbV7J6dwF/ZzcRRmAjXUYKAGWAlDCCFmKnH+LJEQfHKEmVrfmKwSEab36AcubXQBoDYJV/aRV+funFD8wAXLSLYbwr9+DR+h/qZIKCfeqRG5ghHpdY0zcV2nuz5iJMhAFjaTDwOcoyKGG9JHrCfdp4cC+kCvUrxc7+bliIMiHj95sPIbUeWZEP/HLnN2tlr9EBeRiktHuWvErx98fRz1MuEvHO3FDRgtsSzL/P0hsDLK2n5/uHMOjvTst0HD6t+80ZN798j7j//kjqHxIOZDFPR/FxurFD6/HxGbB799RPHLx5F89MoBOub9jVuOWtmPH3o9H3r26DIuff+LqPLwff/xryDRmiAYmjxiK0GwS9XU+k8QpUrHsCTs4qH89Fv44ubWbQmOE51M7J8Pt8+h+NKt3zZpa2L9zZqcRlyEc4MaNGdfjQCxgIygn78ne4yAzcLWA3zAJ6RRGbijvHr1W+XN8ywrG0EoZSySb0/A9KsllI7Q/Pq8hLu76tfTy5cF4X8bQxTtYp2vr6/+1oI4AhgAlNYFryt62VaX9ktO6VsAeDLeWx6fff4vdV1ts7N6+gw9GCsQnqPB0QUttB9nEc7Aaf4XM0NQ90VJ+HV1rG04znGCmXcpPCA9+nxdMPgPlT7Dz83NMfZuMJaNeRqbc+tjd2QER/b0B44d7nv5Rif7VC8svYkx9SKWwb3YzN2M3cY8jSNLl+PYZqfjxNTxOLXVCmfmduDc0ty1kLbjeiGfIrDFJXWPTTMD5TKupR8cpZgJeXTofId8NoUj6E8XfAc2k4WPdbCberDYAp8Q7L5dUo8wE8cs9QINZYvwXKzvBS4v/n+fQZkGrrFysKEIuFBgjQpxiHH1XA+ZBI+C+oAoxhYKECc42rGOc8L4mYhsiThGfFjOcKmFubPpDgwnY1918Fwo8ouenDJxvGP96HFWJ28hiOy251oKjkcbGz2POMme8CTMThx6wqOPsFtPI6j6HhDyDTxFQYnL88FcXGAGHl3ZuueRbEuxbK6Hc84ZDvRrREtLzyjj8Xkd/uShR1b0sYd8Nh8/c8znxCnadxQcf2nFVWIyw1g+4StXav9j75s+CQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #1c1d1b;--panel: #161715;--surface: #232422;--surface-2: #2b2c29;--surface-3: #343532;--surface-4: #3d3e3a;--line: #2e2f2c;--line-soft: #272826;--line-strong: #40413d;--text-hi: #e8f0df;--text: #eceee8;--text-2: #b9bcb3;--text-3: #8a8e85;--text-4: #62665f;--accent: #d6f26b;--accent-soft: rgba(214, 242, 107, .11);--accent-ink: #1a2208;--primary: #d5e7c5;--primary-hover: #e2efd6;--primary-ink: #151b10;--now: var(--accent);--now-soft: var(--accent-soft);--danger: #ff6b5e;--danger-text: #ff8f84;--danger-soft: rgba(255, 107, 94, .13);--warn: #f2b84b;--warn-soft: rgba(242, 184, 75, .12);--ok: var(--accent);--ok-soft: var(--accent-soft);--info: #9db7c9;--info-soft: rgba(157, 183, 201, .12);--rush: #f08a4b;--st-open: #8a8e85;--st-in_progress: #eceee8;--st-waiting: #f2b84b;--st-review: #b7a8e0;--st-done: #62665f;--st-cancelled: #4a4d47;--radius-xs: 4px;--radius-sm: 7px;--radius: 9px;--radius-lg: 12px;--shadow-pop: 0 14px 36px rgba(0, 0, 0, .5), 0 0 0 1px #40413d;--shadow-drawer: -24px 0 60px rgba(0, 0, 0, .4);--font: "Hanken Grotesk Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", "SF Mono", Menlo, monospace;--sidebar-w: 240px;--panel-w: 600px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default}a{color:var(--text);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--text-4)}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--text-2);outline-offset:1px;border-radius:var(--radius-xs)}::selection{background:#d6f26b47}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:padding-box;border:2px solid transparent}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--text-3)}.dim{color:var(--text-4)}.mono{font-family:var(--mono);font-size:.92em}.grow{flex:1;min-width:0}.row{display:flex;align-items:center;gap:8px}.stack{display:flex;flex-direction:column;gap:8px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prewrap{white-space:pre-wrap;word-break:break-word}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius);font-weight:600;white-space:nowrap;border:1px solid transparent;-webkit-user-select:none;user-select:none;transition:background .1s,border-color .1s,color .1s}.btn-md{height:36px;padding:0 14px;font-size:14.5px}.btn-sm{height:32px;padding:0 11px;font-size:13.5px}.btn-primary{background:var(--primary);color:var(--primary-ink)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:transparent;border-color:var(--line-strong);color:var(--text-2)}.btn-secondary:hover:not(:disabled){border-color:var(--text-4);color:var(--text)}.btn-subtle{background:var(--surface-3);color:var(--text)}.btn-subtle:hover:not(:disabled){background:var(--surface-4)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 22%,transparent)}.btn:disabled{opacity:.45}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--text-3);flex-shrink:0;transition:background .1s,color .1s}.icon-btn:hover:not(:disabled),.icon-btn.is-active{background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.4}.kbd{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:4px;font-family:var(--mono);font-size:10.5px;font-weight:500;color:var(--text-3);border:1px solid var(--line-strong);line-height:1}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.avatar{display:inline-grid;place-items:center;border-radius:50%;font-weight:650;letter-spacing:.02em;flex-shrink:0;line-height:1;border:0!important}.avatar-empty{border:1px dashed var(--line-strong)!important;color:var(--text-4);background:transparent}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-5px;box-shadow:0 0 0 2px var(--surface)}.avatar-more{margin-left:4px;font-size:11px;color:var(--text-3)}.dot{display:inline-block;border-radius:50%;flex-shrink:0}.client-tag{display:inline-flex;align-items:center;gap:9px;color:var(--text-2);min-width:0}.output-tag{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border:1px solid var(--line-strong);border-radius:999px;font-size:13px;color:var(--text-2);white-space:nowrap}.output-tag b{font-weight:600;color:var(--text)}.meta-pill{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-family:var(--mono);font-size:13px}.ref{color:var(--text-4);font-family:var(--mono);font-size:13.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.rush-icon{color:var(--rush);flex-shrink:0}.due-wrap{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.due{font-family:var(--mono);font-size:14px;color:var(--text-2);font-variant-numeric:tabular-nums}.due-overdue{color:var(--danger);font-weight:500}.due-today{color:var(--warn);font-weight:500}.due-soon{color:var(--text)}.due-done{color:var(--text-3)}.due-late{color:var(--danger-text)}.due-none{color:var(--text-4)}.miss-chip{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--danger-text)}.status-icon{flex-shrink:0;display:block}.trigger{display:inline-flex;align-items:center;min-width:0;max-width:100%;position:relative}.trigger-main{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;color:var(--text);text-align:left}.trigger-field{height:38px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-strong);width:100%}.trigger-field:hover{border-color:var(--text-4)}.trigger-field .trigger-main{height:100%;width:100%;padding:0 10px}.trigger-field .trigger-caret{margin-left:auto;color:var(--text-4);flex-shrink:0}.trigger-field.is-empty .trigger-main>span{color:var(--text-3)}.trigger-chip .trigger-main{height:30px;padding:0 9px;border-radius:8px;font-size:14.5px;color:var(--text-2)}.toolbar .trigger-chip .trigger-main,.page-head .trigger-chip .trigger-main,.cal-toolbar .trigger-chip .trigger-main{height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius)}.toolbar .trigger-chip .trigger-main:hover:not(:disabled),.page-head .trigger-chip .trigger-main:hover:not(:disabled),.cal-toolbar .trigger-chip .trigger-main:hover:not(:disabled){background:transparent;border-color:var(--text-4)}.toolbar .btn-sm,.page-head .btn-sm,.cal-toolbar .btn-sm{height:36px;padding:0 12px;font-size:14.5px}.toolbar .icon-btn,.page-head .icon-btn{width:36px;height:36px;border:1px solid var(--line-strong);border-radius:var(--radius)}.trigger-chip .trigger-main:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.trigger-chip.is-empty .trigger-main{color:var(--text-4)}.trigger-bare .trigger-main{padding:3px;border-radius:50%}.trigger-bare .trigger-main:hover{background:var(--surface-4)}.trigger-bare .trigger-cal,.trigger-chip .trigger-cal{color:var(--text-4);flex-shrink:0}.trigger.tone-danger .trigger-main,.trigger.tone-danger .trigger-cal{color:var(--danger)}.trigger.tone-warn .trigger-main{color:var(--warn)}.trigger.is-disabled{opacity:.5}.trigger-clear{position:absolute;right:6px;display:grid;place-items:center;width:18px;height:18px;border-radius:4px;color:var(--text-4)}.trigger-clear:hover{background:var(--surface-4);color:var(--text)}.popover{z-index:1000;background:var(--surface-2);border-radius:var(--radius);box-shadow:var(--shadow-pop);overflow:auto}.picker{display:flex;flex-direction:column;max-height:360px}.picker-search{display:flex;align-items:center;gap:8px;padding:0 10px;height:36px;border-bottom:1px solid var(--line);color:var(--text-4)}.picker-search input{flex:1;border:0;outline:0;background:transparent;font-size:13px}.picker-list{overflow-y:auto;padding:4px;outline:none}.picker-group{padding:8px 8px 3px;font-family:var(--mono);font-size:11px;font-weight:400;color:var(--text-4)}.picker-item{display:flex;align-items:center;gap:9px;width:100%;min-height:30px;padding:4px 8px;border-radius:5px;text-align:left;font-size:13px}.picker-item.is-active{background:var(--surface-4)}.picker-icon{display:inline-grid;place-items:center;width:18px;flex-shrink:0;color:var(--text-3)}.picker-label{flex-shrink:1}.picker-hint{margin-left:auto;font-size:11.5px;color:var(--text-4);max-width:55%}.picker-check{color:var(--text);flex-shrink:0;margin-left:6px}.picker-label+.picker-check{margin-left:auto}.picker-empty{padding:14px;text-align:center;color:var(--text-4);font-size:13px}.picker-footer{border-top:1px solid var(--line);padding:6px}.check-item{display:flex;align-items:center;gap:9px;width:100%;min-height:30px;padding:4px 8px;border-radius:5px;font-size:13px;cursor:pointer}.check-item:hover{background:var(--surface-4)}.check-box{width:15px;height:15px;border-radius:4px;border:1px solid var(--line-strong);display:grid;place-items:center;flex-shrink:0;color:var(--primary-ink)}.check-box.on{background:var(--primary);border-color:var(--primary)}.calendar{padding:10px;display:flex;flex-direction:column;gap:9px}.calendar-input{position:relative}.calendar-input input{width:100%;height:30px;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--line-strong);outline:none;font-size:13px}.calendar-input input:focus{border-color:var(--text-4)}.calendar-parse{position:absolute;right:8px;top:7px;font-size:11.5px;color:var(--text-2);background:var(--surface-3);padding-left:6px}.calendar-parse.is-bad{color:var(--text-4)}.calendar-quick{display:flex;flex-wrap:wrap;gap:4px}.calendar-quick button{height:24px;padding:0 8px;border-radius:var(--radius-sm);background:var(--surface-3);font-size:12px;color:var(--text-2)}.calendar-quick button:hover:not(:disabled),.calendar-quick button.on{background:var(--surface-4);color:var(--text)}.calendar-quick button:disabled{opacity:.35}.calendar-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-dow{text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--text-4);font-weight:400;padding-bottom:2px}.calendar-day{height:30px;border-radius:5px;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-2)}.calendar-day:hover:not(:disabled){background:var(--surface-4);color:var(--text)}.calendar-day.is-other{color:var(--text-4)}.calendar-day.is-in-range{background:var(--surface-3);color:var(--text);border-radius:0}.calendar-day.is-today{color:var(--now);font-weight:700}.calendar-day.is-selected{background:var(--primary);color:var(--primary-ink);font-weight:650;border-radius:5px}.calendar-day:disabled{opacity:.25}.calendar-foot{border-top:1px solid var(--line);padding-top:6px}.modal-scrim{position:fixed;inset:0;z-index:900;background:#0009;display:grid;place-items:start center;padding:10vh 16px 16px;overflow-y:auto}.modal{max-width:100%;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.modal-head{display:flex;align-items:center;gap:10px;padding:14px 16px 0}.modal-head h2{font-size:18px;font-weight:720;letter-spacing:-.02em}.modal-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-family:var(--mono);font-size:12.5px;color:var(--text-3)}.field-hint{font-size:12px;color:var(--text-4)}.input,.textarea,.select{width:100%;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-strong);outline:none}.input,.select{height:38px;padding:0 12px;font-size:14.5px}.textarea{padding:10px 12px;font-size:15px;line-height:1.55;resize:vertical;min-height:72px}.input:focus,.textarea:focus,.select:focus{border-color:var(--text-4)}.input::placeholder,.textarea::placeholder{color:var(--text-4)}.checkbox{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);cursor:pointer}.checkbox input{accent-color:var(--primary);width:14px;height:14px}.segmented{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);padding:3px;gap:2px}.segmented button{height:28px;padding:0 11px;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-3);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.segmented-sm button{height:28px;padding:0 11px;font-size:14px}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--surface-3);color:var(--text)}.toggle{position:relative;width:32px;height:18px;border-radius:999px;background:var(--surface-4);flex-shrink:0;transition:background .15s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-3);transition:transform .15s,background .15s}.toggle[aria-checked=true]{background:var(--primary)}.toggle[aria-checked=true]:after{transform:translate(14px);background:var(--primary-ink)}.toggle:disabled{opacity:.4}.section{display:flex;flex-direction:column;gap:6px}.section-head{display:flex;align-items:center;gap:10px;min-height:44px}.section-head h3{font-size:17px;font-weight:680;letter-spacing:-.01em;color:var(--text-hi)}.count{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--text-4);font-variant-numeric:tabular-nums}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 20px;color:var(--text-3)}.empty-icon{color:var(--text-4);margin-bottom:2px}.empty-title{color:var(--text-2);font-size:17px;font-weight:600}.empty-body{font-size:13px;max-width:360px}.empty-action{margin-top:8px}.spinner{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:var(--text-3);font-size:13px}.error-note{padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-text);font-size:13px}.note-box{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:13px}.task-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.task-head,.task-row{display:flex;align-items:center;gap:16px;padding:0 16px 0 14px}.task-head{height:38px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-4)}.task-head .task-row-due{justify-content:flex-end}.task-row{min-height:60px;padding-top:8px;padding-bottom:8px;cursor:pointer;border-bottom:1px solid var(--line);outline:none}.task-row:hover,.task-row:focus-visible{background:var(--surface)}.task-row.is-open{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent)}.task-row.is-open .task-row-title{color:var(--accent)}.task-row.is-closed .task-row-title{color:var(--text-3)}.task-row-status{display:flex;width:22px;flex-shrink:0}.task-row-ref{width:70px;flex-shrink:0}.task-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.task-row-main>*{flex-shrink:0}.task-row-title{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:450;letter-spacing:-.005em;color:var(--text);min-width:0;flex-shrink:1!important}.parent-ref{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--text-4);min-width:0;max-width:40%;flex-shrink:2!important}.task-row-client{width:210px;flex-shrink:0;min-width:0;display:flex}.task-row-client .client-tag{font-size:14.5px;color:var(--text-3)}.task-row-time{width:64px;font-size:13px;display:inline-flex;align-items:center;gap:3px;justify-content:flex-end;flex-shrink:0}.task-row-dates{width:112px;display:flex;justify-content:flex-end;flex-shrink:0}.task-row-timer{width:28px;display:flex;justify-content:center;flex-shrink:0}.task-row-assignee{width:32px;display:flex;justify-content:center;flex-shrink:0}.task-row-due{width:104px;display:flex;justify-content:flex-end;flex-shrink:0}.due-edit{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:0 7px;margin:0 -7px;border-radius:7px;color:var(--text-4)}.due-edit:hover,.due-edit:focus-visible{background:var(--surface-3);color:var(--text-2)}.due-edit.is-empty{opacity:0}.task-row:hover .due-edit.is-empty,.card-task:hover .due-edit.is-empty,.due-edit.is-empty:focus-visible{opacity:1}.task-row-due .miss-chip,.card-foot .miss-chip{font-size:0;gap:0}.task-row-due .miss-chip svg,.card-foot .miss-chip svg{width:14px;height:14px}.timer-btn{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--text-4)}.task-row .timer-btn{opacity:0}.task-row:hover .timer-btn,.timer-btn.is-running{opacity:1}.timer-btn:hover{color:var(--text);background:var(--surface-4)}.timer-btn.is-running{color:var(--now);background:var(--now-soft)}.toasts{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:1200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;min-height:38px;max-width:min(560px,calc(100vw - 32px));padding:6px 8px 6px 14px;border-radius:var(--radius);background:var(--surface-3);box-shadow:var(--shadow-pop);font-size:13px}.toast-error{background:#3a1d1a;color:#ffd6d1}.toast-success .toast-mark{color:var(--ok)}.boot{height:100%;display:grid;place-items:center}.boot-error{max-width:420px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.boot-error h1{font-size:17px}.boot-error p{color:var(--text-3)}.signin-page{min-height:100%;height:100%;display:grid;place-items:center;padding:24px;overflow-y:auto;background:radial-gradient(ellipse at 50% 15%,var(--accent-soft),transparent 65%),var(--bg)}.signin-card{width:100%;max-width:460px;padding:clamp(24px,5vw,40px);background:var(--panel);border:1px solid var(--line-strong);border-radius:20px;box-shadow:0 24px 80px #0003;display:flex;flex-direction:column;gap:26px}.signin-brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:750}.signin-intro{display:flex;flex-direction:column;gap:12px}.signin-eyebrow{color:var(--text-3);font-size:12px;font-weight:550}.signin-intro h1{font-size:clamp(26px,5vw,32px);font-weight:650;line-height:1.15;letter-spacing:-.035em;color:var(--text-hi)}.signin-intro p,.signin-help{color:var(--text-2);line-height:1.6}.signin-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 16px;background:var(--primary);border-radius:var(--radius);color:var(--primary-ink);font-weight:650}.signin-button span{flex:1}.signin-button:hover{background:var(--primary-hover);text-decoration:none}.signin-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.signin-help{font-size:12px;color:var(--text-3)}.signin-message{font-size:13px;line-height:1.5;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text-2)}.shell{display:flex;height:100%}.main{flex:1;min-width:0;overflow-y:auto;background:var(--bg)}.mobile-bar,.nav-scrim{display:none}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px 14px;gap:2px;overflow-x:hidden;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 4px 18px 6px}.brand-name{font-weight:760;font-size:15.5px;letter-spacing:-.02em;color:var(--text-hi)}.sidebar-toggle{margin-left:auto;color:var(--text-4)}.brand-expand{display:grid;place-items:center;width:40px;height:32px;border-radius:var(--radius-sm);color:var(--text-2)}.brand-expand>svg{grid-area:1 / 1}.brand-expand>svg:last-child,.brand-expand:hover>svg:first-child{opacity:0}.brand-expand:hover{background:var(--surface-2)}.brand-expand:hover>svg:last-child{opacity:1}.capture-btn{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px 0 12px;border-radius:10px;font-weight:650;font-size:15px;color:var(--primary-ink);background:var(--primary)}.capture-btn:hover{background:var(--primary-hover)}.capture-btn span{flex:1;text-align:left}.capture-btn .kbd{color:#5d6452;border-color:#b4bfa6}.search-btn{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px 0 12px;border-radius:var(--radius);color:var(--text-3);font-size:15px;margin:2px 0 14px}.search-btn:hover{background:var(--surface-2);color:var(--text-2)}.search-btn span:first-of-type{flex:1;text-align:left}.nav{display:flex;flex-direction:column;gap:1px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:var(--radius);color:var(--text-3);font-size:15.5px;font-weight:500}.nav-item:hover{background:var(--surface);color:var(--text);text-decoration:none}.nav-item.is-active{background:var(--surface);color:var(--text)}.nav-item.is-active:before{content:"";position:absolute;left:-14px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-item.is-active svg{color:var(--accent)}.nav-item span{flex:1}.nav-badge{flex:0!important;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--danger);color:#fff;font-family:var(--mono);font-size:11.5px;font-weight:600;display:grid;place-items:center}.timer-card{display:flex;align-items:center;gap:8px;padding:7px 7px 7px 10px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);margin-bottom:8px}.timer-dot{width:7px;height:7px;border-radius:50%;background:var(--now);flex-shrink:0;animation:blink 1.6s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}.timer-card-main{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left}.timer-clock{font-weight:650;font-size:14px}.timer-task{font-size:12px;color:var(--text-3)}.timer-stop{width:26px;height:26px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-2);background:var(--surface-4)}.timer-stop:hover{color:var(--text)}.sidebar-foot{display:flex;align-items:center;gap:4px;border-top:1px solid var(--line);padding-top:12px}.user-btn{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--radius-sm);text-align:left}.user-btn:hover{background:var(--surface-2)}.user-text{font-size:14.5px;color:var(--text-2)}.menu{padding:4px;display:flex;flex-direction:column}.menu-head{padding:6px 10px 8px;border-bottom:1px solid var(--line);margin-bottom:4px;font-size:13px}.menu-item{display:flex;align-items:center;gap:9px;height:30px;padding:0 10px;border-radius:5px;font-size:13px;color:var(--text);text-align:left}.menu-item:hover{background:var(--surface-4)}.menu-item svg{color:var(--text-3)}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-tag{margin-left:auto;font-size:11px;color:var(--text-4)}.menu-sep{height:1px;background:var(--line);margin:4px 0}@media(min-width:861px){.shell.is-collapsed{--sidebar-w: 68px}.is-collapsed .sidebar,.is-collapsed .nav{align-items:center}.is-collapsed .brand{padding:0 0 12px}.is-collapsed .capture-btn,.is-collapsed .search-btn,.is-collapsed .nav-item{width:40px;padding:0;justify-content:center}.is-collapsed .capture-btn{height:36px}.is-collapsed .capture-btn>:not(svg),.is-collapsed .search-btn>:not(svg),.is-collapsed .nav-item>span:not(.nav-badge){display:none}.is-collapsed .nav-badge{position:absolute;top:7px;right:9px;min-width:0;width:7px;height:7px;padding:0;font-size:0;box-shadow:0 0 0 2px var(--panel)}.is-collapsed .timer-card{flex-direction:column;gap:6px;width:44px;padding:8px 0}.is-collapsed .timer-card-main{align-items:center}.is-collapsed .timer-clock{font-size:10.5px}.is-collapsed .timer-task,.is-collapsed .user-text{display:none}.is-collapsed .sidebar-foot{flex-direction:column;align-items:center;gap:6px;width:100%}.is-collapsed .user-btn{flex:none;padding:4px}}.main{container:main / inline-size}@container main (max-width: 1180px){.task-row-client{width:170px}}@container main (max-width: 1000px){.page{padding-left:32px;padding-right:32px}.task-row-client{display:none!important}}@container main (max-width: 820px){.task-row-main>.output-tag,.task-row-main>.meta-pill,.task-row-main>.parent-ref{display:none}.task-row-ref{width:62px}}.page{padding:34px 48px 60px;max-width:1560px;margin:0 auto}.page-head{display:flex;align-items:flex-end;gap:8px 14px;margin-bottom:26px;min-height:52px;flex-wrap:wrap}.page h1{font-size:54px;font-weight:800;letter-spacing:-.045em;line-height:.95;color:var(--text-hi)}.rail-head h1{font-size:28px;font-weight:780;letter-spacing:-.035em;line-height:1.1;color:var(--text-hi)}.page-title{display:flex;flex-direction:column;gap:14px;margin-right:auto}.page-meta,.page-sub{color:var(--text-3);font-family:var(--mono);font-size:14px}.page-sub b{font-weight:500;color:var(--text-2)}.page-sub .hot{color:var(--danger)}.h2{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.project-title{font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--text-hi)}.h1-input{font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--text-hi);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:1px 6px;margin-left:-7px;width:100%;outline:none}.h1-input:hover{border-color:var(--line)}.h1-input:focus{border-color:var(--line-strong);background:var(--surface)}.crumbs-line{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--text-3);margin-bottom:6px}.crumbs-line a{color:var(--text-3)}.crumb-sep{color:var(--text-4)}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 10px}.range-label{font-family:var(--mono);font-weight:500;font-size:13px;margin-left:8px}.search-input{display:flex;align-items:center;gap:8px;height:36px;padding:0 6px 0 12px;border-radius:var(--radius);border:1px solid var(--line-strong);color:var(--text-4);min-width:200px;flex:0 1 280px}.search-input:focus-within{border-color:var(--text-4)}.search-input input{flex:1;border:0;outline:0;background:transparent;font-size:14.5px;color:var(--text);min-width:0}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tab{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0;font-family:var(--mono);font-size:14.5px;color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--text)}.tab.on{color:var(--text);font-weight:500;border-bottom-color:var(--text)}.tab.on:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.groups{display:flex;flex-direction:column;gap:14px}.group{display:flex;flex-direction:column}.group-head{display:flex;align-items:center;gap:12px;height:52px;font-size:17px;font-weight:680;letter-spacing:-.01em;color:var(--text-hi);padding:0 4px}.group-head .count{font-size:13.5px}.group-head a{color:var(--text-2)}.group-head.as-button{text-align:left}.group>.group-head.as-button{align-self:flex-start}.group>.group-head.as-button:hover{color:var(--text)}.group-chevron{display:grid;place-items:center;width:14px;margin-right:-4px;color:var(--text-4)}.group.is-empty>.group-head{color:var(--text-4);cursor:default}.group.is-target{outline:1px solid var(--text-3);outline-offset:6px;border-radius:var(--radius)}.overdue-count{min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;color:#fff;background:var(--danger)}.task-row.is-draggable{-webkit-user-select:none;user-select:none}.task-row.is-dragging{opacity:.35}.inline-link{color:var(--text-2);font-size:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--text-4)}.inline-link:hover{color:var(--text)}.card-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.status-tag{font-family:var(--mono);font-size:11px;color:var(--text-3)}.form-grid-2,.form-grid-3{display:grid;gap:12px}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.shell{position:relative}.drawer{position:relative;flex-shrink:0;width:var(--panel-w);height:100%;background:var(--surface);border-left:1px solid var(--line);z-index:501;display:flex;flex-direction:column}.drawer.is-overlay{position:absolute;top:0;right:0;bottom:0;box-shadow:var(--shadow-drawer)}@media(max-width:1199px){.drawer{position:absolute;top:0;right:0;bottom:0;max-width:100%;box-shadow:var(--shadow-drawer)}}.drawer-scroll{overflow-y:auto;flex:1}.drawer-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;height:58px;padding:0 16px 0 34px;background:var(--surface)}.crumbs{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;min-width:0}.crumb{color:var(--text-3);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.crumb:hover{color:var(--text)}.drawer-pad{padding:6px 34px 48px;display:flex;flex-direction:column;gap:22px}.template-banner{display:flex;align-items:center;gap:10px;padding:8px 22px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:14.5px;color:var(--text-2)}.template-banner span{flex:1}.title-input{font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--text-hi);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 8px;margin:-4px -9px 0;resize:none;overflow:hidden;outline:none}.title-input:hover{border-color:var(--line)}.title-input:focus{border-color:var(--line-strong);background:var(--surface-2)}.status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:-8px}.status-line .trigger-chip .trigger-main{border:1px solid var(--line-strong);color:var(--text)}.rush-toggle{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-4);border:1px solid var(--line)}.rush-toggle:hover{color:var(--text-2)}.rush-toggle.on{color:var(--rush);border-color:color-mix(in srgb,var(--rush) 45%,transparent)}.props{display:grid;grid-template-columns:1fr;gap:2px 20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.prop{display:flex;align-items:center;gap:8px;min-height:38px;min-width:0}.prop-label{width:120px;flex-shrink:0;font-family:var(--mono);font-size:13.5px;color:var(--text-3)}.qty{display:inline-flex;align-items:center;gap:2px}.qty input{width:40px;height:26px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);text-align:center;font-size:14.5px;outline:none}.sched-history{border:1px solid var(--line);border-radius:var(--radius);font-size:14.5px}.sched-history.has-miss{border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.sched-history-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;text-align:left}.has-miss .sched-history-head svg{color:var(--danger)}.sched-history-list{padding:0 12px 10px 34px;display:flex;flex-direction:column;gap:4px}.sched-history-list li{display:flex;gap:10px;align-items:baseline;color:var(--text-2)}.sched-history-list .miss-chip{margin-left:6px}.sched-when{width:56px;flex-shrink:0;color:var(--text-4);font-family:var(--mono);font-size:12.5px}.drawer-foot{font-size:13px}.block{display:flex;flex-direction:column;gap:8px}.block-head{display:flex;align-items:center;gap:8px;min-height:26px;border-bottom:1px solid var(--line-soft);padding-bottom:4px}.block-head h3{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--text-hi);display:flex;align-items:center;gap:8px}.block-icon{color:var(--text-4);display:grid}.block-total{color:var(--text-3);font-weight:500}.block-body{display:flex;flex-direction:column;gap:8px;font-size:15.5px}.instructions{line-height:1.6}.instructions a,.prewrap a{color:var(--text);text-decoration:underline;text-decoration-color:var(--text-4);text-underline-offset:3px}.placeholder-row{display:flex;gap:14px;flex-wrap:wrap;font-size:14.5px}.parent-card{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.parent-card-head{display:flex;align-items:center;gap:7px;font-size:14.5px;min-width:0}.parent-card-text{font-size:14.5px;color:var(--text-2);line-height:1.55}.link-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.link-list.compact{border:0;border-radius:0}.link-row{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px;border-bottom:1px solid var(--line);color:var(--text);font-size:14.5px;min-width:0}a.link-row:hover,.res-anchor:hover{background:var(--surface-2);text-decoration:none}.link-kind{display:grid;place-items:center;width:18px;flex-shrink:0;color:var(--text-3)}.link-main{flex:1;min-width:0}.link-host{max-width:40%;font-size:13px}.link-remove{opacity:0}.link-row:hover .link-remove{opacity:1}.link-form{display:grid;grid-template-columns:170px 1fr;gap:8px}.link-form .input:nth-of-type(2){grid-column:2}.link-form .row{grid-column:1 / -1}.res-row{padding:0}.res-anchor{display:flex;align-items:center;gap:10px;padding:5px 10px;flex:1;min-width:0;color:var(--text)}.res-row>.link-kind{margin-left:10px}.res-row:not(:has(.res-anchor)){padding:5px 10px}.res-text{flex:1;min-width:0;display:flex;flex-direction:column}.res-label{display:flex;align-items:center;gap:8px}.res-notes{font-size:13px;color:var(--text-3);white-space:pre-wrap}.res-kind{font-size:13px;white-space:nowrap}.res-actions{display:none}.res-row:hover .res-actions{display:flex}.side-card .res-kind{display:none}.lock-tag{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--warn)}.context-note{padding:14px 16px;border-radius:var(--radius);background:var(--surface-2);font-size:14.5px;line-height:1.55;color:var(--text-2)}.context-note-head{font-size:13px;margin-bottom:4px;display:flex;align-items:center;gap:4px}.context-note-head a{font-weight:600;color:var(--text-2)}.steps{display:flex;flex-direction:column;border-top:1px solid var(--line)}.step{display:flex;align-items:center;gap:10px;min-height:46px;padding:4px 6px;border-bottom:1px solid var(--line)}.step:hover{background:var(--surface-2)}.step-title{flex:1;min-width:0;text-align:left;font-size:15px}.step.is-closed .step-title{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--text-4)}.step-time{font-size:13px}.step-add{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 8px 0 10px;border-radius:var(--radius)}.step-add:focus-within{background:var(--surface-2)}.step-add-input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:14.5px}.step-add-input::placeholder{color:var(--text-4)}.request-quote{margin:0;padding:8px 12px;border-left:2px solid var(--line-strong);font-size:14.5px;line-height:1.6;color:var(--text-2)}.request-meta{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-3)}.request-siblings{display:flex;flex-direction:column;gap:2px}.sibling{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:var(--radius-sm);font-size:14.5px;text-align:left}.sibling:hover{background:var(--surface-2)}.time-people,.by-person{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.time-person{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;color:var(--text-2)}.time-form{display:grid;grid-template-columns:150px 120px 1fr;gap:8px;align-items:center}.time-form .row{grid-column:1 / -1}.dur-input{position:relative}.dur-input .input{padding-right:58px}.dur-input.small .input{width:110px;height:28px}.dur-preview{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12.5px;color:var(--text-2);pointer-events:none}.dur-preview.is-bad{color:var(--text-4)}.time-entries{display:flex;flex-direction:column}.time-entry{display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 8px;border-bottom:1px solid var(--line-soft);font-size:14.5px}.time-entry:last-child{border-bottom:0}.time-entry.is-editing{background:var(--surface-2);flex-wrap:wrap}.time-entry.is-editing .input{height:28px}.time-date{width:74px;color:var(--text-3);font-size:13.5px;flex-shrink:0}.time-mins{width:58px;font-weight:600;flex-shrink:0}.time-note{flex:1;min-width:0;color:var(--text-2)}.time-src{font-size:12.5px}.corrected-tag{font-size:12px;color:var(--info);cursor:help}.time-actions{display:flex;opacity:0}.time-entry:hover .time-actions{opacity:1}.comment-box{display:flex;gap:10px;align-items:flex-start;position:relative}.comment-box .textarea{min-height:34px;padding-right:40px}.comment-send{position:absolute;right:5px;bottom:5px}.activity{display:flex;flex-direction:column;gap:2px;margin-top:4px}.activity-event{display:flex;align-items:baseline;gap:10px;font-size:13.5px;color:var(--text-3);padding:3px 0 3px 8px}.activity-event b{color:var(--text-2);font-weight:550}.activity-event>span:nth-child(2){flex:1}.activity-dot{width:5px;height:5px;border-radius:50%;background:var(--line-strong);flex-shrink:0;transform:translateY(-1px)}.activity-when{font-size:12.5px;white-space:nowrap}.activity-comment{display:flex;gap:10px;padding:6px 0}.comment-bubble{flex:1;background:var(--surface-2);border-radius:var(--radius);padding:8px 12px;font-size:14.5px;line-height:1.55}.comment-head{font-size:13px;margin-bottom:2px}.page.task-page{max-width:1320px}.task-page .drawer-top{position:static;height:auto;padding:0 0 22px;margin-left:-8px;background:none}.task-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:start}.task-page-main{display:flex;flex-direction:column;gap:26px;min-width:0}.task-page-main .title-input{font-size:46px;letter-spacing:-.045em;line-height:1}.task-page-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:22px;min-width:0;padding-left:32px;border-left:1px solid var(--line)}.task-page-side .prop-label{width:100px}@container main (max-width: 1000px){.task-page-grid{grid-template-columns:minmax(0,1fr);gap:32px}.task-page-side{position:static;padding-left:0;border-left:0}}.capture-text{font-size:15px;min-height:110px}.capture-links{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:-6px}.link-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 6px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-2);background:var(--surface-3);max-width:260px;cursor:pointer}.link-chip input{accent-color:var(--primary);margin:0}.link-chip.is-off{color:var(--text-4);text-decoration:line-through}.outputs{display:flex;flex-direction:column;gap:8px;padding-top:4px;border-top:1px solid var(--line)}.outputs-head{display:flex;align-items:center;justify-content:space-between;padding-top:8px}.output-row{display:grid;grid-template-columns:minmax(0,1.4fr) 52px minmax(0,1.3fr) 100px 100px 28px;gap:6px;align-items:center}.output-qty{text-align:center;padding:0 4px}.output-qty:disabled{opacity:.4}.outputs-add{display:flex;gap:6px;flex-wrap:wrap}.add-chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px 0 8px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-2);border:1px solid var(--line-strong)}.add-chip:hover{color:var(--text);background:var(--surface-3)}.capture .modal-foot .btn-primary span{display:inline-flex;align-items:center;gap:6px}.capture .modal-foot .btn-primary .kbd{color:#5d6452;border-color:#b4bfa6}.palette{overflow:hidden}.pal-input{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--text-3)}.pal-input input{flex:1;border:0;outline:0;background:transparent;font-size:15px;color:var(--text)}.pal-list{max-height:min(460px,60vh);overflow-y:auto;padding:6px}.pal-empty{padding:14px 12px 4px;font-size:14.5px}.pal-group{padding:10px 10px 4px;font-size:13px;font-weight:600;color:var(--text-4)}.pal-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:4px 10px;border-radius:6px;text-align:left;font-size:15px}.pal-item.is-active{background:var(--surface-3)}.pal-icon{width:18px;display:grid;place-items:center;color:var(--text-3);flex-shrink:0}.pal-label{flex:1;min-width:0}.pal-task{display:flex;flex-direction:column;min-width:0}.pal-parent{font-size:12.5px;display:inline-flex;align-items:center;gap:3px}.pal-hint{flex-shrink:0;font-size:13px}.desk-views{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.desk-views .segmented button{display:inline-flex;align-items:center;gap:8px}.desk-views .segmented .num,.desk-scope{color:var(--text-3);font-size:13px}.task-row-completed{color:var(--text-2);font-size:14px;white-space:nowrap}.desk-main{display:flex;flex-direction:column;gap:20px;min-width:0}.bucket-overdue .section-head h3{color:var(--danger)}.page.calendar-page{max-width:none;display:flex;flex-direction:column;height:100%;min-height:620px;padding:20px 24px 16px}.cal-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;flex-shrink:0}.cal-heading,.cal-filters{display:flex;align-items:center;justify-content:space-between;gap:16px}.cal-heading{flex-wrap:wrap}.cal-heading>.cal-period{flex:1 1 420px}.cal-heading .page-title{gap:5px;margin-right:0}.calendar-page .cal-heading h1{font-size:30px;letter-spacing:-.035em;line-height:1.1}.cal-heading .page-sub{font-size:12px}.cal-period,.cal-view-controls,.cal-filter-controls{display:flex;align-items:center;gap:12px;min-width:0}.cal-filter-controls{flex-wrap:wrap;gap:8px}.cal-period .cal-title{font-weight:750;line-height:1.25;letter-spacing:-.025em;color:var(--text-hi)}.cal-view-controls,.cal-filters>.btn{flex-shrink:0}.cal-view-controls{margin-left:auto}.cal-nav{display:flex;align-items:center;gap:2px;flex-shrink:0;padding:2px;border:1px solid var(--line-strong);border-radius:var(--radius)}.cal-nav .icon-btn{width:32px;height:32px;border-radius:6px}.cal-view-controls .segmented button{min-width:70px;min-height:34px}.cal-showing .trigger-main,.cal-tool{border:1px solid var(--line-strong)}.cal-tool:hover{border-color:var(--text-4);color:var(--text)}.cal-tool.is-on,.cal-tool.btn-secondary{background:var(--surface-2);color:var(--text)}.cal-body{flex:1;min-height:320px;display:flex;gap:16px}.cal-schedule{flex:1;min-width:0;min-height:320px;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-lg)}.cal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;flex-shrink:0;margin-top:12px;color:var(--text-3);font-size:12px;line-height:1.5}.cal-month{height:100%;min-width:0;display:flex;flex-direction:column;overflow:auto;overflow-anchor:none}.cal-dows{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:882px;height:30px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--line-strong)}.cal-dows div{display:flex;align-items:center;padding:0 10px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-weight:600}.cal-weeks{flex:0 0 auto;min-width:882px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}.cal-mweek{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-content:start;min-height:60px;overflow-anchor:none;background:var(--surface);box-shadow:inset 0 -1px var(--line-strong)}.cal-mweek:nth-child(2n){background:color-mix(in oklab,var(--surface-2) 65%,var(--surface))}.cal-cell{position:relative;min-width:0;border-left:1px solid color-mix(in oklab,var(--text) 22%,var(--surface))}.cal-cell:first-child{border-left:0}.cal-cell.is-today{background:#d6f26b0b}.cal-cell.is-outside{background:#0000001f}.cal-cell.is-drop{background:#ffffff0d;box-shadow:inset 0 0 0 1px var(--text-3)}.cal-cell-head{position:relative;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 8px;gap:4px;background:var(--surface-3);box-shadow:inset 0 1px color-mix(in oklab,var(--text) 18%,var(--surface)),inset 0 -1px var(--line-strong)}.cal-cell.is-today .cal-cell-head{background:color-mix(in oklab,var(--accent) 12%,var(--surface-3))}.cal-cell.is-outside .cal-cell-head{background:var(--surface-2)}.cal-cell-head .cal-num{min-width:28px;height:28px;border-radius:7px;font-family:var(--font);font-size:17px;font-weight:650;color:var(--text)}.cal-cell.is-outside .cal-num{color:var(--text-3)}.cal-cell-head .cal-num.is-today{color:var(--accent-ink)}.cal-cell-head .cal-add{position:absolute;right:8px;top:8px}.cal-cell:hover .cal-day-load,.cal-cell:focus-within .cal-day-load{visibility:hidden}.cal-day-load{margin-left:auto;color:var(--text-3);font-family:var(--mono);font-size:10px;white-space:nowrap}.cal-num{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 5px;flex-shrink:0;white-space:nowrap;border-radius:12px;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--text-2);font-variant-numeric:tabular-nums}.cal-num.is-today{background:var(--accent);color:var(--accent-ink);font-weight:600}.cal-add{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border-radius:7px;color:var(--text-3);opacity:0}.cal-cell:hover .cal-add,.cal-cell:focus-within .cal-add,.cal-add:focus-visible{opacity:1}.cal-add:hover{background:var(--surface-3);color:var(--text)}.cal-mtask{position:relative;z-index:2;display:flex;align-items:center;align-self:start;gap:5px;min-width:0;height:26px;margin:2px 5px;padding:0 7px;border:1px solid color-mix(in oklab,var(--c) 24%,var(--line));border-left:2px solid var(--c);border-radius:5px;background:color-mix(in oklab,var(--c) 6%,var(--surface-2));color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;outline:none}.cal-mtask>.status-icon{flex-shrink:0}.cal-mtask-title{flex:1;min-width:0;font-size:12.5px;font-weight:500;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-mtask>.rush-icon{flex-shrink:0}.cal-mtask-owner{display:inline-flex;align-items:center;flex-shrink:0;margin-left:auto}.cal-mtask:hover{background:color-mix(in oklab,var(--c) 12%,var(--surface-3));border-top-color:var(--text-4);border-right-color:var(--text-4);border-bottom-color:var(--text-4)}.cal-mtask.is-overdue{border-left-color:var(--danger)}.cal-mtask.is-done{background:var(--surface);border-color:var(--line-strong);color:var(--text-2)}.cal-mtask.is-selected{outline:1px solid var(--accent);outline-offset:0;background:color-mix(in oklab,var(--accent) 9%,var(--surface-2))}.cal-mtask.clip-l{border-top-left-radius:0;border-bottom-left-radius:0}.cal-mtask.clip-r{border-top-right-radius:0;border-bottom-right-radius:0}.cal-continuation{display:inline-flex;align-self:stretch;align-items:center;justify-content:center;flex:0 0 22px;color:var(--text);background:color-mix(in oklab,var(--c) 14%,var(--surface-4))}.cal-continuation.is-start{border-right:1px solid var(--line-strong)}.cal-continuation.is-end{margin-left:auto;border-left:1px solid var(--line-strong)}.cal-mtask>.cal-continuation.is-start{margin-left:-7px}.cal-mtask>.cal-continuation.is-end{margin-right:-7px}.cal-continuation-key{display:inline-flex;align-items:center;gap:3px}.cal-continuation-key svg{color:var(--text-2)}.cal-resize-preview{position:absolute;z-index:4;height:26px;border:1px dashed var(--accent);border-radius:5px;background:color-mix(in oklab,var(--accent) 13%,transparent);pointer-events:none}.cal-handle{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;z-index:1}.cal-handle.is-start{left:0}.cal-handle.is-end{right:0}.cal-handle:after{content:"";position:absolute;top:6px;bottom:6px;width:2px;border-radius:1px;background:var(--text-3);opacity:.45}.cal-handle.is-start:after{left:3px}.cal-handle.is-end:after{right:3px}.cal-mtask:hover .cal-handle:after,.cal-mtask:focus-visible .cal-handle:after,.cal-mtask.is-selected .cal-handle:after{opacity:1}body.is-resizing,body.is-resizing *{cursor:ew-resize!important;-webkit-user-select:none;user-select:none}.cal-mtask.is-dragging,.cal-nodate-item.is-dragging{opacity:.3}.cal-weekview{height:100%;min-width:0;display:flex;flex-direction:column;overflow:auto;overflow-anchor:none}.cal-weekview>.cal-mweek{flex:1 0 auto;min-width:882px}.cal-weekview .cal-cell-head{position:sticky;top:0;z-index:3;justify-content:flex-start}.cal-cell-weekday{font-family:var(--mono);font-size:11px;font-weight:500;flex-shrink:0;text-transform:uppercase;color:var(--text-3)}.cal-nodate{width:280px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:0}.cal-nodate-head{display:flex;align-items:center;gap:8px;padding:14px 16px 8px;font-weight:600;font-size:14px}.cal-nodate-head .icon-btn{margin-left:auto}.cal-nodate-hint{padding:0 16px 14px;font-size:12px;line-height:1.5;color:var(--text-3)}.cal-nodate-list{flex:1;overflow-y:auto;padding:0 10px 12px;display:flex;flex-direction:column;gap:8px}.cal-nodate-empty{padding:20px 8px;font-size:13px;line-height:1.6}.cal-nodate-item{display:flex;align-items:center;gap:8px;padding:12px 10px 12px 6px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:13px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;outline:none;flex-shrink:0}.cal-nodate-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.4}.cal-nodate-item:hover,.cal-nodate-item:focus-visible{background:var(--surface-3)}.cal-nodate-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);margin-top:6px;min-width:0}.cal-load-error{display:grid;justify-items:center;gap:12px;padding:32px 16px;color:var(--text-2)}.cal-mtask:focus-visible,.cal-nodate-item:focus-visible,.cal-add:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@container main (max-width: 1250px){.cal-body{flex-direction:column}.cal-body:has(.cal-nodate){min-height:540px}.cal-nodate{width:auto;height:204px;flex:0 0 204px}.cal-nodate-head{padding-top:10px;padding-bottom:2px}.cal-nodate-hint{padding-bottom:10px}.cal-nodate-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);grid-template-rows:minmax(78px,1fr);align-items:start;overflow:auto}}@container main (max-width: 760px){.page.calendar-page{padding:20px 20px 16px}.cal-toolbar{gap:12px}.cal-period{gap:10px}.calendar-page .cal-heading h1{font-size:26px}.cal-filters{flex-wrap:wrap;gap:10px}}@container main (max-width: 480px){.page.calendar-page{padding:18px 12px 16px}.cal-heading{display:flex;flex-direction:column;align-items:stretch;gap:12px}.calendar-page .cal-heading h1{font-size:26px}.cal-heading .page-sub{max-width:200px;line-height:1.7}.cal-heading>.cal-period{flex:none;display:grid;grid-template-columns:auto 1fr;gap:12px 8px}.cal-period .page-title{grid-column:1 / -1;grid-row:1}.cal-period>.btn{justify-self:start;grid-column:2;grid-row:2}.cal-nav{grid-column:1;grid-row:2}.cal-view-controls{margin-left:0;justify-content:space-between}.cal-view-controls .segmented button{min-width:58px}}@media(hover:none){.cal-add{opacity:1}}.drag-ghost{position:fixed;z-index:1100;pointer-events:none;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:var(--surface-3);box-shadow:var(--shadow-pop);font-size:12.5px;max-width:340px;white-space:nowrap}body.is-dragging,body.is-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.quick-add-pop{padding:12px;display:flex;flex-direction:column;gap:10px}.qa-head{font-size:12.5px;font-weight:600;color:var(--text-2)}.qa-fields{display:flex;flex-wrap:wrap;gap:2px}.projects-layout{display:flex;height:100%;min-height:0}.rail{width:250px;flex-shrink:0;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.rail-head{display:flex;align-items:center;justify-content:space-between;padding:20px 12px 10px 18px}.rail-search{display:flex;align-items:center;gap:8px;height:30px;margin:0 12px 8px;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);color:var(--text-4)}.rail-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:14.5px;color:var(--text)}.rail-list{flex:1;overflow-y:auto;padding:0 8px 20px}.rail-group{margin-top:10px}.rail-group-head{display:flex;align-items:center;gap:7px;width:100%;padding:4px 10px;font-size:13px;color:var(--text-4);text-align:left}.rail-group-head.as-button:hover{color:var(--text-2)}.rail-all{gap:10px;margin-bottom:10px}.rail-all svg{color:var(--text-3);flex-shrink:0}.rail-all.on svg{color:var(--accent)}.rail-item{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 10px;border-radius:var(--radius-sm);font-size:14.5px;color:var(--text-2);text-align:left}.rail-item:hover{background:var(--surface-2);color:var(--text)}.rail-item.on{background:var(--surface-3);color:var(--text)}.rail-item>span:first-child{flex:1}.rail-count{margin-left:auto;font-size:13px;color:var(--text-4)}.rail-overdue{font-size:12px;font-weight:700;color:var(--danger)}.projects-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.project-view{display:flex;flex-direction:column;height:100%;min-height:0}.project-head{display:flex;align-items:flex-end;gap:16px;padding:18px 24px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.project-crumb{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text-3);margin-bottom:2px}.project-head>.row .trigger-chip .trigger-main{height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius)}.project-head>.row .trigger-chip .trigger-main:hover:not(:disabled){background:transparent;border-color:var(--text-4)}.project-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.project-stats{font-size:13.5px;color:var(--text-3);margin-left:6px}.pc-overdue{color:var(--danger)}.kind-badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-3);white-space:nowrap;margin-right:4px}.status-select{height:26px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--line);padding:0 6px;font-size:13.5px;color:var(--text-2);outline:none}.status-select option{background:var(--surface)}.project-content{flex:1;min-height:0;display:flex}.project-work{flex:1;min-width:0;overflow:auto;padding:16px 24px 24px}.project-details{width:300px;flex-shrink:0;border-left:1px solid var(--line);padding:14px 14px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.board{display:grid;grid-template-columns:repeat(5,minmax(176px,1fr));gap:12px;min-height:100%;align-items:stretch}.board-col{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line-soft);min-height:140px}.board-col.is-over{border-color:var(--text-3);background:var(--surface-2)}.board-col-head{display:flex;align-items:center;gap:7px;padding:2px 4px 4px;font-size:14.5px;font-weight:600}.board-cards{display:flex;flex-direction:column;gap:6px}.card-task{display:flex;flex-direction:column;gap:6px;padding:9px 10px;border-radius:var(--radius);background:var(--surface-3);border:1px solid transparent;cursor:grab;outline:none}.card-task:hover,.card-task:focus-visible{border-color:var(--line-strong)}.card-task{touch-action:none;-webkit-user-select:none;user-select:none}.card-task.is-dragging{opacity:.3}.card-ghost{position:fixed;z-index:1100;pointer-events:none;display:flex;flex-direction:column;gap:6px;padding:9px 10px;border-radius:var(--radius);background:var(--surface-3);box-shadow:0 12px 32px #0000008c;transform:rotate(1.5deg)}.card-task.is-done .card-title{color:var(--text-3)}.card-project{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;color:var(--text-3)}.card-title{font-size:14.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-meta:empty{display:none}.card-foot{display:flex;align-items:center;gap:6px;min-height:20px;min-width:0}.card-foot .due-edit,.card-foot .due-wrap{min-width:0;overflow:hidden}.card-foot .due{font-size:13px}.board-more{font-size:13px;color:var(--text-3);padding:4px;text-align:left}.board-more:hover{color:var(--text)}.board-add{display:flex;align-items:center;gap:5px;height:28px;padding:0 6px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-4)}.board-add:hover{background:var(--surface-3);color:var(--text-2)}.board-add-form .input{height:30px}.side-card{display:flex;flex-direction:column;gap:6px}.client-side .side-card,.project-details .side-card{padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.side-title{display:flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;color:var(--text-2);min-height:24px}.side-text{font-size:14.5px;line-height:1.55;color:var(--text-2)}.person-line,.template-line,.channel-line{display:flex;align-items:center;gap:8px;font-size:14.5px;min-height:30px}.channel-line .hover-only{opacity:0}.channel-line:hover .hover-only{opacity:1}.nested-steps{border-bottom:1px solid var(--line-soft)}.nested-steps .task-row{min-height:36px;padding-left:34px;border-bottom-color:transparent}.nested-steps .task-row-title{font-size:13.5px;color:var(--text-2)}.nested-steps .task-row-meta{display:none}.client-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.client-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);color:var(--text)}.client-card:hover{text-decoration:none;border-color:var(--line-strong)}.client-card.is-archived{opacity:.5}.cc-top{display:flex;align-items:center;gap:12px}.cc-mark{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:15px;color:var(--primary-ink);background:color-mix(in oklab,var(--c) 80%,var(--bg));flex-shrink:0}.cc-mark.big{width:40px;height:40px;font-size:18px;border-radius:9px}.cc-name{font-weight:600;font-size:15px}.cc-sub{font-size:13.5px}.cc-channels{display:flex;flex-wrap:wrap;gap:4px 10px}.channel-chip{display:inline-flex;align-items:center;gap:3px;font-size:13px;color:var(--text-3)}.swatches{display:flex;gap:6px;flex-wrap:wrap}.swatch{width:18px;height:18px;border-radius:50%}.swatch:hover{transform:scale(1.12)}.swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--text-2)}.color-btn{width:13px;height:13px;border-radius:50%;margin-left:4px}.color-btn:hover{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--text-3)}.client-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.client-main{display:flex;flex-direction:column;gap:26px;min-width:0}.client-side{display:flex;flex-direction:column;gap:14px}.block-section{display:flex;flex-direction:column;gap:10px}.section-row{min-height:30px}.mini-projects{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.mini-project{display:flex;align-items:center;gap:12px;min-height:42px;padding:6px 14px;border-bottom:1px solid var(--line-soft);color:var(--text);font-size:14.5px}.mini-project:last-child{border-bottom:0}.mini-project:hover{background:var(--surface-2);text-decoration:none}.finished summary{cursor:pointer;font-size:13.5px;margin:4px 0 8px}.timer-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:18px}.timer-bar.is-running{border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.timer-bar-pick{flex:1;min-width:0;max-width:480px}.timer-bar-clock{font-size:18px;font-weight:650;min-width:70px}.timer-bar-task{flex:1;min-width:0;text-align:left;font-size:15px;color:var(--text-2)}.timer-bar-task:hover{color:var(--text)}.sheet-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.sheet{width:100%;border-collapse:collapse;font-size:14.5px;table-layout:fixed;min-width:760px}.sheet th,.sheet td{border-bottom:1px solid var(--line-soft);height:40px;padding:0}.sheet th{font-weight:550;color:var(--text-3);font-size:13.5px;height:36px}.sheet-task{width:36%;text-align:left;padding:0 12px!important}.sheet-day,.sheet-cell,.sheet-total{text-align:center}.sheet-total{width:70px;font-weight:600;color:var(--text-2)}.sheet-day.is-today{color:var(--now)}.sheet-cell.is-today{background:color-mix(in srgb,var(--accent) 4%,transparent)}.sheet-task-btn{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0;text-align:left}.sheet-task-btn:hover span{text-decoration:underline;text-decoration-color:var(--text-4);text-underline-offset:3px}.sheet-cell-btn{position:relative;width:calc(100% - 8px);height:30px;border-radius:var(--radius-sm);color:var(--text-4)}.sheet-cell-btn.has{color:var(--text)}.sheet-cell-btn:not(:disabled):hover,.sheet-cell-btn.on{background:var(--surface-3);color:var(--text)}.sheet-cell-btn:not(.has){opacity:0}.sheet tr:hover .sheet-cell-btn:not(.has):not(:disabled),.sheet-cell-btn.on{opacity:1}.sheet-corrected{position:absolute;top:5px;right:6px;width:4px;height:4px;border-radius:50%;background:var(--info)}.sheet tfoot td{border-bottom:0;font-weight:600;color:var(--text-2)}.sheet-add-row td{padding:0 6px!important}.sheet-add{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-3)}.sheet-add:hover{background:var(--surface-3);color:var(--text)}.sheet-add-pick{display:flex;align-items:center;gap:6px;max-width:420px;padding:4px 0}.cell-editor{padding:10px;display:flex;flex-direction:column;gap:8px}.cell-editor-head{display:flex;gap:10px;font-size:13.5px;font-weight:600}.cell-editor-head .truncate{flex:1}.cell-editor .time-entries{border:1px solid var(--line);border-radius:var(--radius)}.cell-add{display:grid;grid-template-columns:110px 1fr auto;gap:6px}.ledger{display:flex;flex-direction:column;gap:20px}.ledger-section{display:flex;flex-direction:column;gap:10px}.matrix-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.matrix{width:100%;border-collapse:collapse;font-size:14.5px}.matrix th,.matrix td{padding:8px 12px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap}.matrix th{font-size:13.5px;font-weight:550;color:var(--text-3)}.matrix tfoot td{border-bottom:0;font-weight:600}.matrix .num-col{text-align:right}.cell-btn{padding:2px 8px;border-radius:4px}.cell-btn:hover,.cell-btn.on{background:var(--surface-4)}.strong{font-weight:650}.drilldown{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius-lg)}.delivered-list{display:flex;flex-direction:column}.delivered-row{display:flex;align-items:center;gap:12px;min-height:36px;padding:4px 12px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:14.5px}.delivered-row:last-child{border-bottom:0}.delivered-row:hover{background:var(--surface-2)}.settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.people-list{display:flex;flex-direction:column}.people-login-hint,.person-discord-hint{font-size:12px;line-height:1.5;color:var(--text-3)}.person-entry{padding:10px 0;border-bottom:1px solid var(--line)}.person-entry:last-child{border-bottom:0}.person-entry .person-row{border-bottom:0}.person-discord{margin:4px 0 4px 40px}.person-discord-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.person-discord-fields label{font-size:12px;color:var(--text-2)}.person-discord-fields .input{width:210px;max-width:100%;height:30px;font-family:var(--mono);font-size:12px}.person-discord-hint{margin-top:6px;font-size:11px}.person-discord-hint.is-error{color:var(--danger-text)}.person-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}.person-row:last-child{border-bottom:0}.person-row.is-inactive{opacity:.5}.person-title{width:170px;height:30px}.person-role{width:100px;height:30px}.add-person{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:var(--radius);border:1px solid var(--line)}.type-list{display:flex;flex-direction:column}.type-row{display:flex;align-items:center;gap:10px;min-height:34px;font-size:15px;border-bottom:1px solid var(--line-soft)}.type-row.is-inactive{opacity:.45}.module-row{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:15px}.module-icon{color:var(--text-3);display:grid}.deferred-tag{font-size:12.5px;color:var(--text-4);margin-left:6px}@media(max-width:1180px){.client-grid,.settings-grid{grid-template-columns:minmax(0,1fr)}.project-details{display:none}}@media(max-width:860px){.shell{flex-direction:column}.mobile-bar{display:flex;align-items:center;gap:10px;height:50px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;z-index:700;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-drawer)}.nav-open .sidebar{transform:none}.sidebar-toggle{display:none}.nav-open .nav-scrim{display:block;position:fixed;inset:0;z-index:650;background:#00000080}.page{padding:16px 16px 48px}.drawer{width:100%}.rail{display:none}.form-grid-3,.form-grid-2{grid-template-columns:1fr}.output-row{grid-template-columns:1fr 52px 28px}.props{grid-template-columns:1fr}.task-row-time,.task-head{display:none}.task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"status main due due" "status main timer side" "status client client client";column-gap:10px;row-gap:4px;align-items:start;min-height:0;padding:12px 10px 12px 8px}.task-row-status{grid-area:status;margin-top:1px}.task-row-main{grid-area:main;flex-wrap:wrap;row-gap:6px;column-gap:8px}.task-row-title{flex:1 1 100%!important;font-size:15.5px}.task-row-title .truncate{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-row-ref,.task-row-time{display:none}.task-row-main>.output-tag,.task-row-main>.meta-pill,.task-row-main>.parent-ref{display:inline-flex}.task-row-main>.parent-ref{max-width:100%}.task-row-client{grid-area:client;display:flex!important;width:auto}.task-row-client .client-tag{font-size:13.5px}.page h1{font-size:40px}.toolbar .segmented{max-width:100%;overflow-x:auto;scrollbar-width:none}.task-row-due,.task-row-dates{grid-area:due;width:auto;margin-top:2px}.task-row-due .miss-chip{font-size:0;gap:0}.task-row-timer{grid-area:timer}.task-row-assignee{grid-area:side}.due-edit.is-empty,.task-row .timer-btn{opacity:1}.drawer-pad{padding:16px 16px 40px}.time-form,.link-form{grid-template-columns:1fr}.link-form .input:nth-of-type(2){grid-column:auto}.person-title{display:none}.project-head,.project-work{padding-left:16px;padding-right:16px}}
