@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/93232c3b4a112c3a-s.2m9xphznwp3d4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/62d571048def60fc-s.2e347y-jza9wq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5a54cb9402415d65-s.p.09yul4knsnziq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_de73115c-module__DafHEG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal;font-weight:600}.fraunces_de73115c-module__DafHEG__variable{--font-serif:"Fraunces", "Fraunces Fallback"}
:root{--bg:#fcfcfb;--band:#f9f9f7;--field:#fff;--hover:#f1f0ec;--ink:#2e2c27;--muted:#6b6a63;--faint:#b4b3a8;--line:#e4e3dc;--line-strong:#d6d5cc;--accent:#c6613f;--accent-soft:#f6e7e0;--ok:#3f8a5f;--ok-soft:#e4f0e8;--blue:#3d6aa8;--blue-soft:#e5ecf5;--amber:#a8741c;--amber-soft:#f7eed9;--av-l:91%;--av-fg-l:34%;--serif:var(--font-serif), Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c1b18;--band:#22211d;--field:#262520;--hover:#2a2924;--ink:#ecebe4;--muted:#a3a197;--faint:#6e6c63;--line:#34332d;--line-strong:#45443c;--accent:#e0825f;--accent-soft:#3a2a22;--ok:#6cbf8c;--ok-soft:#1f3226;--blue:#86aee6;--blue-soft:#1f2a3a;--amber:#dcae5c;--amber-soft:#352b1b;--av-l:25%;--av-fg-l:80%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1c1b18;--band:#22211d;--field:#262520;--hover:#2a2924;--ink:#ecebe4;--muted:#a3a197;--faint:#6e6c63;--line:#34332d;--line-strong:#45443c;--accent:#e0825f;--accent-soft:#3a2a22;--ok:#6cbf8c;--ok-soft:#1f3226;--blue:#86aee6;--blue-soft:#1f2a3a;--amber:#dcae5c;--amber-soft:#352b1b;--av-l:25%;--av-fg-l:80%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.inner{max-width:760px;margin:0 auto;padding:0 16px}.nav{border-bottom:1px solid var(--line);background:var(--band);z-index:10;padding-top:env(safe-area-inset-top);position:sticky;top:0}.nav .inner{align-items:center;gap:20px;height:52px;display:flex}.brand{font-family:var(--serif);margin-right:auto;font-size:19px;font-weight:600}.nav a.link{color:var(--muted);font-size:14px}.nav a.link:hover{color:var(--ink)}.nav a.link.on{color:var(--ink);font-weight:600}.nav-acts{align-items:center;gap:2px;margin-left:4px;display:flex}.nav-btn{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.nav-btn:hover,.nav-btn.on{color:var(--ink);background:var(--hover)}.tabbar,.fab{display:none}.band{background:var(--band);border-bottom:1px solid var(--line);padding:36px 0 28px}.date{color:var(--muted);margin:0 0 10px;font-size:13px}h1{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 22px;font-size:34px;font-weight:600;line-height:1.2}h1.page-title{margin:0 0 6px;font-size:30px}.lede{color:var(--muted);margin:0;font-size:14px}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.daynav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill{border:1px solid var(--line-strong);height:30px;color:var(--ink);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;display:inline-flex;position:relative}.pill:hover{border-color:var(--faint)}.pill.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pill.icon{padding:0 9px}.pill input[type=date]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.week{border-top:1px solid var(--line);grid-template-columns:repeat(7,1fr);margin-top:24px;padding-top:14px;display:grid}.wd{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:4px 0;display:flex}.wd small{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.wd b{font-family:var(--serif);color:var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;font-size:17px;font-weight:600;transition:background .15s;display:grid}.wd:hover b{background:var(--hover)}.wd .dot{background:0 0;border-radius:50%;width:5px;height:5px}.wd .dot.has{background:var(--ink)}.wd .dot.late{background:var(--accent)}.wd.today b{color:var(--accent)}.wd.on b{background:var(--ink);color:var(--bg)}.stats{grid-template-columns:repeat(3,1fr);margin-top:22px;display:grid}.stat{border-left:1px solid var(--line);padding:0 18px}.stat:first-child{border-left:0;padding-left:0}.stat b{font-size:22px;font-family:var(--serif);font-weight:600;display:block}.stat span{color:var(--muted);font-size:13px}.stat.warn b,.stat.warn span{color:var(--accent)}main{padding:28px 0 80px}section{margin-bottom:36px}h2{align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:600;display:flex}h2 .count{color:var(--faint);font-size:13px;font-weight:400}h2.warn{color:var(--accent)}h2 .sum{color:var(--muted);margin-left:auto;font-size:13px;font-weight:400}.dot-stage{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.card{border-top:1px solid var(--line)}.empty-card,.empty{color:var(--faint);margin:0;font-size:14px}.composer{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:30px;display:flex}.composer>svg{display:none}.composer input{border:1px solid var(--line-strong);background:var(--field);border-radius:10px;outline:none;flex:1;min-width:180px;padding:10px 12px}.composer input:focus{border-color:var(--ink)}.composer input::placeholder{color:var(--faint)}.preview-chip{color:var(--muted);flex-basis:100%;order:3;align-items:center;gap:5px;font-size:13px;display:inline-flex}.composer .kbd{display:none}.kbd{font:500 11px/1 var(--sans);color:var(--faint);border:1px solid var(--line-strong);border-radius:5px;padding:2px 5px}.btn{background:var(--ink);color:var(--bg);white-space:nowrap;border:0;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-weight:600;display:inline-flex}.btn.ghost{color:var(--ink);border:1px solid var(--line-strong);background:0 0}.btn:disabled{opacity:.5;cursor:default}ol.list{margin:0;padding:0;list-style:none}.task{border-bottom:1px solid var(--line);grid-template-columns:26px 1fr auto;align-items:start;gap:6px;padding:11px 0;display:grid}.check{border:1.5px solid var(--faint);width:18px;height:18px;color:var(--bg);background:0 0;border-radius:50%;place-items:center;margin-top:2px;padding:0;display:grid}.check:hover{border-color:var(--ink)}.check.on{background:var(--ink);border-color:var(--ink)}.task .t{cursor:text;word-break:break-word;font-weight:500}.task.done .t{color:var(--faint);text-decoration:line-through}.task .meta{flex-wrap:wrap;gap:4px 12px;margin-top:3px;display:flex}.chip{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}a.chip:hover{color:var(--ink);text-decoration:underline}.chip.late{color:var(--accent)}.task .acts{opacity:.5;align-items:center;gap:2px;display:flex}.task:hover .acts,.task:focus-within .acts{opacity:1}.mini{min-width:26px;height:26px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:0 6px;font-size:12px;display:inline-flex;position:relative}.mini:hover{border-color:var(--line-strong);color:var(--ink)}.mini.danger:hover{color:var(--accent)}.mini input[type=date]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.task .edit{border:0;border-bottom:1px solid var(--ink);background:0 0;outline:none;width:100%;padding:0;font-weight:500}.item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;display:flex}.item:hover .name{text-decoration:underline}.item .grow{flex:1;min-width:0}.item .name{font-weight:600}.item .small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.item .right{text-align:right;color:var(--muted);flex-direction:column;flex:none;align-items:flex-end;gap:3px;font-size:13px;display:flex}.item .money{color:var(--ink);font-variant-numeric:tabular-nums}.late-text{color:var(--accent)}.avatar{background:hsl(var(--h) 45% var(--av-l));color:hsl(var(--h) 40% var(--av-fg-l));border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.tag{background:var(--hover);color:var(--muted);text-transform:capitalize;border-radius:999px;align-items:center;gap:5px;padding:1px 9px;font-size:12px;display:inline-flex}.tag.lead{background:var(--blue-soft);color:var(--blue)}.tag.active{background:var(--accent-soft);color:var(--accent)}.tag.delivered{background:var(--amber-soft);color:var(--amber)}.tag.paid{background:var(--ok-soft);color:var(--ok)}.dot-stage.lead{background:var(--blue)}.dot-stage.active{background:var(--accent)}.dot-stage.delivered{background:var(--amber)}.dot-stage.paid{background:var(--ok)}.tabs{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.tabs button{border:1px solid var(--line-strong);background:0 0;border-radius:999px;padding:5px 14px;font-size:13px}.tabs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.form-card{border-top:0;margin-bottom:28px}.form{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.form .full{grid-column:1/-1}.form .actions{grid-column:1/-1;gap:8px;display:flex}.field{border:1px solid var(--line-strong);background:var(--field);border-radius:10px;outline:none;width:100%;padding:10px 12px}.field:focus{border-color:var(--ink)}.label{color:var(--muted);gap:4px;font-size:13px;display:grid}.back{color:var(--muted);align-items:center;gap:6px;margin-bottom:14px;font-size:13px;display:inline-flex}.back:hover{color:var(--ink)}.detail-head{align-items:center;gap:14px;margin-bottom:16px;display:flex}.title-input{font-family:var(--serif);width:100%;color:var(--ink);background:0 0;border:0;outline:none;margin:0;padding:0;font-size:32px;font-weight:600}.props{border-top:0;grid-template-columns:110px 1fr;align-items:center;gap:6px 12px;font-size:14px;display:grid}.props>label{color:var(--muted)}.props>.val{align-items:center;gap:8px;display:flex}.props .field{border-radius:8px;padding:6px 10px}.danger-link{color:var(--faint);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.danger-link:hover{color:var(--accent)}.note{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 8px;padding:10px 0;display:grid}.note .when{color:var(--faint);font-size:12px}.note p{white-space:pre-wrap;grid-column:1/-1;margin:0}.note .mini{opacity:.5;grid-area:1/2;height:22px}.note:hover .mini{opacity:1}details summary{cursor:pointer;color:var(--faint);padding:10px 0;font-size:13px;list-style:none}details summary::-webkit-details-marker{display:none}.login-wrap{place-items:center;min-height:100vh;padding:16px;display:grid}.login{border:0;width:100%;max-width:360px}.login .logo{display:none}.login h1{margin-bottom:6px;font-size:30px}.login form{gap:10px;margin-top:24px;display:grid}.login .btn{justify-content:center}.pin-field{border:1px solid var(--line-strong);background:var(--field);color:var(--faint);border-radius:10px;align-items:center;gap:10px;padding:0 14px;display:flex}.pin-field:focus-within{border-color:var(--ink);color:var(--ink)}.pin-field input{letter-spacing:.35em;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:11px 0;font-size:22px}.pin-field input::placeholder{color:var(--line-strong)}.link-btn{color:var(--muted);background:0 0;border:0;margin-top:16px;padding:0;font-size:13px}.link-btn:hover{color:var(--ink);text-decoration:underline}.msg{color:var(--muted);font-size:14px}.msg.err{color:var(--accent)}@media (max-width:640px){.nav a.link{display:none}h1{font-size:27px}h1.page-title,.title-input{font-size:26px}.band{padding:24px 0 22px}.stat{padding:0 10px}.form{grid-template-columns:1fr}.props{grid-template-columns:90px 1fr}.task .acts{opacity:1;grid-column:2/-1;margin-left:-6px}main{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.tabbar{z-index:20;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--band);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--faint);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;display:flex}.tab.on{color:var(--ink);font-weight:600}.fab{right:18px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:21;background:var(--ink);width:52px;height:52px;color:var(--bg);border:0;border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 6px 18px #0003}}html{scrollbar-gutter:stable}::selection{background:var(--accent-soft);color:var(--ink)}h1,h2{text-wrap:balance}p{text-wrap:pretty}.stat b,.wd b,.item .money,h2 .count{font-variant-numeric:tabular-nums}.skeleton{background:linear-gradient(90deg, var(--hover) 25%, var(--line) 50%, var(--hover) 75%) 0 0 / 200% 100%;border-radius:8px;width:min(520px,80%);height:.9em;margin:.15em 0 .2em;animation:1.2s linear infinite shimmer;display:block}.nav a.link{position:relative}.nav a.link:after{content:"";background:var(--ink);border-radius:2px;height:2px;transition:transform .25s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-16px;left:0;right:0;transform:scaleX(0)}.nav a.link.on:after{transform:scaleX(1)}.toasts{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--ink);color:var(--bg);border-radius:12px;align-items:center;gap:14px;padding:10px 12px 10px 16px;font-size:14px;animation:.3s cubic-bezier(.2,.8,.2,1) both toast-in;display:flex;box-shadow:0 10px 30px #0000002e}.toast span{text-overflow:ellipsis;white-space:nowrap;max-width:60vw;overflow:hidden}.toast button{color:var(--accent-soft);background:0 0;border:0;border-radius:6px;flex:none;padding:2px 6px;font-weight:600}.toast button:hover{background:color-mix(in srgb, var(--bg) 15%, transparent)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.4)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@keyframes spin-in{0%{opacity:0;transform:rotate(-90deg)scale(.6)}to{opacity:1;transform:none}}:root{--ease:cubic-bezier(.2, .7, .2, 1)}.band .inner>*{animation:rise .45s var(--ease) both}.band .inner>:nth-child(2){animation-delay:40ms}.band .inner>:nth-child(3){animation-delay:80ms}.band .inner>:nth-child(4){animation-delay:.11s}.band .inner>:nth-child(5){animation-delay:.14s}main>.inner{animation:rise .5s .12s var(--ease) both}.headline{animation:.35s both fade}.list>li,.item,.note{animation:rise .35s var(--ease) both;animation-delay:calc(var(--i,0) * 35ms)}.task.removing{opacity:0;transition:opacity .2s,transform .2s;transform:translate(8px)}.check{transition:background-color .2s,border-color .2s,transform .12s}.check.on svg{animation:pop .32s var(--ease)}.task .t span{-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .35s var(--ease), color .3s;background:linear-gradient(currentColor,currentColor) 0 58%/0% 1px no-repeat}.task.done .t{text-decoration:none}.task.done .t span{background-size:100% 1px}.task{transition:opacity .2s}.btn,.pill,.nav-btn,.mini,.fab,.tabs button,.wd,.check,.toast button{transition:transform .12s var(--ease), background-color .18s, border-color .18s, color .18s, opacity .18s}.btn:active:not(:disabled),.pill:active,.nav-btn:active,.mini:active,.tabs button:active,.wd:active,.check:active{transform:scale(.95)}.fab:active{transform:scale(.92)}.task .acts{transition:opacity .18s}.item .avatar{transition:transform .2s var(--ease)}.item:hover .avatar{transform:scale(1.06)}.wd .dot{transition:background-color .2s,transform .2s}.wd.on .dot{transform:scale(1.3)}.composer input,.field,.pin-field{transition:border-color .18s,box-shadow .18s}.composer input:focus,.field:focus,.pin-field:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--ink) 8%, transparent)}.preview-chip{animation:.2s both fade}.spin-in{animation:spin-in .35s var(--ease);display:grid}.tab svg{transition:transform .2s var(--ease)}.tab.on svg{transform:translateY(-1px)scale(1.06)}details summary{transition:color .15s}details summary:hover{color:var(--muted)}details[open]>.card{animation:rise .3s var(--ease) both}.theming,.theming *{transition:background-color .35s,color .35s,border-color .35s!important}@media (max-width:640px){.toasts{bottom:calc(140px + env(safe-area-inset-bottom))}.nav a.link:after{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
