:root{
  --verde:#0b6e4f;--verde-scuro:#08553d;--verde-tenue:#e3f1eb;--ambra:#e8a63a;
  --inchiostro:#16241f;--testo:#2b3a33;--grigio:#5c6c64;--bordo:#dbe4df;--fondo:#f2f5f4;--bianco:#fff;
  --rosso:#b3261e;--rosso-tenue:#fbeceb;--raggio:8px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
body.ild{margin:0;background:var(--fondo);color:var(--testo);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--verde)}

.ild-testa{background:var(--verde);color:#fff;padding:0 20px}
.ild-testa-riga{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px}
.ild-marchio{font-weight:800;font-size:18px;letter-spacing:-.01em}
.ild-marchio span{display:block;font-weight:400;font-size:12px;opacity:.8}
.ild-utente{font-size:13px;display:flex;gap:12px;align-items:center}
.ild-utente a{color:#fff;text-decoration:underline}
.ild-toggle{display:none;align-items:center;gap:8px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:7px;padding:7px 11px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.ild-toggle span{width:15px;height:11px;background:linear-gradient(#fff 0 2px,transparent 2px 4.5px,#fff 4.5px 6.5px,transparent 6.5px 9px,#fff 9px 11px)}
.ild-nav{background:var(--verde-scuro);padding:0 20px}
.ild-nav ul{max-width:1080px;margin:0 auto;padding:0;list-style:none;display:flex;gap:2px}
.ild-nav a{display:block;padding:12px 15px;color:rgba(255,255,255,.85);text-decoration:none;font-size:14.5px;border-bottom:3px solid transparent}
.ild-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.ild-nav a.attivo{color:#fff;border-bottom-color:#fff;font-weight:600}
.ild-nav-utente{display:none}

.ild-corpo{max-width:1080px;margin:0 auto;padding:26px 20px 70px}
.ild-corpo h1{font-size:25px;margin:0 0 4px;color:var(--inchiostro)}
.ild-corpo h2{font-size:18px;margin:30px 0 12px;color:var(--inchiostro)}
.ild-sub{color:var(--grigio);margin:0 0 20px;font-size:15px}

.ild-avviso{padding:12px 15px;border-radius:var(--raggio);margin-bottom:18px;font-size:14.5px;border:1px solid}
.ild-avviso.ok{background:var(--verde-tenue);border-color:#bcd9c9;color:var(--verde)}
.ild-avviso.errore{background:var(--rosso-tenue);border-color:#eebfbf;color:var(--rosso)}
.ild-avviso.attenzione{background:#f8f0dd;border-color:#e3d2a8;color:#8a5f1c}

.ild-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1.5px solid var(--verde);background:var(--verde);color:#fff;border-radius:7px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}
.ild-btn:hover{background:var(--verde-scuro);border-color:var(--verde-scuro)}
.ild-btn.mini{padding:5px 11px;font-size:13px;font-weight:600;background:#fff;color:var(--verde)}
.ild-btn.grande{padding:16px 26px;font-size:18px;width:100%}
.ild-btn.verde{background:var(--verde);border-color:var(--verde)}
.ild-btn.rosso{background:var(--rosso);border-color:var(--rosso)}
.ild-btn.rosso:hover{background:#8f1e17}
.ild-btn[disabled]{opacity:.6;cursor:default}

.ild-timbratore{max-width:440px;margin:0 auto 10px}
.ild-stato{text-align:center;padding:22px;border-radius:14px;margin-bottom:16px;border:1px solid var(--bordo);background:var(--bianco)}
.ild-stato.in{background:var(--verde-tenue);border-color:#bcd9c9}
.ild-stato .et{font-size:13px;color:var(--grigio);text-transform:uppercase;letter-spacing:.05em}
.ild-stato .orario{font-size:46px;font-weight:800;color:var(--inchiostro);line-height:1.1;font-variant-numeric:tabular-nums}
.ild-stato .dett{color:var(--grigio);font-size:14px;margin-top:4px}
.ild-timbra{display:flex;flex-direction:column;gap:12px}
.ild-nota-geo{font-size:13px;color:var(--grigio);text-align:center;margin-top:12px}

.ild-campo{display:flex;flex-direction:column;gap:5px}
.ild-campo label{font-size:13px;font-weight:600;color:var(--inchiostro)}
.ild-campo input,.ild-campo select{padding:11px 12px;border:1px solid var(--bordo);border-radius:7px;font:inherit;font-size:15.5px;background:#fff;color:var(--testo)}
.ild-campo input:focus,.ild-campo select:focus{outline:2px solid var(--verde);border-color:var(--verde)}
.ild-filtri{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid var(--bordo);border-radius:var(--raggio);padding:14px;margin-bottom:16px}

.ild-riquadri{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 20px}
.ild-riq{flex:1 1 170px;background:#fff;border:1px solid var(--bordo);border-radius:var(--raggio);padding:15px 17px}
.ild-riq .et{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--grigio)}
.ild-riq .val{font-size:26px;font-weight:700;color:var(--verde);margin-top:4px;font-variant-numeric:tabular-nums}

.ild-scheda{background:#fff;border:1px solid var(--bordo);border-radius:var(--raggio);padding:20px;margin-bottom:16px}
.ild-scheda dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0}
.ild-scheda dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--grigio)}
.ild-scheda dd{margin:2px 0 0;font-weight:600;color:var(--inchiostro)}

.ild-tab-wrap{overflow-x:auto;background:#fff;border:1px solid var(--bordo);border-radius:var(--raggio)}
table.ild-tab{width:100%;border-collapse:collapse;font-size:14.5px}
table.ild-tab th{text-align:left;padding:11px 14px;background:#f7faf8;border-bottom:1px solid var(--bordo);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--grigio);white-space:nowrap}
table.ild-tab td{padding:11px 14px;border-bottom:1px solid #eef2f0;vertical-align:top}
table.ild-tab tr:last-child td{border-bottom:0}
table.ild-tab td.num,table.ild-tab th.num{text-align:right;font-variant-numeric:tabular-nums}
.ild-vuoto{padding:24px 14px;color:var(--grigio);text-align:center}

.ild-pill{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:11px;background:#eef2f0;color:var(--grigio);white-space:nowrap}
.ild-pill.verde{background:var(--verde-tenue);color:var(--verde)}
.ild-pill.ambra{background:#f8f0dd;color:#8a5f1c}
.ild-pill.rossa{background:var(--rosso-tenue);color:var(--rosso)}

.ild-accesso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#0b6e4f,#08553d)}
.ild-accesso-box{background:#fff;border-radius:12px;padding:34px 30px;width:100%;max-width:390px;box-shadow:0 18px 45px rgba(8,45,31,.3)}
.ild-accesso-box h1{margin:0 0 2px;font-size:22px;color:var(--inchiostro)}
.ild-accesso-box .occhiello{color:var(--grigio);font-size:13px;margin:0 0 22px}
.ild-accesso-box .ild-campo{margin-bottom:15px}
.ild-ricorda{display:block;font-size:14px;margin:6px 0 18px;color:var(--testo)}
.ild-accesso-pie{margin-top:18px;text-align:center;font-size:13px}

@media(max-width:760px){
  .ild-utente{display:none}
  .ild-toggle{display:inline-flex}
  .ild-testa-riga{flex-wrap:nowrap}
  .ild-nav{display:none;padding:0}
  .ild-nav.aperto{display:block}
  .ild-nav ul{flex-direction:column;gap:0}
  .ild-nav a{padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
  .ild-nav-utente{display:flex;gap:14px;padding:12px 16px;background:rgba(0,0,0,.18);color:rgba(255,255,255,.85);font-size:14px}
  .ild-nav-utente a{color:#fff;text-decoration:underline}
  .ild-filtri .ild-campo{flex:1 1 100%}
  .ild-filtri .ild-btn{width:100%}
  table.ild-tab thead{display:none}
  table.ild-tab,table.ild-tab tbody,table.ild-tab tr,table.ild-tab td{display:block}
  .ild-tab-wrap{overflow:visible;border:0;background:transparent}
  table.ild-tab tr{background:#fff;border:1px solid var(--bordo);border-radius:var(--raggio);padding:6px 14px;margin-bottom:10px}
  table.ild-tab td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:6px 0;border:0;border-bottom:1px solid #f0f3f1;text-align:right}
  table.ild-tab td:last-child{border-bottom:0}
  table.ild-tab td::before{content:attr(data-et);flex:0 0 42%;text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--grigio);font-weight:500}
  table.ild-tab td[data-et=""]{justify-content:flex-start;text-align:left}
  table.ild-tab td[data-et=""]::before{display:none}
  table.ild-tab td[colspan]{display:block;text-align:center}
  table.ild-tab td[colspan]::before{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
