/* Clear saturated palette. Neutral surfaces, navy structure, cobalt actions,
   petrol task accents; amber is reserved for time feedback. No pastel fills. */
:root{--paper:#f3f4f6;--surface:#ffffff;--ink:#102a43;--muted:#52606d;--navy:#102a43;--cobalt:#1649d8;--petrol:#006d77;--gold:#f5b700;--border:#cbd2d9;--bg:var(--paper);--text:var(--ink);--blue:var(--cobalt);--line:var(--border)}
html,body{background:var(--paper);color:var(--ink)}
.eyebrow,.section-heading span,.app footer,.app footer a{color:var(--muted)}
.avatar-button,.page-tabs .is-active{background:var(--cobalt);color:#fff}
.page-tabs a{color:var(--ink)}
.category{--tile:#1649d8;--ink:#fff;--edge:#fff;background:var(--tile);color:#fff}
.category.tone-violet{--tile:#263c69;--ink:#fff;--edge:#fff}
.category.tone-amber{--tile:#102a43;--ink:#fff;--edge:#fff}
.category.tone-cyan{--tile:#006d77;--ink:#fff;--edge:#fff}
.category.tone-indigo{--tile:#173b57;--ink:#fff;--edge:#fff}
.category.tone-rose{--tile:#154d85;--ink:#fff;--edge:#fff}
.category.tone-green{--tile:#005f68;--ink:#fff;--edge:#fff}
.category .category-icon{color:#fff;background:transparent}
.category.is-selected{background:var(--tile);border-color:#fff;box-shadow:0 0 0 2px var(--navy)}
.category>i{border-color:#fff;opacity:.65}.category.is-selected>i{border-color:#fff;background:var(--tile);box-shadow:inset 0 0 0 3px #fff;opacity:1}
.category:disabled{opacity:1;background:#e4e7eb;color:#52606d;border-color:transparent;box-shadow:none}.category:disabled .category-icon{color:#52606d}
.mode-switch{background:#e4e7eb}.mode-switch button{color:var(--muted)}.mode-switch button.is-active{background:var(--navy);color:#fff;box-shadow:none}
.block-panel,.compact-detail,.extras-section.compact-detail,.note-wrap,.extras-section,.rates-settings,dialog{background:var(--surface);color:var(--ink);border-color:var(--border)}
.time-inputs label>span,.roller-title,.wheel-help,.roller-actions>span,.compact-detail>summary>small,.speech-status,.speech-privacy,.time-hint,.report-heading label,.report-filter label,dialog label,.extra-fields label,.rates-settings label{color:var(--muted)}
.time-inputs input,.extra-fields input,.extra-fields textarea,.rates-settings input,dialog input,dialog select,.report-heading input,.report-filter select{background:#fff;border-color:var(--border);color:var(--ink)}
.duration-header strong{color:var(--navy)}.duration-header button{background:#e4e7eb;color:var(--ink)}
.duration-chips button,.duration-chips button:nth-child(n){background:var(--navy);border-color:var(--navy);color:#fff}
.duration-chips button:active,.duration-chips button:nth-child(n):active{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.feedback-controls button{background:#e4e7eb;color:var(--ink)}.feedback-controls button[aria-pressed=true]{background:var(--petrol);color:#fff}
.time-roller{background:var(--navy);border:0}.time-roller.is-dragging{background:#173b57;box-shadow:inset 0 0 0 2px var(--cobalt)}
.roller-values strong,.roller-values span{color:#fff}.roller-ticks{background-image:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 15px);opacity:.7}
.roller-marker{background:var(--gold)}.time-roller.feedback-pulse .roller-marker{background:#fff;box-shadow:0 0 0 4px #f5b70080}
.roller-actions>button{background:var(--cobalt);color:#fff}
.compact-detail>summary{color:var(--ink)}.compact-detail>summary:before{color:var(--cobalt)}
.studio-picker button{background:#fff;border-color:var(--border);color:var(--ink)}.studio-picker .is-selected{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.speech-button{background:var(--petrol);border-color:var(--petrol);color:#fff}.speech-button.is-listening{background:#a61b29;border-color:#a61b29;color:#fff}
.note-wrap textarea{color:var(--ink)}.note-wrap textarea::placeholder{color:var(--muted)}
.sticky-book{background:#f3f4f6f5}.book-button,.login form button,.report-filter button,.rates-settings button{background:var(--cobalt);color:#fff;box-shadow:none}
.book-button:disabled{background:#e4e7eb;color:var(--muted);box-shadow:none}
.stats-grid>div,.stats-grid>div:nth-child(n){background:#fff;border:1px solid var(--border);border-top:4px solid var(--navy)}
.stats-grid>div:nth-child(2){border-top-color:var(--petrol)}.stats-grid>div:last-child{border-top-color:var(--cobalt)}
.stats-grid span,.stats-grid small,.entry-card>span,.mileage-card>span,.entry-card small,.mileage-card small,.empty-state,#reportStatus{color:var(--muted)}
.stats-grid strong,.summary-row strong,.entry-card,.mileage-card{color:var(--navy)}.entry-card>b,.summary-row>span:last-child{color:var(--cobalt)}
.entry-card,.mileage-card{background:#fff;border-color:var(--border)}
.update-notice{background:var(--navy);color:#fff}.update-notice button{background:#fff;color:var(--navy)}
.login{background:var(--paper)}.login-card{background:#fff;border-color:var(--border)}.login input{background:#fff;color:var(--ink);border-color:var(--border)}.login-copy,.login label span{color:var(--muted)}
.mark{background:var(--cobalt)}.mark span:after{background:var(--gold)}
.main-action{background:var(--petrol);border-color:var(--petrol);box-shadow:0 8px 22px #102a4326}.main-action.is-stop{background:#a61b29;border-color:#a61b29;box-shadow:0 8px 22px #102a4326}
.dialog-heading button{background:#e4e7eb;color:var(--ink)}.skeleton{background:#e4e7eb}.block-panel{box-shadow:0 8px 26px #102a430d}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[role=slider]:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.time-roller.feedback-pulse .roller-marker{box-shadow:none}}
