:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f5f2;--surface:#fff;--surface-2:#efeee9;--text:#1b1f3b;--muted:#6b6f86;--border:#e2e0d8;--accent:#e8831e;--accent-text:#fff;--positive:#2f8f5b;--negative:#c4423a;--kind-vacation:#3a6fd8;--kind-sick:#d0465f;--kind-special_leave:#7f56d0;--kind-unpaid_leave:#737b8c;--kind-overtime_off:#1b8a7c;--on-kind:#fff;--holiday:#e0a020;--radius:14px;--tabs-height:64px;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12152b;--surface:#1b1f3b;--surface-2:#262b4f;--text:#f1f0ec;--muted:#9a9db8;--border:#2e3359;--accent:#ff9f43;--accent-text:#1b1f3b;--positive:#5fd394;--negative:#ff7b6e;--kind-vacation:#6b98f2;--kind-sick:#ef7086;--kind-special_leave:#a68af0;--kind-unpaid_leave:#9aa1b0;--kind-overtime_off:#3fbfae;--on-kind:#12152b;--holiday:#f0b84a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,p{margin:0}h1{font-size:1.4rem}h2{font-size:1rem}.app{max-width:560px;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(var(--tabs-height) + env(safe-area-inset-bottom) + 24px);margin:0 auto}main{flex-direction:column;gap:14px;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}.positive{color:var(--positive)}.negative,.error{color:var(--negative)}.loading{text-align:center;margin-top:40vh}.banner{background:var(--negative);color:#fff;border-radius:var(--radius);margin-bottom:14px;padding:10px 14px}.hint{background:var(--surface-2);border-radius:var(--radius);padding:10px 14px}button,input,select{font:inherit;color:inherit;font-size:16px}input,select{border:1px solid var(--border);background:var(--bg);border-radius:10px;width:100%;padding:10px 12px}input[aria-invalid=true]{border-color:var(--negative)}button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;padding:10px 16px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.danger{color:var(--negative)}button:disabled{opacity:.45;cursor:default}button.big{padding:14px 20px;font-size:1.1rem}.actions button.big{flex:1}button.wide{width:100%}button.link{color:var(--accent);background:0 0;border:none;padding:4px 0}button.link.danger{color:var(--negative)}label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9rem;display:flex}label.checkbox{color:var(--text);flex-direction:row;align-items:center;gap:8px}label.checkbox input{width:auto}.actions{flex-wrap:wrap;gap:8px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tag{background:var(--surface-2);border-radius:999px;padding:2px 10px;font-size:.85rem}.tag.small{margin-left:6px;font-size:.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.card-header{justify-content:space-between;align-items:center;display:flex}.form .row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.timer{text-align:center}.elapsed{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:3rem;font-weight:700}.elapsed.idle{color:var(--muted)}.chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.chip{border-radius:999px;padding:4px 12px;font-size:.9rem}.hero{text-align:center;padding:4px 0;font-size:1.25rem}.hero strong{color:var(--accent)}.stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:12px 14px;display:flex}.stat-label{color:var(--muted);font-size:.8rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:600}.entries,.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.entry{text-align:left;border:none;border-top:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:auto 1fr auto;gap:12px;width:100%;padding:10px 0;display:grid}.entries li:first-child .entry{border-top:none}.entry-time,.entry-duration{font-variant-numeric:tabular-nums}.entry-task{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor{flex-direction:column;gap:8px;padding:10px 0;display:flex}.editor-times{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.week-nav{text-align:center;flex-wrap:nowrap}.week-nav button{padding:4px 16px;font-size:1.4rem}table.week{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}table.week th,table.week td{text-align:right;padding:8px 4px}table.week th:first-child,table.week td:first-child{text-align:left}table.week tbody tr{border-top:1px solid var(--border);cursor:pointer}table.week tr.today td:first-child{font-weight:700}table.week tr.selected{background:var(--surface-2)}table.week tfoot td{border-top:2px solid var(--border);font-weight:600}.vacation{gap:2px}.vacation-left{font-size:1.6rem;font-weight:700}.list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.list li:first-child{border-top:none}details summary{cursor:pointer;font-weight:600}.schedule{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.schedule input{text-align:center;padding:8px 0}h3{color:var(--muted);margin:4px 0 0;font-size:.9rem}.hint-card{background:var(--surface-2)}.hint-card button{align-self:flex-start}.kind-vacation{--c:var(--kind-vacation)}.kind-sick{--c:var(--kind-sick)}.kind-special_leave{--c:var(--kind-special_leave)}.kind-unpaid_leave{--c:var(--kind-unpaid_leave)}.kind-overtime_off{--c:var(--kind-overtime_off)}.segmented{background:var(--surface-2);border-radius:10px;padding:2px;display:flex}.segmented button{background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:.9rem}.segmented button[aria-pressed=true]{background:var(--surface);font-weight:600;box-shadow:0 1px 2px #0000001f}.cal-nav{justify-content:space-between;align-items:center;display:flex}.cal-nav h2{font-size:1.1rem}.cal-nav button{padding:2px 16px;font-size:1.4rem}.month{grid-template-columns:repeat(7,1fr);row-gap:2px;display:grid}.weekday{text-align:center;color:var(--muted);padding-bottom:4px;font-size:.75rem}.day{font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;height:44px;padding:0;display:flex;position:relative}.day.off{color:var(--muted)}.day.holiday{color:var(--text);font-weight:700}.band,.day.sel:before{position:absolute;inset:5px 0}.band.start,.day.sel-start:before{border-top-left-radius:999px;border-bottom-left-radius:999px;left:3px}.band.end,.day.sel-end:before{border-top-right-radius:999px;border-bottom-right-radius:999px;right:3px}.band.solid{background:var(--c)}.band.tint{background:color-mix(in srgb, var(--c) 28%, transparent)}.band.half{background:linear-gradient(135deg, var(--c) 50%, color-mix(in srgb, var(--c) 28%, transparent) 50%)}.band.holiday{background:color-mix(in srgb, var(--holiday) 32%, transparent)}.day.sel:before{content:"";z-index:1;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent)}.day.sel-start:before{border-left:2px solid var(--accent)}.day.sel-end:before{border-right:2px solid var(--accent)}.num{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative}.day.on-solid .num{color:var(--on-kind);font-weight:600}.day.today .num{box-shadow:0 0 0 2px var(--accent)}.month.compact{row-gap:1px}.month.compact .weekday{padding-bottom:1px;font-size:.6rem}.month.compact .day{height:22px;font-size:.68rem}.month.compact .band{inset:2px 0}.month.compact .band.start{left:1px}.month.compact .band.end{right:1px}.month.compact .num{width:18px;height:18px}.month.compact .day.today .num{box-shadow:0 0 0 1.5px var(--accent)}.year{grid-template-columns:repeat(2,1fr);gap:14px 12px;display:grid}@media (width>=520px){.year{grid-template-columns:repeat(3,1fr)}}.year-month{text-align:left;background:0 0;border:none;flex-direction:column;gap:4px;padding:0;display:flex}.year-month-name{font-size:.9rem;font-weight:600}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.legend li{align-items:center;gap:5px;display:flex}.swatch{background:var(--c);border-radius:50%;flex-shrink:0;width:10px;height:10px}.swatch.holiday{background:color-mix(in srgb, var(--holiday) 55%, transparent)}.kinds{flex-wrap:wrap;gap:6px;display:flex}.kind-chip{border:1.5px solid var(--c);background:0 0;border-radius:999px;padding:6px 12px;font-size:.9rem}.kind-chip[aria-checked=true]{background:var(--c);color:var(--on-kind);font-weight:600}.selection{border-color:var(--accent)}.range-row{text-align:left;background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:0;display:grid}.range-label{flex-direction:column;display:flex}.login{max-width:400px;min-height:100vh;padding:calc(env(safe-area-inset-top) + 48px) 24px 24px;text-align:center;flex-direction:column;align-items:center;gap:14px;margin:0 auto;display:flex}.login img{border-radius:22px}.login .form{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.code-input,.pairing-code{letter-spacing:.15em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.pairing{text-align:center;background:var(--surface-2);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:14px;display:flex}.pairing-code{font-size:2.2rem;font-weight:700}.tabs{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{max-width:140px;height:var(--tabs-height);color:var(--muted);background:0 0;border:none;border-radius:0;flex:1;font-size:.85rem}.tabs button.active{color:var(--accent);font-weight:700}
