
:root{
  --bg:#f6f7fb; --card:#fff; --text:#1f2937; --muted:#6b7280;
  --primary:#4f46e5; --primary2:#7c3aed; --ok:#16a34a; --warn:#d97706; --bad:#dc2626;
  --line:#e5e7eb; --sidebar:#111827;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:var(--sidebar);color:#fff;padding:22px 16px}
.brand{font-weight:800;font-size:22px;margin-bottom:22px}
.nav button{width:100%;text-align:left;background:transparent;border:0;color:#cbd5e1;padding:11px 12px;border-radius:10px;margin:3px 0;cursor:pointer}
.nav button.active,.nav button:hover{background:#1f2937;color:#fff}
.main{padding:24px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.user{display:flex;gap:10px;align-items:center}
.badge{padding:4px 9px;border-radius:999px;font-size:12px;background:#eef2ff;color:#4338ca}
.grid{display:grid;gap:16px}
.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 3px 14px rgba(0,0,0,.04)}
.card h3{margin:0 0 10px}.muted{color:var(--muted)} .kpi{font-size:28px;font-weight:800}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{border:0;border-radius:10px;padding:10px 13px;background:var(--primary);color:white;cursor:pointer}
.btn.secondary{background:#eef2ff;color:#4338ca}.btn.warn{background:#fff7ed;color:#9a3412}.btn.bad{background:#fef2f2;color:#991b1b}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.table th{background:#f9fafb}
input,select{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.notice{padding:12px 14px;border-radius:12px;background:#eef2ff;color:#3730a3;margin:10px 0}
.ok{color:var(--ok)}.warntext{color:var(--warn)}.badtext{color:var(--bad)}
.hidden{display:none!important}
.loginWrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef2ff,#fdf4ff)}
.login{width:min(420px,92vw);background:white;padding:28px;border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.login h1{margin:0 0 6px}
.schedule{overflow:auto}.schedule table{min-width:900px}
.shift{display:inline-block;padding:5px 8px;border-radius:8px;font-weight:700;font-size:12px}
.M{background:#dcfce7;color:#166534}.P{background:#ffedd5;color:#9a3412}.N{background:#dbeafe;color:#1d4ed8}.S{background:#ede9fe;color:#6d28d9}.X{background:#f3f4f6;color:#374151}
@media(max-width:599px){.app{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2;padding:12px}.brand{margin:0 0 8px}.nav{display:flex;overflow:auto}.nav button{min-width:max-content}.main{padding:14px}}

.planningToolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.planningStatus{display:inline-block;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}
.planningStatus.draft{background:#f3f4f6;color:#374151}.planningStatus.approval{background:#ffedd5;color:#9a3412}.planningStatus.published{background:#dcfce7;color:#166534}
.planningTableWrap{padding:0;overflow:auto}.planningTable{min-width:1120px}.planningTable th,.planningTable td{text-align:center;vertical-align:middle}
.planningTable .stickyName{position:sticky;left:0;z-index:1;background:#fff;text-align:left;min-width:190px}.planningTable thead .stickyName{z-index:3;background:#f9fafb}
.planningTable td small,.planningTable th small{display:block;color:#6b7280;margin-top:3px}
.planCell{width:100%;min-width:88px;min-height:58px;border:0;border-radius:10px;padding:7px 5px;cursor:pointer}.planCell b{display:block}.planCell small{display:block;font-size:11px;margin-top:4px}
.planCell.M{background:#dcfce7;color:#166534}.planCell.P{background:#ffedd5;color:#9a3412}.planCell.N{background:#dbeafe;color:#1d4ed8}.planCell.R{background:#f3f4f6;color:#374151}
.planCell.vac{background:#ede9fe;color:#6d28d9;cursor:not-allowed}.planCell.absence{background:#fee2e2;color:#991b1b;cursor:not-allowed}
.planningBottom{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.planningAlert{padding:9px 10px;border-bottom:1px solid #f0f0f0}.planningAlert.bad{color:#991b1b}.planningAlert.warn{color:#9a3412}.planningAlert.ok{color:#166534}
@media(max-width:900px){.planningToolbar{align-items:flex-start;flex-direction:column}.planningBottom{grid-template-columns:1fr}}

/* V1.3.1 Editor enhancements */
.planningLegend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.legendItem{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  font-size:12px;
}
.planCell:focus{
  outline:3px solid rgba(79,70,229,.25);
  outline-offset:2px;
}
.planCell:hover:not(:disabled){
  filter:brightness(.98);
}

/* V1.3.2 visual shift selector */
.modalOverlay{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.58);
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
}
.modalCard{
  width:min(760px,96vw);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border-radius:20px;
  padding:20px;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}
.modalHeader,.modalFooter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.modalHeader{margin-bottom:14px}
.modalFooter{margin-top:18px;flex-wrap:wrap}
.modalClose{
  width:36px;height:36px;border:0;border-radius:50%;
  background:#f3f4f6;font-size:22px;cursor:pointer;
}
.currentShiftBox{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  margin-bottom:14px;
}
.shiftSelectorGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
}
.shiftChoice{
  text-align:left;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:14px;
  padding:14px;
  cursor:pointer;
}
.shiftChoice:hover{
  border-color:#4f46e5;
  box-shadow:0 0 0 3px rgba(79,70,229,.08);
}
.shiftChoiceTime{
  font-size:18px;
  font-weight:800;
}
.shiftChoiceName{
  margin-top:5px;
  color:#6b7280;
  font-size:13px;
}
.restChoice{background:#f9fafb}
.customChoice{background:#eef2ff}
.customHoursForm{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}
.customHoursForm label{
  display:grid;
  gap:7px;
  font-weight:700;
}
.customHoursForm input{
  width:100%;
}
.planCell.customShift{
  background:#e0e7ff;
  color:#3730a3;
}
@media(max-width:600px){
  .customHoursForm{grid-template-columns:1fr}
}

/* V1.3.4 Controlli automatici */
.controlSummary{
  display:grid;
  grid-template-columns:repeat(3,minmax(140px,1fr));
  gap:12px;
  margin:0 0 16px;
}
.controlKpi{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.controlKpi span{color:#6b7280}
.controlKpi b{font-size:22px}
@media(max-width:700px){
  .controlSummary{grid-template-columns:1fr}
}

/* V1.3.5 approval flow */
.scheduleFlowBanner{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border-radius:12px;
  margin-bottom:12px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  font-size:12px;
  font-weight:700;
}
.scheduleFlowBanner.draft span:first-child{color:#4338ca}
.scheduleFlowBanner.approval span:nth-child(3){color:#d97706}
.scheduleFlowBanner.published span:nth-child(5){color:#16a34a}
.approvalHistory{
  display:grid;
  gap:6px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
  font-size:12px;
}
.planCell:disabled:not(.vac):not(.absence){
  opacity:.85;
  cursor:not-allowed;
}

/* V1.3.6 Regole attive */
.autoControlList{
  display:grid;
  gap:8px;
}
.autoControlRow{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f9fafb;
  cursor:pointer;
  text-align:left;
}
.autoControlRow b{
  font-size:11px;
  color:#6b7280;
}
.autoControlRow.enabled{
  background:#ecfdf5;
  border-color:#bbf7d0;
}
.autoControlRow.enabled b{
  color:#166534;
}

/* V1.3.8 Periodi */
.periodOverview{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:12px;
}
.periodStrip{
  display:flex;
  gap:8px;
  overflow:auto;
  margin-bottom:12px;
}
.periodChip{
  min-width:180px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  padding:10px 12px;
  cursor:pointer;
  text-align:left;
}
.periodChip b,.periodChip span{display:block}
.periodChip span{margin-top:4px;color:#6b7280;font-size:12px}
.periodChip.active{
  border-color:#4f46e5;
  box-shadow:0 0 0 3px rgba(79,70,229,.08);
}

/* V1.3.9 Approvazioni */
.approvalInboxBadge{
  display:inline-block;
  min-width:22px;
  padding:3px 7px;
  border-radius:999px;
  background:#ffedd5;
  color:#9a3412;
  font-size:11px;
  font-weight:800;
  text-align:center;
}

/* V1.3.11 competenze & fabbisogno */
button:disabled{opacity:.5;cursor:not-allowed}

/* V1.3.12 Fabbisogno per periodo */
.dateDemandList{display:grid;gap:12px}
.dateDemandCard{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.dateDemandCard.override{
  border-color:#c7d2fe;
  background:#fafaff;
}
.dateDemandHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.dateDemandHeader span{
  display:block;
  margin-top:3px;
  color:#6b7280;
  font-size:12px;
}
.table.compact td,.table.compact th{padding:7px 8px}
@media(max-width:700px){
  .dateDemandHeader{align-items:flex-start;flex-direction:column}
}

/* V1.3.13 Editor visuale eccezioni fabbisogno */
.staffingEditorCard{
  width:min(980px,96vw);
}
.staffingEditorTable{
  margin-top:14px;
  display:grid;
  gap:8px;
}
.staffingEditorHead,
.staffingEditorRow{
  display:grid;
  grid-template-columns:130px 130px 110px minmax(220px,1fr) 48px;
  gap:10px;
  align-items:center;
}
.staffingEditorHead{
  font-size:12px;
  font-weight:800;
  color:#6b7280;
  padding:0 4px;
}
.staffingEditorRow{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
  background:#fff;
}
.staffingEditorRow input{
  width:100%;
}
.iconBtn{
  width:40px;
  height:40px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.iconBtn.danger:hover{
  background:#fef2f2;
}
@media(max-width:760px){
  .staffingEditorHead{display:none}
  .staffingEditorRow{
    grid-template-columns:1fr 1fr;
  }
  .staffingEditorRow > *:nth-child(3),
  .staffingEditorRow > *:nth-child(4){
    grid-column:1/-1;
  }
}

/* V1.3.16 Ferie ↔ Pianificazione */
.dangerNotice{
  border:1px solid #fecaca !important;
  background:#fff7f7 !important;
  color:#991b1b !important;
  margin-bottom:12px;
}

/* V1.3.19 Disponibilità temporanee */
.tempAvailHint{
  display:block;
  margin-top:3px;
  font-size:9px;
  color:#7c3aed;
  white-space:normal;
}

.coverage-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.coverage-dialog{position:relative;background:#fff;width:min(760px,96vw);max-height:90vh;overflow:auto;border-radius:16px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.coverage-x{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;cursor:pointer}
.coverage-title{font-size:22px;font-weight:800;margin:0 35px 15px 0}
.coverage-summary{background:#eef4ff;border-radius:12px;padding:14px 16px;line-height:1.8;margin-bottom:18px}
.coverage-sub{color:#667085;margin:3px 0 12px}
.coverage-card{display:grid;grid-template-columns:48px 1fr 95px auto;gap:12px;align-items:center;border:1px solid #e4e7ec;border-radius:12px;padding:13px;margin:10px 0}
.coverage-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8f5e9;font-weight:800}
.coverage-name{font-weight:800;margin-bottom:5px}.coverage-person{font-size:13px}
.coverage-best{font-size:11px;border:1px solid #9bd2a1;padding:2px 5px;border-radius:5px;color:#267a35}
.coverage-ok{color:#178a36;margin-top:5px}.coverage-ok span{color:#475467;margin-left:10px}
.coverage-score{border:1px solid #9bd2a1;border-radius:8px;padding:7px;text-align:center;color:#178a36}
.coverage-score small{display:block;font-size:10px}.coverage-score b{display:block;font-size:20px}
.coverage-excluded{background:#f8f8fa;border-radius:10px;padding:13px;margin-top:15px}.coverage-no{margin-top:7px;color:#b42318}
.coverage-info{background:#eef4ff;border-radius:10px;padding:12px;margin-top:14px;color:#344054}.coverage-actions{text-align:right;margin-top:14px}
@media(max-width:760px){.coverage-card{grid-template-columns:44px 1fr}.coverage-score,.coverage-card .btn{grid-column:2}}

/* V1.3.28 Generatore automatico */
.generatorPanel{border:1px solid #dbe4ff}
.generatorKpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.generatorKpis>div{background:#f8faff;border:1px solid #e4e9ff;border-radius:12px;padding:12px}
.generatorKpis span{display:block;color:#667085;font-size:12px;margin-bottom:4px}
.generatorKpis b{font-size:18px}
@media(max-width:760px){.generatorKpis{grid-template-columns:1fr}}

/* V1.3.31 Generatore automatico visibile */
.autoGenCard{
  margin:12px 0;
  border:1px solid #c7d2fe;
  background:#fbfcff;
}
.autoGenCard .sectionTitle{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
@media(max-width:760px){
  .autoGenCard .sectionTitle{align-items:flex-start;flex-direction:column}
}

/* V1.3.35 Generatore V2 + modal TurnoSmart */
.generator-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}
.generator-modal-dialog{position:relative;width:min(720px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.generator-modal-x{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}
.generator-modal-title{font-size:23px;font-weight:800;margin-right:36px}
.generator-modal-sub{color:#667085;margin-top:4px;margin-bottom:18px}
.generator-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:14px;line-height:1.6}
.generator-result-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.generator-result-kpis>div{border:1px solid #e4e7ec;border-radius:12px;padding:12px;background:#fafbff}
.generator-result-kpis span{display:block;color:#667085;font-size:12px}.generator-result-kpis b{font-size:19px}
.generator-day-block{border:1px solid #e4e7ec;border-radius:12px;margin:10px 0;overflow:hidden}
.generator-day-title{font-weight:800;background:#f8fafc;padding:10px 12px}
.generator-shortage-row{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid #eee}
.generator-shortage-row b{color:#b42318}
.generator-success-box{background:#ecfdf3;border:1px solid #abefc6;color:#067647;border-radius:12px;padding:14px;margin:16px 0;font-weight:700}
.generator-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:700px){.generator-result-kpis{grid-template-columns:1fr}.generator-shortage-row{align-items:flex-start;flex-direction:column}}

/* V1.3.40 - Analisi fattibilità */
.feasibility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.feasibility-grid>div{border:1px solid #e4e7ec;border-radius:12px;padding:12px;background:#fafbff}
.feasibility-grid span{display:block;color:#667085;font-size:12px;margin-bottom:4px}
.feasibility-grid b{font-size:18px}
.badText{color:#b42318}.goodText{color:#067647}
.notice.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
@media(max-width:700px){.feasibility-grid{grid-template-columns:1fr}}

/* V1.3.42 - Seconda passata straordinari */
.generator-overtime-box{
  margin:14px 0;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #c7d2fe;
  background:#eef2ff;
  color:#3730a3;
}
.generator-overtime-box b{display:block;margin-bottom:4px}
.generator-overtime-box span{font-size:13px;line-height:1.45}

/* V1.3.43 Doppio turno */
.doubleShiftCell{
  background:#f3e8ff!important;
  border-color:#d8b4fe!important;
}
.doubleShiftCell b{line-height:1.35}
.doubleChoice{border-color:#d8b4fe!important;background:#faf5ff!important}
.doubleEditorGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.doubleEditorBlock{border:1px solid #e4e7ec;border-radius:12px;padding:14px}
.doubleEditorBlock label{display:block;margin-top:10px}
.doubleEditorBlock input{width:100%;margin-top:4px}
.generator-double-box{
  margin:14px 0;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #d8b4fe;
  background:#faf5ff;
  color:#6b21a8;
}
.generator-double-box b{display:block;margin-bottom:4px}
.generator-double-box span{font-size:13px;line-height:1.45}
@media(max-width:700px){.doubleEditorGrid{grid-template-columns:1fr}}
/* V1.3.44 - proposte doppio turno, scelta Manager */
.double-proposal-box{margin:7px 10px 12px;padding:10px;border:1px solid #e4e7ec;border-radius:10px;background:#fafafa}
.double-proposal-box>b{display:block;margin-bottom:7px;font-size:12px}
.double-proposal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #eceff3;font-size:12px}
.double-proposal-row:first-of-type{border-top:0}.double-proposal-row .btn{padding:6px 9px;white-space:nowrap}
.double-proposal-empty{font-size:11px;color:#667085;margin:4px 10px 10px}

/* TurnoSmart V1.4 - Copertura live */
.liveCoverageCard{margin-top:16px}
.coveragePercent{
  min-width:76px;
  text-align:center;
  font-size:24px;
  font-weight:800;
  padding:8px 12px;
  border-radius:12px;
}
.coveragePercentOk{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.coveragePercentWarn{background:#fff7ed;color:#b54708;border:1px solid #fed7aa}
.coverageSummaryGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:14px 0;
}
.coverageSummaryGrid>div{
  border:1px solid #e4e7ec;
  border-radius:12px;
  padding:12px;
  background:#fafbff;
}
.coverageSummaryGrid span,.coverageLabel{
  display:block;
  color:#667085;
  font-size:12px;
  margin-bottom:4px;
}
.coverageSummaryGrid b{font-size:18px}
.coverageAllGood{
  background:#ecfdf3;
  border:1px solid #abefc6;
  color:#067647;
  border-radius:12px;
  padding:12px 14px;
  font-weight:700;
  margin-bottom:14px;
}
.coverageNeedsWork{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:14px;
}
.coverageDayGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.coverageDay{
  border:1px solid #e4e7ec;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.coverageDay.hasMissing{border-color:#fed7aa}
.coverageDayHeader{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  background:#f8fafc;
}
.coverageDay.hasMissing .coverageDayHeader{background:#fffaf5}
.coverageRows{padding:0 12px}
.coverageRow{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr 1fr;
  gap:10px;
  align-items:center;
  padding:9px 0;
  border-top:1px solid #f0f1f3;
}
.coverageRow:first-child{border-top:0}
.coverageTime{font-weight:700}
.coverageGood{color:#067647;font-weight:700}
.coverageExtra{color:#175cd3;font-weight:700}
.coverageBad{color:#b42318;font-weight:700}
.coverageCheck{color:#8a5a00;font-weight:700}
.coverageGoodText{color:#067647;font-weight:700}
.coverageBadText{color:#b42318;font-weight:700}
@media(max-width:900px){
  .coverageSummaryGrid{grid-template-columns:repeat(2,1fr)}
  .coverageDayGrid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .coverageRow{grid-template-columns:1fr 1fr}
}

.readonlyTag{display:inline-block;padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:600}

.absenceModalCard{max-width:620px;width:min(620px,calc(100vw - 32px))}
.absenceFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.absenceFormGrid label{font-weight:600;font-size:13px}
.absenceFormGrid select,.absenceFormGrid input{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;box-sizing:border-box}
.formError{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fef3f2;border:1px solid #fecdca;color:#b42318;font-size:13px}
@media(max-width:650px){.absenceFormGrid{grid-template-columns:1fr}}

/* V1.4 COMPLETA — UI consolidata */
.tsSystemOverlay{z-index:12000}
.tsMessageCard{max-width:520px;width:min(520px,calc(100vw - 32px))}
.tsMessageText{line-height:1.55;padding:8px 0 4px;white-space:normal}
.appFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.appFormGrid.oneCol{grid-template-columns:1fr}
.appFormGrid label{font-size:13px;font-weight:700;color:#344054}
.appFormGrid input,.appFormGrid select,.appFormGrid textarea{
 width:100%;box-sizing:border-box;margin-top:6px;padding:10px 11px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;font:inherit
}
.appFormGrid textarea{resize:vertical;min-height:90px}
.planningAuditCard .table td{vertical-align:top}
.planningAuditCard .table{font-size:12px}
.draftHint{font-size:12px;color:#667085;margin-top:8px}
@media(max-width:650px){.appFormGrid{grid-template-columns:1fr}}

/* TurnoSmart V1.5 */
.employeeStatusLegend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.statusDot{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}
.statusDot.attivo{background:#ecfdf3;color:#067647}.statusDot.sospeso{background:#fff7ed;color:#b54708}.statusDot.cessato{background:#fef3f2;color:#b42318}
.inactiveEmployeeRow{opacity:.65;background:#fafafa}
.skillBoxV15{border:1px solid #e4e7ec;border-radius:12px;padding:14px;margin:14px 0}
.skillCheckGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.skillCheck{font-weight:500!important}
.skillCatalogRow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f1f3;padding:8px 0}
.openingGridV15{border:1px solid #e4e7ec;border-radius:12px;padding:12px;margin-top:12px}.openingHeadV15,.openingRowV15{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:center;padding:6px}.openingRowV15 input{padding:8px;border:1px solid #d0d5dd;border-radius:8px}
.periodRulePill{background:#eef2ff;color:#3730a3;padding:8px 12px;border-radius:999px;font-weight:700}
.monteOreCardV15 .table td,.monteOreCardV15 .table th{white-space:nowrap}
.auditV15Card .table{font-size:12px}
@media(max-width:800px){.skillCheckGrid{grid-template-columns:repeat(2,1fr)}.openingHeadV15,.openingRowV15{grid-template-columns:1fr 1fr 1fr}}

/* V1.5 final corrections */
.planCell.employmentBlocked{background:#252b33!important;color:#fff!important;border-color:#252b33!important}
.planCell.employmentBlocked small{color:#d0d5dd!important}
.workModeBoxV15{border:1px solid #e4e7ec;border-radius:12px;padding:12px;margin:12px 0}
.weekdayChecks{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.weekdayChecks label{font-weight:600}
.activityFiltersV15{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:14px 0}
.activityFiltersV15 label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}
.activityFiltersV15 input,.activityFiltersV15 select{padding:9px;border:1px solid #d0d5dd;border-radius:8px;background:#fff}
.skillDemandGridV15{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;margin-top:12px}
.skillDemandV15{display:grid;grid-template-columns:auto 1fr 80px;align-items:center;gap:8px;border:1px solid #e4e7ec;border-radius:10px;padding:9px}
.skillDemandV15 input[type=number]{padding:7px;border:1px solid #d0d5dd;border-radius:7px}
.skillPickBtnV15{max-width:240px;white-space:normal;text-align:left}
@media(max-width:800px){.activityFiltersV15{grid-template-columns:1fr 1fr}.skillDemandGridV15{grid-template-columns:1fr}}


/* V1.5 chiusura visuale: due soli pannelli principali */
.controlSummary.controlSummaryTwoV15{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px !important;
  align-items:start;
}
.controlSummary.controlSummaryTwoV15 > *{
  min-width:0;
  width:100%;
}
.planningProblemsBottomV15{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:12px 0 6px;
  font-size:14px;
  color:#667085;
}
.planningProblemsBottomV15 b{
  display:inline-flex;
  min-width:28px;
  height:28px;
  padding:0 8px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-size:15px;
}
.planningProblemsBottomV15 .problemsOkV15{
  background:#ecfdf3;
  color:#027a48;
}
.planningProblemsBottomV15 .problemsBadV15{
  background:#fef3f2;
  color:#b42318;
}
@media(max-width:900px){
  .controlSummary.controlSummaryTwoV15{
    grid-template-columns:1fr !important;
  }
}

/* TurnoSmart V1.6 */
.v16Ops{margin-top:16px}.v16AlertGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.v16Alert{padding:12px;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:10px;align-items:center}.v16Alert b{font-size:20px}.v16Alert.bad{background:#fff7ed}.v16Alert.warn{background:#fffbeb}.v16Alert.ok{background:#f0fdf4}.v16DayKpis{margin-bottom:16px}
@media print{
 body.printPlanningV16 .sidebar,body.printPlanningV16 header,body.printPlanningV16 .planningToolbar .row,body.printPlanningV16 .generatorPanel,body.printPlanningV16 .planningBottom,body.printPlanningV16 .planningProblemsBottomV15{display:none!important}
 body.printPlanningV16 .main,body.printPlanningV16 main,body.printPlanningV16 #content{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
 body.printPlanningV16 .planningTableWrap{overflow:visible!important;box-shadow:none!important;border:0!important}
 body.printPlanningV16 .planningTable{font-size:9pt!important;width:100%!important}
 body.printPlanningV16 .planningLegend{page-break-inside:avoid}
}

/* V1.6 final consolidated */
.dashboardKpiV16{width:100%;text-align:left;border:1px solid var(--border,#e5e7eb);cursor:pointer;font:inherit;color:inherit;background:var(--card,#fff)}
.dashboardKpiV16:hover,.dashboardActionV16:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.08)}
.dashboardKpiV16 small,.dashboardActionV16 small{display:block;margin-top:8px;opacity:.7}
.dashboardActionV16{width:100%;border:0;text-align:left;cursor:pointer;font:inherit}
.planCell.availabilityConflict{background:#fff1f2!important;border:1px solid #ef4444!important;color:#991b1b!important}
.planCell.availabilityConflict small{color:#991b1b!important}

/* TurnoSmart V1 FINAL - Worker published month/history + operational absences */
.workerTurnsHeroV1,.workerMonthNavV1,.workerWeekHeaderV1{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.workerMonthNavV1{text-align:center;margin-top:14px}
.workerMonthNavV1 h3,.workerWeekHeaderV1 h3{margin:4px 0}
.workerWeekV1{margin-top:14px}
.workerDaysGridV1{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;margin-top:14px;overflow-x:auto}
.workerDayV1{padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;min-width:120px}
.workerDayV1 b{display:block;margin-top:8px;font-size:15px}
.workerHistoryMonthsV1{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:14px}
.workerHistoryMonthV1{min-height:135px}
@media(max-width:900px){.workerDaysGridV1{grid-template-columns:repeat(7,140px)}}

/* =========================================================
   TurnoSmart V1 FINAL — Login Corporativo Profesional
   ========================================================= */
.corporateLoginV1{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  background:
    radial-gradient(circle at 84% 12%, rgba(79,70,229,.10), transparent 28%),
    radial-gradient(circle at 15% 90%, rgba(37,99,235,.08), transparent 28%),
    #f4f7fb;
}
.corporateLoginShellV1{
  width:min(1120px,96vw);
  min-height:650px;
  display:grid;
  grid-template-columns:44% 56%;
  background:#fff;
  border:1px solid #e7ebf2;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 26px 70px rgba(15,23,42,.14);
}
.corporateLoginBrandV1{
  position:relative;
  padding:64px 54px 48px;
  background:
    linear-gradient(150deg,rgba(30,64,175,.28),transparent 45%),
    linear-gradient(180deg,#071a36 0%,#0a2348 58%,#071a36 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
}
.corporateLoginBrandV1:after{
  content:"";
  position:absolute;
  width:320px;height:320px;border-radius:50%;
  right:-160px;bottom:-120px;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018);
}
.corporateBrandMarkV1{
  width:62px;height:62px;color:#4f8cff;
  display:flex;align-items:center;justify-content:center;
}
.corporateBrandMarkV1 svg{width:100%;height:100%}
.corporateBrandMarkV1.small{width:42px;height:42px}
.corporateBrandNameV1{
  margin-top:16px;
  font-size:38px;
  line-height:1;
  font-weight:800;
  letter-spacing:-1.4px;
}
.corporateBrandNameV1 span{color:#4f8cff}
.corporateBrandNameV1.dark{color:#13213a;font-size:26px;margin:0}
.corporateBrandTaglineV1{
  margin:22px 0 44px;
  font-size:18px;
  line-height:1.55;
  color:#cbd8ec;
}
.corporateBenefitsV1{display:grid;gap:20px;margin-top:8px;z-index:1}
.corporateBenefitsV1>div{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.corporateBenefitsV1>div>span{
  width:26px;height:26px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(79,140,255,.15);color:#7eb0ff;font-weight:800;
}
.corporateBenefitsV1 p{margin:0;color:#f8fbff}
.corporateBenefitsV1 small{display:block;color:#9fb0c9;margin-top:4px;line-height:1.45;font-size:13px}
.corporateBrandFootV1{margin-top:auto;color:#7186a6;font-size:12px;letter-spacing:.04em;z-index:1}
.corporateLoginFormV1{display:flex;align-items:center;justify-content:center;padding:52px 64px;background:#fff}
.corporateLoginFormInnerV1{width:min(470px,100%)}
.corporateMobileBrandV1{display:none;align-items:center;gap:10px;margin-bottom:34px}
.corporateWelcomeV1{margin-bottom:34px}
.corporateEyebrowV1{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;color:#2563eb;margin-bottom:10px}
.corporateWelcomeV1 h1{font-size:34px;line-height:1.1;color:#14213a;margin:0 0 10px}
.corporateWelcomeV1 p{margin:0;color:#718096;font-size:15px}
.corporateLoginFieldsV1{display:grid;gap:10px}
.corporateLoginFieldsV1>label{font-size:13px;font-weight:700;color:#344054;margin-top:8px}
.corporateInputV1{
  height:52px;border:1px solid #d8dee9;border-radius:11px;
  display:flex;align-items:center;gap:10px;padding:0 13px;background:#fff;
  transition:.18s ease;
}
.corporateInputV1:focus-within{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.10)}
.corporateInputV1>span{font-size:15px;opacity:.65}
.corporateInputV1 input{
  flex:1;border:0!important;outline:none!important;padding:0!important;
  min-width:0;background:transparent!important;color:#172033;font-size:15px;
}
.corporateInputV1 input::placeholder{color:#a1aaba}
.passwordEyeV1{border:0;background:transparent;color:#7a879c;cursor:pointer;padding:5px;font-size:16px}
.corporateAccessBtnV1{
  margin-top:22px;height:52px;border:0;border-radius:10px;
  font:inherit;font-weight:700;color:#fff;cursor:pointer;
  background:linear-gradient(90deg,#2563eb,#1d4ed8);
  box-shadow:0 8px 20px rgba(37,99,235,.22);
  transition:.18s ease;
}
.corporateAccessBtnV1:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(37,99,235,.28)}
.corporateSecurityV1{
  display:flex;gap:10px;align-items:flex-start;
  margin-top:28px;padding:14px 15px;border-radius:10px;
  background:#f7f9fc;color:#667085;font-size:13px;
}
.corporateSecurityV1 p{margin:0}.corporateSecurityV1 small{color:#8994a6}
.corporateCopyrightV1{text-align:center;color:#98a2b3;font-size:12px;margin-top:34px}
@media(max-width:820px){
  .corporateLoginV1{padding:18px}
  .corporateLoginShellV1{grid-template-columns:1fr;min-height:auto}
  .corporateLoginBrandV1{display:none}
  .corporateLoginFormV1{padding:42px 28px}
  .corporateMobileBrandV1{display:flex}
}
@media(max-width:480px){
  .corporateLoginV1{padding:0;background:#fff}
  .corporateLoginShellV1{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}
  .corporateLoginFormV1{padding:34px 22px}
  .corporateWelcomeV1 h1{font-size:30px}
}

/* TurnoSmart V1 Pilot — Le mie ore */
.workerHoursHeroV1{display:flex;justify-content:space-between;align-items:center;gap:16px}
.workerHoursHeroV1 h3{margin:0 0 4px}.workerHoursHeroV1 p{margin:0}
.workerHoursTabsV1{display:grid;grid-template-columns:1fr 1fr;max-width:560px;margin:16px auto;gap:0;background:#eef2f7;border-radius:12px;padding:3px}
.workerHoursTabsV1 button{border:0;background:transparent;border-radius:9px;padding:12px;font-weight:800;cursor:pointer;color:#344054}
.workerHoursTabsV1 button.active{background:#123b72;color:#fff;box-shadow:0 2px 8px rgba(18,59,114,.18)}
.workerHoursNavV1{display:flex;justify-content:space-between;align-items:center;text-align:center;gap:12px}.workerHoursNavV1 h3{margin:3px 0;text-transform:capitalize}
.workerHoursSummaryV1{margin-top:14px}.workerHoursKpisV1{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:14px}
.workerHoursKpisV1>div{padding:10px 16px;border-right:1px solid #e6eaf0}.workerHoursKpisV1>div:last-child{border-right:0}.workerHoursKpisV1 span{display:block;font-size:11px;font-weight:800;color:#667085;margin-bottom:7px}.workerHoursKpisV1 b{font-size:24px;color:#163e73}
.workerHoursKpisV1 .workerHoursNegativeV1{color:#d92d20}.workerHoursKpisV1 .workerHoursPositiveV1{color:#16803c}
.workerHoursProgressV1{height:9px;background:#e9edf3;border-radius:999px;overflow:hidden;margin:14px 16px 2px}.workerHoursProgressV1 i{display:block;height:100%;background:#2468b5;border-radius:999px}
.workerHoursDetailV1{display:grid;gap:10px;margin-top:12px}.workerHoursDetailV1>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f4}.workerHoursDetailV1>div:last-child{border-bottom:0}.workerHoursNoteV1{font-size:12px;margin:14px 0 0}
.workerHoursDaysV1{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:9px;overflow-x:auto;margin-top:12px}.workerHoursDaysV1>div{border:1px solid #e3e8ef;border-radius:10px;padding:11px;min-width:105px}.workerHoursDaysV1 span,.workerHoursDaysV1 small{display:block}.workerHoursDaysV1 span{font-size:11px;color:#667085;font-weight:800}.workerHoursDaysV1 b{display:block;font-size:18px;margin:6px 0}.workerHoursDaysV1 small{font-size:11px;color:#667085}
@media(max-width:700px){.workerHoursHeroV1{align-items:flex-start;flex-direction:column}.workerHoursKpisV1{grid-template-columns:1fr 1fr}.workerHoursKpisV1>div{border-right:0;border-bottom:1px solid #e6eaf0}.workerHoursKpisV1 b{font-size:20px}.workerHoursDaysV1{grid-template-columns:repeat(7,120px)}}

/* Pilot Le mie ore v2: riepilogo rapido in I miei turni */
.workerHoursQuickV1{margin-top:14px}
.workerHoursQuickHeadV1{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.workerHoursQuickHeadV1 h3{margin:3px 0 0}
.workerHoursQuickGridV1{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.workerHoursQuickGridV1>div{border:1px solid #e3e8ef;border-radius:12px;padding:14px;background:#fbfcfe}
.workerHoursQuickGridV1 span,.workerHoursQuickGridV1 small{display:block}
.workerHoursQuickGridV1 span{font-size:11px;font-weight:800;color:#667085}
.workerHoursQuickGridV1 small{margin:4px 0 10px;color:#667085}
.workerHoursQuickGridV1 b{font-size:22px;color:#163e73}
.workerHoursQuickGridV1 b em{font-size:14px;font-style:normal;font-weight:700;color:#667085}
.workerHoursQuickGridV1 strong{display:block;margin-top:7px;font-size:16px;color:#344054}
.workerHoursQuickGridV1 .workerHoursNegativeV1{color:#d92d20}
.workerHoursQuickGridV1 .workerHoursPositiveV1{color:#16803c}
@media(max-width:700px){.workerHoursQuickGridV1{grid-template-columns:1fr}.workerHoursQuickGridV1 b{font-size:20px}}

/* TurnoSmart mobile responsive pilot 2026-08-30 */
@media (max-width: 700px){
  body{font-size:15px;overflow-x:hidden}
  .app{display:block;min-height:100vh}
  .sidebar{position:sticky;top:0;z-index:50;padding:10px 12px;background:var(--sidebar);box-shadow:0 2px 10px rgba(0,0,0,.12)}
  .brand{font-size:18px;margin:0 0 8px}
  .nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav button{flex:0 0 auto;width:auto;min-width:auto;padding:9px 11px;margin:0;border-radius:9px;font-size:13px;white-space:nowrap}
  .main{padding:14px 10px 28px;max-width:100vw;overflow:hidden}
  .topbar{align-items:flex-start;margin-bottom:14px;gap:8px}.topbar h2{font-size:23px;margin:0}.topbar .muted{font-size:13px}
  .user{gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge{font-size:11px;padding:5px 8px}
  .card{border-radius:14px;padding:14px}.cards{grid-template-columns:1fr 1fr;gap:10px}.kpi{font-size:24px}
  .row{gap:8px}.btn{min-height:42px;padding:10px 12px}
  input,select{min-height:44px;font-size:16px;max-width:100%}.formgrid{grid-template-columns:1fr}
  .table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{white-space:nowrap}
  .schedule{margin-left:-4px;margin-right:-4px}.schedule table{min-width:820px}
  .modalOverlay{padding:8px;align-items:end}.modalCard{width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding:16px}.modalHeader{align-items:flex-start}.modalFooter{position:sticky;bottom:-16px;background:#fff;padding:12px 0 16px;z-index:2}
  .shiftSelectorGrid{grid-template-columns:1fr 1fr}.shiftChoice{padding:12px}.shiftChoiceTime{font-size:16px}
  .planningToolbar{gap:10px}.planningTableWrap{margin-left:-14px;margin-right:-14px;border-radius:0}.planningTable .stickyName{min-width:145px}
  .workerHoursHeroV1{gap:10px}.workerHoursTabsV1{width:100%;margin:12px auto}.workerHoursTabsV1 button{min-height:44px}
  .workerHoursNavV1{padding:12px 10px}.workerHoursNavV1 h3{font-size:17px}
  .workerHoursKpisV1{grid-template-columns:1fr 1fr}.workerHoursKpisV1>div{padding:11px 10px}.workerHoursKpisV1 b{font-size:20px}
  .workerHoursDaysV1{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:8px}.workerHoursDaysV1>div{min-width:0;padding:10px}.workerHoursDaysV1 b{font-size:17px}
  .workerHoursQuickGridV1{grid-template-columns:1fr;gap:9px}.workerHoursQuickGridV1>div{padding:12px}.workerHoursQuickGridV1 b{font-size:22px}
}
@media (max-width: 430px){
  .main{padding:12px 9px 24px}.cards{grid-template-columns:1fr}.topbar{flex-direction:column}.user{width:100%;justify-content:space-between}
  .card{padding:12px}.workerHoursKpisV1{grid-template-columns:1fr 1fr}.workerHoursDaysV1{grid-template-columns:1fr 1fr}
  .shiftSelectorGrid{grid-template-columns:1fr}.corporateLoginFormV1{padding:28px 20px}
}

/* TurnoSmart Multiempresa V1 */
.supportBackV2{width:100%;margin:0 0 12px;padding:11px 12px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:#fff;color:#123;cursor:pointer;font-weight:700}
@media (max-width: 760px){.supportBackV2{font-size:14px;padding:10px}.formGrid{grid-template-columns:1fr!important}}

/* V26 • accessi e cambi turno */
.linkBtnV26{border:0;background:transparent;color:var(--primary,#2559d6);cursor:pointer;text-align:right;padding:6px 0;font-weight:700}
.miniBtnV26{margin-top:8px;border:1px solid #d5dbea;background:#fff;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700;cursor:pointer}
.workerDayV1 .miniBtnV26{display:block;width:100%}
.btn.danger{background:#b42318;color:#fff;border-color:#b42318}
textarea#swapNoteV26{min-height:80px;resize:vertical}
@media(max-width:720px){.modalFooter .btn{width:100%;margin-top:6px}.sectionTitle{gap:10px;align-items:flex-start}.miniBtnV26{min-height:38px}}


/* TurnoSmart V35 • Preferenze organizzative dipendente */
.orgProfileV35{display:grid;gap:14px}
.orgProfileHeroV35{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0 10px;border-bottom:1px solid #e5eaf1}
.orgProfileNameV35{font-size:22px;font-weight:850;color:#102a56;margin-bottom:4px}
.orgProfileNoticeV35{border-left:4px solid #2f6bff;background:#eef4ff;color:#173b70}
.orgProfileSectionV35{border:1px solid #e1e7f0;border-radius:12px;padding:13px;background:#fbfcfe}
.orgProfileSectionV35 h4{margin:0 0 4px;color:#173b70}.orgProfileSectionV35 p{margin:0 0 10px}
.orgShiftGridV35{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.orgShiftChipV35{position:relative;cursor:pointer}.orgShiftChipV35 input{position:absolute;opacity:0;pointer-events:none}
.orgShiftChipV35 span{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:9px 12px;border:1px solid #d7deea;border-radius:9px;background:#fff;font-weight:800;color:#344054;transition:.15s ease}
.orgShiftChipV35.selected span,.orgShiftChipV35:has(input:checked) span{background:#e8f1ff;border-color:#2f6bff;color:#174ba6;box-shadow:0 0 0 1px rgba(47,107,255,.08)}
.orgShiftChipV35:has(input:disabled){cursor:default}.orgShiftChipV35:has(input:disabled) span{opacity:.85}
.orgNotesGridV35 textarea{min-height:92px;resize:vertical}
.orgSensitiveV35{padding:10px 12px;border:1px solid #f0d4a8;background:#fff8eb;border-radius:10px;color:#7a4c00;font-size:13px}
.orgUpdatedV35{text-align:right;font-size:12px}
@media(max-width:700px){.orgProfileHeroV35{align-items:flex-start;flex-direction:column}.orgShiftChipV35 span{min-width:48px;padding:10px}.orgNotesGridV35{grid-template-columns:1fr!important}}

/* V37 — RSA / Sanitario */
.rsaAreaChipsV37{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.rsaAreaChipV37{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #dbe3f0;border-radius:12px;background:#f8fafc}.rsaDailyV37{margin-top:16px}.rsaDailyV37 select.input{min-width:170px}
@media(max-width:760px){.rsaAreaChipV37{width:100%;justify-content:space-between}.rsaDailyV37 .table{min-width:680px}.rsaDailyV37{overflow-x:auto}}

/* V45 — Pianificazione mensile RSA a matrice */
.rsaMonthlyHeroV45{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;background:linear-gradient(135deg,#fbfdff,#f4f7ff)}
.rsaMonthlyHeroV45 h2{margin:3px 0 5px;font-size:26px;color:#172b4d}.rsaMonthlyHeroActionsV45{flex-wrap:wrap;justify-content:flex-end}
.rsaMonthToolbarV45{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px}.rsaMonthToolbarV45>.row{flex-wrap:wrap}
.rsaViewSwitchV45{display:inline-flex;padding:3px;border:1px solid #dbe3f0;border-radius:10px;background:#f6f8fc;gap:3px}.rsaViewSwitchV45 button{border:0;background:transparent;padding:8px 13px;border-radius:8px;font-weight:800;color:#53627a;cursor:pointer}.rsaViewSwitchV45 button.active{background:#fff;color:#244ed8;box-shadow:0 1px 4px rgba(24,39,75,.12)}
.rsaMonthKpisV45{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.rsaMonthKpisV45>div{border:1px solid #dfe6f0;background:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.rsaMonthKpisV45 span{display:block;font-size:11px;color:#667085;font-weight:750;margin-bottom:5px}.rsaMonthKpisV45 b{font-size:21px;color:#172b4d}
.rsaMonthCardV45{padding:14px 12px}.rsaMonthTitleV45{margin-bottom:10px}.rsaMonthScrollV45{overflow:auto;max-width:100%;border:1px solid #e3e8f1;border-radius:12px;background:#fff;scrollbar-color:#b6c1d4 #eef2f7}.rsaMonthTableV45{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;font-size:11px}.rsaMonthTableV45 th,.rsaMonthTableV45 td{border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5;padding:4px;text-align:center;height:42px;background:#fff}.rsaMonthTableV45 thead th{position:sticky;top:0;z-index:5;background:#f8faff;color:#344054;min-width:42px}.rsaMonthTableV45 thead th b{display:block;font-size:12px}.rsaMonthTableV45 thead th small{display:block;font-size:9px;color:#7b8798;margin-top:1px}.rsaMonthTableV45 thead th i{position:absolute;right:3px;top:2px;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d92d20;color:#fff;font-size:9px;font-style:normal;font-weight:900}
.rsaMonthNameV45{position:sticky!important;left:0;z-index:6!important;min-width:170px!important;max-width:170px;text-align:left!important;padding:7px 10px!important;background:#fff!important;box-shadow:2px 0 0 #e8edf4}.rsaMonthTableV45 thead .rsaMonthNameV45{z-index:9!important;background:#f8faff!important}.rsaMonthNameV45 b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsaMonthNameV45 small{display:block;font-size:9px;color:#78869a;margin-top:2px}
.rsaMonthHoursV45{position:sticky!important;right:0;z-index:6!important;min-width:66px!important;background:#fbfcff!important;box-shadow:-2px 0 0 #e8edf4}.rsaMonthTableV45 thead .rsaMonthHoursV45{z-index:9!important}.rsaMonthHoursV45 b{font-size:12px;color:#173d75}
.rsaMonthWeekendV45{background:#f4f6fa!important}.rsaMonthProblemHeadV45{background:#fff0ed!important;color:#b42318!important}
.rsaMonthCellV45{width:34px;min-width:34px;height:31px;border:1px solid transparent;border-radius:7px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.12s ease;font-size:10px}.rsaMonthCellV45:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(16,24,40,.15);outline:2px solid rgba(47,107,255,.16)}.rsaMonthCellV45 b{font-size:10px;line-height:1}
.rsaMonthMattinaV45{background:#dcf8e8!important;border-color:#b8ebcf!important;color:#096b40!important}.rsaMonthPomeriggioV45{background:#fff0da!important;border-color:#f4d7aa!important;color:#9b4b00!important}.rsaMonthNotteV45{background:#dfeeff!important;border-color:#bbd7fa!important;color:#1556a4!important}.rsaMonthRiposoV45{background:#f1f3f6!important;border-color:#e1e5ea!important;color:#596579!important}.rsaMonthFerieV45{background:#eee6ff!important;border-color:#d8c7ff!important;color:#6941c6!important}.rsaMonthAssenzaV45{background:#ffe7e5!important;border-color:#f8c2bd!important;color:#b42318!important}.rsaMonthAltroV45{background:#edf1ff!important;border-color:#d8dffd!important;color:#3d4f9f!important}
.rsaMonthLegendV45{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.rsaLegendV45{display:inline-flex;padding:6px 9px;border:1px solid;border-radius:999px;font-size:10px;font-weight:800}.rsaMonthLegendHintV45{margin-left:auto;color:#667085;font-size:11px}.rsaMonthHelpV45{margin-top:12px;border-left:4px solid #3568ff;background:#f5f8ff;color:#294466}
@media(max-width:900px){.rsaMonthlyHeroV45{align-items:flex-start;flex-direction:column}.rsaMonthlyHeroActionsV45{justify-content:flex-start}.rsaMonthToolbarV45{align-items:flex-start;flex-direction:column}.rsaMonthKpisV45{grid-template-columns:1fr 1fr}.rsaMonthNameV45{min-width:145px!important;max-width:145px}.rsaMonthLegendHintV45{width:100%;margin-left:0}}
@media(max-width:520px){.rsaMonthKpisV45{grid-template-columns:1fr 1fr}.rsaMonthKpisV45 b{font-size:18px}.rsaMonthKpisV45>div{padding:10px}.rsaMonthNameV45{min-width:130px!important;max-width:130px}.rsaMonthCellV45{width:32px;min-width:32px}}


/* V46 — RSA mensile: nomi fissi, dettaglio carenze e controllo ore contratto */
.rsaMonthCardV45,.rsaMonthlyHeroV45,.rsaMonthToolbarV45,.rsaMonthBottomV46{min-width:0;max-width:100%}
.rsaMonthScrollV45{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;position:relative;overscroll-behavior-x:contain;contain:inline-size}
.rsaMonthTableV45{width:max-content;max-width:none}
.rsaMonthNameV45{position:sticky!important;left:0!important;z-index:20!important;background:#fff!important;box-shadow:3px 0 7px rgba(16,24,40,.08),2px 0 0 #e8edf4!important}
.rsaMonthTableV45 thead .rsaMonthNameV45{z-index:30!important;background:#f8faff!important}
.rsaMonthPlannedV46,.rsaMonthContractV46,.rsaMonthDiffV46{position:sticky!important;background:#fbfcff!important;z-index:12!important;min-width:78px!important;white-space:nowrap;box-shadow:-1px 0 0 #e8edf4}
.rsaMonthDiffV46{right:0!important;min-width:78px!important}.rsaMonthContractV46{right:78px!important;min-width:82px!important}.rsaMonthPlannedV46{right:160px!important;min-width:78px!important}
.rsaMonthTableV45 thead .rsaMonthPlannedV46,.rsaMonthTableV45 thead .rsaMonthContractV46,.rsaMonthTableV45 thead .rsaMonthDiffV46{z-index:25!important;background:#f8faff!important}
.rsaMonthPlannedV46 b,.rsaMonthContractV46 b,.rsaMonthDiffV46 b{font-size:11px;display:block}.rsaMonthDiffV46 small{display:block;font-size:8px;margin-top:2px}
.rsaMonthDiffExtraV46{color:#b42318!important;background:#fff1f0!important}.rsaMonthDiffMissingV46{color:#b54708!important;background:#fff8eb!important}.rsaMonthDiffOkV46{color:#067647!important;background:#ecfdf3!important}
.rsaMonthShortagesV46{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid #f6c7bf;background:#fff5f3;border-radius:12px;color:#9b2c1f;font-size:11px}.rsaMonthShortagesV46>span{padding:5px 8px;border-radius:8px;background:#fff;border:1px solid #f2d2cd}.rsaMonthShortagesV46.ok{border-color:#b7e4c7;background:#effcf3;color:#067647}
.rsaMonthBottomV46{margin-top:12px}
@media(max-width:900px){.rsaMonthContractV46{right:72px!important}.rsaMonthPlannedV46{right:154px!important}.rsaMonthDiffV46{min-width:72px!important}.rsaMonthNameV45{min-width:155px!important;max-width:155px!important}}

/* V47 • Doppio turno RSA D = M3 + P3A */
.rsaMonthDoppioV47{background:linear-gradient(135deg,#efe7ff,#e0d1ff)!important;color:#5b2a86!important;border-color:#b59add!important}
.rsaDCellV47{box-shadow:inset 0 0 0 2px rgba(91,42,134,.18)}
.rsaDPreferenceBoxV47{border:1px solid #d9c7ef;border-radius:14px;padding:14px;background:#fbf8ff}
.orgDCheckV47{display:flex!important;align-items:center;justify-content:space-between;gap:12px}
.orgDCheckV47 input{width:20px;height:20px}

/* V48 • Gestione giornata RSA come foglio reale */
.rsaAreaPreferenceGridV48{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.rsaAreaPreferenceChipV48{position:relative}.rsaAreaPreferenceChipV48 input{position:absolute;opacity:0}.rsaAreaPreferenceChipV48 span{display:inline-flex;padding:9px 12px;border:1px solid #d7deea;border-radius:10px;background:#fff;font-weight:750;cursor:pointer}.rsaAreaPreferenceChipV48:has(input:checked) span{border-color:#2f6bff;background:#edf4ff;color:#174ba6}.rsaAreaPreferenceChipV48:has(input:disabled) span{cursor:default;opacity:.8}
.rsaDayNavV48{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 16px}.rsaDayDateV48{text-align:center}.rsaDayDateV48 small{display:block;font-weight:900;letter-spacing:.08em;color:#456}.rsaDayDateV48 h2{margin:2px 0 0;font-size:25px;color:#172b4d}.rsaDayNavActionsV48{display:flex;gap:8px;align-items:center}.rsaDayToolbarV48{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.rsaDayReadonlyV48{margin:12px 0}
.rsaDaySheetV48{margin-top:12px}.rsaDayAreaGridV48{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rsaDayAreaV48{border:1px solid #cbd6e5;border-radius:13px;overflow:hidden;background:#fff}.rsaDayAreaHeadV48{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:#eaf3fb;border-bottom:1px solid #cbd6e5}.rsaDayAreaHeadV48 h3{margin:0;color:#173d66;font-size:16px}.rsaDayFamilyV48{border-bottom:1px solid #e6ebf2}.rsaDayFamilyV48:last-child{border-bottom:0}.rsaDayFamilyTitleV48{padding:6px 9px;background:#f5f7fa;text-align:center;font-size:11px;font-weight:900;letter-spacing:.04em;color:#4b5d72}.rsaDayShiftRowV48{display:grid;grid-template-columns:48px 116px minmax(0,1fr);align-items:center;min-height:38px;border-top:1px solid #edf0f4}.rsaDayShiftRowV48>span,.rsaDayShiftRowV48>b{padding:7px 8px}.rsaDayCodeV48{text-align:center;border-right:1px solid #edf0f4;color:#102a56}.rsaDayTimeV48{font-size:11px;border-right:1px solid #edf0f4;white-space:nowrap}.rsaDayEmployeeV48{font-weight:700;min-width:0}.rsaDayDoubleGroupV48 .rsaDayFamilyTitleV48{background:#f2ebff;color:#5b2a86}.rsaDayDoubleGroupV48 .rsaDayCodeV48{color:#5b2a86}.rsaDayEmptyV48{padding:16px;text-align:center}.rsaDayMissingV48{margin-bottom:10px;border-left:4px solid #d92d20}.rsaDayEditAssignmentsV48{margin-top:14px;padding:14px;border:1px solid #dce3ed;border-radius:13px;background:#fbfcfe}.rsaDayEditAssignmentsV48 h3{margin:0 0 3px}.rsaDayEditGridV48{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.rsaDayEditGridV48 label{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e5e9f0;border-radius:10px;background:#fff}.rsaDayEditGridV48 select{width:100%;padding:8px;border:1px solid #ced6e2;border-radius:8px;background:#fff}
@media(max-width:1050px){.rsaDayAreaGridV48{grid-template-columns:1fr 1fr}.rsaDayEditGridV48{grid-template-columns:1fr}}
@media(max-width:700px){.rsaDayAreaGridV48{grid-template-columns:1fr}.rsaDayNavV48{grid-template-columns:auto 1fr auto;padding:10px}.rsaDayDateV48 h2{font-size:20px}.rsaDayNavActionsV48 .btn:first-child{display:none}.rsaDayToolbarV48{align-items:flex-start;flex-direction:column}.rsaDayShiftRowV48{grid-template-columns:44px 108px minmax(120px,1fr)}.rsaDayEditGridV48 label{grid-template-columns:1fr}.rsaDayAreaHeadV48 .muted{display:none}}

/* V49 • Fabbisogno RSA settimanale */
.rsaNeedAreaV49{background:var(--card,#fff);border:1px solid var(--border,#dfe5ee);border-radius:16px;margin-top:16px;overflow:hidden}.rsaNeedAreaHeadV49{padding:14px 16px;background:#eef6ff;border-bottom:1px solid #d9e5f3}.rsaNeedAreaHeadV49 h3{margin:0 0 3px}.rsaNeedAreaHeadV49 small{color:#64748b}.rsaNeedGridScrollV49{overflow-x:auto;max-width:100%}.rsaNeedGridV49{width:100%;border-collapse:separate;border-spacing:0;min-width:780px}.rsaNeedGridV49 th,.rsaNeedGridV49 td{padding:9px 8px;text-align:center;border-bottom:1px solid #edf0f5}.rsaNeedGridV49 thead th{background:#f8fafc;font-size:12px;text-transform:uppercase}.rsaNeedGridV49 tbody th{text-align:left;min-width:125px;background:#fff}.rsaNeedGridV49 tbody th small{display:block;font-weight:400;color:#64748b;margin-top:2px}.rsaNeedGridInputV49{width:58px;min-height:40px;text-align:center;border:1px solid #cfd8e6;border-radius:9px;font:inherit}.rsaNeedGridInputV49:focus{outline:2px solid #7768f2;outline-offset:1px}.rsaServicesV49{margin-top:16px}.rsaServiceChecksV49{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.rsaServiceChecksV49 label{display:flex;align-items:flex-start;gap:10px;border:1px solid #e1e6ef;border-radius:12px;padding:12px}.rsaServiceChecksV49 input{margin-top:3px}.rsaServiceChecksV49 span,.rsaServiceChecksV49 small{display:block}.rsaServiceChecksV49 small{color:#64748b;margin-top:3px}.rsaServicePanelV49{min-height:150px}@media(max-width:700px){.rsaServiceChecksV49{grid-template-columns:1fr}}

/* V50 • notte globale RSA */
.rsaNightNeedV50{border-color:#c9d5e6}
.rsaNightNeedV50 .rsaNeedAreaHeadV49{background:#eef3fa}
.rsaNightPanelV50{border-color:#c9d5e6}
.rsaNightPanelV50 .rsaDayAreaHeadV48{background:#eef3fa}

/* V54 - test ruoli DEMO */
.roleTestBtnV54{border-color:#7c6cf2!important;background:#f3f0ff!important;color:#4635c7!important;font-weight:800!important}


/* V69 • Calendario personale Dipendente */
.workerTurnsCalendarHeadV69{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.workerTurnsCalendarHeadV69 h3{margin:2px 0 0}
.workerTurnsViewSwitchV69{display:flex;gap:8px;flex-wrap:wrap}
.workerCalWeekV69,.workerCalGridV69{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.workerCalWeekV69{margin-bottom:8px}
.workerCalWeekV69>div{text-align:center;font-size:12px;font-weight:700;color:#667085;padding:6px}
.workerCalDayV69,.workerCalBlankV69{min-height:118px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;padding:10px}
.workerCalBlankV69{background:#f8fafc;border-style:dashed}
.workerCalDateV69{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#667085}
.workerCalDateV69 span{font-weight:700;color:#344054}
.workerCalDateV69 small,.workerTurnsListDateV69 small{font-size:9px;font-weight:800;letter-spacing:.04em;padding:2px 5px;border-radius:999px;background:#eef2ff;color:#4338ca}
.workerCalCodeV69{font-size:22px;font-weight:800;margin-top:10px;color:#101828}
.workerCalTitleV69{font-size:12px;font-weight:700;margin-top:2px;color:#344054}
.workerCalTimeV69{font-size:11px;margin-top:5px;color:#667085;line-height:1.25}
.workerCalDayV69.kind-rest{background:#f8fafc}
.workerCalDayV69.kind-vacation{background:#ecfdf3;border-color:#abefc6}
.workerCalDayV69.kind-absence{background:#fff6ed;border-color:#fedf89}
.workerCalDayV69.kind-empty{background:#fcfcfd;color:#98a2b3}
.workerCalDayV69.today{outline:2px solid #6366f1;outline-offset:1px}
.workerTurnsListV69{display:flex;flex-direction:column;gap:8px}
.workerTurnsListRowV69{display:grid;grid-template-columns:150px 1fr 190px;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.workerTurnsListRowV69.today{outline:2px solid #6366f1;outline-offset:1px}
.workerTurnsListDateV69{display:flex;align-items:center;gap:8px;text-transform:capitalize}
.workerTurnsListShiftV69{display:flex;align-items:center;gap:10px}
.workerTurnsListShiftV69 strong{min-width:48px;font-size:18px}
.workerTurnsListShiftV69 span,.workerTurnsListTimeV69{color:#667085}
@media(max-width:900px){
 .workerCalWeekV69,.workerCalGridV69{gap:4px}
 .workerCalDayV69,.workerCalBlankV69{min-height:92px;padding:7px}
 .workerCalCodeV69{font-size:17px;margin-top:7px}
 .workerCalTitleV69{font-size:10px}
 .workerCalTimeV69{font-size:9px}
 .workerTurnsListRowV69{grid-template-columns:1fr;gap:6px}
}
@media(max-width:640px){
 .workerTurnsCalendarHeadV69{align-items:flex-start;flex-direction:column}
 .workerCalWeekV69{display:none}
 .workerCalGridV69{grid-template-columns:repeat(2,minmax(0,1fr))}
 .workerCalBlankV69{display:none}
 .workerCalDayV69{min-height:108px}
}

/* V76 — Stampa quadrante mensile RSA: solo calendario, mese completo */
@media print{
  @page{size:A4 landscape;margin:6mm}
  body.printPlanningV16 .rsaMonthlyHeroV45,
  body.printPlanningV16 .rsaMonthToolbarV45,
  body.printPlanningV16 .rsaMonthKpisV45,
  body.printPlanningV16 .rsaMonthShortagesV46,
  body.printPlanningV16 .rsaMonthLegendV45,
  body.printPlanningV16 .rsaMonthHelpV45,
  body.printPlanningV16 .rsaMonthBottomV46,
  body.printPlanningV16 .planningBottom,
  body.printPlanningV16 .planningProblemsBottomV15,
  body.printPlanningV16 .generatorPanel,
  body.printPlanningV16 .sidebar,
  body.printPlanningV16 header,
  body.printPlanningV16 .rsaMonthTitleV45 .periodRulePill,
  body.printPlanningV16 .rsaMonthPlannedV46,
  body.printPlanningV16 .rsaMonthContractV46,
  body.printPlanningV16 .rsaMonthDiffV46{display:none!important}

  body.printPlanningV16,
  body.printPlanningV16 .main,
  body.printPlanningV16 main,
  body.printPlanningV16 #content{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;background:#fff!important}

  body.printPlanningV16 .rsaMonthCardV45{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;max-width:none!important;width:100%!important}
  body.printPlanningV16 .rsaMonthTitleV45{display:block!important;margin:0 0 2mm!important;padding:0!important}
  body.printPlanningV16 .rsaMonthTitleV45 h3{font-size:11pt!important;margin:0!important}
  body.printPlanningV16 .rsaMonthTitleV45 p{display:none!important}
  body.printPlanningV16 .rsaMonthScrollV45{display:block!important;overflow:visible!important;border:0!important;border-radius:0!important;width:100%!important;max-width:none!important;contain:none!important}
  body.printPlanningV16 .rsaMonthTableV45{border-collapse:collapse!important;border-spacing:0!important;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:5.2pt!important}
  body.printPlanningV16 .rsaMonthTableV45 th,
  body.printPlanningV16 .rsaMonthTableV45 td{position:static!important;min-width:0!important;max-width:none!important;width:auto!important;height:5.2mm!important;padding:.35mm .15mm!important;border:.25pt solid #aeb7c4!important;box-shadow:none!important;overflow:hidden!important}
  body.printPlanningV16 .rsaMonthTableV45 thead th{background:#f2f4f7!important;color:#111827!important}
  body.printPlanningV16 .rsaMonthTableV45 thead th b{font-size:5.8pt!important;line-height:1!important}
  body.printPlanningV16 .rsaMonthTableV45 thead th small{font-size:4.2pt!important;line-height:1!important;margin:0!important}
  body.printPlanningV16 .rsaMonthNameV45{position:static!important;width:31mm!important;min-width:31mm!important;max-width:31mm!important;padding:.5mm 1mm!important;background:#fff!important;text-align:left!important;box-shadow:none!important}
  body.printPlanningV16 .rsaMonthNameV45 b{font-size:5.4pt!important;line-height:1.05!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  body.printPlanningV16 .rsaMonthNameV45 small{display:none!important}
  body.printPlanningV16 .rsaMonthCellV45{width:5.1mm!important;min-width:0!important;height:4.2mm!important;border-radius:1mm!important;padding:0!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  body.printPlanningV16 .rsaMonthCellV45 b{font-size:4.8pt!important;line-height:1!important}
  body.printPlanningV16 .rsaMonthTableV45 thead th i{display:none!important}
  body.printPlanningV16 .rsaMonthTableV45 tr{break-inside:avoid!important;page-break-inside:avoid!important}
}

/* V77 — Stampa RSA: SOLO il calendario mensile, senza intestazioni o riepiloghi */
@media print{
  body.printPlanningV16.rsaPrintMonthlyOnlyV77 .topbar,
  body.printPlanningV16.rsaPrintMonthlyOnlyV77 #content > *:not(.rsaMonthCardV45),
  body.printPlanningV16.rsaPrintMonthlyOnlyV77 .rsaMonthCardV45 > *:not(.rsaMonthScrollV45){display:none!important}

  body.printPlanningV16.rsaPrintMonthlyOnlyV77 .rsaMonthCardV45,
  body.printPlanningV16.rsaPrintMonthlyOnlyV77 .rsaMonthScrollV45{
    display:block!important;margin:0!important;padding:0!important;border:0!important;
    box-shadow:none!important;width:100%!important;max-width:none!important;
  }
}


/* V75 Ristorazione */
.restMonthWeekV75,.restMonthGridV75{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.restMonthWeekV75{margin:12px 0 6px;text-align:center;font-size:12px}.restMonthDayV75{min-height:78px;border:1px solid var(--border,#dfe3e8);border-radius:10px;padding:8px;background:#fff}.restMonthDayV75.empty{border-color:transparent;background:transparent}.restMonthDayV75 b{display:block;font-size:13px}.restMonthDayV75 small{display:block;margin-top:8px;line-height:1.25}.restMonthDayV75.published{box-shadow:0 1px 2px rgba(0,0,0,.05)}
@media(max-width:700px){.restMonthDayV75{min-height:62px;padding:5px}.restMonthDayV75 small{font-size:10px}.restMonthWeekV75,.restMonthGridV75{gap:3px}}


/* V78 • Collaudo Ristorazione mobile + responsive */
.mobileMenuBtnV78{display:none;border:0;background:#eef2ff;color:#4338ca;border-radius:10px;min-width:44px;height:44px;font-size:24px;font-weight:800;cursor:pointer}
.mobileNavBackdropV78{display:none}
.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formGrid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#344054}.formGrid input,.formGrid select{width:100%;min-width:0}
.superCompanyCardsV78{display:none}.superCompanyCardV78{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.superCompanyCardHeadV78{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.superCompanyCardHeadV78 b,.superCompanyCardHeadV78 small{display:block}.superCompanyCardHeadV78 small{margin-top:3px;color:var(--muted)}.superCompanyCardMetaV78{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:12px 0}.superCompanyCardMetaV78 span{min-width:0;overflow-wrap:anywhere}.superCompanyCardMetaV78 b{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.superCompanyActionsV78{display:grid;grid-template-columns:1fr 1fr;gap:8px}.superCompanyActionsV78 .btn:first-child{grid-column:1/-1}.coverageCandidateListV78{display:grid;gap:8px}.coverageCandidateV78{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);cursor:pointer}.coverageCandidateV78 span{font-size:12px;color:var(--muted)}
@media(max-width:599px){
 body.mobileNavOpenV78{overflow:hidden}.mobileMenuBtnV78{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.app{display:block}.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(82vw,330px);z-index:120!important;transform:translateX(-105%);transition:transform .2s ease;padding:18px 14px!important;overflow-y:auto}.sidebar .brand{margin-bottom:14px}.nav{display:block!important;overflow:visible!important}.nav button{display:block;width:100%;min-width:0!important}.mobileNavOpenV78 .sidebar{transform:translateX(0)}.mobileNavBackdropV78{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:110}.mobileNavOpenV78 .mobileNavBackdropV78{display:block}.main{padding-top:12px!important}.topbar{position:sticky;top:0;z-index:60;background:var(--bg);padding:6px 0 10px;display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start!important}.topbarTitleV78{min-width:0}.topbar .user{grid-column:1/-1;width:100%;justify-content:space-between}.formGrid{grid-template-columns:1fr!important}.superCompanyDesktopV78{display:none}.superCompanyCardsV78{display:grid;gap:10px}.modalOverlay{z-index:200!important}.modalCard{max-width:100%!important}.employeeStatusLegend{display:flex;overflow-x:auto;gap:6px}.dateDemandCard .table{overflow-x:auto}.coverageRow{grid-template-columns:minmax(92px,1fr) minmax(70px,.7fr) minmax(70px,.7fr) minmax(120px,1.2fr)!important}.coverageRow .miniBtnV26{width:100%;margin-top:8px}.sectionTitle{flex-wrap:wrap}.sectionTitle>.btn{max-width:100%}
}
@media(max-width:430px){.superCompanyCardMetaV78{grid-template-columns:1fr}.superCompanyActionsV78{grid-template-columns:1fr}.superCompanyActionsV78 .btn:first-child{grid-column:auto}.coverageRow{display:grid!important;grid-template-columns:1fr 1fr!important}.coverageRow>div:last-child{grid-column:1/-1}}

/* V80 • Desktop layout hardening */
@media (min-width:801px){
  .app{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;min-height:100vh!important;width:100%!important}
  .sidebar{position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;width:auto!important;transform:none!important;z-index:auto!important;overflow:visible!important;padding:22px 16px!important}
  .sidebar .brand{margin-bottom:22px!important}
  .nav{display:block!important;overflow:visible!important;padding-bottom:0!important}
  .nav button{display:block!important;width:100%!important;min-width:0!important;text-align:left!important;padding:11px 12px!important;margin:3px 0!important;font-size:inherit!important;white-space:normal!important}
  .main{display:block!important;min-width:0!important;width:auto!important;padding:24px!important}
  .topbar{position:static!important;display:flex!important;grid-template-columns:none!important;justify-content:space-between!important;align-items:center!important;padding:0!important;margin-bottom:20px!important;background:transparent!important}
  .topbar .user{grid-column:auto!important;width:auto!important;justify-content:flex-start!important}
  .mobileMenuBtnV78,.mobileNavBackdropV78{display:none!important}
  .superCompanyDesktopV78{display:block!important}
  .superCompanyCardsV78{display:none!important}
}

/* V81 — Desktop/tablet con mouse: non usare mai il layout mobile solo per una finestra stretta o zoom del browser. */
@media (hover:hover) and (pointer:fine){
  html,body{overflow-x:auto!important}
  body{font-size:16px!important}
  .app{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;min-height:100vh!important;width:100%!important;max-width:none!important}
  .sidebar{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;min-width:240px!important;transform:none!important;transition:none!important;z-index:1!important;overflow:visible!important;padding:22px 16px!important;background:var(--sidebar)!important;box-shadow:none!important}
  .sidebar .brand,.brand{font-size:22px!important;margin:0 0 22px!important}
  .nav{display:block!important;overflow:visible!important;padding:0!important;white-space:normal!important}
  .nav button{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;text-align:left!important;padding:11px 12px!important;margin:3px 0!important;border-radius:10px!important;font-size:inherit!important;white-space:normal!important}
  .main{display:block!important;min-width:0!important;width:auto!important;max-width:none!important;padding:24px!important;overflow:visible!important}
  .topbar{position:static!important;display:flex!important;flex-direction:row!important;grid-template-columns:none!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:0!important;margin-bottom:20px!important;background:transparent!important}
  .topbar h2{font-size:inherit!important;margin:0!important}
  .topbar .user,.user{grid-column:auto!important;width:auto!important;justify-content:flex-start!important;flex-wrap:wrap!important}
  .mobileMenuBtnV78,.mobileNavBackdropV78{display:none!important}
  body.mobileNavOpenV78{overflow:auto!important}
  .cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:16px!important}
  .card{padding:16px!important;border-radius:16px!important}
  .formgrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
  .formGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .superCompanyDesktopV78{display:block!important}
  .superCompanyCardsV78{display:none!important}
  .table{display:table!important;width:100%!important;overflow:visible!important}
  .table th,.table td{white-space:normal!important}
  .modalOverlay{padding:20px!important;align-items:center!important}
  .modalCard{width:min(760px,96vw)!important;max-height:88vh!important;border-radius:20px!important;padding:20px!important}
  .modalFooter{position:static!important;background:transparent!important;padding:0!important}
}


/* V82 — responsive definitivo: desktop stabile, mobile per telefono. */
@media (min-width:600px) {
  .app{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;min-height:100vh!important;width:100%!important;max-width:none!important}
  .sidebar{position:relative!important;inset:auto!important;width:auto!important;min-width:240px!important;transform:none!important;transition:none!important;z-index:1!important;overflow:visible!important;padding:22px 16px!important;background:var(--sidebar)!important}
  .sidebar .brand,.brand{margin:0 0 22px!important;font-size:22px!important}
  .nav{display:block!important;overflow:visible!important;white-space:normal!important;padding:0!important}
  .nav button{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;text-align:left!important;white-space:normal!important;padding:11px 12px!important;margin:3px 0!important}
  .main{display:block!important;min-width:0!important;width:auto!important;max-width:none!important;padding:24px!important}
  .topbar{position:static!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:0!important;margin-bottom:20px!important;background:transparent!important}
  .topbar .user{width:auto!important;grid-column:auto!important;justify-content:flex-start!important}
  .mobileMenuBtnV78,.mobileNavBackdropV78{display:none!important}
  body.mobileNavOpenV78{overflow:auto!important}
  .superCompanyDesktopV78{display:block!important}
  .superCompanyCardsV78{display:none!important}
}

@media (max-width:599px) {
  body.mobileNavOpenV78{overflow:hidden!important}
  .app{display:block!important;min-height:100vh!important}
  .mobileMenuBtnV78{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;border:0!important;background:#eef2ff!important;color:#4338ca!important;border-radius:10px!important;min-width:44px!important;height:44px!important;font-size:24px!important;font-weight:800!important}
  .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(82vw,330px)!important;min-width:0!important;z-index:120!important;transform:translateX(-105%)!important;transition:transform .2s ease!important;padding:18px 14px!important;overflow-y:auto!important;background:var(--sidebar)!important}
  .sidebar .brand{margin-bottom:14px!important}
  .nav{display:block!important;overflow:visible!important;white-space:normal!important}
  .nav button{display:block!important;width:100%!important;min-width:0!important;text-align:left!important;white-space:normal!important}
  .mobileNavOpenV78 .sidebar{transform:translateX(0)!important}
  .mobileNavBackdropV78{display:none;position:fixed!important;inset:0!important;background:rgba(15,23,42,.42)!important;z-index:110!important}
  .mobileNavOpenV78 .mobileNavBackdropV78{display:block!important}
  .main{padding:12px 14px 14px!important;width:100%!important;min-width:0!important}
  .topbar{position:sticky!important;top:0!important;z-index:60!important;background:var(--bg)!important;padding:6px 0 10px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:10px!important}
  .topbarTitleV78{min-width:0!important}
  .topbar .user{grid-column:1/-1!important;width:100%!important;justify-content:space-between!important}
  .formGrid{grid-template-columns:1fr!important}
  .superCompanyDesktopV78{display:none!important}
  .superCompanyCardsV78{display:grid!important;gap:10px!important}
}


/* V83 — Mobile only by viewport width. Some Windows laptops report coarse pointer/touch, so pointer capability must never force the phone layout on desktop. */

/* V84 • Calendario mensile Ristorazione: turni reali per dipendente */
.restMonthManagerGridV84 .restMonthManagerDayV84{min-height:116px;text-align:left;overflow:hidden}
.restMonthEmployeeListV84{display:flex;flex-direction:column;gap:5px;margin-top:7px}
.restMonthEmployeeShiftV84{display:flex;flex-direction:column;gap:1px;padding:4px 5px;border-radius:7px;background:rgba(79,70,229,.06)}
.restMonthEmployeeNameV84{font-size:10px;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restMonthEmployeeTurnV84{font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restMonthUnpublishedV84{opacity:.35;margin-top:12px!important}
.restMonthNoEmployeesV84{font-size:10px;opacity:.55;margin-top:6px}
@media(max-width:900px){.restMonthManagerGridV84{grid-template-columns:repeat(7,minmax(110px,1fr));min-width:790px}.restManagerCalendarV78{overflow-x:auto}.restMonthManagerGridV84 .restMonthManagerDayV84{min-height:104px}}

/* V86 • Piano Ferie settimanale Ristorazione */
.vacTableWrapV86{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:14px}
.vacPlanTableV86{min-width:760px}
.vacCellV86{display:flex;flex-direction:column;gap:4px;min-width:110px}
.vacCellV86 small{color:#667085}
.vacNamesV86{display:flex;flex-direction:column;gap:3px;margin-top:4px}
.vacNamesV86 span{padding:4px 6px;border-radius:8px;background:#f1efff;color:#3429a8;font-size:.85em}
.vacCapsGridV86{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0}
.vacCapsGridV86 label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.vacCapsGridV86 input{width:100%}
.vacWorkerSlotV86{width:100%;min-width:105px;border:1px solid #d9dcf0;background:#f5f3ff;color:#4035b5;border-radius:10px;padding:9px;display:flex;flex-direction:column;gap:3px;cursor:pointer}
.vacWorkerSlotV86 b{font-size:1.05rem}.vacWorkerSlotV86 small{font-weight:600}
.vacWorkerSlotV86:hover:not(:disabled){background:#ebe8ff}
.vacWorkerSlotV86.disabled,.vacWorkerSlotV86:disabled{opacity:.55;cursor:not-allowed;color:#697386}
@media(max-width:599px){.vacPlanTableV86{min-width:680px}.vacCapsGridV86{grid-template-columns:1fr 1fr}}

/* V92 — Modalità telefono forzata e stabile (PWA + Chrome). */
body.phoneModeV92{overflow-x:hidden!important}
body.phoneModeV92 .app{display:block!important;min-height:100vh!important}
body.phoneModeV92 .mobileMenuBtnV78{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;border:0!important;background:#eef2ff!important;color:#4338ca!important;border-radius:10px!important;min-width:44px!important;height:44px!important;font-size:24px!important;font-weight:800!important}
body.phoneModeV92 .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(84vw,330px)!important;min-width:0!important;z-index:120!important;transform:translateX(-105%)!important;transition:transform .2s ease!important;padding:18px 14px!important;overflow-y:auto!important;background:var(--sidebar)!important;box-shadow:0 16px 40px rgba(0,0,0,.28)!important}
body.phoneModeV92 .sidebar .brand{margin:0 0 14px!important;font-size:22px!important}
body.phoneModeV92 .nav{display:block!important;overflow:visible!important;white-space:normal!important;padding:0!important}
body.phoneModeV92 .nav button{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;text-align:left!important;white-space:normal!important;padding:11px 12px!important;margin:3px 0!important}
body.phoneModeV92.mobileNavOpenV78 .sidebar{transform:translateX(0)!important}
body.phoneModeV92 .mobileNavBackdropV78{display:none!important;position:fixed!important;inset:0!important;background:rgba(15,23,42,.46)!important;z-index:110!important}
body.phoneModeV92.mobileNavOpenV78 .mobileNavBackdropV78{display:block!important}
body.phoneModeV92 .main{padding:10px 12px 18px!important;width:100%!important;min-width:0!important;overflow-x:hidden!important}
body.phoneModeV92 .topbar{position:sticky!important;top:0!important;z-index:60!important;background:var(--bg)!important;padding:6px 0 10px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important}
body.phoneModeV92 .topbarTitleV78{min-width:0!important}
body.phoneModeV92 .topbarTitleV78 h2{font-size:22px!important;line-height:1.15!important}
body.phoneModeV92 .topbar .user{grid-column:1/-1!important;width:100%!important;display:flex!important;justify-content:space-between!important;gap:8px!important}
body.phoneModeV92 .topbar .user .badge{max-width:70vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.phoneModeV92 .cards,body.phoneModeV92 .kpiGrid,body.phoneModeV92 .dashboardGrid{grid-template-columns:1fr!important}
body.phoneModeV92 .card{min-width:0!important}
body.phoneModeV92 table{font-size:13px}
body.phoneModeV92 .tableWrap,body.phoneModeV92 .restManagerCalendarV78,body.phoneModeV92 .rsaNeedGridScrollV49{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
body.phoneModeV92 .superCompanyDesktopV78{display:none!important}
body.phoneModeV92 .superCompanyCardsV78{display:grid!important;gap:10px!important}

/* V93 PHONE FIX — override finale: sui telefoni il menu è sempre hamburger, anche se il browser dichiara pointer:fine/hover. */
@media (max-width: 599px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  .app{display:block!important;min-height:100vh!important}
  .mobileMenuBtnV78{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;border:0!important;background:#eef2ff!important;color:#4338ca!important;border-radius:10px!important;min-width:44px!important;height:44px!important;font-size:24px!important;font-weight:800!important}
  .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(84vw,330px)!important;min-width:0!important;z-index:120!important;transform:translateX(-105%)!important;transition:transform .2s ease!important;padding:18px 14px!important;overflow-y:auto!important;background:var(--sidebar)!important;box-shadow:0 16px 40px rgba(0,0,0,.28)!important}
  .sidebar .brand{margin:0 0 14px!important;font-size:22px!important}
  .nav{display:block!important;overflow:visible!important;white-space:normal!important;padding:0!important}
  .nav button,.supportBackV2{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;text-align:left!important;white-space:normal!important;padding:11px 12px!important;margin:3px 0!important}
  body.mobileNavOpenV78 .sidebar{transform:translateX(0)!important}
  .mobileNavBackdropV78{display:none!important;position:fixed!important;inset:0!important;background:rgba(15,23,42,.46)!important;z-index:110!important}
  body.mobileNavOpenV78 .mobileNavBackdropV78{display:block!important}
  .main{padding:10px 12px 18px!important;width:100%!important;min-width:0!important;overflow-x:hidden!important}
  .topbar{position:sticky!important;top:0!important;z-index:60!important;background:var(--bg)!important;padding:6px 0 10px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important}
  .topbarTitleV78{min-width:0!important}
  .topbarTitleV78 h2{font-size:22px!important;line-height:1.15!important}
  .topbar .user{grid-column:1/-1!important;width:100%!important;display:flex!important;justify-content:space-between!important;gap:8px!important}
  .topbar .user .badge{max-width:70vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
}


/* ===== V94 PRODUZIONE ===== */
@media print{
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .sidebar,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .topbar,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 #content > *:not(.planningTableWrap){display:none!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableWrap{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important;width:100%!important;max-width:none!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableWrap:before{content:attr(data-print-label);display:block!important;font-weight:800;font-size:12pt;margin:0 0 3mm 0;text-align:center}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable{width:100%!important;table-layout:fixed!important;font-size:8pt!important;border-collapse:collapse!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable th,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable td{position:static!important;padding:1.2mm .8mm!important;border:.35pt solid #9ca3af!important;box-shadow:none!important;overflow:hidden!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyName{position:static!important;width:31mm!important;min-width:31mm!important;max-width:31mm!important;background:#fff!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable th:last-child,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable td:last-child{display:none!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyName small{display:none!important}

  body.printLineariV94 .sidebar,
  body.printLineariV94 .topbar,
  body.printLineariV94 #content > *:not(.lineariPrintSheetV94),
  body.printLineariV94 .lineariPauseInfoV94 input{display:none!important}
  body.printLineariV94,
  body.printLineariV94 .main,
  body.printLineariV94 main,
  body.printLineariV94 #content{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;background:#fff!important}
  body.printLineariV94 .lineariPrintSheetV94{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;width:100%!important;max-width:none!important}
  body.printLineariV94 .lineariScrollV94{overflow:visible!important}
  body.printLineariV94 .lineariTableV94{font-size:4.2pt!important;min-width:0!important;width:100%!important;table-layout:fixed!important}
  body.printLineariV94 .lineariTableV94 th,body.printLineariV94 .lineariTableV94 td{height:4mm!important;padding:0!important}
  body.printLineariV94 .lineariNameV94{width:31mm!important;min-width:31mm!important;max-width:31mm!important;font-size:5pt!important;padding:.4mm!important}
  body.printLineariV94 .lineariPauseInfoV94{width:12mm!important;min-width:12mm!important;max-width:12mm!important;font-size:4.4pt!important}
}
.lineariControlsV94 label{display:flex;flex-direction:column;gap:5px;font-weight:700}.lineariPrintTitleV94{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px}.lineariPrintTitleV94 b{font-size:18px}.lineariPrintTitleV94 span{font-weight:700}.lineariScrollV94{overflow:auto;max-width:100%}.lineariTableV94{border-collapse:collapse;min-width:1280px;font-size:10px;background:#fff}.lineariTableV94 th,.lineariTableV94 td{border:1px solid #cbd5e1;text-align:center;padding:1px;min-width:16px;height:23px}.lineariTableV94 th{background:#f8fafc;font-weight:700}.lineariNameV94{position:sticky;left:0;z-index:3;background:#fff!important;min-width:180px!important;text-align:left!important;padding:5px 7px!important}.lineariNameV94 small{display:block;color:#64748b}.lineariPauseInfoV94{position:sticky;left:180px;z-index:3;background:#fff!important;min-width:82px!important;width:82px!important}.lineariPauseInfoV94 input{width:72px;font-size:10px;padding:2px}.lineariOnV94{background:#eef2ff;font-weight:800}.lineariPauseV94{background:#fff7ed;font-weight:900}.lineariOffV94{background:#fff}.lineariTotalV94 td{background:#dbeafe;font-weight:900}.lineariTotalV94 .lineariNameV94,.lineariTotalV94 td:first-child{background:#bfdbfe!important}.lineariHourV94{border-left:2px solid #64748b!important}
@media(max-width:599px){.lineariPrintTitleV94{align-items:flex-start;flex-direction:column}.lineariControlsV94 .sectionTitle{display:block}.lineariControlsV94 .row{margin-top:12px}}

/* ===== V94.3 — Lineari: una pagina A4 orizzontale leggibile ===== */
@media print{
  body.printLineariV94 *{box-sizing:border-box!important}
  body.printLineariV94 .lineariPrintTitleV94{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 2mm!important;font-size:8pt!important}
  body.printLineariV94 .lineariPrintTitleV94 b{font-size:9pt!important}
  body.printLineariV94 .lineariScrollV94{display:block!important;overflow:visible!important;width:100%!important;max-width:none!important}
  body.printLineariV94 .lineariTableV94{border-collapse:collapse!important;border-spacing:0!important;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:4pt!important;line-height:1!important}
  body.printLineariV94 .lineariTableV94 th,
  body.printLineariV94 .lineariTableV94 td{position:static!important;min-width:0!important;max-width:none!important;width:auto!important;height:3.6mm!important;padding:0!important;border:.25pt solid #8f99a8!important;overflow:hidden!important;white-space:nowrap!important}
  body.printLineariV94 .lineariTableV94 th{font-size:3.6pt!important;font-weight:800!important}
  body.printLineariV94 .lineariNameV94{position:static!important;width:34mm!important;min-width:34mm!important;max-width:34mm!important;text-align:left!important;padding:.25mm .6mm!important;font-size:4.6pt!important;white-space:normal!important;background:#fff!important}
  body.printLineariV94 .lineariNameV94 small{display:none!important}
  body.printLineariV94 .lineariPauseInfoV94{position:static!important;width:11mm!important;min-width:11mm!important;max-width:11mm!important;font-size:4pt!important;background:#fff!important;white-space:normal!important}
  body.printLineariV94 .lineariHourV94{border-left:.6pt solid #475569!important}
  body.printLineariV94 .lineariOnV94{font-size:4pt!important;font-weight:800!important}
  body.printLineariV94 .lineariPauseV94{font-size:4pt!important;font-weight:900!important}
  body.printLineariV94 .lineariTotalV94 td{font-size:4pt!important;font-weight:900!important}
  body.printLineariV94 .lineariTableV94 tr{break-inside:avoid!important;page-break-inside:avoid!important}
}
\n\n/* ===== V94.4 — Lineari 30 minuti, 06:00 → 06:00 ===== */\n.lineariTableV94 th,.lineariTableV94 td{min-width:22px}\n.lineariTableV94 .lineariHourV94{font-weight:800}\n@media print{\n  body.printLineariV94 .lineariTableV94{font-size:5.6pt!important;line-height:1.05!important}\n  body.printLineariV94 .lineariTableV94 th,\n  body.printLineariV94 .lineariTableV94 td{height:4.2mm!important;font-size:5.3pt!important}\n  body.printLineariV94 .lineariTableV94 th{font-size:5pt!important}\n  body.printLineariV94 .lineariNameV94{width:36mm!important;min-width:36mm!important;max-width:36mm!important;font-size:5.8pt!important}\n  body.printLineariV94 .lineariPauseInfoV94{width:14mm!important;min-width:14mm!important;max-width:14mm!important;font-size:5.1pt!important}\n  body.printLineariV94 .lineariOnV94,\n  body.printLineariV94 .lineariPauseV94,\n  body.printLineariV94 .lineariTotalV94 td{font-size:5.2pt!important}\n}\n
/* ===== V108.2 ===== */
.fabTabsV1082{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.fabTabsV1082 button{border:1px solid #dbe3f0;background:#fff;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer}.fabTabsV1082 button.active{background:#2563eb;color:#fff;border-color:#2563eb}.fabHoursV1082{align-items:end;margin-bottom:14px}.fabHoursV1082 label{display:flex;flex-direction:column;gap:5px;font-weight:700}.fabHoursV1082 input{padding:8px;border:1px solid #cbd5e1;border-radius:8px}.fabScrollV1082{overflow:auto}.fabTableV1082 input{width:72px;text-align:center;padding:7px;border:1px solid #dbe3f0;border-radius:7px}.fabTableV1082 td:nth-child(2) input{background:#eff6ff}.fabTableV1082 td:nth-child(3) input{background:#ecfdf5}.fabTableV1082 td:nth-child(4) input{background:#fff7ed}.fabTableV1082 td:nth-child(5) input{background:#fff1f2}.fabTableV1082 td:nth-child(6) input{background:#f5f3ff}.lineariNeedV1082 td{background:#dcfce7;font-weight:800}.lineariDiffV1082 td{background:#fff7ed;font-weight:800}.companyLogoPreviewV1082{width:58px;height:58px;object-fit:contain;border:1px solid #e2e8f0;border-radius:12px;padding:4px;background:#fff}.companyLogoTopV1082{width:38px;height:38px;object-fit:contain;border-radius:8px;margin-right:10px;background:#fff}.logoTitleV1082{display:flex;align-items:center;gap:8px}.companyLogoPrintV1082{width:34px;height:34px;object-fit:contain}.lineariPauseInfoV94:empty{background:#fff!important}
@media print{body.printLineariV94 .companyLogoPrintV1082{width:9mm!important;height:9mm!important}.lineariNeedV1082 td{background:#dcfce7!important}.lineariDiffV1082 td{background:#fff7ed!important}}
/* V108.4 */
#fixedDaysBoxV15 .weekdayChecks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}#fixedDaysBoxV15 .weekdayChecks label{border:1px solid #d7deea;border-radius:10px;padding:8px 10px;background:#fff}#workModeValidityV1084{margin-top:12px}

/* ===== V108.8 — Dipendenti responsive: tabella desktop, schede mobile ===== */
.employeeMobileV1088{display:none}
@media(max-width:599px){
  .employeeDesktopV1088{display:none!important}
  .employeeMobileV1088{display:grid!important;gap:12px;margin-top:14px}
  .employeeCardV1088{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;box-shadow:0 5px 16px rgba(15,23,42,.05);min-width:0}
  .employeeCardHeadV1088{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #eef2f7}
  .employeeCardHeadV1088 h4{font-size:18px;margin:0 0 3px;color:#172033}.employeeCardHeadV1088 span{font-size:13px;color:#64748b}
  .employeeCardGridV1088{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(90px,.65fr);gap:14px 12px;padding:14px 0}
  .employeeCardGridV1088>div{min-width:0}.employeeCardGridV1088 small{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.employeeCardGridV1088 b,.employeeCardGridV1088 span{display:block;overflow-wrap:anywhere}.employeeCardGridV1088 b{font-size:14px;color:#1e293b}.employeeCardGridV1088 span{font-size:12px;color:#64748b;margin-top:2px}
  .employeeSkillsV1088{grid-column:1/-1}
  .employeeCardActionsV1088{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #eef2f7;padding-top:12px}
  .employeeCardActionsV1088 .btn{width:100%;min-width:0;padding:10px 8px;font-size:12px;white-space:normal}
  .employeeCardActionsV1088 .btn:first-child{grid-column:1/-1}
}

/* ===== V108.10 — directory dipendenti ===== */
.empSummaryV10810{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.empSummaryV10810>div{border:1px solid #e2e8f0;border-radius:14px;padding:13px;background:#f8fafc}.empSummaryV10810 b{display:block;font-size:24px;color:#172033}.empSummaryV10810 span{font-size:12px;color:#64748b}.empToolsV10810{margin-bottom:14px}.empToolsV10810 input{width:100%;padding:12px 14px;border:1px solid #d7deea;border-radius:12px;font:inherit}.empFiltersV10810{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.empFiltersV10810 button{border:1px solid #dbe3f0;background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer}.empFiltersV10810 button.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.empClickableV10810{cursor:pointer}.empNameLinkV10810{border:0;background:none;padding:0;font:inherit;font-weight:800;color:#172033;cursor:pointer}.employeeDetailV10810{display:grid;gap:14px}.empBackV10810{width:max-content;border:0;background:none;color:#4f46e5;font-weight:700;cursor:pointer}.employeeDetailHeadV10810{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.employeeDetailHeadV10810 h2{margin:0}.employeeDetailHeadV10810 p{margin:4px 0 0;color:#64748b}.empDetailGridV10810{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.empDetailGridV10810 small{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.empDetailGridV10810 b,.empDetailGridV10810 span{display:block}.empSkillsTextV10810{font-weight:700}.empDetailActionsV10810{max-width:760px}
@media(max-width:599px){.employeeDirectoryCardV10810{padding:14px!important}.employeeDirectoryCardV10810 .sectionTitle{align-items:center}.employeeDirectoryCardV10810 .sectionTitle p{display:none}.employeeDirectoryCardV10810 .sectionTitle h3{font-size:22px}.employeeDirectoryCardV10810 .sectionTitle .btn{padding:10px 12px;font-size:12px}.empSummaryV10810{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.empSummaryV10810>div{padding:10px 6px;text-align:center}.empSummaryV10810 b{font-size:20px}.empSummaryV10810 span{font-size:9px;overflow-wrap:anywhere}.empFiltersV10810{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.empFiltersV10810 button{white-space:nowrap}.empCompactListV10810{display:grid!important;gap:8px}.empCompactCardV10810{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:8px;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:13px;cursor:pointer;color:#172033}.empCompactCardV10810>div:first-child b,.empCompactCardV10810>div:first-child span{display:block}.empCompactCardV10810>div:first-child b{font-size:15px}.empCompactCardV10810>div:first-child span{font-size:12px;color:#64748b;margin-top:2px}.empCompactRightV10810{text-align:right}.empCompactRightV10810 small{display:block;color:#64748b;margin-top:4px}.empCompactCardV10810>strong{font-size:24px;color:#64748b}.empDetailGridV10810{grid-template-columns:1fr 1fr;gap:14px}.employeeDetailV10810 .card{padding:16px}.employeeDetailHeadV10810 h2{font-size:22px}.empDetailActionsV10810{display:grid!important}}

/* V108.12 • Fabbisogno totale + distribuzione aree */
.distGridV112{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:7px;align-items:end}.distGridV112 label{font-size:11px;color:#6b7280}.distGridV112 label span{display:block;margin-bottom:3px}.distGridV112 input{width:100%;min-width:0}.distStatusV112{grid-column:1/-1;font-size:12px;font-weight:800}.distOkV112{color:#15803d}.distWarnV112{color:#b45309}@media(max-width:760px){.distGridV112{grid-template-columns:1fr 1fr}.dateDemandCard .table{display:block;overflow-x:auto}.dateDemandCard .table th,.dateDemandCard .table td{min-width:105px}.dateDemandCard .table th:nth-child(4),.dateDemandCard .table td:nth-child(4){min-width:300px}}
/* V108.13 • controllo distribuzione fabbisogno */
.fabCheckV10813{white-space:nowrap;font-weight:700;min-width:130px}.distOkV112{color:#16803b}.distWarnV112{color:#b45309}

/* ===== V108.14 — Fabbisogno mobile a schede ===== */
.fabMobileV10814{display:none}
@media(max-width:599px){
  .fabV1082{padding:14px!important}
  .fabV1082 .sectionTitle{display:block}
  .fabV1082 .sectionTitle h3{font-size:22px;margin-bottom:6px}
  .fabV1082 .sectionTitle .row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px}
  .fabV1082 .sectionTitle .btn{min-width:0;padding:11px 12px;white-space:normal}
  .fabTabsV1082{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:12px 0}
  .fabTabsV1082 button{padding:10px 5px;font-size:13px;min-width:0}
  .fabTabsV1082 button:nth-child(6),.fabTabsV1082 button:nth-child(7){grid-row:2}
  .fabHoursV1082{display:grid!important;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:8px;align-items:end}
  .fabHoursV1082>span:not(.notice){text-align:center;padding-bottom:12px}
  .fabHoursV1082 input{width:100%;font-size:17px;padding:11px}
  .fabHoursV1082 .notice{grid-column:1/-1;text-align:center;margin-top:2px}
  .fabDesktopV10814{display:none!important}
  .fabMobileV10814{display:grid;gap:10px;margin-top:16px}
  .fabSlotCardV10814{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04)}
  .fabSlotHeadV10814{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
  .fabSlotHeadV10814>b{font-size:18px;color:#172033}
  .fabSlotStatusV10814{font-size:13px;font-weight:800;background:#f8fafc;border-radius:999px;padding:6px 9px;white-space:nowrap}
  .fabTotalV10814{display:grid;grid-template-columns:1fr 72px;align-items:center;gap:8px;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;padding:7px 10px;margin-bottom:8px}
  .fabTotalV10814 span{font-weight:700;font-size:13px}
  .fabTotalV10814 input,.fabAreaV10814 input{width:100%;min-width:0;border:0;background:transparent;text-align:center;font-size:18px;padding:3px;outline:none}
  .fabTotalV10814 input{font-weight:800}
  .fabAreasV10814{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .fabAreaV10814{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #e2e8f0;border-radius:10px;padding:7px 3px;min-width:0}
  .fabAreaV10814 span{font-size:10px;font-weight:800;white-space:nowrap}
  .fabArea-managerV10814{background:#ecfdf5}.fabArea-cucinaV10814{background:#fff7ed}.fabArea-frontV10814{background:#fff1f2}.fabArea-mccafeV10814{background:#f5f3ff}
  .fabHelpV10814{font-size:12px}
}

/* V108.23 Fabbisogno: Crew + Manager / Distribuzione per area */
.fabModeTabsV10823{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}.fabModeTabsV10823 .btn{min-width:190px}.fabTableV1082 input[type=number]{min-width:58px;max-width:82px}@media(max-width:700px){.fabModeTabsV10823{display:grid;grid-template-columns:1fr 1fr}.fabModeTabsV10823 .btn{min-width:0;padding:10px 6px}.fabScrollV1082{overflow-x:auto;-webkit-overflow-scrolling:touch}.fabTableV1082{min-width:620px}}

/* V108.70 - Nome + ORE fissi a sinistra in Pianificazione */
.planningTableOreLeftV10870 .stickyName{left:0!important;z-index:4!important;}
.planningTableOreLeftV10870 .stickyOreV10870{position:sticky;left:190px;z-index:3;background:#fff;min-width:82px;width:82px;max-width:82px;text-align:center;}
.planningTableOreLeftV10870 thead .stickyOreV10870{z-index:5;background:#f9fafb;}
@media(max-width:700px){.planningTableOreLeftV10870 .stickyOreV10870{left:145px;min-width:76px;width:76px;max-width:76px;}}
@media print{body.printPlanningV16 .planningTableOreLeftV10870 .stickyOreV10870{position:static!important;} body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableOreLeftV10870 th:last-child,body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableOreLeftV10870 td:last-child{display:table-cell!important;}}
/* V108.88 — copertura compatta a fisarmonica */
.coverageCompactListV10888{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.coverageDayV10888{border:1px solid #e4e7ec;border-radius:12px;overflow:hidden;background:#fff}.coverageDayV10888.hasMissing{border-color:#fed7aa}
.coverageDaySummaryV10888{display:grid;grid-template-columns:72px 112px minmax(180px,1fr) minmax(170px,1fr) 130px;gap:12px;align-items:center;padding:10px 12px;cursor:pointer;background:#fff}
.coverageDayV10888.hasMissing .coverageDaySummaryV10888{background:#fffdf9}.coverageDateV10888{display:flex;flex-direction:column}.coverageDateV10888 b{font-size:13px}.coverageDateV10888 strong{font-size:16px}
.coveragePillV10888{padding:6px 9px;border-radius:999px;text-align:center;font-size:12px;font-weight:800}.coveragePillV10888.bad{background:#fee4e2;color:#b42318}.coveragePillV10888.good{background:#dcfae6;color:#067647}
.coverageBarWrapV10888{display:flex;align-items:center;gap:9px}.coverageBarV10888{height:9px;flex:1;background:#edf2f7;border-radius:99px;overflow:hidden}.coverageBarV10888 i{display:block;height:100%;background:#f79009;border-radius:99px}.coverageDayV10888:not(.hasMissing) .coverageBarV10888 i{background:#12b76a}.coverageCountsV10888{font-size:12px;line-height:1.5}.coverageCountsV10888 b{color:#d92d20}
.coverageToggleV10888{padding:7px 10px!important}.coverageDetailV10888{display:none;padding:0 12px 10px}.coverageDayV10888.open .coverageDetailV10888{display:block}.coverageDetailHeadV10888,.coverageDetailRowV10888{display:grid;grid-template-columns:1.2fr .7fr .7fr 2fr;gap:10px;padding:8px 10px;align-items:center}.coverageDetailHeadV10888{background:#f8fafc;font-size:11px;font-weight:800;color:#475467;border-radius:8px}.coverageDetailRowV10888{font-size:12px;border-bottom:1px solid #f2f4f7}.coverageDetailRowV10888:last-child{border-bottom:0}
@media(max-width:900px){.coverageDaySummaryV10888{grid-template-columns:70px 105px 1fr 120px}.coverageCountsV10888{display:none}.coverageToggleV10888{grid-column:4}}
@media(max-width:650px){.coverageDaySummaryV10888{grid-template-columns:1fr 1fr}.coverageBarWrapV10888,.coverageCountsV10888{grid-column:1/-1}.coverageToggleV10888{grid-column:auto}.coverageDetailHeadV10888,.coverageDetailRowV10888{grid-template-columns:1.2fr .6fr .6fr 1.5fr;font-size:11px}}

/* V108.90 — Pianificazione compatta desktop: settimana completa leggibile al 100% zoom */
@media (min-width: 901px){
  .planningTableWrap{overflow-x:auto!important;}
  .planningTable{min-width:0!important;width:100%!important;table-layout:fixed!important;font-size:11px!important;}
  .planningTable th,.planningTable td{padding:5px 3px!important;}
  .planningTable .stickyName{min-width:128px!important;width:128px!important;max-width:128px!important;}
  .planningTableOreLeftV10870 .stickyOreV10870{left:128px!important;min-width:48px!important;width:48px!important;max-width:48px!important;}
  .planningTable th:not(.stickyName):not(.stickyOreV10870),.planningTable td:not(.stickyName):not(.stickyOreV10870){width:auto!important;}
  .planCell{min-width:0!important;width:100%!important;min-height:42px!important;padding:5px 2px!important;border-radius:7px!important;font-size:10px!important;line-height:1.1!important;}
  .planCell b{font-size:10px!important;white-space:nowrap!important;}
  .planCell small{font-size:8px!important;margin-top:2px!important;white-space:nowrap!important;}
  .planningTable td small,.planningTable th small{margin-top:1px!important;font-size:9px!important;}
  .planningNotesRowV10865 input{min-width:0!important;width:100%!important;padding:5px 3px!important;font-size:9px!important;}
}

/* V108.91 — leggibilità pianificazione senza allargare la settimana */
@media (min-width: 901px){
  .planningTable .planCell b{font-size:12px!important;font-weight:800!important;letter-spacing:-.1px!important;}
  .planningTable .planCell small{font-size:9px!important;line-height:1.15!important;}
  .planningNotesRowV10865 td,.planningNotesRowV10865 th{text-align:center!important;}
  .planningNotesRowV10865 input{text-align:center!important;font-size:10px!important;}
  .planningNotesRowV10865 input::placeholder{text-align:center!important;}
}

/* V108.127 — legenda colori reale + eccezione disponibilità */
.planCell.tsVacYellowV108127,.tsLegendV108127.tsVacYellowV108127{background:#ffe600!important;color:#171717!important;border-color:#d6c400!important}
.planCell.tsAbsSickV108127,.tsLegendV108127.tsAbsSickV108127{background:#ef3038!important;color:#fff!important;border-color:#d51f27!important}
.planCell.tsAbsMaternityV108127,.tsLegendV108127.tsAbsMaternityV108127{background:#e8a0bd!important;color:#32131f!important;border-color:#d584a5!important}
.planCell.tsAbsPurpleV108127,.tsLegendV108127.tsAbsPurpleV108127{background:#6752a5!important;color:#fff!important;border-color:#523d8e!important}
.planCell.tsAbsCourseV108127,.tsLegendV108127.tsAbsCourseV108127{background:#355db8!important;color:#fff!important;border-color:#294b9b!important}
.planCell.tsAbsRolV108127,.tsLegendV108127.tsAbsRolV108127{background:#d92b78!important;color:#fff!important;border-color:#bb1e63!important}
.planCell.tsAbsInjuryV108127,.tsLegendV108127.tsAbsInjuryV108127{background:#9a6139!important;color:#fff!important;border-color:#7e4d2c!important}
.planCell.tsAbsUnjustifiedV108127,.tsLegendV108127.tsAbsUnjustifiedV108127{background:#8b9098!important;color:#fff!important;border-color:#747982!important}
.planCell.tsAbsChildV108127,.tsLegendV108127.tsAbsChildV108127{background:#35a9d6!important;color:#fff!important;border-color:#248db7!important}
.planCell.tsAbsGenericV108127,.tsLegendV108127.tsAbsGenericV108127{background:#e5e7eb!important;color:#111827!important;border-color:#cbd5e1!important}
.planCell.tsVacYellowV108127 small,.planCell.tsAbsSickV108127 small,.planCell.tsAbsMaternityV108127 small,.planCell.tsAbsPurpleV108127 small,.planCell.tsAbsCourseV108127 small,.planCell.tsAbsRolV108127 small,.planCell.tsAbsInjuryV108127 small,.planCell.tsAbsUnjustifiedV108127 small,.planCell.tsAbsChildV108127 small{color:inherit!important;opacity:.86}
.tsLegendV108127{padding:6px 9px!important;border:1px solid transparent!important;border-radius:999px!important}


/* ===== V139 — Lineari: coperture, Crew/Manager separati, stampa A4 orizzontale ===== */
.lineariSectionV139 td{background:#e8eef9!important;font-weight:900;text-align:left!important;padding:5px 7px!important;letter-spacing:.04em}
.lineariSpacerV139 td{height:9px!important;background:#fff!important;border-left:0!important;border-right:0!important}
@media print{
  @page{size:A4 landscape!important;margin:4mm!important}
  body.printLineariV94 .lineariPrintSheetV94{page:lineariPage!important;width:289mm!important;max-width:289mm!important;margin:0 auto!important}
  body.printLineariV94 .lineariTableV94{width:100%!important;min-width:0!important;font-size:5.4pt!important;table-layout:fixed!important}
  body.printLineariV94 .lineariTableV94 th,body.printLineariV94 .lineariTableV94 td{height:4.4mm!important;font-size:5.1pt!important}
  body.printLineariV94 .lineariNameV94{width:34mm!important;min-width:34mm!important;max-width:34mm!important;font-size:5.6pt!important}
  body.printLineariV94 .lineariPauseInfoV94{width:13mm!important;min-width:13mm!important;max-width:13mm!important;font-size:5pt!important}
  body.printLineariV94 .lineariSectionV139 td{height:4.5mm!important;font-size:6pt!important;padding-left:1.5mm!important}
  body.printLineariV94 .lineariSpacerV139 td{height:2.5mm!important;border:0!important}
}
@page lineariPage{size:A4 landscape;margin:4mm}


/* ===== V140 — Lineari print leggibile A4 + coperture persistenti ===== */
@media print{
 @page{size:A4 landscape!important;margin:4mm!important}
 body.printLineariV94 .lineariPrintSheetV94{width:289mm!important;max-width:289mm!important;margin:0 auto!important;padding:0!important}
 body.printLineariV94 .lineariTableV94{width:100%!important;table-layout:fixed!important;font-size:6.2pt!important}
 body.printLineariV94 .lineariTableV94 th,body.printLineariV94 .lineariTableV94 td{height:6.2mm!important;font-size:6pt!important;padding:0.45mm!important}
 body.printLineariV94 .lineariTableV94 th{font-size:5.7pt!important}
 body.printLineariV94 .lineariNameV94{width:34mm!important;min-width:34mm!important;max-width:34mm!important;font-size:6.4pt!important}
 body.printLineariV94 .lineariPauseInfoV94{width:13mm!important;min-width:13mm!important;max-width:13mm!important;font-size:5.8pt!important}
 body.printLineariV94 .lineariSectionV139 td{height:5.8mm!important;font-size:6.6pt!important}
 body.printLineariV94 .lineariSpacerV139 td{height:2.2mm!important;border:0!important}
 body.printLineariV94 .lineariPrintTitleV94{font-size:8pt!important;margin-bottom:1.5mm!important}
}

/* ===== V108.160 — TurnoSmart mobile redesign (visual only) ===== */
.tsWorkerMobileOnlyV108160{display:none}
.tsGeneralHeroV108160{background:linear-gradient(135deg,#eef2ff,#f8fafc);border:1px solid #e4e7ec;border-radius:20px;padding:22px;margin-bottom:14px}.tsGeneralHeroV108160 small{font-weight:800;color:#4f46e5}.tsGeneralHeroV108160 h2{margin:6px 0}.tsGeneralHeroV108160 p{margin:0;color:#667085}
.tsGeneralKpisV108160{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.tsGeneralKpisV108160>div{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:16px}.tsGeneralKpisV108160 b{font-size:28px;display:block}.tsGeneralKpisV108160 span{font-size:12px;color:#667085}
.tsGeneralLocationV108160{width:100%;border:1px solid #e4e7ec;background:#fff;border-radius:14px;padding:14px;margin-top:9px;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:10px;text-align:left;cursor:pointer}.tsGeneralLocationV108160:hover{background:#f8faff;border-color:#c7d2fe}.tsGeneralLocationV108160 small{display:block;color:#667085;margin-top:3px}.tsGeneralLocationV108160 strong{font-size:24px}.tsLocationIconV108160{width:40px;height:40px;border-radius:12px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:22px}
@media(max-width:700px){
 body{background:#f6f7fb}.main{padding:0 14px 24px!important}.topbar{padding:14px 0!important;align-items:flex-start!important}.topbar h2{font-size:23px!important}.topbar .user{gap:6px!important}.topbar .user .btn{padding:9px 12px!important}.roleBadge,.badge{font-size:11px!important}
 .card{border-radius:18px!important;padding:16px!important;box-shadow:0 5px 18px rgba(16,24,40,.04)}.grid.cards{grid-template-columns:1fr 1fr!important;gap:10px!important}.dashboardKpiV16{min-height:112px!important;text-align:left!important}.kpi{font-size:28px!important}
 .table{min-width:720px}.card:has(>.table),.planningTableWrap,.monteOreCardV15{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.sectionTitle{align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important}.row{flex-wrap:wrap!important}
 .corporateLoginV1{min-height:100dvh!important}.corporateLoginShellV1{display:block!important;min-height:100dvh!important}.corporateLoginBrandV1{display:none!important}.corporateLoginFormV1{min-height:100dvh!important;padding:24px 18px!important;background:linear-gradient(180deg,#eef3ff 0,#f8faff 46%,#fff 100%)!important}.corporateLoginFormInnerV1{max-width:460px!important;margin:auto!important}.corporateMobileBrandV1{display:flex!important;flex-direction:column!important;align-items:center!important;margin:34px 0 26px!important}.corporateMobileBrandV1 .corporateBrandMarkV1{width:82px!important;height:82px!important}.corporateMobileBrandV1 .corporateBrandNameV1{font-size:40px!important;margin-top:10px!important}.corporateWelcomeV1{text-align:center!important}.corporateWelcomeV1 .corporateEyebrowV1{display:none!important}.corporateWelcomeV1 h1{font-size:25px!important}.corporateWelcomeV1 p{font-size:15px!important}.corporateLoginFieldsV1{background:#fff;border:1px solid #e4e7ec;border-radius:22px;padding:20px;box-shadow:0 12px 32px rgba(16,24,40,.08)}.corporateAccessBtnV1{min-height:52px!important;border-radius:13px!important}
 .tsWorkerMobileOnlyV108160{display:block}.tsMobileViewTabsV108160{display:grid;grid-template-columns:1fr 1fr;background:#eef0ff;padding:4px;border-radius:14px;margin-bottom:16px}.tsMobileViewTabsV108160 button{border:0;background:transparent;padding:11px 8px;border-radius:11px;color:#475467;font-weight:700}.tsMobileViewTabsV108160 button.active{background:#4f46e5;color:#fff;box-shadow:0 4px 12px rgba(79,70,229,.2)}.tsMobileWeekTitleV108160{text-align:center;font-weight:800;font-size:17px;margin:10px 0 14px}.tsMobileShiftV108160{display:grid;grid-template-columns:70px 1fr;gap:9px;margin:9px 0}.tsMobileDateV108160{border-radius:16px;background:#eef4ff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:76px}.tsMobileDateV108160 b{font-size:13px}.tsMobileDateV108160 strong{font-size:25px}.tsMobileShiftBodyV108160{border-radius:16px;background:#f7f9fc;padding:15px;display:flex;flex-direction:column;justify-content:center;min-height:76px}.tsMobileShiftBodyV108160>b{font-size:17px}.tsMobileShiftBodyV108160 small{color:#667085;margin-top:4px}.tsMobileShiftV108160.rest .tsMobileShiftBodyV108160{background:#f2f4f7}.tsMobileShiftV108160.vacation .tsMobileShiftBodyV108160{background:#ecfdf3}.tsMobileShiftV108160.absence .tsMobileShiftBodyV108160{background:#fff1f3}.tsMobileEventV108160{background:#fff4d6;color:#9a4b00;padding:8px 10px;border-radius:10px;font-weight:800;margin-bottom:8px}.restMonthCalendarV75{display:none!important}.tsWorkerMobileOnlyV108160+.restMonthCalendarV75{display:none!important}
 body:has(.tsMobileViewTabsV108160 button:nth-child(2).active) .restMonthCalendarV75{display:block!important}
 .tsGeneralHeroV108160{padding:18px}.tsGeneralKpisV108160{grid-template-columns:1fr 1fr;gap:9px}.tsGeneralKpisV108160>div{padding:13px}.tsGeneralKpisV108160 b{font-size:24px}.tsGeneralLocationV108160{grid-template-columns:42px 1fr 16px;padding:12px}.tsGeneralLocationV108160 small{font-size:11px;line-height:1.35}
}

/* V108.161 styles are served from style-v10811.css; marker kept for source parity. */

/* V108.185 — First-login gate indipendente dal Dashboard */
#tsFirstLoginGateV185{position:fixed;inset:0;z-index:2147483000;background:linear-gradient(135deg,#071c34 0%,#0b3158 48%,#f4f7fb 48%,#f4f7fb 100%);display:flex;align-items:center;justify-content:center;padding:24px;font-family:inherit}
.tsGateCardV185{width:min(520px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.25);color:#172033}
.tsGateBrandV185{display:flex;align-items:center;gap:12px;margin-bottom:22px}.tsGateBrandV185 b{display:block;font-size:20px;color:#0b3158}.tsGateBrandV185 small{display:block;color:#6b7280;margin-top:2px}.tsGateMarkV185{width:46px;height:46px;border-radius:14px;background:#0b3158;color:#fff;display:grid;place-items:center;font-weight:800}
.tsGateTagV185{display:inline-block;background:#eaf2ff;color:#1d5fd1;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;letter-spacing:.04em}.tsGateCardV185 h1{font-size:26px;line-height:1.15;margin:14px 0 10px}.tsGateCardV185>p{color:#596273;line-height:1.5;margin:0 0 18px}.tsGateUserV185{background:#f5f8fc;border:1px solid #e1e8f0;border-radius:14px;padding:12px 14px;margin-bottom:16px}.tsGateUserV185 b,.tsGateUserV185 span{display:block}.tsGateUserV185 span{font-size:13px;color:#6b7280;margin-top:3px}.tsGateCardV185 label{display:block;font-weight:700;font-size:14px;margin-top:12px}.tsGateCardV185 input{width:100%;box-sizing:border-box;margin-top:7px;padding:13px 14px;border:1px solid #cfd8e3;border-radius:12px;font:inherit;outline:none}.tsGateCardV185 input:focus{border-color:#2d6cdf;box-shadow:0 0 0 3px rgba(45,108,223,.12)}.tsGateHintV185{font-size:12px;color:#6b7280;margin-top:9px}.tsGateErrV185{min-height:20px;color:#b42318;font-size:13px;margin-top:8px}.tsGateCardV185 button{width:100%;border:0;border-radius:12px;padding:13px 16px;font-weight:800;cursor:pointer}.tsGateCardV185 #tsGateSaveV185{background:#1769e0;color:#fff;margin-top:4px}.tsGateCardV185 #tsGateSaveV185:disabled{opacity:.65}.tsGateExitV185{background:transparent!important;color:#526071;margin-top:8px}
@media(max-width:700px){#tsFirstLoginGateV185{background:#f4f7fb;padding:14px}.tsGateCardV185{padding:22px 18px;border-radius:20px}.tsGateCardV185 h1{font-size:23px}}

/* ===== V108.199 — STAMPA PILOTA: A4 1 FOGLIO, NO ORE, NON DISPONIBILE NERO ===== */
@page{size:A4 landscape;margin:4mm}
@media print{
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableWrap:before{font-size:8.5pt!important;margin:0 0 1mm!important;line-height:1.05!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable{font-size:5.8pt!important;line-height:1!important;width:100%!important;table-layout:fixed!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable th,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable td{padding:.25mm .35mm!important;height:5.2mm!important;min-height:0!important;vertical-align:middle!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable tr{height:5.2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable thead tr:first-child{height:6mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyName{width:25mm!important;min-width:25mm!important;max-width:25mm!important;font-size:5.5pt!important;line-height:1!important;padding:.35mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyName b{font-size:5.5pt!important;line-height:1!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyOreV10870{display:none!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;border:0!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .planCell{min-width:0!important;width:100%!important;min-height:4.3mm!important;height:4.3mm!important;padding:.15mm!important;border-radius:1mm!important;font-size:5.4pt!important;line-height:1!important;overflow:hidden!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .planCell b{font-size:5.5pt!important;line-height:1!important;white-space:nowrap!important;margin:0!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .planCell small{font-size:4.3pt!important;line-height:1!important;margin:0!important;white-space:nowrap!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningNotesRowV10865{height:4.4mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningNotesRowV10865 th{height:4.4mm!important;padding:.15mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningNotesRowV10865 input{height:3.6mm!important;min-height:0!important;padding:0 .3mm!important;border:0!important;font-size:4.3pt!important;text-align:center!important;background:#fff!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningNotesRowV10865 input::placeholder{font-size:4.2pt!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121{background:#000!important;border-color:#000!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121 b,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121 small{display:none!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableWrap,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable{break-inside:avoid!important;page-break-inside:avoid!important}
}

/* V108.201 — RIPRISTINO LOGIN APPROVATO V191 (solo visuale) */
@media(min-width:761px){
.corporateLoginV1{background:#eef3fb!important;padding:28px!important}
.corporateLoginShellV1{grid-template-columns:55% 45%!important;max-width:1480px!important;height:calc(100vh - 56px)!important;max-height:900px!important;min-height:700px!important;border-radius:28px!important;overflow:hidden!important;background:#fff!important}
.corporateLoginBrandV1{background:url('login-approved-left-v191.jpg') center center/cover no-repeat!important;padding:0!important}
.corporateLoginBrandV1:before,.corporateLoginBrandV1:after,.corporateLoginBrandV1>*{display:none!important}
.corporateLoginFormV1{background:#fff!important;padding:30px 56px!important}
.corporateLoginFormInnerV1{max-width:560px!important;padding:20px 0!important}
.corporateWelcomeV1 h1{font-size:42px!important;line-height:1.08!important}
.corporateLoginFieldsV1{margin-top:28px!important}
.corporateInputV1{height:62px!important;border-radius:14px!important}
.corporateAccessBtnV1{height:62px!important;border-radius:13px!important}
}
/* V203 ferie filters */
.vacFilterCardV203{margin-top:16px}.vacFiltersV203{display:grid;grid-template-columns:110px 150px 150px 150px minmax(180px,1fr) auto;gap:10px;align-items:end}.vacFiltersV203 label{font-weight:700;font-size:13px}.vacFiltersV203 select,.vacFiltersV203 input{display:block;width:100%;margin-top:5px;padding:10px 11px;border:1px solid #d7deea;border-radius:10px;background:#fff}.vacFiltersV203 .btn{height:42px}@media(max-width:900px){.vacFiltersV203{grid-template-columns:1fr 1fr}.vacSearchV203{grid-column:1/-1}}
/* V204 — eccezioni ferie */
.vacWorkDaysV204{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;max-height:300px;overflow:auto}
.vacWorkDayV204{display:flex;align-items:center;gap:9px;border:1px solid #dfe5ef;border-radius:10px;padding:9px 10px;background:#fff;cursor:pointer}
.vacWorkDayV204 input{width:18px;height:18px}.vacWorkDayV204 span{display:flex;flex-direction:column}.vacWorkDayV204 small{color:#667085}


/* ===== V108.205 — PIANIFICAZIONE HEADER 1 RIGA + STAMPA A4 PIENA CON CORNICE BIANCA ===== */
@media(min-width:901px){
  .planningToolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:10px 14px!important}
  .planningToolbar>div:first-child{display:flex!important;align-items:center!important;gap:8px!important;min-width:210px!important;white-space:nowrap!important}
  .planningToolbar>div:first-child .muted:first-child{display:none!important}
  .planningToolbar>div:first-child h3{font-size:16px!important;margin:0!important;white-space:nowrap!important}
  .planningToolbar>div:first-child .muted:last-child{font-size:12px!important;white-space:nowrap!important}
  .planningToolbar>.row{flex-wrap:nowrap!important;gap:7px!important;align-items:center!important;margin:0!important}
  .planningToolbar>.row .btn,.planningToolbar>.row select.btn{height:40px!important;padding:8px 12px!important;white-space:nowrap!important}
}
@page{size:A4 landscape;margin:8mm}
@media print{
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94{margin:0!important;padding:0!important;background:#fff!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 #content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableWrap{width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableWrap:before{font-size:9.2pt!important;margin:0 0 1.5mm!important;line-height:1.05!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable{width:100%!important;max-width:100%!important;font-size:6.3pt!important;line-height:1.02!important;table-layout:fixed!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable th,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable td{padding:.35mm .45mm!important;height:5.7mm!important;vertical-align:middle!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable tr{height:5.7mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable thead tr:first-child{height:6.5mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyName{width:29mm!important;min-width:29mm!important;max-width:29mm!important;font-size:6.1pt!important;padding:.4mm .55mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyName b{font-size:6.1pt!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .stickyOreV10870{display:none!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;border:0!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .planCell{min-height:4.8mm!important;height:4.8mm!important;font-size:6pt!important;padding:.2mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .planCell b{font-size:6.1pt!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable .planCell small{font-size:4.8pt!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningNotesRowV10865,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningNotesRowV10865 th{height:4.8mm!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningNotesRowV10865 input{height:4mm!important;font-size:4.7pt!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121{background:#000!important;border-color:#000!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121 b,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121 small{display:none!important}
}

/* ===== V108.206 — MOBILE LOGIN COMPATTO + SUPER ADMIN MOBILE FIX ===== */
@media(max-width:760px){
  .corporateLoginV1{min-height:100dvh!important;padding:0!important;background:linear-gradient(180deg,#eef3ff 0,#f8faff 100%)!important}
  .corporateLoginShellV1{display:block!important;min-height:100dvh!important;width:100%!important;border-radius:0!important;box-shadow:none!important}
  .corporateLoginBrandV1{display:none!important}
  .corporateLoginFormV1{min-height:100dvh!important;padding:18px 18px 24px!important;display:block!important;background:transparent!important}
  .corporateLoginFormInnerV1{max-width:460px!important;margin:0 auto!important;padding:0!important}
  .corporateMobileBrandV1{display:flex!important;flex-direction:column!important;align-items:center!important;margin:18px 0 10px!important}
  .corporateMobileBrandV1 .corporateBrandMarkV1{width:58px!important;height:58px!important}
  .corporateMobileBrandV1 .corporateBrandNameV1{font-size:32px!important;line-height:1!important;margin-top:8px!important}
  .corporateWelcomeV1{text-align:center!important;margin:0 0 16px!important}
  .corporateWelcomeV1 .corporateEyebrowV1{display:none!important}
  .corporateWelcomeV1 h1{font-size:23px!important;line-height:1.12!important;margin:8px 0!important}
  .corporateWelcomeV1 h1 .tsLoginBlueV178{display:none!important}
  .corporateWelcomeV1 p{font-size:14px!important;line-height:1.35!important;margin:0!important}
  .corporateLoginFieldsV1{margin-top:0!important;background:#fff!important;border:1px solid #e4e7ec!important;border-radius:20px!important;padding:16px!important;box-shadow:0 10px 28px rgba(16,24,40,.07)!important}
  .corporateLoginFieldsV1 label{font-size:13px!important;margin-top:10px!important}
  .corporateInputV1{height:54px!important;border-radius:13px!important}
  .corporateAccessBtnV1{height:54px!important;min-height:54px!important;border-radius:13px!important;margin-top:16px!important}
  #forgotPwdV26{margin-top:12px!important;font-size:14px!important}
  .corporateSecurityV1{margin:14px 0 0!important;padding:12px 14px!important;border-radius:14px!important}
  .corporateSecurityV1 p{margin:0!important}.corporateSecurityV1 small{font-size:11px!important;line-height:1.3!important}
  .corporateCopyrightV1{font-size:10px!important;margin:12px 0 0!important}
  body.tsSuperAdminV206 #content{display:block!important;visibility:visible!important;opacity:1!important;min-height:120px!important}
  body.tsSuperAdminV206 .sidebar #nav{display:block!important;visibility:visible!important;opacity:1!important}
  body.tsSuperAdminV206 .sidebar #nav button{display:block!important;width:100%!important;color:#dce6f5!important;background:transparent!important;border:0!important;text-align:left!important;padding:12px!important;margin:3px 0!important}
  body.tsSuperAdminV206 .sidebar #nav button.active{background:#1e293b!important;color:#fff!important}
  body.tsSuperAdminV206 .superCompanyCardsV78{display:grid!important;gap:10px!important}
  body.tsSuperAdminV206 .superCompanyDesktopV78{display:none!important}
}

/* ===== V108.207 — STAMPA PRIVACY + MARGINI A4 + TOOLBAR CONTENUTA ===== */
@media(min-width:901px){
  .planningToolbar>div:first-child{min-width:0!important;flex:0 1 auto!important}
  .planningToolbar>.row{min-width:0!important;flex:0 1 auto!important}
  .planningToolbar>.row .btn,.planningToolbar>.row select.btn{padding-left:9px!important;padding-right:9px!important;font-size:13px!important}
}
@page{size:A4 landscape;margin:9mm!important}
@media print{
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 #content{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTableWrap{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planningTable{width:100%!important;max-width:100%!important}
  /* Privacy: in stampa resta solo il colore, mai il motivo dell'assenza/non pianificabilità. */
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planCell.employmentBlocked b,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planCell.employmentBlocked small,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planCell.absence b,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planCell.absence small,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121 b,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121 small{display:none!important}
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planCell.employmentBlocked,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .planCell.absence,
  body.printPlanningV16.restaurantPrintWeeklyOnlyV94 .recurringUnavailableV108121{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
/* V108.208 — Ruoli e permessi */
.roleTabsV208{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-top:14px}.roleTabV208{border:1px solid #dbe4f0;background:#f8fafc;border-radius:12px;padding:13px 14px;text-align:left;color:#0f2748;cursor:pointer}.roleTabV208.active{border-color:#2f6df6;background:#eef4ff;box-shadow:0 0 0 1px #2f6df6 inset}.roleTabV208 small{display:block;color:#6b7a90;margin-top:4px}.permTableV208{width:100%;border-collapse:collapse}.permTableV208 th,.permTableV208 td{padding:10px 12px;border-bottom:1px solid #e8edf4;vertical-align:middle}.permTableV208 th{background:#f7f9fc;text-align:left;color:#213654}.permCenter{text-align:center}.permCenter input,.roleActionsV208 input{width:18px;height:18px;accent-color:#1769e8}.permSummaryV208{color:#66758a;font-size:13px}.permConfigV208{padding:7px 12px!important}.roleActionsV208{display:grid;gap:10px;margin-top:16px}.roleActionsV208 label{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e3e9f2;border-radius:9px;background:#fff}@media(max-width:900px){.roleTabsV208{grid-template-columns:1fr 1fr}.permTableV208{min-width:760px}}@media(max-width:560px){.roleTabsV208{grid-template-columns:1fr}.permTableV208{min-width:720px}}

/* V108.209 LOGIN HARD ISOLATION
   appView must never render underneath login. Later responsive .app !important
   rules previously overrode the generic .hidden rule. */
#appView.hidden{display:none!important;visibility:hidden!important;}
#loginView.hidden{display:none!important;visibility:hidden!important;}

/* V108.210 — Comunicazioni e notifiche */
.tsCommComposerV210{margin-bottom:18px}.tsCommGridV210{display:grid;grid-template-columns:2fr 1fr;gap:12px}.tsCommComposerV210 label{display:flex;flex-direction:column;gap:6px;font-weight:700;margin:8px 0}.tsCommComposerV210 input,.tsCommComposerV210 select,.tsCommComposerV210 textarea{width:100%;box-sizing:border-box}.tsCommAttachV210,.tsCommActionsV210,.tsCommTopV210{display:flex;align-items:center;gap:10px}.tsCommActionsV210{justify-content:flex-end;margin-top:12px}.tsCommListTitleV210{margin-top:18px}.tsCommListV210{display:grid;gap:12px}.tsCommTopV210{justify-content:space-between}.tsCommCardV210 h3{margin:12px 0 6px}.tsNotifBtnV210{position:relative;border:0;background:transparent;font-size:21px;cursor:pointer;margin-left:auto}.tsNotifBtnV210 span{position:absolute;right:-7px;top:-7px;min-width:18px;height:18px;border-radius:20px;background:#d93025;color:white;font:700 11px/18px Arial;text-align:center}.tsNotifRowV210{padding:12px 0;border-bottom:1px solid #e6e9ef}.tsNotifRowV210 span{float:right;color:#667085;font-size:12px}.tsNotifRowV210 p{margin:6px 0 0;color:#475467}@media(max-width:700px){.tsCommGridV210{grid-template-columns:1fr}.tsCommAttachV210{align-items:flex-start;flex-direction:column}.tsNotifRowV210 span{float:none;display:block;margin-top:3px}}

/* V214 — Identità 4TC + responsive PC/mobile */
:root{
  --bg:#fff8f6;--card:#fff;--text:#20242b;--muted:#6f737b;
  --primary:#c91522;--primary2:#a90f19;--line:#eee2de;--sidebar:#b80f1b;
  --fourtc-red:#c91522;--fourtc-dark:#8f0b14;--fourtc-yellow:#ffc928;--fourtc-soft:#fff2ee;
}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#fff9f7 0,#f8f7f6 100%)}
.sidebar{background:linear-gradient(180deg,#c91522 0%,#9e0b15 100%);box-shadow:4px 0 18px rgba(120,15,20,.12)}
.brand4TC{display:flex;align-items:center;gap:10px;font-size:25px;letter-spacing:.2px}.brand4TC img{width:42px;height:42px;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.nav button{color:#fff1ee}.nav button.active,.nav button:hover{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 3px 0 0 var(--fourtc-yellow)}
.card{border-color:var(--line);box-shadow:0 5px 18px rgba(79,31,25,.055)}
.btn{background:linear-gradient(135deg,var(--fourtc-red),#e12631);box-shadow:0 3px 9px rgba(201,21,34,.15)}
.btn.secondary{background:#fff1ed;color:#a40e18;border:1px solid #f3d8d1;box-shadow:none}.btn.secondary:hover{background:#ffe7e1}
.badge{background:#fff0e9;color:#a40e18}.notice{background:#fff2e8;color:#8d2d17;border-left:4px solid var(--fourtc-yellow)}
.table th{background:#fff8f5}.table th,.table td{border-color:#eee4e0}.planningStatus.draft{background:#f3f3f3}.planningStatus.approval{background:#fff3cc;color:#7a5300}.planningStatus.published{background:#e6f8ec;color:#166534}
.topbar h2,.card h2,.card h3{color:#292426}.kpi{color:#9f1019}
input:focus,select:focus{outline:2px solid rgba(201,21,34,.15);border-color:#d83b45}
.loginWrap{background:radial-gradient(circle at 20% 10%,#fff7e3 0,transparent 32%),linear-gradient(145deg,#fff7f4,#f7e8e5)}
.login{border-top:5px solid var(--fourtc-red)}
.mobilePlanDayNavV214{display:none}

@media(min-width:701px){
 .app{grid-template-columns:250px 1fr}.main{padding:26px 30px}.card{border-radius:18px}.topbar{margin-bottom:18px}
}
@media(max-width:700px){
 body{background:#f8f6f5}.app{display:block}.sidebar{position:sticky;top:0;padding:8px 10px;z-index:80}
 .brand4TC{margin:0 0 7px;font-size:20px}.brand4TC img{width:34px;height:34px;border-radius:10px}
 .nav{gap:5px}.nav button{background:rgba(255,255,255,.08);padding:8px 10px;font-size:12px}.nav button.active{box-shadow:inset 0 -3px 0 var(--fourtc-yellow)}
 .main{padding:12px 9px 24px}.topbar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px}.topbar h2{font-size:20px}
 .card{border-radius:16px;padding:12px}.btn{min-height:44px;border-radius:12px}.planningToolbar>.row{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.planningToolbar>.row>*{width:100%;min-width:0}.planningToolbar>.row .planningStatus{display:flex;align-items:center;justify-content:center;min-height:44px}
 .mobilePlanDayNavV214{display:flex;align-items:center;gap:8px;margin:10px 0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;position:sticky;top:76px;z-index:35;box-shadow:0 5px 14px rgba(0,0,0,.06)}
 .mobilePlanDayNavV214 label{font-size:12px;font-weight:800;color:#8f0b14}.mobilePlanDayNavV214 select{flex:1;border-color:#f0d4cd;background:#fff8f5;color:#8f0b14;font-weight:750}
 .planningTableWrap{margin:0!important;border-radius:16px!important;overflow:hidden!important;padding:0!important}.planningTable{min-width:0!important;width:100%;table-layout:fixed}.planningTable th,.planningTable td{white-space:normal!important;padding:10px 6px!important}.planningTable .stickyName{position:static!important;min-width:0!important;width:44%;font-size:13px}.planningTable .stickyOreV10870{position:static!important;width:20%;font-size:12px}.planningTable th:nth-child(n+4),.planningTable td:nth-child(n+4){display:none}.planningTable th:nth-child(3),.planningTable td:nth-child(3){display:table-cell;width:36%}
 .planningTableWrap.day4V214 th:nth-child(3),.planningTableWrap.day4V214 td:nth-child(3),.planningTableWrap.day5V214 th:nth-child(3),.planningTableWrap.day5V214 td:nth-child(3),.planningTableWrap.day6V214 th:nth-child(3),.planningTableWrap.day6V214 td:nth-child(3),.planningTableWrap.day7V214 th:nth-child(3),.planningTableWrap.day7V214 td:nth-child(3),.planningTableWrap.day8V214 th:nth-child(3),.planningTableWrap.day8V214 td:nth-child(3),.planningTableWrap.day9V214 th:nth-child(3),.planningTableWrap.day9V214 td:nth-child(3){display:none}
 .planningTableWrap.day4V214 th:nth-child(4),.planningTableWrap.day4V214 td:nth-child(4),.planningTableWrap.day5V214 th:nth-child(5),.planningTableWrap.day5V214 td:nth-child(5),.planningTableWrap.day6V214 th:nth-child(6),.planningTableWrap.day6V214 td:nth-child(6),.planningTableWrap.day7V214 th:nth-child(7),.planningTableWrap.day7V214 td:nth-child(7),.planningTableWrap.day8V214 th:nth-child(8),.planningTableWrap.day8V214 td:nth-child(8),.planningTableWrap.day9V214 th:nth-child(9),.planningTableWrap.day9V214 td:nth-child(9){display:table-cell;width:36%}
 .planningNotesRowV10865 .stickyName small{font-size:11px}.planCell{min-width:0!important;min-height:64px!important;padding:7px 3px!important}.planCell b{font-size:12px}.planCell small{font-size:10px!important}
 .planningLegend{overflow-x:auto;flex-wrap:nowrap!important}.legendItem{flex:0 0 auto}.planningBottom{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){.cards{grid-template-columns:1fr}.planningToolbar>.row{grid-template-columns:1fr 1fr}.planningTable .stickyName{width:45%}.planningTable .stickyOreV10870{width:19%}}

/* ===== V108.215 — 4TC PALETTE: ROSSO + GIALLO, ZERO BLU OPERATIVO ===== */
:root{
 --primary:#c91522;--primary2:#a90f19;--sidebar:#b80f1b;
 --fourtc-red:#c91522;--fourtc-dark:#8f0b14;--fourtc-yellow:#ffc928;
 --fourtc-yellow-soft:#fff6cc;--fourtc-yellow-pale:#fffaf0;--fourtc-line:#eadfd9;
}
/* Selezioni: giallo morbido, non altro rosso e non blu */
.nav button.active{background:#fff1a8!important;color:#661018!important;box-shadow:inset 4px 0 0 #ffc400!important;font-weight:800}
.nav button:hover{background:rgba(255,246,204,.20)!important;color:#fff!important}
.nav button.active:hover{background:#fff1a8!important;color:#661018!important}
.empFiltersV10810 button.active,.periodChip.active,.roleTabV208.active,.tsMobileViewTabsV108160 button.active{
 background:#fff2ad!important;color:#6e161b!important;border-color:#f3c400!important;box-shadow:0 0 0 1px #f3c400 inset!important
}
.roleTabV208{background:#fffdf7!important;border-color:#eadfd9!important;color:#34272a!important}
.roleTabV208 small{color:#776b68!important}.permCenter input,.roleActionsV208 input{accent-color:#c91522!important}
.mobileMenuBtnV78,body.phoneModeV92 .mobileMenuBtnV78{background:#fff3bd!important;color:#8f0b14!important}
/* Hero / pannelli precedentemente azzurri */
.tsGeneralHeroV108160{background:linear-gradient(135deg,#fff7cf,#fffdf4)!important;border-color:#f0df9c!important}
.tsGeneralHeroV108160 small{color:#9b6500!important}.tsLocationIconV108160{background:#fff2b8!important;color:#8f0b14!important}
.tsGeneralLocationV108160:hover{background:#fffaf0!important;border-color:#e7ca62!important}
.tsMobileViewTabsV108160{background:#fff8dc!important}.tsMobileDateV108160{background:#fff5c9!important}
.tsGateTagV185{background:#fff2b8!important;color:#7d4f00!important}.tsGateCardV185 input:focus{border-color:#d6a900!important;box-shadow:0 0 0 3px rgba(255,201,40,.20)!important}.tsGateCardV185 #tsGateSaveV185{background:#c91522!important}
.orgProfileNoticeV35{border-left-color:#ffc928!important;background:#fff8dc!important;color:#62440a!important}
.orgShiftChipV35.selected span,.orgShiftChipV35:has(input:checked) span,.rsaAreaPreferenceChipV48:has(input:checked) span{background:#fff3bd!important;border-color:#e0b000!important;color:#6f4b00!important;box-shadow:none!important}
.customChoice,.periodRulePill,.coverage-summary,.coverage-info,.generatorPanel,.generatorKpis>div,.generator-result-kpis>div,.feasibility-grid>div{border-color:#eadfd9!important}
.coverage-summary,.coverage-info{background:#fff9df!important}.periodRulePill{background:#fff3bd!important;color:#704b00!important}
.lineariOnV94{background:#fff3bd!important}.lineariTotalV94 td,.lineariTotalV94 .lineariNameV94,.lineariTotalV94 td:first-child{background:#ffe88a!important}
/* Preferenza accanto al nome: marker leggibile e separato */
.ts196PrefBadge{display:inline-flex;align-items:center;gap:6px;margin-left:12px;vertical-align:middle;font-size:11px;font-weight:800;color:#6d4a00;white-space:nowrap}
.ts196PrefBadge i{font-style:normal;display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 5px;border-radius:6px;background:#ffd42a;color:#5a3300;border:1px solid #e3b700;font-size:10px;line-height:1}
.ts196PrefBadge>span{background:#fff7cf;border:1px solid #f0d66a;border-radius:6px;padding:3px 6px}
/* Pianificazione: giorno selezionato in giallo */
.mobilePlanDayNavV214 label{color:#6d4a00!important}.mobilePlanDayNavV214 select{border-color:#ead06c!important;background:#fff8d9!important;color:#5d3b00!important}
.planningTable thead th{background:#fffaf0!important}.planningTable thead th:nth-child(3){background:#fff0a8!important;color:#5c3600!important}
/* Elimina residui blu visibili nelle viste operative */
.badge{background:#fff2bd!important;color:#7b4b00!important}.notice{background:#fff8df!important;color:#714817!important;border-left-color:#ffc928!important}
.btn.secondary{background:#fff8ef!important;color:#a10e18!important;border-color:#efd8cd!important}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(255,201,40,.30)!important;border-color:#d8ad00!important}
@media(max-width:700px){.nav button.active{box-shadow:inset 0 -3px 0 #f3c400!important}}

/* =========================================================
   V108.216 — 4TC McD BALANCED PALETTE + PWA IDENTITY
   Neutral base / dark green structure / McD yellow accent.
   Red is reserved for 4TC identity, primary/danger actions.
   ========================================================= */
:root{
  --mcd-yellow:#ffbc0d;
  --mcd-yellow-soft:#fff3bf;
  --mcd-yellow-pale:#fffaf0;
  --mcd-green:#264f36;
  --mcd-green-2:#1f412d;
  --mcd-green-soft:#edf4ef;
  --fourtc-red:#c91522;
  --ink:#252525;
  --surface:#ffffff;
  --surface-soft:#f7f7f5;
  --line:#e7e2d8;
  --primary:#c91522;
  --primary2:#a90f19;
  --sidebar:#264f36;
  --bg:#f7f7f5;
}
body{background:#f7f7f5!important;color:var(--ink)!important}
.sidebar{background:linear-gradient(180deg,var(--mcd-green) 0%,var(--mcd-green-2) 100%)!important;box-shadow:4px 0 18px rgba(31,65,45,.14)!important}
.sidebar .brand,.sidebar .brand span{color:#fff!important}
.nav button{color:#f7fbf8!important}
.nav button:hover{background:rgba(255,188,13,.13)!important;color:#fff!important}
.nav button.active{background:var(--mcd-yellow)!important;color:#242424!important;box-shadow:inset 4px 0 0 #fff!important;font-weight:850!important}
.nav button.active:hover{background:var(--mcd-yellow)!important;color:#242424!important}
.card,.tsGeneralKpisV108160>div,.tsGeneralLocationV108160{background:#fff!important;border-color:var(--line)!important}
.table th,.planningTable thead th,.permTableV208 th{background:#faf8f3!important;color:#2c2c2c!important}
.badge{background:var(--mcd-yellow-soft)!important;color:#5b4300!important}
.notice,.coverage-summary,.coverage-info{background:#fff8dd!important;color:#624a08!important;border-left-color:var(--mcd-yellow)!important}
.roleTabV208{background:#fff!important;border-color:#ddd8ce!important;color:#2d2d2d!important}
.roleTabV208.active{background:var(--mcd-yellow-soft)!important;border-color:#e2ae00!important;color:#2b2b2b!important;box-shadow:0 0 0 1px #e2ae00 inset!important}
.roleTabV208 small{color:#6b675f!important}
.permCenter input,.roleActionsV208 input{accent-color:var(--mcd-green)!important}
.tsGeneralHeroV108160{background:linear-gradient(135deg,#fff7d4,#fffdf7)!important;border-color:#ecd77f!important}
.tsGeneralHeroV108160 small{color:#745700!important}
.tsLocationIconV108160{background:var(--mcd-green-soft)!important;color:var(--mcd-green)!important}
.tsGeneralLocationV108160:hover{background:#fffaf0!important;border-color:#e2bd3d!important}
.tsMobileViewTabsV108160{background:#f0f2ef!important}
.tsMobileViewTabsV108160 button.active{background:var(--mcd-yellow)!important;color:#222!important;box-shadow:none!important}
.tsMobileDateV108160{background:#fff2b7!important;color:#2a2a2a!important}
.mobilePlanDayNavV214 label{color:#5e4a08!important}
.mobilePlanDayNavV214 select{border-color:#dfc35b!important;background:#fff9df!important;color:#3d382a!important}
.planningTable thead th:nth-child(3){background:#fff0a8!important;color:#3f3300!important}
.orgShiftChipV35.selected span,.orgShiftChipV35:has(input:checked) span,.rsaAreaPreferenceChipV48:has(input:checked) span{background:var(--mcd-yellow-soft)!important;border-color:#d9aa00!important;color:#493800!important}
.lineariOnV94{background:var(--mcd-yellow-soft)!important}.lineariTotalV94 td,.lineariTotalV94 .lineariNameV94,.lineariTotalV94 td:first-child{background:#ffe58a!important}
.ts196PrefBadge{margin-left:16px!important;color:#4c3a00!important}.ts196PrefBadge i{background:var(--mcd-yellow)!important;color:#2a250f!important;border-color:#d9a400!important}.ts196PrefBadge>span{background:#fff8d9!important;border-color:#e7cd67!important}
.mobileMenuBtnV78,body.phoneModeV92 .mobileMenuBtnV78{background:var(--mcd-yellow)!important;color:#252525!important}
.tsGateTagV185{background:var(--mcd-yellow-soft)!important;color:#5e4600!important}.tsGateMarkV185{background:var(--mcd-green)!important}.tsGateBrandV185 b{color:var(--mcd-green)!important}.tsGateCardV185 input:focus{border-color:#d3a400!important;box-shadow:0 0 0 3px rgba(255,188,13,.20)!important}
.corporateLoginV1,.corporateLoginFormV1{background:linear-gradient(180deg,#fff9e8 0,#f7f7f5 52%,#fff 100%)!important}
.corporateAccessBtnV1{background:var(--mcd-green)!important;color:#fff!important}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(255,188,13,.32)!important;border-color:#c99b00!important}
/* Remove legacy blue selection from common interactive surfaces */
.filterPill.active,.chip.active,.dayTab.active,.weekDayTab.active{background:var(--mcd-yellow)!important;color:#222!important;border-color:#d7a500!important}
@media(max-width:700px){.nav button.active{box-shadow:inset 0 -3px 0 #fff!important}}


/* =========================================================
   V108.217 — 4TC FINAL GREEN/YELLOW IDENTITY
   Green + yellow + white are primary. Red only danger/accent.
   ========================================================= */
:root{--primary:#264f36;--primary2:#1f412d;--sidebar:#264f36;--mcd-yellow:#ffbc0d;--fourtc-red:#c91522}
/* Primary actions are green; red is only danger */
.btn:not(.secondary):not(.danger),.corporateAccessBtnV1,#tsGateSaveV185{background:#264f36!important;color:#fff!important;border-color:#264f36!important}
.btn:not(.secondary):not(.danger):hover,.corporateAccessBtnV1:hover{background:#1f412d!important;border-color:#1f412d!important}
.btn.danger,.dangerBtn,.iconBtn.danger{background:#c91522!important;color:#fff!important;border-color:#c91522!important}
/* Absolutely no legacy blue for active tabs/days/filters */
.fabTabsV1082 button.active,.fabTabsV1082 button[aria-selected="true"],.empFiltersV10810 button.active,.periodChip.active,.tsMobileViewTabsV108160 button.active,.roleTabV208.active{
 background:#ffbc0d!important;color:#242424!important;border-color:#dca400!important;box-shadow:none!important
}
.fabTabsV1082 button{color:#242424!important;border-color:#ded8cc!important}
.fabTableV1082 td:nth-child(2) input{background:#fff9e8!important}
/* green checks / controls */
.permCenter input,.roleActionsV208 input,input[type="checkbox"],input[type="radio"]{accent-color:#264f36!important}
/* remove remaining blue from login */
.corporateEyebrowV1{color:#264f36!important}.corporateInputV1:focus-within{border-color:#dca400!important;box-shadow:0 0 0 4px rgba(255,188,13,.18)!important}
.tsLoginBlueV178{color:#264f36!important}
/* 4TC login branding: TurnoSmart only a small signature */
.tsClientLockupV178{display:none!important}
.ts4tcLoginBrandV217{display:flex;align-items:center;gap:14px;margin:4px 0 22px;color:#fff}.ts4tcLoginBrandV217 img{width:64px;height:64px;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.22)}.ts4tcLoginBrandV217 b{display:block;font-size:36px;line-height:1}.ts4tcLoginBrandV217 small{display:block;margin-top:7px;font-size:15px;color:rgba(255,255,255,.86);font-weight:650}.tsPoweredV217{font-size:12px!important;opacity:.78!important;letter-spacing:.02em!important}.tsPoweredV217 b{color:#ffbc0d!important}
/* yellow/green 4TC icon treatment */
.brand4TC img{background:#264f36!important;border:1px solid rgba(255,188,13,.5)!important}
/* red only for explicit destructive buttons where classes/labels are legacy */
button[onclick*="delete" i],button[onclick*="elimina" i]{color:#b42318!important;border-color:#e8b6b1!important}
/* selected nav exact identity */
.nav button.active{background:#ffbc0d!important;color:#202020!important;box-shadow:inset 4px 0 0 #fff!important}
@media(max-width:700px){.nav button.active{box-shadow:inset 0 -3px 0 #fff!important}.ts4tcLoginBrandV217{display:none!important}}

/* =========================================================
   V108.218 — 4TC FINAL LOGIN + GREEN/YELLOW UI
   ========================================================= */
/* Desktop login: 4TC is the client-facing identity. No legacy image with giant TurnoSmart. */
.corporateLoginBrandV1{
  background:
    radial-gradient(circle at 85% 18%,rgba(255,188,13,.20),transparent 22%),
    radial-gradient(circle at 18% 88%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(155deg,#173c28 0%,#264f36 52%,#1f412d 100%)!important;
  padding:58px 50px 42px!important;
  display:flex!important;flex-direction:column!important;
}
.corporateLoginBrandV1:before{content:""!important;display:block!important;position:absolute!important;inset:auto -90px -110px auto!important;width:310px!important;height:310px!important;border-radius:50%!important;border:1px solid rgba(255,188,13,.18)!important;box-shadow:0 0 0 48px rgba(255,188,13,.035),0 0 0 96px rgba(255,188,13,.018)!important;pointer-events:none!important}
.corporateLoginBrandV1:after{display:none!important}
.corporateLoginBrandV1>*{display:initial!important;position:relative;z-index:1}
.corporateLoginBrandV1>.corporateBrandMarkV1{display:none!important}
.ts4tcLoginBrandV217{display:flex!important;align-items:center!important;gap:18px!important;margin:4px 0 30px!important}
.ts4tcLoginBrandV217 img{display:block!important;width:76px!important;height:76px!important;border-radius:20px!important}
.ts4tcLoginBrandV217 b{display:block!important;color:#fff!important;font-size:44px!important;letter-spacing:-1px!important}
.ts4tcLoginBrandV217 small{display:block!important;color:#ffe7a0!important;font-size:15px!important}
.corporateBrandTaglineV1{display:block!important;color:#fff!important;font-size:27px!important;line-height:1.18!important;margin:10px 0 30px!important}
.corporateBenefitsV1{display:grid!important;gap:16px!important;margin-top:4px!important}
.corporateBenefitsV1>div{display:grid!important;grid-template-columns:38px 1fr!important;gap:13px!important;align-items:start!important}
.corporateBenefitsV1>div>span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#ffbc0d!important;color:#1d3928!important;font-weight:900!important}
.corporateBenefitsV1 p,.corporateBenefitsV1 b,.corporateBenefitsV1 small{display:block!important;color:#fff!important}.corporateBenefitsV1 small{color:rgba(255,255,255,.78)!important;margin-top:3px!important;line-height:1.35!important}
.corporateBrandFootV1.tsPoweredV217{display:block!important;margin-top:auto!important;padding-top:30px!important;color:rgba(255,255,255,.72)!important;font-size:12px!important}.corporateBrandFootV1.tsPoweredV217 b{color:#ffbc0d!important}
/* remove blue remnants in login fields and controls */
.corporateLoginFormV1{background:linear-gradient(180deg,#fff9e8 0%,#fffdf8 55%,#fff 100%)!important}.corporateWelcomeV1 h1,.corporateWelcomeV1 p,.corporateLoginFieldsV1 label{color:#173c28!important}.corporateInputV1 input::selection{background:#ffe38a!important;color:#173c28!important}
/* active day/filter controls: yellow, never blue */
.fabTabsV1082 button.active,.fabTabsV1082 button[aria-selected="true"],.dayTab.active,.weekDayTab.active,.filterPill.active,.chip.active,.empFiltersV10810 button.active,.periodChip.active{background:#ffbc0d!important;color:#202020!important;border-color:#dca400!important;box-shadow:none!important}
/* red only destructive/error */
.btn:not(.danger):not([onclick*="delete" i]):not([onclick*="elimina" i]){--primary:#264f36}
@media(max-width:700px){.corporateLoginBrandV1{display:none!important}}

/* =========================================================
   V108.219 — 4TC PHOTO LOGIN DESKTOP + MOBILE
   Keep V218 functionality; improve only login presentation.
   ========================================================= */
.corporateLoginBrandV1{
  background-image:linear-gradient(90deg,rgba(10,57,36,.96) 0%,rgba(10,57,36,.78) 42%,rgba(10,40,31,.38) 100%),url('4tc-login-restaurant-v219.jpg')!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
}
.corporateLoginBrandV1:before{background:linear-gradient(180deg,rgba(255,188,13,.04),rgba(0,0,0,.06))!important;border-color:rgba(255,188,13,.18)!important}
.corporateInputV1,.corporateInputV1 input{background:#fff!important;color:#173c28!important}
.corporateInputV1 input:-webkit-autofill,.corporateInputV1 input:-webkit-autofill:hover,.corporateInputV1 input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#173c28!important}
.corporateInputV1 span,.passwordEyeV1{color:#264f36!important}
@media(max-width:700px){
  .corporateLoginV1{padding:0!important;background:#fffaf0!important;display:block!important}
  .corporateLoginShellV1{display:block!important;width:100%!important;min-height:100dvh!important;height:auto!important;max-height:none!important;border-radius:0!important;overflow:visible!important;background:#fffaf0!important}
  .corporateLoginBrandV1{display:flex!important;min-height:600px!important;height:auto!important;padding:34px 26px 76px!important;border-radius:0 0 34px 34px!important;background-image:linear-gradient(180deg,rgba(7,51,31,.78) 0%,rgba(7,51,31,.68) 48%,rgba(7,51,31,.92) 100%),url('4tc-login-restaurant-v219.jpg')!important;background-position:center!important}
  .corporateLoginBrandV1:before{display:none!important}
  .ts4tcLoginBrandV217{display:flex!important;margin-top:8px!important;margin-bottom:28px!important}.ts4tcLoginBrandV217 img{width:70px!important;height:70px!important}.ts4tcLoginBrandV217 b{font-size:40px!important}.ts4tcLoginBrandV217 small{font-size:13px!important}
  .corporateBrandTaglineV1{font-size:29px!important;max-width:330px!important;margin:8px 0 28px!important}.corporateBrandTaglineV1 b{color:#fff!important}.corporateBrandTaglineV1 br+*{color:#ffbc0d!important}
  .corporateBenefitsV1{gap:14px!important}.corporateBenefitsV1>div{grid-template-columns:42px 1fr!important}.corporateBenefitsV1>div>span{width:40px!important;height:40px!important;border-radius:50%!important}.corporateBenefitsV1 b{font-size:16px!important}.corporateBenefitsV1 small{font-size:13px!important}
  .corporateBrandFootV1.tsPoweredV217{display:none!important}
  .corporateLoginFormV1{min-height:0!important;margin:-34px 16px 20px!important;padding:28px 22px 24px!important;border-radius:30px!important;background:#fffdf7!important;box-shadow:0 16px 45px rgba(24,65,43,.14)!important;position:relative!important;z-index:3!important}
  .corporateLoginFormInnerV1{max-width:520px!important;margin:auto!important;padding:0!important}
  .corporateMobileBrandV1{display:none!important}
  .corporateWelcomeV1{text-align:center!important;margin-bottom:20px!important}.corporateWelcomeV1 .corporateEyebrowV1{display:block!important;color:#264f36!important;font-size:12px!important;letter-spacing:.12em!important}.corporateWelcomeV1 h1{font-size:31px!important;line-height:1.05!important;color:#173c28!important;margin:8px 0!important}.corporateWelcomeV1 h1 br{display:none!important}.corporateWelcomeV1 h1 span{display:block!important;font-size:22px!important;margin-top:8px!important}.corporateWelcomeV1 p{font-size:14px!important;margin:8px 0!important}
  .corporateLoginFieldsV1{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.corporateLoginFieldsV1>label{font-size:14px!important;color:#173c28!important}.corporateInputV1{min-height:58px!important;border-radius:16px!important;background:#fff!important}.corporateAccessBtnV1{min-height:58px!important;border-radius:16px!important;margin-top:12px!important}
  .corporateSecurityV1{margin-top:22px!important;background:#f4f7f4!important;border-radius:18px!important;padding:15px!important}.corporateCopyrightV1{margin-top:18px!important;color:#7d897f!important}.corporateCopyrightV1:after{content:"  ·  Powered by TurnoSmart"!important;color:#6c776f!important}
}


/* =========================================================
   V108.220 — FINAL LOGIN PC + MOBILE
   Only login presentation is changed from V219.
   ========================================================= */
.corporateLoginBrandV1{
  background-image:
    linear-gradient(90deg,rgba(8,57,35,.98) 0%,rgba(8,57,35,.92) 38%,rgba(8,57,35,.54) 64%,rgba(8,57,35,.08) 100%),
    url('4tc-login-desktop-v220.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.corporateLoginBrandV1:before{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  width:auto!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  background:
    radial-gradient(circle at -8% 8%,transparent 0 130px,rgba(255,188,13,.42) 132px 135px,transparent 137px),
    linear-gradient(150deg,rgba(255,188,13,.09),transparent 28%)!important;
  pointer-events:none!important;
}
.corporateLoginBrandV1>*{position:relative!important;z-index:2!important}
.corporateBrandTaglineV1{max-width:470px!important}
.corporateBrandTaglineV1 b{color:#fff!important}
.corporateLoginFormV1{background:linear-gradient(180deg,#fff9e8 0%,#fffdf8 58%,#fff 100%)!important}
.corporateInputV1,.corporateInputV1 input{background:#fff!important;color:#173c28!important}

@media(max-width:700px){
  .corporateLoginV1{padding:0!important;background:#fffaf0!important;display:block!important;overflow-x:hidden!important}
  .corporateLoginShellV1{display:block!important;width:100%!important;min-height:100dvh!important;height:auto!important;max-height:none!important;border-radius:0!important;overflow:visible!important;background:#fffaf0!important}
  .corporateLoginBrandV1{
    display:flex!important;visibility:visible!important;min-height:620px!important;height:auto!important;
    padding:28px 24px 82px!important;border-radius:0 0 34px 34px!important;
    background-image:
      linear-gradient(180deg,rgba(7,51,31,.70) 0%,rgba(7,51,31,.58) 46%,rgba(7,51,31,.90) 100%),
      url('4tc-login-restaurant-v219.jpg')!important;
    background-size:cover!important;background-position:center 43%!important;background-repeat:no-repeat!important;
  }
  .corporateLoginBrandV1:before{display:block!important;background:linear-gradient(145deg,rgba(255,188,13,.12),transparent 38%)!important}
  .ts4tcLoginBrandV217{display:flex!important;align-items:center!important;gap:14px!important;margin:6px 0 24px!important}
  .ts4tcLoginBrandV217 img{display:block!important;width:72px!important;height:72px!important}
  .ts4tcLoginBrandV217 b{display:block!important;font-size:40px!important;color:#fff!important}
  .ts4tcLoginBrandV217 small{display:block!important;font-size:13px!important;color:#ffe49a!important}
  .corporateBrandTaglineV1{display:block!important;font-size:29px!important;line-height:1.12!important;max-width:340px!important;margin:8px 0 28px!important;color:#fff!important}
  .corporateBenefitsV1{display:grid!important;gap:14px!important;max-width:360px!important}
  .corporateBenefitsV1>div{display:grid!important;grid-template-columns:42px 1fr!important;gap:13px!important}
  .corporateBenefitsV1>div>span{display:grid!important;width:40px!important;height:40px!important;border-radius:50%!important;background:#ffbc0d!important}
  .corporateBenefitsV1 b,.corporateBenefitsV1 small{display:block!important;color:#fff!important}
  .corporateBrandFootV1.tsPoweredV217{display:none!important}

  .corporateLoginFormV1{
    display:block!important;visibility:visible!important;min-height:0!important;margin:-42px 16px 22px!important;
    padding:30px 22px 24px!important;border-radius:30px!important;background:#fffdf7!important;
    box-shadow:0 18px 48px rgba(24,65,43,.16)!important;position:relative!important;z-index:5!important;
  }
  .corporateLoginFormInnerV1{display:block!important;max-width:520px!important;margin:auto!important;padding:0!important}
  .corporateMobileBrandV1{display:none!important}
  .corporateWelcomeV1{display:block!important;text-align:center!important;margin:0 0 22px!important}
  .corporateWelcomeV1 .corporateEyebrowV1{display:block!important;color:#264f36!important}
  .corporateWelcomeV1 h1{display:block!important;font-size:31px!important;line-height:1.05!important;color:#173c28!important;margin:8px 0!important}
  .corporateWelcomeV1 h1 br{display:none!important}
  .corporateWelcomeV1 h1 span{display:block!important;font-size:21px!important;margin-top:8px!important}
  .corporateWelcomeV1 p{display:block!important;color:#264f36!important}
  .corporateLoginFieldsV1{display:block!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
  .corporateInputV1{display:flex!important;min-height:60px!important;border-radius:16px!important;background:#fff!important}
  .corporateAccessBtnV1{display:block!important;width:100%!important;min-height:60px!important;border-radius:16px!important}
  .corporateSecurityV1{display:flex!important;margin-top:22px!important;background:#f4f7f4!important;border-radius:18px!important;padding:15px!important}
  .corporateCopyrightV1{display:block!important;margin-top:18px!important;color:#7d897f!important}
  .corporateCopyrightV1:after{content:"  ·  Powered by TurnoSmart"!important}
}


/* V108.221 — MOBILE LOGIN COMPACT APPROVED */
@media(max-width:700px){
  .corporateLoginV1{padding:0!important;background:#fffaf0!important;overflow-x:hidden!important}
  .corporateLoginShellV1{display:block!important;width:100%!important;min-height:100dvh!important;height:auto!important;border-radius:0!important;overflow:visible!important}

  /* compact hero: visible identity without forcing a long scroll */
  .corporateLoginBrandV1{
    min-height:42dvh!important;height:42dvh!important;max-height:390px!important;
    padding:18px 22px 48px!important;border-radius:0 0 30px 30px!important;
    justify-content:flex-start!important;
    background-image:linear-gradient(90deg,rgba(5,55,34,.84),rgba(5,55,34,.30)),url('4tc-login-restaurant-v219.jpg')!important;
    background-size:cover!important;background-position:center 42%!important;
  }
  .ts4tcLoginBrandV217{margin:2px 0 8px!important;gap:10px!important}
  .ts4tcLoginBrandV217 img{width:56px!important;height:56px!important}
  .ts4tcLoginBrandV217 b{font-size:34px!important}
  .ts4tcLoginBrandV217 small{font-size:11px!important}
  .corporateBrandTaglineV1{font-size:25px!important;line-height:1.05!important;max-width:300px!important;margin:5px 0 15px!important}
  .corporateBenefitsV1{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;width:100%!important;max-width:350px!important}
  .corporateBenefitsV1>div{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:5px!important}
  .corporateBenefitsV1>div>span{width:34px!important;height:34px!important;font-size:18px!important}
  .corporateBenefitsV1 b{font-size:11px!important;line-height:1.08!important}
  .corporateBenefitsV1 small{display:none!important}

  /* login card starts inside the first viewport */
  .corporateLoginFormV1{
    margin:-30px 14px 14px!important;padding:18px 18px 15px!important;border-radius:28px!important;
    min-height:0!important;background:#fffdf7!important;box-shadow:0 16px 40px rgba(24,65,43,.15)!important;
  }
  .corporateWelcomeV1{margin:0 0 12px!important}
  .corporateWelcomeV1 .corporateEyebrowV1{font-size:11px!important;letter-spacing:2px!important}
  .corporateWelcomeV1 h1{font-size:25px!important;margin:4px 0!important}
  .corporateWelcomeV1 h1 span{font-size:16px!important;margin-top:3px!important}
  .corporateWelcomeV1 p{font-size:13px!important;margin:3px 0!important}
  .corporateLoginFieldsV1 label{font-size:13px!important;margin-bottom:4px!important}
  .corporateInputV1{min-height:48px!important;height:48px!important;border-radius:14px!important;margin-bottom:9px!important}
  .corporateInputV1 input{font-size:15px!important}
  .corporateAccessBtnV1{min-height:49px!important;height:49px!important;border-radius:14px!important;font-size:16px!important}
  .corporateForgotV1{font-size:13px!important;margin:8px 0 0!important}
  .corporateSecurityV1{margin-top:12px!important;padding:10px 12px!important;border-radius:15px!important}
  .corporateSecurityV1 b{font-size:13px!important}.corporateSecurityV1 small{font-size:11px!important}
  .corporateCopyrightV1{margin-top:9px!important;font-size:10px!important}
}
@media(max-width:380px){
 .corporateLoginBrandV1{height:39dvh!important;min-height:39dvh!important}
 .corporateBrandTaglineV1{font-size:22px!important}
 .corporateLoginFormV1{margin-top:-26px!important}
}


/* V108.222 — PC LOGIN PHOTO FIX. Mobile V221 remains unchanged. */
@media(min-width:701px){
  .corporateLoginBrandV1{
    background-image:
      linear-gradient(90deg,rgba(5,58,35,.84) 0%,rgba(5,58,35,.66) 42%,rgba(5,58,35,.34) 72%,rgba(5,58,35,.16) 100%),
      url('4tc-login-pc-v222.jpg')!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  .corporateLoginBrandV1:before{
    background:
      radial-gradient(circle at 0% 8%,transparent 0 132px,rgba(255,188,13,.55) 134px 137px,transparent 139px),
      linear-gradient(145deg,rgba(255,188,13,.08),transparent 34%)!important;
  }
  .corporateLoginBrandV1:after{
    content:""!important;position:absolute!important;inset:0!important;
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18))!important;
    pointer-events:none!important;z-index:1!important;
  }
  .corporateLoginBrandV1>*{position:relative!important;z-index:2!important}
}


/* V108.223 — APPROVED PC COVER. Mobile V221 preserved. */
@media(min-width:701px){
 .corporateLoginBrandV1{
   background-image:
     linear-gradient(90deg,rgba(4,58,35,.34) 0%,rgba(4,58,35,.16) 52%,rgba(4,58,35,.04) 100%),
     url('4tc-pc-approved-v223.jpg')!important;
   background-size:cover!important;
   background-position:center!important;
   background-repeat:no-repeat!important;
 }
 /* Avoid duplicating the mockup text baked into the approved visual. */
 .corporateLoginBrandV1>.ts4tcLoginBrandV217,
 .corporateLoginBrandV1>.corporateBrandTaglineV1,
 .corporateLoginBrandV1>.corporateBenefitsV1{opacity:0!important;pointer-events:none!important}
 .corporateLoginBrandV1:before{
   background:linear-gradient(90deg,rgba(4,58,35,.06),transparent 50%)!important;
 }
 .corporateLoginBrandV1:after{background:none!important}
 .corporateLoginFormV1{
   background:linear-gradient(180deg,#fffaf0 0%,#fffdf8 64%,#fff 100%)!important;
 }
}


/* V108.224 — PC APPROVED COVER: FULL COMPOSITION, NO LEFT CROP */
@media(min-width:701px){
  .corporateLoginBrandV1{
    background-image:url('4tc-pc-approved-v223.jpg')!important;
    background-size:100% 100%!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
  .corporateLoginBrandV1:before,
  .corporateLoginBrandV1:after{
    display:none!important;
    content:none!important;
  }
  .corporateLoginBrandV1>.ts4tcLoginBrandV217,
  .corporateLoginBrandV1>.corporateBrandTaglineV1,
  .corporateLoginBrandV1>.corporateBenefitsV1,
  .corporateLoginBrandV1>.corporateBrandFootV1{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* V108.225 — PC FINAL PROPORTION 65/35. Mobile preserved. */
@media(min-width:701px){
  .corporateLoginShellV1{
    grid-template-columns:65% 35%!important;
    max-width:1280px!important;
  }
  .corporateLoginBrandV1{
    background-image:url('4tc-pc-approved-v223.jpg')!important;
    background-size:100% 100%!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  .corporateLoginFormV1{
    padding-left:42px!important;
    padding-right:42px!important;
  }
  .corporateLoginFormInnerV1{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
  }
}
