:root{--z:1;--bg:#f5f5f7;--surface:#fff;--surface-2:#f2f2f7;--fill:#7676801f;--ink:#1d1d1f;--ink-2:#6e6e73;--ink-3:#aeaeb2;--line:#3c3c431c;--line-2:#3c3c4333;--accent:#1e2a3a;--accent-ink:#fff;--danger:#e63946;--glass:#ffffffbd;--tint:15%;--past-op:.42;--mh-s:70%;--mh-l:95%;--shadow-sm:0 calc(1px*var(--z)) calc(2px*var(--z)) #0000000d,0 calc(2px*var(--z)) calc(8px*var(--z)) #00000008;--shadow:0 calc(24px*var(--z)) calc(60px*var(--z)) #0000002e,0 calc(2px*var(--z)) calc(8px*var(--z)) #0000000f;--we-c:#ffd60a;--hol-c:#6cc24a;--f:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Segoe UI",Roboto,sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--fill:#7676803d;--ink:#f5f5f7;--ink-2:#98989d;--ink-3:#636366;--line:#5454586b;--line-2:#545458b3;--accent:#f5f5f7;--accent-ink:#000;--glass:#1c1c1ebd;--tint:13%;--past-op:.36;--mh-s:26%;--mh-l:17%;--shadow-sm:0 calc(1px*var(--z)) calc(2px*var(--z)) #0006;--shadow:0 calc(24px*var(--z)) calc(60px*var(--z)) #0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--fill:#7676803d;--ink:#f5f5f7;--ink-2:#98989d;--ink-3:#636366;--line:#5454586b;--line-2:#545458b3;--accent:#f5f5f7;--accent-ink:#000;--glass:#1c1c1ebd;--tint:13%;--past-op:.36;--mh-s:26%;--mh-l:17%;--shadow-sm:0 calc(1px*var(--z)) calc(2px*var(--z)) #0006;--shadow:0 calc(24px*var(--z)) calc(60px*var(--z)) #0009}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:calc(14px*var(--z));padding-inline:calc(16px*var(--z));padding-block:0 calc(28px*var(--z));-webkit-font-smoothing:antialiased;letter-spacing:-.005em;margin:0;line-height:1.4}button,input,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}:focus-visible{outline:calc(2px*var(--z)) solid #0a84ff;outline-offset:calc(2px*var(--z))}.num{font-variant-numeric:tabular-nums}.toolbar{top:env(safe-area-inset-top,calc(0px*var(--z)));z-index:20;margin-inline:calc(-16px*var(--z));padding:calc(10px*var(--z)) calc(16px*var(--z));background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));border-bottom:calc(1px*var(--z)) solid var(--line);align-items:center;gap:calc(12px*var(--z));flex-wrap:wrap;display:flex;position:sticky}.logo{align-items:center;gap:calc(10px*var(--z));display:flex}.logo img{width:calc(34px*var(--z));height:calc(34px*var(--z));border-radius:calc(8px*var(--z));display:block}.logo h1{font-size:calc(19px*var(--z));letter-spacing:-.02em;margin:0;font-weight:700}.logo h1 span{color:var(--ink-2);font-weight:500}.yearsel{appearance:none;background:var(--fill);border-radius:calc(8px*var(--z));padding:calc(5px*var(--z)) calc(26px*var(--z)) calc(5px*var(--z)) calc(11px*var(--z));font-weight:600;font-size:calc(15px*var(--z));background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - calc(13px*var(--z))) 55%,calc(100% - calc(9px*var(--z))) 55%;background-size:calc(4px*var(--z)) calc(4px*var(--z));background-repeat:no-repeat;border:0}.spacer{flex:1}.seg{background:var(--fill);border-radius:calc(9px*var(--z));padding:calc(2px*var(--z));gap:calc(2px*var(--z));display:inline-flex}.seg button{padding:calc(4px*var(--z)) calc(12px*var(--z));font-size:calc(13px*var(--z));border-radius:calc(7px*var(--z));color:var(--ink);align-items:center;gap:calc(5px*var(--z));background:0 0;border:0;font-weight:500;display:inline-flex}.seg button[aria-pressed=true]{background:var(--surface);box-shadow:0 calc(1px*var(--z)) calc(3px*var(--z)) #0000001f,0 0 0 calc(.5px*var(--z)) #0000000a}.seg.icons button{padding:calc(4px*var(--z)) calc(8px*var(--z))}.seg svg{width:calc(16px*var(--z));height:calc(16px*var(--z))}.btn{background:var(--fill);border-radius:calc(980px*var(--z));padding:calc(6px*var(--z)) calc(14px*var(--z));font-size:calc(13px*var(--z));border:0;font-weight:500}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger);padding-inline:calc(6px*var(--z));background:0 0}.btn.danger.armed{background:var(--danger);color:#fff;padding-inline:calc(14px*var(--z))}.balance{gap:calc(4px*var(--z)) calc(18px*var(--z));margin-top:calc(8px*var(--z));padding:0 calc(4px*var(--z));font-size:calc(12px*var(--z));color:var(--ink-2);flex-wrap:wrap;align-items:center;display:flex}.balance .lbl{color:var(--ink-2);font-weight:600}.tools{gap:calc(6px*var(--z));flex:none;display:flex;position:relative}.btn.on{background:var(--accent);color:var(--accent-ink)}.pop{right:0;top:calc(100% + calc(8px*var(--z)));z-index:30;background:var(--surface);border-radius:calc(16px*var(--z));box-shadow:var(--shadow);padding:calc(14px*var(--z)) calc(16px*var(--z));width:calc(360px*var(--z));max-width:calc(100vw - calc(32px*var(--z)));position:absolute}.pop h5{margin:0 0 calc(8px*var(--z));font-size:calc(12px*var(--z));color:var(--ink-2);font-weight:600}.pop h5:not(:first-child){margin-top:calc(14px*var(--z))}.pop .chips{gap:calc(6px*var(--z));flex-wrap:wrap;display:flex}.pop .chip{background:var(--fill);box-shadow:none}.pop .popfoot{margin-top:calc(12px*var(--z));justify-content:flex-end;display:flex}.bal{align-items:center;gap:calc(6px*var(--z));display:flex}.bal .who{color:var(--ink);font-weight:500}.bal .fig{font-size:calc(12px*var(--z));color:var(--ink-2)}.bal .fig strong{color:var(--ink);font-size:calc(12px*var(--z));font-weight:700}.balance .meter{width:calc(44px*var(--z));height:calc(4px*var(--z))}.meter{width:calc(80px*var(--z));height:calc(6px*var(--z));border-radius:calc(3px*var(--z));background:var(--fill);display:flex;overflow:hidden}.meter i{height:100%;display:block}.meter .u{background:#e63946}.meter .p{background:color-mix(in srgb,#e63946 35%,var(--surface))}.hours .pill{color:#fff;border-radius:calc(980px*var(--z));padding:calc(1px*var(--z)) calc(9px*var(--z));font-weight:600;font-size:calc(13px*var(--z));background:#af52de}.balance .hours .pill{font-size:calc(11px*var(--z));padding:0 calc(7px*var(--z))}.filters{gap:calc(6px*var(--z));margin-bottom:calc(12px*var(--z));font-size:calc(12px*var(--z));flex-wrap:wrap;align-items:center;display:flex}.filters .lbl{color:var(--ink-2);font-size:calc(12px*var(--z));margin:0 calc(2px*var(--z)) 0 calc(4px*var(--z));font-weight:600}.chip{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:calc(980px*var(--z));padding:calc(3px*var(--z)) calc(11px*var(--z)) calc(3px*var(--z)) calc(7px*var(--z));align-items:center;gap:calc(6px*var(--z));font-size:calc(12.5px*var(--z));border:0;display:inline-flex}.chip .sw{width:calc(9px*var(--z));height:calc(9px*var(--z));background:var(--c);border-radius:50%}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.chip.clear{box-shadow:none;color:#0a84ff;background:0 0}.fsep{width:calc(10px*var(--z))}.yearwrap{border-radius:calc(16px*var(--z));background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}.year{min-width:calc(1120px*var(--z));-webkit-user-select:none;user-select:none;--row:clamp(calc(20px*var(--z)),calc((100vh - calc(160px*var(--z)))/31),calc(28px*var(--z)));grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.mcol{border-right:calc(1px*var(--z)) solid var(--line);flex-direction:column;min-width:0;display:flex}.mcol:last-child{border-right:0}.mhead{background:hsl(var(--h) var(--mh-s) var(--mh-l));font-weight:650;font-size:calc(13px*var(--z));text-align:center;padding:calc(7px*var(--z)) calc(2px*var(--z)) calc(6px*var(--z));border-bottom:calc(1px*var(--z)) solid var(--line)}.mhead.cur{box-shadow:inset 0 -2px 0 var(--accent)}.cell{height:var(--row);border-bottom:calc(1px*var(--z)) solid var(--line);cursor:pointer;position:relative}.cell.we{background:color-mix(in srgb,var(--we-c) var(--tint),var(--surface))}.cell.hol{background:color-mix(in srgb,var(--hol-c) var(--tint),var(--surface))}.cell.void{background:var(--surface-2);cursor:default}.cell.sel:after,.cell:not(.void):hover:after{content:"";z-index:4;pointer-events:none;background:#0a84ff1f;position:absolute;inset:0}.cell.sel:after{background:#0a84ff33}.cell .dn{left:calc(3px*var(--z));min-width:calc(17px*var(--z));height:calc(16px*var(--z));padding:0 calc(2px*var(--z));font-size:calc(10.5px*var(--z));color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:calc(5px*var(--z));place-items:center;font-weight:500;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.cell.we .dn{background:var(--we-c);color:#1d1d1f}.cell.hol .dn{background:var(--hol-c);color:#0b2106}.cell.today{box-shadow:inset 0 0 0 calc(1.5px*var(--z)) var(--accent);z-index:3}.cell.today .dn{background:var(--accent);color:var(--accent-ink);font-weight:700}.cell.past .dn,.cell.past .bands,.cell.past .dots{filter:grayscale();opacity:var(--past-op)}.cell.past.we,.cell.past.hol{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface))}.cell.past .t{text-decoration:line-through;text-decoration-thickness:calc(1px*var(--z))}.bands{left:calc(23px*var(--z));right:calc(3px*var(--z));top:calc(2px*var(--z));bottom:calc(2px*var(--z));gap:calc(1px*var(--z));z-index:1;flex-direction:column;display:flex;position:absolute}.b{border-radius:calc(4px*var(--z));background:var(--c);min-height:0;color:var(--fg);font-size:calc(10.5px*var(--z));align-items:center;gap:calc(3px*var(--z));padding:0 calc(4px*var(--z));white-space:nowrap;letter-spacing:-.01em;flex:1;font-weight:500;line-height:1;display:flex;overflow:hidden}.b .t{text-overflow:ellipsis;min-width:0;overflow:hidden}.b[data-id]{cursor:grab}body.moving,body.moving *{cursor:grabbing!important}.cell.drop:after{content:"";background:color-mix(in srgb,var(--dc) 38%,transparent);box-shadow:inset 0 0 0 calc(1.5px*var(--z)) var(--dc);z-index:4;pointer-events:none;position:absolute;inset:0}.b.ct{border-top-left-radius:0;border-top-right-radius:0;margin-top:-3px}.b.cb{border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:-3px}.b.planned{background:color-mix(in srgb,var(--c) 17%,var(--surface));color:color-mix(in srgb,var(--c) 65%,var(--ink));box-shadow:inset calc(2.5px*var(--z)) 0 0 var(--c)}.ini{color:#9b1c24;border-radius:calc(3px*var(--z));padding:calc(1px*var(--z)) calc(3px*var(--z));font-weight:700;font-size:calc(9px*var(--z));background:#ffffffeb;flex:none;line-height:1.05}.b.planned .ini,.mb.planned .ini{background:var(--c);color:var(--fg)}.cell.hasdots .bands{right:calc(10px*var(--z))}.year.three{--row:calc(40px*var(--z))}.year.three.fit{--row:clamp(calc(34px*var(--z)),calc((100vh - calc(160px*var(--z)))/31),calc(40px*var(--z)))}.year.three .cell .dn{top:calc(4px*var(--z));transform:none}.dots{right:calc(3px*var(--z));top:calc(2px*var(--z));bottom:calc(2px*var(--z));width:calc(6px*var(--z));gap:calc(1px*var(--z));z-index:2;flex-direction:column;display:flex;position:absolute}.dots i{border-radius:calc(2px*var(--z));background:var(--c);flex:1;min-height:0}.dots i.planned{background:color-mix(in srgb,var(--c) 30%,var(--surface));box-shadow:inset 0 0 0 calc(1.5px*var(--z)) var(--c)}.hovercard{z-index:40;pointer-events:none;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));border-radius:calc(12px*var(--z));box-shadow:var(--shadow);padding:calc(10px*var(--z)) calc(12px*var(--z));width:calc(250px*var(--z));font-size:calc(12.5px*var(--z));position:fixed}.hovercard b.h{font-size:calc(13px*var(--z));margin-bottom:calc(2px*var(--z));display:block}.hovercard .sub{color:var(--ink-2);font-size:calc(11.5px*var(--z));margin-bottom:calc(6px*var(--z))}.hovercard .it{gap:calc(7px*var(--z));padding:calc(3px*var(--z)) 0;align-items:flex-start;display:flex}.hovercard .it i{width:calc(8px*var(--z));height:calc(8px*var(--z));background:var(--c);margin-top:calc(4px*var(--z));border-radius:50%;flex:none}.hovercard .it i.planned{box-shadow:inset 0 0 0 calc(1.5px*var(--z)) var(--c);background:0 0}.hovercard .it span{flex:1;min-width:0}.hovercard .it small{color:var(--ink-2)}.hovercard .none{color:var(--ink-3)}.mcount{border-top:calc(1px*var(--z)) solid var(--line);padding:calc(5px*var(--z)) calc(6px*var(--z));font-size:calc(11.5px*var(--z));gap:calc(8px*var(--z));color:var(--ink-3);min-height:calc(26px*var(--z));justify-content:center;align-items:center;margin-top:auto;display:flex}.mcount b{color:#e63946;font-weight:700}.legend{gap:calc(8px*var(--z)) calc(14px*var(--z));font-size:calc(13px*var(--z));color:var(--ink);grid-template-columns:1fr 1fr;display:grid}.legend span{align-items:center;gap:calc(6px*var(--z));display:inline-flex}.legend .sw{width:calc(16px*var(--z));height:calc(10px*var(--z));border-radius:calc(3px*var(--z));background:var(--c)}.legend .sw.planned{background:color-mix(in srgb,#5856d6 17%,var(--surface));box-shadow:inset calc(2.5px*var(--z)) 0 0 #5856d6}.legend .sw.past{opacity:.6;background:#aeaeb2;position:relative}.legend .sw.past:after{content:"";left:calc(2px*var(--z));right:calc(2px*var(--z));top:calc(4.5px*var(--z));height:calc(1px*var(--z));background:#1d1d1f;position:absolute}.legend .sw.today{box-shadow:inset 0 0 0 calc(1.5px*var(--z)) var(--accent);background:0 0}.hint{font-size:calc(12px*var(--z));color:var(--ink-2);margin:calc(12px*var(--z)) 0 0;line-height:1.5}.screen{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.m-top{padding:calc(12px*var(--z)) calc(16px*var(--z)) calc(8px*var(--z));background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));border-bottom:calc(1px*var(--z)) solid var(--line);z-index:2;padding-top:calc(calc(12px*var(--z)) + env(safe-area-inset-top,calc(0px*var(--z))));position:relative}.m-row{align-items:center;gap:calc(8px*var(--z));display:flex}.m-row img{width:calc(22px*var(--z));height:calc(22px*var(--z));border-radius:calc(6px*var(--z))}.m-row .yr{font-size:calc(15px*var(--z));color:var(--ink-2);flex:1;font-weight:600}.m-top h2{margin:calc(6px*var(--z)) 0 0;font-size:calc(32px*var(--z));letter-spacing:-.025em;font-weight:700;line-height:1.1}.arrow{width:calc(36px*var(--z));height:calc(36px*var(--z));background:var(--fill);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.arrow:after{content:"";inset:calc(-5px*var(--z));position:absolute}button,a,select,input,label,.drow,.mb{touch-action:manipulation}.arrow svg{width:calc(16px*var(--z));height:calc(16px*var(--z))}.arrow:disabled{opacity:.35;cursor:default}.m-bal{gap:calc(6px*var(--z));padding:calc(8px*var(--z)) calc(16px*var(--z)) calc(2px*var(--z));font-size:calc(12px*var(--z));color:var(--ink-2);white-space:nowrap;display:flex;overflow-x:auto}.m-bal span{background:var(--fill);border-radius:calc(980px*var(--z));padding:calc(2px*var(--z)) calc(9px*var(--z))}.m-bal strong{color:var(--ink)}.m-body{overscroll-behavior:contain;padding-bottom:calc(90px*var(--z));flex:1;overflow-y:auto}.m-body.list{padding-top:calc(10px*var(--z))}.group{margin:0 calc(12px*var(--z));background:var(--surface);border-radius:calc(14px*var(--z));overflow:hidden}.drow{grid-template-columns:calc(50px*var(--z)) 1fr;min-height:calc(50px*var(--z));cursor:pointer;display:grid;position:relative}.drow+.drow:before{content:"";left:calc(50px*var(--z));height:calc(1px*var(--z));background:var(--line);position:absolute;top:0;right:0}.drow.we{background:color-mix(in srgb,var(--we-c) var(--tint),var(--surface))}.drow.hol{background:color-mix(in srgb,var(--hol-c) var(--tint),var(--surface))}.drow .dl{padding:calc(6px*var(--z)) 0;justify-content:center;align-items:center;gap:calc(1px*var(--z));flex-direction:column;display:flex}.drow .dl b{font-size:calc(19px*var(--z));font-variant-numeric:tabular-nums;width:calc(32px*var(--z));height:calc(32px*var(--z));border-radius:50%;place-items:center;font-weight:600;line-height:1;display:grid}.drow .dl small{font-size:calc(10.5px*var(--z));color:var(--ink-2);text-transform:uppercase;letter-spacing:.02em;font-weight:500}.drow.we .dl b{background:var(--we-c);color:#1d1d1f}.drow.hol .dl b{background:var(--hol-c);color:#0b2106}.drow.today .dl b{background:var(--accent);color:var(--accent-ink)}.drow.past .dl,.drow.past .dr{filter:grayscale();opacity:var(--past-op)}.drow.past.we,.drow.past.hol{background:var(--surface)}.drow.past .mb .t{text-decoration:line-through}.drow .dr{padding:calc(7px*var(--z)) calc(12px*var(--z)) calc(7px*var(--z)) calc(4px*var(--z));gap:calc(4px*var(--z));flex-direction:column;justify-content:center;min-width:0;display:flex}.tag{font-size:calc(11px*var(--z));color:var(--ink-2);font-weight:500}.drow.today .tag.now{color:var(--ink);font-weight:700}.mb{border-radius:calc(7px*var(--z));background:var(--c);color:var(--fg);padding:calc(5px*var(--z)) calc(9px*var(--z));font-size:calc(13.5px*var(--z));gap:calc(8px*var(--z));align-items:center;font-weight:500;line-height:1.25;display:flex}.mb .t{flex:1;min-width:0}.mb .span{font-size:calc(11.5px*var(--z));opacity:.8;white-space:nowrap;font-weight:400}.mb.planned{background:color-mix(in srgb,var(--c) 16%,var(--surface));color:color-mix(in srgb,var(--c) 62%,var(--ink));box-shadow:inset calc(3px*var(--z)) 0 0 var(--c)}.people{gap:calc(3px*var(--z));flex:none;display:inline-flex}.pp{font-size:calc(10.5px*var(--z));border-radius:calc(4px*var(--z));padding:0 calc(4px*var(--z));background:#ffffff47;font-weight:700}.mb.planned .pp{background:color-mix(in srgb,var(--c) 22%,transparent)}.fab{right:calc(18px*var(--z));bottom:calc(96px*var(--z));width:calc(54px*var(--z));height:calc(54px*var(--z));background:var(--accent);color:var(--accent-ink);font-size:calc(30px*var(--z));box-shadow:0 calc(8px*var(--z)) calc(24px*var(--z)) #00000038;z-index:5;border:0;border-radius:50%;font-weight:300;line-height:1;position:absolute}.m-tabs{grid-template-columns:repeat(var(--tab-n,3),1fr);background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));backdrop-filter:saturate(180%) blur(calc(20px*var(--z)));border-top:calc(1px*var(--z)) solid var(--line);padding:calc(6px*var(--z)) 0 max(calc(22px*var(--z)),env(safe-area-inset-bottom,calc(0px*var(--z))));z-index:6;display:grid;position:absolute;bottom:0;left:0;right:0}.m-tabs button{padding:calc(2px*var(--z)) 0;align-items:center;gap:calc(2px*var(--z));font-size:calc(10.5px*var(--z));color:var(--ink-3);background:0 0;border:0;flex-direction:column;font-weight:500;display:flex}.m-tabs button svg{width:calc(24px*var(--z));height:calc(24px*var(--z))}.m-tabs button[aria-selected=true]{color:var(--ink)}.bigtitle{font-size:calc(32px*var(--z));letter-spacing:-.025em;padding:calc(16px*var(--z)) calc(16px*var(--z)) calc(4px*var(--z));padding-top:calc(calc(16px*var(--z)) + env(safe-area-inset-top,calc(0px*var(--z))));margin:0;font-weight:700}.pane{padding:calc(12px*var(--z)) calc(12px*var(--z)) 0;gap:calc(14px*var(--z));display:grid}.card{background:var(--surface);border-radius:calc(14px*var(--z));padding:calc(12px*var(--z)) calc(14px*var(--z));box-shadow:var(--shadow-sm)}.card h4{margin:0 0 calc(6px*var(--z));font-size:calc(13px*var(--z));color:var(--ink-2);text-transform:uppercase;letter-spacing:.02em;font-weight:600}.bignum{font-size:calc(34px*var(--z));letter-spacing:-.03em;font-weight:700;line-height:1}.row{justify-content:space-between;align-items:center;gap:calc(8px*var(--z));padding:calc(9px*var(--z)) 0;border-bottom:calc(1px*var(--z)) solid var(--line);font-size:calc(14px*var(--z));display:flex}.row:last-child{border-bottom:0}.row .sub{color:var(--ink-2);font-size:calc(12px*var(--z))}.set{align-items:center;gap:calc(8px*var(--z));padding:calc(7px*var(--z)) 0;border-bottom:calc(1px*var(--z)) solid var(--line);grid-template-columns:auto 1fr auto auto;display:grid}.set:last-of-type{border-bottom:0}.set.auto{grid-template-columns:auto 1fr auto}.swatch{width:calc(28px*var(--z));height:calc(28px*var(--z));background:var(--c);box-shadow:inset 0 0 0 calc(1px*var(--z)) #00000014;border-radius:50%;flex:none;position:relative;overflow:hidden}.swatch input{width:calc(40px*var(--z));height:calc(40px*var(--z));opacity:0;cursor:pointer;border:0;padding:0;position:absolute;inset:-6px}.in{background:var(--fill);border-radius:calc(8px*var(--z));padding:calc(6px*var(--z)) calc(9px*var(--z));width:100%;min-width:0;font-size:calc(14px*var(--z));border:0}.in.ini-in{text-align:center;padding-inline:calc(4px*var(--z));font-weight:700}.in.sm{font-size:calc(13px*var(--z))}.allow{align-items:center;gap:calc(4px*var(--z));font-size:calc(12px*var(--z));color:var(--ink-2);display:flex}.allow .in{width:calc(50px*var(--z));text-align:right;padding-inline:calc(6px*var(--z))}select.in{appearance:none;padding-right:calc(22px*var(--z));background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - calc(12px*var(--z))) 55%,calc(100% - calc(8px*var(--z))) 55%;background-size:calc(4px*var(--z)) calc(4px*var(--z));background-repeat:no-repeat;width:auto}.del{width:calc(26px*var(--z));height:calc(26px*var(--z));background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.del span{width:calc(20px*var(--z));height:calc(20px*var(--z));background:var(--danger);border-radius:50%;place-items:center;display:grid}.del span:before{content:"";width:calc(10px*var(--z));height:calc(2px*var(--z));border-radius:calc(1px*var(--z));background:#fff}.del.armed{border-radius:calc(980px*var(--z));background:var(--danger);color:#fff;width:auto;font-size:calc(12px*var(--z));padding:calc(3px*var(--z)) calc(10px*var(--z));white-space:nowrap;font-weight:600}.del.armed span{display:none}.add{color:#0a84ff;padding:calc(9px*var(--z)) 0 calc(3px*var(--z));align-items:center;gap:calc(8px*var(--z));font-weight:500;font-size:calc(14px*var(--z));background:0 0;border:0;display:flex}.add:before{content:"+";width:calc(20px*var(--z));height:calc(20px*var(--z));color:#fff;font-weight:700;font-size:calc(15px*var(--z));background:#34c759;border-radius:50%;place-items:center;line-height:1;display:grid}.setnote{font-size:calc(12px*var(--z));color:var(--ink-2);margin:calc(6px*var(--z)) 0 0}.overlay{z-index:50;padding:calc(16px*var(--z));background:#00000052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay.in-phone{align-items:flex-end;padding:0;position:fixed}.sheet{background:var(--surface);border-radius:calc(18px*var(--z));box-shadow:var(--shadow);width:min(calc(480px*var(--z)),100%);max-height:calc(100% - calc(24px*var(--z)));padding:calc(20px*var(--z));overflow:auto}.sheet.wide{width:min(calc(620px*var(--z)),100%)}.overlay.in-phone .sheet{border-radius:calc(14px*var(--z)) calc(14px*var(--z)) 0 0;max-height:90%;padding:calc(10px*var(--z)) calc(16px*var(--z)) calc(calc(20px*var(--z)) + env(safe-area-inset-bottom,calc(0px*var(--z))))}.overlay.in-phone .sheet:before{content:"";width:calc(36px*var(--z));height:calc(5px*var(--z));border-radius:calc(3px*var(--z));background:var(--ink-3);opacity:.5;margin:0 auto calc(12px*var(--z));display:block}.sheet h3{font-size:calc(22px*var(--z));letter-spacing:-.02em;margin:0;font-weight:700}.sheet .subh{color:var(--ink-2);font-size:calc(13px*var(--z));margin:calc(2px*var(--z)) 0 calc(14px*var(--z))}.form{gap:calc(14px*var(--z));display:grid}.field{gap:calc(6px*var(--z));display:grid}.field>label,.field>.flabel{font-size:calc(12px*var(--z));color:var(--ink-2);font-weight:600}.field input[type=text],.field input[type=date],.field input[type=number]{background:var(--fill);border-radius:calc(10px*var(--z));padding:calc(9px*var(--z)) calc(11px*var(--z));border:0;width:100%}.two{gap:calc(10px*var(--z));grid-template-columns:1fr 1fr;display:grid}.catpick{gap:calc(6px*var(--z));flex-wrap:wrap;display:flex}.catpick button{background:var(--fill);border-radius:calc(980px*var(--z));padding:calc(5px*var(--z)) calc(11px*var(--z)) calc(5px*var(--z)) calc(7px*var(--z));gap:calc(6px*var(--z));font-size:calc(13px*var(--z));border:0;align-items:center;display:inline-flex}.catpick .sw{width:calc(11px*var(--z));height:calc(11px*var(--z));background:var(--c);border-radius:50%}.catpick button[aria-pressed=true]{background:var(--c);color:var(--fg)}.catpick button[aria-pressed=true] .sw{box-shadow:0 0 0 calc(1.5px*var(--z)) var(--fg)}.toggles{gap:calc(6px*var(--z));flex-wrap:wrap;display:flex}.toggles button{background:var(--fill);border-radius:calc(980px*var(--z));padding:calc(6px*var(--z)) calc(14px*var(--z));font-size:calc(13px*var(--z));border:0}.toggles button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.check{gap:calc(8px*var(--z));font-size:calc(14px*var(--z));align-items:center;display:flex}.info{font-size:calc(13px*var(--z));color:var(--ink-2);background:var(--surface-2);border-radius:calc(10px*var(--z));padding:calc(8px*var(--z)) calc(11px*var(--z))}.err{font-size:calc(13px*var(--z));color:var(--danger);font-weight:500}.actions{gap:calc(8px*var(--z));margin-top:calc(4px*var(--z));flex-wrap:wrap;justify-content:flex-end;display:flex}.actions .left{margin-right:auto}.elist{background:var(--surface-2);border-radius:calc(12px*var(--z));margin-bottom:calc(14px*var(--z));overflow:hidden}.eitem{gap:calc(10px*var(--z));border:0;border-bottom:calc(1px*var(--z)) solid var(--line);padding:calc(10px*var(--z)) calc(12px*var(--z));text-align:left;background:0 0;align-items:center;width:100%;display:flex}.eitem:last-child{border-bottom:0}.eitem .sw{width:calc(4px*var(--z));border-radius:calc(2px*var(--z));background:var(--c);flex:none;align-self:stretch}.eitem .m{flex:1;min-width:0}.eitem .m b{font-weight:600;display:block}.eitem .m small{color:var(--ink-2);font-size:calc(12px*var(--z))}.stat{font-size:calc(11px*var(--z));border-radius:calc(980px*var(--z));padding:calc(2px*var(--z)) calc(8px*var(--z));background:var(--fill);color:var(--ink-2);white-space:nowrap;font-weight:500}.empty{color:var(--ink-3);font-size:calc(13px*var(--z));padding:calc(14px*var(--z)) calc(12px*var(--z))}.ctxmenu{z-index:60;min-width:calc(230px*var(--z));max-width:calc(280px*var(--z));background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(calc(24px*var(--z)));backdrop-filter:saturate(180%) blur(calc(24px*var(--z)));border-radius:calc(12px*var(--z));box-shadow:var(--shadow),0 0 0 calc(.5px*var(--z)) var(--line-2);padding:calc(5px*var(--z));font-size:calc(13px*var(--z));position:fixed}.ctxmenu .mh{padding:calc(6px*var(--z)) calc(10px*var(--z)) calc(7px*var(--z));border-bottom:calc(1px*var(--z)) solid var(--line);margin-bottom:calc(4px*var(--z))}.ctxmenu .mh b{align-items:center;gap:calc(7px*var(--z));font-weight:600;display:flex}.ctxmenu .mh b i{width:calc(9px*var(--z));height:calc(9px*var(--z));background:var(--c);border-radius:50%;flex:none}.ctxmenu .mh small{color:var(--ink-2);font-size:calc(11.5px*var(--z))}.ctxmenu button{align-items:center;gap:calc(8px*var(--z));text-align:left;width:100%;padding:calc(6px*var(--z)) calc(10px*var(--z));border-radius:calc(7px*var(--z));font-size:calc(13px*var(--z));background:0 0;border:0;display:flex}.ctxmenu button:hover,.ctxmenu button:focus-visible{color:#fff;background:#0a84ff;outline:0}.ctxmenu button .ck{width:calc(14px*var(--z));text-align:center;flex:none;font-weight:700}.ctxmenu button .kb{color:var(--ink-3);font-size:calc(12px*var(--z));margin-left:auto}.ctxmenu button:hover .kb{color:#ffffffbf}.ctxmenu .lbl{padding:calc(4px*var(--z)) calc(10px*var(--z)) calc(2px*var(--z)) calc(32px*var(--z));font-size:calc(11px*var(--z));color:var(--ink-2);font-weight:600}.ctxmenu hr{border:0;border-top:calc(1px*var(--z)) solid var(--line);margin:calc(4px*var(--z)) calc(6px*var(--z))}.ctxmenu .danger{color:var(--danger)}.ctxmenu .danger:hover{background:var(--danger);color:#fff}.ctxmenu .danger.armed{background:var(--danger);color:#fff;font-weight:600}.toast button{color:#0a84ff;margin-left:calc(12px*var(--z));background:0 0;border:0;padding:0;font-weight:600}.toast{left:50%;bottom:calc(28px*var(--z));background:var(--glass);-webkit-backdrop-filter:blur(calc(20px*var(--z)));backdrop-filter:blur(calc(20px*var(--z)));color:var(--ink);border-radius:calc(980px*var(--z));padding:calc(9px*var(--z)) calc(18px*var(--z));font-size:calc(13px*var(--z));z-index:80;box-shadow:var(--shadow);font-weight:500;position:fixed;transform:translate(-50%)}@media (prefers-reduced-motion:no-preference){.sheet{animation:.2s cubic-bezier(.2,.8,.2,1) pop}.overlay.in-phone .sheet{animation:.28s cubic-bezier(.2,.8,.2,1) up}@keyframes pop{0%{opacity:0;transform:scale(.96)}}@keyframes up{0%{transform:translateY(40%)}}}.zoom{align-items:center;display:inline-flex}.zoom .pct{font-size:calc(12px*var(--z));color:var(--ink-2);min-width:calc(38px*var(--z));text-align:center;font-variant-numeric:tabular-nums}body.phone{padding:0;overflow:hidden}.m-body{-webkit-overflow-scrolling:touch}.logo{position:relative}.saving-dot{left:calc(28px*var(--z));top:calc(-2px*var(--z));width:calc(10px*var(--z));height:calc(10px*var(--z));border:calc(2px*var(--z)) solid var(--ink-3);border-top-color:var(--accent);background:var(--surface);border-radius:50%;animation:.8s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.syncpill{align-items:center;gap:calc(6px*var(--z));background:var(--fill);color:var(--ink-2);border-radius:calc(980px*var(--z));padding:calc(3px*var(--z)) calc(11px*var(--z));font-size:calc(12px*var(--z));white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;display:inline-flex;overflow:hidden}.syncpill:before{content:"";width:calc(7px*var(--z));height:calc(7px*var(--z));background:var(--ink-3);border-radius:50%;flex:none}.syncpill.queued:before{background:#ff9f0a}.m-top .syncpill{margin-top:calc(6px*var(--z))}.clock{right:calc(1px*var(--z));bottom:calc(1px*var(--z));width:calc(9px*var(--z));height:calc(9px*var(--z));background:var(--surface);box-shadow:inset 0 0 0 calc(1.5px*var(--z)) #ff9f0a;z-index:3;border-radius:50%;position:absolute}.clock:after{content:"";left:50%;top:calc(2px*var(--z));width:calc(1.5px*var(--z));height:calc(3px*var(--z));background:#ff9f0a;border-radius:1px;position:absolute}.mb .clock,.eitem .clock{flex:none;display:inline-block;position:static}.mb .clock:after,.eitem .clock:after{left:calc(3.8px*var(--z))}.b.focus{outline:calc(2px*var(--z)) solid #0a84ff;outline-offset:calc(-1px*var(--z))}.b.dragging{opacity:.45}.cell.void,.cell.void:hover:after{pointer-events:none}.nofilter{margin:calc(10px*var(--z)) 0 0;font-size:calc(13px*var(--z));color:var(--ink-2)}.toasts{left:50%;bottom:calc(28px*var(--z));z-index:80;gap:calc(8px*var(--z));width:max-content;max-width:calc(100vw - calc(24px*var(--z)));justify-items:center;display:grid;position:fixed;transform:translate(-50%)}body.phone .toasts{bottom:calc(calc(96px*var(--z)) + env(safe-area-inset-bottom,0px))}.toasts .toast{align-items:center;gap:calc(4px*var(--z));max-width:100%;display:flex;position:static;transform:none}.toast.error{background:var(--danger);color:#fff;border-radius:calc(14px*var(--z))}.toast.error button{color:#fff;text-decoration:underline}.toast .x{margin-left:calc(10px*var(--z));opacity:.85;font-size:calc(16px*var(--z));line-height:1;text-decoration:none!important}.toast.info{border-radius:calc(14px*var(--z))}.banner{left:50%;bottom:calc(84px*var(--z));z-index:79;background:var(--accent);color:var(--accent-ink);border-radius:calc(980px*var(--z));padding:calc(8px*var(--z)) calc(10px*var(--z)) calc(8px*var(--z)) calc(16px*var(--z));font-size:calc(13px*var(--z));gap:calc(10px*var(--z));box-shadow:var(--shadow);align-items:center;display:flex;position:fixed;transform:translate(-50%)}.banner button{background:var(--accent-ink);color:var(--accent);border-radius:calc(980px*var(--z));padding:calc(4px*var(--z)) calc(12px*var(--z));border:0;font-weight:600}body.phone .banner{bottom:calc(calc(150px*var(--z)) + env(safe-area-inset-bottom,0px))}.center{text-align:center;min-height:100dvh;padding:calc(24px*var(--z));place-items:center;display:grid}.center img{width:calc(72px*var(--z));height:calc(72px*var(--z));border-radius:calc(16px*var(--z));box-shadow:var(--shadow-sm)}.spinner{width:calc(22px*var(--z));height:calc(22px*var(--z));border:calc(2.5px*var(--z)) solid var(--fill);border-top-color:var(--ink-2);margin:calc(18px*var(--z)) auto calc(10px*var(--z));border-radius:50%;animation:.8s linear infinite spin}.login{width:min(calc(380px*var(--z)),100%);gap:calc(14px*var(--z));justify-items:center;display:grid}.login h1{margin:calc(6px*var(--z)) 0 0;font-size:calc(26px*var(--z));letter-spacing:-.02em}.login p{color:var(--ink-2);font-size:calc(14px*var(--z));margin:0}.login .btn{font-size:calc(15px*var(--z));padding:calc(11px*var(--z)) calc(22px*var(--z));text-decoration:none;display:inline-block}.login .link{color:#0a84ff;font-size:calc(14px*var(--z));background:0 0;border:0}.login .note{background:var(--surface);border-radius:calc(12px*var(--z));padding:calc(10px*var(--z)) calc(14px*var(--z));color:var(--ink);font-size:calc(13px*var(--z));box-shadow:var(--shadow-sm)}.codebox{gap:calc(6px*var(--z));justify-content:center;display:flex}.codebox input{width:calc(44px*var(--z));height:calc(54px*var(--z));text-align:center;font-size:calc(24px*var(--z));border-radius:calc(10px*var(--z));background:var(--surface);box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums;border:0;padding:0;font-weight:600}.codebox input:nth-child(3){margin-right:calc(8px*var(--z))}.asheet{gap:calc(8px*var(--z));display:grid}.asheet .grp{background:var(--surface-2);border-radius:calc(12px*var(--z));overflow:hidden}.asheet .hd{padding:calc(10px*var(--z)) calc(14px*var(--z));text-align:center;border-bottom:calc(1px*var(--z)) solid var(--line)}.asheet .hd b{font-size:calc(14px*var(--z));display:block}.asheet .hd small{color:var(--ink-2);font-size:calc(12px*var(--z))}.asheet button{justify-content:center;align-items:center;gap:calc(6px*var(--z));width:100%;min-height:calc(48px*var(--z));font-size:calc(17px*var(--z));color:#0a84ff;background:0 0;border:0;display:flex}.asheet .grp button+button{border-top:calc(1px*var(--z)) solid var(--line)}.asheet button.danger{color:var(--danger)}.asheet button.danger.armed{background:var(--danger);color:#fff;font-weight:600}.asheet button.cancel{background:var(--surface-2);border-radius:calc(12px*var(--z));font-weight:600}.hist{gap:calc(8px*var(--z));padding:calc(8px*var(--z)) 0;border-bottom:calc(1px*var(--z)) solid var(--line);font-size:calc(13px*var(--z));grid-template-columns:1fr auto;align-items:center;display:grid}.hist:last-of-type{border-bottom:0}.hist .sub{color:var(--ink-2);font-size:calc(12px*var(--z))}.dev{gap:calc(8px*var(--z));padding:calc(8px*var(--z)) 0;border-bottom:calc(1px*var(--z)) solid var(--line);font-size:calc(13px*var(--z));grid-template-columns:1fr auto;align-items:center;display:grid}.dev:last-of-type{border-bottom:0}.dev .sub{color:var(--ink-2);font-size:calc(12px*var(--z))}.set.person{grid-template-columns:calc(46px*var(--z)) 1fr auto auto}.set.person .email{grid-column:2/span 3}.allow .in.carried{width:calc(44px*var(--z))}.card .warn{color:#b25000;font-size:calc(12.5px*var(--z));margin-top:calc(8px*var(--z))}.card .expired{color:var(--ink-3);font-size:calc(12.5px*var(--z));margin-top:calc(8px*var(--z))}.neg{color:var(--danger)!important}.info.neg{background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.card .row.tap{cursor:pointer}.yearrows .row input{width:calc(60px*var(--z))}.desk-pane{gap:calc(14px*var(--z));display:grid}.sheet .pane{padding:0}.print-head,.print-legend{display:none}@media print{@page{size:A4 landscape;margin:8mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--z:.62!important}:root,:root[data-theme=dark]{--bg:#fff;--surface:#fff;--surface-2:#eee;--ink:#000;--ink-2:#333;--ink-3:#777;--line:#00000040;--accent:#000;--accent-ink:#fff;--tint:18%;--mh-s:0%;--mh-l:92%}body{background:#fff;padding:0}.toolbar,.balance,.toasts,.banner,.hovercard,.ctxmenu,.overlay{display:none!important}.print-head{justify-content:space-between;align-items:baseline;margin:0 0 6px;font-size:14px;display:flex}.print-legend{flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:9px;display:flex}.print-legend i{background:var(--c);vertical-align:middle;border-radius:2px;width:12px;height:8px;margin-right:4px;display:inline-block}.yearwrap{box-shadow:none;border-radius:0;overflow:visible}.year{min-width:0;--row:17.5px!important}.year.three{--row:23px!important}.cell.past .dn,.cell.past .bands,.cell.past .dots{filter:none;opacity:1}.cell.past .t{text-decoration:none}.cell.past.we{background:color-mix(in srgb,var(--we-c) var(--tint),#fff)}.cell.past.hol{background:color-mix(in srgb,var(--hol-c) var(--tint),#fff)}.cell:hover:after{display:none}.cell.today{box-shadow:none}.cell.today .dn{color:var(--ink-2);background:0 0}.clock{display:none}*{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}}
