/* ============================================================================
   Portale agenti AssoFacile — foglio di stile
   ASPETTO: mockup "Attività e Corsi" v3.24 (testata, subbar, footer, font Montserrat,
            card, KPI, tabelle, pulsanti, campi): stessi valori del suo <style>.
   NOMI:    quelli di base.css e del delta (.riquadro, .button, .button_piccolo,
            .div_msg, .div_errori, .div_simil_errori, .tabella_scadenzario,
            .cont_rettangoli/.rettangolo, .small, .grigio…), italiani, colori hex,
            niente CSS variables. I componenti del delta stanno in assofacile_delta.css.
   Palette mockup: #4D7CFE blu · #00228E blu scuro · #FFD400 giallo · #EEF1F6 sfondo
            #2C2C2C testo · #6B7280 grigio · #D9D9D9 bordo · #2E9E5B verde
            #C0392B rosso · #F39200 arancio · #C2185B rosa testo
            chiari: #EDF2FF blu · #E6F4EC verde · #FDF0DC arancio · #F9E8E6 rosso
   ============================================================================ */
@font-face{font-family:'Montserrat';src:url('montserrat.woff2') format('woff2');font-weight:100 900;font-display:swap;}

*{box-sizing:border-box;}
body{
	margin:0;
	font-family:'Montserrat', system-ui, -apple-system, sans-serif;
	font-size:14px;
	line-height:1.5;
	color:#2C2C2C;
	background:#EEF1F6;
	}
button{font-family:inherit;cursor:pointer;}
a{color:#00228E;text-decoration:none;}
a:hover{text-decoration:underline;}
:focus-visible{outline:3px solid #FFD400;outline-offset:2px;}
.accessibility{position:absolute;top:-9999px;}
.small{font-size:12px;}
.grigio{color:#6B7280;}
.rosso{color:#C0392B;}
.verde2{color:#2E9E5B;}
.arancio{color:#B25F00;}
.grassetto{font-weight:700;}
.corsivo_legenda{padding:18px;text-align:center;color:#6B7280;font-size:13px;}

h1, h2, h3{font-weight:700;letter-spacing:.3px;margin:0;}
h1{font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;margin-bottom:16px;}
h2{font-size:14px;font-weight:800;margin:22px 0 10px 0;}

/* ---- TESTATA (mockup .testata) ---- */
#testata{
	position:sticky;top:0;z-index:60;
	background:#4D7CFE;border-bottom:1px solid #00228E;
	display:flex;align-items:center;gap:26px;padding:0 28px;min-height:64px;flex-wrap:wrap;
	}
#logo_testata{display:flex;align-items:center;gap:8px;color:#fff;font-weight:800;font-size:21px;position:relative;text-decoration:none;}
#logo_testata i{font-style:normal;font-weight:400;}
#logo_testata img{height:36px;width:auto;display:block;}
#logo_testata .etichetta{
	position:absolute;top:-9px;right:-30px;background:#FFD400;color:#0B1A4A;
	font-size:8.5px;font-weight:800;letter-spacing:.08em;padding:1px 7px;border-radius:99px;
	}
#tabs_testata{display:flex;gap:4px;margin:0 0 0 26px;padding:0;list-style:none;flex-wrap:wrap;}
#tabs_testata li a{
	display:block;color:#fff;text-decoration:none;font-weight:800;font-size:16px;letter-spacing:.02em;
	text-transform:uppercase;padding:19px 12px;border-bottom:3px solid transparent;opacity:.95;transition:opacity .15s;
	}
#tabs_testata li a:hover{opacity:.8;border-bottom-color:rgba(255,255,255,.4);}
#tabs_testata li.corrente a{opacity:1;border-bottom-color:#FFD400;}
.puls_esci{margin:0 0 0 auto;}
.puls_esci button{background:#fff;color:#4D7CFE;border:0;border-radius:8px;font-weight:600;font-size:16px;padding:9px 22px;}
.puls_esci button:hover{background:#EDF2FF;}

/* ---- Sotto-testata grigia (mockup .subbar) ---- */
.subbar{background:#EEF1F6;padding:12px 28px 2px;display:flex;justify-content:space-between;align-items:flex-start;max-width:1440px;}
.subbar .ente{font-weight:800;font-size:15px;}
.subbar .dx{text-align:right;font-size:14px;margin-left:auto;}
.subbar .dx .super{color:#C2185B;font-weight:600;font-size:15px;}
.subbar .dx .utente{color:#2C2C2C;margin-top:8px;font-size:13.5px;}
.subbar .dx .utente a{color:#C2185B;text-decoration:none;}
.subbar .dx .utente a:hover{text-decoration:underline;}

/* ---- Corpo: il pannello bianco del mockup (.panel) ---- */
#corpo{
	max-width:1400px;margin:14px 20px 0 20px;
	background:#fff;border:1px solid #D9D9D9;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08);
	padding:20px 24px 28px 24px;min-height:60vh;
	}
#corpo.stretto{max-width:420px;min-height:0;margin:9vh auto 0 auto;}
#corpo.stretto h1{font-size:19px;}
.sotto_titolo{color:#6B7280;margin:-8px 0 14px 0;font-size:13px;}
.form_colonna{display:grid;gap:12px;}
.due_colonne{display:grid;grid-template-columns:1fr 1.4fr;gap:0 24px;}

/* ---- Card (mockup .riquadro + .pad) ---- */
.riquadro{background:#fff;border:1px solid #D9D9D9;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08);padding:16px 18px;margin-top:22px;}
.riquadro h2{margin-top:0;}
.riquadro > p{max-width:75ch;margin-top:0;font-size:13px;}
#corpo.stretto .riquadro{border:0;box-shadow:none;padding:0;margin-top:0;}

/* ---- KPI (mockup .kpi: .lab / .val / .sub) ---- */
.cont_rettangoli{display:grid;gap:14px;grid-template-columns:repeat(4, 1fr);margin:0;}
.cont_rettangoli .rettangolo{margin-top:0;}
.rettangolo dt{font-size:11px;font-weight:700;color:#6B7280;text-transform:uppercase;letter-spacing:.06em;}
.rettangolo dd{margin:4px 0 0 0;font-size:27px;font-weight:800;color:#00228E;font-variant-numeric:tabular-nums;}
.rettangolo dd.sotto{font-size:12px;font-weight:400;color:#6B7280;margin-top:2px;}
.rettangolo dd.sotto a{color:#6B7280;text-decoration:underline dotted;}
.rettangolo dd.sotto a.da_fare{color:#B25F00;font-weight:700;text-decoration:underline;}

/* ---- Tabelle (mockup table/th/td) ---- */
.scorri{overflow-x:auto;}
.tabella_scadenzario{width:100%;border-collapse:collapse;font-size:13.5px;}
.tabella_scadenzario th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#4D7CFE;text-align:left;padding:10px 14px;white-space:nowrap;}
.tabella_scadenzario th:first-child{border-top-left-radius:7px;}
.tabella_scadenzario th:last-child{border-top-right-radius:7px;}
.tabella_scadenzario td{padding:11px 14px;border-bottom:1px solid #D9D9D9;vertical-align:middle;}
.tabella_scadenzario tbody tr:nth-child(even){background:#F7F9FC;}
.tabella_scadenzario tbody tr:last-child td{border-bottom:0;}
.tabella_scadenzario tfoot td{font-weight:800;border-top:2px solid #00228E;border-bottom:0;color:#00228E;}
.tabella_scadenzario .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.tabella_scadenzario tr.spento td{color:#6B7280;}
.tabella_scadenzario td input[type=text]{min-width:4.5em;padding:6px 8px;}
.tabella_scadenzario td.num input{text-align:right;}
.azioni form{display:flex;flex-wrap:nowrap;gap:6px;margin:0;}

/* ---- Stato: base in assofacile_delta.css §8, qui le varianti con i chiari del mockup (.pill) ---- */
.stato_turno{white-space:nowrap;vertical-align:middle;}
.stato_turno.ok{background:#E6F4EC;color:#1F7A45;}
.stato_turno.spento{background:#EEF1F6;color:#6B7280;}
h1 .stato_turno{font-size:11.5px;letter-spacing:0;text-transform:none;margin-left:8px;}

/* ---- Messaggi (resa del mockup .note, nomi del gestionale) ---- */
.div_errori,.div_msg,.div_simil_errori{
	border:1px solid #E9B8B2;border-left:4px solid #C0392B;border-radius:8px;
	background:#F9E8E6;color:#8E2A20;padding:11px 14px;font-size:13px;font-weight:600;margin:0 0 16px 0;
	}
.div_msg{background:#E6F4EC;border-color:#B5DCC4;border-left-color:#2E9E5B;color:#1F6B3D;}
.div_simil_errori{background:#FDF0DC;border-color:#F3D6A4;border-left-color:#F39200;color:#8A4A00;margin-top:14px;}
.div_msg p{margin:0 0 8px 0;}

/* ---- Campi (mockup input/select + label.f) ---- */
label{display:block;font-size:12px;font-weight:700;color:#6B7280;}
label input,label select{margin-top:5px;}
input[type=text],input[type=password],input[type=email],input[type=date],select{
	width:100%;min-width:0;border:1px solid #D9D9D9;border-radius:6px;padding:9px 11px;
	font-family:inherit;font-size:13.5px;font-weight:400;color:#2C2C2C;background:#fff;
	}
input:focus,select:focus{outline:2px solid #EDF2FF;border-color:#4D7CFE;}
input[readonly]{background:#F7F9FC;}
.griglia_form{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px 18px;align-items:end;}
.griglia_form > *{min-width:0;}
.griglia_form .largo{grid-column:1 / -1;}
.griglia_form button{justify-self:start;grid-column:1 / -1;}
.p_span_checkbox{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:400;color:#2C2C2C;}
.p_span_checkbox input{width:auto;margin:0;}

/* ---- Pulsanti (mockup .button .p/.o/.s/.warn-o) ---- */
.button,.button_piccolo{
	display:inline-flex;align-items:center;gap:7px;border-radius:6px;font-family:inherit;font-weight:600;font-size:13px;
	padding:9px 15px;transition:.15s;text-decoration:none;cursor:pointer;justify-content:center;white-space:nowrap;
	background:#fff;color:#2C2C2C;border:1px solid #D9D9D9;
	}
.button:hover,.button_piccolo:hover{border-color:#4D7CFE;color:#4D7CFE;text-decoration:none;}
.button.pieno{background:#4D7CFE;color:#fff;border-color:#4D7CFE;}
.button.pieno:hover{background:#00228E;border-color:#00228E;color:#fff;}
.button_piccolo{padding:6px 11px;font-size:12.5px;}
.button_piccolo.rosso{border-color:#C0392B;color:#C0392B;}
.button_piccolo.rosso:hover{background:#F9E8E6;border-color:#C0392B;color:#C0392B;}

.div_ricerca{display:flex;gap:12px 18px;align-items:end;flex-wrap:wrap;margin:0 0 14px 0;}
.div_ricerca label{min-width:180px;}
.div_ricerca .riga_chip{flex:1 1 100%;}
.div_ricerca .a_destra{margin-left:auto;}
.riga_chip.distanziata{margin-top:18px;gap:12px;}
.riga_chip.bassa{align-items:end;}
.riga_chip p{margin:0;}
.chip_filtro:hover{text-decoration:none;border-color:#4D7CFE;}
.chip_filtro strong{font-weight:700;margin-left:3px;}
.interruttore{margin:0;}
.copia{display:flex;gap:8px;}
.copia input{flex:1;background:#F7F9FC;font-size:12.5px;}

.dati_scheda{display:grid;grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));gap:12px 22px;margin:0;}
.dati_scheda.riquadro{margin-top:0;}
.dati_scheda dt{font-size:11px;font-weight:700;color:#6B7280;text-transform:uppercase;letter-spacing:.06em;}
.dati_scheda dd{margin:2px 0 0 0;}

/* ---- Footer (mockup .footerbar) ---- */
#footer{background:#4D7CFE;color:#fff;text-align:center;font-size:13px;font-weight:600;padding:16px;margin-top:30px;}
#footer a{color:#fff;text-decoration:underline;}

@media (max-width:980px){
	#tabs_testata{margin-left:0;}
	#tabs_testata li a{font-size:13px;padding:14px 7px;}
	#testata{gap:8px 14px;padding:6px 14px;}
	.cont_rettangoli{grid-template-columns:1fr 1fr;}
	.subbar{flex-direction:column;gap:6px;padding:10px 14px 2px;}
	.subbar .dx{text-align:left;margin-left:0;}
	.due_colonne{grid-template-columns:1fr;}
	.griglia_form{grid-template-columns:1fr;}
	#corpo{margin:12px 10px 0 10px;padding:16px 14px 22px 14px;}
	h1{font-size:19px;}
	}
@media (prefers-reduced-motion:reduce){.button,.button_piccolo,#tabs_testata li a{transition:none;}}
