:root{font-family:'DM Sans',system-ui,sans-serif;}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--border);outline-offset:4px}header{max-width:1080px;margin:auto;height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Manrope,system-ui;font-size:26px;font-weight:800;letter-spacing:-1.5px}.brand-icon{border-radius:12px;width:38px;height:38px;text-align:center;font-size:28px;letter-spacing:-3px;padding-right:4px}.brand-dot{font-size:8px;align-self:flex-end;margin-bottom:9px}.local-badge{font-size:11px;border:1px solid var(--border);padding:7px 10px;border-radius:20px;}main{max-width:1000px;margin:24px auto 110px;padding:0 32px}h1,h2,h3,p{margin-top:0}h1{font-family:Manrope,system-ui;font-size:34px;letter-spacing:-1.5px;line-height:1.25;margin-bottom:9px}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:15px}p{line-height:1.6}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;margin-bottom:14px}.subtitle{font-size:14px;margin-bottom:30px}.dashboard{display:grid;grid-template-columns:1.55fr 1fr;gap:20px}.card{border:1px solid var(--border);border-radius:22px;padding:26px;margin-bottom:20px}.timer-card{text-align:center;padding:34px 24px 28px;position:relative;overflow:hidden}.timer-card:before{content:'';position:absolute;width:330px;height:330px;border:1px solid var(--border);border-radius:50%;left:calc(50% - 165px);top:-25px;pointer-events:none}.timer-card .eyebrow{}.status-pill{display:inline-flex;gap:7px;align-items:center;border-radius:20px;padding:6px 11px;font-size:11px;}.status-pill:before{content:'';width:6px;height:6px;border-radius:50%}.timer{font-family:Manrope,monospace;font-size:62px;letter-spacing:-3px;font-variant-numeric:tabular-nums;font-weight:500;position:relative;margin:23px 0 4px;line-height:1.2}.timer-label{font-size:12px;margin-bottom:28px}.primary,.secondary,.danger{min-height:46px;padding:11px 18px;border-radius:12px;border:0;font-weight:600;font-size:13px}.primary{}.timer-card .primary{width:100%;position:relative}.secondary{border:1px solid var(--border)}.timer-card .secondary{border:1px solid var(--border)}.actions{display:flex;gap:10px;justify-content:center}.actions>*{flex:1}.timer-foot{margin:20px 0 0;font-size:11px}.metric{font-family:Manrope,system-ui;font-size:35px;letter-spacing:-1.5px;font-weight:600;margin:8px 0}.metric small{font-size:15px;letter-spacing:0;font-weight:400}.hint{font-size:12px;line-height:1.6;margin:8px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-heading h2{margin:0}.link-button{border:0;font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.schedule{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:17px;margin-top:20px;font-size:12px}.schedule span{}.day-row{display:flex;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid var(--border)}.day-row:last-child{border:0}.day-row button{text-align:left;border:0;padding:0;flex:1}.day-title{font-weight:600;font-size:14px;display:block;margin-bottom:5px}.day-meta{font-size:12px;}.day-value{text-align:right;font-weight:600;font-size:14px}.day-value small{display:block;font-size:11px;margin-top:5px;font-weight:400}.empty{text-align:center;padding:25px 12px;font-size:13px}.empty-icon{font-size:25px;margin-bottom:12px}.info{border-radius:13px;font-size:12px;padding:14px 16px;line-height:1.65}.info strong{}.section-gap{margin-top:30px}nav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;border:1px solid var(--border);padding:7px;border-radius:20px;z-index:5;gap:4px}nav button{border:0;min-width:99px;border-radius:14px;padding:9px 14px;font-size:21px;line-height:1}nav button span{display:block;font-size:10px;margin-top:7px;font-weight:600}nav button.active{}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin-bottom:17px}input,select{width:100%;border:1px solid var(--border);border-radius:10px;min-height:44px;padding:10px;}input[type=checkbox]{width:18px;min-height:18px}.check{flex-direction:row;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.danger{margin-top:12px;width:100%}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.settings-layout .card{margin:0}.full{grid-column:1/-1}dialog{border:1px solid var(--border);border-radius:22px;padding:26px;width:min(94vw,480px);}dialog::backdrop{}dialog .primary{width:100%}.icon-button{border:0;font-size:27px;}#notice{position:fixed;bottom:107px;left:50%;transform:translateX(-50%);border-radius:12px;padding:13px 20px;font-size:13px;z-index:10;max-width:92%;display:none}#notice.visible{display:block}.pay-total{}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-grid .card{padding:20px}.stat-grid .metric{font-size:28px}.disclaimer{font-size:11px;margin:20px 0}.file-input{display:none}@media(max-width:650px){header{height:79px;padding:0 22px}.brand{font-size:24px}main{margin-top:20px;padding:0 20px}h1{font-size:29px}.dashboard,.settings-layout{grid-template-columns:1fr}.dashboard{gap:0}.timer{font-size:62px}.card{padding:22px;border-radius:19px}.timer-card{padding:29px 22px 24px}.subtitle{margin-bottom:23px}.stat-grid{gap:8px}.stat-grid .card{padding:15px 12px}.stat-grid .metric{font-size:22px}.stat-grid .eyebrow{letter-spacing:.7px;font-size:9px}nav{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:440px;justify-content:space-around}nav button{min-width:0;flex:1;padding:10px 8px}.full{grid-column:auto}.section-heading h2{font-size:18px}.form-grid{gap:0 12px}}
#account-button{cursor:pointer;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#account-dialog .primary{width:100%;margin-bottom:14px}#account-dialog>.secondary{display:block;width:100%;margin:12px 0}#account-dialog>.link-button{display:block;margin:5px 0}button:disabled{opacity:.55;cursor:wait}header{gap:12px;flex-wrap:wrap}#refresh-account,#retry-save{font-size:11px;padding:7px 10px;min-height:34px}@media(max-width:650px){header:has(#refresh-account),header:has(#retry-save){height:auto;min-height:79px;padding-top:18px;padding-bottom:12px}#refresh-account,#retry-save{order:3;flex-basis:100%}#account-button{max-width:185px;font-size:10px}}
.place-picker{margin:20px 0}.place-search-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.place-picker input[type=search]{font-weight:400}.place-results{display:grid;gap:8px;margin:12px 0}.place-result{border:1px solid var(--border);border-radius:11px;padding:14px;text-align:left;font-size:13px;line-height:1.5}.place-result:hover{}.place-selected{font-size:13px;font-weight:600;margin:16px 0 12px;padding-left:15px;border-left:3px solid var(--border)}.place-preview iframe{display:block;width:100%;height:210px;border:1px solid var(--border);border-radius:12px;}.place-preview a{display:inline-block;margin-top:10px}.place-preview .hint{margin:0 0 20px}@media(max-width:650px){.place-search-controls{gap:8px 16px}.place-search-controls .secondary{flex:1}.place-preview iframe{height:190px}}

:root{font-family:'DM Sans',system-ui,sans-serif}body{min-height:100vh}header{max-width:1160px;height:auto;min-height:96px;padding-top:20px;padding-bottom:20px;gap:12px}.brand{}.brand-icon{}.brand-dot{}.local-badge,#account-button{}main{max-width:1080px}.card{}.timer-card{}.timer-card .eyebrow{}.timer-card .primary{}.timer-card .secondary{}.status-pill{}.timer{font-size:70px;letter-spacing:-3px}.timer-label,.timer-foot{}.eyebrow{}h1{letter-spacing:-1.6px}h2,h3{}.primary{border:1px solid var(--border)}.primary:hover{}.secondary{}.secondary:hover{}.hint,.subtitle,.day-meta,.disclaimer,.schedule span,.day-value small{}.info{border:1px solid var(--border);}.info strong{}.link-button{}.schedule,.day-row{}.day-row button{}.empty{}.empty-icon{}.pay-total{}.danger{border:1px solid var(--border)}.icon-button{}input,select{min-height:46px}input::placeholder{}input:disabled,select:disabled{opacity:.65}label{font-weight:500}.check{line-height:1.5}.check input{flex-shrink:0;}nav{}nav button{}nav button.active{}dialog{max-height:90dvh;overflow:auto}dialog::backdrop{}dialog input{}#notice{border:1px solid var(--border);max-width:min(94%,660px)}#local-mode{font-size:11px}.stat-grid{margin:20px 0}.compact-metric{margin-bottom:0}.compact-metric .metric{font-size:29px}.compact-metric .eyebrow{font-size:10px;letter-spacing:1px}.history-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:12px}.history-filters label{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{text-align:center;font-size:11px;padding:8px}.calendar-day{border:1px solid var(--border);border-radius:12px;min-height:68px;padding:10px 4px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.calendar-day.worked{}.calendar-day.selected{}.calendar-day small{font-size:10px}.session-link{border:0;text-align:left;flex:1;padding:0}.daily-bars{display:grid;gap:12px;margin-top:20px}.bar-row{display:grid;grid-template-columns:45px 1fr 70px;gap:12px;align-items:center;font-size:11px;}.bar-track{height:7px;border-radius:8px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:8px}.pay-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 20px;margin-bottom:6px;scrollbar-width:thin}.pay-tabs button{border:1px solid var(--border);border-radius:11px;padding:12px 16px;font-size:12px;white-space:nowrap;min-height:44px}.pay-tabs button.selected{}.period-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:12px;align-items:end;margin:0 0 24px}.period-controls label{margin:0}.period-controls button{min-height:46px}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset:disabled{opacity:.65}.form-error{font-size:13px;padding:12px;border-radius:10px;line-height:1.6}.check-result{border-top:1px solid var(--border);padding:24px 0}.comparison-status{font-size:14px}.plans-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6;margin:26px 0}.plans-table td,.plans-table th{text-align:left;padding:14px 12px;border-bottom:1px solid var(--border)}.plans-table th{font-weight:600}.plans-table td:first-child{width:60%;}.plan-price{font-size:25px;font-weight:600;letter-spacing:-.7px}.offers>.secondary,.offers>.primary{margin:5px 10px 5px 0}.offers .info{margin-top:20px}details>summary{cursor:pointer;font-size:15px;font-weight:600;min-height:32px;line-height:1.6;}details form{padding-top:20px;border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:20px}details form h3{margin-bottom:16px}details>.day-row{font-size:12px}.place-result{}.place-result:hover{}.place-preview iframe{}.place-selected{}.place-search-controls{gap:8px 18px}.section-heading .secondary{white-space:nowrap}input[type=file]{font-size:12px;padding:12px}input[type=file]::file-selector-button{border:0;border-radius:6px;padding:8px;margin-right:12px}form .primary{margin-top:4px}a{}.form-grid label{min-width:0}
@media(max-width:750px){.history-filters{grid-template-columns:1fr 1fr}.history-filters label:first-child{grid-column:1/-1}.period-controls{grid-template-columns:1fr 1fr}.period-controls button{height:46px}.period-controls label:nth-child(3){grid-column:1/-1}.period-controls button{grid-column:1/-1}.plans-table td,.plans-table th{padding:12px 5px;font-size:10px}.timer{font-size:62px}.calendar-grid{gap:4px}.calendar-day{min-height:57px;border-radius:9px;padding:8px 1px}.calendar-day small{font-size:8px}.compact-metric .metric{font-size:22px}.compact-metric .eyebrow{font-size:8px;letter-spacing:.5px}.stat-grid{gap:8px}.stat-grid .card{padding:16px 10px}.pay-tabs{margin-right:-20px;padding-right:20px}.pay-tabs button{font-size:11px;padding:11px 13px}.day-row{align-items:center}.day-row strong{font-size:12px}.day-row .link-button{font-size:10px;flex-shrink:0}header{padding-left:22px;padding-right:22px;min-height:80px}.brand{margin-right:auto}#local-mode{order:3;margin:0;padding:0;flex-basis:100%;text-align:right}#account-button{font-size:10px;max-width:175px}#retry-save,#refresh-account{flex-basis:100%;order:4}.plan-price{font-size:22px}main{margin-top:15px}h1{font-size:29px}.offers>.secondary,.offers>.primary{width:100%;margin:5px 0}.session-link .day-meta{line-height:1.65;font-size:11px}.timer-card .actions{gap:8px}.timer-card .actions button{padding:12px 8px}}
@media(prefers-reduced-motion:no-preference){button{transition:transform .15s ease}.calendar-day:hover{transform:translateY(-1px)}}
#account-dialog details{padding:16px 0;border-top:1px solid var(--border);margin-top:15px}#account-dialog details form{border:0;padding-bottom:0;margin-bottom:0}#account-dialog details label{margin-top:14px}.recovery-code{word-break:break-word;font-size:13px;line-height:1.8;}#account-dialog>.secondary{font-size:12px}
.financial-bar{grid-template-columns:60px 1fr 110px}.revenue-chart .hint{margin-top:18px}.day-row+h3{margin-top:24px}.card>a[href='/privacy.html']{display:block;margin-top:18px;font-size:12px}@media(max-width:650px){.financial-bar{grid-template-columns:50px 1fr 95px;gap:8px;font-size:10px}}
.day-row>strong{white-space:nowrap}

:root {
  color-scheme: light;
  --page: #ffffff;
  --surface: #ffffff;
  --soft: #f4f5f7;
  --ink: #191b20;
  --muted: #5b616b;
  --border: #dfe2e7;
  --control-border: #7b828d;
  --primary: #202329;
  --on-primary: #ffffff;
  --focus: #185bd1;
  --danger: #ae251c;
  --danger-bg: #fff3f1;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #000000;
  --surface: #000000;
  --soft: #000000;
  --ink: #f5f5f5;
  --muted: #b4bac3;
  --border: #35383e;
  --control-border: #747b86;
  --primary: #f5f5f5;
  --on-primary: #000000;
  --focus: #9cbfff;
  --danger: #ffaaa2;
  --danger-bg: #000000;
}
html, body { background: var(--page); color: var(--ink); }
h1, h2, h3, label, .brand, .day-row button, .session-link, .info strong,
.plans-table th, .plans-table td:first-child, details > summary, .place-selected { color: var(--ink); }
.card, .timer-card, dialog, nav, input, select, .place-preview iframe {
  background: var(--surface); color: var(--ink); border-color: var(--border); box-shadow: none;
}
input, select { border-color: var(--control-border); }
.brand-icon, .primary, .timer-card .primary, nav button.active,
.pay-tabs button.selected, .calendar-day.selected {
  background: var(--primary); color: var(--on-primary); border-color: var(--primary);
}
.primary:hover, .timer-card .primary:hover { opacity: .88; }
.brand-dot, .status-pill:before, .bar-track i { background: var(--ink); color: var(--ink); }
.brand-dot { background: transparent; }
.timer-card:before { display: none; }
.eyebrow, .hint, .subtitle, .day-meta, .disclaimer, .schedule span, .day-value small,
.timer-label, .timer-foot, .timer-card .eyebrow, .empty, .empty-icon, .calendar-weekday,
.bar-row, nav button { color: var(--muted); }
.secondary, .timer-card .secondary, .local-badge, #account-button, .status-pill, .info,
.pay-total, .calendar-day, .calendar-day.worked, .pay-tabs button, .place-result,
input[type=file]::file-selector-button, .theme-toggle {
  background: var(--soft); color: var(--ink); border-color: var(--border);
}
.secondary, .timer-card .secondary, .theme-toggle { border-color: var(--control-border); }
.secondary:hover, .place-result:hover { background: var(--soft); border-color: var(--control-border); }
.calendar-day.selected { background: var(--primary); color: var(--on-primary); }
.calendar-day.worked:not(.selected) { border-color: var(--control-border); }
.link-button, a, .comparison-status, .recovery-code { color: var(--ink); }
.schedule, .day-row, .check-result, .plans-table td, .plans-table th, details form,
#account-dialog details, .place-selected { border-color: var(--border); }
.danger, .form-error { color: var(--danger); background: var(--danger-bg); border: 1px solid var(--danger); }
input::placeholder { color: var(--muted); opacity: 1; }
.check input { accent-color: var(--primary); }
#notice { background: var(--primary); color: var(--on-primary); border-color: var(--control-border); }
.bar-track { background: var(--border); }
dialog::backdrop { background: #00000080; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.theme-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 9px 12px;
  border: 1px solid var(--control-border); border-radius: 12px; font-size: 12px; flex-shrink: 0; }
.theme-toggle-icon { font-size: 20px; line-height: 1; }
@media(max-width:650px) { .theme-toggle-label { display: none; } .theme-toggle { width: 44px; justify-content: center; padding: 8px; } }
nav button, .link-button, .icon-button, .session-link, .day-row button { background: transparent; }
@media(max-width:650px) { .timer { font-size: clamp(40px, 16vw, 62px); } }

/* Keep form feedback in the modal top layer and controls usable on touch screens. */
[data-dialog-status]{margin:0 0 18px}
#account-button,.icon-button,.link-button,details>summary{min-height:44px}
.icon-button{min-width:44px;flex-shrink:0}
h1:focus{outline:none}
.timer-card>.link-button{margin-top:12px}
.dashboard>*,.settings-layout>*,.stat-grid>*,.history-filters>*{min-width:0}
.day-row{overflow-wrap:anywhere}
.metric{overflow-wrap:anywhere}
input,select{font-size:16px}
nav{bottom:max(10px,env(safe-area-inset-bottom))}
main{margin-bottom:calc(120px + env(safe-area-inset-bottom))}
@media(max-width:400px){.section-heading{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.stat-grid .card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.stat-grid .eyebrow{margin:0}.stat-grid .metric{font-size:23px;margin:0}}
input,select,.period-controls>*,.history-filters>*{min-width:0}
.period-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) auto}
legend{font-size:12px;font-weight:600;padding:0;margin-bottom:14px;color:var(--ink)}
details.card>form{border:0;margin-bottom:0;padding-bottom:0}
@media(max-width:750px){.period-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:400px){.period-controls,.history-filters{grid-template-columns:1fr}}

.active-session{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:24px}

/* Native fields keep their browser validation; custom lists share the app palette. */
.select-control{position:relative;width:100%;min-width:0;font-weight:400}
.select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0;pointer-events:none}
.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:50px;padding:13px 15px;text-align:left;border:1px solid var(--control-border);border-radius:13px;background:var(--surface);color:var(--ink);font-size:15px;line-height:1.45;box-shadow:none}
.select-value{min-width:0;white-space:normal;overflow-wrap:anywhere;flex:1}
.select-trigger svg{width:17px;height:17px;flex-shrink:0;transition:transform .16s ease}
.select-trigger[aria-expanded=true]{border-color:var(--ink);outline:2px solid var(--border);outline-offset:2px}
.select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.select-trigger:hover:not(:disabled){border-color:var(--ink)}
.select-trigger:disabled{opacity:.5;cursor:not-allowed}
.select-panel{position:fixed;margin:0;padding:6px;border:1px solid var(--control-border);border-radius:16px;background:var(--surface);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 12px 35px #00000015;z-index:30;max-width:calc(100vw - 24px);scrollbar-width:thin}
.select-panel::backdrop{background:transparent}
.select-option{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:12px 13px;border:0;border-radius:10px;text-align:left;font-size:14px;line-height:1.5;font-weight:400;background:var(--surface);color:var(--ink);white-space:normal;overflow-wrap:anywhere}
.select-option[aria-selected=true]{font-weight:600;background:var(--soft)}
.select-option[aria-selected=true]::after{content:'✓';margin-left:auto;flex-shrink:0;font-weight:600}
.select-option.is-active,.select-option:focus-visible{background:var(--primary);color:var(--on-primary);outline:none}
.select-option:disabled{opacity:.45;cursor:not-allowed}
:root[data-theme=dark] .select-panel{box-shadow:none}
dialog{width:min(94vw,560px);padding:30px;border-radius:26px;scrollbar-width:thin;overscroll-behavior:contain}
dialog.dialog-closing{pointer-events:none}
dialog::backdrop{background:#00000099}
#editor{width:min(94vw,600px)}
.editor-heading{align-items:flex-start;flex-wrap:nowrap}
.editor-heading .eyebrow{margin-bottom:9px;letter-spacing:1.6px}
.editor-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.8px}
.editor-heading .hint{font-size:13px;margin:10px 0 0}
.editor-heading .icon-button{border:1px solid var(--border);border-radius:50%;width:40px;height:40px;min-width:40px;min-height:40px;font-size:24px;color:var(--ink);display:grid;place-items:center;line-height:1}
#shift-form .shift-times{padding-top:22px;margin-top:22px;border-top:1px solid var(--border)}
#shift-form input{border-radius:13px;min-height:50px;background:var(--surface);color:var(--ink);padding:12px 14px}
#shift-form input[type=date],#shift-form input[type=time]{font-variant-numeric:tabular-nums;font-weight:500}
#shift-form input:focus-visible{outline-offset:2px}
#shift-form [data-advanced-shift]{border-top:1px solid var(--border);padding-top:22px;margin-top:22px}
#shift-form details{border:1px solid var(--border);border-radius:13px;padding:12px 14px;margin:12px 0 22px}
#shift-form details label:first-of-type{margin-top:16px}
#shift-form details>summary{font-size:12px;min-height:24px;color:var(--muted)}
#shift-form>.primary{min-height:50px;margin-top:12px;border-radius:13px}
#shift-form>.danger{background:var(--surface);font-size:12px;min-height:44px;border-color:var(--border)}
@media(max-width:650px){dialog{padding:24px;border-radius:23px;max-height:calc(100dvh - 28px)}.editor-heading h2{font-size:23px}.select-trigger{font-size:16px}.select-panel{padding:5px}.select-option{min-height:48px;font-size:15px}#shift-form .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#shift-form label{font-size:11px}#shift-form input{padding:11px 9px;font-size:15px}}
@media(max-width:350px){#shift-form .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.select-trigger svg{transition:none}}
.select-chevron{font-size:20px;line-height:1;width:17px;text-align:center;flex-shrink:0;transition:transform .16s ease}
.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}
.select-option[aria-disabled=true]{opacity:.45;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.select-chevron{transition:none}}

.select-trigger[aria-invalid=true]{border-color:var(--danger);outline-color:var(--danger)}
@media(max-width:650px){#shift-form input{font-size:16px}}
dialog::backdrop{transition:background .15s ease}
dialog.dialog-closing::backdrop{background:#0000}
@starting-style{dialog[open]::backdrop{background:#0000}}
@media(prefers-reduced-motion:reduce){dialog::backdrop{transition:none}}

.import-settings{border:1px solid var(--border);border-radius:15px;padding:16px;margin:16px 0 24px}.import-settings>summary{margin-bottom:16px}.import-settings .info{font-weight:400}[data-vacation-employer] .actions{margin:0 0 18px}[data-vacation-employer] .stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))} .import-settings[open]>summary{margin-bottom:20px}
@media(max-width:650px){[data-vacation-employer] .stat-grid{grid-template-columns:1fr}[data-vacation-employer] .stat-grid .card{display:block;padding:18px;margin:0}[data-vacation-employer] .stat-grid .eyebrow{margin:0 0 8px;font-size:10px}[data-vacation-employer] .stat-grid .metric{font-size:27px;line-height:1.25;overflow-wrap:normal;margin:0}}

/* Keep the payroll views in one visible row, including narrow phones. */
.pay-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 16px;padding:0;overflow:visible}
.pay-tabs button{white-space:normal;padding:12px 5px;line-height:1.35;min-width:0;font-size:13px}
.pay-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px}
.pay-toolbar .primary{font-size:13px;min-height:46px}
.pay-toolbar .hint{margin:0;flex:1;min-width:180px}
.settings-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settings-item{position:relative;display:flex;flex-direction:column;gap:8px;text-align:left;padding:24px 42px 24px 22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--ink);min-height:124px}
.settings-item strong{font-size:17px}.settings-item>span:not(.settings-chevron){color:var(--muted);font-size:13px;line-height:1.6}.settings-chevron{position:absolute;right:20px;top:calc(50% - 15px);font-size:25px;color:var(--muted)}
.settings-item:hover{background:var(--soft)}.settings-back{margin:0 0 20px;padding-left:0}.settings-focused{grid-template-columns:1fr;max-width:100%;margin-bottom:24px}.settings-focused .card{width:100%}
[hidden]{display:none!important}
@media(max-width:650px){.settings-menu{grid-template-columns:1fr;gap:10px}.settings-item{padding:20px 42px 20px 20px;min-height:105px}.pay-tabs button{font-size:12px}.pay-toolbar .primary{width:100%}.pay-toolbar .hint{font-size:12px}.pay-tabs{margin-right:0;padding-right:0}}

.payslip-recognized{margin:20px 0}.payslip-recognized .day-row{gap:16px;align-items:start}.payslip-recognized .day-row strong{white-space:normal;text-align:right;overflow-wrap:anywhere}.payslip-missing{padding:18px;border:1px solid var(--border);border-radius:12px;margin:20px 0}.payslip-review{margin:20px 0}.payslip-review>summary{font-size:14px}.payslip-review[open]>summary{margin-bottom:20px}.payslip-review .import-settings{margin:20px 0}

.reported-pay .stat-grid{margin:14px 0}.reported-pay .compact-metric{padding:16px 12px}.reported-pay .metric{font-size:25px}.reported-day{border-style:dashed}.reported-marker{font-size:9px;font-weight:600;line-height:1.25}.calendar-day:has(.reported-marker){gap:3px}.reported-pay{margin-bottom:22px}@media(max-width:650px){.reported-pay .stat-grid{grid-template-columns:1fr}.reported-pay .metric{font-size:27px}.reported-pay .stat-grid .card{padding:15px}.calendar-day .reported-marker{font-size:8px}}

.period-options{margin:0 0 20px;border:1px solid var(--border);border-radius:12px;padding:14px}.period-options>summary{font-size:13px}.period-options .period-controls{margin-bottom:0}.period-options form{border:0;padding-bottom:0;margin-bottom:0}

.setup-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:var(--page);color:var(--ink);overscroll-behavior:contain}
.setup-dialog>form{max-width:640px;min-height:100%;margin:0 auto;padding:clamp(24px,5vh,64px) 28px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:0}
.setup-dialog .setup-header{display:block;height:auto;min-height:0;max-width:none;padding:0;margin:0 0 20px}.setup-header .eyebrow{font-size:11px;letter-spacing:1.5px}.setup-header h1{font-size:clamp(27px,4vw,38px);line-height:1.15;margin:26px 0 14px}.setup-header .subtitle{font-size:15px;line-height:1.65;margin:0}.setup-header progress{width:100%;height:5px;display:block;margin:16px 0 0;border:0;border-radius:20px;accent-color:var(--ink);background:var(--soft)}.setup-header progress::-webkit-progress-bar{background:var(--soft);border-radius:20px}.setup-header progress::-webkit-progress-value{background:var(--ink);border-radius:20px}.setup-header progress::-moz-progress-bar{background:var(--ink)}
.setup-body{flex:1}.setup-body input,.setup-body .select-trigger{min-height:50px}.setup-body label{font-size:14px;line-height:1.6}.setup-body .hint{font-size:12px;line-height:1.65}.setup-body .day-row{gap:16px}.setup-body .day-row strong{text-align:right;white-space:normal;overflow-wrap:anywhere}.setup-footer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:20px 0 max(8px,env(safe-area-inset-bottom));margin-top:20px;background:var(--page)}.setup-footer .link-button{grid-column:1/-1;font-size:12px;min-height:35px}.setup-footer button{min-height:48px}.setup-drop{border:2px dashed var(--border);border-radius:20px;padding:26px 20px;background:var(--surface);text-align:center;margin:10px 0 22px}.setup-drop.dragging{border-color:var(--ink);background:var(--soft)}.setup-drop-icon{display:block;font-size:36px;margin-bottom:14px}.setup-drop label{font-weight:600}.setup-drop input{margin-top:12px}.setup-pdf-summary{padding:0 4px}.setup-pdf-summary .day-row{font-size:13px}.setup-dialog .place-picker{margin-top:20px}
@media(max-width:650px){.setup-dialog>form{padding:24px 22px max(12px,env(safe-area-inset-bottom))}.setup-footer{gap:10px}.setup-body .form-grid{grid-template-columns:1fr 1fr;gap:12px}.setup-body .form-grid label{font-size:12px}.setup-header h1{letter-spacing:-1px}.setup-drop{padding:24px 14px}}

@media(min-width:751px){
 .setup-dialog[open]{display:flex;align-items:flex-start;justify-content:center}
 .setup-dialog>form{flex:0 0 auto;width:100%;max-width:720px;min-height:0;margin:auto;padding:36px 42px}
 .setup-header h1{font-size:38px;letter-spacing:-1.2px}.setup-header .subtitle{max-width:590px}.setup-body{flex:initial}
 .setup-body[data-step="1"],.setup-body[data-step="2"],.setup-body[data-step="3"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}
 .setup-body[data-step="1"]>p,.setup-body[data-step="1"]>.check,.setup-body[data-step="1"]>div,.setup-body[data-step="2"]>label:first-child,.setup-body[data-step="2"]>p,.setup-body[data-step="3"]>label:first-child,.setup-body[data-step="3"]>div,.setup-body[data-step="3"]>p{grid-column:1/-1}
 .setup-footer{grid-template-columns:1fr 2fr;margin-top:16px}.setup-drop{padding:32px}.setup-drop input{max-width:100%}
}
.setup-drop-hint{font-size:16px;font-weight:600;margin:0 0 14px}
@media(max-width:750px){.setup-dialog>form{width:100%;max-width:600px;min-height:100%;margin:0 auto}.setup-drop-hint{display:none}.setup-footer{z-index:2}.setup-body .day-row{align-items:flex-start}.setup-body input[type=time],.setup-body input[type=date]{min-width:0;max-width:100%}}

.setup-welcome-mark{display:block;width:76px;height:76px;border-radius:18px;margin:12px 0 28px;object-fit:contain}.setup-welcome-copy{font-size:18px;line-height:1.75;max-width:560px}.setup-welcome-footer>.primary{grid-column:1/-1}.setup-body[data-step="-1"]{flex:initial;padding-bottom:16px}
