.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login-tile{width:min(400px,100%);padding:32px}.login-title{letter-spacing:-.03em;margin-top:28px;font-size:28px;font-weight:600;line-height:1.1}.login-sub{color:var(--dim);margin-top:6px;font-size:13.5px}.login-form{margin-top:24px}@media (width<=700px){.login-tile{padding:24px}}.consent-host{border-radius:var(--radius-control);background:var(--field);color:var(--dim);overflow-wrap:anywhere;margin-top:20px;padding:12px 14px;font-size:13px}.consent-host strong{color:var(--ink);margin-top:2px;font-size:14px;display:block}.consent-actions{gap:10px;margin-top:24px;display:flex}.consent-actions .btn{flex:1}.consent-actions .btn.secondary{background:var(--field)}.consent-error{margin-top:20px}:root{--bg:var(--lightningcss-light,#efeeea)var(--lightningcss-dark,#0e0e0d);--tile:var(--lightningcss-light,#fff)var(--lightningcss-dark,#191917);--ink:var(--lightningcss-light,#1c1c1a)var(--lightningcss-dark,#f2f1ec);--dim:var(--lightningcss-light,#6f6e69)var(--lightningcss-dark,#9d9c95);--nav-bg:var(--lightningcss-light,#e4e3de)var(--lightningcss-dark,#191917);--nav-on:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2a2a27);--hero:var(--lightningcss-light,#1c1c1a)var(--lightningcss-dark,#f2f1ec);--on-hero:var(--lightningcss-light,#f4f3ef)var(--lightningcss-dark,#1c1c1a);--peach:var(--lightningcss-light,#f6e0d3)var(--lightningcss-dark,#3a2219);--sage:var(--lightningcss-light,#dfe7dc)var(--lightningcss-dark,#1d271c);--lavender:var(--lightningcss-light,#e5e3f3)var(--lightningcss-dark,#23213a);--blue:var(--lightningcss-light,#dde6f2)var(--lightningcss-dark,#1c2838);--yellow:var(--lightningcss-light,#f3ead0)var(--lightningcss-dark,#3a3219);--teal:var(--lightningcss-light,#d6ece8)var(--lightningcss-dark,#17302c);--warn-bg:var(--lightningcss-light,#f8e3d6)var(--lightningcss-dark,#3a2219);--warn:var(--lightningcss-light,#8a3a12)var(--lightningcss-dark,#f6b99a);--good:var(--lightningcss-light,#2f5a2a)var(--lightningcss-dark,#9cc596);--muted:var(--lightningcss-light,#55544f)var(--lightningcss-dark,#b3b2ab);--hero-dim:var(--lightningcss-light,#b3b2ab)var(--lightningcss-dark,#55544f);--chip:var(--lightningcss-light,#ffffffa6)var(--lightningcss-dark,#ffffff12);--solid:var(--lightningcss-light,#fff)var(--lightningcss-dark,#ffffff1a);--row:var(--lightningcss-light,#f7f6f3)var(--lightningcss-dark,#1f1f1d);--field:var(--lightningcss-light,#efeeea)var(--lightningcss-dark,#0e0e0d);--backdrop:var(--lightningcss-light,#1c1c1a59)var(--lightningcss-dark,#0009);--peach-ink:var(--lightningcss-light,#7a3a1a)var(--lightningcss-dark,#f6d5c2);--sage-ink:var(--lightningcss-light,#2f5a2a)var(--lightningcss-dark,#b9d7b2);--lavender-ink:var(--lightningcss-light,#4a4380)var(--lightningcss-dark,#cfc9f2);--blue-ink:var(--lightningcss-light,#2a4a73)var(--lightningcss-dark,#bcd3ee);--yellow-ink:var(--lightningcss-light,#6b5310)var(--lightningcss-dark,#eedcaa);--teal-ink:var(--lightningcss-light,#1f5c52)var(--lightningcss-dark,#a8dcd3);--discord:#5865f2;--discord-bg:var(--lightningcss-light,#e2e4fb)var(--lightningcss-dark,#262a4d);--discord-ink:var(--lightningcss-light,#3c45a5)var(--lightningcss-dark,#b7bdf8);--line-bg:var(--lightningcss-light,#dcf3e3)var(--lightningcss-dark,#17301f);--line-ink:var(--lightningcss-light,#1f6b38)var(--lightningcss-dark,#9fdcb2);--pill:var(--lightningcss-light,#f2f1ed)var(--lightningcss-dark,#24241f);--good-bg:var(--lightningcss-light,#e3eddf)var(--lightningcss-dark,#1d271c);--good-soft:var(--lightningcss-light,#dfe7dc)var(--lightningcss-dark,#2c3a2a);--track:var(--lightningcss-light,#ebeae5)var(--lightningcss-dark,#2a2a27);--dash:var(--lightningcss-light,#d4d3cd)var(--lightningcss-dark,#3a3a36);--hero-inset:var(--lightningcss-light,#2a2a27)var(--lightningcss-dark,#e4e3de);--hero-good-bg:var(--lightningcss-light,#2c3a2a)var(--lightningcss-dark,#dfe7dc);--hero-good:var(--lightningcss-light,#a9d39f)var(--lightningcss-dark,#2f5a2a);--hero-warn:var(--lightningcss-light,#f6b99a)var(--lightningcss-dark,#8a3a12);--hero-line:var(--lightningcss-light,#3a3a37)var(--lightningcss-dark,#d4d3cd);--lavender-dash:var(--lightningcss-light,#a7a2c9)var(--lightningcss-dark,#5d5888);--ring-track:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2c3a2a);--radius-tile:24px;--radius-control:12px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:Plus Jakarta Sans,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}.shell{max-width:1240px;margin:0 auto;padding:28px 32px 56px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.brand>*{animation:.25s ease-out page-in}.brand i{background:var(--hero);border-radius:9px;width:26px;height:26px}.brand-logo{object-fit:contain;border-radius:7px;max-width:104px;height:26px;display:block}.nav{background:var(--nav-bg);border-radius:14px;flex-wrap:wrap;gap:4px;padding:4px;display:flex;position:relative}.nav a{z-index:1;color:var(--dim);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:color .2s,background-color .2s;position:relative}.nav a:hover,.nav a.active{color:var(--ink)}.nav a:hover:not(.active){background:color-mix(in srgb, var(--nav-on) 45%, transparent)}.nav-pill{background:var(--nav-on);transition:transform .4s var(--ease-spring), width .4s var(--ease-spring), height .4s var(--ease-spring);border-radius:10px;position:absolute;top:0;left:0;box-shadow:0 1px 2px #0000000f}.nav a.nav-icon{place-items:center;padding:8px 10px;display:grid}.nav-icon svg{width:18px;height:18px;transition:transform .5s var(--ease-out);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.nav-icon:hover svg,.nav-icon.active svg{transform:rotate(60deg)}@keyframes page-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}.page{animation:.25s ease-out page-in}.page .page-head,.page .back{animation:rise-in .4s var(--ease-out) backwards}.tile,.client-card{animation:rise-in .5s var(--ease-out) backwards}:is(.bento,.client-grid)>:nth-child(2){animation-delay:40ms}:is(.bento,.client-grid)>:nth-child(3){animation-delay:80ms}:is(.bento,.client-grid)>:nth-child(4){animation-delay:.12s}:is(.bento,.client-grid)>:nth-child(5){animation-delay:.16s}:is(.bento,.client-grid)>:nth-child(6){animation-delay:.2s}:is(.bento,.client-grid)>:nth-child(7){animation-delay:.24s}:is(.bento,.client-grid)>:nth-child(n+8){animation-delay:.28s}.page-title{letter-spacing:-.03em;margin:0 4px 20px;font-size:34px;font-weight:600;line-height:1.1}.tile{background:var(--tile);border-radius:var(--radius-tile);flex-direction:column;min-width:0;padding:24px;display:flex}.tile.ink{background:var(--hero);color:var(--on-hero)}.tint-peach{--tint:var(--peach);--tint-ink:var(--peach-ink)}.tint-sage{--tint:var(--sage);--tint-ink:var(--sage-ink)}.tint-lavender{--tint:var(--lavender);--tint-ink:var(--lavender-ink)}.tint-blue{--tint:var(--blue);--tint-ink:var(--blue-ink)}.tint-yellow{--tint:var(--yellow);--tint-ink:var(--yellow-ink)}.tint-teal{--tint:var(--teal);--tint-ink:var(--teal-ink)}[class*=tint-]{background:var(--tint)}.bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:1/-1}.tile-label{color:var(--dim);font-size:12.5px;font-weight:600}[class*=tint-] .tile-label{color:var(--muted)}.tile.ink .tile-label{color:var(--hero-dim)}.tile-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.empty-note{color:var(--dim);margin-top:12px;font-size:13.5px}[class*=tint-] .empty-note{color:var(--muted)}.tile.ink .empty-note{color:var(--hero-dim)}.big-number{letter-spacing:-.04em;margin-top:4px;font-size:44px;font-weight:700;line-height:1.05}.big-number small{letter-spacing:0;margin-right:2px;font-size:.45em;font-weight:600}.avatar-img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.chip{background:var(--pill);white-space:nowrap;border-radius:99px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.chip.good{background:var(--good-bg);color:var(--good)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.track{background:var(--track);border-radius:8px;height:8px;overflow:hidden}@keyframes fill-in{0%{width:0}}.track i{border-radius:inherit;background:var(--ink);height:100%;animation:fill-in .9s var(--ease-out) .2s backwards;display:block}.track i.good{background:var(--good)}.track.open{border:1.5px dashed var(--dash);background:0 0}.segmented{background:var(--nav-bg);border-radius:14px;gap:4px;padding:4px;display:flex}.segmented button{height:36px;color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:13px;font-weight:500;transition:color .2s,background-color .2s}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--nav-on);color:var(--ink)}.segmented button span{color:var(--dim);margin-left:6px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 4px 20px;display:flex}.page-head .page-title{margin:0}.page-sub{color:var(--dim);align-items:center;gap:8px;margin-top:4px;font-size:13.5px;display:flex}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.back{color:var(--dim);margin:0 4px 10px;font-size:13px;font-weight:600;display:inline-block}.back:hover{color:var(--ink)}.status{color:var(--dim);margin:0 4px}button,input,textarea{font:inherit;color:inherit}a,button{transition:color .15s,background-color .15s,border-color .15s,opacity .15s}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn{border-radius:var(--radius-control);background:var(--hero);height:44px;color:var(--on-hero);cursor:pointer;white-space:nowrap;border:0;padding:0 18px;font-size:13px;font-weight:600;transition:transform .15s,opacity .15s}.btn:hover:not(:disabled){opacity:.86}.btn:active:not(:disabled){transform:scale(.97)}.btn.secondary{background:var(--solid);color:var(--ink)}.tile.ink .btn{background:var(--on-hero);color:var(--hero)}.btn.danger{background:var(--warn-bg);color:var(--warn)}.btn:disabled{opacity:.6;cursor:default}.link-btn{color:var(--dim);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.link-btn:hover{color:var(--ink)}.search{border-radius:var(--radius-control);background:var(--tile);align-items:center;gap:8px;width:260px;max-width:100%;height:44px;padding:0 14px;display:flex}.search svg{fill:none;width:16px;height:16px;stroke:var(--dim);stroke-width:2px;flex-shrink:0}.search input{background:0 0;border:0;outline:0;width:100%;font-size:13.5px;font-weight:500}.search input::placeholder{color:var(--dim)}.search:focus-within{outline:2px solid var(--ink)}.dialog{border-radius:var(--radius-tile);background:var(--tile);width:min(440px,100% - 32px);color:var(--ink);border:0;margin:auto;padding:24px}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-out{to{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes fade-out{to{opacity:0}}.dialog[open]{animation:dialog-in .35s var(--ease-spring)}.dialog::backdrop{background:var(--backdrop)}.dialog[open]::backdrop{animation:.25s ease-out fade-in}.dialog[open].closing{pointer-events:none;animation:.18s ease-in forwards dialog-out}.dialog[open].closing::backdrop{animation:.18s ease-in forwards fade-out}.dialog .btn.secondary{background:var(--field)}.dialog h2{letter-spacing:-.01em;margin-bottom:18px;font-size:20px;font-weight:600}.form{flex-direction:column;gap:14px;display:flex}.field{color:var(--dim);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.field input,.field textarea{border-radius:var(--radius-control);background:var(--field);min-height:44px;color:var(--ink);border:0;padding:10px 14px;font-size:14px;font-weight:500}.field textarea{resize:vertical;min-height:88px}.field small{font-weight:500}.select{flex-direction:column;display:flex;position:relative}.select-field{border-radius:var(--radius-control);background:var(--field);min-height:44px;color:var(--ink);text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;padding:10px 12px 10px 14px;font-size:14px;font-weight:500;display:flex}.select-field>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-field .placeholder{color:var(--dim)}.select-field svg,.select-option svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.select-field svg{color:var(--dim);transition:transform .25s var(--ease-out)}.select-field[aria-expanded=true] svg{transform:rotate(180deg)}.select .select-value{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;padding:0;position:absolute;bottom:0;left:50%}.select-menu{overscroll-behavior:contain;background:var(--tile);color:var(--ink);box-shadow:0 0 0 1px var(--track), 0 12px 32px #00000024;opacity:1;transition:opacity .15s ease, transform .25s var(--ease-out);border:0;border-radius:16px;margin:0;padding:6px;position:fixed;inset:auto;overflow-y:auto;transform:none}@starting-style{.select-menu:popover-open{opacity:0;transform:translateY(-4px)scale(.98)}}.select-option{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:9px 12px;font-size:14px;font-weight:500;display:flex}.select-option.active{background:var(--field)}.select-option[aria-selected=true]{font-weight:600}.select-option[aria-disabled=true]{color:var(--dim);cursor:default}.form-error{border-radius:var(--radius-control);background:var(--warn-bg);color:var(--warn);padding:10px 14px;font-size:13px}.form-actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.form-actions .push{margin-right:auto}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}@media (width<=1000px){.span-3,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:1/-1}}@media (width<=700px){.shell{padding:16px 16px 40px}.search{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after,::backdrop{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-group(*){transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-old(*){transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-new(*){transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.retainer-facts{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.retainer-facts div{border-radius:var(--radius-control);background:var(--row);justify-content:space-between;gap:16px;padding:10px 14px;font-size:13.5px;display:flex}.retainer-facts dt{color:var(--dim)}.retainer-facts dd{text-align:right;font-weight:600}.client-retainer{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-top:8px;display:flex}.client-retainer+.client-retainer{border-top:1px solid var(--chip);margin-top:24px;padding-top:24px}.client-retainer .big-number small:last-child{margin-left:2px}.client-retainer-text{color:var(--muted);margin-top:4px;font-size:13.5px}.client-retainer-text .link-btn{color:var(--tint-ink);text-underline-offset:3px;margin-left:4px;text-decoration:underline}.client-months{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.client-months li{width:92px}.client-month{background:var(--chip);width:100%;height:100%;color:var(--tint-ink);text-align:left;border:1.5px solid #0000;border-radius:16px;padding:10px 12px;font-size:12px;display:block}button.client-month{cursor:pointer}button.client-month:hover{border-color:var(--lavender-dash)}.client-month b{color:var(--ink);font-size:14px;font-weight:600;display:block}.client-month.late{background:var(--warn-bg);color:var(--warn)}.client-month.next{border:1.5px dashed var(--lavender-dash);background:0 0}@media (width<=640px){.client-months{width:100%}.client-months li{width:calc(33.3333% - 5.33333px)}}.money-lines{flex-direction:column;gap:8px;margin-top:18px;font-size:13.5px;display:flex}.money-lines div{justify-content:space-between;gap:12px;display:flex}.money-lines dt{color:var(--hero-dim)}.money-lines dd{font-weight:700}.money-lines .due dd{color:var(--hero-warn)}.money-lines .money-maintenance{border-top:1px solid var(--hero-line);margin-top:6px;padding-top:14px}.client-project-list{flex-direction:column;gap:6px;margin-top:16px;list-style:none;display:flex}.client-project{background:var(--row);border-radius:16px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 120px;align-items:center;gap:20px;padding:14px 16px;display:grid}.client-project:hover{background:var(--field)}.client-project b{overflow-wrap:anywhere;font-weight:600;display:block}.client-project small{color:var(--dim);font-size:12.5px}.client-project-when{color:var(--dim);margin-top:6px;font-size:12px}.client-project-total{text-align:right;font-weight:700}.client-project-total small{font-weight:600;display:block}.client-project-total .due{color:var(--warn)}.client-project-total .paid{color:var(--good)}@media (width<=640px){.client-project{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.client-project>div:nth-child(2){grid-area:2/1/auto/-1}}.client-hero-head{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.client-hero-head>div{min-width:0}.client-hero-avatar{background:var(--solid);width:96px;height:96px;color:var(--tint-ink);border-radius:32px;place-items:center;font-size:28px;font-weight:700;display:grid}.client-hero-name{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:36px;font-weight:600;line-height:1.1}.client-hero-since{color:var(--muted);margin-top:4px;font-size:14px}.client-hero-notes{white-space:pre-line;max-width:60ch;margin-top:18px;font-size:13.5px}.discord-card{background:var(--chip);border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;max-width:420px;margin-top:24px;padding:12px 16px;display:flex}.discord-card>div{min-width:0}.discord-avatar{background:var(--discord);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.discord-card b{font-weight:600}.discord-card small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;display:block}.discord-sync{color:var(--discord-ink);text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;font-size:11.5px;font-weight:600;display:flex}.discord-sync .link-btn{color:var(--muted);font-size:12px}.discord-sync .link-btn:hover{color:var(--ink)}.discord-card .discord-sync-error{color:var(--warn);white-space:normal}.client-hero-actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:24px;display:flex}.contact-list{flex-direction:column;gap:6px;margin-top:16px;list-style:none;display:flex}.contact-row{background:var(--row);text-align:left;cursor:pointer;border:0;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.contact-row:hover{background:var(--field)}.contact-row>span:nth-child(2){min-width:0}.contact-tag{background:var(--hero);color:var(--on-hero);white-space:nowrap;border-radius:99px;margin-left:auto;padding:3px 9px;font-size:11.5px;font-weight:600}.contact-row b{font-size:13px;font-weight:600;display:block}.contact-row small{color:var(--dim);overflow-wrap:anywhere;font-size:12.5px;display:block}.contact-icon{background:var(--field);width:32px;height:32px;color:var(--muted);border-radius:10px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.contact-icon.kind-discord{background:var(--discord-bg);color:var(--discord-ink)}.contact-icon.kind-line{background:var(--line-bg);color:var(--line-ink)}@media (width<=640px){.client-hero-name{font-size:28px}}.discord-dot{background:var(--discord);border-radius:50%;width:8px;height:8px}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.client-card{border-radius:var(--radius-tile);min-width:0;color:var(--ink);flex-direction:column;padding:24px;transition:transform .15s;display:flex}.client-card:hover{transform:translateY(-2px)}.client-card-head{align-items:center;gap:14px;min-width:0;display:flex}.client-card-head>div{min-width:0}.client-avatar{background:var(--solid);width:56px;height:56px;color:var(--tint-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:16px;font-weight:700;display:grid;position:relative}.discord-badge{border:3px solid var(--tint);background:var(--discord);border-radius:50%;width:18px;height:18px;position:absolute;bottom:-2px;right:-2px}.client-flag{background:var(--chip);white-space:nowrap;border-radius:99px;align-self:flex-start;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600}.client-flag.late{background:var(--hero);color:var(--on-hero)}.client-name{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:18px;font-weight:600;line-height:1.25}.client-person{color:var(--muted);font-size:13px}.contact-pills{flex-wrap:wrap;gap:6px;margin-top:18px;list-style:none;display:flex}.contact-pills li{background:var(--chip);overflow-wrap:anywhere;border-radius:10px;max-width:100%;padding:6px 12px;font-size:12.5px}.contact-pills b{margin-right:6px;font-weight:600}.client-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:22px;display:grid}.client-stats div{color:var(--muted);flex-direction:column-reverse;justify-content:flex-end;font-size:12px;display:flex}.client-stats dd{color:var(--ink);font-size:16px;font-weight:700}@media (width<=1000px){.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.client-grid{grid-template-columns:1fr}}.project-title{overflow-wrap:anywhere}.project-description{max-width:60ch;color:var(--dim);white-space:pre-line;margin-top:6px;font-size:13.5px}.project-tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.project-tags .chip{font-size:12.5px}.project-tags .chip:not(.good,.warn){background:var(--tile)}.project-tags a.chip:hover{text-decoration:underline}.project-mini{width:20px;height:20px;color:var(--tint-ink);border-radius:7px;place-items:center;font-size:9px;font-weight:700;display:grid}.timeline-headline.late{color:var(--warn)}.timeline-track{margin-top:auto;padding-top:28px}.timeline-track .track{height:10px}.timeline-dates{color:var(--dim);justify-content:space-between;gap:12px;margin-top:10px;font-size:12.5px;display:flex}.timeline-dates div:nth-child(2):not(:last-child){text-align:center}.timeline-dates div:last-child:not(:first-child){text-align:right}.timeline-dates dd{color:var(--ink);font-size:14px;font-weight:600}.price-halves{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.price-halves div{background:var(--hero-inset);color:var(--hero-dim);border-radius:16px;padding:12px 14px;font-size:12.5px}.price-halves .whole{grid-column:1/-1}.price-halves b{color:var(--on-hero);font-size:16px;font-weight:700;display:block}.price-halves .paid{background:var(--hero-good-bg);color:var(--hero-good)}.price-error{margin-top:12px}.price-action{margin-top:auto;padding-top:28px}.price-note{color:var(--hero-dim);font-size:13px}.project-client{align-items:center;gap:12px;margin-top:14px;display:flex}.project-client>div{overflow-wrap:anywhere;min-width:0}.project-client-avatar{background:var(--solid);width:48px;height:48px;color:var(--tint-ink);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.project-client b{font-weight:600;display:block}.project-client small{color:var(--muted);font-size:12.5px}.project-client-contacts{flex-direction:column;gap:6px;margin-top:auto;padding-top:18px;font-size:13px;list-style:none;display:flex}.project-client-contacts li{background:var(--chip);border-radius:12px;justify-content:space-between;gap:8px;padding:9px 12px;display:flex}.project-client-contacts b{overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:600}.addition-list{flex-direction:column;gap:6px;margin-top:16px;list-style:none;display:flex}.addition-row{background:var(--row);border-radius:16px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;display:grid}.addition-date{background:var(--tile);letter-spacing:.04em;text-align:center;text-transform:uppercase;color:var(--dim);border-radius:12px;padding:6px 0;font-size:11px;font-weight:600;line-height:1.2}.addition-date b{letter-spacing:0;color:var(--ink);font-size:18px;font-weight:700;display:block}.addition-body{overflow-wrap:anywhere;min-width:0}.addition-body>b{font-weight:600;display:block}.addition-body>small{color:var(--dim);font-size:12.5px;display:block}.terms{flex-wrap:wrap;gap:6px;margin-top:8px;list-style:none;display:flex}.terms li{background:var(--tile);color:var(--muted);border-radius:99px;padding:3px 9px;font-size:11.5px;font-weight:600}.terms li.paid{background:var(--good-bg);color:var(--good)}.terms li.due{background:var(--warn-bg);color:var(--warn)}.addition-actions{flex-wrap:wrap;gap:4px 16px;margin-top:8px;display:flex}.addition-actions .link-btn{font-size:12.5px}.addition-body .form-error{margin-top:8px}.addition-amount{text-align:right;font-size:16px;font-weight:700}.pay-list{flex-direction:column;gap:6px;margin-top:16px;list-style:none;display:flex}.pay-subhead+.pay-list{margin-top:8px}.pay-row{background:var(--chip);text-align:left;cursor:pointer;border:1.5px solid #0000;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:13.5px;display:flex}.pay-row:hover{border-color:color-mix(in srgb, var(--tint-ink) 25%, transparent)}.pay-row span{overflow-wrap:anywhere;min-width:0}.pay-row small{color:var(--muted);font-size:12px;display:block}.pay-row b{white-space:nowrap;font-weight:700}.pay-row.next{border:1.5px dashed color-mix(in srgb, var(--tint-ink) 35%, transparent);background:0 0}.pay-row.next:hover{background:var(--chip)}.pay-subhead{color:var(--muted);margin:14px 2px 0;font-size:12px;font-weight:600}.pay-sum{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:auto;padding-top:16px;font-size:13px;display:flex}.pay-sum b{color:var(--ink)}@media (width>=701px) and (width<=1000px){.project-bento>.tile{grid-column:span 6}.project-bento>.tile:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=700px){.project-title{font-size:28px}.addition-row{grid-template-columns:56px minmax(0,1fr);align-items:start}.addition-amount{text-align:left;grid-column:2}}.mt-summary .big-number{font-size:36px;line-height:1.1}.mt-summary .big-number .mt-of{margin-left:4px}.mt-meta{color:var(--muted);margin-top:2px;font-size:13px}.tile.ink .mt-meta{color:var(--hero-dim)}.mt-action{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding-top:20px;display:flex}.mt-action .btn{height:40px}.mt-sent{color:var(--good);font-size:12.5px;font-weight:600}.tile.ink .mt-sent{color:var(--hero-good)}.mt-sent.error{color:var(--warn)}.tile.ink .mt-sent.error{color:var(--hero-warn)}.mt-bar{background:var(--chip);margin-top:auto}.mt-summary.tint-sage .mt-meta{margin-bottom:20px}.mt-title{font-size:16px;font-weight:600}.mt-cal-nav{align-items:center;gap:6px;display:flex}.mt-arrow{background:var(--row);width:32px;height:32px;color:var(--dim);cursor:pointer;border:0;border-radius:10px;place-items:center;font-size:18px;line-height:1;display:grid}.mt-arrow:hover{color:var(--ink)}.mt-cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:16px;display:grid}.mt-dow{color:var(--dim);text-align:center;padding-bottom:4px;font-size:11.5px;font-weight:600;text-decoration:none}.mt-day{aspect-ratio:1;background:var(--row);color:var(--muted);border-radius:14px;place-items:center;font-size:13px;font-weight:500;display:grid}.mt-day.paid{background:var(--sage);color:var(--sage-ink);font-weight:700}.mt-day.overdue{background:var(--peach);color:var(--warn);font-weight:700}.mt-day.upcoming,.mt-day.due{background:var(--hero);color:var(--on-hero);font-weight:700}.mt-day.today{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink);font-weight:700}.mt-day.today:not(.paid,.overdue,.upcoming,.due){background:var(--tile)}.mt-day.today.upcoming,.mt-day.today.due{box-shadow:inset 0 0 0 2px var(--hero), inset 0 0 0 4px var(--tile);color:var(--on-hero)}.mt-legend{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:12.5px;display:flex}.mt-legend span{align-items:center;gap:6px;display:flex}.mt-legend i{border-radius:3px;width:10px;height:10px}.mt-legend .paid{background:var(--lightningcss-light,var(--sage))var(--lightningcss-dark,var(--sage-ink))}.mt-legend .overdue{background:var(--lightningcss-light,var(--peach))var(--lightningcss-dark,var(--warn))}.mt-legend .upcoming{background:var(--hero)}.mt-rows{flex-direction:column;gap:6px;margin-top:16px;list-style:none;display:flex}.mt-row{border-radius:16px;grid-template-columns:40px minmax(0,1fr) 80px 140px 110px;align-items:center;gap:14px;padding:10px 12px;display:grid}.mt-row:nth-child(odd){background:var(--row)}.mt-row.ended{opacity:.6}.mt-avatar{width:40px;height:40px;color:var(--tint-ink);border-radius:13px;place-items:center;font-size:13px;font-weight:700;display:grid}.mt-name{text-align:left;cursor:pointer;background:0 0;border:0;min-width:0}.mt-name b{overflow-wrap:anywhere;font-weight:600;display:block}.mt-name small{color:var(--dim);font-size:12.5px}.mt-name:hover b{text-underline-offset:3px;text-decoration:underline}.mt-amount{text-align:right;font-weight:700}.mt-row .chip{text-overflow:ellipsis;justify-content:center;min-width:0;max-width:100%;overflow:hidden}.mt-contact{background:var(--lightningcss-light,var(--field))var(--lightningcss-dark,var(--pill));text-align:center;display:block}.mt-contact.good{background:var(--good-bg)}.mt-status{border:0}button.mt-status{cursor:pointer}.mt-status.ok{color:var(--good);background:0 0}.mt-status.late{background:var(--warn-bg);color:var(--warn)}.mt-status.due{background:var(--hero);color:var(--on-hero)}button.mt-status:hover{text-underline-offset:3px;text-decoration:underline}.mt-hook{flex-wrap:wrap;align-items:center;gap:16px 40px;display:flex}.mt-hook-title{margin-top:2px;font-size:18px;font-weight:600}.mt-facts{flex-wrap:wrap;flex:360px;gap:8px;list-style:none;display:flex}.mt-facts li{background:var(--chip);border-radius:14px;padding:10px 14px;font-size:13px}.mt-facts b{font-size:14px;font-weight:600;display:block}.mt-facts a{color:var(--tint-ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.mt-facts .mt-me{align-items:center;gap:6px;display:flex}.mt-me-avatar{background:var(--solid);width:20px;height:20px;color:var(--tint-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:9px;font-weight:700;display:grid}.mt-hook-action{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.mt-hook-note{color:var(--muted);margin-top:16px;font-size:13px}.mt-hook-note code{color:var(--ink);font-size:12.5px;font-weight:600}@media (width<=1000px){.bento>.mt-summary{grid-column:span 6}}@media (width<=640px){.bento>.mt-summary{grid-column:1/-1}.mt-row{grid-template-columns:40px minmax(0,1fr) auto;gap:8px 12px}.mt-row .chip{grid-column:2/-1;justify-self:start}.mt-day{border-radius:10px}}.ov-headline{letter-spacing:-.03em;margin-top:4px;font-size:34px;font-weight:600;line-height:1.15}.ov-chips{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:28px;display:flex}.ov-chips .chip{padding:6px 12px;font-size:12.5px}.ov-chips .btn,.ov-action .btn{align-items:center;height:40px;display:inline-flex}.ov-who{overflow-wrap:anywhere;margin-top:18px;font-size:18px;font-weight:600}.ov-meta,.ov-sub{color:var(--dim);margin-top:2px;font-size:13px}[class*=tint-] .ov-meta,[class*=tint-] .ov-sub{color:var(--muted)}.tile.ink .ov-meta{color:var(--hero-dim)}.ov-action{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding-top:18px;display:flex}.ov-hint{color:var(--dim);font-size:12.5px}[class*=tint-] .ov-hint{color:var(--muted)}.tile.ink .ov-hint{color:var(--hero-dim)}.ov-hint a,.ov-empty a{text-underline-offset:3px;font-weight:600;text-decoration:underline}.ov-summary .ov-who+.ov-meta{margin-top:4px}.ov-link{color:var(--dim);font-size:13px;font-weight:600}[class*=tint-] .ov-link{color:var(--muted)}.ov-link:hover{color:var(--ink)}.ov-empty{color:var(--dim);margin-top:12px;font-size:13.5px}[class*=tint-] .ov-empty{color:var(--muted)}.ov-earned-head{align-items:flex-start}.ov-chart{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:10px;height:150px;margin-top:24px;display:grid}.ov-chart i{background:var(--track);border-radius:8px;display:block}.ov-chart i.now{background:var(--ink)}.ov-chart i.future{border:1.5px dashed var(--dash);background:0 0}.ov-months{color:var(--dim);text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-top:8px;font-size:11.5px;display:grid}.ov-months .now{color:var(--ink);font-weight:600}.ov-ring{flex-wrap:wrap;align-items:center;gap:24px;margin-top:auto;padding-top:20px;display:flex}.ov-ring svg{flex-shrink:0}.ov-ring .ov-empty{flex:200px;margin:0}.ov-ring circle{fill:none;stroke-width:14px}.ov-ring-track{stroke:var(--ring-track)}@keyframes ring-in{0%{stroke-dasharray:0 999}}.ov-ring-auto{stroke:var(--good);stroke-linecap:round;animation:ring-in 1s var(--ease-out) .25s backwards}.ov-ring text{fill:var(--ink);font-size:16px;font-weight:700}.ov-legend{flex-direction:column;flex:200px;gap:10px;max-width:260px;font-size:13px;list-style:none;display:flex}.ov-legend li{align-items:center;gap:8px;display:flex}.ov-legend i{background:var(--ring-track);border-radius:3px;width:10px;height:10px}.ov-legend i.auto{background:var(--good)}.ov-legend b{margin-left:auto;padding-left:16px;font-weight:600}.ov-projects{flex-direction:column;gap:6px;margin-top:16px;list-style:none;display:flex}.ov-project{border-radius:16px;grid-template-columns:40px minmax(0,1.5fr) minmax(0,1fr) minmax(90px,max-content);align-items:center;gap:16px;padding:10px 12px;display:grid}.ov-projects li:nth-child(odd) .ov-project{background:var(--row)}.ov-project:hover b{text-underline-offset:3px;text-decoration:underline}.ov-project-avatar{width:40px;height:40px;color:var(--tint-ink);border-radius:13px;place-items:center;font-size:13px;font-weight:700;display:grid}.ov-project-name{min-width:0}.ov-project-name b{overflow-wrap:anywhere;font-weight:600;display:block}.ov-project-name small{color:var(--dim);font-size:12.5px}.ov-project-dates{color:var(--dim);margin-top:6px;font-size:12px}.ov-project-total{text-align:right;font-weight:700}.ov-project-total small{color:var(--good);font-weight:600;display:block}.ov-stack{flex-wrap:wrap;margin-top:18px;list-style:none;display:flex}.ov-stack li+li{margin-left:-10px}.ov-stack-avatar{border:3px solid var(--lavender);width:40px;height:40px;color:var(--tint-ink);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.ov-stack-avatar.tint-lavender,.ov-stack-more{background:var(--solid);color:var(--lavender-ink)}.ov-channels{flex-direction:column;gap:8px;margin-top:auto;padding-top:22px;font-size:13px;list-style:none;display:flex}.ov-channels li{background:var(--chip);border-radius:12px;justify-content:space-between;gap:12px;padding:10px 14px;display:flex}.ov-channels b{text-align:right;font-weight:600}.ov-overdue{color:var(--lightningcss-light,var(--ink))var(--lightningcss-dark,var(--peach-ink))}.ov-overdue .btn{background:var(--lightningcss-light,var(--hero))var(--lightningcss-dark,var(--peach-ink));color:var(--lightningcss-light,var(--on-hero))var(--lightningcss-dark,var(--peach))}@media (width<=1000px){.ov>.tile{grid-column:span 6}}@media (width<=700px){.ov>.tile{grid-column:1/-1}.ov-headline{font-size:30px}.ov-project{grid-template-columns:40px minmax(0,1fr) auto;gap:10px 12px}.ov-project>div:nth-child(3){grid-area:2/1/auto/-1}.ov-chart,.ov-months{gap:4px}}.summary-tile .big-number{font-size:36px;line-height:1.1}.summary-meta{color:var(--muted);margin-top:2px;font-size:13px}.project-card{color:var(--ink);transition:transform .15s}.project-card:hover{transform:translateY(-2px)}.project-card-head{align-items:center;gap:12px;min-width:0;display:flex}.project-avatar{width:40px;height:40px;color:var(--tint-ink);border-radius:13px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.project-card-client{min-width:0;color:var(--dim);overflow-wrap:anywhere;font-size:13px}.project-card-client b{color:var(--ink);font-size:14px;font-weight:600;display:block}.project-card-head .chip{margin-left:auto}.project-card-name{letter-spacing:-.02em;overflow-wrap:anywhere;margin-top:20px;font-size:21px;font-weight:600;line-height:1.3}.project-card-track{margin-top:12px}.project-dates{color:var(--dim);justify-content:space-between;gap:12px;margin-top:8px;font-size:12.5px;display:flex}.project-money{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px;display:grid}.project-money div{background:var(--row);border-radius:14px;min-width:0;padding:10px 14px}.project-money dt{color:var(--dim);font-size:12px;font-weight:500}.project-money dd{overflow-wrap:anywhere;font-size:16px;font-weight:700}.project-money .added dd{color:var(--good)}.split-bar{gap:4px;margin-top:16px;display:grid}.split-bar i{background:var(--good-soft);border-radius:6px;height:6px}.split-bar i.on{background:var(--good)}.split-label{color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:6px;font-size:12.5px;display:flex}.split-label b{color:var(--ink);font-weight:600}.split-label .due{color:var(--warn)}.project-flag{background:var(--warn-bg);color:var(--warn);border-radius:12px;margin-top:12px;padding:8px 12px;font-size:12.5px;font-weight:600}.project-card .muted{opacity:.72}@media (width<=600px){.project-money{grid-template-columns:1fr 1fr}.project-money div:last-child{grid-column:1/-1}}.settings-date{margin-left:10px}.settings-zone,.settings-text{color:var(--muted);margin-top:6px;font-size:13.5px}.settings-text+.settings-text{margin-top:12px}.settings-zone b{color:var(--ink);font-weight:600}.settings-text code{color:var(--ink);overflow-wrap:anywhere;font-size:12.5px;font-weight:600}.settings-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:20px;display:flex}.settings-form .field{color:var(--muted);flex:240px}.settings-form .field input{background:var(--chip)}.settings-studio{margin-top:14px}.settings-studio .field{color:var(--muted)}.settings-studio .field input{background:var(--chip)}.settings-studio .settings-zone{margin-top:0}.settings-logo{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.settings-logo-preview{place-items:center;min-width:56px;height:56px;display:grid}.settings-logo-preview img{object-fit:contain;border-radius:14px;max-width:208px;height:56px;display:block}.settings-logo-preview i{background:var(--hero);border-radius:18px;width:52px;height:52px}.settings-theme{background:var(--chip);align-self:flex-start;margin-top:20px}.settings-device{white-space:normal;align-self:flex-start;margin-top:10px}.settings-feedback{margin-top:12px}.settings-saved{color:var(--good);font-size:13px;font-weight:600}.settings-discord{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px 32px;margin-top:6px;display:grid}.settings-discord .field{color:var(--muted)}.settings-discord .field input{background:var(--chip)}.settings-discord .field input:disabled{opacity:.55;cursor:not-allowed}.settings-discord .settings-saved{margin:0}.settings-discord code{font-size:12.5px;font-weight:600}.settings-token{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.settings-session{flex-flow:wrap;place-content:flex-start space-between;align-items:center;gap:16px}.settings-session>div{flex:320px}.settings-session .form-error{flex-basis:100%;margin-top:0}
