html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; background: #f1f5f9 !important; }
html[data-theme="light"] body { background: #f1f5f9 !important; color: #0f172a !important; }
html[data-theme="light"] [class*="bg-slate-950"],
html[data-theme="light"] [class*="bg-slate-900"] { background-color: #ffffff !important; }
html[data-theme="light"] [class*="bg-slate-800"] { background-color: #f8fafc !important; }
html[data-theme="light"] [class*="bg-slate-700"] { background-color: #e2e8f0 !important; }
html[data-theme="light"] [class*="border-slate-800"],
html[data-theme="light"] [class*="border-slate-700"],
html[data-theme="light"] [class*="border-slate-600"] { border-color: #cbd5e1 !important; }
html[data-theme="light"] [class*="text-slate-100"],
html[data-theme="light"] [class*="text-slate-200"] { color: #1e293b !important; }
html[data-theme="light"] [class*="text-slate-300"] { color: #334155 !important; }
html[data-theme="light"] [class*="text-slate-400"] { color: #475569 !important; }
html[data-theme="light"] [class*="text-slate-500"] { color: #64748b !important; }
html[data-theme="light"] .text-white:not([class*="bg-blue-"]):not([class*="bg-cyan-"]):not([class*="bg-emerald-"]):not([class*="bg-red-"]):not([class*="bg-amber-"]):not([class*="bg-violet-"]):not([class*="bg-purple-"]) { color: #0f172a !important; }
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select { background-color: #ffffff !important; color: #0f172a !important; border-color: #cbd5e1 !important; }
html[data-theme="light"] option { background: #ffffff; color: #0f172a; }
html[data-theme="light"] [class*="bg-blue-950"] { background-color: #eff6ff !important; }
html[data-theme="light"] [class*="bg-cyan-950"] { background-color: #ecfeff !important; }
html[data-theme="light"] [class*="bg-emerald-950"] { background-color: #ecfdf5 !important; }
html[data-theme="light"] [class*="bg-amber-950"] { background-color: #fffbeb !important; }
html[data-theme="light"] [class*="bg-red-950"] { background-color: #fef2f2 !important; }
html[data-theme="light"] [class*="bg-violet-950"],
html[data-theme="light"] [class*="bg-purple-950"] { background-color: #f5f3ff !important; }
html[data-theme="light"] [class*="text-blue-100"],
html[data-theme="light"] [class*="text-blue-200"],
html[data-theme="light"] [class*="text-blue-300"] { color: #1d4ed8 !important; }
html[data-theme="light"] [class*="text-cyan-100"],
html[data-theme="light"] [class*="text-cyan-200"],
html[data-theme="light"] [class*="text-cyan-300"] { color: #0e7490 !important; }
html[data-theme="light"] [class*="text-emerald-100"],
html[data-theme="light"] [class*="text-emerald-200"],
html[data-theme="light"] [class*="text-emerald-300"] { color: #047857 !important; }
html[data-theme="light"] [class*="text-amber-100"],
html[data-theme="light"] [class*="text-amber-200"],
html[data-theme="light"] [class*="text-amber-300"] { color: #92400e !important; }
html[data-theme="light"] [class*="text-red-100"],
html[data-theme="light"] [class*="text-red-200"],
html[data-theme="light"] [class*="text-red-300"] { color: #b91c1c !important; }
html[data-theme="light"] [class*="text-violet-100"],
html[data-theme="light"] [class*="text-violet-200"],
html[data-theme="light"] [class*="text-violet-300"],
html[data-theme="light"] [class*="text-purple-100"],
html[data-theme="light"] [class*="text-purple-200"],
html[data-theme="light"] [class*="text-purple-300"] { color: #6d28d9 !important; }
html[data-theme="light"] [class*="fixed"][class*="inset-0"] { background-color: rgba(15, 23, 42, .58) !important; }
html[data-theme="light"] .theme-toggle-btn { background: #ffffff !important; color: #334155 !important; border-color: #cbd5e1 !important; }
html[data-theme="light"] .shadow-xl,
html[data-theme="light"] .shadow-2xl,
html[data-theme="light"] .shadow-lg { box-shadow: 0 12px 30px rgba(15, 23, 42, .10) !important; }

/* v2.3.5 - planner visuale */
@keyframes fidelity-danger-blink {
  0%, 100% { box-shadow: 0 0 0 rgba(239,68,68,0); filter: brightness(1); }
  50% { box-shadow: 0 0 34px rgba(239,68,68,.75); filter: brightness(1.28); }
}
.planner-danger-blink { animation: fidelity-danger-blink 1s ease-in-out infinite; }
.planner-scroll { max-height: 72vh; }
.planner-month-table { border-collapse: separate; border-spacing: 0; min-width: max-content; }
.planner-month-table th, .planner-month-table td { border-right: 1px solid rgba(71,85,105,.55); border-bottom: 1px solid rgba(71,85,105,.45); }
.planner-month-table thead th { position: sticky; top: 0; z-index: 20; background: rgb(15 23 42); }
.planner-month-table .planner-sticky-name { position: sticky; left: 0; z-index: 15; background: rgb(15 23 42); }
.planner-month-table thead .planner-sticky-name { z-index: 30; }
.planner-day-cell { min-width: 118px; width: 118px; min-height: 74px; }
.planner-day-cell:hover { outline: 2px solid rgba(96,165,250,.45); outline-offset: -2px; }

/* v2.3.5.3 - campi scheda completa personale */
.field-full {
  width: 100%;
  background: rgb(15 23 42);
  border: 1px solid rgb(51 65 85);
  border-radius: .5rem;
  padding: .5rem .75rem;
  color: white;
}
.field-full:focus {
  outline: none;
  border-color: rgb(59 130 246);
  box-shadow: 0 0 0 1px rgb(59 130 246 / .45);
}

/* v2.3.5.4: programma mensile ad assegnazione multipla e postazioni leggibili. */
.planner-multi-guide { padding: .75rem 1rem; border: 1px solid #355782; background: rgba(30,64,110,.25); border-radius: .75rem; color: #cbd5e1; font-size: .8rem; line-height: 1.6; }
.planner-multi-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap: .75rem; padding:.6rem .8rem; background:#101d32; border:1px solid #334155; border-radius:.65rem; }
.planner-multi-toolbar strong {color:#e2e8f0;min-width:12rem}
.planner-multi-toolbar button {border:1px solid #475569;border-radius:.5rem;padding:.4rem .7rem;color:#e2e8f0}
.planner-multi-toolbar button:disabled {opacity:.4;cursor:not-allowed}
.planner-replace {display:flex;gap:.4rem;align-items:center;font-size:.78rem;color:#fbbf24}
.planner-multi-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,330px);gap:.75rem;align-items:start;min-width:0}
.planner-multi-layout > #plannerMensileContenitore {width:100%;min-width:0;max-height:75vh;overscroll-behavior:contain}
.planner-multi-table {font-size:.72rem}
.planner-multi-table .planner-multi-day {min-width:105px;width:105px;text-align:center;padding:.5rem .25rem;vertical-align:middle}
.planner-multi-day strong {display:block;color:#f8fafc;font-size:.85rem}
.planner-multi-day small {display:block;color:#94a3b8}
.planner-multi-table .planner-weekend {background:#312335;color:#ffb4b4}
.planner-multi-table .planner-multi-person {min-width:215px;max-width:215px;width:215px;text-align:left;padding:.6rem .7rem}
.planner-multi-person-name {color:#f8fafc;font-size:.76rem;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.planner-multi-person small {display:block;color:#94a3b8;margin-top:.25rem;font-weight:normal}
.planner-multi-td {padding:2px;vertical-align:top}
.planner-pick-cell {width:103px;min-height:65px;padding:3px;display:flex;flex-direction:column;justify-content:center;gap:3px;cursor:cell;touch-action:pan-x pan-y;user-select:none;border-radius:.3rem;outline:1px solid transparent;outline-offset:-2px}
.planner-pick-cell:hover {background:#21344d;outline-color:#64748b}
.planner-pick-active,.planner-pick-active:hover {background:#1d4ed8!important;outline:3px solid #93c5fd!important;outline-offset:-3px!important}
.planner-pick-cell:focus-visible {outline:3px solid #fbbf24;outline-offset:-3px}
.planner-occupied:not(.planner-pick-active) {cursor:default}
.planner-multi-shift {display:flex;flex-direction:column;gap:2px;text-align:center;align-items:center;padding:.32rem .2rem;width:100%;border-width:1px;border-radius:.3rem;line-height:1.3;white-space:normal}
.planner-multi-shift strong {white-space:nowrap;font-size:.68rem}
.planner-multi-post {font-size:.59rem;line-height:1.3;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.planner-multi-empty {color:#64748b;font-size:1rem;opacity:.55;text-align:center}
.planner-multi-absence {font-size:.67rem;text-align:center;padding:.35rem .15rem;overflow-wrap:anywhere;font-weight:700;color:#fde68a;background:#713f12;border:1px solid #b45309;border-radius:.3rem}
.planner-catalogo {height:min(75vh,950px);min-width:0;display:flex;flex-direction:column;background:#0f172a;border:1px solid #475569;border-radius:.8rem;padding:.8rem;gap:.65rem;position:sticky;top:.5rem}
.planner-catalogo-head h4 {font-size:1rem;font-weight:800;color:#f8fafc}
.planner-catalogo-head p {font-size:.75rem;color:#94a3b8;line-height:1.4}
.planner-catalogo-search {background:#1e293b;border:1px solid #475569;color:#fff;border-radius:.5rem;padding:.65rem;width:100%;min-width:0;font-size:.82rem}
.planner-catalogo-manuale {background:#152338;border-radius:.45rem;border:1px solid #334155;padding:.5rem;font-size:.76rem;color:#e2e8f0}
.planner-custom-times {display:none;gap:.35rem;margin-top:.4rem;justify-content:space-between}
.planner-catalogo-manuale:has(input:checked) .planner-custom-times {display:flex}
.planner-custom-times input {display:block;background:#0f172a;color:#fff;border:1px solid #64748b;border-radius:.35rem;padding:.25rem;max-width:105px}
.planner-catalogo-list {flex:1;min-height:80px;overflow-y:auto;overscroll-behavior:contain;padding-right:.25rem;display:flex;flex-direction:column;gap:.5rem}
.planner-catalogo-card {padding:.55rem .6rem;background:#19263a;border:1px solid #334155;border-radius:.6rem;min-width:0}
.planner-catalogo-name {font-size:.79rem;color:#fff;font-weight:700;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.planner-catalogo-client {font-size:.68rem;color:#93c5fd;overflow-wrap:anywhere}
.planner-catalogo-address {font-size:.67rem;color:#94a3b8;overflow-wrap:anywhere;line-height:1.35;margin-top:.15rem}
.planner-catalogo-fasce {display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.45rem}
.planner-catalogo-time {border:1px solid #477bbf;background:#1e3a5f;color:#eff6ff;font-weight:700;font-size:.72rem;padding:.38rem .45rem;border-radius:.4rem;text-align:left}
.planner-catalogo-time:hover,.planner-catalogo-chosen {background:#1d4ed8;border-color:#93c5fd}
.planner-catalogo-time small {display:block;color:#bfdbfe;font-weight:400;font-size:.62rem}
.planner-causali {border-top:1px solid #334155;padding-top:.4rem;color:#cbd5e1;font-size:.73rem}
.planner-causali>div {display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}
.planner-causali button {background:#713f12;color:#fef08a;border:1px solid #a16207;border-radius:.4rem;padding:.3rem .45rem}
.planner-catalogo-bottom {border-top:1px solid #475569;padding-top:.65rem;display:grid;gap:.45rem}
#plannerCatalogoScelto {min-height:2rem;line-height:1.4;font-size:.78rem;color:#bfdbfe;overflow-wrap:anywhere}
#plannerMultiSalva {background:#2563eb;color:#fff;border-radius:.5rem;padding:.7rem;font-weight:800}
#plannerMultiSalva:disabled {background:#334155;color:#94a3b8;cursor:not-allowed}
.sedi-cards-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:.85rem;min-width:0}
.sede-operativa-card {background:#111e30;border:1px solid #475569;border-radius:.85rem;padding:1rem;min-width:0;display:flex;flex-direction:column;gap:.6rem}
.sede-card-client {font-size:.72rem;font-weight:700;color:#93c5fd;overflow-wrap:anywhere}
.sede-card-name {font-size:1rem;color:#f8fafc;line-height:1.45;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.sede-card-address {font-size:.81rem;color:#cbd5e1;line-height:1.5;overflow-wrap:anywhere}
.sede-card-meta {display:flex;flex-wrap:wrap;gap:.4rem;font-size:.72rem;color:#cbd5e1}
.sede-card-meta span {background:#23364c;border-radius:.35rem;padding:.22rem .5rem}
.sede-card-footer {border-top:1px solid #334155;display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding-top:.65rem;margin-top:auto}
.sede-card-footer details {font-size:.73rem;color:#94a3b8;overflow-wrap:anywhere;min-width:0}
.sede-card-footer summary {cursor:pointer}
.sede-card-edit {background:#1d4ed8;color:#fff;border-radius:.45rem;padding:.5rem .75rem;font-weight:700;font-size:.75rem;white-space:nowrap}
@media(max-width:1160px) {.planner-multi-layout {grid-template-columns:minmax(0,1fr)}.planner-catalogo {height:auto;max-height:85vh;position:static}.planner-catalogo-list {max-height:45vh}.planner-multi-layout > #plannerMensileContenitore {max-height:65vh}}
@media(max-width:640px) {.planner-multi-table .planner-multi-person {min-width:146px;max-width:146px;width:146px}.planner-multi-table .planner-multi-day {min-width:95px;width:95px}.planner-pick-cell {width:93px}.sedi-cards-grid {grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion: reduce) {.planner-multi-table * {scroll-behavior:auto}}

.planner-multi-mattina {background:#065f46;color:#ecfdf5;border-color:#34d399}
.planner-multi-pomeriggio {background:#155e75;color:#ecfeff;border-color:#67e8f9}
.planner-multi-notte {background:#172554;color:#dbeafe;border-color:#3b82f6}
.planner-multi-shift:hover {filter:brightness(1.14)}

/* Mensile compatto: un punto per turno; le informazioni sono nel dettaglio. */
.planner-multi-table .planner-multi-day {min-width:29px;width:29px;padding:.3rem 0}
.planner-multi-table .planner-multi-person {min-width:174px;max-width:174px;width:174px;padding:.35rem .5rem}
.planner-multi-person-name {font-size:.72rem;line-height:1.2}
.planner-multi-person small {font-size:.6rem;margin-top:2px}
.planner-multi-td {padding:1px;vertical-align:middle}
.planner-pick-cell {width:27px;min-height:36px;padding:0;gap:0;align-items:center}
.planner-dot {display:flex;align-items:center;justify-content:center;width:26px;height:28px;min-height:28px;background:transparent!important;border:0;cursor:pointer;border-radius:5px}
.planner-dot span {display:block;width:11px;height:11px;border-radius:50%;background:#16a34a;border:1px solid #4ade80;box-shadow:0 0 0 2px #16a34a20}
.planner-dot.planner-multi-pomeriggio span {background:#38bdf8;border-color:#a5f3fc}
.planner-dot.planner-multi-notte span {background:#1e40af;border-color:#818cf8}
.planner-dot:hover,.planner-dot:focus-visible {outline:2px solid #60a5fa;outline-offset:-2px}
.planner-rest-code {font-size:.65rem;font-weight:800;color:#facc15}
.planner-turno-tooltip {position:fixed;z-index:1000;width:280px;max-width:calc(100vw - 16px);padding:16px;background:#0f172a;color:#f1f5f9;border:1px solid #64748b;border-radius:12px;box-shadow:0 12px 40px #0008;display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere;font-size:13px}
.planner-turno-tooltip > strong {padding-right:22px}.planner-turno-tooltip > span {color:#94a3b8;font-size:12px}
.planner-turno-tooltip > b {color:#7dd3fc;font-size:20px}
.planner-tooltip-close {position:absolute;right:9px;top:5px;font-size:22px;padding:0 6px;color:inherit}
.planner-tooltip-edit {margin-top:5px;background:#1d4ed8;color:white;border-radius:6px;padding:8px}
html[data-theme="light"] .planner-turno-tooltip {background:white;color:#0f172a}
html[data-theme="light"] .planner-turno-tooltip > b {color:#075985}
html[data-theme="light"] .planner-rest-code {color:#854d0e}
@media(max-width:640px) {
 .planner-multi-table .planner-multi-person {min-width:138px;max-width:138px;width:138px}
 .planner-multi-table .planner-multi-day {min-width:29px;width:29px}
 .planner-pick-cell {width:27px}
}

/* v2.3.5.4.1: palette esplicita dei componenti planner in tema chiaro. */
html[data-theme="light"] .planner-legend-absence {background:#fef08a!important;color:#713f12!important;border-color:#ca8a04!important;font-weight:700}
html[data-theme="light"] .planner-multi-guide {color:#1e293b;background:#eff6ff;border-color:#93c5fd}
html[data-theme="light"] .planner-multi-toolbar {background:#f8fafc;border-color:#cbd5e1}
html[data-theme="light"] .planner-multi-toolbar strong {color:#0f172a}
html[data-theme="light"] .planner-multi-toolbar button {color:#1e293b;background:#fff;border-color:#94a3b8}
html[data-theme="light"] .planner-replace {color:#78350f}
html[data-theme="light"] .planner-catalogo {background:#fff;border-color:#cbd5e1}
html[data-theme="light"] .planner-catalogo-head h4,html[data-theme="light"] .planner-catalogo-name {color:#0f172a}
html[data-theme="light"] .planner-catalogo-head p,html[data-theme="light"] .planner-catalogo-address {color:#475569}
html[data-theme="light"] .planner-catalogo-card {background:#f8fafc;border-color:#cbd5e1}
html[data-theme="light"] .planner-catalogo-client {color:#1d4ed8}
html[data-theme="light"] .planner-catalogo-manuale {background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}
html[data-theme="light"] .planner-causali {color:#334155;border-color:#cbd5e1}
html[data-theme="light"] .planner-causali button,html[data-theme="light"] .planner-multi-absence {background:#fef08a;color:#713f12;border-color:#ca8a04}
html[data-theme="light"] #plannerCatalogoScelto {color:#1d4ed8}
html[data-theme="light"] .planner-multi-day strong,html[data-theme="light"] .planner-multi-person-name {color:#0f172a}
html[data-theme="light"] .planner-multi-day small,html[data-theme="light"] .planner-multi-person small {color:#475569}
html[data-theme="light"] .planner-multi-table .planner-weekend {background:#fee2e2;color:#7f1d1d}
html[data-theme="light"] .planner-month-table thead th,html[data-theme="light"] .planner-month-table .planner-sticky-name {background:#e2e8f0;color:#0f172a}
html[data-theme="light"] .planner-pick-cell:hover:not(.planner-pick-active) {background:#dbeafe}
html[data-theme="light"] .planner-pick-active,html[data-theme="light"] .planner-pick-active:hover {background:#1d4ed8!important;color:#fff!important}
html[data-theme="light"] .planner-catalogo-search,html[data-theme="light"] .planner-custom-times input {background:#fff!important;color:#0f172a!important;border-color:#94a3b8!important}
html[data-theme="light"] .sede-operativa-card {background:#fff;border-color:#cbd5e1}
html[data-theme="light"] .sede-card-client {color:#1d4ed8}
html[data-theme="light"] .sede-card-name {color:#0f172a}
html[data-theme="light"] .sede-card-address,html[data-theme="light"] .sede-card-meta {color:#334155}
html[data-theme="light"] .sede-card-meta span {background:#e2e8f0}
html[data-theme="light"] .sede-card-footer {border-color:#cbd5e1}

/* Selettore compatto riusabile in tutte le altre schermate: niente popup nativo a tutta pagina. */
.service-picker-wrapper {position:relative;min-width:0;width:100%;}
.service-picker-native {position:absolute!important;top:0;left:0;width:1px!important;height:1px!important;min-width:0!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important;overflow:hidden!important;}
.service-picker-trigger {display:block;width:100%;min-width:0;min-height:41px;padding:.55rem 2rem .55rem .75rem;text-align:left;line-height:1.4;white-space:normal;overflow-wrap:anywhere;position:relative;border:1px solid #475569;background:#0f172a;color:#f8fafc;border-radius:.55rem;cursor:pointer;font-size:.84rem;}
.service-picker-trigger::after {content:'⌄';position:absolute;right:.65rem;top:50%;transform:translateY(-50%);font-size:1.15rem;color:#93c5fd;}
.service-picker-trigger:hover {border-color:#60a5fa;}
.service-picker-trigger:focus-visible,.service-picker-invalid {outline:3px solid #60a5fa;outline-offset:2px;}
.service-picker-trigger:disabled {opacity:.55;cursor:not-allowed;}
.service-picker-popup {position:fixed;z-index:2147483600;display:flex;flex-direction:column;gap:.5rem;max-width:calc(100vw - 20px);padding:.7rem;background:#101d32;color:#f8fafc;border:1px solid #64748b;border-radius:.75rem;box-shadow:0 16px 45px rgba(0,0,0,.4);}
.service-picker-search {width:100%;min-width:0;padding:.65rem;border:1px solid #64748b;border-radius:.45rem;background:#1e293b;color:#fff;font-size:.88rem;flex-shrink:0;}
.service-picker-search:focus {outline:2px solid #60a5fa;outline-offset:1px;}
.service-picker-count {font-size:.72rem;color:#cbd5e1;flex-shrink:0;}
.service-picker-list {display:flex;flex-direction:column;min-height:0;overflow:auto;overscroll-behavior:contain;gap:3px;}
.service-picker-option {display:block;width:100%;padding:.65rem .7rem;text-align:left;font-size:.84rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere;flex-shrink:0;border:1px solid #334155;border-radius:.42rem;background:#1e293b;color:#f8fafc;cursor:pointer;}
.service-picker-option:hover,.service-picker-option:focus-visible {border-color:#60a5fa;background:#234a78;outline:none;}
.service-picker-option.is-selected {border-color:#60a5fa;background:#1d4ed8;color:#fff;font-weight:700;}
.service-picker-empty {padding:.85rem;color:#cbd5e1;font-size:.85rem;}
html[data-theme="light"] .service-picker-trigger {background:#fff;color:#0f172a;border-color:#94a3b8;}
html[data-theme="light"] .service-picker-trigger::after {color:#1d4ed8;}
html[data-theme="light"] .service-picker-popup {background:#fff;color:#0f172a;border-color:#94a3b8;box-shadow:0 16px 45px rgba(15,23,42,.2);}
html[data-theme="light"] .service-picker-search {background:#f8fafc!important;color:#0f172a!important;border-color:#94a3b8!important;}
html[data-theme="light"] .service-picker-count,html[data-theme="light"] .service-picker-empty {color:#475569;}
html[data-theme="light"] .service-picker-option {background:#f8fafc;color:#0f172a;border-color:#cbd5e1;}
html[data-theme="light"] .service-picker-option:hover,html[data-theme="light"] .service-picker-option:focus-visible {background:#dbeafe;border-color:#2563eb;}
html[data-theme="light"] .service-picker-option.is-selected {background:#1d4ed8;color:#fff;border-color:#1d4ed8;}
@media(max-width:640px){.service-picker-popup{max-height:calc(100dvh - 20px)!important}.service-picker-option{padding:.8rem .65rem}}
.service-picker-popup {box-sizing:border-box;}

/* v2.3.5.4.2 — tendine dipendenti, tabella turni compatta, pannelli richiudibili */
#tabTurni .turni-compact-table {font-size:.77rem;line-height:1.35;min-width:1180px;}
#tabTurni .turni-compact-table thead {font-size:.65rem;letter-spacing:.015em;}
#tabTurni .turni-compact-table th {padding:.65rem .6rem;}
#tabTurni .turni-compact-table td {padding:.5rem .6rem;vertical-align:middle;}
#tabTurni .turni-compact-table td:nth-child(2) {min-width:140px;max-width:195px;overflow-wrap:anywhere;}
#tabTurni .turni-compact-table td:nth-child(3) {min-width:220px;max-width:310px;overflow-wrap:anywhere;}
#tabTurni .turni-compact-table td:nth-child(3) > div {line-height:1.35;}
#tabTurni .turni-compact-table td:nth-child(9) .text-base {font-size:.85rem;gap:.65rem;}
.turni-sections-nav {display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.7rem .85rem;border:1px solid #475569;border-radius:.85rem;background:#1e293b;color:#e2e8f0;}
.turni-sections-nav strong {font-size:.8rem;margin-right:.15rem;}
.turni-sections-shortcut,.turni-sections-actions button {border:1px solid #475569;border-radius:.45rem;padding:.4rem .62rem;font-size:.76rem;font-weight:600;color:#dbeafe;background:#0f172a;cursor:pointer;}
.turni-sections-shortcut:hover,.turni-sections-actions button:hover {border-color:#60a5fa;background:#234a78;}
.turni-sections-actions {display:flex;gap:.35rem;margin-left:auto;}
.turni-accordion {min-width:0;border:1px solid #475569;border-radius:1rem;background:#1e293b;overflow:visible;scroll-margin-top:1rem;}
.turni-accordion-toggle {width:100%;display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;text-align:left;color:#f8fafc;background:transparent;font-weight:700;font-size:.9rem;cursor:pointer;}
.turni-accordion-toggle:hover {background:rgba(96,165,250,.1);}
.turni-accordion-toggle:focus-visible,.turni-sections-shortcut:focus-visible,.turni-sections-actions button:focus-visible {outline:3px solid #60a5fa;outline-offset:2px;}
.turni-accordion-toggle span {flex:1;}
.turni-accordion-chevron {transition:transform .16s ease;}
.turni-accordion.is-open .turni-accordion-chevron {transform:rotate(180deg);}
.turni-accordion-body {padding:.2rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem;min-width:0;}
.turni-accordion-body[hidden] {display:none!important;}
.turni-accordion-body > * {min-width:0;}
html[data-theme="light"] .turni-sections-nav,html[data-theme="light"] .turni-accordion {background:#fff;color:#0f172a;border-color:#cbd5e1;}
html[data-theme="light"] .turni-accordion-toggle {color:#0f172a;}
html[data-theme="light"] .turni-accordion-toggle:hover {background:#eff6ff;}
html[data-theme="light"] .turni-sections-shortcut,html[data-theme="light"] .turni-sections-actions button {background:#f8fafc;color:#1e3a8a;border-color:#cbd5e1;}
html[data-theme="light"] .turni-sections-shortcut:hover,html[data-theme="light"] .turni-sections-actions button:hover {background:#dbeafe;}
@media(max-width:640px){.turni-accordion-body{padding:.2rem .55rem .65rem}.turni-sections-actions{margin-left:0}.turni-sections-nav{gap:.35rem}}

.personale-planning {position:fixed;inset:0;margin:auto;width:min(680px,94vw);max-height:90vh;overflow:auto;border:1px solid #64748b;border-radius:16px;padding:24px;background:#0f172a;color:#f8fafc;}
.personale-planning::backdrop {background:#020617bb;}
.personale-planning h2 {font-size:1.35rem;font-weight:700;margin-bottom:16px;}
.personale-planning label {display:block;margin:10px 0;}
.personale-planning input,.personale-planning select {display:block;width:100%;padding:9px;background:#1e293b;color:#f8fafc;border:1px solid #64748b;border-radius:6px;}
.personale-planning fieldset {border:1px solid #64748b;border-radius:8px;padding:12px;margin-top:16px;}
.personale-planning p {font-size:13px;line-height:1.5;margin:8px 0;}
.personale-planning button,.planning-toolbar button {background:#0369a1;color:white;padding:8px 12px;border-radius:6px;margin:4px;}
.personale-planning button:disabled {opacity:.4;}
.personale-planning .planning-close {float:right;font-size:22px;background:transparent;}
.planning-preview {max-height:40vh;overflow:auto;font-size:13px;line-height:1.7;margin:15px 0;}
.planning-toolbar {display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:12px;font-size:13px;}
.planning-toolbar span {display:block;width:100%;color:#94a3b8;}

/* Il mese sfrutta tutta la larghezza; il catalogo resta subito sotto. */
.planner-multi-layout {grid-template-columns:minmax(0,1fr);}
.planner-multi-layout .planner-catalogo {position:static;height:auto;max-height:none;}
.planner-multi-layout .planner-catalogo-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:260px;overflow:auto;}

.paghe-dialog {width:96vw;max-width:1500px;}
.paghe-dialog details {margin:12px 0;padding:10px;border:1px solid #64748b;border-radius:8px;}
.paghe-dialog summary {cursor:pointer;font-weight:700;}
.paghe-fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;}
.paghe-scroll {overflow:auto;max-height:52vh;}
.paghe-grid {border-collapse:collapse;width:100%;font-size:12px;}
.paghe-grid td,.paghe-grid th {border:1px solid #64748b;padding:3px;white-space:nowrap;}
.paghe-grid th {position:sticky;top:0;background:#1e293b;z-index:1;}
.paghe-grid input {min-width:80px;margin:0;padding:5px;}
.paghe-grid input[type=number] {width:80px;}
.paghe-dialog input[type=checkbox] {display:inline;width:auto;min-width:initial;margin-right:8px;}
.paghe-dialog #pagheEsito {white-space:pre-line;max-height:150px;overflow:auto;color:#fbbf24;}
.paghe-actions {display:flex;flex-wrap:wrap;position:sticky;bottom:-24px;background:#0f172a;padding:8px;z-index:2;}

/* Elenco assegnazioni compatto per guardia. */
.turni-list-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;}
.turni-list-filters label {display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;min-width:0;}
.turni-list-filters select,.turni-list-filters input {width:100%;min-width:0;font-weight:400;}
.turni-filter-actions {grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.turni-list-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;font-size:13px;flex-wrap:wrap;}
.turni-list-toolbar button {padding:6px 10px;border:1px solid #64748b;border-radius:8px;margin-left:6px;}
.turni-guardie-list {padding:0 16px 16px;display:grid;gap:8px;}
.turni-guardia-group {border:1px solid #64748b;border-radius:10px;overflow:hidden;}
.turni-guardia-group summary {cursor:pointer;padding:13px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;list-style:none;}
.turni-guardia-group summary::before {content:'▸';}
.turni-guardia-group[open] summary::before {content:'▾';}
.turni-guardia-group summary:focus-visible {outline:2px solid #3b82f6;outline-offset:-3px;}
.turni-guardia-name {font-weight:700;flex:1;min-width:180px;}
.turni-guardia-name small {font-weight:400;opacity:.65;}
.turni-guardia-periodo {font-size:12px;opacity:.8;}
.turni-guardia-group th {padding:10px 12px;white-space:nowrap;}
.turni-guardia-group td {padding:9px 12px;border-top:1px solid #64748b44;}
@media(max-width:700px) {.turni-list-filters {grid-template-columns:repeat(2,minmax(0,1fr));}.turni-guardia-periodo {width:100%;padding-left:20px;}}
@media(max-width:380px) {.turni-list-filters {grid-template-columns:1fr;}}
