:root{--rosso:#D22630;--rosso-scuro:#a81e26;--nero:#101010;--grigio:#f4f3f0;--linea:#e4e2dc;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:0;background:var(--grigio);color:var(--nero);-webkit-font-smoothing:antialiased}
header{background:var(--nero);color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;box-shadow:0 2px 14px rgba(0,0,0,.12)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.logo-mark{height:34px;width:auto;display:block;flex-shrink:0}
.logo-txt{font-size:14.5px;letter-spacing:.01em;text-transform:uppercase;line-height:1;font-weight:700}
.logo-txt small{display:block;font-family:ui-monospace,'SF Mono',monospace;font-size:8px;letter-spacing:.14em;color:rgba(255,255,255,.45);font-weight:600;margin-top:4px;text-transform:none}
header nav{display:flex;align-items:center}
header nav a{color:rgba(255,255,255,.68);text-decoration:none;margin-left:20px;font-size:13.5px;font-weight:500}
header nav a.attivo{color:#fff;border-bottom:2px solid var(--rosso);padding-bottom:3px}
header nav a:hover{color:#fff}
header form{margin-left:20px}
header .logout{background:none;border:none;color:rgba(255,255,255,.5);font-size:12.5px;cursor:pointer;font-family:inherit}
header .logout:hover{color:#fff}

main{max-width:980px;margin:0 auto;padding:28px 20px 40px}
.eyebrow{display:inline-block;font-family:ui-monospace,'SF Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--rosso);font-weight:700;padding:6px 13px;border-radius:6px;margin-bottom:14px}
h1{font-size:22px;margin:0 0 20px;letter-spacing:-.01em}

/* dashboard */
.stat-riga{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.stat{background:#fff;border-radius:var(--r);padding:18px 14px;border:1px solid var(--linea);text-align:center}
.stat b{display:block;font-size:26px;color:var(--rosso);line-height:1}
.stat span{font-size:10.5px;color:#888;text-transform:uppercase;letter-spacing:.04em;display:block;margin-top:6px}
.sezione-tit{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;margin:28px 0 12px}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}

/* card lista (lead / ordini) */
.lista-card{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:16px 18px;margin-bottom:12px;box-shadow:0 4px 14px rgba(16,16,16,.04)}
.lista-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}
.lista-card h3{font-size:15.5px;margin:0;line-height:1.3}
.lista-card .data{font-size:11px;color:#9a9a95;font-family:ui-monospace,monospace;white-space:nowrap}
.lista-card .righe{font-size:13.5px;color:#444;line-height:1.65}
.lista-card .righe b{color:#777;font-weight:600}
.lista-card .azioni{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap;align-items:center}
.azione{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:9px 13px;border-radius:8px;text-decoration:none;border:1px solid var(--linea);color:var(--nero);cursor:pointer;background:#fff;font-family:inherit}
.azione svg{width:15px;height:15px}
.azione.chiama{background:#e9f7ea;color:#1e7a2e;border-color:transparent}
.azione.whatsapp{background:#e7f9ef;color:#1a9c52;border-color:transparent}
.azione.ordine{background:var(--rosso);color:#fff;border-color:transparent}
.azione.elimina{background:#f6eeee;color:#a52424;border-color:transparent;margin-left:auto}
.filtri{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.filtro-pill{font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:99px;border:1px solid var(--linea);text-decoration:none;color:#666;background:#fff}
.filtro-pill.attivo{background:var(--nero);color:#fff;border-color:var(--nero)}

.stato-sel{display:inline-block;padding:7px 12px;border-radius:99px;font-size:12.5px;font-weight:700;border:none;appearance:none;-webkit-appearance:none;background-repeat:no-repeat;background-position:right 8px center;padding-right:26px}
.stato-nuovo{background-color:#e8f0fe;color:#1a56c4}
.stato-da_richiamare{background-color:#fff4e0;color:#a35b00}
.stato-interessato{background-color:#e9f7ea;color:#1e7a2e}
.stato-chiuso{background-color:#e6f7f2;color:#0f6b52}
.stato-perso{background-color:#f3e6e6;color:#a52424}

table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 8px 26px rgba(16,16,16,.07);border:1px solid var(--linea)}
th,td{padding:14px 16px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--linea)}
th{background:#fafaf8;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#8a8a86;font-weight:700}
tr:last-child td{border-bottom:none}
tbody tr:hover{background:#fbfbfa}

select,input,textarea{font-family:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--linea);border-radius:8px;width:100%;transition:border-color .15s;background:#fff}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--rosso)}
.btn{display:inline-block;background:var(--rosso);color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;width:100%;text-align:center}
.btn:hover{background:var(--rosso-scuro)}
.btn-secondario{background:#fff;color:var(--nero);border:1px solid var(--linea)}
.campo{margin-bottom:16px}
.campo label{display:block;font-size:12px;font-weight:700;margin-bottom:7px;color:#666;text-transform:uppercase;letter-spacing:.04em}
.griglia2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(16,16,16,.07);border:1px solid var(--linea)}
.card-tit{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rosso);margin:24px 0 14px;padding-top:18px;border-top:1px solid var(--linea)}
.card-tit:first-child{margin-top:0;padding-top:0;border-top:none}
.vuoto{color:#999;font-style:italic;padding:36px 20px;text-align:center;background:#fff;border-radius:var(--r);border:1px dashed var(--linea)}
.pill-link{font-size:12.5px;color:var(--rosso);text-decoration:none;font-weight:700}

/* pagina login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-box{width:100%;max-width:340px;text-align:center}
.login-box .brand{justify-content:center;color:var(--nero);margin-bottom:28px}
.login-box .logo-mark{height:54px}
.errore{background:#f6eeee;color:#a52424;font-size:13px;font-weight:600;padding:11px 14px;border-radius:8px;margin-bottom:16px}

/* barra di navigazione in basso, solo mobile */
.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--linea);z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 22px rgba(0,0,0,.07)}
.bottom-nav-inner{display:flex;justify-content:space-around;align-items:flex-end}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#9a9a95;text-decoration:none;font-size:9.5px;font-weight:700;padding:6px 6px}
.bottom-nav-inner{gap:2px}
.bottom-nav a.attivo{color:var(--rosso)}
.bottom-nav svg{width:21px;height:21px}
.bottom-nav .fab{background:var(--rosso);color:#fff;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-top:-26px;box-shadow:0 8px 18px rgba(210,38,48,.4)}
.bottom-nav .fab svg{width:22px;height:22px}

@media(max-width:720px){
  header nav a:not(.logout-link){display:none}
  .bottom-nav{display:block}
  body{padding-bottom:84px}
  main{padding:18px 14px 24px}
  h1{font-size:19px}
  .griglia2{grid-template-columns:1fr}
  .stat-riga{grid-template-columns:repeat(2,1fr)}
  table{display:none}
  .solo-desktop{display:none}
}
@media(min-width:721px){
  .solo-mobile{display:none}
}
