@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(./nunito-latin-500-normal-EugFkASW.woff2) format("woff2"),url(./nunito-latin-500-normal-B5klmw3Q.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}:root{--berry-900: #4a0f33;--berry-800: #5c143f;--berry-700: #7b1e57;--berry-600: #a2306b;--berry-500: #c2185b;--berry-100: #fce4ec;--berry-50: #fff0f4;--ink-900: #2b1022;--ink-700: #574550;--ink-600: #6e5a67;--ink-400: #a8979f;--ink-200: #e6dbe0;--ink-100: #f3ebee;--color-bg: #fffaf8;--color-surface: #ffffff;--color-surface-soft: #fbf3f6;--color-text: var(--ink-900);--color-text-secondary: var(--ink-700);--color-text-muted: var(--ink-600);--color-primary: var(--berry-700);--color-primary-dark: var(--berry-800);--color-primary-soft: var(--berry-50);--color-accent: var(--berry-500);--color-accent-soft: var(--berry-100);--color-on-primary: #ffffff;--color-border: color-mix(in srgb, var(--berry-700) 12%, transparent);--color-border-strong: color-mix(in srgb, var(--berry-700) 28%, transparent);--color-divider: var(--ink-100);--color-success: #3f8a5a;--color-success-soft: #e6f4ea;--color-danger: #c0392b;--color-danger-bg: #fdecea;--color-highlight-outline: var(--berry-500);--radius-md: .875rem;--radius-lg: 1.25rem;--radius-pill: 999px;--radius-card: var(--radius-lg);--radius-button: var(--radius-pill);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 2.5rem;--text-xs: .8rem;--text-sm: .9rem;--text-base: 1rem;--text-lg: 1.15rem;--text-xl: 1.4rem;--text-2xl: 1.85rem;--text-3xl: 2.4rem;--font-size-base: 19px;--shadow-sm: 0 1px 2px rgba(43, 16, 34, .04), 0 4px 12px rgba(43, 16, 34, .05);--shadow-md: 0 8px 24px rgba(43, 16, 34, .1);--shadow-lg: 0 18px 48px rgba(43, 16, 34, .22);--shadow-card: var(--shadow-sm);--dur-fast: .15s;--dur-base: .22s;--dur-slow: .42s;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-spring: cubic-bezier(.32, .72, 0, 1);--control-height: 52px;--action-bar-height: 5.5rem;color-scheme:light;color:var(--color-text);background:var(--color-bg);font-family:Nunito,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:500;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.large-text{--font-size-base: 21px;--control-height: 56px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-size:var(--font-size-base);background:var(--color-bg);overflow-x:hidden}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.01em;color:var(--color-text)}p{margin:0}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:not-allowed}.app-shell{max-width:32rem;margin:0 auto;min-height:100vh;min-height:100dvh;padding:var(--space-4) var(--space-4) var(--space-6)}.app-shell--home,.app-shell--form{padding-bottom:calc(var(--action-bar-height) + 2.5rem + env(safe-area-inset-bottom))}.top-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);min-height:3.25rem}.brand{display:flex;flex-direction:column;gap:.1rem;min-width:0}.brand-eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.brand h1{font-size:var(--text-xl);color:var(--color-primary-dark);line-height:1.2}.text-button{border:none;background:transparent;color:var(--color-primary);padding:.55rem .75rem;border-radius:var(--radius-pill);font-weight:700;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.text-button:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.text-button:active{transform:scale(.97)}.text-button--danger{color:var(--color-danger)}.text-button--danger:hover{background:var(--color-danger-bg)}.text-button--muted{color:var(--color-text-muted)}.header-settings{min-height:var(--control-height);font-size:var(--text-base)}.card,.panel,.entry-card,.modal-card,.stat-card,.settings-card,.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm)}.panel{padding:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.helper-text{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.45}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin:var(--space-6) 0 var(--space-3)}.section-heading h2{font-size:var(--text-base);letter-spacing:.02em;text-transform:uppercase;font-weight:800;color:var(--color-text-muted)}.primary-button,.secondary-button,.danger-button,.accent-button{width:100%;min-height:var(--control-height);border:none;border-radius:var(--radius-pill);padding:.85rem 1.2rem;font-weight:700;font-size:var(--text-base);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.primary-button{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 6px 18px color-mix(in srgb,var(--color-primary) 32%,transparent)}.primary-button:hover:not(:disabled){background:var(--color-primary-dark)}.secondary-button{background:var(--color-accent-soft);color:var(--color-primary-dark)}.secondary-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent-soft) 70%,var(--color-primary) 10%)}.accent-button{background:var(--color-surface);color:var(--color-primary-dark);border:1px solid var(--color-border-strong)}.danger-button{background:var(--color-danger-bg);color:var(--color-danger)}.danger-button--solid{background:var(--color-danger);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--color-danger) 30%,transparent)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.accent-button:active:not(:disabled),.chip:active,.day-chip:active,.month-nav-button:active,.suggest-row:active,.repeat-card:active,.install-banner:active{transform:scale(.98)}.button-icon{flex-shrink:0}.action-bar{position:fixed;left:0;right:0;bottom:0;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -8px 24px #2b10220d;z-index:10;view-transition-name:action-bar}.action-bar-inner{max-width:32rem;margin:0 auto;display:grid;gap:var(--space-3)}.action-bar-inner--split{grid-template-columns:1fr 2fr}.install-banner{width:100%;margin:0 0 var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-pill);padding:.7rem 1rem;background:var(--color-surface);color:var(--color-primary-dark);font-weight:700;font-size:var(--text-sm);animation:fade-up var(--dur-base) var(--ease-out);transition:transform var(--dur-fast) var(--ease-out)}.suggest-row{width:100%;display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:.85rem 1rem;border:none;border-radius:var(--radius-lg);background:var(--color-primary-soft);color:var(--color-primary-dark);text-align:left;animation:fade-up var(--dur-base) var(--ease-out);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.suggest-row:hover{background:var(--color-accent-soft)}.suggest-row-dot{flex-shrink:0;width:.65rem;height:.65rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 18%,transparent);animation:pulse-dot 2.2s var(--ease-out) infinite}.suggest-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.suggest-row-text strong{font-size:var(--text-base)}.suggest-row-text span{font-size:var(--text-sm);color:var(--color-text-muted)}.suggest-row-cta{flex-shrink:0;font-weight:800;color:var(--color-primary);display:inline-flex;align-items:center;gap:.15rem}.stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5);margin-bottom:var(--space-4);background:radial-gradient(120% 140% at 100% 0%,var(--color-primary-soft) 0%,transparent 55%),var(--color-surface);animation:fade-up var(--dur-slow) var(--ease-out)}.stat-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.stat-card-label{font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.stat-card-value{font-size:var(--text-3xl);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--color-primary-dark);font-variant-numeric:tabular-nums}.stat-card-value small{font-size:.5em;font-weight:700;margin-left:.05em;color:var(--color-primary)}.stat-card-meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.stat-card-ring-wrap{position:relative;flex-shrink:0;width:4.5rem;height:4.5rem}.stat-card-ring{display:block;width:100%;height:100%}.stat-card-ring-track{stroke:color-mix(in srgb,var(--color-primary) 14%,white)}.stat-card-ring-progress{stroke:var(--color-primary);transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.stat-card-ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-primary-dark)}.month-area{touch-action:pan-y;will-change:transform}.month-area.is-dragging{cursor:grabbing}.month-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-2)}.month-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:.1rem;min-height:2.75rem;padding:.4rem .75rem .4rem .5rem;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-primary);font-weight:700;font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.month-nav-button--next{padding:.4rem .5rem .4rem .75rem}.month-nav-button:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.month-picker-select{position:relative;display:flex;align-items:center;justify-content:center;min-height:2.75rem;border-radius:var(--radius-pill);cursor:pointer;overflow:hidden}.month-picker-select:focus-within{outline:3px solid var(--color-accent);outline-offset:2px}.month-picker-label{font-weight:800;color:var(--color-text);font-size:var(--text-lg);pointer-events:none;text-align:center;display:inline-block;animation:fade-up var(--dur-base) var(--ease-out)}.month-picker-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;background:transparent}.entry-list-wrap{animation:list-in var(--dur-base) var(--ease-out)}.entry-list-wrap.slide-left{animation:list-in-left var(--dur-slow) var(--ease-spring)}.entry-list-wrap.slide-right{animation:list-in-right var(--dur-slow) var(--ease-spring)}.entry-list{display:grid;gap:var(--space-3)}.repeat-card{width:100%;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-3);padding:.9rem 1rem;border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-card);background:transparent;color:var(--color-primary-dark);text-align:left;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.repeat-card:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.repeat-card-icon{flex-shrink:0;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-accent-soft);color:var(--color-primary)}.repeat-card-text{flex:1;min-width:0;display:flex;flex-direction:column}.repeat-card-text strong{font-size:var(--text-base)}.repeat-card-text span{font-size:var(--text-sm);color:var(--color-text-muted)}.entry-slot{display:grid;grid-template-rows:1fr;--i: 0;animation:entry-in var(--dur-slow) var(--ease-out) backwards;animation-delay:calc(var(--i) * 45ms)}.entry-slot.is-leaving{animation:entry-leave .34s var(--ease-out) forwards;pointer-events:none}.entry-slot>.entry-card{min-height:0}.entry-card{padding:0;overflow:hidden;scroll-margin-bottom:calc(var(--action-bar-height) + 2rem + env(safe-area-inset-bottom));outline:3px solid transparent;outline-offset:2px;transition:outline-color var(--dur-slow) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.entry-card.is-highlight{outline-color:var(--color-highlight-outline);box-shadow:var(--shadow-md)}.entry-card-body{padding:var(--space-4) var(--space-5) var(--space-3)}.entry-date-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.35rem}.entry-date{font-size:var(--text-sm);font-weight:800;color:var(--color-text-secondary);letter-spacing:.01em}.entry-day-badge{display:inline-block;padding:.1rem .55rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:800;color:var(--color-primary-dark);background:var(--color-accent-soft)}.entry-hours{font-size:var(--text-2xl);font-weight:800;line-height:1.1;letter-spacing:-.015em;color:var(--color-primary-dark);font-variant-numeric:tabular-nums}.entry-hours small{font-size:.55em;font-weight:700;color:var(--color-primary);margin-left:.1em}.entry-meta{margin-top:.3rem;color:var(--color-text-muted);font-size:var(--text-sm)}.entry-card-actions{display:flex;justify-content:flex-end;gap:var(--space-1);padding:.25rem var(--space-3) .5rem;border-top:1px solid var(--color-divider)}.empty-state{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-text-muted);animation:fade-up var(--dur-slow) var(--ease-out)}.empty-state-illustration{display:block;margin:0 auto var(--space-3);--ill-cal-fill: var(--color-primary-soft);--ill-cal-stroke: var(--color-primary);--ill-cal-header: var(--color-primary);--ill-tile-a: color-mix(in srgb, var(--color-primary) 22%, var(--color-surface));--ill-tile-b: color-mix(in srgb, var(--color-accent) 22%, var(--color-surface));--ill-clock-fill: var(--color-accent-soft);--ill-clock-stroke: var(--color-accent)}.empty-state strong{display:block;color:var(--color-text);font-size:var(--text-lg);margin-bottom:.35rem}.claim-sheet-button{margin-top:var(--space-5);animation:fade-up var(--dur-slow) var(--ease-out)}.screen-panel--forward{animation:screen-forward var(--dur-base) var(--ease-out)}.screen-panel--back{animation:screen-back var(--dur-base) var(--ease-out)}html.vt .screen-panel--forward,html.vt .screen-panel--back{animation:none}.step-in{animation:screen-forward var(--dur-base) var(--ease-out)}.saved-panel{display:grid;gap:var(--space-3);justify-items:center;text-align:center;padding:var(--space-7) var(--space-5) var(--space-5)}.saved-check{position:relative;display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);animation:saved-check var(--dur-slow) var(--ease-spring) both}.saved-check:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid var(--color-primary);opacity:0;animation:saved-pulse .9s var(--ease-out) .15s both}.saved-check-path{stroke-dasharray:32;stroke-dashoffset:32;animation:draw-check .45s var(--ease-out) .2s forwards}.saved-panel h2{font-size:var(--text-xl);color:var(--color-text);animation:fade-up var(--dur-slow) var(--ease-out) .1s both}.saved-amount{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.02em;color:var(--color-primary-dark);font-variant-numeric:tabular-nums;animation:fade-up var(--dur-slow) var(--ease-out) .18s both}.saved-amount small{font-size:.5em;font-weight:700;color:var(--color-primary);margin-left:.05em}.saved-amount-caption{display:block;font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-top:.2rem}.saved-month{font-size:var(--text-sm);color:var(--color-text-muted);animation:fade-up var(--dur-slow) var(--ease-out) .24s both}.saved-month strong{color:var(--color-text)}.saved-month strong small{font-size:1em;color:inherit;margin:0}.saved-actions{width:100%;display:grid;gap:var(--space-3);margin-top:var(--space-3);animation:fade-up var(--dur-slow) var(--ease-out) .3s both}.form-grid{display:grid;gap:var(--space-4)}.form-section{padding:var(--space-4) var(--space-4) var(--space-5);display:grid;gap:var(--space-4)}.form-section-title{font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 -.35rem}.field{display:block}.field label,.field-label{display:block;font-size:var(--text-sm);font-weight:700;margin-bottom:.4rem;color:var(--color-text-secondary)}.field input,.field select,.time-select-input{width:100%;min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:.75rem 1rem;background:var(--color-surface);color:var(--color-text);font-size:var(--text-lg);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.field input:focus-visible,.field select:focus-visible,.time-select-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.field select,.time-select-input{appearance:none;-webkit-appearance:none;padding-right:2.75rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%237b1e57'><path d='M6.3 9.3a1 1 0 0 1 1.4 0L12 13.6l4.3-4.3a1 1 0 1 1 1.4 1.4l-5 5a1 1 0 0 1-1.4 0l-5-5a1 1 0 0 1 0-1.4Z'/></svg>");background-repeat:no-repeat;background-position:right .9rem center}.time-field-input{font-variant-numeric:tabular-nums}.time-select-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.time-select-field label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);margin-bottom:.3rem}.time-select-input{font-variant-numeric:tabular-nums}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-primary-dark);border-radius:var(--radius-pill);min-height:var(--control-height);padding:.7rem 1.05rem;font-weight:700;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.chip:hover{background:var(--color-primary-soft)}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 14px color-mix(in srgb,var(--color-primary) 28%,transparent)}.break-picker{display:grid;gap:var(--space-2)}.break-picker .field-label{margin-bottom:0}.break-picker-custom{margin-top:var(--space-2);animation:fade-up var(--dur-base) var(--ease-out)}.usual-times-chip{justify-self:start;width:auto;min-height:2.75rem;padding:.5rem .9rem;font-size:var(--text-sm);animation:fade-up var(--dur-base) var(--ease-out)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-height);padding:.5rem 0;cursor:pointer;color:var(--color-text);font-weight:600;font-size:var(--text-base)}.switch-row-text{display:flex;flex-direction:column;gap:.05rem}.switch-row-text span{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.switch{appearance:none;-webkit-appearance:none;flex-shrink:0;width:3.25rem;height:2rem;margin:0;border-radius:var(--radius-pill);background:var(--ink-200);position:relative;cursor:pointer;transition:background-color var(--dur-base) var(--ease-out)}.switch:before{content:"";position:absolute;top:.2rem;left:.2rem;width:1.6rem;height:1.6rem;border-radius:50%;background:#fff;box-shadow:0 2px 6px #2b102240;transition:transform var(--dur-base) var(--ease-spring)}.switch:checked{background:var(--color-primary)}.switch:checked:before{transform:translate(1.25rem)}.overtime-hero{position:relative;display:grid;gap:.2rem;padding:var(--space-5) var(--space-4) var(--space-4);border-radius:var(--radius-md);background:radial-gradient(120% 120% at 0% 0%,var(--color-accent-soft) 0%,transparent 60%),var(--color-primary-soft);text-align:center;overflow:hidden;transition:background-color var(--dur-base) var(--ease-out)}.overtime-hero.is-bump .overtime-hero-value{animation:number-bump var(--dur-slow) var(--ease-spring)}.overtime-hero-label{font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.overtime-hero-value{font-size:var(--text-3xl);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--color-primary-dark);font-variant-numeric:tabular-nums;display:inline-block}.overtime-hero-badge{justify-self:center;margin-top:.3rem;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary-dark);font-size:var(--text-xs);font-weight:800;animation:fade-up var(--dur-base) var(--ease-out)}.overtime-hero-badge--changed{background:var(--color-primary-dark);color:var(--color-on-primary)}.overtime-hero-line{margin-top:.4rem;font-size:var(--text-sm);color:var(--color-text-secondary)}.overtime-hero-line strong{color:var(--color-text)}.overtime-override{display:grid;gap:var(--space-2);animation:fade-up var(--dur-base) var(--ease-out)}.overtime-override-row{display:flex;justify-content:center}.form-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:.25rem .25rem 0;font-size:var(--text-sm);color:var(--color-text-muted)}.form-total-row strong{font-size:var(--text-lg);color:var(--color-text);font-variant-numeric:tabular-nums}.form-total-row strong small{font-size:.7em;font-weight:700;color:var(--color-primary);margin-left:.1em}.form-total-now{display:block;text-align:right;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.form-total-row .form-total-now small{font-size:1em;color:inherit;margin:0}.inline-note{background:var(--color-primary-soft);border-radius:var(--radius-md);padding:.85rem 1rem;color:var(--color-primary-dark);font-size:var(--text-sm);animation:fade-up var(--dur-base) var(--ease-out)}.inline-note.error{background:var(--color-danger-bg);color:var(--color-danger)}.day-picker{display:grid;gap:var(--space-3)}.day-picker-header{display:flex;justify-content:space-between;align-items:center}.day-picker-header .field-label{margin:0}.day-picker-today-btn,.day-picker-expand{font-size:var(--text-sm);padding:.35rem .6rem;min-height:2.25rem}.day-picker-expand{justify-self:start}.day-chip-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.day-chip-grid--all{animation:fade-up var(--dur-base) var(--ease-out)}.day-chip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;min-width:0;min-height:3.6rem;padding:.4rem .1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.day-chip:hover{background:var(--color-primary-soft)}.day-chip.is-today:not(.active){border-color:var(--color-primary)}.day-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 14px color-mix(in srgb,var(--color-primary) 30%,transparent)}.day-chip-weekday{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted)}.day-chip.active .day-chip-weekday{color:color-mix(in srgb,var(--color-on-primary) 80%,transparent)}.day-chip-num{font-size:var(--text-lg);font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.day-chip-dot{position:absolute;bottom:.35rem;left:50%;transform:translate(-50%);width:.3rem;height:.3rem;border-radius:50%;background:var(--color-accent)}.day-chip.active .day-chip-dot{background:var(--color-on-primary)}.day-chip-today{position:absolute;top:-.45rem;left:50%;transform:translate(-50%);padding:0 .4rem;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;white-space:nowrap}.day-chip.active .day-chip-today{background:var(--color-on-primary);color:var(--color-primary)}.settings-card{padding:var(--space-4) var(--space-4) var(--space-5);display:grid;gap:var(--space-4)}.settings-card-title{font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 -.35rem}.settings-card .helper-text{margin-top:-.5rem}.settings-button-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.setup-progress{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:0 0 var(--space-2)}.setup-progress span{height:.35rem;border-radius:var(--radius-pill);background:var(--ink-200);transition:background-color var(--dur-base) var(--ease-out)}.setup-progress span.is-done{background:var(--color-primary)}.setup-intro{display:grid;gap:.35rem;margin-bottom:var(--space-2)}.setup-intro h2{font-size:var(--text-xl)}.modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--ink-900) 45%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:end center;padding:.5rem;z-index:20;opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.modal-backdrop.is-open{opacity:1}.modal-card{width:min(100%,32rem);padding:var(--space-3) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:translateY(110%);transition:transform .32s var(--ease-spring)}.modal-backdrop.is-open .modal-card{transform:translateY(0)}.sheet-handle{width:2.5rem;height:.3rem;border-radius:var(--radius-pill);background:var(--ink-200);margin:0 auto var(--space-4)}.modal-card h2{margin:0 0 .35rem;font-size:var(--text-lg)}.modal-card p{margin:.25rem 0;color:var(--color-text-secondary)}.modal-actions{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.sheet-summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-soft);margin:var(--space-3) 0 var(--space-2)}.sheet-summary-icon{flex-shrink:0;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary)}.sheet-summary-text{display:flex;flex-direction:column}.sheet-summary-text strong{font-size:var(--text-base)}.sheet-summary-text span{font-size:var(--text-sm);color:var(--color-text-muted)}.sheet-success{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-3) 0 var(--space-2);text-align:center;animation:fade-up var(--dur-base) var(--ease-out)}.sheet-success .saved-check{width:3.5rem;height:3.5rem}.sheet-success p{color:var(--color-text-muted)}.spinner{width:1.15rem;height:1.15rem;border-radius:50%;border:2.5px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;animation:spin .8s linear infinite}.toast{position:fixed;z-index:30;display:flex;align-items:center;gap:var(--space-3);color:var(--color-on-primary);padding:.85rem 1.1rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);animation:toast-in .32s var(--ease-spring) both}.toast.is-leaving{animation:toast-out var(--dur-base) var(--ease-out) forwards}.toast--snackbar{left:var(--space-4);right:var(--space-4);bottom:calc(var(--action-bar-height) + 1rem + env(safe-area-inset-bottom));max-width:32rem;margin:0 auto;background:var(--ink-900)}.toast--info{background:var(--color-primary-dark)}.toast span{flex:1}.toast-action{border:none;background:#ffffff2e;color:var(--color-on-primary);border-radius:var(--radius-pill);padding:.4rem .85rem;font-weight:800;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out)}.toast-action:hover{background:#ffffff47}@media(min-width:640px){.app-shell{padding-top:var(--space-6)}.modal-backdrop{place-items:center;padding:var(--space-4)}.modal-card{padding:var(--space-5);transform:scale(.96);opacity:0;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.modal-backdrop.is-open .modal-card{transform:scale(1);opacity:1}.sheet-handle{display:none}}html.large-text .brand h1{font-size:1.5rem}html.large-text .stat-card-value,html.large-text .overtime-hero-value,html.large-text .saved-amount{font-size:2.6rem}html.large-text .day-chip-num{font-size:1.25rem}.top-bar{view-transition-name:top-bar}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-base);animation-timing-function:var(--ease-out)}html[data-nav=forward]::view-transition-old(root){animation-name:vt-out-left}html[data-nav=forward]::view-transition-new(root){animation-name:vt-in-right}html[data-nav=back]::view-transition-old(root){animation-name:vt-out-right}html[data-nav=back]::view-transition-new(root){animation-name:vt-in-left}::view-transition-group(top-bar),::view-transition-group(action-bar){animation-duration:var(--dur-base)}@keyframes fade-up{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:none}}@keyframes list-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:none}}@keyframes list-in-left{0%{opacity:0;transform:translate(2.5rem)}to{opacity:1;transform:none}}@keyframes list-in-right{0%{opacity:0;transform:translate(-2.5rem)}to{opacity:1;transform:none}}@keyframes entry-in{0%{opacity:0;transform:translateY(.75rem) scale(.98)}to{opacity:1;transform:none}}@keyframes entry-leave{0%{grid-template-rows:1fr;opacity:1;transform:none}45%{opacity:0;transform:translate(-1.5rem) scale(.97)}to{grid-template-rows:0fr;opacity:0;margin-bottom:calc(-1 * var(--space-3));transform:translate(-1.5rem) scale(.97)}}@keyframes screen-forward{0%{opacity:0;transform:translate(1.25rem)}to{opacity:1;transform:none}}@keyframes screen-back{0%{opacity:0;transform:translate(-1.25rem)}to{opacity:1;transform:none}}@keyframes saved-check{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes saved-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes draw-check{to{stroke-dashoffset:0}}@keyframes number-bump{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 18%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--color-accent) 8%,transparent)}}@keyframes toast-in{0%{opacity:0;transform:translateY(1rem) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(.5rem)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes vt-out-left{to{opacity:0;transform:translate(-1.25rem)}}@keyframes vt-in-right{0%{opacity:0;transform:translate(1.25rem)}}@keyframes vt-out-right{to{opacity:0;transform:translate(1.25rem)}}@keyframes vt-in-left{0%{opacity:0;transform:translate(-1.25rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.entry-slot.is-leaving{animation:none;opacity:0}.modal-backdrop,.modal-backdrop.is-open .modal-card,.modal-card{opacity:1;transform:none}.saved-check-path{stroke-dashoffset:0}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
