/* =========================================================
   Bunnies Factory — stile dell'area riservata
   Stessi colori del sito: rosso, nero, carta
   ========================================================= */
:root{
  --red:#E4231B;
  --red-d:#B7160F;
  --ink:#111;
  --ink-soft:#6b6b6b;
  --paper:#fff;
  --paper-2:#f5f2ec;
  --line:#e7e2d8;
  --dark:#0e0e0e;
  --ok:#127a3d;
  --warn:#B77500;
  --sans:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);background:var(--paper-2);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1{font-size:1.5rem;margin:0}
h2{font-size:1.05rem;margin:34px 0 12px}
code{background:var(--paper);border:1px solid var(--line);padding:1px 6px;border-radius:3px;font-size:.88em}

/* ---------- Marchio ---------- */
.marchio{font-weight:800;letter-spacing:-.02em;font-size:1.05rem}
.marchio span{color:var(--red)}
.marchio small{display:inline-block;margin-left:8px;font-weight:500;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-soft)}

/* ---------- Schermata di accesso ---------- */
.schermata-accesso{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--dark)}
.riquadro-accesso{background:var(--paper);padding:40px 34px;width:100%;max-width:400px;border-top:4px solid var(--red);
  box-shadow:0 20px 60px rgba(0,0,0,.4);display:grid;gap:10px}
.riquadro-accesso h1{margin:14px 0 4px;font-size:1.35rem}
.riquadro-accesso .spiegazione{color:var(--ink-soft);font-size:.9rem;margin:0 0 10px}
.riquadro-accesso label{font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}
.riquadro-accesso input{font:inherit;padding:13px 14px;border:1px solid var(--line);background:var(--paper);width:100%}
.riquadro-accesso input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(228,35,27,.14)}
.riquadro-accesso button{margin-top:18px;font:inherit;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;
  padding:14px;border:0;background:var(--red);color:#fff;cursor:pointer}
.riquadro-accesso button:hover{background:var(--red-d)}

/* ---------- Testata ---------- */
.testata{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:var(--paper);
  border-bottom:1px solid var(--line);padding:16px 26px;position:sticky;top:0;z-index:10}
.schede{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.schede a{padding:9px 16px;font-size:.86rem;font-weight:600;text-decoration:none;color:var(--ink-soft);border-radius:3px}
.schede a:hover{background:var(--paper-2);color:var(--ink)}
.schede a.attiva{background:var(--ink);color:#fff}
.pallino{display:inline-block;min-width:19px;padding:0 5px;margin-left:6px;background:var(--red);color:#fff;
  border-radius:10px;font-size:.7rem;text-align:center;line-height:19px;font-weight:700}
.schede a.attiva .pallino{background:#fff;color:var(--ink)}
.pallino.rosso{background:var(--red);color:#fff}
.esci{font-size:.82rem;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:9px 14px;border:1px solid var(--line);border-radius:3px}
.esci:hover{border-color:var(--red);color:var(--red)}

/* ---------- Contenuto ---------- */
.contenuto{max-width:1080px;margin:0 auto;padding:30px 26px 70px}
.intestazione-sezione{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.sottotitolo{color:var(--ink-soft);font-size:.9rem;margin:5px 0 0}
.strumenti{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:0}
.strumenti input,.strumenti select{font:inherit;font-size:.9rem;padding:9px 12px;border:1px solid var(--line);background:var(--paper)}
.strumenti input:focus,.strumenti select:focus{outline:none;border-color:var(--red)}
.strumenti input[type=search]{min-width:230px}

.bottone{display:inline-block;font:inherit;font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer;
  padding:10px 16px;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:3px}
.bottone:hover{background:#000}
.bottone.chiaro{background:var(--paper);color:var(--ink);border-color:var(--line)}
.bottone.chiaro:hover{border-color:var(--ink);background:var(--paper)}
.bottone.piccolo{padding:7px 13px;font-size:.78rem}

.messaggio{padding:12px 16px;margin:0 0 20px;font-size:.9rem;font-weight:600;border-left:3px solid}
.messaggio.ok{background:#eaf6ee;border-color:var(--ok);color:var(--ok)}
.messaggio.ko{background:#fdecea;border-color:var(--red);color:var(--red-d)}
.vuoto{background:var(--paper);border:1px dashed var(--line);padding:34px;text-align:center;color:var(--ink-soft);font-size:.94rem}
.vuoto.piccolo{padding:18px;text-align:left;font-size:.88rem}

/* ---------- Richieste ---------- */
.richiesta{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--line);padding:20px 22px;margin-bottom:12px}
.richiesta.stato-nuova{border-left-color:var(--red)}
.richiesta.stato-gestita{border-left-color:var(--ok)}
.richiesta.stato-archiviata{opacity:.62}
.riga-alta{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.richiesta h2{margin:0;font-size:1.08rem}
.meta{color:var(--ink-soft);font-size:.82rem;margin:3px 0 0}
.meta .fa{color:var(--red)}
.stato{font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:4px 10px;border-radius:12px;white-space:nowrap}
.stato.nuova{background:#fdecea;color:var(--red-d)}
.stato.gestita{background:#eaf6ee;color:var(--ok)}
.stato.archiviata{background:var(--paper-2);color:var(--ink-soft)}
.contatti{margin:12px 0 0;font-size:.9rem}
.contatti a{color:var(--red);text-decoration:none;font-weight:600}
.contatti a:hover{text-decoration:underline}
.messaggio-cliente{background:var(--paper-2);padding:14px 16px;margin:13px 0 0;font-size:.94rem;white-space:pre-line}
.azioni{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 0}
.etichetta{display:inline-block;background:var(--paper-2);border:1px solid var(--line);padding:1px 8px;border-radius:10px;font-size:.74rem;color:var(--ink-soft)}
.etichetta.rossa{background:#fdecea;border-color:#f5c6c2;color:var(--red-d)}
.etichetta.gialla{background:#fdf4e3;border-color:#f0dfb8;color:var(--warn)}

/* ---------- Statistiche ---------- */
.numeri{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:10px}
.numero{background:var(--paper);border:1px solid var(--line);padding:20px}
.numero b{display:block;font-size:2rem;line-height:1;color:var(--ink)}
.numero span{display:block;margin-top:6px;font-size:.8rem;color:var(--ink-soft)}
.grafico{display:flex;align-items:flex-end;gap:3px;height:170px;background:var(--paper);border:1px solid var(--line);padding:14px 12px 4px}
.colonna{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.barra{width:100%;background:var(--red);opacity:.82;transition:.2s;min-height:3px}
.colonna:hover .barra{opacity:1}
.colonna span{font-size:.62rem;color:var(--ink-soft);margin-top:4px}
.due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:28px}
table{width:100%;border-collapse:collapse;background:var(--paper);font-size:.9rem}
table td,table th{padding:9px 13px;border-bottom:1px solid var(--line);text-align:left}
table th{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-2)}
td.numerica{text-align:right;font-weight:700;width:70px}

/* ---------- Log tecnico ---------- */
.tabella-eventi tr.liv-errore td{background:#fffafa}
.nowrap{white-space:nowrap}
.tabella-eventi small{color:var(--ink-soft)}

.pie{text-align:center;color:var(--ink-soft);font-size:.78rem;padding:0 26px 34px}

/* =========================================================
   Utenti, profilo e verifica in due passaggi
   ========================================================= */

.chi-sono{text-align:right;line-height:1.25}
.chi-sono b{display:block;font-size:.86rem}
.chi-sono span{font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}

.riquadro{background:var(--paper);border:1px solid var(--line);padding:26px 28px;margin-bottom:16px}
.riquadro h2{margin-top:0}
.riquadro.attenzione{border-left:3px solid var(--red)}

.modulo-riga{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-top:16px}
.modulo-riga>div{display:flex;flex-direction:column;gap:5px;flex:1;min-width:180px}
.modulo-riga label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.modulo-riga input,.modulo-riga select{font:inherit;font-size:.92rem;padding:10px 12px;border:1px solid var(--line);background:var(--paper)}
.modulo-riga input:focus,.modulo-riga select:focus{outline:none;border-color:var(--red)}
.modulo-riga .bottone{height:41px}

/* passaggi guidati */
.passi{margin:22px 0 0;padding-left:22px}
.passi>li{margin-bottom:22px;padding-left:6px}
.passi b{color:var(--ink)}

.area-qr{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start;margin-top:14px}
.area-qr #qr{background:#fff;padding:10px;border:1px solid var(--line);line-height:0}
.qr-manuale{flex:1;min-width:240px;font-size:.88rem;color:var(--ink-soft)}
.qr-manuale p{margin:0 0 8px}
.segreto{display:inline-block;background:var(--paper-2);border:1px solid var(--line);padding:9px 12px;
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:1rem;letter-spacing:.08em;color:var(--ink);word-break:break-all}
.minuta{font-size:.8rem;margin-top:9px}

.modulo-codice{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.campo-codice{font:inherit;font-size:1.5rem!important;letter-spacing:.42em;text-align:center;
  padding:12px 14px!important;border:1px solid var(--line);background:var(--paper);width:190px;
  font-family:ui-monospace,Consolas,monospace}
.campo-codice:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(228,35,27,.14)}

/* codici di recupero */
.riquadro-codici{background:var(--paper);border:2px solid var(--red);padding:26px 28px;margin-bottom:20px}
.riquadro-codici h2{margin-top:0;color:var(--red)}
.codici{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0;padding:0}
.codici li{background:var(--paper-2);border:1px dashed var(--line);padding:11px;text-align:center;
  font-family:ui-monospace,Consolas,monospace;font-size:1.02rem;letter-spacing:.05em}

/* tabella utenti */
.tabella-utenti td{vertical-align:middle}
.tabella-utenti tr.sospeso{opacity:.55}
.tabella-utenti select{font:inherit;font-size:.85rem;padding:6px 9px;border:1px solid var(--line);background:var(--paper)}
.azioni-utente{display:flex;gap:6px;flex-wrap:wrap}
.azioni-utente form{margin:0}
.riga-azione{margin:0}
.etichetta.verde{background:#eaf6ee;border-color:#bfe3cd;color:var(--ok)}
.bottone.pericolo{background:var(--paper);border-color:#f0c4c0;color:var(--red-d)}
.bottone.pericolo:hover{background:var(--red);border-color:var(--red);color:#fff}

.riquadro-accesso .sotto{text-align:center;margin:14px 0 0;font-size:.84rem}
.riquadro-accesso .sotto a{color:var(--ink-soft)}

/* =========================================================
   IMPOSTAZIONE DA GESTIONALE
   elenco a sinistra · scheda con linguette a destra
   (usata da Clienti e da Noleggi)
   ========================================================= */

svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em}

.gestionale{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}

/* ---------- A · elenco ---------- */
.riquadro-lista{background:var(--paper);border:1px solid var(--line);
  box-shadow:0 1px 3px rgba(0,0,0,.05);overflow:hidden;position:sticky;top:88px}
.titolo-riquadro{background:var(--dark);color:#efece6;font-size:.78rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:10px 14px}
.ricerca-lista{position:relative;display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.ricerca-lista svg{position:absolute;left:22px;font-size:.95rem;color:var(--ink-soft);pointer-events:none}
.ricerca-lista input{font:inherit;font-size:.88rem;padding:8px 10px 8px 32px;width:100%;
  border:1px solid var(--line);background:var(--paper)}
.ricerca-lista input:focus{outline:none;border-color:var(--red)}
.corpo-lista{max-height:min(62vh,620px);overflow-y:auto}
.pie-lista{border-top:1px solid var(--line);background:var(--paper-2);
  padding:8px 14px;font-size:.76rem;color:var(--ink-soft)}

.griglia{font-size:.86rem;border-collapse:collapse;width:100%}
.griglia th{position:sticky;top:0;z-index:1;background:var(--paper-2);border-bottom:1px solid var(--line);
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:8px 12px}
.griglia td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.griglia tbody tr{cursor:pointer;transition:.12s}
.griglia tbody tr:hover{background:var(--paper-2)}
.griglia tbody tr.selezionata{background:var(--dark)}
.griglia tbody tr.selezionata td,.griglia tbody tr.selezionata a{color:#fff}
.griglia tbody tr.selezionata small{color:#b3aea4}
.griglia a{text-decoration:none;font-weight:600}
.griglia small{display:block;font-size:.75rem;color:var(--ink-soft);font-weight:400}
.griglia .centro{text-align:center}
.griglia tr.riga-vuota td{text-align:center;color:var(--ink-soft);padding:26px 12px;cursor:default}
.griglia tr.riga-vuota:hover{background:transparent}
.griglia tr.riga-passata{opacity:.55}

/* ---------- B · scheda ---------- */
.riquadro-scheda{background:var(--paper);border:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,.05);min-width:0}

.barra-comandi{display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding:11px 14px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.comando{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:.82rem;font-weight:600;
  padding:8px 14px;border:0;border-radius:3px;cursor:pointer;text-decoration:none;color:#fff;transition:.15s}
.comando svg{font-size:.95rem;stroke-width:2}
.comando.nuovo{background:#2f6fb5}
.comando.nuovo:hover{background:#255a94}
.comando.elimina{background:var(--red)}
.comando.elimina:hover{background:var(--red-d)}
.comando.salva{background:#1f7a45}
.comando.salva:hover{background:#166035}
.comando.disabilitato{background:#cfcbc3;cursor:not-allowed}
.comando.calendario{background:#fff;color:#2f6fb5;border:1px solid #b9d0e8}
.comando.calendario:hover{background:#eef4fb;border-color:#2f6fb5}
.comando.ics{background:#fff;color:var(--ink-soft);border:1px solid var(--line);padding:8px 11px}
.comando.ics:hover{border-color:var(--ink);color:var(--ink)}
.ultima-modifica{margin-left:auto;font-size:.78rem;color:var(--ink-soft)}

.linguette{display:flex;gap:2px;padding:0 12px;background:var(--paper-2);border-bottom:1px solid var(--line);flex-wrap:wrap}
.linguetta{font:inherit;font-size:.84rem;font-weight:600;color:var(--ink-soft);background:transparent;
  border:1px solid transparent;border-bottom:0;padding:10px 16px;cursor:pointer;position:relative;top:1px}
.linguetta:hover{color:var(--ink)}
.linguetta.attiva{background:var(--paper);border-color:var(--line);color:var(--ink)}
.linguetta.attiva::after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--red)}

.corpo-scheda{padding:22px 24px 26px}
.pannello.nascosto,.nascosto{display:none}

.testa-pannello{display:flex;align-items:center;gap:13px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.testa-pannello b{display:block;font-size:1.02rem}
.testa-pannello span{display:block;font-size:.82rem;color:var(--ink-soft)}
.tondino{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:38px;height:38px;border-radius:50%;color:#fff;font-weight:700;font-size:.86rem}
.tondino.grande{width:46px;height:46px;font-size:1rem}
.tondino.vuoto{background:var(--paper-2);color:var(--red);border:2px dashed var(--line);font-size:1.4rem;font-weight:400}

.titolo-gruppo{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);margin:24px 0 14px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.titolo-gruppo:first-of-type{margin-top:0}

.riga-modulo{display:flex;align-items:center;gap:12px;margin-bottom:11px;flex-wrap:wrap}
.riga-modulo.alto{align-items:flex-start}
.riga-modulo label{flex:0 0 152px;text-align:right;font-size:.86rem;color:var(--ink-soft)}
.riga-modulo input,.riga-modulo select,.riga-modulo textarea{font:inherit;font-size:.92rem;
  padding:9px 11px;border:1px solid var(--line);background:#fffdf3;color:var(--ink);flex:1;min-width:130px}
.riga-modulo textarea{resize:vertical;min-height:110px;font-family:inherit}
.riga-modulo input:focus,.riga-modulo select:focus,.riga-modulo textarea:focus{
  outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 3px rgba(228,35,27,.12)}
.riga-modulo select{background:#f2f8f2}
.riga-modulo .corto{flex:0 0 190px;min-width:120px}
.riga-modulo .cortissimo{flex:0 0 120px;min-width:100px}
.riga-modulo .obbligatorio{border-left:3px solid var(--red)}
.riga-modulo .sola-lettura{background:#eef3f8;color:var(--ink-soft)}
.avviso-pannello{margin:20px 0 0;padding:12px 14px;background:var(--paper-2);
  border-left:3px solid var(--line);font-size:.84rem;color:var(--ink-soft)}

@media(max-width:1080px){
  .gestionale{grid-template-columns:1fr}
  .riquadro-lista{position:static}
  .corpo-lista{max-height:340px}
}
@media(max-width:620px){
  .riga-modulo{align-items:flex-start;flex-direction:column;gap:5px}
  .riga-modulo label{flex:none;text-align:left}
  .riga-modulo input,.riga-modulo select,.riga-modulo textarea,.riga-modulo .corto{width:100%;flex:none}
  .ultima-modifica{margin-left:0;width:100%}
}

/* =========================================================
   AGENDA SETTIMANALE
   ========================================================= */

.agenda-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.agenda-mese{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.agenda-navi{display:flex;align-items:center;gap:6px}
.freccia{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;
  border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:3px;
  text-decoration:none;font-size:1rem;transition:.15s}
.freccia:hover{border-color:var(--ink);color:var(--ink)}

.agenda{background:var(--paper);border:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,.05);overflow:hidden}
.agenda-giorni{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}
.agenda-giorni .angolo{border-right:1px solid var(--line)}
.testa-giorno{padding:10px 6px;text-align:center;border-right:1px solid var(--line);line-height:1.3}
.testa-giorno:last-child{border-right:0}
.testa-giorno .nome{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.testa-giorno .numero{display:inline-flex;align-items:center;justify-content:center;
  min-width:27px;height:27px;border-radius:50%;font-size:.95rem;font-weight:600;margin-top:2px}
.testa-giorno.oggi .nome{color:var(--red)}
.testa-giorno.oggi .numero{background:var(--red);color:#fff}
.testa-giorno.passato{opacity:.5}

.agenda-corpo{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));position:relative;overflow-x:auto}
.fascia-ore{border-right:1px solid var(--line);background:var(--paper)}
.ora-tacca{height:var(--altezza-ora);position:relative}
.ora-tacca span{position:absolute;top:-7px;right:8px;font-size:.68rem;color:var(--ink-soft);background:var(--paper);padding:0 3px}
.giorno-agenda{position:relative;border-right:1px solid var(--line);
  background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--altezza-ora) - 1px),
  #f0ede6 calc(var(--altezza-ora) - 1px),#f0ede6 var(--altezza-ora))}
.giorno-agenda:last-child{border-right:0}
.giorno-agenda.oggi{background-color:#fffcf6}
.giorno-agenda.passato{background-color:#fbfaf8}
.piste{display:flex;gap:2px;height:100%;padding:0 3px}
.pista{position:relative;flex:1;min-width:0}

.evento{position:absolute;left:0;right:0;overflow:hidden;padding:4px 6px;
  border-radius:5px;border-left:3px solid;text-decoration:none;font-size:.72rem;line-height:1.25;
  transition:.14s;display:block}
.evento:hover{filter:brightness(.97);box-shadow:0 3px 10px rgba(0,0,0,.13);z-index:6}
.evento .orario{display:block;font-size:.66rem;opacity:.85}
.evento .chi{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evento .dove{display:block;font-size:.62rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Il colore dice QUALE SALA è occupata: verde la 1, gialla la 2 */
.evento.sala1{background:#E3F1E8;border-color:#2E7D4F;color:#14512F}
.evento.sala2{background:#FBF1D3;border-color:#C89600;color:#6B5207}
/* Lo stato si legge dal tratto: puntinato = ancora da confermare */
.evento.opzionato{border-left-style:dotted;border-left-width:4px}
.evento.opzionato .orario::after{content:" · da confermare";font-size:.62rem}
.evento.annullato{background:#EFEDE8;border-color:#B0ABA2;color:#6b6b6b;text-decoration:line-through}

.linea-adesso{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:7;pointer-events:none}
.linea-adesso::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;
  border-radius:50%;background:var(--red)}

.legenda{font-size:.8rem;color:var(--ink-soft);margin:12px 0 0;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.pallino-legenda{display:inline-block;width:11px;height:11px;border-radius:3px;margin-left:5px}
.pallino-legenda.sala1{background:#2E7D4F}
.pallino-legenda.sala2{background:#C89600}
.pallino-legenda.opzionato{background:#fff;border:2px dotted #6b6b6b}
.pallino-legenda.annullato{background:#B0ABA2}

/* etichette di stato riusate nelle tabelle */
.stato-noleggio{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 9px;border-radius:11px;white-space:nowrap}
.stato-noleggio.opzionato{background:#FDF1DC;color:#6B4407}
.stato-noleggio.confermato{background:#FCE7E5;color:#8C1913}
.stato-noleggio.saldato{background:#E3F1E8;color:#14512F}
.stato-noleggio.annullato{background:var(--paper-2);color:var(--ink-soft)}
.etichetta.sala{font-weight:600}
.etichetta.sala.sala1{background:#eef3fb;border-color:#cfdcf0;color:#274b80}
.etichetta.sala.sala2{background:#f3eefb;border-color:#dccff0;color:#4d2780}
.punto-sala{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:1px}
.punto-sala.sala1{background:#3F5E7A}
.punto-sala.sala2{background:#5B4B7A}

@media(max-width:900px){
  .agenda-corpo,.agenda-giorni{grid-template-columns:44px repeat(7,minmax(84px,1fr));min-width:660px}
  .agenda{overflow-x:auto}
}

@media print{
  .testata,.pie,.bottone,.intestazione-sezione{display:none!important}
  .riquadro-codici{border:2px solid #000}
}

@media(max-width:760px){
  .codici{grid-template-columns:repeat(2,1fr)}
  .chi-sono{display:none}
  .tabella-utenti,.tabella-utenti thead,.tabella-utenti tbody,.tabella-utenti tr,.tabella-utenti td{display:block;width:100%}
  .tabella-utenti thead{display:none}
  .tabella-utenti tr{border:1px solid var(--line);margin-bottom:10px;padding:10px;background:var(--paper)}
  .tabella-utenti td{border:0;padding:6px 4px}
}

/* ---------- Telefono ---------- */
@media(max-width:760px){
  .testata{padding:13px 16px;gap:12px}
  .contenuto{padding:22px 16px 60px}
  .numeri{grid-template-columns:repeat(2,1fr)}
  .due-colonne{grid-template-columns:1fr;gap:8px}
  .strumenti input[type=search]{min-width:0;flex:1}
  .intestazione-sezione{align-items:flex-start}
}
