@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@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")}@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")}:root{--bg:#f2f3f4;--surface:#fff;--ink:#15171a;--muted:#666b73;--line:#e0e2e5;--row-line:#eef0f2;--overdue:#161616;--r:6px;--btnr:5px;--font:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--fs:14px;--metafs:12px;--maxw:1040px;--pagepad:22px clamp(12px, 3vw, 28px) 32px;--sectiongap:20px}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{min-height:100vh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}input,select,textarea,button{font:inherit;color:inherit}button{cursor:pointer}input::placeholder,textarea::placeholder{color:inherit;opacity:.45}input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.page{max-width:var(--maxw);padding:var(--pagepad);padding-top:max(22px, env(safe-area-inset-top));gap:var(--sectiongap);flex-direction:column;margin:0 auto;display:flex}.page.wide{max-width:min(1240px,100%)}.section{flex-direction:column;gap:16px;display:flex}.empty{text-align:center;color:var(--muted);margin:0;padding:48px 0}.header{flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:16px;display:flex}.header-titles{flex-direction:column;justify-content:flex-end;gap:6px;display:flex}.kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.sync-dot{background:var(--line);border-radius:50%;width:6px;height:6px}.sync-dot[data-status=offline]{background:#c9822b}.view-title{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600;line-height:1.05}.header-actions{align-items:flex-end;margin-left:auto;display:flex}.btn-primary{background:var(--ink);color:var(--surface);border-radius:var(--btnr);border:none;padding:11px 18px;font-size:14px;font-weight:500}.btn-primary:hover{opacity:.85}.btn-outline{border:1px solid var(--ink);border-radius:var(--btnr);background:0 0;padding:9px 14px;font-size:13px}.btn-ghost{border:1px solid var(--line);background:var(--surface);border-radius:var(--btnr);padding:7px 12px;font-size:13px}.btn-ghost.transparent{background:0 0}.btn-ghost:hover{border-color:var(--ink)}.btn-text{color:var(--muted);background:0 0;border:none;padding:8px 0;font-size:13px}.btn-text:hover{color:var(--ink)}.tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:2px;margin-top:-8px;display:flex;overflow:auto hidden}.tab{white-space:nowrap;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 12px;font-size:14px;display:flex}.tab[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.tab.end{margin-left:auto}.tab-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.filters{flex-wrap:wrap;gap:6px;margin-top:-8px;display:flex}.pill{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;display:flex}.pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.pill.client-filter{border-color:var(--ink);background:var(--surface);gap:8px}.dot{border-radius:50%;flex:none;width:7px;height:7px}.task-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;display:flex;overflow:hidden}.task-row{border-bottom:1px solid var(--row-line);cursor:pointer;align-items:center;gap:14px;padding:10px 14px;transition:opacity .35s,transform .35s;display:flex}.task-row:last-child{border-bottom:none}.task-row:hover{filter:brightness(.985)}.task-row.leaving{opacity:0;transform:translate(14px)}.check{background:0 0;border:2px solid;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;padding:0;font-size:12px;line-height:1;display:grid}.check.run{border-radius:7px}.task-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.task-title{font-size:var(--fs);text-wrap:pretty;line-height:1.35}.leaving .task-title{text-decoration:line-through}.task-meta{font-size:var(--metafs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.run-badge{font-family:var(--mono);letter-spacing:.05em;border:1px solid var(--ink);color:var(--ink);border-radius:4px;padding:1px 7px;font-size:11px}.meta-label{align-items:center;gap:6px;display:flex}.client-link{font:inherit;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;background:0 0;border:none;padding:0}.client-link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.due-chip{font-size:var(--metafs);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:4px 10px;font-weight:500}.week-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.week-range{color:var(--muted);font-size:15px}.week-nav{gap:6px;display:flex}.overdue-band{border-radius:var(--r);background:var(--overdue);color:#fff;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.overdue-band>span{margin-right:4px;font-size:13px;font-weight:500}.overdue-band button{color:#fff;background:0 0;border:1px solid #ffffff40;border-radius:999px;padding:4px 10px;font-size:13px}.week-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:8px;display:grid}.day-col{border-radius:var(--r);border:1px solid var(--line);flex-direction:column;gap:8px;min-height:180px;padding:12px;display:flex}.day-col.today{background:var(--surface);border-color:var(--ink)}.day-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.day-name{color:var(--muted);margin-right:6px;font-size:13px}.day-num{font-size:20px}.today .day-num{font-weight:600}.day-dur{color:var(--muted);font-size:11px}.week-card{border-radius:calc(var(--r) * .6);background:var(--surface);border:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:8px;padding:8px;transition:opacity .35s;display:flex}.week-card.projected{opacity:.6;background:0 0;border-style:dashed}.week-card-dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:3px}.week-card-dot.run{border-radius:3px}.week-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.week-card-title{text-wrap:pretty;font-size:13px;line-height:1.3}.week-card-meta{color:var(--muted);font-size:11px}.note{color:var(--muted);margin:0;font-size:12px}.intro{color:var(--muted);text-wrap:pretty;max-width:520px;margin:0;font-size:15px}.group-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;padding:0 4px;font-size:11px;font-weight:500}.plain-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.history-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 4px;display:flex}.history-glyph{width:18px;color:var(--muted);text-align:center;flex:none;font-size:13px}.history-title{font-size:var(--fs);color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.label-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 4px;display:flex}.label-name{min-width:0;font-size:var(--fs);background:0 0;border:none;outline:none;flex:180px;padding:4px 0}.swatches{gap:5px;display:flex}.swatch{border:2px solid var(--surface);border-radius:50%;width:18px;height:18px;padding:0}.label-count{color:var(--muted);text-align:right;min-width:64px;font-size:12px}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.text-input{border:1px solid var(--line);background:var(--surface);border-radius:var(--btnr);outline:none;flex:220px;min-width:0;padding:10px 14px}.text-input:focus{border-color:var(--ink)}.overlay{z-index:20;background:#1414122e;position:fixed;inset:0}.drawer{background:var(--surface);width:min(500px,100%);padding:24px clamp(18px,4vw,32px) 32px;padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(32px, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);align-content:start;gap:26px;display:grid;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-24px 0 60px #00000014}.drawer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.drawer-close{color:var(--muted);background:0 0;border:none;padding:4px;font-size:14px}.drawer-title{border:none;border-bottom:1px solid var(--line);resize:none;background:0 0;outline:none;min-height:72px;padding:0 0 8px;font-size:26px;font-weight:600;line-height:1.2}.field{flex-direction:column;gap:10px;display:flex}.field-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-label{color:var(--muted);font-size:12px}.options{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.option{border:1px solid var(--line);color:var(--ink);border-radius:var(--btnr);background:0 0;padding:8px 14px;font-size:13px}.option.small{padding:6px 11px}.option[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.run-every{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.boxed-input{border:1px solid var(--line);background:var(--bg);border-radius:var(--btnr);padding:7px 10px;font-size:14px}select.boxed-input{appearance:none;padding:8px 12px}.hint{color:var(--muted);text-wrap:pretty;font-size:13px}.underline-input{border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:8px 0;font-size:14px}.dashed-input{border:1px dashed var(--line);background:0 0;border-radius:999px;outline:none;flex:160px;min-width:0;padding:6px 12px;font-size:13px}.suggestion{border:1px solid var(--line);background:0 0;border-radius:999px;padding:5px 11px;font-size:13px}.suggestion:hover{border-color:var(--ink)}.subtask{align-items:center;gap:10px;padding:4px 0;display:flex}.subtask-box{border:1.5px solid var(--ink);width:18px;height:18px;color:var(--surface);background:0 0;border-radius:5px;flex:none;place-items:center;padding:0;font-size:11px;display:grid}.subtask.done .subtask-box{background:var(--ink)}.subtask-text{flex:1;font-size:14px}.subtask.done .subtask-text{color:var(--muted);text-decoration:line-through}.subtask-remove{color:var(--muted);background:0 0;border:none;padding:2px 4px}.notes{border:1px solid var(--line);background:var(--bg);border-radius:var(--r);resize:vertical;outline:none;padding:12px;font-size:14px;line-height:1.5}.drawer-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.toast{left:50%;bottom:max(24px, calc(env(safe-area-inset-bottom) + 12px));z-index:30;border-radius:var(--btnr);background:var(--ink);max-width:calc(100% - 32px);color:var(--surface);align-items:center;gap:16px;padding:12px 14px 12px 18px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000026}.toast span{text-wrap:pretty}.toast button{color:inherit;border-radius:var(--btnr);background:0 0;border:1px solid #ffffff4d;flex:none;padding:5px 10px;font-size:13px}.auth-page{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{flex-direction:column;gap:20px;width:min(380px,100%);display:flex}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-form .text-input{flex:none}.error{color:oklch(50% .19 25);margin:0;font-size:13px}.separator{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.separator:before,.separator:after{content:"";background:var(--line);flex:1;height:1px}.account-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:12px;padding:20px;display:flex}.account-block h2{margin:0;font-size:15px;font-weight:600}
