/* V24: a single accessible palette across the existing UI, without hiding critical status colors. */
:root{--v24-primary:#b64f7b;--v24-secondary:#f5dce7;--v24-background:#fff7fb;--v24-buttons:#b64f7b;--v24-cards:#fff;--v24-header:#b64f7b;--v24-navigation:#fff7fb;--v24-text:#58394b;--v24-btn-text:#fff;--v24-card-text:#58394b;--v24-muted:#796677}
@media screen{
 body.v24-unified:not(.v22-night){background:var(--v24-background)!important;color:var(--v24-text)!important}
 body.v24-unified:not(.v22-night) header{background:linear-gradient(110deg,var(--v24-header),color-mix(in srgb,var(--v24-header) 60%,white))!important;color:var(--v24-btn-text)!important}
 body.v24-unified:not(.v22-night) #appShell .card,body.v24-unified:not(.v22-night) #appShell .v13-card,body.v24-unified:not(.v22-night) #appShell .v15-card,body.v24-unified:not(.v22-night) #appShell .v16-card,body.v24-unified:not(.v22-night) #appShell .v22-category-item,body.v24-unified:not(.v22-night) #appShell .v24-settings-pane{background:var(--v24-cards)!important;color:var(--v24-card-text)!important;border-color:color-mix(in srgb,var(--v24-primary) 25%,white)!important}
 body.v24-unified:not(.v22-night) #appShell .nav,body.v24-unified:not(.v22-night) .v23-topbar,body.v24-unified:not(.v22-night) .v21-calendar-head{background:var(--v24-navigation)!important;border-color:color-mix(in srgb,var(--v24-primary) 24%,white)!important}
 body.v24-unified:not(.v22-night) #appShell .hint,body.v24-unified:not(.v22-night) #appShell .stat,body.v24-unified:not(.v22-night) #appShell .hero,body.v24-unified:not(.v22-night) #appShell .v22-master-helper,body.v24-unified:not(.v22-night) #appShell .v22-duplicate,body.v24-unified:not(.v22-night) #appShell .v16-entry{background:var(--v24-secondary)!important;color:var(--v24-text)!important}
 body.v24-unified:not(.v22-night) #appShell button:not(.secondary):not(.danger):not(.day):not(.shift-type-button):not(.shift-state-button):not(.stat-action):not(.home-overtime-tile):not(.home-hours-button):not(.note-open):not(.v19-check):not(.v21-icon-button),body.v24-unified:not(.v22-night) #appShell .nav button.active{background:var(--v24-buttons)!important;color:var(--v24-btn-text)!important}
 body.v24-unified:not(.v22-night) #appShell button.secondary,body.v24-unified:not(.v22-night) #appShell .nav button:not(.active){background:var(--v24-secondary)!important;color:var(--v24-text)!important}
 body.v24-unified:not(.v22-night) #appShell h2,body.v24-unified:not(.v22-night) #appShell h3,body.v24-unified:not(.v22-night) #appShell .v13-accordion>summary,body.v24-unified:not(.v22-night) .v23-topbar strong{color:var(--v24-text)!important}
 body.v24-unified:not(.v22-night) #appShell input:not([type=color]):not([type=checkbox]),body.v24-unified:not(.v22-night) #appShell select,body.v24-unified:not(.v22-night) #appShell textarea{background:var(--v24-cards)!important;border-color:color-mix(in srgb,var(--v24-primary) 40%,white)!important;color:var(--v24-card-text)!important}
 body.v24-unified:not(.v22-night) #appShell .muted{color:var(--v24-muted)!important}
 body.v24-unified:not(.v22-night) #appShell .accountBar{background:var(--v24-navigation)!important;color:var(--v24-text)!important;border-color:color-mix(in srgb,var(--v24-primary) 20%,white)!important}
 /* Work statuses deliberately keep their own significant semantic colors. */
 #calendarPage .day.only-planned{background:#d7f3df!important;color:#204d2d!important}
 #calendarPage .day.mixed-planned{border-color:#488b59!important}
 #appShell .notice,#appShell .v24-critical-sync{color:#793d17!important}
 #appShell .danger{background:#a6384c!important;color:white!important}
 #appShell .v24-calendar-shortcut{display:flex;justify-content:flex-end;margin:9px 0 3px}
 #appShell .v24-calendar-shortcut button{min-height:44px;padding:9px 14px;font-weight:750}
 #appShell .accountBar{padding:5px 8px!important;margin-bottom:5px!important;display:flex;align-items:center;gap:5px!important}
 #appShell .accountBar>div:first-child{flex:1 1 145px;min-width:0;overflow:hidden}
 #appShell #accountEmail{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}
 #appShell #cloudStatus{font-size:10.5px;line-height:1.25;overflow-wrap:normal;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 #appShell .accountBar button{flex:0 0 auto;min-height:43px;min-width:43px!important;padding:7px 8px!important;font-size:12px}
 #appShell #logout{white-space:nowrap}
 #v24SyncPlacement{min-height:46px}
 .v24-settings-pane{border:1px solid #ead4e1;border-radius:14px;padding:12px;margin:13px 0}
 .v24-settings-pane h3{margin:0 0 8px}
 .v24-theme-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .v24-theme-fields label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:8px;border:1px solid color-mix(in srgb,var(--v24-primary) 18%,white);border-radius:9px;font-size:12px;min-width:0}
 .v24-theme-fields input[type=color]{min-width:47px;width:47px;height:41px;padding:3px;flex:none}
 .v24-mini-preview{border-radius:15px;overflow:hidden;border:1px solid #c8bbc4;background:var(--v24-preview-bg,#fff7fb);color:var(--v24-preview-text,#58394b);margin:12px 0}
 .v24-mini-header{background:var(--v24-preview-header,#b64f7b);color:var(--v24-preview-headtext,#fff);padding:12px;font-weight:750}
 .v24-mini-card{background:var(--v24-preview-card,#fff);border-radius:10px;margin:10px;padding:12px;color:var(--v24-preview-text,#58394b)}
 .v24-mini-button{display:inline-block;padding:9px 14px;border-radius:9px;background:var(--v24-preview-button,#b64f7b);color:var(--v24-preview-btntext,#fff);margin-top:8px;font-weight:650}
 .v24-critical-sync{font-size:12px;line-height:1.5;padding:9px;border-radius:11px;background:#fff3d7;border:1px solid #e7c47d;margin:5px 0 9px}
 .v24-critical-sync[hidden],#v15NetPanel[hidden]{display:none!important}
 .v24-release-external{margin:8px 0}
 .v22-category-item{grid-template-columns:minmax(0,1fr) repeat(3,minmax(60px,auto))}
 #v13MasterPanel{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))!important}
 @media(max-width:390px){#appShell .accountBar{flex-wrap:nowrap!important}#appShell .accountBar button{font-size:0!important;min-width:43px!important}#appShell #v13OpenMaster::before{content:'🔐';font-size:20px}#appShell #openSettings::before{content:'⚙';font-size:20px}#appShell #logout::before{content:'⇥';font-size:21px}}
 @media(max-width:420px){.v22-category-item{grid-template-columns:1fr 1fr 1fr}.v22-category-item .v22-category-name{grid-column:1 / -1}}
 /* Minimal room for mobile navigation and safe areas (external Netlify badge disabled). */
 @media(max-width:760px){
 body.v23-shell-active:not(.v21-calendar-active) #appShell>.page:not([hidden]){padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;scroll-padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
 body.v23-shell-active:not(.v21-calendar-active) #appShell>.nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;z-index:40}
 body.v21-calendar-active #calendarPage,body.v21-calendar-active #dayEditorCard{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
 #v13MasterPanel .card:last-child{margin-bottom:12px}
 }
}
@media print{.v24-calendar-shortcut,.v24-settings-pane{display:none!important}}


/* Preserve status/absence colors but theme neutral calendar tiles, home actions and modals. */
@media screen{
 body.v24-unified:not(.v22-night) #calendarPage .day:not(.work):not(.only-planned):not(.mixed-planned):not(.ferie):not(.malattia):not(.permesso):not(.riposo):not(.fest){background:var(--v24-secondary)!important;color:var(--v24-card-text)!important}
 body.v24-unified:not(.v22-night) #calendarPage .day.selected{outline-color:var(--v24-primary)!important}
 body.v24-unified:not(.v22-night) #appShell .home-overtime-tile,body.v24-unified:not(.v22-night) #appShell .home-hours-button,body.v24-unified:not(.v22-night) #appShell .v21-icon-button,body.v24-unified:not(.v22-night) #appShell .stat-action{background:var(--v24-secondary)!important;color:var(--v24-text)!important;border-color:color-mix(in srgb,var(--v24-primary) 24%,white)!important}
 body.v24-unified:not(.v22-night) #v13GreetingInner{background:var(--v24-cards)!important;color:var(--v24-card-text)!important;border-color:var(--v24-primary)!important}
 body.v24-unified:not(.v22-night) #v13GreetingInner h2{color:var(--v24-text)!important}
 body.v24-unified:not(.v22-night) #v13GreetingInner button{background:var(--v24-buttons)!important;color:var(--v24-btn-text)!important}
}
