:root{--canvas:#f6f5f1;--surface:#fff;--ink:#14181f;--ink-2:#4b5563;--rule:#e2e0d7;--tint:#ebe9e1;--line:#b9b5a6;--day:#f3b63f;--day-ink:#14181f;--swing:#86c9de;--swing-ink:#0d2a35;--night:#27336b;--night-ink:#fff;--danger:#a11d1d;--cell-h:clamp(54px, calc((100dvh - 380px) / 6), 84px);--band-h:clamp(22px, calc(var(--cell-h) * .44), 34px);--r:8px;--ease:cubic-bezier(.2, .7, .2, 1);color:var(--ink);background:var(--canvas);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;font:15px/1.4 system-ui,-apple-system,Segoe UI Variable Text,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-height:100dvh;margin:0}a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{position:absolute;top:0;left:-999px}.skip:focus{z-index:50;background:#fff;padding:8px 12px;top:8px;left:8px}.muted{color:var(--ink-2)}.micro{color:var(--ink-2);margin:8px 0;font-size:.8125rem}.error{color:var(--danger);margin:0;font-size:.9rem;font-weight:600}[hidden]{display:none!important}.top{z-index:20;background:var(--canvas);align-items:center;gap:6px;min-height:56px;padding:4px 8px 4px 12px;display:flex;position:sticky;top:0}.word{letter-spacing:-.04em;align-items:center;min-height:44px;margin-right:auto;font-size:1.375rem;line-height:1;text-decoration:none;display:inline-flex}.hitch{font-weight:800;position:relative}.hitch:after{content:"";background:var(--day);border-radius:2px;height:4px;position:absolute;bottom:-4px;left:0;right:0}.dayw{color:var(--ink-2);font-weight:400}.tabs{background:var(--tint);border-radius:22px;display:flex;overflow:hidden}.tabs a{min-height:44px;color:var(--ink-2);place-items:center;padding:0 12px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s;display:grid}.tabs a[aria-current=page]{background:var(--ink);color:#fff}.menu{position:relative}.menu>summary{min-width:44px;min-height:44px;color:var(--ink-2);cursor:pointer;border-radius:8px;place-items:center;padding:0 8px;font-weight:600;list-style:none;display:grid}.menu>summary::-webkit-details-marker{display:none}.menu>summary:hover{background:var(--tint)}.menu ul,.menu-panel{background:var(--surface);z-index:30;border-radius:12px;width:248px;margin:0;padding:6px;list-style:none;position:absolute;top:48px;right:0;box-shadow:0 8px 24px #14181f40}.menu ul a,.menu-item{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;width:100%;min-height:44px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.menu ul a:hover,.menu-item:hover{background:var(--tint)}.menu-panel{gap:6px;padding:10px;display:grid}.menu-label{color:var(--ink-2);font-size:.75rem;font-weight:600}.menu-panel select{min-height:44px}.export{position:relative}.export>summary{border:1px solid var(--line);border-radius:22px;padding:0 14px}.page-h1{color:var(--ink-2);letter-spacing:.01em;margin:0;padding:2px 12px 0;font-size:.8125rem;font-weight:600}.app{padding-bottom:188px;display:block}body.on-pay .app{padding-bottom:24px}.view{min-width:0}.cal-head{padding:4px 12px 8px}.title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.view-title,#monthTitle{letter-spacing:-.02em;margin:0;font-size:1.625rem;font-weight:750;line-height:1.15}.month-nav{align-items:center;gap:2px;display:flex}.month-nav button,.period-nav>button{background:0 0;border:0;border-radius:10px;min-width:44px;min-height:44px;font-size:1.5rem;line-height:1;transition:background-color .15s}.month-nav button.text{padding:0 10px;font-size:.9375rem;font-weight:600}.month-nav button:hover,.period-nav>button:hover,.text:hover{background:var(--tint)}.sub-row{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:2px;display:flex}.grow{flex:1 1 0}.rot{background:var(--ink);color:#fff;border:0;border-radius:22px;align-items:center;gap:8px;min-height:44px;padding:0 12px 0 10px;font-weight:650;transition:transform .12s;display:inline-flex}.rot:active{transform:scale(.97)}.rot-label{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:.6875rem;font-weight:600}.chev{opacity:.8;font-size:.8rem}.stats{color:var(--ink-2);font-size:.875rem}.stats b{color:var(--ink);font-weight:700}.stats-row{margin-top:6px}.sub-row{gap:6px 8px}.seg{background:var(--tint);border-radius:22px;display:inline-flex;overflow:hidden}.seg button{min-width:44px;min-height:44px;color:var(--ink-2);background:0 0;border:0;border-radius:0;padding:0 16px;font-weight:600;transition:background-color .15s,color .15s}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.dow{grid-template-columns:repeat(7,1fr);display:grid}.dow span{text-align:center;color:var(--ink-2);padding:6px 0 4px;font-size:.75rem;font-weight:600}.dow .w2{display:none}.weeks{gap:2px;display:grid}.week{grid-template-columns:repeat(7,1fr);display:grid}.cell{min-width:0;position:relative}.day-btn{all:unset;box-sizing:border-box;width:100%;height:var(--cell-h);border-radius:var(--r);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:flex-start;padding-top:3px;transition:background-color .12s;display:flex;position:relative}.day-btn:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.day-btn:hover,.cell[aria-selected=true] .day-btn{background:var(--tint)}.numrow{justify-content:center;align-items:center;gap:3px;height:24px;display:flex}.num{border-radius:11px;place-items:center;min-width:22px;height:22px;font-size:.8125rem;font-weight:650;display:inline-grid}.cell.today .num{background:var(--ink);color:#fff}.cell.out{opacity:.45}.mk{background:var(--ink);color:#fff;border-radius:7px;place-items:center;width:14px;height:14px;font-size:.625rem;font-weight:800;line-height:1;display:inline-grid}.mk.hol{background:var(--day);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.band{height:var(--band-h);margin-top:3px;position:relative}.cell.k-D .band{background:var(--day);color:var(--day-ink)}.cell.k-S .band{background:var(--swing);color:var(--swing-ink)}.cell.k-N .band{background:var(--night);color:var(--night-ink)}.cell.k-X .band{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.cell.k-O .band{background:repeating-linear-gradient(135deg, var(--tint) 0 4px, #cbc7b8 4px 5px);color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--ink-2);outline:1.5px dashed var(--ink-2);outline-offset:-2px;box-shadow:none;border-style:dashed}.cell.rs .band{border-radius:7px 0 0 7px;margin-left:3px}.cell.re .band{border-radius:0 7px 7px 0;margin-right:3px}.cell.rs.re .band{border-radius:7px}.cell[class*=k-]:not(.rs) .band:before{content:"";opacity:.35;background:currentColor;width:1px;position:absolute;top:5px;bottom:5px;left:0}.cell.k-X:not(.rs) .band:before,.cell.k-O:not(.rs) .band:before{opacity:.5}.cell[aria-selected=true][class*=k-] .band{outline:3px solid var(--ink);outline-offset:1px}.cell.k-O[aria-selected=true] .band{outline-style:solid}.lab{white-space:nowrap;letter-spacing:.01em;pointer-events:none;z-index:2;font-size:.75rem;font-weight:700;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.cell.rs.re .lab{text-align:center;left:0;right:0}.cell.k-O .lab{font-weight:600;text-decoration:line-through}.tail{width:calc(var(--tail) * 100%);z-index:1;border-radius:0 6px 6px 0;min-width:6px;position:absolute;top:0;bottom:0;left:0}.tail.t-D{background:var(--day)}.tail.t-S{background:var(--swing)}.tail.t-N{background:var(--night)}.tail.t-X{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ink)}.xstrip{letter-spacing:.04em;text-transform:uppercase;text-align:center;height:14px;box-shadow:inset 0 0 0 1.5px var(--ink);background:var(--surface);color:var(--ink);border-radius:4px;margin:3px 3px 0;font-size:.625rem;font-weight:800;line-height:14px;display:block}.legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;padding:0 12px;font-size:.75rem;list-style:none;display:flex}.legend li{align-items:center;gap:5px;display:inline-flex}.sw{border-radius:3px;width:16px;height:10px;display:inline-block}.sw.k-D{background:var(--day)}.sw.k-S{background:var(--swing)}.sw.k-N{background:var(--night)}.sw.k-X{box-shadow:inset 0 0 0 2px var(--ink);background:#fff}.sw.k-O{background:repeating-linear-gradient(135deg, var(--tint) 0 3px, #cbc7b8 3px 4px);outline:1px dashed var(--ink-2);outline-offset:-1px}.sw.tail-sw{background:linear-gradient(90deg, var(--night) 0 45%, transparent 45%);box-shadow:inset 0 0 0 1px #14181f40}.micro.foot{margin-top:6px;padding:0 12px}.year{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:0 12px;display:grid}.mini{min-width:0}.mini-head{all:unset;box-sizing:border-box;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:44px;font-weight:700;display:flex}.mini-head:focus-visible{outline:3px solid var(--ink);outline-offset:0}.mini-head .count{color:var(--ink-2);font-size:.75rem;font-weight:400}.mini .dow span{padding:2px 0;font-size:.625rem}.ygrid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.ycell{aspect-ratio:1;cursor:pointer;border-radius:3px;place-items:center;min-height:20px;font-size:.6rem;display:grid;position:relative}.ycell .yn{opacity:.9;grid-area:1/1;align-self:start;padding-top:1px;font-size:.5rem;font-weight:600}.ycell .yc{grid-area:1/1;align-self:end;padding-bottom:1px;font-size:.55rem;font-weight:800}.ycell.out{opacity:0;pointer-events:none}.ycell.k-D{background:var(--day)}.ycell.k-S{background:var(--swing)}.ycell.k-N{background:var(--night);color:#fff}.ycell.k-X{box-shadow:inset 0 0 0 1.5px var(--ink)}.ycell.k-O{background:repeating-linear-gradient(135deg, var(--tint) 0 3px, #cbc7b8 3px 4px);color:var(--ink-2)}.ycell.hasx:after{content:"";background:var(--surface);width:5px;height:5px;box-shadow:0 0 0 1.5px var(--ink);border-radius:50%;position:absolute;top:1px;right:1px}.ycell.today{outline:2px solid var(--ink);outline-offset:-1px}.dock{z-index:15;background:var(--surface);box-shadow:0 -1px 0 var(--rule), 0 -8px 24px #14181f14;padding:6px 12px calc(6px + env(safe-area-inset-bottom));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.upcoming{display:none}.day-panel{border-bottom:1px solid var(--rule);animation:rise .18s var(--ease);grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:4px 0 6px;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dp-date{grid-column:1;font-weight:700}.dp-what{color:var(--ink-2);grid-column:1;gap:3px;font-size:.875rem;display:grid}.dp-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{height:22px;color:var(--ink);border-radius:11px;align-items:center;padding:0 9px;font-size:.75rem;font-weight:700;display:inline-flex}.chip.k-D{background:var(--day)}.chip.k-S{background:var(--swing);color:var(--swing-ink)}.chip.k-N{background:var(--night);color:#fff}.chip.k-X{box-shadow:inset 0 0 0 2px var(--ink);background:#fff}.chip.k-O{background:var(--tint);box-shadow:inset 0 0 0 1.5px var(--ink-2);text-decoration:line-through}.dp-actions{grid-area:1/2/span 2;gap:4px;display:flex}.btn{background:var(--tint);border:0;border-radius:10px;min-height:44px;padding:0 14px;font-weight:650;transition:background-color .12s,transform .12s}.btn:hover{background:#dedbd0}.btn:active{transform:scale(.97)}.pay-strip{grid-template-columns:1fr auto;align-items:center;column-gap:8px;min-height:52px;padding:2px 0;text-decoration:none;display:grid}.ps-l{display:grid}.ps-k{color:var(--ink-2);letter-spacing:.02em;font-size:.75rem;font-weight:600}.ps-v{letter-spacing:-.02em;font-size:1.375rem;font-weight:750}.ps-go{color:var(--ink-2);font-size:.8125rem}.ps-go b{font-size:1.1rem}.period-nav{justify-content:space-between;align-items:center;gap:4px;padding:0 4px 0 8px;display:flex}.period-label{text-align:center;flex:1;justify-items:center;font-weight:650;display:grid}.ptag{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.figure-block{padding:12px 16px 4px}.eyebrow{color:var(--ink-2);margin:0;font-size:.8125rem;font-weight:600}.figure{letter-spacing:-.04em;margin:0;font-size:clamp(2.75rem,15vw,4rem);font-weight:750;line-height:1.05}.figure .cents{letter-spacing:0;color:var(--ink-2);font-size:.5em;font-weight:650}.figure-sub{color:var(--ink-2);margin:4px 0 0}.link-btn{background:0 0;border:0;min-height:44px;padding:8px 0;font-weight:650;text-decoration:underline}.ledger{border-collapse:collapse;width:calc(100% - 32px);margin:12px 16px 0}.ledger th,.ledger td{text-align:left;vertical-align:baseline;border-top:1px solid var(--rule);padding:11px 0;font-weight:400}.ledger td{text-align:right;white-space:nowrap;font-weight:600}.ledger .d{color:var(--ink-2);font-size:.8125rem;display:block}.ledger tr.total th,.ledger tr.total td{border-top:2px solid var(--ink);font-weight:750}#view-pay>.micro{padding:0 16px}.more-blocks{margin:12px 0 0;padding:0 16px}.disc{border-top:1px solid var(--rule)}.disc>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;font-weight:600;list-style:none;display:flex}.disc>summary::-webkit-details-marker{display:none}.disc>summary:after{content:"+";color:var(--ink-2);transition:transform .2s var(--ease);font-size:1.25rem;font-weight:400}.disc[open]>summary:after{transform:rotate(45deg)}.row-btn{all:unset;box-sizing:border-box;border-top:1px solid var(--rule);cursor:pointer;align-items:center;gap:10px;width:100%;min-height:52px;font-weight:600;display:flex}.row-btn .muted{margin-left:auto;font-size:.875rem;font-weight:400}.row-btn:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.table-wrap{overflow-x:auto}.wk{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:.875rem}.wk th,.wk td{text-align:right;border-top:1px solid var(--rule);padding:8px 0;font-weight:400}.wk th:first-child,.wk td:first-child{text-align:left}.wk thead th{color:var(--ink-2);border-top:0;font-size:.75rem}.tag{background:#fff1cc;border:1px solid #e2b94d;border-radius:4px;margin-left:8px;padding:0 5px;font-size:.72rem}.plist{margin:0;padding:0;list-style:none}.plist button{all:unset;box-sizing:border-box;border-top:1px solid var(--rule);cursor:pointer;justify-content:space-between;align-items:center;width:100%;min-height:48px;display:flex}.plist button[aria-current=true]{font-weight:700}.plist button:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.sheet{background:var(--surface);color:var(--ink);overscroll-behavior:contain;border:0;border-radius:18px 18px 0 0;width:100%;max-width:560px;max-height:90dvh;margin:auto auto 0;padding:0;overflow:auto}.sheet[open]{animation:sheet-up .24s var(--ease)}.sheet::backdrop{background:#14181f66}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet-in{padding:8px 16px calc(20px + env(safe-area-inset-bottom))}.grab{background:var(--rule);border-radius:2px;width:36px;height:4px;margin:0 auto 6px;display:block}.sheet-head{background:var(--surface);z-index:2;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sheet-head h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.text{background:0 0;border:0;border-radius:10px;min-height:44px;padding:0 12px;font-weight:650}.settings-stack{gap:8px;margin-top:6px;display:grid}.panel{border-top:1px solid var(--rule)}.panel>summary{cursor:pointer;min-height:48px;padding:14px 0;font-weight:700}.panel-body{gap:10px;padding:0 0 14px;display:grid}.sub{border-top:1px solid var(--rule);padding-top:8px}.sub>summary{cursor:pointer;align-items:center;min-height:44px;margin-bottom:8px;font-weight:600;display:flex}.panel h3{margin:6px 0 0;font-size:1rem}.field{align-content:start;gap:4px;min-width:0;display:grid}.field label{color:var(--ink-2);font-size:.875rem;font-weight:600}.row2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.row2 .field input,.row2 .field select{min-width:0;max-width:100%}.row3{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.sheet input[type=text],.sheet input[type=number],.sheet input[type=date],.sheet input[type=time],.sheet select{border:1px solid var(--line);background:var(--canvas);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:8px 10px;font-size:16px}.sheet input[type=text]{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sheet input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.check{align-items:center;gap:10px;min-height:44px;display:flex}.check input{width:22px;height:22px;accent-color:var(--ink)}.help{color:var(--ink-2);margin:0;font-size:.8125rem}.item{border-bottom:1px dashed var(--rule);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:.9rem;display:flex}.sheet button:not(.text):not(.link){border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:44px;padding:8px 14px}.sheet button:not(.text):not(.link):hover{background:var(--tint)}.sheet button.link{background:0 0;border:0;min-height:44px;padding:2px 6px;text-decoration:underline}.sheet button.danger{color:var(--danger);border-color:var(--danger)}.preset-list{gap:2px;display:grid}.preset{cursor:pointer;border-radius:12px;grid-template-columns:1fr;gap:6px;min-height:56px;padding:10px 12px;transition:background-color .12s;display:grid;position:relative}.preset:hover{background:var(--canvas)}.preset input{opacity:0;cursor:pointer;min-height:0;margin:0;position:absolute;inset:0}.preset:has(input:checked){background:var(--tint);box-shadow:inset 3px 0 0 var(--ink)}.preset:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:-3px}.preset .nm{font-weight:650}.preset .mini,.ribbon-slot .mini{gap:1px;height:8px;display:flex}.preset .mini i{background:#e6e3d9;border-radius:1px;flex:1}.preset .mini i.D{background:var(--day)}.preset .mini i.S{background:var(--swing)}.preset .mini i.N{background:var(--night)}.rot.alt{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.rot.alt .rot-label{opacity:1;text-transform:none;letter-spacing:0;font-size:.8125rem;font-weight:650}.rot:not(.alt) .rot-label{text-transform:none;letter-spacing:0;opacity:.85;font-size:.8125rem}.figure-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.figure-row .figure{flex:auto;min-width:0}.edit-pay{flex:none}.facts{gap:2px;margin:6px 0 0;font-size:.875rem;display:grid}.facts div{gap:8px;display:flex}.facts dt{color:var(--ink-2);min-width:7.5em}.facts dd{margin:0;font-weight:600}.takehome{margin:14px 16px 0;padding-top:4px}.th-table{border-collapse:collapse;width:100%}.th-table th,.th-table td{text-align:left;border-top:1px solid var(--rule);padding:10px 0;font-weight:400}.th-table td{text-align:right;white-space:nowrap;font-weight:600}.th-table tr.total th,.th-table tr.total td{border-top:2px solid var(--ink);font-size:1.125rem;font-weight:750}.ledger.sm{width:100%;margin:4px 0 0}.ledger tr.grp th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);border-top:0;padding-top:14px;font-size:.75rem;font-weight:700}.badge{background:var(--tint);color:var(--ink);border-radius:4px;margin-right:4px;padding:0 6px;font-size:.6875rem;font-weight:700;display:inline-block}.badge.b-unsupported{background:#fff1cc;box-shadow:inset 0 0 0 1px #c59a2b}.badge.b-override{box-shadow:inset 0 0 0 1px var(--ink);background:0 0}.partial{background:#fff1cc;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:.875rem}.after-bills{border-top:1px dashed var(--ink-2);grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;margin-top:12px;padding:10px 0 0;display:grid}.after-bills b{font-size:1.125rem}.after-bills small{color:var(--ink-2);grid-column:1/-1}.shift-list{gap:0;margin:8px 0;padding:0;list-style:none;display:grid}.shift-list li{border-top:1px solid var(--rule);padding:8px 0}.sl-head{justify-content:space-between;gap:8px;font-weight:600;display:flex}.sl-sub{color:var(--ink-2);font-size:.8125rem}.stack-title{margin:12px 0 0;font-size:1.0625rem}.list-editor{gap:8px;display:grid}.list-row{border-top:1px dashed var(--rule);grid-template-columns:1fr 1fr;align-items:center;gap:6px 8px;padding:8px 0;display:grid}.list-row .link{grid-column:1/-1;justify-self:end}.recon-form,.recon-out{gap:8px;display:grid}.recon-row{border-top:1px solid var(--rule);padding:8px 0}.rr-head{justify-content:space-between;font-weight:650;display:flex}.rr-state{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.s-match .rr-state{color:#1f7a4a}.s-close .rr-state{color:#8a5a00}.s-differs .rr-state{color:var(--danger)}.rr-nums{grid-template-columns:repeat(3,1fr);gap:6px;font-weight:600;display:grid}.rr-nums small{color:var(--ink-2);font-size:.75rem;font-weight:400;display:block}.rr-why{font-size:.8125rem}.rr-why summary{cursor:pointer;min-height:44px;color:var(--ink-2);align-items:center;display:flex}.rr-why ul{margin:0 0 6px;padding-left:18px}@media (width>=900px){#view-pay .takehome{grid-column:1;max-width:560px;margin:0}#view-pay .figure-row{max-width:560px}}:root{--pill:22px;--line-ink:1.5px}.top{padding-top:calc(4px + env(safe-area-inset-top,0px));padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(8px, env(safe-area-inset-right,0px))}.cal-head,.legend,.micro.foot,.figure-block,.more-blocks,.takehome,.page-h1,.year{padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px))}.takehome{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin-left:0;margin-right:0}.figure-block,.more-blocks{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.dock{padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px))}.rot,.export>summary,.btn{border-radius:var(--pill)}.rot.alt,.export>summary{box-shadow:inset 0 0 0 var(--line-ink) var(--ink);color:var(--ink);background:0 0;border:0}.export>summary{padding:0 16px;font-weight:650}.btn{background:var(--tint)}@media (hover:hover){.rot:hover{background:#2a313c}.rot.alt:hover,.export>summary:hover{background:var(--tint)}.seg button:not([aria-pressed=true]):hover,.tabs a:not([aria-current=page]):hover{color:var(--ink);background:#dedbd0}.row-btn:hover,.plist button:hover,.rr-why summary:hover,.disc>summary:hover{background:#efede6}}.rot:active,.btn:active,.seg button:active,.tabs a:active,.export>summary:active,.month-nav button:active,.period-nav>button:active{transform:scale(.97)}.row-btn:active,.plist button:active,.day-btn:active{background:var(--tint)}:where(button,a,summary,input,select):focus-visible{outline:3px solid var(--ink);outline-offset:2px}.tabs a:focus-visible,.seg button:focus-visible{outline-offset:-3px;box-shadow:0 0 0 3px var(--ink) inset;outline-color:#fff}button:disabled,input:disabled,select:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.rot-label{white-space:nowrap}.word{letter-spacing:-.045em}.hitch{font-weight:800}.hitch:after{height:3px;bottom:-5px}.dayw{position:relative}.dayw:after{content:"";background:repeating-linear-gradient(90deg, var(--ink-2) 0 4px, transparent 4px 8px);opacity:.55;height:3px;position:absolute;bottom:-5px;left:3px;right:0}.cell[aria-selected=true][class*=k-] .band{box-shadow:0 0 0 2px var(--canvas), 0 0 0 4.5px var(--ink);z-index:1;outline:0}.cell.k-X[aria-selected=true] .band{box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 2px var(--canvas), 0 0 0 4.5px var(--ink)}.cell[aria-selected=true] .day-btn{background:0 0}.cell[aria-selected=true] .num{background:var(--tint)}.cell.today[aria-selected=true] .num{background:var(--ink)}.cell.tailled .lab{left:calc(var(--tail,0) * 100% + 8px)}.cell.tailled.rs.re .lab{text-align:center;right:0;left:calc(var(--tail,0) * 100%)}.mk{border-radius:8px;width:16px;height:16px;font-size:.6875rem}.weeks.swap{animation:slide .18s var(--ease)}@keyframes slide{0%{opacity:0;transform:translateX(var(--dx,10px))}to{opacity:1;transform:none}}.figure{animation:settle .16s var(--ease)}@keyframes settle{0%{opacity:.55}to{opacity:1}}.payday{flex-wrap:wrap;align-items:baseline;gap:0 6px;margin:4px 0 0;font-size:.875rem;display:flex}.payday span:first-child{color:var(--ink-2);font-weight:600}.ledger.joined tr.total th,.ledger.joined tr.total td{border-top:2px solid var(--ink)}.takehome{margin-top:0;padding-top:0}.ledger+.takehome .th-table th,.ledger+.takehome .th-table td{border-top:1px solid var(--rule)}.th-table tr.total th,.th-table tr.total td{font-size:1.0625rem}.th-table,.ledger{font-variant-numeric:tabular-nums}.panel>summary{justify-content:space-between;align-items:center;list-style:none;display:flex}.panel>summary::-webkit-details-marker{display:none}.panel>summary:after{content:"+";color:var(--ink-2);transition:transform .2s var(--ease);font-size:1.25rem;font-weight:400}.panel[open]>summary:after{transform:rotate(45deg)}.panel-body{gap:12px;padding-bottom:16px}.field label{font-size:.8125rem}.help{line-height:1.35}.sheet .row2{gap:10px 12px}.sheet-head{padding-bottom:4px}.stack-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:16px 0 0;font-size:.8125rem}.sheet{-webkit-overflow-scrolling:touch}.preset input:checked~.nm{font-weight:800}.tool-info{max-width:1160px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:28px auto 0}.tool-info>*{max-width:74ch}@media (width>=900px){.day-panel{border-bottom:0}.tool-info{padding:0 24px}.page-h1{padding-left:24px}.figure-block,.more-blocks,.takehome{padding-left:0;padding-right:0}}.update-bar{left:max(12px, env(safe-area-inset-left,0px));right:max(12px, env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--ink);color:#fff;border-radius:14px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 8px 8px 14px;display:flex;position:fixed}.update-bar span{flex:100%;font-weight:600}.rot.share{background:var(--day);color:var(--day-ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.rot.share .rot-label{opacity:1}.rot.share:hover{background:#f7c460}.share-out{gap:12px}.sheet .share-seg{border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.sheet .share-seg button{background:0 0;border:0;border-radius:0;min-width:0;padding:0 4px;font-size:.875rem}.sheet .share-seg button[aria-pressed=true],.sheet .share-seg button[aria-pressed=true]:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.share-canvas{border:1px solid var(--rule);background:#fff;border-radius:8px;width:100%;height:auto;display:block}.share-pages{justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.share-preview{gap:8px;min-width:0;display:grid}.share-preview input[type=text]{width:100%;min-width:0}.share-actions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.sheet .share-actions button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.sheet .share-actions button:disabled{opacity:.45}.hint-list{margin:0}.diag-fieldset{border:1px solid var(--rule);border-radius:10px;min-width:0;margin:0;padding:8px 12px}.diag-fieldset legend{padding:0 6px;font-weight:650}.diag-choice{align-items:flex-start;min-height:0;padding:6px 0}.diag-choice input{flex:none;margin-top:2px}.diag-choice label{gap:2px;font-size:.9rem;display:grid}.diag-sub{margin:10px 0 0;font-size:.95rem}.sheet .share-actions .danger{color:var(--danger)}.update-bar button{color:#fff;background:0 0;border:0;border-radius:22px;min-height:44px;padding:0 16px;font-weight:650;box-shadow:inset 0 0 0 1.5px #ffffff80}.update-bar .update-go{background:var(--day);color:var(--ink);box-shadow:none}.data-sec{border-top:1px solid var(--rule);gap:10px;padding:16px 0;display:grid}.data-sec h3{margin:0;font-size:1.0625rem}.data-sec p{margin:0}.plain{gap:4px;margin:0;padding-left:1.1em;display:grid}.notice{background:var(--tint);border-radius:10px;gap:6px;padding:10px 12px;font-size:.875rem;display:grid}.notice.warn{background:#fff1cc;box-shadow:inset 0 0 0 1px #c59a2b}.notice.bad{box-shadow:inset 0 0 0 1px var(--danger);background:#fbe4e4}.notice.ok{background:#e3f1e8;box-shadow:inset 0 0 0 1px #1f7a4a}.notice p,.notice ul{margin:0}.file-label{margin-top:4px;font-size:.875rem;font-weight:600}.data-stack input[type=file]{min-height:44px;font-size:16px}.link-btn.inline{align-items:center;min-height:44px;padding:0;display:inline-flex}.micro.foot{flex-wrap:wrap;align-items:center;gap:0 4px;display:flex}@media print{.update-bar{display:none!important}}.site-footer{border-top:1px solid var(--rule);margin-top:40px}.site-footer .bar{max-width:1160px;padding:16px max(16px, env(safe-area-inset-left,0px)) calc(28px + env(safe-area-inset-bottom,0px));color:var(--ink-2);margin:0 auto;font-size:.8125rem}.site-footer ul{flex-wrap:wrap;gap:4px 18px;margin:0 0 8px;padding:0;list-style:none;display:flex}.site-footer a{padding:8px 0;display:inline-block}main{max-width:1160px;margin:0 auto;padding:0}main.prose-page{padding:16px 16px 8px}main.prose{max-width:74ch;margin:0 auto 0 max(0px,50vw - 580px);padding:16px}@media (width>=900px){main.prose{padding:24px}}.prose h1{letter-spacing:-.02em;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15}.prose h2{margin-top:2rem}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:6px 8px}.prose code,.tool-info code{background:var(--tint);border-radius:4px;padding:1px 5px}.prose .callout{background:var(--tint);border-left:4px solid var(--day);border-radius:4px;padding:8px 14px}.tool-info{margin:28px auto 0}.tool-info h2{margin-top:1.6rem}.grid-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.92rem}.grid-table th,.grid-table td{border-bottom:1px solid var(--rule);text-align:right;padding:6px 8px}.grid-table th[scope=row],.grid-table th:first-child{text-align:left}.grid-table thead th{color:var(--ink-2);font-size:.8rem}.cta{background:var(--ink);color:#fff;border-radius:10px;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-block}@media (width<=430px){.dow .w3{display:none}.dow .w2{display:inline}}@media (height<=700px){.numrow{height:20px}}@media (width<=359px){.top{gap:2px;padding-left:8px}.word{font-size:1.2rem}.tabs a{min-width:44px;padding:0 9px}.view-title,#monthTitle{font-size:1.2rem}.month-nav button.text{padding:0 4px}.seg button{padding:0 10px}}@media (width>=560px){.year{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){:root{--cell-h:92px;--band-h:32px}.top{padding:8px max(24px,50vw - 556px)}.page-h1{max-width:1160px;margin:0 auto;padding:4px 24px 0}.app{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;max-width:1160px;margin:0 auto;padding:8px 24px 40px;display:grid}body.on-pay .app{padding-bottom:40px}.cal-head{padding:4px 0 10px}.legend{margin-top:14px;padding:0}.micro.foot{padding:0}.dow span{text-align:left;padding-left:10px}.numrow{justify-content:flex-start;height:28px;padding-left:8px}.lab{font-size:.875rem;left:12px}.cell.rs.re .lab{text-align:left;padding-left:12px;left:0}.year{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;padding:0}.ycell{min-height:26px}.dock{box-shadow:none;background:0 0;grid-area:1/2;align-content:start;gap:20px;padding:0;position:sticky;top:72px}.view{grid-column:1}#view-pay{grid-column:1/-1}.day-panel{grid-template-columns:1fr;padding:0 0 16px}.dp-actions{grid-area:auto/1;margin-top:8px}.dp-date{font-size:1.25rem}.pay-strip{border-top:1px solid var(--rule);padding:14px 0}.ps-v{font-size:1.75rem}.upcoming{border-top:1px solid var(--rule);padding-top:12px;display:block}.upcoming h3{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px;font-size:.8125rem}.upcoming ul{margin:0;padding:0;list-style:none}.up-btn{all:unset;box-sizing:border-box;cursor:pointer;border-radius:8px;align-items:center;gap:4px;width:100%;min-height:44px;display:flex}.up-btn:hover{background:var(--tint)}.up-btn:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.sheet{border-radius:18px 0 0 18px;width:440px;height:100dvh;max-height:100dvh;margin:0 0 0 auto}.sheet[open]{animation:sheet-in .24s var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.grab{display:none}#view-pay{grid-template-columns:minmax(0,1fr) 340px;align-items:start;column-gap:40px;display:grid}#view-pay .period-nav{grid-column:1/-1;justify-self:start;max-width:460px;margin-left:-12px;padding:0}#view-pay .figure-block{grid-column:1;padding:8px 0 0}#view-pay .ledger{grid-column:1;width:100%;max-width:560px;margin:12px 0 0}#view-pay>.micro{grid-column:1;padding:0}#view-pay .more-blocks{grid-area:2/2/span 3;margin-top:20px;padding:0}#view-pay .figure{font-size:4.5rem}.tool-info{padding:0 24px}}@media (width>=1500px){:root{--cell-h:104px;--band-h:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.print-only{display:none}@media print{:root{--cell-h:64px;--band-h:24px}body{background:#fff}.top,.dock,.sheets,.site-footer,.no-print,.skip,.tool-info,.page-h1,.legend.no-print{display:none!important}.app{display:block;padding:0!important}.print-only{margin-bottom:8px;display:block}.print-only h2{margin:0 0 4px}.cell,.ycell,.band,.tail,.chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}.day-btn:hover,.cell[aria-selected=true] .day-btn{background:0 0}.cell[aria-selected=true][class*=k-] .band{outline:0}.year{grid-template-columns:repeat(3,1fr);gap:8px;padding:0}.mini,.week{break-inside:avoid}@page{margin:12mm}}@media (width>=900px){.site-footer .bar{padding-left:24px;padding-right:24px}}@media (width<=420px){.stat-h{display:none}}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:#2a313c}.btn.primary:disabled{background:var(--tint);color:var(--ink-2);cursor:not-allowed;transform:none}.btn.ghost{box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.sample-banner{background:#fff4d6;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 12px 8px;padding:10px 12px;font-size:.875rem;display:flex;box-shadow:inset 0 0 0 1px #e6c56b}.sample-banner>span{flex:220px}.sample-banner .btn{min-height:40px}#view-pay .sample-banner{margin:4px 16px 10px}.setup-step{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.75rem;font-weight:700}.setup-q{margin:4px 0;font-size:1.25rem}.setup>.help{margin-bottom:12px}.setup h3{margin:16px 0 6px;font-size:1rem}.setup .field{margin-top:10px}.setup-nav{background:var(--surface);align-items:center;gap:8px;margin-top:20px;padding:8px 0;display:flex;position:sticky;bottom:0}.setup-nav .grow{flex:1}.setup-nav .btn{min-width:96px}.setup-skip{text-align:center;margin:0}.alt-row{background:var(--canvas);border-radius:12px;flex-wrap:wrap;margin-top:6px;padding:6px 12px}.alt-row label{font-weight:650}.alt-row .help{flex-basis:100%;margin:-6px 0 4px 32px}.rot-picker>.help,.rot-picker .paint-cta{margin-top:8px}.paint-cta{justify-items:start;gap:4px;display:grid}.run-start .field{margin-top:10px}.run-next{margin-top:6px}.share-print{border-top:1px solid var(--rule);justify-items:start;gap:6px;margin-top:20px;padding-top:12px;display:grid}.share-print h3{margin:0;font-size:1rem}.print-btn{border-radius:var(--pill,22px);min-height:44px;box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink);background:0 0;border:0;padding:0 16px;font-weight:650}.print-btn:hover{background:var(--tint)}.takehome.take-off{padding-top:0}.takehome.take-off .row-btn{border-top:1px solid var(--rule)}.legend{margin:2px 0 6px}@media (width>=900px){.legend{margin:6px 0 10px}}.run-here{justify-self:start;min-height:32px;padding:2px 0;font-size:.8125rem}.run-pick{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.run-pick .rp-q{color:var(--ink);flex-basis:100%;font-weight:650}.run-pick .btn{min-height:40px}.paint-hint{background:var(--tint);border-radius:12px;margin:4px 0 6px;padding:8px 12px;font-size:.875rem}.paint-panel{gap:8px;padding:4px 0 6px;display:grid}.brush-seg{width:100%}.brush-seg button{flex:1;padding:0 8px}.brush-seg .b-D[aria-pressed=true]{background:var(--day);color:var(--day-ink)}.brush-seg .b-N[aria-pressed=true]{background:var(--night);color:var(--night-ink)}.brush-seg .b-S[aria-pressed=true]{background:var(--swing);color:var(--swing-ink)}.brush-seg .b-O[aria-pressed=true]{background:var(--ink);color:#fff}#paintStatus{word-break:break-all}.paint-actions{flex-wrap:wrap;gap:6px;display:flex}.p-off-tag{text-align:center;color:var(--ink-2);border:1.5px dashed var(--ink-2);pointer-events:none;border-radius:6px;padding:1px 0;font-size:.6875rem;font-weight:700;position:absolute;bottom:6px;left:4px;right:4px}.p-off-tag.sw-tag{padding:0 4px;display:inline-block;position:static}.cell.p-blank .day-btn{opacity:.85}@media (width<=359px){.day-panel{grid-template-columns:1fr}.dp-actions{flex-wrap:wrap;grid-area:auto/1}.dp-actions .btn{flex:auto}.sub-row .rot{padding:0 10px}.brush-seg button{min-width:0;padding:0 4px}}.period-nav>.print-btn{border-radius:22px;min-width:0;padding:0 14px;font-size:.9375rem;line-height:1.2}.reimb-list{gap:12px;display:grid}.reimb-card{border:1px solid var(--rule);border-radius:12px;gap:8px;min-width:0;margin:0;padding:10px 12px 4px;display:grid}.reimb-card legend{padding:0 4px;font-weight:700}.reimb-kind{width:100%}.reimb-kind button{flex:1}.unit-wrap{align-items:center;gap:6px;display:flex}.unit-wrap .unit-input{flex:1;min-width:0}.unit{color:var(--ink-2);min-width:1.5em;font-size:.875rem;font-weight:700}.reimb-result{background:var(--canvas);border-radius:8px;margin:0;padding:6px 10px;font-size:.875rem;font-weight:600}.reimb-add{flex-wrap:wrap;gap:8px;display:flex}.sheet .btn.primary:not(.text):not(.link){background:var(--ink);color:#fff;border-color:var(--ink)}.sheet .btn.primary:not(.text):not(.link):hover{background:#2a313c}.sheet .btn.primary:not(.text):not(.link):disabled{background:var(--tint);color:var(--ink-2);border-color:var(--line)}.sheet .btn.ghost:not(.text):not(.link){border:1.5px solid var(--ink);background:0 0}.sheet .link-btn:not(.text):not(.link){background:0 0;border:0;padding:8px 0}.sheet .reimb-kind button:not(.text):not(.link){background:0 0;border:0;border-radius:0;padding:0 12px}.sheet .reimb-kind button[aria-pressed=true]:not(.text):not(.link){background:var(--ink);color:#fff}@media (width>=900px){#view-pay .sample-banner{grid-area:1/1/auto/-1;margin:4px 0 12px}#view-pay:has(>.sample-banner) .period-nav{grid-row:2}#view-pay:has(>.sample-banner) .more-blocks{grid-row:3/span 3}}
