@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--c-bg:#f4f6f8;--c-surface:#fff;--c-surface-sunken:#fafbfc;--c-border:#e1e6eb;--c-border-strong:#d5dce3;--c-divider:#eef1f4;--c-text:#0d1b2a;--c-text-muted:#52606d;--c-text-disabled:#8794a1;--c-accent:#00c2a8;--c-on-accent:#0d1b2a;--c-accent-text:#00786a;--c-accent-soft:#e0f7f3;--c-accent-soft-text:#00594f;--c-inverse:#0d1b2a;--c-on-inverse:#fff;--c-warning:#e08a00;--c-warning-soft:#fff1dc;--c-warning-text:#7a4300;--c-warning-border:#f5d19a;--c-danger:#b0285a;--c-danger-soft:#ffe9f0;--c-danger-text:#a3214f;--c-info-soft:#e6eefd;--c-info-text:#2850b8;--c-rate-1:#00c2a8;--c-rate-2:#3b6fe0;--c-rate-3:#9b5de5;--c-rate-zero:#8a96a3;--c-disabled-bg:#d5dce3;--c-badge-draft-bg:#eef1f4;--c-badge-draft-text:#3e4c59;--c-skeleton-strong:#e6eaee;--c-skeleton-soft:#eef1f4;--shadow-float:0 8px 24px #0d1b2a3d;--font-display:"DM Sans Variable", system-ui, sans-serif;--font-body:"Inter Variable", system-ui, sans-serif;--t-timer:700 48px/1.1 var(--font-display);--t-display:700 36px/1.15 var(--font-display);--t-display-lg:700 52px/1.1 var(--font-display);--t-title:700 30px/1.2 var(--font-display);--t-heading:700 17px/1.3 var(--font-display);--t-heading-lg:700 18px/1.3 var(--font-display);--t-body:500 15px/1.4 var(--font-body);--t-meta:500 13px/1.4 var(--font-body);--t-label:600 12px/1.3 var(--font-body);--letter-spacing-timer:-1px;--letter-spacing-badge-upper:.6px;--r-sm:10px;--r-md:14px;--r-card:16px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--page-gutter:16px;--touch-min:48px;--button-h:52px;--button-h-inverse:40px;--button-round:76px;--nav-h:80px;--sidebar-w:72px;--header-h:64px;--list-row-h:56px;--content-max:640px;--content-bottom-space:96px;--focus-ring:3px solid var(--c-accent-text);--focus-offset:2px;--dur-press:.1s;--dur-color:.2s;--dur-toast:.15s;--dur-expand:.2s;--ease-expand:ease-out;--press-scale:.96}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--c-bg:#0d1b2a;--c-surface:#16283b;--c-surface-sunken:#111f30;--c-border:#26394d;--c-border-strong:#2e4359;--c-divider:#1f3245;--c-text:#f1f5f9;--c-text-muted:#9aa8b6;--c-text-disabled:#6b7a89;--c-accent-text:#5ee6d3;--c-accent-soft:#0f3a3e;--c-accent-soft-text:#9cf0e4;--c-inverse:#f1f5f9;--c-on-inverse:#0d1b2a;--c-warning:#f5b041;--c-warning-soft:#3a2a12;--c-warning-text:#ffd79a;--c-warning-border:#6b4a18;--c-danger:#ffb3cb;--c-danger-soft:#4a1c2f;--c-danger-text:#ffb3cb;--c-info-soft:#1c2e52;--c-info-text:#a9c2f7;--c-rate-2:#6e97f0;--c-rate-zero:#9aa8b6;--c-disabled-bg:#26394d;--c-badge-draft-bg:#1f3245;--c-badge-draft-text:#9aa8b6;--c-skeleton-strong:#1f3245;--c-skeleton-soft:#26394d;--shadow-float:none}}@media (prefers-reduced-motion:reduce){:root{--dur-press:0s;--dur-toast:0s;--dur-expand:0s;--press-scale:1}}body{background:var(--c-bg);color:var(--c-text);font:var(--t-body);font-variant-numeric:tabular-nums;margin:0}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.app-shell{padding:var(--page-gutter)}*,:before,:after{box-sizing:border-box}h1,h2,p{margin:0}.icon{flex:none}.icon-spin{animation:.9s linear infinite icon-spin}@keyframes icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.icon-spin{animation:none}}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--touch-min);padding:0 var(--s-6);border-radius:var(--r-md);font:var(--t-body);cursor:pointer;transition:transform var(--dur-press), background-color var(--dur-color);border:1px solid #0000;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(var(--press-scale))}.btn-primary{min-height:var(--button-h);background:var(--c-accent);color:var(--c-on-accent)}.btn-secondary{background:var(--c-surface);border-color:var(--c-border-strong);color:var(--c-text)}.btn-inverse{min-height:var(--button-h-inverse);background:var(--c-inverse);color:var(--c-on-inverse)}.btn-danger{background:var(--c-surface);border-color:var(--c-danger-soft);color:var(--c-danger)}.btn:disabled{background:var(--c-disabled-bg);color:var(--c-text-muted);cursor:not-allowed;border-color:#0000}.btn[aria-busy=true]{cursor:progress}.btn-reason{margin-top:var(--s-2);font:var(--t-meta);color:var(--c-text-muted)}.link-button{min-height:var(--touch-min);color:var(--c-accent-text);font:var(--t-body);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.card{gap:var(--s-3);padding:var(--s-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);flex-direction:column;display:flex}.empty-state{align-items:flex-start}.empty-state-icon{border-radius:var(--r-pill);background:var(--c-accent-soft);width:48px;height:48px;color:var(--c-accent-soft-text);place-items:center;display:grid}.error-state{background:var(--c-danger-soft);border-color:var(--c-danger-soft);color:var(--c-danger-text);align-items:flex-start}.install-banner{background:var(--c-accent-soft);border-color:var(--c-accent-soft);color:var(--c-accent-soft-text);align-items:flex-start}.install-banner-row{gap:var(--s-3);display:flex}.install-banner .link-button{color:var(--c-accent-soft-text);text-decoration:underline}.install-banner-steps{font:var(--t-meta)}.skeleton{gap:var(--s-2);flex-direction:column;display:flex}.skeleton-card{border-radius:var(--r-card);background:var(--c-skeleton-strong);height:64px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-card:nth-child(2n){background:var(--c-skeleton-soft)}@keyframes skeleton-pulse{50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.skeleton-card{animation:none}}.sync-chip{align-items:center;gap:var(--s-2);min-height:var(--touch-min);padding:var(--s-1) var(--s-4);border-radius:var(--r-pill);font:var(--t-label);text-align:left;cursor:pointer;border:0;display:inline-flex}.sync-chip-text{flex-direction:column;display:flex}.sync-chip-meta{opacity:.85;font-weight:500}.sync-chip-ok{background:var(--c-accent-soft);color:var(--c-accent-soft-text)}.sync-chip-pending{background:var(--c-warning-soft);color:var(--c-warning-text)}.sync-chip-offline{background:var(--c-divider);color:var(--c-text-muted)}.sync-chip-failed{background:var(--c-danger-soft);color:var(--c-danger-text)}.nav-bar{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--c-surface);border-top:1px solid var(--c-border);display:flex;position:fixed;inset:auto 0 0}.nav-item{justify-content:center;align-items:center;gap:var(--s-1);min-width:var(--touch-min);color:var(--c-text-muted);font:var(--t-label);flex-direction:column;flex:1;text-decoration:none;display:flex}.nav-pill{border-radius:var(--r-pill);place-items:center;width:56px;height:32px;display:grid}.nav-item.active{color:var(--c-accent-soft-text)}.nav-item.active .nav-pill{background:var(--c-accent-soft)}@media (width>=900px){.nav-bar{width:var(--sidebar-w);justify-content:flex-start;gap:var(--s-2);height:auto;padding:var(--s-4) 0;border-top:0;border-right:1px solid var(--c-border);flex-direction:column;inset:0 auto 0 0}.nav-item{padding:var(--s-2) 0;flex:none}.nav-pill{width:48px}}.field{gap:var(--s-1);flex-direction:column;display:flex}.field-textarea{padding:var(--s-3) var(--s-4);resize:vertical}.field-hint{font:var(--t-meta);color:var(--c-text-muted)}select.field-input{appearance:auto}.subpage-header{min-height:var(--header-h);justify-content:center;align-items:center;display:flex;position:relative}.subpage-back{width:var(--touch-min);height:var(--touch-min);color:var(--c-text);place-items:center;display:grid;position:absolute;left:0}.subpage-title{font:var(--t-heading-lg)}.badge{padding:var(--s-1) 10px;border-radius:var(--r-sm);font:var(--t-label);display:inline-block}.badge-demo{background:var(--c-danger-soft);color:var(--c-danger-text);text-transform:uppercase;letter-spacing:var(--letter-spacing-badge-upper)}.badge-missing{background:var(--c-danger-soft);color:var(--c-danger-text)}.badge-draft{background:var(--c-badge-draft-bg);color:var(--c-badge-draft-text)}.badge-sent{background:var(--c-info-soft);color:var(--c-info-text)}.badge-paid{background:var(--c-accent-soft);color:var(--c-accent-soft-text)}.badge-cancelled{background:var(--c-danger-soft);color:var(--c-danger-text);text-decoration:line-through}.warning-card{background:var(--c-warning-soft);border-color:var(--c-warning-border);color:var(--c-warning-text);align-items:flex-start}.toast{right:var(--s-3);bottom:calc(var(--nav-h) + var(--s-3) + env(safe-area-inset-bottom));left:var(--s-3);z-index:20;justify-content:space-between;align-items:center;gap:var(--s-3);max-width:var(--content-max);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--c-inverse);color:var(--c-on-inverse);box-shadow:var(--shadow-float);animation:toast-in var(--dur-toast) ease-out;margin:0 auto;display:flex;position:fixed}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}}@media (width>=900px){.toast{bottom:var(--s-3);margin-left:calc(var(--sidebar-w) + var(--s-3))}}a.btn{text-decoration:none}.nav-label{letter-spacing:-.2px}.rate-dot{border-radius:var(--r-pill);flex:none;width:8px;height:8px;display:inline-block}.rate-dot-1{background:var(--c-rate-1)}.rate-dot-2{background:var(--c-rate-2)}.rate-dot-3{background:var(--c-rate-3)}.rate-dot-zero{background:var(--c-rate-zero)}.confirm-panel{border-color:var(--c-danger)}.confirm-panel-actions{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--s-2);min-height:var(--touch-min);padding:0 var(--s-4);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);font:var(--t-body);cursor:pointer;font-weight:600;display:inline-flex}.chip-selected{border-color:var(--c-inverse);background:var(--c-inverse);color:var(--c-on-inverse)}.timer-card{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-surface);transition:background-color var(--dur-color);display:flex}.timer-card-running{border-color:var(--c-inverse);background:var(--c-inverse);color:var(--c-on-inverse)}.timer-info{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.timer-clock{font:var(--t-timer);font-variant-numeric:tabular-nums;letter-spacing:-1px;font-size:clamp(32px,10.5vw,48px)}.timer-clock-idle{color:var(--c-text-disabled)}.timer-details{font:var(--t-meta);overflow-wrap:anywhere}.timer-button{border-radius:var(--r-pill);background:var(--c-accent);width:76px;height:76px;color:var(--c-on-accent);cursor:pointer;transition:transform var(--dur-press);border:0;flex:none;place-items:center;display:grid}.timer-button:active:not(:disabled){transform:scale(var(--press-scale))}.conflict-card{border:2px solid var(--c-warning)}.conflict-actions{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.day-section{gap:var(--s-3);flex-direction:column;display:flex}.day-header{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.day-header .link-button{min-height:var(--touch-min);align-items:center;text-decoration:none;display:inline-flex}.empty-day{color:var(--c-text-muted)}.entry-list{gap:var(--s-2);flex-direction:column;display:flex}.entry-card{gap:var(--s-1);padding:14px var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-card);background:var(--c-surface);color:var(--c-text);flex-direction:column;text-decoration:none;display:flex}.entry-card-new{border:2px solid var(--c-accent)}.entry-card-top{justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.entry-card-title{font:var(--t-body);overflow-wrap:anywhere;font-weight:600}.entry-card-title-empty{color:var(--c-text-muted);font-style:italic}.entry-card-duration{font:var(--t-body);font-variant-numeric:tabular-nums;font-weight:600}.entry-card-meta{align-items:center;gap:var(--s-1) var(--s-2);color:var(--c-text-muted);font:var(--t-meta);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.entry-card-rate{align-items:center;gap:var(--s-1);display:inline-flex}.field-input-note{border-style:dashed}.field-label .icon{width:14px;height:14px;margin-right:var(--s-1);vertical-align:-2px}.switch-row{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:var(--touch-min);display:flex}.switch-text{gap:var(--s-1);flex-direction:column;display:flex}.switch-label{font:var(--t-body);font-weight:600}.switch{align-items:center;gap:var(--s-2);min-height:var(--touch-min);padding:0 var(--s-3);border:1px solid var(--c-border-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font:var(--t-label);cursor:pointer;flex:none;display:inline-flex}.switch-knob{border-radius:var(--r-pill);background:var(--c-text-disabled);width:20px;height:20px;transition:background-color var(--dur-color)}.switch[aria-checked=true]{border-color:var(--c-accent);background:var(--c-accent-soft);color:var(--c-accent-soft-text)}.switch[aria-checked=true] .switch-knob{background:var(--c-accent)}.switch:disabled{opacity:.6;cursor:default}.duration-display{align-items:center;gap:var(--s-1);padding:var(--s-4);border-radius:var(--r-xl);background:var(--c-inverse);color:var(--c-on-inverse);flex-direction:column;display:flex}.duration-value{font:var(--t-display);font-variant-numeric:tabular-nums}.field-row{gap:var(--s-2) var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-row>:nth-child(3){grid-column:1/-1}.template-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.template-chip{min-height:var(--touch-min);padding:0 var(--s-4);border-radius:var(--r-md);background:var(--c-accent-soft);color:var(--c-accent-soft-text);font:var(--t-body);text-align:left;cursor:pointer;border:0;font-weight:600}.locked-card{background:var(--c-surface-sunken)}.week-nav{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.week-nav-button{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);cursor:pointer;place-items:center;display:grid}.week-title{flex-direction:column;align-items:center;display:flex}.week-number{font:var(--t-heading-lg)}.week-range{color:var(--c-text-muted);font:var(--t-meta)}.week-current{min-height:var(--touch-min);align-self:center}.summary-card{gap:var(--s-3);padding:var(--s-4) var(--s-6);border-radius:var(--r-xl);background:var(--c-inverse);color:var(--c-on-inverse);flex-direction:column;display:flex}.summary-line{justify-content:space-between;align-items:baseline;gap:var(--s-1) var(--s-4);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.summary-actual{font:var(--t-display);font-size:clamp(26px,9vw,36px)}.summary-planned{font:var(--t-heading-lg)}.summary-note{font:var(--t-meta)}.progress{border-radius:var(--r-pill);background:color-mix(in srgb, var(--c-on-inverse) 20%, transparent);height:10px;overflow:hidden}.progress-fill{border-radius:var(--r-pill);background:var(--c-accent);height:100%;display:block}.day-row{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;min-height:var(--list-row-h);padding:0 var(--s-4);border:0;border-bottom:1px solid var(--c-divider);color:var(--c-text);font:var(--t-body);text-align:left;background:0 0;display:flex}button.day-row{cursor:pointer}.day-row-empty{color:var(--c-text-muted)}.day-row-end{align-items:center;gap:var(--s-2);display:flex}.day-total{font-variant-numeric:tabular-nums;font-weight:600}.day-chevron{transition:transform var(--dur-expand) ease-out;place-items:center;display:grid}.day-chevron-open{transform:rotate(90deg)}.day-entries{gap:var(--s-2);padding:var(--s-3);border-bottom:1px solid var(--c-divider);background:var(--c-surface-sunken);animation:day-expand var(--dur-expand) ease-out;flex-direction:column;display:flex}@keyframes day-expand{0%{opacity:0;transform:translateY(-6px)}}.hub-layout{min-height:100dvh}.hub-header{z-index:5;padding:var(--s-2) var(--page-gutter);padding-top:calc(var(--s-2) + env(safe-area-inset-top));background:var(--c-bg);justify-content:flex-end;display:flex;position:sticky;top:0}.hub-content{gap:var(--s-4);max-width:var(--content-max);padding:var(--s-2) var(--page-gutter) calc(var(--content-bottom-space) + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.page-title{font:var(--t-title)}.list-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.list-row{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:var(--list-row-h);padding:0 var(--s-4);border:0;border-bottom:1px solid var(--c-divider);color:var(--c-text);font:var(--t-body);text-align:left;background:0 0;text-decoration:none;display:flex}.list-row:last-child{border-bottom:0}button.list-row{cursor:pointer}.list-row-danger{color:var(--c-danger)}.list-row-meta{color:var(--c-text-muted);font:var(--t-meta)}@media (width>=900px){.hub-layout{padding-left:var(--sidebar-w)}.hub-content{padding-bottom:var(--s-8)}}.login{gap:var(--s-6);max-width:420px;min-height:100dvh;padding:var(--s-8) var(--page-gutter);flex-direction:column;justify-content:center;margin:0 auto;display:flex}.login-wordmark{font:var(--t-title)}.login-form{gap:var(--s-3);flex-direction:column;display:flex}.field-label{font:var(--t-label);color:var(--c-text-muted)}.field-input{min-height:var(--button-h);padding:0 var(--s-4);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);font:var(--t-body)}.field-error{font:var(--t-meta);color:var(--c-danger-text)}.notice-success{padding:var(--s-4);border-radius:var(--r-md);background:var(--c-accent-soft);color:var(--c-accent-soft-text)}.form{gap:var(--s-4);flex-direction:column;display:flex}.form-actions{gap:var(--s-2);flex-direction:column;display:flex}.list-row-main{gap:var(--s-1);min-width:0;padding:var(--s-3) 0;flex-direction:column;display:flex}.list-row-title{overflow-wrap:anywhere;font-weight:600}.list-row-badges{gap:var(--s-2);flex-wrap:wrap;display:flex}.section-heading{font:var(--t-heading)}
