@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4f6667dd39116621-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07935285219a259d-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f58031ded4338640-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/77814b00d5ca94a4-s.0i3h3th1vs4m7.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/605ce01b664af129-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}._5qCx7q_className{font-family:Geist,Geist Fallback;font-style:normal}._5qCx7q_variable{--font-geist:"Geist", "Geist Fallback"}
:root{--bg:#f5f5f7;--card:#fff;--ink:#1d1d1f;--muted:#6e6e73;--faint:#aaa;--line:#e8e8ed;--soft:#f0f0f3;--accent:#007aff;--accent-ink:#fff;--hero:#1d1d1f;--hero-ink:#f5f5f7;--ok:#1f8a3d;--ok-bg:#e4f6e9;--warn:#9a6200;--warn-bg:#fff3d6;--bad:#d70015;--bad-bg:#ffe5e7;--info:#0062cc;--info-bg:#e3f0ff;--green:#34c759;--label:250px;--r:22px;--ease:cubic-bezier(.22, 1, .36, 1);--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--card:#1d1d1f;--ink:#f5f5f7;--muted:#a1a1a6;--faint:#6e6e73;--line:#2c2c2e;--soft:#2c2c2e;--accent:#0a84ff;--hero:#1d1d1f;--ok:#30d158;--ok-bg:#12301b;--warn:#ffd60a;--warn-bg:#3a3000;--bad:#ff453a;--bad-bg:#3d1513;--info:#64b5ff;--info-bg:#0d2a4a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not([data-theme=light]) .theme-btn .sun{display:none}:root:not([data-theme=light]) .theme-btn .moon{display:block}}:root[data-theme=dark]{--bg:#000;--card:#1d1d1f;--ink:#f5f5f7;--muted:#a1a1a6;--faint:#6e6e73;--line:#2c2c2e;--soft:#2c2c2e;--accent:#0a84ff;--hero:#1d1d1f;--ok:#30d158;--ok-bg:#12301b;--warn:#ffd60a;--warn-bg:#3a3000;--bad:#ff453a;--bad-bg:#3d1513;--info:#64b5ff;--info-bg:#0d2a4a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system, BlinkMacSystemFont, "SF Pro Text", var(--font-geist), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}p a,.alert a{color:var(--accent)}h1{letter-spacing:-.03em;text-wrap:balance;margin:0 0 4px;font-size:32px;font-weight:700;line-height:1.1}h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}p{margin:0 0 10px}small{color:var(--muted);font-size:12.5px}.block{display:block}.muted{color:var(--muted)}.small{font-size:13px}.neg{color:var(--bad)}.num,td.r,.stat b,.hero-amount{font-variant-numeric:tabular-nums}.eyebrow{color:var(--muted);margin:0 0 2px;font-size:13px;font-weight:500}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{0%{opacity:0}to{opacity:1}}.enter>*{animation:rise .6s var(--ease) both}.enter>:nth-child(2){animation-delay:60ms}.enter>:nth-child(3){animation-delay:.12s}.enter>:nth-child(4){animation-delay:.18s}.enter>:nth-child(5){animation-delay:.24s}.enter>:nth-child(n+6){animation-delay:.3s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.top{z-index:20;background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);position:sticky;top:0}.top-in{align-items:center;gap:18px;max-width:1120px;margin:0 auto;padding:12px 20px;display:flex}.brand{letter-spacing:-.02em;font-size:16px;font-weight:700}.brand span{background:var(--ink);color:var(--bg);vertical-align:2px;letter-spacing:.04em;border-radius:99px;margin-left:6px;padding:2px 8px;font-size:10.5px}.nav{background:var(--card);box-shadow:var(--shadow);border-radius:99px;gap:2px;margin:0 auto;padding:4px;display:flex}.nav a{color:var(--muted);transition:background .3s var(--ease), color .3s var(--ease), transform .2s var(--ease);border-radius:99px;align-items:center;gap:7px;padding:7px 14px;font-size:14px;font-weight:500;display:flex}.nav a svg{width:17px;height:17px}.nav a.on{background:var(--ink);color:var(--bg)}.nav a:active{transform:scale(.94)}.nav.bottom{display:none}.who{align-items:center;gap:6px;display:flex}.avatar{background:var(--ink);width:34px;height:34px;color:var(--bg);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.page{max-width:1120px;margin:0 auto;padding:20px 20px 96px}.enter{flex-direction:column;gap:18px;display:flex}.narrow{flex-direction:column;gap:14px;width:100%;max-width:460px;margin:0 auto;display:flex}.narrow.wide{max-width:780px}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}.card-h{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-h a{color:var(--accent);font-size:13.5px;font-weight:500}.stack{flex-direction:column;gap:14px;display:flex}.stack>.btn{align-self:flex-start}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.row.end{justify-content:flex-end}.cols{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:18px;display:grid}.hero{background:var(--hero);color:var(--hero-ink);border-radius:30px;grid-template-columns:1fr auto;align-items:end;gap:22px;padding:26px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#007aff8c,#0000 68%);border-radius:50%;width:340px;height:340px;position:absolute;top:-120px;right:-90px}.hero>*{position:relative}.hero-top{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.hero-top .avatar{color:#fff;background:#ffffff24}.hero-top span{color:#aaa;font-size:13.5px}.hero-label{color:#aaa;margin:0;font-size:14px}.hero-amount{letter-spacing:-.035em;font-size:clamp(38px,9vw,60px);font-weight:700;line-height:1.05;display:block}.hero-amount .dim{color:#8e8e93;letter-spacing:-.01em;font-size:.5em;font-weight:600}.hero-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.hero .btn{color:#fff;background:#ffffff1f}.hero .btn.primary{color:#1d1d1f;background:#f5f5f7}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff17;border-radius:20px;min-width:250px;padding:14px 16px}.glass .row{flex-wrap:nowrap}.glass small{color:#aaa}.glass b{letter-spacing:-.02em;font-size:19px}.glass .bar{background:#ffffff24}.mini{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.stat{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);transition:transform .3s var(--ease);flex-direction:column;gap:2px;padding:16px 18px;display:flex}.stat:hover{transform:translateY(-2px)}.stat span{color:var(--muted);font-size:13px}.stat b{letter-spacing:-.03em;font-size:24px;font-weight:700}.bar{background:var(--soft);border-radius:99px;height:6px;margin-top:8px;display:flex;overflow:hidden}.bar i{background:var(--accent);transform-origin:0;height:100%;animation:grow .9s var(--ease) .25s both;border-radius:99px;display:block}.bar i.over{background:var(--bad)}.bar i.pend{background:var(--faint);opacity:.6;margin-left:2px}.pill{white-space:nowrap;background:var(--soft);color:var(--muted);border-radius:99px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.info{background:var(--info-bg);color:var(--info)}.alert{border-radius:16px;margin:0;padding:12px 16px;font-size:14px}.alert.ok{background:var(--ok-bg);color:var(--ok)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.bad{background:var(--bad-bg);color:var(--bad)}.btn{appearance:none;font:inherit;cursor:pointer;background:var(--soft);color:var(--ink);white-space:nowrap;transition:transform .2s var(--ease), filter .2s, background .2s;border:0;border-radius:99px;justify-content:center;align-items:center;gap:7px;padding:10px 18px;font-size:14.5px;font-weight:600;display:inline-flex}.btn:hover{filter:brightness(.96)}.btn:active{transform:scale(.95)}.btn svg{width:16px;height:16px}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{color:var(--muted);background:0 0}.btn.danger{color:var(--bad)}.btn.sm{padding:6px 12px;font-size:13px}.btn.lg{padding:14px 26px;font-size:16px}.btn:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label,.lbl{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.lbl{margin-bottom:4px;display:block}input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid #0000;border-radius:13px;width:100%;min-width:0;padding:11px 13px;font-size:16px;transition:border-color .2s,background .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);outline:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);padding:0}label.check{color:var(--ink);white-space:nowrap;flex-direction:row;align-items:center;gap:8px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.form-row>label{flex:0 170px}.form-row>.grow{flex:220px}.form-row.tight{flex:1;align-items:center}.form-row.tight input[type=date]{width:160px;padding:7px 10px;font-size:14px}.hint{color:var(--muted);margin:0;font-size:13px}.chips{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.chips a,.chips button{font:inherit;cursor:pointer;background:var(--card);color:var(--ink);box-shadow:var(--shadow);transition:transform .2s var(--ease), background .25s, color .25s;border:0;border-radius:99px;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.card .chips a,.card .chips button{background:var(--bg);box-shadow:none}.chips a:active,.chips button:active{transform:scale(.93)}.chips .on,.card .chips .on{background:var(--ink);color:var(--bg)}.chips i{border-radius:50%;width:8px;height:8px}.chips .sep{background:var(--line);width:1px;height:18px;margin:0 4px}ul{margin:0;padding:0;list-style:none}.tl-list li,.rb-list li a{border-top:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;display:flex}.tl-list li:first-child,.rb-list li:first-child a{border-top:0}.rb-list li a{transition:transform .2s var(--ease)}.rb-list li a:active{transform:scale(.98)}.tl-list i{border-radius:4px;flex:none;align-self:stretch;width:4px}.tl-list div,.rb-list a>div:not(.right):not(.ico){flex-direction:column;flex:1;min-width:0;display:flex}.rb-list b,.tl-list b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.rb-list .right{flex-direction:column;align-items:flex-end;gap:3px;font-weight:600;display:flex}.ico{background:var(--ink);width:40px;height:40px;color:var(--bg);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.empty{text-align:center;color:var(--muted);padding:22px 8px}.table-wrap{margin:0 -6px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 10px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 10px}.r{text-align:right;white-space:nowrap}tfoot td{border-bottom:0;font-weight:700}table.rows tbody tr{transition:background .2s}table.rows tbody tr:hover{background:var(--soft)}.inline-edit{justify-content:flex-end;gap:4px;display:flex}.inline-edit input{text-align:right;width:120px;padding:5px 9px;font-size:14px}details.cat summary{cursor:pointer;list-style:none}details.cat summary::-webkit-details-marker{display:none}details.cat[open] summary{margin-bottom:14px}.cat-name:before{content:"›";color:var(--faint);transition:transform .3s var(--ease);margin-right:8px;display:inline-block}details[open] .cat-name:before{transform:rotate(90deg)}details[open]>.table-wrap{animation:rise .4s var(--ease)}details>summary{cursor:pointer;margin-top:14px;font-weight:600}.edit-list{margin-top:10px}.edit-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.gantt-card{padding:0;overflow:hidden}.gantt{max-height:72vh;position:relative;overflow:auto}.g-inner{width:max-content;position:relative}.g-row{border-bottom:1px solid var(--line);width:max-content;display:flex}.g-label{z-index:3;width:var(--label);background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex:none;justify-content:center;padding:8px 14px;display:flex;position:sticky;left:0}.g-label b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.g-label b.done{color:var(--faint);text-decoration:line-through}.g-track{background:repeating-linear-gradient(90deg, transparent 0 calc(var(--day) - 1px), var(--soft) calc(var(--day) - 1px) var(--day));flex:none;min-height:46px;position:relative}.g-head{z-index:5;background:var(--card);position:sticky;top:0}.g-head .g-label{color:var(--muted);z-index:6;font-size:12px;font-weight:500}.g-head .g-track{background:var(--card);min-height:46px}.g-month{border-left:2px solid var(--line);white-space:nowrap;padding-left:6px;font-size:12px;font-weight:700;position:absolute;top:6px;overflow:hidden}.g-day{width:var(--day);text-align:center;color:var(--faint);font-size:10.5px;position:absolute;bottom:4px}.g-bar{height:20px;min-width:var(--day);transform-origin:0;animation:grow .7s var(--ease) .2s both;border-radius:99px;position:absolute;top:13px}.g-bar.is-done{opacity:.3}.g-state{font-size:11px;animation:.5s .6s both fade;position:absolute;top:12px}.g-today{background:var(--accent);z-index:2;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.g-today span{display:none}.calc{background:var(--bg);animation:rise .45s var(--ease);border-radius:18px;padding:16px}.calc input,.calc select{background:var(--card)}.items{flex-direction:column;gap:6px;display:flex}.item{animation:rise .35s var(--ease);grid-template-columns:minmax(0,1fr) 64px 130px 120px 34px;align-items:center;gap:6px;display:grid}.item.head-row{color:var(--muted);font-size:12px;font-weight:500;animation:none}.item .btn{padding:6px}.amount{text-align:center;padding:6px 0 2px}.amount b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(40px,11vw,56px);font-weight:700;line-height:1.1;transition:color .3s;display:block}.amount b.zero{color:var(--faint)}.amount small{min-height:18px;font-style:italic;display:block}.receipt-prev{max-width:220px;max-height:220px;animation:pop .4s var(--ease);border-radius:16px;display:block}.receipt-prev.big{max-width:100%;max-height:520px}.sigpad{height:150px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;border-radius:16px;position:relative}.sigpad canvas{touch-action:none;border-radius:16px;width:100%;height:100%;display:block}.sig-hint{color:#aaa;pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.sigpad .btn{color:#6e6e73;position:absolute;top:6px;right:6px}.success{z-index:100;background:var(--green);color:#fff;text-align:center;animation:fade .35s var(--ease);place-content:center;justify-items:center;gap:6px;display:grid;position:fixed;inset:0}.success svg{width:84px;height:84px;animation:pop .6s var(--ease) .1s both}.success svg path{stroke-dasharray:60;stroke-dashoffset:60px;animation:draw .5s var(--ease) .35s forwards}.success b{letter-spacing:-.03em;animation:rise .6s var(--ease) .3s both;font-size:44px}.success span{opacity:.85;animation:rise .6s var(--ease) .4s both}.login{place-items:center;min-height:100dvh;padding:20px;display:grid}.login-card{width:100%;max-width:400px;animation:rise .7s var(--ease);flex-direction:column;gap:14px;padding:30px;display:flex}.login-card h1{font-size:28px}.login-card .btn{margin-top:4px;padding:13px}.kuitansi{color:#1d1d1f;animation:rise .6s var(--ease);background:#fff;border:1.5px solid #1d1d1f;border-radius:14px;padding:24px 28px;font-size:14px;position:relative;overflow:hidden}.kuitansi small{color:#6e6e73}.kuitansi header{border-bottom:1.5px solid #1d1d1f;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.kuitansi header b{font-size:16px;display:block}.k-no{text-align:right}.k-no span{letter-spacing:.14em;font-size:20px;font-weight:800;display:block}.kuitansi dl{grid-template-columns:150px 1fr;gap:8px 12px;margin:0 0 16px;display:grid}.kuitansi dt{color:#6e6e73}.kuitansi dd{border-bottom:1px dotted #aaa;margin:0;padding-bottom:3px}.k-words{background:#f5f5f7;border-radius:6px;font-style:italic;font-weight:600;padding:4px 8px!important}.kuitansi footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.k-amount{font-variant-numeric:tabular-nums;background:#f5f5f7;border-radius:12px;padding:8px 18px;font-size:22px;font-weight:800}.k-sign{text-align:center;gap:28px;display:flex}.k-sign>div{flex-direction:column;justify-content:flex-end;min-width:150px;display:flex}.k-sig{border-bottom:1px solid #1d1d1f;place-items:center;height:70px;margin:4px 0;display:grid}.k-sig img{max-width:170px;max-height:68px}.k-sig em{color:#6e6e73;font-size:11px}.k-sign b{font-size:12.5px}.stamp{color:#007aff;letter-spacing:.16em;opacity:.8;pointer-events:none;animation:pop .5s var(--ease) .5s both;border:3px solid #007aff;border-radius:10px;padding:2px 14px;font-size:24px;font-weight:800;position:absolute;bottom:26px;left:190px;transform:rotate(-14deg)}@media (max-width:760px){:root{--label:148px;--r:20px}h1{font-size:26px}.top-in{padding:10px 16px}.top .nav{display:none}.who{margin-left:auto}.page{padding:12px 16px 120px}.nav.bottom{width:max-content;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));z-index:30;background:color-mix(in srgb, var(--hero) 92%, transparent);-webkit-backdrop-filter:blur(20px);animation:rise .6s var(--ease) .2s both;gap:4px;margin:0 auto;padding:6px;display:flex;position:fixed;box-shadow:0 12px 32px #00000047}.nav.bottom a{color:#aaa;padding:11px 16px}.nav.bottom a span{display:none}.nav.bottom a svg{width:21px;height:21px}.nav.bottom a.on{color:#1d1d1f;background:#f5f5f7;padding:11px 16px}.nav.bottom a.on span{font-weight:600;display:inline}.hero{border-radius:28px;grid-template-columns:1fr;padding:22px}.glass{min-width:0}.mini{grid-template-columns:1fr 1fr}.mini .stat:first-child{grid-column:1/-1}.item{grid-template-columns:1fr 60px 1fr 36px}.item>span.r,.item.head-row{display:none}.item input:first-child{grid-column:1/-1}.kuitansi{padding:18px}.kuitansi dl{grid-template-columns:1fr;gap:2px}.kuitansi dd{margin-bottom:8px}.k-sign{gap:12px;width:100%}.k-sign>div{flex:1;min-width:0}.stamp{bottom:150px;left:auto;right:16px}.head .btn{flex:1}.row.end .btn.lg{width:100%}}@media print{.top,.nav,.no-print,.alert{display:none!important}body{background:#fff}.page{padding:0}.kuitansi{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;animation:none}}.nowrap{white-space:nowrap}.link{color:var(--accent)}.indent{padding-left:26px}tr.group td{background:var(--soft)}.dept{border-radius:14px;margin:0 -10px;padding:6px 10px;transition:background .25s;display:block}.dept:hover,.dept.on{background:var(--soft)}.cat-list li{padding:3px 0}.theme-btn{background:var(--card);width:34px;height:34px;box-shadow:var(--shadow);border-radius:50%;padding:0}.theme-btn svg{width:17px;height:17px;transition:transform .5s var(--ease)}.theme-btn:active svg{transform:rotate(60deg)scale(.8)}.theme-btn .moon,:root[data-theme=dark] .theme-btn .sun{display:none}:root[data-theme=dark] .theme-btn .moon{display:block}html.theme-anim,html.theme-anim *{transition:background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease)!important}.login-theme{position:fixed;top:16px;right:16px}.seg{background:var(--card);box-shadow:var(--shadow);border-radius:99px;padding:4px;display:inline-flex}.seg a{color:var(--muted);transition:background .3s var(--ease), color .3s var(--ease);border-radius:99px;padding:6px 16px;font-size:14px;font-weight:500}.seg a.on{background:var(--ink);color:var(--bg)}.cal{padding:0;scroll-margin-top:80px;overflow:hidden}.cal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px 12px;display:flex}.cal-bar h2{letter-spacing:-.02em;font-size:22px}.cal-nav{align-items:center;gap:6px;display:flex}.cal-nav .btn{padding:6px 14px;font-size:15px}.cal-dow,.cal-cells{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-dow span{color:var(--muted);padding:6px 10px;font-size:12px;font-weight:500}.cal-week{--lh:24px;--gap:2px;height:calc(38px + var(--rows,1) * (var(--lh) + var(--gap)) + 6px);border-top:1px solid var(--line);min-height:96px;animation:fade .4s var(--ease) both;position:relative}.cal-cells{position:absolute;inset:0}.cal-cell{border-left:1px solid var(--line);padding:6px 8px;transition:background .2s;display:block}.cal-cell:first-child{border-left:0}.cal-cell:hover{background:var(--soft)}.cal-cell.out .cal-num{color:var(--faint)}.cal-cell.sel{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-num{font-variant-numeric:tabular-nums;border-radius:99px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:13px;font-weight:500;display:inline-grid}.cal-cell.today .cal-num{background:var(--accent);color:#fff;font-weight:700}.cal-events{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:var(--lh);row-gap:var(--gap);pointer-events:none;padding:0 4px;display:grid;position:absolute;top:38px;left:0;right:0}.cal-ev{pointer-events:auto;color:#fff;text-shadow:0 1px #00000047;white-space:nowrap;text-overflow:ellipsis;height:22px;transition:transform .2s var(--ease), filter .2s;animation:rise .5s var(--ease) both;border-radius:6px;margin:0 1px;padding:0 8px;font-size:12px;font-weight:600;line-height:22px;display:block;overflow:hidden}.cal-ev:hover{filter:brightness(1.12);transform:translateY(-1px)}.cal-ev.cl{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-5px}.cal-ev.cr{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-5px}.cal-ev.done{opacity:.4;text-decoration:line-through}.cal-more{pointer-events:auto;color:var(--muted);white-space:nowrap;padding:0 8px;font-size:11.5px;font-weight:600;line-height:22px}.cal-more:hover{color:var(--ink)}.done-text{color:var(--faint);text-decoration:line-through}.g-day.wknd{color:var(--bad)}.g-day.now{color:var(--accent);font-weight:700}.g-day{font-size:10px}@media (max-width:760px){.cal-bar{padding:14px 14px 10px}.cal-bar h2{font-size:19px}.cal-dow span{text-align:center;padding:4px 2px}.cal-week{--lh:9px;--gap:3px;height:calc(34px + var(--rows,1) * (var(--lh) + var(--gap)) + 6px);min-height:64px}.cal-cell{text-align:center;padding:4px 2px}.cal-num{min-width:24px;height:24px;padding:0 4px;font-size:12px}.cal-events{padding:0 2px;top:33px}.cal-ev{height:6px;text-shadow:none;border-radius:3px;margin:0 1px;padding:0;font-size:0;line-height:0}.cal-more{padding:0;font-size:0;line-height:0}.cal-more:before{content:"•••";font-size:8px;line-height:9px}}.budget-row{align-items:center}.budget-row .grow{flex:180px;min-width:0}.rp-field{color:var(--muted);flex-direction:row;align-items:center;gap:6px;font-weight:600}.rp-field input{text-align:right;font-variant-numeric:tabular-nums;width:150px}.who-role{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.max-row{background:var(--soft);border-top:0;border-radius:16px;padding:12px 14px}@media (max-width:760px){.who-role{font-size:0}.who-role .pill{font-size:11px}.rp-field input{width:120px}}
