/*
 * Foglio di stile condiviso del portale "Prenotazione MMG".
 *
 * Raccoglie tutto il CSS che prima era in linea nelle singole pagine PHP
 * (blocchi <style> e attributi style="").
 *
 * Organizzazione:
 *  - ogni pagina ha una classe sul <body> ("pg-chiamata", "pg-medico", ...);
 *    le pagine con tema scuro comune hanno anche la classe "pmmg";
 *  - tutti i selettori sono avvolti in :where(), che ha specificita' zero:
 *    le regole mantengono cosi' la stessa specificita' che avevano quando
 *    erano nei blocchi <style> originali (e non interferiscono con Leaflet
 *    o con assets/index.php, che carica lo stesso file);
 *  - le regole identiche tra piu' pagine sono raggruppate, quelle che
 *    differiscono sono ridefinite per pagina subito dopo.
 */

/* ═══ Variabili (unione di quelle usate da tutte le pagine) ═══════════════ */
:root{--bg:#0b1120;--panel:#111827;--panel-2:#172033;--border:#1f2937;--border-soft:#161f2f;
      --text:#e2e8f0;--sub:#9ca3af;--faint:#6b7890;--acc:#38bdf8;--acc-bg:#0d2b3e;
      --ok:#4ade80;--ok-bg:#0f2418;--warn:#fbbf24;--warn-bg:#2a1a05;--stop:#f87171;--stop-bg:#2a0d0d;
      --err:#f87171;--serif:ui-serif,Georgia,'Times New Roman',serif}


/* ═══ Navigazione condivisa (_nav.php) ════════════════════════════════════ */
.nav-mmg{background:#111827;border-bottom:1px solid #243248;display:flex;align-items:center;gap:0;padding:0 16px;flex-wrap:wrap}
.nav-mmg-brand{display:flex;align-items:center;gap:8px;padding:11px 14px 11px 0;font-size:.8rem;font-weight:700;color:#e2e8f0}
.nav-mmg-icona{color:#a78bfa}
a.nav-mmg-link{display:flex;align-items:center;gap:6px;padding:11px 14px;font-size:.78rem;font-weight:600;
    text-decoration:none;border-bottom:2px solid transparent;color:#94a3b8;transition:.15s}
a.nav-mmg-link.attivo{border-bottom-color:#38bdf8;color:#38bdf8}
a.nav-mmg-link.destra{margin-left:auto}
a.nav-mmg-link.logout{color:#f87171}
a.nav-mmg-link.logout:hover{color:#fca5a5}


/* ═══ Base comune alle pagine con tema scuro (classe "pmmg") ══════════════ */
:where(.pmmg, .pmmg *){box-sizing:border-box}
:where(.pmmg){margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px}
:where(.pmmg) .wrap{max-width:1600px;margin:0 auto;padding:24px}
:where(.pg-chiamata, .pg-config-medico, .pg-geo-medico, .pg-medico) .wrap{display:flex;flex-direction:column;gap:18px}
:where(.pg-chiamata) .wrap{max-width:1500px}
:where(.pg-geo-medico) .wrap{max-width:1400px}

:where(.pmmg) h1{font-size:1.4rem;margin:6px 0 0}
:where(.pg-chiamata, .pg-config-medico, .pg-medico) h1{font-size:1.5rem}
:where(.pg-config, .pg-medici) h1{margin:0}
:where(.pmmg) .sub{color:var(--sub);font-size:.85rem}
:where(.pg-config, .pg-medici) .sub{font-size:.8rem}

:where(.pmmg) .topbar{display:flex;justify-content:space-between;flex-wrap:wrap}
:where(.pg-config-medico, .pg-geo-medico, .pg-medico) .topbar{align-items:baseline;gap:10px}
:where(.pg-config, .pg-medici) .topbar{align-items:center;gap:16px;margin-bottom:16px}
:where(.pmmg) a.back{color:var(--sub);text-decoration:none;font-size:.85rem}

:where(.pmmg) .card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}
:where(.pmmg) .card h2{margin:0 0 12px;font-size:.95rem;color:var(--acc)}

/* Moduli (pagine con form: Prenotazione, Configurazione medico, scheda medico) */
:where(.pg-chiamata, .pg-config-medico, .pg-medico) label{font-size:.78rem;color:var(--sub);display:block;margin-bottom:4px}
:where(.pg-chiamata, .pg-config-medico, .pg-medico) :is(input, select){background:var(--panel-2);border:1px solid var(--border);color:var(--text);
    border-radius:8px;padding:8px;font-size:.85rem;width:100%}
:where(.pg-chiamata, .pg-config-medico, .pg-medico) :is(.grid, .grid2){display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Pulsanti */
:where(.pmmg) button{background:var(--acc);border:none;color:#0b1120;padding:9px 16px;border-radius:8px;font-weight:700;cursor:pointer}
:where(.pg-chiamata, .pg-config-medico, .pg-medico) button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}
:where(.pg-config-medico, .pg-medico) button.danger{background:var(--stop);color:#fff}

/* Riquadro messaggi (#msg) */
:where(.pg-chiamata, .pg-config-medico, .pg-medico) #msg{font-size:.82rem;padding:8px 12px;border-radius:8px;display:none}
:where(.pg-chiamata, .pg-config-medico, .pg-medico) #msg.ok{display:block;background:var(--ok-bg);color:var(--ok)}
:where(.pg-chiamata, .pg-config-medico, .pg-medico) #msg.err{display:block;background:var(--stop-bg);color:var(--stop)}

/* Tabelle */
:where(.pmmg) table{width:100%;border-collapse:collapse}
:where(.pmmg) :is(th, td){text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:.82rem}
:where(.pmmg) th{color:var(--sub);font-weight:600;text-transform:uppercase;font-size:.68rem}
:where(.pg-config, .pg-medici) table{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}
:where(.pg-config, .pg-medici) :is(th, td){padding:10px 16px;font-size:.85rem}
:where(.pg-config, .pg-medici) th{font-size:.72rem;letter-spacing:.05em}
:where(.pg-config, .pg-medici) tr:last-child td{border-bottom:none}
:where(.pg-config, .pg-medici) tr.riga:hover{background:var(--panel-2)}
:where(.pg-config, .pg-medici) a.nome{color:var(--text);text-decoration:none;font-weight:600}
:where(.pg-config, .pg-medici) a.nome:hover{color:var(--acc)}
:where(.pg-config, .pg-medici) .vuoto{padding:30px;text-align:center;color:var(--sub)}

/* Ricerca per nome negli elenchi medici */
:where(.pg-config, .pg-medici) form.search{display:flex;gap:8px;margin-bottom:18px;max-width:480px}
:where(.pg-config, .pg-medici) input[type=search]{flex:1;background:var(--panel);border:1px solid var(--border);color:var(--text);
    padding:9px 12px;border-radius:8px;font-size:.9rem}

/* Schede sede (Prenotazione e scheda medico) */
:where(.pg-chiamata, .pg-medico) .sede{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px}
:where(.pg-chiamata, .pg-medico) .sede .indirizzo{font-weight:600}
:where(.pg-chiamata, .pg-medico) .orari-riga{font-size:.85rem;color:var(--text);margin-top:4px}
:where(.pg-chiamata, .pg-medico) .orari-avviso{color:var(--warn)}

/* Riquadri di esito (Prenotazione e geolocalizzazione) */
:where(.pg-chiamata, .pg-geo-medico) .esito{border-left:3px solid var(--acc);background:var(--acc-bg);padding:12px 16px;border-radius:0 8px 8px 0;font-size:.85rem}

/* Mappa Leaflet */
:where(.pg-chiamata, .pg-geo-medico) #mappa{height:520px;border-radius:10px;border:1px solid var(--border)}

/* Segnaposto numerati sulla mappa (generati da main.js) */
:where(.pmmg) .pin-mappa{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
    background:#38bdf8;border:2px solid #0b1120;display:flex;align-items:center;justify-content:center;
    box-shadow:0 1px 4px rgba(0,0,0,.5)}
:where(.pmmg) .pin-mappa-origine{width:28px;height:28px;background:#f87171}
:where(.pmmg) .pin-mappa-numero{transform:rotate(45deg);color:#0b1120;font-weight:800;font-size:12px}
:where(.pmmg) .pin-mappa-icona{transform:rotate(45deg);color:#0b1120;font-size:12px}


/* ═══ Pagina: Prenotazione (chiamata.php) ═════════════════════════════════ */
:where(.pg-chiamata) .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
:where(.pg-chiamata) button.warn{background:var(--warn);color:#1a1200}
:where(.pg-chiamata) button:disabled{opacity:.5;cursor:not-allowed}

:where(.pg-chiamata) .autocomplete{position:relative}
:where(.pg-chiamata) .risultati-autocomplete{position:absolute;top:100%;left:0;right:0;background:var(--panel-2);
    border:1px solid var(--border);border-radius:8px;margin-top:4px;max-height:220px;overflow-y:auto;z-index:20;display:none}
:where(.pg-chiamata) .risultati-autocomplete div{padding:8px 12px;cursor:pointer;font-size:.85rem}
:where(.pg-chiamata) .risultati-autocomplete div:hover{background:var(--border)}
:where(.pg-chiamata) .risultati-autocomplete .vuoto{color:var(--sub);cursor:default}

:where(.pg-chiamata) .nav-giorno{display:flex;align-items:center;gap:12px;margin-bottom:12px}
:where(.pg-chiamata) .nav-giorno-label{font-weight:700;font-size:.9rem;min-width:160px;text-align:center}
:where(.pg-chiamata) button.small{padding:6px 12px;font-size:.78rem}
/* Frecce di navigazione giorno: colore diverso dal resto della pagina
   (viola, coerente con l'icona della sezione in navbar) per farle
   risaltare rispetto alle altre azioni. */
:where(.pg-chiamata) button.nav-freccia-evidenziata{background:#a78bfa;color:#1c1033;border:none}
:where(.pg-chiamata) button.nav-freccia-evidenziata:hover{background:#c4b0fc}
:where(.pg-chiamata) button.nav-freccia-evidenziata:disabled{background:#a78bfa}

/* Sedi e orari di ricevimento del curante: stessa presentazione di
   medico.php (scheda per sede, orari raggruppati per giorno). */
:where(.pg-chiamata) .sedi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:10px 0 14px}
:where(.pg-chiamata) .orari-riga{font-size:.82rem}
:where(.pg-chiamata) .orari-avviso{font-size:.75rem;margin-top:4px}

:where(.pg-chiamata) .esito{margin-bottom:12px}
:where(.pg-chiamata) .esito.aperto{border-color:var(--ok);background:var(--ok-bg)}
:where(.pg-chiamata) .esito.chiuso{border-color:var(--warn);background:var(--warn-bg)}
:where(.pg-chiamata) .esito-seguito{margin-top:-2px}
:where(.pg-chiamata) .sede-riga{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;
    display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap}
:where(.pg-chiamata) .contatti-box{font-size:.82rem;margin-top:10px;display:flex;flex-direction:column;gap:3px}
:where(.pg-chiamata) .titolo-sedi{margin:16px 0 4px;font-size:.85rem;color:var(--sub)}

:where(.pg-chiamata) .layout-alt{display:grid;grid-template-columns:1fr 420px;gap:18px;align-items:start}
@media (max-width:1100px){:where(.pg-chiamata) .layout-alt{grid-template-columns:1fr}}
:where(.pg-chiamata) tr.riga-alt{cursor:pointer;transition:background .1s}
:where(.pg-chiamata) tr.riga-alt:hover, :where(.pg-chiamata) tr.riga-alt.evidenziata{background:var(--panel-2)}
/* Fascia mattutina (fino alle 13) vs pomeridiana (dalle 14) — colpo
   d'occhio su come si distribuisce la giornata scorrendo la griglia. */
:where(.pg-chiamata) tr.riga-alt.mattina{background:rgba(56,189,248,.07)}
:where(.pg-chiamata) tr.riga-alt.mattina:hover, :where(.pg-chiamata) tr.riga-alt.mattina.evidenziata{background:rgba(56,189,248,.16)}
:where(.pg-chiamata) tr.riga-alt.pomeriggio{background:rgba(251,191,36,.07)}
:where(.pg-chiamata) tr.riga-alt.pomeriggio:hover, :where(.pg-chiamata) tr.riga-alt.pomeriggio.evidenziata{background:rgba(251,191,36,.16)}
:where(.pg-chiamata) .badge-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
    border-radius:50%;background:var(--acc);color:#0b1120;font-weight:700;font-size:.72rem}
:where(.pg-chiamata) .carico{font-weight:700}
:where(.pg-chiamata) .carico.basso{color:var(--ok)}
:where(.pg-chiamata) .carico.medio{color:var(--warn)}
:where(.pg-chiamata) .carico.alto{color:var(--stop)}

:where(.pg-chiamata) .mini-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:none;gap:8px;flex-wrap:wrap;align-items:end}
:where(.pg-chiamata) .mini-form.visibile{display:flex}
:where(.pg-chiamata) .mini-form > div{min-width:130px}
:where(.pg-chiamata) .hidden{display:none !important}


/* ═══ Pagina: Configurazione medico (config-medico.php) ═══════════════════ */
:where(.pg-config-medico) .layout{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:18px;align-items:start}
@media (max-width:960px){:where(.pg-config-medico) .layout{grid-template-columns:1fr}}
:where(.pg-config-medico) button.small{padding:6px 10px;font-size:.78rem}

:where(.pg-config-medico) .sedi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
:where(.pg-config-medico) .sede-card{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px}
:where(.pg-config-medico) .sede-head{display:flex;gap:8px;align-items:center;margin-bottom:10px}
:where(.pg-config-medico) .sede-head input{flex:1}
:where(.pg-config-medico) .orario-riga{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--border);font-size:.85rem}
:where(.pg-config-medico) .orario-riga:first-of-type{border-top:none}
:where(.pg-config-medico) .orario-riga .txt{flex:1}
:where(.pg-config-medico) .orario-riga.non-parsato .txt{color:var(--warn)}
:where(.pg-config-medico) .form-orario{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;margin-top:10px;align-items:end}
:where(.pg-config-medico) .form-orario label{margin-bottom:2px}
:where(.pg-config-medico) .nuova-sede{display:flex;gap:8px;margin-top:14px}
:where(.pg-config-medico) .nuova-sede input{flex:1}


/* ═══ Pagina: Configurazione elenco medici (config.php) ═══════════════════ */
:where(.pg-config) .avviso{color:var(--warn);font-weight:700}


/* ═══ Pagina: Geolocalizzazione medico (geo-medico.php) ═══════════════════ */
:where(.pg-geo-medico) .layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:18px;align-items:start}
@media (max-width:900px){:where(.pg-geo-medico) .layout{grid-template-columns:1fr}}
:where(.pg-geo-medico) .stato{font-weight:700;display:inline-flex;align-items:center;gap:5px}
:where(.pg-geo-medico) .stato.ok{color:var(--ok)}
:where(.pg-geo-medico) .stato.mancante{color:var(--stop)}
:where(.pg-geo-medico) .esito.ok{border-color:var(--ok);background:var(--ok-bg)}
:where(.pg-geo-medico) .esito.warn{border-color:var(--warn);background:var(--warn-bg)}


/* ═══ Pagina: Elenco medici (medici.php) ══════════════════════════════════ */
:where(.pg-medici) .conteggio{color:var(--sub);font-size:.85rem}
:where(.pg-medici) a.riga{color:var(--text);text-decoration:none;display:block;cursor:pointer}
:where(.pg-medici) col.c-nome{width:22%}
:where(.pg-medici) col.c-codice{width:12%}
:where(.pg-medici) col.c-aft{width:10%}
:where(.pg-medici) col.c-contatto{width:16%}
:where(.pg-medici) col.c-email{width:22%}
:where(.pg-medici) col.c-sedi{width:8%}
:where(.pg-medici) col.c-geo{width:8%}
:where(.pg-medici) col.c-azioni{width:10%}
:where(.pg-medici) a.geo{text-decoration:none;font-size:.78rem;display:inline-flex;align-items:center;gap:5px}
:where(.pg-medici) a.geo.ok{color:var(--ok)}
:where(.pg-medici) a.geo.parziale{color:var(--warn)}
:where(.pg-medici) a.geo.mancante{color:var(--sub)}


/* ═══ Pagina: Scheda medico (medico.php) ══════════════════════════════════ */
/* Griglia principale: sidebar informativa a sinistra, area operativa a destra */
:where(.pg-medico) .layout{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:18px;align-items:start}
:where(.pg-medico) .sidebar{display:flex;flex-direction:column;gap:18px}
:where(.pg-medico) .main{display:flex;flex-direction:column;gap:18px}
@media (max-width:960px){:where(.pg-medico) .layout{grid-template-columns:1fr}}

:where(.pg-medico) .topbar-azioni{display:flex;gap:14px;align-items:center}
:where(.pg-medico) .sedi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
:where(.pg-medico) .orari-avviso{font-size:.78rem;margin-top:2px}
:where(.pg-medico) .curante-di{color:var(--warn);font-size:.72rem;margin-top:2px}
:where(.pg-medico) :is(.contatti div, .segretaria div){font-size:.85rem;margin-top:4px}

:where(.pg-medico) textarea{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);
    border-radius:8px;padding:8px;font-size:.85rem;resize:vertical;min-height:60px}

:where(.pg-medico) .tabelle{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media (max-width:1200px){:where(.pg-medico) .tabelle{grid-template-columns:1fr}}
:where(.pg-medico) table{margin-top:8px}
:where(.pg-medico) .pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700}
:where(.pg-medico) .pill.confermata{background:var(--ok-bg);color:var(--ok)}
:where(.pg-medico) .pill.annullata{background:var(--stop-bg);color:var(--stop)}


/* ═══ Utilità (pagine con tema scuro) ════════════════════════════════════ */
:where(.pmmg) .testo-ok{color:var(--ok)}
:where(.pmmg) .testo-warn{color:var(--warn)}
:where(.pmmg) .azioni-riga{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
:where(.pmmg) .mt-8{margin-top:8px}
:where(.pmmg) .mt-10{margin-top:10px}
:where(.pmmg) .mt-12{margin-top:12px}
:where(.pmmg) .mt-14{margin-top:14px}
:where(.pmmg) .mb-8{margin-bottom:8px}
:where(.pmmg) .mb-10{margin-bottom:10px}
:where(.pmmg) .mb-14{margin-bottom:14px}


/* ═══ Pagina: Accesso (index.php) ═════════════════════════════════════════ */
:where(.pg-login, .pg-login *){box-sizing:border-box}
:where(.pg-login){margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text);
    font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px}
:where(.pg-login) form{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px;width:min(360px,92vw);display:flex;flex-direction:column;gap:12px}
:where(.pg-login) .logo{display:block;width:100%;max-width:100%;height:auto;margin:0 0 10px;padding:12px 40px;background:#fff;border-radius:8px}
:where(.pg-login) h1{font-size:1.15rem;margin:0 0 4px}
:where(.pg-login) .sub{color:var(--sub);font-size:.8rem;margin-bottom:6px}
:where(.pg-login) label{display:block}
:where(.pg-login) input{display:block;width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:8px;font-size:.95rem}
:where(.pg-login) button{background:var(--acc);border:none;color:#0b1120;padding:10px;border-radius:8px;font-weight:700;cursor:pointer;font-size:.95rem}
:where(.pg-login) .err{color:var(--err);font-size:.85rem}


/* ═══ Pagina: Guida (guida.php) ═══════════════════════════════════════════ */
:where(.pg-guida, .pg-guida *){box-sizing:border-box}
:where(.pg-guida){margin:0;background:var(--bg);color:var(--text);
    font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;line-height:1.6}
:where(.pg-guida) .wrap{max-width:78ch;margin:0 auto;padding:28px 24px 80px;display:flex;flex-direction:column;gap:34px}

:where(.pg-guida) .testata{display:flex;flex-direction:column;gap:8px;padding-bottom:22px;border-bottom:2px solid var(--border)}
:where(.pg-guida) .eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-weight:700}
:where(.pg-guida) h1{
    font-family: var(--serif), serif;font-size:30px;line-height:1.15;margin:0;font-weight:600;text-wrap:balance}
:where(.pg-guida) .sub{color:var(--sub);font-size:15px;margin:0;max-width:62ch}

:where(.pg-guida) .azioni{display:flex;gap:10px}
:where(.pg-guida) .btn-stampa{background:var(--acc);border:none;color:#0b1120;padding:9px 16px;border-radius:8px;
    font-weight:700;cursor:pointer;font-size:.85rem;display:inline-flex;align-items:center;gap:8px}

:where(.pg-guida) section{display:flex;flex-direction:column;gap:14px;scroll-margin-top:16px}
:where(.pg-guida) h2{
    font-family: var(--serif), serif;font-size:21px;font-weight:600;margin:0;text-wrap:balance;
    padding-bottom:7px;border-bottom:1px solid var(--border)}
:where(.pg-guida) h3{font-size:14px;font-weight:700;margin:0}
:where(.pg-guida) p{margin:0;max-width:66ch}
:where(.pg-guida) .lead{color:var(--sub)}
:where(.pg-guida) :is(ol, ul){margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}

:where(.pg-guida) .indice{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 18px;
    display:flex;flex-wrap:wrap;gap:6px 18px}
:where(.pg-guida) .indice a{color:var(--acc);text-decoration:none;font-size:13.5px}
:where(.pg-guida) .indice a:hover{text-decoration:underline}

:where(.pg-guida) .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
:where(.pg-guida) .card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px;
    display:flex;flex-direction:column;gap:8px}
:where(.pg-guida) .card h3{display:flex;align-items:center;gap:7px;color:var(--acc)}
:where(.pg-guida) .card p{font-size:13.5px;color:var(--sub)}

:where(.pg-guida) .nota{border-left:3px solid var(--acc);background:var(--acc-bg);padding:12px 16px;
    border-radius:0 8px 8px 0;font-size:13.5px}
:where(.pg-guida) .nota.warn{border-color:var(--warn);background:var(--warn-bg)}
:where(.pg-guida) footer{border-top:1px solid var(--border);padding-top:16px;color:var(--faint);font-size:12.5px}

@media print {
    :where(.pg-guida) :is(.azioni, nav){display:none !important}
    :where(.pg-guida){background:#fff;color:#111}
    :where(.pg-guida) .wrap{max-width:none;padding:0}
    :where(.pg-guida) :is(.card, .indice, .nota){background:#f3f4f6;border-color:#d1d5db;color:#111}
    :where(.pg-guida) :is(h1, h2, h3){color:#111}
    :where(.pg-guida) a{color:#111;text-decoration:underline}
    @page { size: A4; margin: 18mm 16mm; }
}


/* ═══ Pagine di servizio (geocodifica-sedi.php, import-medici.php) ════════ */
:where(.pg-console){background:#0b1120;color:#e2e8f0;font-family:Consolas,monospace;font-size:13px;padding:20px;max-width:1000px;margin:0 auto}
:where(.pg-console) h1{font-size:1rem;color:#38bdf8}
:where(.pg-console) pre{background:#111827;border:1px solid #243248;border-radius:8px;padding:14px;white-space:pre-wrap}
:where(.pg-console) a.btn{display:inline-block;background:#38bdf8;color:#0b1120;padding:6px 14px;border-radius:6px;font-weight:700;text-decoration:none;margin-bottom:14px}
:where(.pg-console) form{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
:where(.pg-console) button{background:#38bdf8;border:none;color:#0b1120;padding:6px 14px;border-radius:6px;font-weight:700;cursor:pointer}
:where(.pg-geocodifica) form{margin-bottom:14px;flex-wrap:nowrap}
:where(.pg-geocodifica) input{width:80px}
:where(.pg-import) input[type=text]{background:#111827;border:1px solid #243248;color:#e2e8f0;padding:6px 10px;border-radius:6px;width:420px}
:where(.pg-import) button.apply{background:#ef4444;color:#fff}
:where(.pg-import) label{font-size:.8rem;color:#94a3b8}


/* ═══ Pagina: Assets (assets/index.php) ═══════════════════════════════════ */
:where(.pg-assets) .topbar{align-items:center;gap:16px;margin-bottom:16px}
:where(.pg-assets) h1{margin:0}
:where(.pg-assets) h1 i{color:var(--acc);margin-right:6px}
:where(.pg-assets) .table-assets table{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}
:where(.pg-assets) :is(th, td){padding:10px 16px;font-size:.85rem}
:where(.pg-assets) th{font-size:.72rem;letter-spacing:.05em}
:where(.pg-assets) tbody tr:hover{background:var(--panel-2)}
:where(.pg-assets) tr:last-child td{border-bottom:none}
:where(.pg-assets) td a{color:var(--acc);text-decoration:none}
:where(.pg-assets) td a:hover{text-decoration:underline}
:where(.pg-assets) .assets-ok{color:var(--ok)}
:where(.pg-assets) .assets-ko{color:var(--stop)}
:where(.pg-assets) .assets-lock{color:var(--warn)}
:where(.pg-assets) .assets-footer{text-align:center;color:var(--faint);font-size:.78rem;padding:18px 24px 28px}
