/* Font UI incorporato nell'app (solo lato gestione; il volantino usa i suoi font). */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('/fonts/inter.woff2') format('woff2');
}
/* === Design tokens condivisi: UN SOLO POSTO per tutte le view === */
:root{--blue:#3871C2;--blue-dk:#2A579B;--ink:#15233b;--paper:#eef2f7;--line:#e7ecf4;--muted:#7c879a;--red:#ED1C24;--green:#1a8f3c;--orange:#d98300}
*{box-sizing:border-box;margin:0;padding:0}
/* Inter come font di base e per le micro-label condensate, più leggibili. */
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif !important;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}

/* Finestre di dialogo grafiche (alert/confirm/prompt) — centrate, sfondo sfocato */
.cedip-ov{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(21,35,59,.45);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;transition:opacity .18s ease}
.cedip-ov.open{opacity:1}
.cedip-box{background:#fff;border-radius:16px;width:min(440px,100%);box-shadow:0 30px 70px rgba(21,35,59,.4);transform:translateY(10px) scale(.97);transition:transform .2s cubic-bezier(.4,0,.2,1);overflow:hidden;font-family:'Inter',system-ui,sans-serif}
.cedip-ov.open .cedip-box{transform:none}
.cedip-bd{padding:22px 22px 6px}
.cedip-t{font-family:'Anton','Inter',sans-serif;font-size:19px;text-transform:uppercase;letter-spacing:.3px;color:#15233b;margin-bottom:8px}
.cedip-m{font-size:14px;line-height:1.55;color:#3a465c}
.cedip-in{width:100%;margin-top:14px;height:42px;border:1px solid #dde3ec;border-radius:10px;padding:0 13px;font-size:15px;font-family:inherit;background:#fbfcfe;color:#15233b}
.cedip-in:focus{outline:none;border-color:#3871C2;box-shadow:0 0 0 3px rgba(56,113,194,.16);background:#fff}
.cedip-ft{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px 20px}
.cedip-btn{font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:14px;border:none;border-radius:10px;padding:10px 18px;cursor:pointer;transition:background .15s}
.cedip-ghost{background:#fff;color:#3871C2;border:1px solid #dde3ec}
.cedip-ghost:hover{background:#f3f8ff}
.cedip-primary{background:#3871C2;color:#fff}.cedip-primary:hover{background:#2A579B}
.cedip-danger{background:#ED1C24;color:#fff}.cedip-danger:hover{background:#c8161d}

/* Toast (notifiche dall'alto) */
#cedip-toast-root{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;pointer-events:none}
.cedip-toast{display:inline-flex;align-items:center;gap:11px;background:#fff;border:1px solid #e7ecf4;border-radius:12px;box-shadow:0 16px 44px rgba(21,35,59,.2);padding:13px 18px;font-family:'Inter',system-ui,sans-serif;font-size:14px;font-weight:600;color:#15233b;transform:translateY(-26px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s;max-width:560px;pointer-events:auto}
.cedip-toast.show{transform:none;opacity:1}
.cedip-toast-ic{width:22px;height:22px;flex:0 0 auto;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:13px}
.cedip-toast.success .cedip-toast-ic{background:#1a8f3c}
.cedip-toast.error .cedip-toast-ic{background:#ED1C24}
.cedip-toast.info .cedip-toast-ic{background:#3871C2}

/* Dropdown grafici (sostituiscono la lista nativa del <select>) */
.csel{position:relative;display:inline-block;vertical-align:middle}
.csel-native{display:none !important}
/* Dropdown grafici (.csel): stile UNIFICATO di progetto (come il filtro regime in home):
   pill bianca bordo blu chiaro, testo Barlow maiuscolo blu, opzione selezionata blu piena. */
.csel-btn{height:44px;display:inline-flex;align-items:center;gap:10px;border:1.5px solid #cfe0ff;border-radius:12px;background:#fff;padding:0 15px;font-size:14px;font-family:'Barlow Condensed','Inter',system-ui,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#2A579B;cursor:pointer;white-space:nowrap;box-shadow:0 3px 10px rgba(56,113,194,.10);transition:border-color .15s,box-shadow .15s,background .15s}
.csel-btn:hover{border-color:#3871C2;background:#f7faff}
.csel.open .csel-btn{border-color:#3871C2;box-shadow:0 0 0 3px rgba(56,113,194,.16)}
.csel-car{margin-left:auto;color:#3871C2;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s}
.csel-car svg{width:16px;height:16px;display:block}
.csel.open .csel-car{transform:rotate(180deg)}
.csel-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:100%;z-index:200;background:#fff;border:1px solid #e7ecf4;border-radius:12px;box-shadow:0 20px 48px rgba(21,35,59,.22);padding:7px;max-height:320px;overflow:auto}
.csel.open .csel-panel{display:block}
.csel-opt{padding:10px 13px;font-size:13.5px;font-family:'Barlow Condensed','Inter',system-ui,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.4px;border-radius:9px;cursor:pointer;white-space:nowrap;color:#15233b}
.csel-opt:hover{background:#f3f8ff}
.csel-opt.on{background:#3871C2;color:#fff;font-weight:800}
/* csel: box di ricerca (tendine lunghe) + intestazioni categoria (optgroup) */
.csel-search{position:sticky;top:0;background:#fff;padding:1px 1px 7px;margin-bottom:3px;border-bottom:1px solid #eef2f7;z-index:1}
.csel-search input{width:100%;height:36px;border:1.5px solid #cfe0ff;border-radius:9px;padding:0 11px;font-size:13.5px;font-family:'Inter',system-ui,sans-serif;font-weight:600;color:#15233b;background:#fff}
.csel-search input:focus{outline:none;border-color:#3871C2;box-shadow:0 0 0 3px rgba(56,113,194,.14)}
.csel-grp{font-family:'Barlow Condensed','Inter',system-ui,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.5px;font-size:13.5px;color:#3a465c;background:#e4e7ec;border-radius:7px;padding:7px 11px;margin:5px 0 3px}
.csel-grp:first-child{margin-top:0}
.csel-empty{padding:10px 13px;font-size:13px;color:#8a97ad}
/* Popup anteprima immagine (es. tema) al passaggio sulle voci */
.csel-preview{display:none;position:fixed;z-index:10000;background:#fff;border:1px solid #e7ecf4;border-radius:12px;box-shadow:0 20px 48px rgba(21,35,59,.28);padding:6px;width:280px;pointer-events:none}
.csel-preview img{display:block;width:100%;height:auto;border-radius:8px;background:#f3f6fb;min-height:70px}
.csel-preview-lab{display:block;font-family:'Barlow Condensed','Inter',system-ui,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.4px;font-size:12px;color:#15233b;padding:6px 4px 2px;text-align:center}
/* Dropdown TEMA (archivio): sfondo distinto, uguale su tutte le righe */
.theme-pick .csel-btn{background:#eef1fc;border-color:#cdd6f3}
.theme-pick .csel-btn:hover{background:#e6ebfb;border-color:#3871C2}
/* Box di ricerca: shell unificata + placeholder per TUTTI gli <input type=search> del progetto */
input[type="search"]{height:44px;border:1.5px solid #cfe0ff;border-radius:12px;padding:0 15px;font-size:15px;font-family:inherit;background:#fff;color:#15233b;-webkit-appearance:none;appearance:none}
input[type="search"]:focus{outline:none;border-color:#3871C2;box-shadow:0 0 0 3px rgba(56,113,194,.16)}
input[type="search"]::placeholder{color:#8a97ad;font-weight:600}

/* ===== Responsive / versione mobile ===== */
/* Immagini e media non superano mai la larghezza disponibile */
img,video,canvas{max-width:100%;height:auto}
/* Tabelle larghe: scroll orizzontale confinato al riquadro su schermi medio-piccoli */
@media (max-width: 1024px){
  .tbox{overflow-x:auto !important;-webkit-overflow-scrolling:touch}
}
@media (max-width: 720px){
  html{-webkit-text-size-adjust:100%}
  .wrap{padding-left:13px !important;padding-right:13px !important;margin-top:14px !important;max-width:100% !important}
  .bar{flex-wrap:wrap !important;row-gap:8px;padding-top:max(11px,env(safe-area-inset-top)) !important;padding-bottom:11px !important;padding-left:max(13px,env(safe-area-inset-left)) !important;padding-right:max(13px,env(safe-area-inset-right)) !important}
  .bar > div,.bar > span{flex-wrap:wrap}
  h1{font-size:21px !important;line-height:1.1}
  table{font-size:12.5px}
  .sec,.panel{overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* Evita lo zoom automatico di iOS al focus quando il campo ha font < 16px */
  input[type=text],input[type=search],input[type=password],input[type=email],input[type=number],input[type=tel],input[type=url],textarea{font-size:16px !important}
  /* Target touch più generosi per le azioni principali */
  .btn,.cta,.ghost,.tbtn,.st-btn,.navlink,.btn-merge,.iconbtn{min-height:42px}
  /* barre azioni a piè di pagina e sticky: vanno a capo + safe-area in basso */
  .savebar{flex-wrap:wrap !important;row-gap:10px;padding:12px 13px max(12px,env(safe-area-inset-bottom)) !important}
  .savebar > div{flex-wrap:wrap}
  .actions{flex-wrap:wrap !important;row-gap:10px}
  .ft{padding:14px 14px !important}
  /* dialoghi, toast e dropdown adattati allo schermo */
  .cedip-box{width:min(440px,94vw)}
  .cedip-toast{max-width:92vw;font-size:13px}
  .csel-panel{max-width:88vw}
  #cedip-toast-root{padding:12px}
}
@media (max-width: 460px){
  h1{font-size:19px !important}
  .cta{width:100%;justify-content:center}
}
/* I search input (WebKit) non ereditano da soli il font: forziamo l'eredità dal body (Inter) */
input,select,textarea{font-family:inherit}
input::placeholder,textarea::placeholder{font-family:inherit}
/* Bottoni/link nella barra blu in alto: sempre maiuscolo e grassetto */
body .bar a{text-transform:uppercase;font-weight:800;letter-spacing:.4px}
