:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172638;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f5f7fa;--surface: #fff;--text: #172638;--muted: #7a8592;--line: #e9edf1;--accent: #278563;--accent-soft: #e9f5ef;--hero: #172d35;--shadow: 0 4px 24px #17263804;--normal-bg: #e0f1e7;--normal-fg: #26734d;--overtime-bg: #fff0d7;--overtime-fg: #995b05;--special-bg: #ede3fa;--special-fg: #7850a0;--paid_rest-bg: #dff0fb;--paid_rest-fg: #27759e;--unpaid_absence-bg: #fbe3e3;--unpaid_absence-fg: #ad4646;color-scheme:light}:root[data-theme=dark]{--bg: #111c2b;--surface: #1c2b3d;--text: #f5f8fc;--muted: #a0adbd;--line: #2d3d50;--accent: #83d9af;--accent-soft: #253f3a;--hero: #223b3e;--shadow: none;--normal-bg: #233f37;--normal-fg: #97d4ae;--overtime-bg: #483b29;--overtime-fg: #f1be76;--special-bg: #3b304d;--special-fg: #ceb0ef;--paid_rest-bg: #203e50;--paid_rest-fg: #8fc9e7;--unpaid_absence-bg: #492e39;--unpaid_absence-fg: #eea4ae;color-scheme:dark;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{border:0}button:disabled{cursor:default}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:-1px;line-height:1.2;font-weight:650}h2{font-size:18px;letter-spacing:-.4px}small{font-size:11px}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;padding-top:max(env(safe-area-inset-top),var(--app-safe-top, 0px));padding-bottom:calc(98px + max(env(safe-area-inset-bottom),var(--app-safe-bottom, 0px)))}.brand-header{height:82px;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:27px;font-weight:750;letter-spacing:-1.4px}.wordmark>span{color:var(--accent)}.demo-pill{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:6px 10px}.demo-pill>span{width:5px;height:5px;border-radius:50%;background:var(--accent)}main{padding:0 20px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--accent);margin-bottom:11px}.home-intro{padding-top:13px;margin-bottom:26px}.home-intro h1{font-size:26px;letter-spacing:-.9px}.home-intro>p:last-child{color:var(--muted);font-size:12px;margin-top:9px}.forecast-card{background:var(--hero);border-radius:25px;padding:23px 23px 0;color:#f5faf7;position:relative;overflow:hidden;min-height:236px}.forecast-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.forecast-top>span:first-child{font-size:12px;text-transform:capitalize;color:#c6d6d3}.forecast-badge{font-size:9px;border:1px solid #ffffff26;padding:5px 8px;border-radius:20px;color:#c4ded1}.forecast-label{font-size:13px;color:#ccdad5;margin-top:27px;position:relative;z-index:1}.hero-amount{font-size:48px;font-weight:600;letter-spacing:-2px;line-height:1.1;margin-top:6px;position:relative;z-index:1;font-variant-numeric:tabular-nums}.hero-amount>span{font-size:35px;font-weight:400;color:#b1d2c1}.forecast-caption{font-size:10px;color:#abc1b9;margin-top:9px}.forecast-bottom{margin-top:24px;border-top:1px solid #ffffff13;padding:13px 0;display:flex;gap:7px;align-items:center;font-size:9px;color:#b6cbc2;position:relative;z-index:1}.status-dot{width:5px;height:5px;background:#83d9af;border-radius:50%}.forecast-orbit{position:absolute;width:205px;height:205px;border:1px solid #83d9af13;border-radius:50%;right:-93px;top:26px;box-shadow:0 0 0 22px #83d9af04,0 0 0 45px #83d9af03;pointer-events:none}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.metric-card{background:var(--surface);padding:18px 16px;border-radius:20px;box-shadow:var(--shadow)}.metric-icon{display:inline-flex;color:var(--accent)}.metric-card p{font-size:11px;color:var(--muted);margin-top:14px}.metric-card strong{font-size:25px;font-weight:650;letter-spacing:-.8px;display:block;margin-top:6px;white-space:nowrap}.metric-card strong span{font-size:16px;color:var(--muted);font-weight:400}.metric-card small{display:block;font-size:8px;color:var(--muted);margin-top:7px}.progress-card{padding:17px 19px 20px;border-radius:20px;background:var(--surface);margin-top:14px}.section-line{display:flex;align-items:center;gap:10px}.section-line .icon-button{margin-left:auto}.muted{color:var(--muted);font-size:11px}.progress-card h2{margin-top:3px;font-size:20px}.progress-track{height:6px;background:var(--accent-soft);border-radius:5px;margin-top:18px;overflow:hidden}.progress-track>span{display:block;height:100%;border-radius:5px;background:var(--accent)}.progress-labels{display:flex;justify-content:space-between;margin-top:10px;font-size:10px;color:var(--muted)}.progress-labels strong{font-weight:500;color:var(--text)}.footnote{font-size:10px;line-height:1.7;text-align:center;color:var(--muted);margin:18px 5px}.home-footnote{font-size:9px;margin-top:17px}.icon-button{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:transparent;flex-shrink:0}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translate(-50%);width:min(100%,480px);display:grid;grid-template-columns:repeat(4,1fr);padding:9px 10px calc(12px + max(env(safe-area-inset-bottom),var(--app-safe-bottom, 0px)));border-top:1px solid var(--line);background:var(--surface)}.bottom-nav button{display:flex;align-items:center;flex-direction:column;gap:5px;background:transparent;color:var(--muted);font-size:9px;font-weight:500;min-height:50px}.bottom-nav button>span{width:46px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center}.bottom-nav button.active{color:var(--accent)}.bottom-nav button.active>span{background:var(--accent-soft)}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 0 23px}.tiny-badge{padding:5px 9px;background:var(--accent-soft);color:var(--accent);font-size:10px;border-radius:7px}.month-picker{display:flex;align-items:center;justify-content:space-between}.month-picker h2{text-transform:capitalize;font-size:17px}.schedule-select{min-height:44px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:8px 13px;color:var(--muted);font-size:12px;margin:7px auto 0}.schedule-select>span{color:var(--text)}.edit-day-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;border:1px solid var(--line);background:transparent;border-radius:13px;font-size:12px;margin:17px 0}.edit-day-button.active{color:var(--accent);border-color:var(--accent)}.calendar-card{background:var(--surface);border-radius:20px;padding:0 5px 10px;margin:0 -14px;box-shadow:var(--shadow)}.calendar-mode{display:flex;align-items:center;gap:7px;height:46px;padding:0 12px;font-size:11px;border-bottom:1px solid var(--line);margin-bottom:8px}.color-dot{width:7px;height:7px;border-radius:50%;background:var(--normal-fg)}.color-dot.overtime{background:var(--overtime-fg)}.color-dot.special{background:var(--special-fg)}.color-dot.paid_rest{background:var(--paid_rest-fg)}.color-dot.unpaid_absence{background:var(--unpaid_absence-fg)}.color-dot.erase{background:var(--muted)}.mode-hint{margin-left:auto;color:var(--muted);font-size:9px}.calendar-body{display:flex;gap:4px;position:relative;min-height:340px}.palette{width:44px;flex:0 0 44px;display:flex;flex-direction:column;align-items:stretch;gap:3px;background:var(--surface);z-index:2;border-radius:12px}.palette.expanded{position:absolute;top:0;left:0;width:244px;padding:0 7px 10px;box-shadow:8px 5px 24px #0002;border:1px solid var(--line)}.palette.expanded+.calendar-grid{margin-left:48px}.palette-toggle,.brush{display:flex;align-items:center;gap:11px;min-height:44px;background:transparent;text-align:left;border-radius:11px;padding:0;white-space:nowrap}.palette-toggle{justify-content:center;color:var(--muted);font-size:12px}.expanded .palette-toggle{justify-content:flex-start;padding-left:10px}.brush-symbol{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;font-size:20px;font-weight:500;flex-shrink:0;margin:4px}.brush.selected{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--accent-soft)}.brush>span:last-child:not(.brush-symbol){font-size:11px}.normal{background:var(--normal-bg);color:var(--normal-fg)}.overtime{background:var(--overtime-bg);color:var(--overtime-fg)}.special{background:var(--special-bg);color:var(--special-fg)}.paid_rest{background:var(--paid_rest-bg);color:var(--paid_rest-fg)}.unpaid_absence{background:var(--unpaid_absence-bg);color:var(--unpaid_absence-fg)}.erase{background:var(--bg);color:var(--muted)}.palette-backdrop{position:absolute;inset:0;background:#00000012;z-index:1;border-radius:10px}.calendar-grid{flex:1;min-width:0}.weekdays,.dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{height:44px;align-items:center;text-align:center;font-size:10px;color:var(--muted)}.date-cell{min-width:0;height:48px;border:2px solid var(--surface);border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-variant-numeric:tabular-nums;touch-action:manipulation}.date-cell>span{font-size:12px;font-weight:600}.date-cell small{height:10px;font-size:9px;line-height:10px;opacity:.8}.date-cell.off{background:transparent;color:var(--muted)}.date-cell.today{outline:1.5px solid var(--accent);outline-offset:-3px}.date-cell.overridden>span{font-weight:750}.choosing{outline:1px dashed var(--accent);border-radius:12px}.calendar-footer{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;padding:11px 13px 0;border-top:1px solid var(--line);margin-top:5px}.outline-dot{width:9px;height:9px;border:1px solid var(--accent);border-radius:3px}.info-card{display:flex;gap:11px;margin-top:18px;background:var(--accent-soft);padding:15px;border-radius:15px;color:var(--accent)}.info-card>svg{flex-shrink:0;margin-top:2px}.info-card p{font-size:10px;line-height:1.7}.info-card strong{font-weight:600;font-size:11px}.calculator-total{text-align:center;padding:22px 12px 25px;background:var(--surface);border-radius:22px}.calculator-total>p{font-size:12px;color:var(--muted);margin-top:18px}.calculator-total h2{font-size:39px;letter-spacing:-1.5px;margin-top:7px;font-weight:650}.calculator-total>small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.tile-heading{justify-content:space-between;margin:25px 0 13px}.tile-heading h2{font-size:15px}.tiles{display:flex;flex-direction:column;gap:9px}.tile{display:flex;align-items:center;gap:8px;background:var(--surface);padding:13px 11px;border-radius:16px;min-width:0}.tile.disabled .tile-edit{opacity:.4}.tile-edit{display:flex;align-items:center;gap:9px;background:none;padding:0;flex:1;min-width:0;text-align:left;min-height:44px}.tile-icon{width:32px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--accent-soft);border-radius:10px;flex-shrink:0}.tile-icon.negative{color:var(--muted);background:var(--bg)}.tile-content{display:flex;flex-direction:column;gap:6px;min-width:0}.tile-content>strong{font-size:12px;overflow-wrap:anywhere}.tile-content>small{font-size:8px;color:var(--muted)}.tile-value{font-size:12px;font-weight:600;white-space:nowrap;margin-left:auto}.switch{width:44px;height:44px;padding:0;display:flex;align-items:center;position:relative;background:transparent;flex-shrink:0}.switch:before{content:"";position:absolute;left:3px;width:38px;height:23px;background:var(--line);border-radius:20px}.switch>span{position:relative;background:#fff;width:19px;height:19px;box-shadow:0 1px 3px #0002;border-radius:50%;margin-left:5px;transition:transform .15s}.switch[aria-checked=true]:before{background:var(--accent)}.switch[aria-checked=true]>span{transform:translate(15px)}.add-tile{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;background:transparent;border:1px dashed var(--accent);color:var(--accent);border-radius:14px;font-size:12px;margin-top:14px}.demo-profile{display:flex;align-items:center;gap:13px;background:var(--surface);padding:17px;border-radius:18px}.profile-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--accent-soft);border-radius:14px;font-size:24px;font-weight:700}.profile-avatar>span{color:var(--accent)}.demo-profile strong{font-size:12px}.demo-profile p{font-size:10px;color:var(--muted);margin-top:6px}.group-label{font-size:9px;letter-spacing:1px;color:var(--muted);margin:25px 3px 10px}.settings-group{border-radius:19px;background:var(--surface);padding:0 14px}.settings-row{display:flex;align-items:center;gap:11px;width:100%;min-height:69px;background:transparent;text-align:left;border-bottom:1px solid var(--line);padding:12px 0}.settings-row:last-child{border-bottom:0}.settings-icon{display:flex;align-items:center;color:var(--accent);flex-shrink:0}.settings-row-text{display:flex;flex-direction:column;gap:6px;flex:1}.settings-row-text strong{font-size:12px;font-weight:500}.settings-row-text small{font-size:10px;color:var(--muted)}.settings-row>svg{color:var(--muted)}.theme-card{padding:17px 14px;background:var(--surface);border-radius:19px}.theme-card .section-line>strong{font-size:12px;font-weight:500}.theme-options{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5px;background:var(--bg);border-radius:12px;padding:4px;margin-top:17px}.theme-options button{background:transparent;min-height:57px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border-radius:9px;color:var(--muted);font-size:9px}.theme-options button.selected{color:var(--accent);background:var(--surface);box-shadow:0 1px 6px #0000000b}.helper{font-size:10px;color:var(--muted);line-height:1.7;margin:13px 0}.sheet{position:fixed;inset:auto 0 0;margin:0 auto;padding:0;width:min(100%,480px);max-width:100%;max-height:min(88dvh,760px);border:0;border-radius:25px 25px 0 0;background:var(--surface);color:var(--text);box-shadow:0 -8px 45px #0002;overflow:auto;overscroll-behavior:contain}.sheet::backdrop{background:#08142166;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-inner{padding:9px 22px calc(25px + env(safe-area-inset-bottom))}.sheet-handle{width:32px;height:4px;background:var(--line);border-radius:4px;margin:0 auto 8px}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.sheet-header h2{font-size:21px}.sheet-note{font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:19px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;margin:15px 0;min-width:0}.field>label{font-weight:550}.field input,.field select{width:100%;height:48px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:0 12px;min-width:0;font-size:16px}.field small{color:var(--muted);font-size:10px;line-height:1.6}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary,.secondary{width:100%;min-height:49px;border-radius:13px;font-size:13px;margin-top:15px}.primary{background:var(--accent);color:var(--surface);font-weight:600}.secondary{background:var(--accent-soft);color:var(--accent)}.segmented{display:flex;background:var(--bg);padding:4px;border-radius:12px;margin-bottom:20px}.segmented button{width:50%;min-height:40px;border-radius:9px;background:transparent;color:var(--muted);font-size:12px}.segmented button.selected{background:var(--surface);color:var(--text);box-shadow:0 2px 6px #0001}.check-field{display:flex;gap:8px;align-items:center;font-size:11px;line-height:1.6;min-height:44px}.check-field input{width:20px;height:20px;accent-color:var(--accent)}.addition-editor{border-bottom:1px solid var(--line);padding-bottom:15px}.text-button{min-height:44px;background:none;font-size:11px;padding:0}.danger,.error{color:var(--unpaid_absence-fg)}.error{font-size:12px;margin-top:12px}.profile-tiles .settings-row{font-size:13px;justify-content:space-between}.profile-tiles .settings-row strong{font-size:12px}@media(min-width:481px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}.sheet{bottom:20px;border-radius:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.screen-settings .page-heading{padding:4px 0 16px}.screen-settings .demo-profile{padding:12px 17px}.screen-settings .group-label{margin-top:18px}.screen-settings .settings-row{min-height:58px;padding:9px 0}.screen-settings .theme-options button{min-height:50px}.screen-calculator .page-heading{padding-bottom:17px}.screen-calculator .calculator-total{padding-top:20px;padding-bottom:20px}.screen-calculator .tile-heading{margin-top:20px}.screen-calculator .tile{padding-top:11px;padding-bottom:11px}.bottom-nav button{font-size:10px}.weekdays{font-size:11px}.access-screen{padding-top:100px;text-align:center}.access-icon{display:inline-flex;padding:22px;border-radius:25px;background:var(--accent-soft);color:var(--accent);margin-bottom:30px}.access-screen h1{font-size:27px}.access-screen>p:not(.eyebrow):not(.footnote){margin:18px 9px 22px;font-size:14px;line-height:1.8;color:var(--muted)}.access-screen .primary{max-width:280px}
