/* ============================================================
   chiavi-shell.css — guscio Chiavi Italia (porting dal kit CiUI
   del mockup, armonizzato sui token di styles.css + tema).
   Contiene SOLO: struttura app, sidebar scura, topbar, tab-bar
   mobile, drawer, login brand, KPI, pill/stato/etichetta.
   I controlli interattivi restano al kit (window.UI, .btn, .field).
   Font: Roboto + Roboto Slab (Google Fonts, inclusi dalla pagina).
   ============================================================ */

.app { --font: 'Roboto', system-ui, sans-serif; }
.app h1, .app h2, .app h3 { font-family: 'Roboto Slab', serif; color: var(--ink); letter-spacing: -.01em; }

.etichetta{
  font-family:'Roboto Condensed','Roboto',sans-serif;
  font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--meta);font-weight:600;
}

/* ---------- struttura ---------- */
.ci-app{display:grid;grid-template-columns:236px 1fr;min-height:100vh;background:var(--bg)}
.principale{display:flex;flex-direction:column;min-width:0}
.contenuto{padding:1.5rem 1.6rem 2.2rem;max-width:1400px;width:100%;margin:0 auto}
.intesta{display:flex;align-items:baseline;gap:.8rem;margin-bottom:1.35rem;flex-wrap:wrap}
.intesta h1{font-size:1.45rem;margin:0}
.intesta .data{color:var(--meta);font-size:.85rem}
.intesta .cta{margin-left:auto}

/* ---------- sidebar scura (identità Chiavi Italia) ---------- */
.sidebar{
  background:linear-gradient(180deg,#14171c 0%,#1c2027 100%);
  color:#c9ccd2;display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;
}
.sidebar .marchio{
  padding:1.15rem 1.1rem .95rem;
  border-bottom:1px solid rgb(255 255 255 / .07);
  display:flex;align-items:center;gap:.6rem;
}
.sidebar .marchio img{width:118px;height:auto;display:block}
.sidebar .area-tag{
  margin:.9rem 1.1rem 0;
  font-family:'Roboto Condensed','Roboto',sans-serif;font-size:.68rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
  display:flex;align-items:center;gap:.45rem;
}
.sidebar .area-tag::after{content:"";flex:1;height:1px;background:rgb(255 216 0 / .25)}
.sidebar .nav{list-style:none;padding:.55rem .6rem;flex:1;margin:0}
.sidebar .nav a{
  display:flex;align-items:center;gap:.65rem;
  padding:.56rem .65rem;border-radius:var(--r-xs);
  font-size:.92rem;color:#b9bdc4;position:relative;text-decoration:none;
  transition:background .15s ease-out,color .15s ease-out;
}
.sidebar .nav a:hover{background:rgb(255 255 255 / .06);color:#eceef0}
.sidebar .nav a.attiva{background:rgb(255 216 0 / .10);color:var(--accent);font-weight:500}
.sidebar .nav a.attiva::before{
  content:"";position:absolute;left:-0.6rem;top:16%;bottom:16%;width:3px;
  background:var(--accent);border-radius:0 2px 2px 0;
}
.sidebar .nav i{width:20px;flex:none;text-align:center;font-size:.95rem;opacity:.9}
.sidebar .nav .badge-nav{
  margin-left:auto;background:var(--accent);color:var(--on-accent);
  font-size:.68rem;font-weight:700;border-radius:9px;padding:.05rem .42rem;
}
.sidebar .utente{
  border-top:1px solid rgb(255 255 255 / .07);
  padding:.85rem 1.1rem;display:flex;align-items:center;gap:.65rem;
}
.sidebar .utente .avatar-utente{
  width:34px;height:34px;border-radius:50%;flex:none;
  background:var(--accent);color:var(--on-accent);
  display:grid;place-items:center;font-weight:700;font-size:.85rem;
}
.sidebar .utente b{display:block;color:#eceef0;font-size:.85rem;font-weight:500}
.sidebar .utente span{font-size:.72rem;color:#8b8f96}
.sidebar .chiudi{display:none}
.velo{display:none}

/* ---------- topbar ---------- */
.topbar{
  background:var(--surface);border-bottom:1px solid var(--line);
  padding:.65rem 1.6rem;display:flex;align-items:center;gap:1rem;
}
.topbar .cerca{
  flex:1;max-width:430px;display:flex;align-items:center;gap:.5rem;
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);
  padding:.42rem .7rem;color:var(--meta);font-size:.88rem;
}
.topbar .spazio{flex:1}
.topbar .azione{
  position:relative;width:36px;height:36px;border-radius:var(--r-xs);
  display:grid;place-items:center;color:var(--meta);cursor:pointer;
  border:1px solid transparent;background:none;
}
.topbar .azione:hover{border-color:var(--line);background:var(--surface-2)}
.topbar .azione .pallino{
  position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;
  background:var(--danger);border:1.5px solid var(--surface);
}
.logo-mobile{display:none}

/* ---------- KPI striscia ---------- */
.kpi-striscia{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);
  box-shadow:var(--sh-sm);display:grid;grid-template-columns:repeat(4,1fr);
  margin-bottom:1.6rem;overflow:hidden;
}
.kpi{padding:1.05rem 1.25rem;border-left:1px solid var(--line);position:relative}
.kpi:first-child{border-left:none}
.kpi .valore{
  font-family:'Roboto Slab',serif;font-size:1.75rem;font-weight:700;color:var(--ink);
  line-height:1.15;margin-top:.3rem;
}
.kpi .delta{font-size:.78rem;margin-top:.25rem;display:block}
.kpi .delta.su{color:var(--success)}
.kpi .delta.giu{color:var(--danger)}
.kpi .delta.neutro{color:var(--meta)}
.kpi.evidenza{background:linear-gradient(180deg,rgb(255 216 0 / .10),transparent 70%)}
.kpi.evidenza::before{content:"";position:absolute;inset:0 auto 0 0;width:100%;height:3px;background:var(--accent)}

/* ---------- pill & stato ---------- */
.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;line-height:1.1;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}
td .pill,.tbl .pill{font-size:.7rem;padding:.15rem .5rem}
.pill.giallo{background:rgb(255 216 0 / .18);color:#8a7500}
.pill.verde{background:var(--success-bg);color:var(--success)}
.pill.arancio{background:var(--warning-bg);color:var(--warning)}
.pill.rosso{background:var(--danger-bg);color:var(--danger)}
.pill.grigio{background:var(--surface-sunken);color:var(--meta)}
.stato{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem}
.stato::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.stato.ok{color:var(--success)}
.stato.warn{color:var(--warning)}
.stato.err{color:var(--danger)}
.stato.neutro{color:var(--meta)}

/* ---------- login brand ---------- */
.login{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;background:var(--bg)}
.login .lato-brand{
  background:linear-gradient(160deg,#14171c 55%,#1c2027);
  color:#c9ccd2;display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(2rem,5vw,3.5rem);position:relative;overflow:hidden;
}
.login .lato-brand::after{
  content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;
  background:radial-gradient(circle,rgb(255 216 0 / .13),transparent 62%);
}
.login .lato-brand img{width:190px;height:auto}
.login .lato-brand .claim .etichetta{color:var(--accent)}
.login .lato-brand h1{
  color:#fdfdfd;font-size:clamp(1.7rem,3.2vw,2.5rem);
  line-height:1.18;margin:.55rem 0 .8rem;max-width:15ch;
}
.login .lato-brand h1 em{font-style:normal;color:var(--accent)}
.login .lato-brand p{max-width:44ch;font-size:.95rem;color:#9a9ea5}
.login .lato-brand .piede{font-size:.78rem;color:#6d7178;position:relative;z-index:1}
.login .lato-form{display:grid;place-items:center;padding:2rem}
.scheda-login{width:min(400px,100%)}
.scheda-login h2{font-size:1.35rem;margin:0 0 .3rem}
.scheda-login>p{color:var(--meta);font-size:.9rem;margin:0 0 1.5rem}
.testata-mobile{display:none}

/* ---------- mobile = app (tab-bar + drawer) ---------- */
.tab-bar{display:none}
@media(max-width:860px){
  .ci-app{grid-template-columns:1fr}
  .sidebar{
    position:fixed;top:0;bottom:0;left:0;width:274px;height:100dvh;z-index:60;
    transform:translateX(-105%);
    transition:transform .3s cubic-bezier(.22,.9,.32,1);
    box-shadow:14px 0 40px rgb(10 12 15 / .4);
  }
  body.menu-aperto .sidebar{transform:none}
  .sidebar .chiudi{
    display:grid;place-items:center;position:absolute;top:.8rem;right:.7rem;
    width:36px;height:36px;border:none;border-radius:var(--r-xs);cursor:pointer;
    background:rgb(255 255 255 / .08);color:#c9ccd2;font-size:1.05rem;
  }
  .velo{
    display:block;position:fixed;inset:0;z-index:55;
    background:rgb(10 12 15 / .5);opacity:0;pointer-events:none;
    transition:opacity .25s ease-out;
  }
  body.menu-aperto .velo{opacity:1;pointer-events:auto}

  .topbar{padding:.6rem 1rem;gap:.7rem;position:sticky;top:0;z-index:30;background:#14171c;border-bottom:none}
  .logo-mobile{display:block;height:30px;width:auto;flex:none}
  .topbar .cerca{background:rgb(255 255 255 / .09);border-color:transparent;color:#9a9ea5;font-size:.84rem;padding:.4rem .65rem;white-space:nowrap;overflow:hidden;min-width:0}
  .topbar .azione{color:#c9ccd2}
  .topbar .azione .pallino{border-color:#14171c}

  .contenuto{padding:1.1rem 1rem calc(2rem + 74px)}
  .intesta h1{font-size:1.25rem}
  .kpi-striscia{grid-template-columns:1fr 1fr}
  .kpi:nth-child(3){border-left:none}
  .kpi{border-top:1px solid var(--line);padding:.85rem 1rem}
  .kpi:nth-child(-n+2){border-top:none}
  .kpi .valore{font-size:1.45rem}

  .tab-bar{
    display:grid;grid-template-columns:repeat(5,1fr);align-items:end;
    position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:#14171c;border-top:1px solid rgb(255 255 255 / .08);
    padding:.45rem .3rem calc(.55rem + env(safe-area-inset-bottom));
  }
  .tab-bar a{
    display:flex;flex-direction:column;align-items:center;gap:.22rem;
    font-size:.62rem;font-weight:500;color:#8b8f96;letter-spacing:.02em;
    padding:.15rem 0;text-decoration:none;
  }
  .tab-bar a i{font-size:1.12rem;line-height:1.2}
  .tab-bar a.attiva{color:var(--accent)}
  .tab-bar .fab{margin-top:-1.55rem}
  .tab-bar .fab .cerchio{
    width:52px;height:52px;border-radius:50%;
    background:var(--accent);color:var(--on-accent);
    display:grid;place-items:center;
    box-shadow:0 4px 14px rgb(255 216 0 / .45),0 2px 4px rgb(20 23 28 / .3);
    border:3px solid #14171c;
  }
  .tab-bar .fab .cerchio i{font-size:1.25rem}

  .login{grid-template-columns:1fr}
  .login .lato-brand{display:none}
  .testata-mobile{
    display:flex;align-items:center;justify-content:center;
    background:#14171c;padding:1.6rem 1rem 1.4rem;
  }
  .testata-mobile img{width:150px;height:auto}
  .login .lato-form{align-items:start;padding:1.8rem 1.25rem}
}

/* ---------- compat: il body.app del kit OnyTCG è una griglia shell (auto 1fr):
   le nostre pagine hanno il proprio guscio (.ci-app/.login), il body resta normale */
body.app{display:block;height:auto;overflow:visible}

/* ---------- compat: label.field come CONTENITORE campo (le pagine usano
   <label class="field"><span class="field-label">..</span><input></label>;
   nel kit .field è la classe dell'input: qui il wrapper si neutralizza e
   l'input interno riprende lo stile campo del kit) ---------- */
label.field{
  height:auto;padding:0;border:none;background:none;box-shadow:none;
  display:block;margin-bottom:14px;border-radius:0;
}
label.field:focus{border:none;box-shadow:none}
label.field > input,
label.field > select,
label.field > textarea{
  height:44px;width:100%;padding:0 14px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--surface);color:var(--ink);font-size:14px;font-family:inherit;
  outline:none;transition:border-color .15s, box-shadow .15s;
}
label.field > input:focus,
label.field > select:focus,
label.field > textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}
label.field > textarea{height:auto;min-height:90px;padding:11px 14px;line-height:1.5}

/* ---------- lista impostazioni a righe (moduli, opzioni) ---------- */
.righe-impostazioni{display:flex;flex-direction:column}
.riga-impostazione{
  display:flex;align-items:center;gap:1rem;
  padding:.85rem .25rem;border-bottom:1px solid var(--divider);
}
.riga-impostazione:last-child{border-bottom:none}
.riga-impostazione .ri-testo{flex:1;min-width:0}
.riga-impostazione .ri-titolo{font-size:.92rem;font-weight:600;color:var(--ink);text-transform:capitalize}
.riga-impostazione .ri-sub{font-size:.78rem;color:var(--meta);margin-top:.1rem}
.riga-impostazione .ui-toggle{flex:none}

/* ---------- banner impersonation ---------- */
.banner-impersona{
  display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
  background:var(--accent);color:var(--on-accent);
  padding:.55rem 1.6rem;font-size:.88rem;font-weight:500;
}
.banner-impersona i.fa-user-secret{font-size:1rem}
.banner-impersona b{font-weight:700}
.banner-impersona .btn-torna{
  margin-left:auto;border:none;cursor:pointer;
  background:var(--nero,#14171c);color:var(--accent);
  font:600 .82rem 'Roboto',sans-serif;padding:.4rem .85rem;border-radius:var(--r-xs);
  display:inline-flex;align-items:center;gap:.4rem;
}
.banner-impersona .btn-torna:hover{background:#000}

/* ============================================================
   RIFINITURE v2 — sidebar collassabile, topbar pro, tendine
   ============================================================ */

/* logo esteso/mini nella sidebar */
.sidebar .marchio{justify-content:space-between}
.sidebar .marchio .logo-esteso{display:block}
.sidebar .marchio .logo-mini{display:none;width:34px}
.area-tag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* nav: etichetta + tooltip in modalità collassata */
.sidebar .nav a{position:relative}
.sidebar .nav .nav-eti{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* bottone comprimi in fondo alla nav */
.collassa-sidebar{
  margin:.3rem .6rem .2rem;border:none;background:none;cursor:pointer;
  display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border-radius:var(--r-xs);
  color:#8b8f96;font:500 .82rem 'Roboto',sans-serif;
}
.collassa-sidebar:hover{background:rgb(255 255 255 / .06);color:#c9ccd2}

/* utente in fondo */
.sidebar .utente .utente-info{overflow:hidden}
.sidebar .utente .utente-info b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}

/* ---- stato COLLASSATO (desktop) ---- */
.ci-app{transition:grid-template-columns .2s ease-out}
.sidebar{overflow-x:hidden}
@media(min-width:861px){
  body.sidebar-collassata .ci-app{grid-template-columns:72px 1fr}
  body.sidebar-collassata .sidebar{width:72px}
  body.sidebar-collassata .sidebar .logo-esteso{display:none}
  body.sidebar-collassata .sidebar .logo-mini{display:block;margin:0 auto}
  body.sidebar-collassata .sidebar .area-tag{display:none}
  body.sidebar-collassata .sidebar .nav a{justify-content:center;padding:.6rem}
  body.sidebar-collassata .sidebar .nav .nav-eti,
  body.sidebar-collassata .collassa-sidebar .nav-eti,
  body.sidebar-collassata .sidebar .utente .utente-info{display:none}
  body.sidebar-collassata .sidebar .nav i{margin:0}
  body.sidebar-collassata .collassa-sidebar{justify-content:center}
  body.sidebar-collassata .collassa-sidebar i{transform:rotate(180deg)}
  body.sidebar-collassata .sidebar .utente{justify-content:center}
  /* tooltip su hover in modalità collassata */
  body.sidebar-collassata .sidebar .nav a:hover::after{
    content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);
    background:var(--nero,#14171c);color:#e8eaed;font-size:.78rem;font-weight:500;white-space:nowrap;
    padding:.35rem .6rem;border-radius:6px;z-index:70;box-shadow:0 4px 14px rgb(10 12 15/.35);
  }
}

/* ---- topbar professionale ---- */
.topbar{height:60px;padding:0 24px}
.solo-mobile{display:none}
.ricerca-globale{
  display:flex;align-items:center;gap:.55rem;flex:1;max-width:420px;
  background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem;
}
.ricerca-globale i{color:var(--meta);font-size:.85rem}
.ricerca-globale input{flex:1;border:none;outline:none;background:none;font:400 .88rem 'Roboto',sans-serif;color:var(--ink);min-width:0}
.avatar-topbar{
  width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--on-accent);
  font-weight:700;font-size:.8rem;border:none;
}
.badge-notifiche{
  position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 .25rem;
  background:var(--danger);color:#fff;border-radius:99px;font-size:.65rem;font-weight:700;
  display:grid;place-items:center;border:2px solid var(--surface);
}

/* ---- tendine topbar ---- */
.topbar .tendina{position:relative}
.topbar .tendina .voci{
  position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:230px;
  background:var(--surface);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 12px 40px rgb(10 12 15/.16);padding:.35rem;display:none;
}
.topbar .tendina.aperta .voci{display:block}
.topbar .tendina .voci a{
  display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:6px;
  color:var(--testo);font-size:.87rem;text-decoration:none;
}
.topbar .tendina .voci a:hover{background:var(--surface-2)}
.topbar .tendina .voci a.pericolosa{color:var(--danger)}
.topbar .tendina .voci .separatore{height:1px;background:var(--line);margin:.35rem .3rem}
.menu-utente-testa{padding:.6rem .65rem;border-bottom:1px solid var(--line);margin-bottom:.3rem}
.menu-utente-testa b{display:block;font-size:.88rem;color:var(--ink)}
.menu-utente-testa span{font-size:.76rem;color:var(--meta)}

/* pannello notifiche */
.voci.notifiche{min-width:320px;max-height:400px;overflow-y:auto;padding:0}
.notifica-voce{display:flex;gap:.7rem;padding:.75rem .9rem;border-bottom:1px solid #eef0f2;align-items:flex-start}
.notifica-voce:last-child{border-bottom:none}
.notifica-voce.non-letta{background:#fffcf0}
.notifica-voce .puntino-notifica{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;margin-top:.4rem}
.notifica-voce.letta .puntino-notifica{background:transparent}
.notifica-voce b{display:block;font-size:.84rem;color:var(--ink);font-weight:600}
.notifica-voce p{font-size:.78rem;color:var(--meta);margin:.05rem 0 0}
.notifica-voce .quando{font-size:.7rem;color:#9a9ea5;margin-top:.15rem;display:block}
.notifica-vuota{padding:1.5rem;text-align:center;color:var(--meta);font-size:.85rem}

@media(max-width:860px){
  .solo-mobile{display:grid}
  .ricerca-globale{display:none}
  .topbar{padding:0 1rem}
  .topbar .tendina .voci{position:fixed;left:1rem;right:1rem;min-width:0}
}

/* ============================================================
   DASHBOARD — KPI cards + box (stile Claude Design)
   ============================================================ */
.kpi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.kpi-card{
  background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;padding:16px;
  display:flex;align-items:flex-start;gap:.85rem;
}
.kpi-card.evidenza{border-color:#f0d94a;box-shadow:0 0 0 1px #ffe97a inset}
.kpi-card .kpi-icona{
  width:40px;height:40px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:rgb(255 216 0 / .16);color:var(--giallo-scuro,#b89b00);font-size:1.05rem;
}
.kpi-card .kpi-valore{font-family:'Roboto Slab',serif;font-size:1.5rem;font-weight:700;color:var(--ink);line-height:1.15}
.kpi-card .kpi-etichetta{font-size:.8rem;color:var(--meta);margin-top:.15rem}

/* card generica dashboard */
.card{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;overflow:hidden;margin-bottom:16px}
.card .card-testa{padding:.9rem 1.15rem;border-bottom:1px solid #eef0f2;display:flex;align-items:center;gap:.6rem}
.card .card-testa h2{font-family:'Roboto Slab',serif;font-size:1rem;margin:0;color:var(--ink)}
.card .card-link{margin-left:auto;font-size:.82rem;font-weight:600;color:var(--giallo-scuro,#b89b00);text-decoration:none}
.card .card-link:hover{text-decoration:underline}

/* tabella dentro card */
.card .tbl{width:100%;border-collapse:collapse;font-size:.87rem}
.card .tbl th{
  text-align:left;padding:.6rem 1.15rem;font-family:'Roboto Condensed',sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--meta);
  background:#fafbfb;border-bottom:1px solid #eef0f2;
}
.card .tbl th.r,.card .tbl td.r{text-align:right}
.card .tbl td{padding:.65rem 1.15rem;border-bottom:1px solid #f2f4f6}
.card .tbl tr:last-child td{border-bottom:none}
.card .tbl b{font-weight:600;color:var(--ink)}

/* box crediti negozio */
.box-crediti .crediti-corpo{display:flex;gap:2rem;padding:1.1rem 1.15rem;flex-wrap:wrap}
.credito-voce{display:flex;flex-direction:column;gap:.2rem}
.credito-voce span{font-size:.78rem;color:var(--meta)}
.credito-voce b{font-family:'Roboto Slab',serif;font-size:1.35rem;color:var(--ink)}

@media(max-width:860px){.kpi-cards{grid-template-columns:1fr 1fr}}

/* ============================================================
   PAGINE D'AREA — controlli inline, tabelle, stati
   ============================================================ */
.ricerca-inline{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:.45rem .7rem;flex:1;min-width:180px;max-width:340px}
.ricerca-inline i{color:var(--meta);font-size:.85rem}
.ricerca-inline input{border:none;outline:none;background:none;flex:1;font:400 .88rem 'Roboto',sans-serif;min-width:0}
.select-inline{border:1px solid var(--line);border-radius:8px;padding:.45rem .7rem;font:400 .88rem 'Roboto',sans-serif;background:var(--surface);color:var(--ink)}
.spunta{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--testo);cursor:pointer}
.icon-btn{width:32px;height:32px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--testo);cursor:pointer;display:inline-grid;place-items:center;font-size:.82rem}
.icon-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}
.azioni-riga{display:inline-flex;gap:.35rem}
.vuoto-tab{padding:3rem 1.5rem;text-align:center;color:var(--meta)}
.vuoto-tab i{font-size:2rem;color:#c9ccd2;display:block;margin-bottom:.6rem}
.vuoto-tab p{font-size:.9rem;margin:0}
.riepilogo-import{display:flex;gap:.5rem;flex-wrap:wrap}
.avviso{display:flex;gap:.75rem;padding:.8rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:.86rem;margin-bottom:.6rem}
.avviso .icona-avviso{width:32px;height:32px;border-radius:8px;flex:none;display:grid;place-items:center}
.avviso.errore .icona-avviso{background:#fbebeb;color:var(--danger)}
.avviso.successo .icona-avviso{background:#e6f5ec;color:var(--success)}
.avviso b{display:block;color:var(--ink)}
.avviso p{margin:.05rem 0 0;color:var(--meta)}
textarea.field, .field textarea{min-height:80px;resize:vertical}

/* ============================================================
   ARCHIVIO — ricerca auto, card veicolo, scheda, wizard AI chat
   ============================================================ */
.box-ricerca-auto{background:linear-gradient(135deg,#14171c,#1c2027);border:none;padding:0;margin-bottom:20px}
.ricerca-auto-corpo{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 20px}
.ra-autocomplete{position:relative;flex:1;min-width:260px;display:flex;align-items:center;gap:.6rem;background:#fff;border-radius:10px;padding:.7rem .9rem}
.ra-autocomplete i{color:var(--meta)}
.ra-autocomplete input{flex:1;border:none;outline:none;font:400 .95rem 'Roboto',sans-serif;min-width:0}
.ra-oppure{color:#8b8f96;font-size:.82rem}
.box-ricerca-auto .select-inline{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .15);color:#e8eaed}
.box-ricerca-auto .select-inline option{color:#14171c}
.ac-risultati{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px rgb(10 12 15/.2);max-height:320px;overflow-y:auto;padding:.35rem}
.ac-voce{display:block;width:100%;text-align:left;border:none;background:none;cursor:pointer;padding:.6rem .7rem;border-radius:7px;font-size:.9rem}
.ac-voce:hover{background:var(--surface-2)}
.ac-voce b{font-weight:500;color:var(--ink)}

.griglia-veicoli{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:20px}
.card-veicolo{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .15s ease-out;display:flex;flex-direction:column;gap:.3rem}
.card-veicolo:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px rgb(20 23 28/.1)}
.cv-titolo{font-weight:600;color:var(--ink);font-size:.95rem}
.cv-sub{font-size:.8rem;color:var(--meta)}
.cv-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem}
.cv-meta .pill i{font-size:.7rem}

.scheda-tecnica{margin-bottom:20px}
.scheda-testa{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid #eef0f2}
.scheda-testa h2{font-family:'Roboto Slab',serif;font-size:1.2rem;margin:0}
.scheda-testa span{font-size:.85rem;color:var(--meta)}
.scheda-spec{padding:0}
.scheda-spec>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;border-bottom:1px solid #f2f4f6;font-size:.87rem}
.scheda-spec>div:nth-child(odd){background:#fafbfb}
.scheda-spec dt{color:var(--meta);margin:0}
.scheda-spec dd{color:var(--ink);font-weight:500;margin:0;text-align:right}
.scheda-note{margin:1rem 1.25rem;padding:.8rem 1rem;background:#fffcf0;border-radius:8px;font-size:.86rem;color:#8a7500}
.scheda-note i{margin-right:.4rem}

/* wizard AI */
.wizard-passo{font-size:.95rem;margin:0 0 12px}
.wizard-dispositivi{display:flex;flex-direction:column;gap:.5rem}
.wizard-dispositivi .btn{justify-content:flex-start}
.wizard-info{background:var(--surface-2);border-radius:8px;padding:.6rem .8rem;font-size:.82rem;color:var(--meta);margin-bottom:10px}
.chat-ai{height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:.5rem;background:var(--surface-2);border-radius:10px;margin-bottom:10px}
.bolla{max-width:82%;padding:.6rem .85rem;border-radius:12px;font-size:.88rem;line-height:1.45;white-space:pre-wrap}
.bolla.user{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-bottom-right-radius:3px}
.bolla.assistant{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}
.bolla.pending{opacity:.5;font-style:italic}
.bolla.errore{background:#fbebeb;color:var(--danger);border-color:#eec9c9}
.chat-input{display:flex;gap:.5rem}
.chat-input input{flex:1;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;font:400 .9rem 'Roboto',sans-serif;outline:none}
.chat-input input:focus{border-color:var(--accent)}

/* fix z-index: il contenuto (dropdown autocomplete) sopra la sidebar sticky */
/* (rimosse regole z-index conflittuali: gestite nel blocco FIX layout in fondo) */
@media(min-width:861px){ .ac-risultati{z-index:5} }

/* riga impostazione: icona a sinistra */
.riga-impostazione{padding:.95rem 1.15rem}
.riga-impostazione .ri-icona{width:38px;height:38px;border-radius:9px;flex:none;display:grid;place-items:center;background:rgb(255 216 0 / .15);color:var(--giallo-scuro,#b89b00);font-size:1rem;margin-right:.9rem}

/* blindatura: il tooltip nav appare SOLO da sidebar collassata, mai altrove */
.sidebar .nav a::after{content:none !important}
body.sidebar-collassata .sidebar .nav a:hover::after{content:attr(data-tip) !important}

/* ============================================================
   CASSA POS
   ============================================================ */
.cassa-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:16px;align-items:start}
.lista-prod{margin-top:10px;display:flex;flex-direction:column;gap:.3rem;max-height:400px;overflow-y:auto}
.prod-voce{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;background:var(--surface);cursor:pointer;text-align:left;font-size:.88rem}
.prod-voce:hover{border-color:var(--accent);background:#fffdf2}
.prod-voce b{display:block;color:var(--ink)}
.prod-voce small{color:var(--meta);font-size:.72rem}
.righe-vendita{max-height:320px;overflow-y:auto;padding:.3rem 0}
.riga-scontrino{display:flex;align-items:center;gap:.7rem;padding:.6rem 1.15rem;border-bottom:1px solid #f2f4f6}
.rs-desc{flex:1;min-width:0}.rs-desc b{font-weight:500;font-size:.88rem;color:var(--ink)}.rs-desc small{display:block;color:var(--meta);font-size:.72rem}
.rs-qta{display:flex;align-items:center;gap:.4rem}
.q-btn{width:26px;height:26px;border:1px solid var(--line);background:var(--surface);border-radius:6px;cursor:pointer;font-size:.9rem}
.q-btn:hover{background:var(--accent);color:var(--on-accent)}
.rs-tot{min-width:74px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;font-size:.88rem}
.rs-rimuovi{border:none;background:none;color:var(--meta);cursor:pointer;font-size:1.1rem;width:24px}
.rs-rimuovi:hover{color:var(--danger)}
.vuoto-scontrino{padding:2.5rem;text-align:center;color:var(--meta)}
.vuoto-scontrino i{font-size:1.8rem;color:#c9ccd2;display:block;margin-bottom:.5rem}
.cassa-totale{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;border-top:2px solid var(--line);background:#fafbfb}
.cassa-totale span{font-size:.9rem;color:var(--meta)}
.cassa-totale b{font-family:'Roboto Slab',serif;font-size:1.6rem;color:var(--ink)}
.cassa-pagamenti{padding:1rem 1.15rem}
.pag-scelte{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.pag-btn{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:.7rem .5rem;cursor:pointer;font-size:.85rem;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--testo)}
.pag-btn i{font-size:1.2rem}
.pag-btn.attivo{border-color:var(--accent);background:#fffdf2;color:var(--ink);box-shadow:0 0 0 1px var(--accent) inset}
.btn.piccolo{padding:.4rem .7rem;font-size:.8rem}
@media(max-width:960px){.cassa-layout{grid-template-columns:1fr}}

/* ============================================================
   CiEnt — datatable enterprise, skeleton, master-detail
   ============================================================ */
.ce-datatable{display:flex;flex-direction:column}
.ce-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid #eef0f2}
.ce-toolbar .ricerca-inline{flex:1;max-width:320px}
.ce-corpo{min-height:120px}
.ce-corpo .tbl{width:100%;border-collapse:collapse;font-size:.87rem}
.ce-corpo th{text-align:left;padding:.6rem 1.15rem;font-family:'Roboto Condensed',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--meta);background:#fafbfb;border-bottom:1px solid #eef0f2;white-space:nowrap}
.ce-corpo th.r{text-align:right}
.ce-corpo th.ordinabile{cursor:pointer;user-select:none}
.ce-corpo th.ordinabile:hover{color:var(--ink)}
.ce-sort{margin-left:.35rem;font-size:.7rem;opacity:.5}
.ce-corpo th.ordinabile:hover .ce-sort{opacity:1}
.ce-corpo td{padding:.7rem 1.15rem;border-bottom:1px solid #f2f4f6}
.ce-corpo td.r{text-align:right;font-variant-numeric:tabular-nums}
.ce-corpo tr:last-child td{border-bottom:none}
.ce-corpo tr.cliccabile{cursor:pointer}
.ce-corpo tr.cliccabile:hover td{background:#fffdf5}
.ce-corpo tr.sel td{background:#fffae0}
.ce-corpo b{font-weight:600;color:var(--ink)}
.ce-azioni{white-space:nowrap}
.ce-piede{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.15rem;border-top:1px solid #eef0f2}
.ce-info{font-size:.8rem;color:var(--meta)}
.ce-pag{display:flex;gap:.3rem}
.ce-pag-btn{width:32px;height:32px;border:1px solid var(--line);background:var(--surface);border-radius:7px;cursor:pointer;font-size:1rem;color:var(--testo)}
.ce-pag-btn:hover:not(:disabled){background:var(--surface-2)}
.ce-pag-btn:disabled{opacity:.4;cursor:default}
/* skeleton */
.ce-skel{display:block;height:14px;border-radius:5px;background:linear-gradient(90deg,#eceef0 25%,#f5f6f7 50%,#eceef0 75%);background-size:200% 100%;animation:ce-shimmer 1.3s infinite linear}
@keyframes ce-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
/* master-detail */
.ce-masterdetail{display:grid;grid-template-columns:1.1fr 1.4fr;gap:16px;align-items:start}
.ce-master{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;overflow:hidden}
.ce-detail{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;min-height:300px;position:sticky;top:78px}
.ce-detail-vuoto,.ce-detail-load{display:grid;place-items:center;min-height:300px;color:var(--meta);text-align:center}
.ce-detail-vuoto i{font-size:2rem;color:#c9ccd2;display:block;margin-bottom:.6rem}
.rotella{width:26px;height:26px;border:3px solid #e8eaed;border-top-color:var(--giallo-scuro,#b89b00);border-radius:50%;animation:ce-gira .7s linear infinite}
@keyframes ce-gira{to{transform:rotate(360deg)}}
@media(max-width:900px){.ce-masterdetail{grid-template-columns:1fr}.ce-detail{position:static}}

/* indicatore carrello (ordini) */
.car-indicatore{padding:0 1.15rem}
.ind-scomp{display:flex;gap:.4rem;flex-wrap:wrap;padding:.6rem 0}
.ind-blocco{background:#fbebeb;color:var(--danger);padding:.6rem .8rem;border-radius:8px;font-size:.82rem;margin-bottom:.5rem}
.ordini-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:start}
@media(max-width:900px){.ordini-layout{grid-template-columns:1fr}}

/* ============================================================
   MODAL TAB + GDPR + segmented
   ============================================================ */
/* modal a tab (cliente): il .modal genitore va allargato, non solo il body */
.modal:has(.modal-largo){max-width:600px}
.modal-largo{width:100%}
.tab-nav{display:flex;gap:.15rem;border-bottom:2px solid var(--line);margin-bottom:14px}
.tab-btn{border:none;background:none;cursor:pointer;font:500 .88rem 'Roboto',sans-serif;color:var(--meta);padding:.55rem .9rem;margin-bottom:-2px;border-bottom:2px solid transparent}
.tab-btn:hover{color:var(--ink)}
.tab-btn.attivo{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}
.tab-cont{display:none}
.tab-cont.attivo{display:block}
.riga2{display:flex;gap:8px}.riga2>*{flex:1}
.riga3{display:flex;gap:8px}.riga3>*:nth-child(1){flex:2}.riga3>*:nth-child(2){flex:1}.riga3>*:nth-child(3){width:76px;flex:none}
.ci-seg{display:inline-flex;gap:.25rem;background:#eceef0;border-radius:8px;padding:.28rem;margin-bottom:12px}
.ci-seg button{border:none;background:none;cursor:pointer;border-radius:6px;font:500 .85rem 'Roboto',sans-serif;color:var(--meta);padding:.42rem .9rem}
.ci-seg button.sel{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgb(20 23 28/.12)}
.hint-fiscale{font-size:.8rem;color:var(--meta);background:var(--surface-2);border-radius:8px;padding:.6rem .8rem;margin:.4rem 0 0}
.hint-fiscale i{color:var(--giallo-scuro,#b89b00);margin-right:.3rem}
.fid-saldo{background:#fffcf0;border-radius:8px;padding:.7rem .9rem;font-size:.9rem}
.fid-saldo b{font-size:1.1rem;color:var(--ink)}
.consenso-riga{display:flex;align-items:center;gap:.6rem;padding:.6rem .2rem;border-bottom:1px solid #f2f4f6;cursor:pointer;font-size:.9rem}
.consenso-riga input{width:18px;height:18px;accent-color:var(--giallo-scuro,#b89b00)}
/* scheda GDPR nel dettaglio */
.scheda-gdpr{margin:1rem 1.25rem;padding:.9rem 1rem;background:#fafbfb;border:1px solid var(--line);border-radius:10px}
.gdpr-titolo{font-weight:600;font-size:.88rem;color:var(--ink);margin-bottom:.6rem}
.gdpr-titolo i{color:var(--giallo-scuro,#b89b00);margin-right:.4rem}
.gdpr-riga{font-size:.86rem;padding:.25rem 0;color:var(--testo)}
.gdpr-riga i{margin-right:.4rem}

/* ============================================================
   ORDINE B2B — catalogo griglia + carrello laterale
   ============================================================ */
.b2b-layout{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.b2b-layout.solo-storico{grid-template-columns:1fr}
.b2b-layout.solo-storico .b2b-carrello{display:none}
.b2b-toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.b2b-toolbar .ricerca-inline{flex:1}
.b2b-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.prod-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:.15rem;transition:border-color .14s,box-shadow .14s;position:relative}
.prod-card:hover{border-color:#d4c65a;box-shadow:0 4px 16px rgba(0,0,0,.05)}
.pc-cod{font-family:'Roboto Mono','Roboto Condensed',monospace;font-size:.66rem;letter-spacing:.05em;color:var(--meta);text-transform:uppercase}
.pc-nome{font-size:.94rem;font-weight:600;color:var(--ink);line-height:1.35;min-height:2.5em;margin-top:.15rem}
.pc-prezzo{font-family:'Roboto Slab',serif;font-weight:700;font-size:1.15rem;color:var(--ink);margin-top:.4rem}
.pc-prezzo small{font-size:.7rem;color:var(--meta);font-weight:400;font-family:'Roboto',sans-serif}
.pc-azione{display:flex;gap:.5rem;align-items:center;margin-top:.9rem}
/* stepper morbido: pulsanti tondi, niente riquadri squadrati */
.stepper-mini{display:inline-flex;align-items:center;gap:.35rem;flex:none}
.stepper-mini button{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;border-radius:50%;cursor:pointer;color:var(--ink);font-size:1rem;line-height:1;display:grid;place-items:center;transition:background .12s,border-color .12s;padding:0}
.stepper-mini button:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.stepper-mini input{width:38px;border:none;outline:none;text-align:center;font:700 1rem 'Roboto',sans-serif;background:none;color:var(--ink);-moz-appearance:textfield}
.stepper-mini input::-webkit-outer-spin-button,.stepper-mini input::-webkit-inner-spin-button{-webkit-appearance:none}
/* bottone aggiungi: pieno ma discreto, occupa lo spazio rimanente */
.pc-add{flex:1;height:38px;border:none;border-radius:9px;background:var(--accent,#ffd800);color:var(--on-accent,#1a1a1a);font:700 .84rem 'Roboto',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:filter .12s}
.pc-add:hover{filter:brightness(.94)}
.pc-add.aggiunto{background:#e7f6ec;color:#1f8f45}
/* carrello laterale */
.b2b-carrello{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;position:sticky;top:78px;display:flex;flex-direction:column;max-height:calc(100vh - 100px)}
.carrello-testa{padding:.9rem 1.15rem;border-bottom:1px solid #eef0f2;font-family:'Roboto Slab',serif;font-weight:600;color:var(--ink)}
.carrello-testa i{color:var(--giallo-scuro,#b89b00);margin-right:.4rem}
.carrello-corpo{flex:1;overflow-y:auto;min-height:120px}
.car-riga{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.15rem;border-bottom:1px solid #f2f4f6}
.cr-info{flex:1;min-width:0}.cr-info b{font-size:.85rem;font-weight:500;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-info small{color:var(--meta);font-size:.72rem}
.car-riga .stepper-mini{width:88px;flex:none}
.cr-tot{min-width:60px;text-align:right;font-weight:600;font-size:.84rem;font-variant-numeric:tabular-nums}
.cr-x{border:none;background:none;color:var(--meta);cursor:pointer;font-size:1.1rem;width:22px}
.cr-x:hover{color:var(--danger)}
.carrello-vuoto{padding:2.5rem 1rem;text-align:center;color:var(--meta)}
.carrello-vuoto i{font-size:1.8rem;color:#c9ccd2;display:block;margin-bottom:.5rem}
.carrello-vuoto small{display:block;margin-top:.3rem;font-size:.78rem}
.carrello-piede{border-top:1px solid #eef0f2;padding:1rem 1.15rem}
.carrello-tot{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}
.carrello-tot span{font-size:.85rem;color:var(--meta)}
.carrello-tot b{font-family:'Roboto Slab',serif;font-size:1.3rem;color:var(--ink)}
.ind-extra{margin:.5rem 0}
.ac-voce.evidenziato{background:var(--surface-2)}
@media(max-width:900px){.b2b-layout{grid-template-columns:1fr}.b2b-carrello{position:static;max-height:none}}

/* ============================================================
   POS completo da banco
   ============================================================ */
.pos-wrap{display:grid;grid-template-columns:1fr 380px;gap:16px;align-items:start;height:calc(100vh - 110px)}
.pos-sx{display:flex;flex-direction:column;gap:12px;min-height:0}
.pos-ricerca{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;position:relative}
.pos-ricerca i{color:var(--meta)}
.pos-ricerca input{flex:1;border:none;outline:none;font:400 .95rem 'Roboto',sans-serif;min-width:0}
.pos-ricerca .ac-risultati{top:calc(100% + 4px)}
.pos-cliente{display:flex;gap:.6rem}
.pos-cliente .btn{flex:1;justify-content:center}
.pos-titolo{font-family:'Roboto Condensed',sans-serif;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--meta);font-weight:700;margin-top:.3rem}
.pos-rapidi{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;overflow-y:auto;flex:1;align-content:start}
.rapido-card{background:var(--surface);border:1px solid #e6e8eb;border-radius:11px;padding:14px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.35rem;min-height:80px;transition:all .12s}
.rapido-card:hover{border-color:var(--accent);background:#fffdf2;transform:translateY(-1px)}
.rc-nome{font-size:.87rem;font-weight:500;color:var(--ink);line-height:1.25}
.rc-prezzo{font-family:'Roboto Slab',serif;font-weight:700;color:var(--ink);margin-top:auto}
/* dx */
.pos-dx{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;display:flex;flex-direction:column;height:calc(100vh - 110px)}
.pos-scontrino{flex:1;display:flex;flex-direction:column;min-height:0}
.pos-scontrino-testa{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.1rem;border-bottom:1px solid #eef0f2;font-family:'Roboto Slab',serif;font-weight:600;color:var(--ink)}
.pos-svuota{border:none;background:none;color:var(--meta);cursor:pointer;font-size:.9rem}
.pos-svuota:hover{color:var(--danger)}
.pos-righe{flex:1;overflow-y:auto;min-height:80px}
.pos-riga{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.1rem;border-bottom:1px solid #f5f6f7;cursor:pointer}
.pos-riga.sel{background:#fffae0}
.pr-desc{flex:1;min-width:0}.pr-desc b{font-size:.86rem;font-weight:500;color:var(--ink);display:block}.pr-desc small{color:var(--meta);font-size:.72rem}
.pr-tot{font-weight:600;font-size:.86rem;font-variant-numeric:tabular-nums}
.pr-x{border:none;background:none;color:var(--meta);cursor:pointer;font-size:1rem;width:20px}
.pr-x:hover{color:var(--danger)}
.pos-vuoto{padding:2rem;text-align:center;color:var(--meta)}
.pos-vuoto i{font-size:1.6rem;color:#c9ccd2;display:block;margin-bottom:.4rem}
.pos-totali{padding:.6rem 1.1rem;border-top:1px solid #eef0f2;background:#fafbfb}
.pt-riga{display:flex;justify-content:space-between;font-size:.85rem;padding:.15rem 0;color:var(--testo)}
.pt-riga.sconto b{color:var(--danger)}
.pt-riga.totale{border-top:1px dashed var(--line);margin-top:.35rem;padding-top:.5rem}
.pt-riga.totale b{font-family:'Roboto Slab',serif;font-size:1.35rem;color:var(--ink)}
.pos-tastierino{padding:.7rem 1.1rem;border-top:1px solid #eef0f2}
.pt-display{background:#14171c;color:#ffd800;font-family:'Roboto Slab',serif;font-size:1.4rem;text-align:right;padding:.5rem .8rem;border-radius:8px;margin-bottom:.6rem;font-variant-numeric:tabular-nums}
.pt-tasti{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.pt-tasti button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:.7rem;font-size:1.1rem;font-weight:500;cursor:pointer;color:var(--ink)}
.pt-tasti button:hover{background:var(--surface-2)}
.pt-tasti .pt-canc{background:#fbebeb;color:var(--danger);border-color:#eec9c9}
.pt-funzioni{display:flex;gap:.4rem;margin-top:.5rem}
.pt-funzioni .btn{flex:1;justify-content:center;font-size:.75rem}
.pos-pagamento{padding:.8rem 1.1rem;border-top:1px solid #eef0f2}
.pos-fattura{margin-bottom:.6rem}
.pos-pag-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.pos-pag{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:.7rem .4rem;cursor:pointer;font-size:.82rem;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:.3rem;color:var(--testo)}
.pos-pag i{font-size:1.15rem}
.pos-pag.sel{border-color:var(--accent);background:#fffdf2;box-shadow:0 0 0 1px var(--accent) inset;color:var(--ink)}
.pos-resto{margin-top:.6rem;background:#e6f5ec;color:var(--success);border-radius:8px;padding:.6rem .8rem;font-size:.88rem;text-align:center}
.pos-resto.negativo{background:#fbebeb;color:var(--danger)}
@media(max-width:960px){.pos-wrap{grid-template-columns:1fr;height:auto}.pos-dx{height:auto}}

/* ============================================================
   FIX impersonation layout + avatar topbar
   ============================================================ */
/* --- griglia app: la colonna destra non deve mai sforare (causa "tutto a sinistra") --- */
.ci-app{grid-template-columns:236px minmax(0,1fr)}
body.sidebar-collassata .ci-app{grid-template-columns:72px minmax(0,1fr)}
.principale{min-width:0;width:100%;box-sizing:border-box}
.topbar{width:100%;box-sizing:border-box}
/* banner impersona: occupa la sua riga in cima alla colonna, non sposta la griglia */
.banner-impersona{position:sticky;top:0;z-index:35;width:100%;box-sizing:border-box}
/* avatar topbar: forza sfondo giallo e centratura (era sovrascritto da .azione) */
button.avatar-topbar.azione{background:var(--accent);color:var(--on-accent);width:34px;height:34px;border-radius:50%;font-weight:700;font-size:.8rem;display:grid;place-items:center;border:none}
button.avatar-topbar.azione:hover{background:var(--giallo-hover,#ffc900);border:none}
/* POS e layout ad altezza piena: usare min-height, non height fissa (col banner andava in crisi) */
.pos-wrap{height:auto;min-height:calc(100vh - 160px)}
.pos-dx{height:auto}

/* --- SELECT native stilizzate (basta frecce di sistema grezze) --- */
.select-inline,
select.field,
.field select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238b8f96' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .7rem center;background-size:11px;
  padding-right:2rem;cursor:pointer;
}

/* ============================================================
   RICERCA GLOBALE dropdown
   ============================================================ */
.ricerca-globale{position:relative}
.ricerca-risultati{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 48px rgb(10 12 15/.18);max-height:60vh;overflow-y:auto;padding:.4rem;z-index:60}
.rg-gruppo{font-family:'Roboto Condensed',sans-serif;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--meta);font-weight:700;padding:.6rem .7rem .3rem}
.rg-gruppo i{margin-right:.35rem;color:var(--giallo-scuro,#b89b00)}
.rg-voce{display:block;padding:.55rem .7rem;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.88rem}
.rg-voce:hover{background:var(--surface-2)}
.rg-vuoto{padding:1.2rem;text-align:center;color:var(--meta);font-size:.86rem}

/* profilo */
.profilo-griglia{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;max-width:820px}
.profilo-identita{padding:1.2rem;display:flex;gap:1rem;align-items:center}
.profilo-avatar{width:60px;height:60px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-weight:700;font-size:1.4rem;flex:none}
.pi-nome{font-family:'Roboto Slab',serif;font-size:1.15rem;color:var(--ink)}
.pi-meta{color:var(--meta);font-size:.85rem;margin:.15rem 0}
.pi-email{font-size:.85rem;color:var(--testo)}
.profilo-form{padding:1.2rem;display:flex;flex-direction:column}
.pwd-forza{height:5px;background:#eceef0;border-radius:99px;overflow:hidden;margin:-4px 0 10px}
.pwd-barra{display:block;height:100%;width:0;transition:width .2s,background .2s;border-radius:99px}
@media(max-width:760px){.profilo-griglia{grid-template-columns:1fr}}

/* ============================================================
   WIZARD a step (archivio)
   ============================================================ */
.wizard-steps{display:flex;align-items:center;gap:8px;margin-bottom:20px;max-width:560px}
.ws-step{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--meta)}
.ws-step .ws-num{width:28px;height:28px;border-radius:50%;background:#eceef0;color:var(--meta);display:grid;place-items:center;font-weight:700;font-size:.82rem;flex:none}
.ws-step.attivo{color:var(--ink)}
.ws-step.attivo .ws-num{background:var(--accent);color:var(--on-accent)}
.ws-step.fatto .ws-num{background:var(--success);color:#fff}
.ws-step.fatto .ws-num::before{content:"\2713"}
.ws-step.fatto .ws-num{font-size:0}
.ws-step.fatto .ws-num::before{font-size:.85rem}
.ws-linea{flex:1;height:2px;background:#eceef0;border-radius:2px;max-width:60px}
.wizard-pannello{display:none}
.wizard-pannello.attivo{display:block;animation:ws-fade .25s ease-out}
@keyframes ws-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ra-filtri{display:flex;gap:10px;flex-wrap:wrap}
.wizard-dispositivi{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.disp-card{background:var(--surface);border:1px solid #e6e8eb;border-radius:11px;padding:16px;cursor:pointer;text-align:left;font-size:.95rem;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:.7rem}
.disp-card:hover{border-color:var(--accent);background:#fffdf2}
.disp-card i{font-size:1.3rem;color:var(--giallo-scuro,#b89b00)}
/* attesa scheda */
.attesa-card{text-align:center;padding:3rem 2rem;max-width:520px;margin:0 auto}
.attesa-icona{font-size:3rem;color:var(--giallo-scuro,#b89b00);margin-bottom:1rem}
.attesa-card h2{font-family:'Roboto Slab',serif;font-size:1.4rem;margin:0 0 .8rem}
.attesa-card p{color:var(--testo);font-size:.92rem;line-height:1.55;margin:.4rem 0}
.attesa-card .btn{margin-top:1.4rem}

/* scheda negozio: tab host + crediti box */
.tab-cont-host{padding-top:4px}
.crediti-box{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.credito-voce{background:var(--surface);padding:.9rem 1.15rem;display:flex;flex-direction:column;gap:.15rem}
.credito-voce span{font-size:.78rem;color:var(--meta)}
.credito-voce b{font-family:'Roboto Slab',serif;font-size:1.15rem;color:var(--ink)}

/* autocomplete indirizzo (Mapbox) dentro i modal */
.ac-geo{top:calc(100% + 4px);max-height:220px}
.ac-geo .ac-voce b{font-weight:500}

/* ============================================================
   NOTIFICHE — pannello tendina funzionale + pagina
   ============================================================ */
.voci.notifiche{width:360px;max-width:92vw;padding:0}
.notif-testa{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--line)}
.notif-testa b{font-size:.92rem;color:var(--ink)}
.notif-azione-testa{border:none;background:none;color:var(--giallo-scuro,#b89b00);font-size:.78rem;font-weight:600;cursor:pointer;padding:.2rem .3rem;border-radius:5px}
.notif-azione-testa:hover{background:var(--surface-2)}
.notif-scroll{max-height:min(60vh,420px);overflow-y:auto}
.notifica-voce{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem 1rem;border-bottom:1px solid #f2f4f6;text-decoration:none;color:inherit;position:relative;transition:background .12s}
.notifica-voce:hover{background:var(--surface-2)}
.notifica-voce.non-letta{background:#fffdf3}
.notifica-voce.non-letta::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.notif-icona{width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;background:rgb(255 216 0 / .15);color:var(--giallo-scuro,#b89b00);font-size:.9rem}
.notif-corpo{flex:1;min-width:0}
.notif-corpo b{display:block;font-size:.85rem;font-weight:600;color:var(--ink);line-height:1.3}
.notif-corpo p{margin:.15rem 0 0;font-size:.8rem;color:var(--meta);line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.notif-corpo .quando{font-size:.72rem;color:#a3a7ad;margin-top:.2rem;display:block}
.notifica-voce.letta .notif-icona{background:var(--surface-2);color:var(--meta)}
.notifica-voce.letta b{font-weight:500;color:var(--testo)}
.notif-elimina{border:none;background:none;color:#c9ccd2;cursor:pointer;font-size:.85rem;width:24px;height:24px;border-radius:5px;flex:none;opacity:0;transition:opacity .12s}
.notifica-voce:hover .notif-elimina{opacity:1}
.notif-elimina:hover{background:#fbebeb;color:var(--danger)}
.notifica-vuota{padding:2.5rem 1rem;text-align:center;color:var(--meta)}
.notifica-vuota i{font-size:1.8rem;color:#c9ccd2;display:block;margin-bottom:.5rem}
.notifica-vuota p{margin:0;font-size:.86rem}
.notif-piede{display:block;text-align:center;padding:.7rem;border-top:1px solid var(--line);font-size:.82rem;font-weight:600;color:var(--giallo-scuro,#b89b00);text-decoration:none}
.notif-piede:hover{background:var(--surface-2)}
/* pagina notifiche */
.ce-seg-filtro{display:inline-flex;gap:.25rem;background:#eceef0;border-radius:8px;padding:.28rem}
.ce-seg-filtro button{border:none;background:none;cursor:pointer;border-radius:6px;font:500 .84rem 'Roboto',sans-serif;color:var(--meta);padding:.4rem .9rem}
.ce-seg-filtro button.sel{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgb(20 23 28/.12)}
.notif-riga-full{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.15rem;border-bottom:1px solid #f2f4f6;text-decoration:none;color:inherit;position:relative}
.notif-riga-full:hover{background:#fafbfb}
.notif-riga-full.non-letta{background:#fffdf3}
.notif-riga-full.non-letta::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.notif-riga-full .notif-icona{width:40px;height:40px;font-size:1rem}
.notif-riga-full .notif-corpo b{font-size:.92rem}
.notif-riga-azioni{display:flex;gap:.3rem;opacity:0;transition:opacity .12s}
.notif-riga-full:hover .notif-riga-azioni{opacity:1}

/* ============================================================
   FATTURAZIONE — tab admin + pagina negozio
   ============================================================ */
.fat-stato{padding:14px 16px;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.fat-saldo{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fat-saldo>div{background:var(--surface);padding:.9rem 1.15rem;display:flex;flex-direction:column;gap:.15rem}
.fat-saldo span{font-size:.78rem;color:var(--meta)}
.fat-saldo b{font-family:'Roboto Slab',serif;font-size:1.15rem;color:var(--ink)}
/* pagina negozio */
.fat-cards{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}
.fat-card-saldo{padding:1.5rem;text-align:center;background:linear-gradient(135deg,#14171c,#1c2027);border:none;color:#fff}
.fcs-label{font-size:.8rem;color:#9a9ea5;text-transform:uppercase;letter-spacing:.08em;font-family:'Roboto Condensed',sans-serif}
.fcs-valore{font-family:'Roboto Slab',serif;font-size:3rem;font-weight:700;color:var(--accent);line-height:1.1;margin:.3rem 0}
.fcs-sub{font-size:.82rem;color:#c9ccd2}
.fat-ricarica{padding:16px}
.fat-ricarica p{font-size:.88rem;color:var(--testo);margin:0 0 12px}
.fat-ricarica .scheda-spec{border-top:1px solid var(--line)}
@media(max-width:820px){.fat-cards{grid-template-columns:1fr}.fat-saldo{grid-template-columns:1fr}}

/* ricerca globale: titolo + sottotitolo (anni veicolo) */
.rg-voce{display:flex;align-items:baseline;gap:.5rem}
.rg-titolo{flex:1}
.rg-sub{font-size:.76rem;color:var(--meta);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ============================================================
   CMS ARCHIVIO admin — strumenti, media
   ============================================================ */
.strum-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;padding:0 16px}
.strum-chip{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:9px;padding:.6rem .75rem;cursor:pointer;transition:all .12s}
.strum-chip:hover{border-color:var(--line-strong)}
.strum-chip.sel{border-color:var(--accent);background:#fffdf2}
.strum-chip input{width:16px;height:16px;accent-color:var(--giallo-scuro,#b89b00);flex:none}
.strum-chip b{font-size:.85rem;font-weight:500;color:var(--ink);display:block}
.strum-chip small{font-size:.72rem;color:var(--meta)}
.media-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:0 16px 16px}
.media-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.media-thumb{height:100px;background-size:cover;background-position:center;background-color:#eceef0;display:grid;place-items:center;color:var(--meta)}
.media-thumb.video{background:#14171c;color:var(--accent);font-size:1.5rem}
.media-info{display:flex;align-items:center;justify-content:space-between;padding:.5rem .7rem}
.media-info small{font-size:.75rem;color:var(--meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-x{border:none;background:none;color:var(--meta);cursor:pointer;font-size:.82rem;flex:none}
.media-x:hover{color:var(--danger)}
/* disp-card con sub (marca strumento) nel wizard negozio */
.disp-card span{display:flex;flex-direction:column;line-height:1.25}
.disp-card small{font-size:.72rem;color:var(--meta);font-weight:400}

/* ============================================================
   CiEnt v2 — selezione massiva, stat-cards, card-grid, drawer
   ============================================================ */
/* colonna checkbox + selezione */
.ce-col-check{width:38px;text-align:center}
.ce-col-check input{width:16px;height:16px;accent-color:var(--giallo-scuro,#b89b00);cursor:pointer}
.ce-corpo tr.sel td{background:#fffae0}
/* barra azioni massive */
.ce-massive{display:flex;align-items:center;gap:1rem;padding:.7rem 1.15rem;background:#14171c;color:#fff;border-radius:10px 10px 0 0}
.ce-massive-info{font-size:.88rem}.ce-massive-info b{color:var(--accent)}
.ce-massive-x{border:none;background:rgb(255 255 255/.1);color:#fff;width:26px;height:26px;border-radius:6px;cursor:pointer}
.ce-massive-x:hover{background:rgb(255 255 255/.2)}
.ce-massive-azioni{margin-left:auto;display:flex;gap:.4rem}
.ce-massive-azioni .btn{background:rgb(255 255 255/.1);border-color:transparent;color:#fff}
.ce-massive-azioni .btn:hover{background:rgb(255 255 255/.2)}
.ce-massive-azioni .btn.pericolo{background:rgb(224 49 49/.2);color:#ff8787}
.ce-massive-azioni .btn.pericolo:hover{background:rgb(224 49 49/.35)}
/* stat cards */
.ce-stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}
.ce-stat{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;padding:16px;display:flex;gap:.9rem;align-items:center;text-align:left}
.ce-stat.cliccabile{cursor:pointer;transition:all .12s}
.ce-stat.cliccabile:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 18px rgb(20 23 28/.08)}
.ce-stat-ic{width:44px;height:44px;border-radius:11px;flex:none;display:grid;place-items:center;background:rgb(255 216 0 / .15);color:var(--giallo-scuro,#b89b00);font-size:1.15rem}
.ce-stat.tono-verde .ce-stat-ic{background:var(--success-bg);color:var(--success)}
.ce-stat.tono-rosso .ce-stat-ic{background:var(--danger-bg);color:var(--danger)}
.ce-stat.tono-grigio .ce-stat-ic{background:var(--surface-sunken);color:var(--meta)}
.ce-stat-val{font-family:'Roboto Slab',serif;font-size:1.6rem;font-weight:700;color:var(--ink);line-height:1.1}
.ce-stat-lab{font-size:.82rem;color:var(--meta)}
.ce-stat-sub{font-size:.75rem;color:var(--success);margin-top:.15rem}
/* card grid */
.ce-cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ce-card{background:var(--surface);border:1px solid #e6e8eb;border-radius:13px;padding:0;text-align:left;overflow:hidden;transition:all .14s ease-out;display:block;width:100%;cursor:pointer}
.ce-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 28px rgb(20 23 28/.1)}
.ce-card-testa{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:16px 16px 12px}
.ce-card-tit b{font-family:'Roboto Slab',serif;font-size:1.02rem;color:var(--ink);display:block;line-height:1.25}
.ce-card-tit small{font-size:.8rem;color:var(--meta)}
.ce-card-righe{border-top:1px solid #f2f4f6;display:grid;grid-template-columns:1fr 1fr}
.ce-card-righe>div{padding:.7rem 1rem;border-right:1px solid #f2f4f6;border-bottom:1px solid #f2f4f6}
.ce-card-righe>div:nth-child(2n){border-right:none}
.ce-card-righe span{display:block;font-size:.72rem;color:var(--meta);text-transform:uppercase;letter-spacing:.04em}
.ce-card-righe b{font-size:.98rem;color:var(--ink);font-weight:600}
.ce-card-skel{height:150px;border-radius:13px;background:linear-gradient(90deg,#eceef0 25%,#f5f6f7 50%,#eceef0 75%);background-size:200% 100%;animation:ce-shimmer 1.3s infinite linear}
/* drawer */
.ce-drawer-scrim{position:fixed;inset:0;background:rgb(10 12 15/.4);z-index:200;opacity:0;transition:opacity .22s;display:flex;justify-content:flex-end}
.ce-drawer-scrim.aperto{opacity:1}
.ce-drawer{background:var(--surface);width:min(560px,92vw);height:100%;display:flex;flex-direction:column;transform:translateX(30px);transition:transform .24s var(--ease-spring,ease-out);box-shadow:-16px 0 48px rgb(10 12 15/.2)}
.ce-drawer-scrim.aperto .ce-drawer{transform:none}
.ce-drawer-testa{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.35rem;border-bottom:1px solid var(--line)}
.ce-drawer-testa h3{font-family:'Roboto Slab',serif;font-size:1.15rem;margin:0}
.ce-drawer-x{border:none;background:none;font-size:1.1rem;color:var(--meta);cursor:pointer;width:32px;height:32px;border-radius:7px}
.ce-drawer-x:hover{background:var(--surface-2);color:var(--ink)}
.ce-drawer-corpo{flex:1;overflow-y:auto;padding:1.35rem}

/* drawer categorie */
.cat-lista{display:flex;flex-direction:column}
.cat-riga{display:flex;align-items:center;justify-content:space-between;padding:.7rem .2rem;border-bottom:1px solid #f2f4f6}
.cat-nome b{font-size:.9rem;color:var(--ink);display:block}
.cat-nome small{font-size:.75rem;color:var(--meta)}

/* ============================================================
   SCHEDA VEICOLO enterprise — header hero, sezioni, galleria
   ============================================================ */
.scheda-head{display:flex;gap:20px;padding:20px;margin-bottom:16px;align-items:flex-start}
.sh-media{width:220px;flex:none;border-radius:12px;overflow:hidden;background:#f4f5f6;aspect-ratio:1}
.sh-media img{width:100%;height:100%;object-fit:cover;display:block}
.sh-noimg{width:100%;height:100%;display:grid;place-items:center;color:#c9ccd2;font-size:2.5rem}
.sh-info{flex:1;min-width:0}
.sh-info h2{font-family:'Roboto Slab',serif;font-size:1.5rem;margin:0 0 .5rem}
.sh-chip{margin-bottom:1rem}
.sh-dati{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.sh-dati>div{background:var(--surface);padding:.7rem .9rem}
.sh-dati dt{font-size:.72rem;color:var(--meta);text-transform:uppercase;letter-spacing:.04em}
.sh-dati dd{margin:.15rem 0 0;font-weight:600;color:var(--ink)}
/* sezioni accordion */
.scheda-sezioni{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.sez-box{background:var(--surface);border:1px solid #e6e8eb;border-radius:12px;overflow:hidden}
.sez-testa{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;font-family:'Roboto Slab',serif;font-size:1rem;color:var(--ink)}
.sez-testa i:first-child{color:var(--giallo-scuro,#b89b00);margin-right:.6rem}
.sez-frec{transition:transform .2s;font-size:.85rem;color:var(--meta)}
.sez-box.aperta .sez-frec{transform:rotate(180deg)}
.sez-corpo{display:none;padding:0 1.25rem 1.25rem}
.sez-box.aperta .sez-corpo{display:block;animation:ws-fade .2s}
.sez-corpo .scheda-spec{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:12px}
.sez-galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.sez-foto{aspect-ratio:1;border-radius:9px;background-size:cover;background-position:center;border:1px solid var(--line);cursor:pointer;transition:transform .12s}
.sez-foto:hover{transform:scale(1.03);border-color:var(--accent)}
.sez-vuota{color:var(--meta);font-size:.86rem;margin:0}
.sez-assistenza .card-testa h2 i{color:var(--giallo-scuro,#b89b00)}
/* lightbox */
.ci-lightbox{position:fixed;inset:0;background:rgb(10 12 15/.85);z-index:300;display:grid;place-items:center;padding:2rem;cursor:zoom-out;animation:ws-fade .15s}
.lb-inner{max-width:90vw;max-height:90vh;text-align:center}
.lb-inner img{max-width:100%;max-height:82vh;border-radius:10px;box-shadow:0 20px 60px rgb(0 0 0/.5)}
.lb-cap{color:#e8eaed;margin-top:.8rem;font-size:.9rem}

/* ============================================================
   ARCHIVIO CMS admin — lista, editor, dropzone, galleria drag
   ============================================================ */
.arc-filtri{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px}
.arc-thumb{width:48px;height:48px;border-radius:8px;background-size:cover;background-position:center;background-color:#f0f1f2}
.arc-thumb.vuota{display:grid;place-items:center;color:#c9ccd2;font-size:1.1rem}
/* editor sezioni */
.ed-sez-card{border:1px solid var(--line);border-radius:10px;margin-bottom:8px}
.ed-sez-testa{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem}
.ed-sez-testa b{flex:1}.ed-sez-testa small{color:var(--meta);font-size:.78rem}
.ed-campo{display:flex;gap:.4rem;margin-bottom:.4rem;align-items:center}
.ed-campo input{flex:1;border:1px solid var(--line);border-radius:7px;padding:.45rem .6rem;font:400 .85rem 'Roboto',sans-serif}
.ed-campo .ck{max-width:180px}
/* media editor */
.ed-media-sez{margin-bottom:24px}
.ed-media-titolo{font-family:'Roboto Slab',serif;font-weight:600;color:var(--ink);margin-bottom:.6rem;font-size:1rem}
.ed-dropzone{border:2px dashed var(--line-strong,#d4d7db);border-radius:12px;padding:1.5rem;text-align:center;color:var(--meta);cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:12px}
.ed-dropzone:hover,.ed-dropzone.over{border-color:var(--accent);background:#fffdf2;color:var(--ink)}
.ed-dropzone i{font-size:1.6rem;color:var(--giallo-scuro,#b89b00)}
.ed-galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;min-height:10px}
.ed-media-card{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--line);cursor:grab}
.ed-media-card.dragging{opacity:.4}
.emc-img{width:100%;height:100%;background-size:cover;background-position:center}
.emc-x{position:absolute;top:5px;right:5px;width:26px;height:26px;border-radius:6px;border:none;background:rgb(20 23 28/.7);color:#fff;cursor:pointer;opacity:0;transition:opacity .12s}
.ed-media-card:hover .emc-x{opacity:1}
.emc-x:hover{background:var(--danger)}
.emc-drag{position:absolute;bottom:5px;left:5px;color:#fff;background:rgb(20 23 28/.5);border-radius:5px;padding:.1rem .3rem;font-size:.7rem;opacity:0;transition:opacity .12s}
.ed-media-card:hover .emc-drag{opacity:1}

/* ============================================================
   DASHBOARD enterprise
   ============================================================ */
.dash-intesta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}
.dash-intesta h1{font-family:'Roboto Slab',serif;font-size:1.7rem;margin:0}
.dash-data{color:var(--meta);font-size:.88rem}
.dash-data i{margin-right:.35rem}
.dash-griglia{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:start}
.dash-crediti .dc-corpo{padding:16px}
.dc-voce{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0}
.dc-voce span{color:var(--meta);font-size:.88rem}
.dc-voce b{font-family:'Roboto Slab',serif;font-size:1.3rem;color:var(--ink)}
.dc-barra{height:8px;background:#eceef0;border-radius:99px;overflow:hidden;margin:.8rem 0 .4rem}
.dc-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--giallo-scuro,#e0b400));border-radius:99px;transition:width .6s ease-out}
.dc-nota{font-size:.78rem;color:var(--meta)}
.dash-scorciatoie{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}
.dash-scorc{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem .6rem;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--testo);transition:all .14s;text-align:center}
.dash-scorc:hover{border-color:var(--accent);background:#fffdf2;transform:translateY(-2px)}
.ds-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgb(255 216 0 / .15);color:var(--giallo-scuro,#b89b00);font-size:1.2rem}
.dash-scorc span:last-child{font-size:.85rem;font-weight:500}
@media(max-width:900px){.dash-griglia{grid-template-columns:1fr}}

/* ============================================================
   ARCHIVIO lista — restyling più curato e compatto
   ============================================================ */
#arc-lista .ce-corpo td{padding:.55rem 1.15rem;vertical-align:middle}
#arc-lista .ce-corpo tr{transition:background .12s}
#arc-lista .ce-corpo tr:hover td{background:#fffdf5}
.arc-thumb{width:56px;height:56px;border-radius:10px;background-size:cover;background-position:center;background-color:#f0f1f2;box-shadow:0 1px 3px rgb(20 23 28/.08);border:1px solid #eceef0}
.arc-thumb.vuota{display:grid;place-items:center;color:#c2c5ca;font-size:1.3rem;background:linear-gradient(135deg,#f6f7f8,#eceef0)}
/* colonna contenuto: badge più leggibili e allineati */
#arc-lista .pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;padding:.28rem .6rem;border-radius:8px}
#arc-lista .pill i{font-size:.72rem}
#arc-lista .pill.rosso{background:#fdecec;color:#c92a2a;font-weight:600}
#arc-lista .pill.verde{background:#e7f6ec;color:#1a7a3f}
#arc-lista .pill.giallo{background:#fff6da;color:#9a7500}
#arc-lista .pill.grigio{background:#f0f1f3;color:#9a9ea5}
/* titolo veicolo più marcato */
#arc-lista .ce-corpo b{font-size:.95rem;font-weight:600;color:var(--ink)}
#arc-lista .ce-corpo small{font-size:.78rem;color:#9a9ea5;font-weight:500}
/* header colonne */
#arc-lista .ce-corpo th{padding:.7rem 1.15rem;background:#fafbfc}
/* bottone gestisci più discreto ma visibile */
#arc-lista .ce-azioni .btn{border-color:#e2e4e7}
#arc-lista .ce-azioni .btn:hover{border-color:var(--accent);background:#fffdf2;color:var(--ink)}

/* ============================================================
   ANTEPRIMA scheda a tutta pagina (come la vede il negozio)
   ============================================================ */
.anteprima-overlay{position:fixed;inset:0;z-index:250;background:var(--bg,#f4f5f7);display:flex;flex-direction:column;animation:ws-fade .2s}
.ao-barra{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.5rem;background:#14171c;color:#fff;flex:none}
.ao-barra span{font-size:.92rem;font-weight:500}.ao-barra span i{color:var(--accent);margin-right:.4rem}
.ao-chiudi{background:rgb(255 255 255/.1);border:none;color:#fff;padding:.5rem .9rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500}
.ao-chiudi:hover{background:rgb(255 255 255/.2)}
.ao-scroll{flex:1;overflow-y:auto;padding:1.6rem 2rem}
.ao-contenuto{max-width:1240px;margin:0 auto}

/* ============================================================
   ORDINI B2B admin — drawer gestione ordine
   ============================================================ */
.ord-drawer-testa{padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}
.ord-righe{width:100%;margin-bottom:1rem}
.ord-righe th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--meta);padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.ord-righe td{padding:.6rem;border-bottom:1px solid #f2f4f6;vertical-align:middle;font-size:.87rem}
.ord-righe .btn.piccolo{padding:.3rem .6rem;font-size:.78rem}
.ord-totale{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;background:#fafbfb;border-radius:10px;margin-bottom:1.2rem}
.ord-totale span{color:var(--meta);font-size:.9rem}
.ord-totale b{font-family:'Roboto Slab',serif;font-size:1.3rem;color:var(--ink)}
.ord-note{border-top:1px solid var(--line);padding-top:1rem}

/* ============================================================
   SCHEDA LAVORO — 2 colonne (procedura + dettagli)
   ============================================================ */
.scheda-lavoro{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-bottom:16px}
.col-procedura{position:sticky;top:78px}
.col-procedura .card-testa h2 i{color:var(--giallo-scuro,#b89b00)}
.proc-corpo{padding:0 4px 12px}
.proc-passi{list-style:none;counter-reset:passo;padding:0;margin:0}
.proc-passi li{counter-increment:passo;position:relative;padding:.9rem 1rem .9rem 3rem;border-bottom:1px solid #f2f4f6}
.proc-passi li::before{content:counter(passo);position:absolute;left:1rem;top:.9rem;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-weight:700;font-size:.82rem}
.pp-titolo{font-weight:600;color:var(--ink);font-size:.92rem;margin-bottom:.2rem}
.pp-dett{font-size:.85rem;color:var(--testo);line-height:1.5}
.proc-caricamento,.proc-vuota{padding:2.5rem 1.5rem;text-align:center;color:var(--meta)}
.proc-vuota i{font-size:2rem;color:var(--giallo-scuro,#b89b00);display:block;margin-bottom:.6rem}
.proc-vuota .btn{margin-top:1rem}
.proc-pie{padding:1rem;border-top:1px solid var(--line);text-align:center}
@media(max-width:960px){.scheda-lavoro{grid-template-columns:1fr}.col-procedura{position:static}}

/* video nelle sezioni (scheda negozio + editor) */
.sez-video{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;aspect-ratio:16/10;border-radius:9px;border:1px solid var(--line);background:linear-gradient(135deg,#14171c,#1c2027);color:#fff;cursor:pointer;grid-column:span 2}
.sez-video i{font-size:1.8rem;color:var(--accent)}
.sez-video span{font-size:.8rem}
.sez-video:hover{border-color:var(--accent)}
.emc-video{background:#14171c!important;color:var(--accent);display:grid;place-items:center;font-size:1.4rem}
.ed-media-titolo{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.lb-video{width:min(880px,90vw)}
.lb-video iframe{width:100%;aspect-ratio:16/9;border-radius:10px;background:#000}

/* editor scheda: barra stato aggiornamento + avviso AI */
#ed-statobar{margin-bottom:14px;display:flex;flex-direction:column;gap:10px}
.ed-aggiornato{font-size:.85rem;color:var(--meta)}
.ed-aggiornato i{margin-right:.35rem}
.ed-ai-avviso{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;background:#fdf5e0;border:1px solid #f0dca6;border-radius:10px;font-size:.88rem;color:#8a6d1a}
.ed-ai-avviso i{color:#e0a800;font-size:1.1rem}
.ed-ai-avviso span{flex:1}
.ed-ai-avviso .btn{flex:none}

/* lightbox galleria: frecce navigazione + contatore */
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:1.3rem;cursor:pointer;display:grid;place-items:center;transition:background .15s;z-index:2}
.lb-nav:hover{background:rgba(255,255,255,.28)}
.lb-prev{left:2.5vw}.lb-next{right:2.5vw}
.lb-conta{position:absolute;bottom:-2.2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:.85rem;font-variant-numeric:tabular-nums}
.lb-inner{position:relative}
@media(max-width:640px){.lb-nav{width:42px;height:42px;font-size:1.05rem}.lb-prev{left:.5rem}.lb-next{right:.5rem}}

/* procedura: inquadramento + FAQ */
.proc-inquadramento{margin:0 4px 12px;padding:.7rem .9rem;background:#eef4ff;border:1px solid #d3e0f7;border-radius:9px;font-size:.86rem;color:#2c4c7c;line-height:1.5}
.proc-inquadramento i{color:#2f6fed;margin-right:.35rem}
.proc-faq{margin:1rem 4px 0;padding-top:1rem;border-top:1px solid var(--line)}
.proc-faq-tit{font-weight:600;font-size:.9rem;margin-bottom:.6rem;color:var(--ink)}
.proc-faq-tit i{color:var(--giallo-scuro,#b89b00);margin-right:.4rem}
.proc-faq-item{border:1px solid var(--line);border-radius:8px;margin-bottom:.5rem;overflow:hidden}
.proc-faq-item summary{padding:.6rem .8rem;cursor:pointer;font-size:.86rem;font-weight:500;list-style:none;background:#fafbfb}
.proc-faq-item summary::-webkit-details-marker{display:none}
.proc-faq-item summary::before{content:'\ff0b';margin-right:.5rem;color:var(--meta);font-weight:700}
.proc-faq-item[open] summary::before{content:'\2212'}
.pf-risp{padding:.6rem .8rem;font-size:.85rem;color:var(--testo);line-height:1.55;border-top:1px solid #f2f4f6}

/* modale consegna ordine: riepilogo richiesto/consegnato/residuo */
.cons-riepilogo{display:flex;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:1rem}
.cons-riepilogo>div{flex:1;padding:.7rem .8rem;text-align:center;border-right:1px solid var(--line)}
.cons-riepilogo>div:last-child{border-right:none}
.cons-riepilogo span{display:block;font-size:.72rem;color:var(--meta);margin-bottom:.2rem}
.cons-riepilogo b{font-size:1.3rem;font-family:'Roboto Slab',serif}
.cons-riepilogo .cons-residuo{background:#fdf5e0}.cons-riepilogo .cons-residuo b{color:var(--warning)}
.cons-nota{margin:.7rem 0 0;font-size:.85rem;color:var(--meta)}
.cons-nota i{margin-right:.35rem}

/* drawer strumentazioni */
.str-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--meta);font-weight:700;margin:1rem 0 .4rem}
.str-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem .2rem;border-bottom:1px solid #f2f4f6}
.str-info{font-size:.9rem}
.str-az{display:flex;gap:.3rem}

/* archivio negozio: I MIEI MEZZI (autorizzati + richieste) */
.mm-tabs{display:flex;gap:.3rem}
.mm-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border:none;background:transparent;color:var(--meta);font-weight:600;font-size:.88rem;cursor:pointer;border-bottom:2px solid transparent}
.mm-tab.attivo{color:var(--ink);border-bottom-color:var(--accent)}
.mm-tab i{font-size:.85rem}
.mm-badge{background:var(--surface-sunken);color:var(--meta);border-radius:999px;font-size:.72rem;font-weight:700;padding:.05rem .45rem}
.mm-tab.attivo .mm-badge{background:var(--accent);color:var(--on-accent)}
.mm-riga{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .2rem;border-bottom:1px solid #f2f4f6}
.mm-riga:last-child{border-bottom:none}
.mm-pronta{background:linear-gradient(90deg,rgba(31,143,69,.05),transparent);border-radius:8px;padding-left:.6rem}
.mm-info b{font-size:.92rem}.mm-info small{display:block;color:var(--danger);font-size:.78rem;margin-top:.1rem}
.mm-az{display:flex;align-items:center;gap:.5rem;flex:none}
.mm-vuoto{padding:1.5rem;text-align:center;color:var(--meta);font-size:.88rem}

/* dispositivi step 2: stato procedura (verde pronto / giallo da preparare) */
.disp-card{position:relative;display:flex;align-items:center;gap:.7rem}
.disp-card .disp-nome{flex:1;text-align:left}
.disp-stato{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;white-space:nowrap}
.disp-stato.pronto{background:#eaf7ee;color:#1f7a3d}
.disp-stato.attesa{background:#fdf6e3;color:#8a6d1a}
.disp-card.disp-pronto{border-color:#bfe3c9;box-shadow:0 0 0 1px #bfe3c9 inset}
.disp-card.disp-pronto:hover{border-color:#28a745}

/* archivio negozio: dispositivo senza strumenti (contatta admin) */
.disp-vuoto{text-align:center;padding:2.4rem 1.5rem;max-width:460px;margin:0 auto}
.disp-vuoto i{font-size:2.4rem;color:var(--giallo-scuro,#b89b00);margin-bottom:.8rem;display:block}
.disp-vuoto h3{margin:0 0 .5rem;font-size:1.1rem}
.disp-vuoto p{color:var(--meta);font-size:.9rem;margin:0 0 1.2rem;line-height:1.5}

/* loader procedura: barra progresso + frasi raccomandazione */
.proc-loader{max-width:520px;margin:2rem auto;text-align:center;padding:1.5rem}
.proc-loader .pl-icona{font-size:2.6rem;color:var(--accent-deep,#b89b00);margin-bottom:1rem}
.proc-loader .pl-titolo{font-weight:700;font-size:1.1rem;margin-bottom:1.2rem}
.proc-loader .pl-barra{height:8px;background:var(--surface-sunken,#eef1f4);border-radius:99px;overflow:hidden;margin-bottom:1.4rem}
.proc-loader .pl-fill{height:100%;width:8%;background:linear-gradient(90deg,var(--accent,#ffd800),var(--accent-deep,#e0a800));border-radius:99px;transition:width .4s ease}
.proc-loader .pl-frase{min-height:2.6em;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--meta);font-size:.92rem;line-height:1.4;transition:opacity .22s ease;padding:0 .5rem}
.proc-loader .pl-frase i{color:var(--accent-deep,#b89b00);font-size:1.05rem;flex:none}
@media (prefers-reduced-motion:reduce){.proc-loader .fa-spin{animation:none}.proc-loader .pl-fill,.proc-loader .pl-frase{transition:none}}

/* catalogo: riga prodotto disattivato (rosso pastello) + barcode */
tr.riga-disattiva > td{background:#fdeeee}
tr.riga-disattiva:hover > td{background:#fbe2e2}
tr.riga-disattiva td:not(:last-child){opacity:.72}
.cat-barcode{display:inline-flex;align-items:center;gap:.35rem;font-family:'Roboto Mono',monospace;font-size:.82rem;color:var(--meta,#6b7280)}
.cat-barcode i{font-size:.95rem}
@media (prefers-color-scheme:dark){tr.riga-disattiva > td{background:#3a1f22}tr.riga-disattiva:hover > td{background:#472427}}

/* scheda prodotto (drawer) con barcode grande */
.sp-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem}
.sp-cod{font:600 .78rem 'Roboto Mono',monospace;color:var(--meta,#6b7280);letter-spacing:.04em}
.sp-nome{margin:.15rem 0 .3rem;font-size:1.3rem}
.sp-cat{font-size:.85rem;color:var(--meta,#6b7280)}
.sp-barcode{background:#fff;border:1px solid var(--line,#e5e8ee);border-radius:12px;padding:1.4rem 1rem 1rem;text-align:center;margin-bottom:1.2rem}
.sp-bc-svg{width:100%;height:90px;display:block}
.sp-bc-num{font:600 1.1rem 'Roboto Mono',monospace;letter-spacing:.28em;margin-top:.6rem;color:#111}
.sp-bc-vuoto{color:var(--meta,#6b7280);font-size:.9rem;padding:1rem;display:flex;flex-direction:column;gap:.6rem;align-items:center}
.sp-bc-vuoto i{font-size:1.8rem;opacity:.5}
.sp-griglia{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1.2rem}
.sp-box{background:var(--surface-sunken,#f4f6f8);border-radius:10px;padding:.8rem 1rem}
.sp-box small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--meta,#6b7280)}
.sp-box b{display:block;font-size:1.35rem;margin:.2rem 0}
.sp-box span{font-size:.75rem;color:var(--meta,#6b7280)}
.sp-azioni{display:flex;gap:.6rem;flex-wrap:wrap;border-top:1px solid var(--line,#e5e8ee);padding-top:1.1rem}
@media (prefers-color-scheme:dark){.sp-barcode{background:#f4f6f8}.sp-bc-num,.sp-barcode g{fill:#111}}

/* catalogo inline edit: prezzi cliccabili + stato toggle */
.cat-inline{cursor:pointer;border-radius:6px;padding:.15rem .35rem;transition:background .12s}
.cat-inline:hover{background:var(--accent-soft,#fffbe6);outline:1px dashed var(--accent,#ffd800)}
.cat-inline-inp{width:80px;border:1px solid var(--accent,#ffd800);border-radius:6px;padding:.25rem .4rem;font:inherit;text-align:right}
.cat-stato{border:none;cursor:pointer;font:700 .72rem 'Roboto',sans-serif;padding:.25rem .6rem;border-radius:999px;transition:filter .12s}
.cat-stato:hover{filter:brightness(.95)}
.cat-stato.on{background:#e7f6ec;color:#1f8f45}
.cat-stato.off{background:#fdeaea;color:#c0392b}

/* barra fido negozio con allarme lampeggiante */
.fido-box{margin-top:.7rem;padding:.55rem .7rem;border-radius:9px;background:var(--surface-sunken,#f4f6f8)}
.fido-nessuno{color:var(--meta,#6b7280);font-size:.82rem;display:flex;align-items:center;gap:.4rem}
.fido-testa{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;margin-bottom:.4rem}
.fido-testa b{font-variant-numeric:tabular-nums}
.fido-perc{color:var(--meta,#6b7280)}
.fido-alert{font-weight:700;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.fido-alert.fido-rosso{color:#c0392b}.fido-alert.fido-giallo{color:#9a7412}
.fido-barra{height:7px;border-radius:99px;background:#e3e6ea;overflow:hidden}
.fido-fill{height:100%;border-radius:99px;transition:width .4s ease}
.fido-fill.fido-ok{background:#28a745}.fido-fill.fido-giallo{background:#e0a800}.fido-fill.fido-rosso{background:#dc3545}
.fido-lampeggia{animation:fidoPulse 1.3s ease-in-out infinite}
@keyframes fidoPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,53,69,0)}50%{box-shadow:0 0 0 3px rgba(220,53,69,.28)}}
@media (prefers-reduced-motion:reduce){.fido-lampeggia{animation:none;outline:2px solid #dc3545}}

/* editor fattura standalone */
.ef-ricerca{position:relative;display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;background:var(--surface)}
.ef-ricerca input{flex:1;border:none;background:none;outline:none;font:inherit;color:var(--ink)}
.ef-ac{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.1);z-index:10;max-height:240px;overflow:auto}
.ef-ac-voce{display:flex;flex-direction:column;width:100%;text-align:left;border:none;background:none;padding:.5rem .7rem;cursor:pointer;border-bottom:1px solid #f2f4f6}
.ef-ac-voce:hover{background:var(--surface-sunken,#f4f6f8)}
.ef-ac-voce small{color:var(--meta);font-size:.78rem}.ef-ac-voce small.ef-nofisc{color:#c0392b}
.ef-ac-vuoto{padding:.6rem .7rem;color:var(--meta);font-size:.86rem}
.ef-cliente-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;padding:.6rem .8rem;border-radius:8px;background:#eaf7ee;border:1px solid #bfe3c9}
.ef-cliente-card.no-fisc{background:#fdeaea;border-color:#f5c2c2}
.ef-fisc{color:var(--meta);font-size:.82rem;margin-left:.6rem}
.ef-warn{color:#c0392b;font-size:.82rem;margin-left:.6rem}
.ef-righe-testa{display:grid;grid-template-columns:1fr 70px 100px 80px 100px 36px;gap:.5rem;margin-top:1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--meta);font-weight:700;padding:0 .2rem}
.ef-riga{display:grid;grid-template-columns:1fr 70px 100px 80px 100px 36px;gap:.5rem;align-items:center;margin-top:.4rem}
.ef-riga input,.ef-riga select{border:1px solid var(--line);border-radius:6px;padding:.4rem .5rem;font:inherit;background:var(--surface);color:var(--ink)}
.ef-riga .ef-imp{font-variant-numeric:tabular-nums;text-align:right;font-size:.9rem}
.ef-totali{display:flex;flex-direction:column;gap:.3rem;margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--line);max-width:280px;margin-left:auto}
.ef-totali div{display:flex;justify-content:space-between;font-size:.9rem}
.ef-totali .ef-tot{font-size:1.1rem;font-weight:700;border-top:1px solid var(--line);padding-top:.4rem;margin-top:.2rem}
.ef-invia{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.9rem}

/* POS: badge modo cassa + controlli quantità inline */
.pos-modo-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;margin-left:.4rem}
.pos-modo-badge.modo-digitale{background:#e7f0fb;color:#1e4e8c}
.pos-modo-badge.modo-fisica{background:#eef1f4;color:#5a6472}
.pos-riga .pr-qta{display:flex;align-items:center;gap:.3rem;flex:none}
.pos-riga .pr-qta button{width:24px;height:24px;border:1px solid var(--line,#e5e8ee);background:var(--surface,#fff);border-radius:6px;font-size:1rem;line-height:1;cursor:pointer;color:var(--ink);display:grid;place-items:center;padding:0}
.pos-riga .pr-qta button:hover{background:var(--accent,#ffd800);border-color:var(--accent,#ffd800)}
.pos-riga .pr-qta span{min-width:20px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}

/* cassa: accesso operatore (scelta + PIN) */
.pos-operatore{font-size:.78rem;color:var(--meta);margin-left:.6rem}
.pin-card.op-scelta{max-width:420px}
.op-lista{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
.op-btn{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface,#fff);border-radius:12px;padding:.7rem .9rem;cursor:pointer;transition:border-color .12s,background .12s}
.op-btn:hover{border-color:var(--accent,#ffd800);background:var(--accent-soft,#fffbe6)}
.op-avatar{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;font:700 1rem 'Roboto Slab',serif;background:rgb(255 216 0 / .22);color:#8a7500}
.op-nome{display:flex;flex-direction:column;font-weight:700}
.op-nome small{font-weight:400;color:var(--meta);font-size:.78rem}
.pin-torna{background:transparent!important;border:none!important;color:var(--meta)!important}

/* POS: categorie chip + cliente in evidenza + flash card */
.pos-cat{display:flex;gap:6px;flex-wrap:wrap;margin:.4rem 0 .8rem}
.pos-cat-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.3rem .7rem;font:600 .78rem 'Roboto',sans-serif;color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s}
.pos-cat-chip:hover{border-color:var(--accent)}
.pos-cat-chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pos-cli-btn.attivo{background:#eaf7ee;border-color:#bfe3c9;color:#1f7a3d}
.pos-cli-pt{display:inline-flex;align-items:center;gap:.2rem;background:var(--accent,#ffd800);color:var(--on-accent,#1a1a1a);font-size:.68rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;margin-left:.3rem}
.rapido-card.rc-flash{animation:rcFlash .35s ease}
@keyframes rcFlash{0%{box-shadow:0 0 0 0 rgba(31,143,69,.5)}100%{box-shadow:0 0 0 6px rgba(31,143,69,0)}}

/* report/contabilità sede */
.fsr-grafico{display:flex;align-items:flex-end;gap:.5rem;height:130px}
.fsr-barra{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:.3rem}
.fsr-fill{width:70%;background:linear-gradient(180deg,var(--accent,#ffd800),var(--accent-deep,#e0a800));border-radius:5px 5px 0 0;min-height:2px;transition:height .4s}
.fsr-barra span{font-size:.68rem;color:var(--meta)}
.fsl-riga{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.fsl-riga.fsl-tot{border-bottom:none;font-size:1.15rem;font-weight:700;border-top:2px solid var(--ink);margin-top:.3rem;padding-top:.7rem}

/* POS scontrino digitale: lotteria + email */
.pos-extra{display:flex;flex-direction:column;gap:.5rem;margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--line)}
.pos-extra-riga{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink)}
.pos-extra-riga input[type=text]{flex:1;border:1px solid var(--line);border-radius:7px;padding:.4rem .55rem;font:inherit;text-transform:uppercase}

/* notifiche SdI fattura */
.fat-notif-lista{display:flex;flex-direction:column;gap:6px}
.fat-notif{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .7rem;background:var(--sfondo-2,#f7f8fa);border:1px solid var(--line);border-radius:8px;font-size:.85rem}
.fat-notif i{color:var(--accent-deep,#2563eb);margin-top:.15rem}
.fat-notif b{display:block}
.fat-notif small{color:var(--meta);font-size:.78rem}
/* tabella fatture (ricevute/scadenzario): rifinitura pro */
table.cs-tbl{border-collapse:collapse;font-size:.9rem}
table.cs-tbl thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--meta);font-weight:700;padding:.5rem .7rem;border-bottom:2px solid var(--line);text-align:left}
table.cs-tbl tbody td{padding:.6rem .7rem;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
table.cs-tbl tbody tr:hover td{background:var(--sfondo-2,#f7f8fa)}
table.cs-tbl tbody tr:last-child td{border-bottom:none}
