/* MF Shift Planner beta – desktop, tablet and mobile. Respects parent app theme. */
.shift-banner{margin:12px 0;padding:12px 14px;background:#ecf6f7;color:#164b5c;border-radius:10px;font-size:.9rem}
.shift-top-fields{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.shift-top-fields label{display:grid;gap:4px;font-size:.85rem;font-weight:600;min-width:190px;flex:1}
.shift-top-fields select,.shift-top-fields input,.shift-employee-form input,.shift-employee-form select,.shift-row-fields input,.shift-row-fields select{width:100%;max-width:100%;min-width:0;border:1px solid #cbd5df;border-radius:9px;padding:9px;background:#fff;color:#163b4b;font:inherit}
.shift-tabs,.shift-days,.shift-toolbar,.shift-actions{display:flex;gap:8px;overflow-x:auto;align-items:center;flex-wrap:wrap;margin:12px 0}
.shift-days{flex-wrap:nowrap}.shift-days button{min-width:92px;flex:1;display:flex;align-items:center;justify-content:center;gap:6px}
.shift-days small{opacity:.85;font-size:.75em}.shift-card{margin-top:12px}.shift-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.shift-metric{border:1px solid #dbe5ea;border-radius:12px;padding:14px;display:grid;gap:8px}.shift-metric small{color:#597381}.shift-metric b{font-size:1.25rem;color:#133e4e}
.shift-week-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:12px}.shift-day-kpi{border:1px solid #e2e8f0;border-radius:9px;padding:10px;display:flex;flex-direction:column;gap:5px;font-size:.8rem}.shift-day-kpi small{color:#667985}
.shift-demand-head,.shift-demand-row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(90px,1fr)) 40px;gap:8px;align-items:center}.shift-demand-head{font-weight:700;color:#4a6270;padding:9px;font-size:.8rem}
.shift-demand-row{margin:6px 0;padding:8px;background:#f7fafc;border-radius:10px}.shift-demand-row label{min-width:0}.shift-demand-row label span{display:none}.shift-demand-row input{min-width:0;width:100%;padding:9px 4px;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#183747;font-size:.9rem}.shift-times{display:flex;gap:4px}
.shift-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shift-employee{border:1px solid #dbe4ec;border-radius:12px;padding:12px}.shift-employee summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none}.shift-employee summary span{font-size:.8rem;color:#637884}.shift-flag{color:#8d5730}
.shift-employee-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.shift-employee-form>label{display:grid;gap:5px;font-size:.8rem}.shift-employee-form>small,.shift-unavailable{grid-column:1/-1}
.shift-unavailable>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.shift-day-check{padding:8px;border-radius:9px;background:#edf4f7;display:flex;gap:5px;align-items:center}
.shift-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shift-row{border:1px solid #dbe5ec;border-radius:12px;padding:12px}.shift-row-head,.shift-row-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}.shift-row-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.shift-row-fields label{display:grid;gap:4px;font-size:.8rem}.shift-row-foot{font-size:.8rem}.shift-footer{margin-top:12px}.shift-toolbar .btn{white-space:nowrap}.shift-confirm{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:.85rem}.shift-warnings{margin-top:15px}.shift-warnings li{margin:5px 0}
@media(max-width:1050px){.shift-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-week-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.shift-team,.shift-roster-grid{grid-template-columns:1fr}}
@media(max-width:750px){.shift-top-fields{flex-direction:column}.shift-demand-head{display:none}.shift-demand-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shift-demand-row .shift-times{grid-column:1/-1}.shift-demand-row label span{display:block;color:#627782;font-size:.75rem}.shift-demand-row button{justify-self:start}.shift-roster-grid{grid-template-columns:1fr}.shift-row-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-week-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-actions,.shift-toolbar{flex-wrap:wrap}.shift-team{grid-template-columns:1fr}.shift-employee-form{grid-template-columns:1fr}}
/* REV 2.9.1 – nuovi editor desktop/mobile, senza alterare la UI globale */
.shift-alert{border:1px solid #bfdce5;border-left:4px solid #10728c;border-radius:10px;padding:12px;background:#f3fafc;margin:0 0 14px;color:#1f4151}
.shift-windows,.shift-quality{grid-column:1/-1}.shift-windows>b,.shift-windows>small{display:block;margin:3px 0}.shift-windows-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.shift-windows-grid label{display:grid;gap:4px;font-size:.75rem}.shift-quality{color:#854e13;font-size:.8rem}.shift-quality p{margin:4px 0}
.shift-editor-list{display:grid;gap:10px;margin:14px 0}.shift-editor{border:1px solid #dae5ec;border-radius:12px;background:#f6f9fb;padding:12px;display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}
.shift-editor label{display:grid;gap:5px;font-size:.8rem;flex:1 1 130px;min-width:125px}.shift-editor input,.shift-editor select,.shift-windows-grid input,.shift-shift-note input{width:100%;min-width:0;border:1px solid #cbd5df;border-radius:8px;padding:8px;background:#fff;color:#163b4b;font:inherit}
.shift-activity label:first-child{flex-basis:210px}.shift-check{display:flex!important;flex-direction:row;align-items:center}.shift-check input{width:auto}.shift-sales-hint{font-size:.8rem;color:#3f6a7b}
.shift-shift-note{display:grid;gap:5px;font-size:.82rem;margin:10px 0}.shift-segment-badges{display:flex;flex-wrap:wrap;gap:5px;font-size:.75rem;color:#174a61;margin:8px 0}.shift-segment-badges span{padding:4px 6px;background:#e6f3f9;border-radius:7px}
@media(max-width:800px){.shift-windows-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-editor label{flex-basis:44%;min-width:120px}}
/* REV 2.9.3: fonte del vincolo e giorno +1 derivato automaticamente */
.shift-imported-limits{grid-column:1/-1;padding:11px 12px;border:1px solid #b7d9e5;border-radius:10px;background:#f0f8fc;display:grid;gap:5px;color:#193c4a}
.shift-imported-limits small{font-size:.8rem;color:#496575}
.shift-imported-limits .shift-quality span{display:block;margin:4px 0}
.shift-plus-one{display:inline-flex;align-self:center;padding:8px 11px;border-radius:8px;background:#e4f5ed;color:#166045;font-weight:700;font-size:.8rem;white-space:nowrap}
