/* Full Stack Easy — stile semplice, mobile-first, nessuna dipendenza esterna */
:root{--blu:#1d4ed8;--blu2:#1e40af;--verde:#16a34a;--wa:#25d366;--rosso:#dc2626;--giallo:#f59e0b;
 --grigio:#6b7280;--bordo:#e5e7eb;--sfondo:#f3f4f6;--card:#fff;--testo:#111827;--r:12px}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--sfondo);color:var(--testo);
 font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--blu);text-decoration:none}
h1{font-size:1.5rem;margin:0 0 12px}h2{font-size:1.15rem;margin:18px 0 8px}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;
 padding:10px 16px;background:var(--blu);color:#fff;padding-top:calc(10px + env(safe-area-inset-top))}
.top .brand{color:#fff;font-weight:700;font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wrap{max-width:1000px;margin:0 auto;padding:16px 16px 90px}
/* menu: in basso sul telefono */
.menu{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:var(--card);border-top:1px solid var(--bordo);
 padding-bottom:env(safe-area-inset-bottom)}
.menu a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;font-size:.72rem;color:var(--grigio)}
.menu a .ico{font-size:1.3rem;line-height:1}
.menu a.on{color:var(--blu);font-weight:700}
@media(min-width:768px){
 .menu{position:sticky;top:52px;bottom:auto;border-top:0;border-bottom:1px solid var(--bordo);justify-content:center;gap:8px}
 .menu a{flex:0 0 auto;flex-direction:row;font-size:1rem;padding:12px 18px;gap:8px}
 .menu a .ico{font-size:1.1rem}
 .wrap{padding-bottom:32px}
}
/* card, griglia */
.card{background:var(--card);border:1px solid var(--bordo);border-radius:var(--r);padding:16px;margin-bottom:14px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.grid{grid-template-columns:repeat(4,1fr)}}
.kpi{background:var(--card);border:1px solid var(--bordo);border-radius:var(--r);padding:14px;display:block;color:inherit}
.kpi b{display:block;font-size:1.5rem}.kpi small{color:var(--grigio)}
.kpi.ko b{color:var(--rosso)}.kpi.ok b{color:var(--verde)}.kpi.warn b{color:var(--giallo)}
/* liste tipo elenco (righe cliccabili) */
.lista{list-style:none;margin:0;padding:0}
.lista li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bordo);flex-wrap:wrap}
.lista li:last-child{border-bottom:0}
.lista .chi{flex:1;min-width:140px}.lista .chi small{display:block;color:var(--grigio)}
.lista .quanto{font-weight:700;white-space:nowrap}
.lista .azioni{display:flex;gap:6px;flex-wrap:wrap}
/* tabelle */
.tab{width:100%;border-collapse:collapse;font-size:.95rem}
.tab th,.tab td{padding:10px 8px;border-bottom:1px solid var(--bordo);text-align:left;vertical-align:top}
.tab th{font-size:.8rem;text-transform:uppercase;color:var(--grigio)}
.tab td.num,.tab th.num{text-align:right;white-space:nowrap}
.scroll{overflow-x:auto}
/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border-radius:10px;
 border:1px solid var(--bordo);background:var(--card);color:var(--testo);font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(.97)}
.btn-p{background:var(--blu);border-color:var(--blu);color:#fff}
.btn-ok{background:var(--verde);border-color:var(--verde);color:#fff}
.btn-wa{background:var(--wa);border-color:var(--wa);color:#fff}
.btn-ko{background:#fff;border-color:var(--rosso);color:var(--rosso)}
.btn-sm{min-height:36px;padding:6px 12px;font-size:.9rem}
.btn-block{display:flex;width:100%}
.btn-big{min-height:56px;font-size:1.1rem}
.azioni-pag{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
/* form */
label{display:block;font-weight:600;margin:12px 0 4px;font-size:.95rem}
input,select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font:inherit;background:#fff}
textarea{min-height:90px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blu);border-color:var(--blu)}
.riga{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:600px){.riga{grid-template-columns:1fr 1fr}.riga-3{grid-template-columns:1fr 1fr 1fr}}
.hint{color:var(--grigio);font-size:.85rem}
/* badge */
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}
.badge-ok{background:#dcfce7;color:#166534}.badge-warn{background:#fef3c7;color:#92400e}
.badge-ko{background:#fee2e2;color:#991b1b}.badge-grey{background:#e5e7eb;color:#374151}
.top .badge{background:rgba(255,255,255,.2);color:#fff}
.top .badge-ko{background:var(--rosso)}
/* flash */
.flash{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-weight:600}
.flash-ok{background:#dcfce7;color:#166534}.flash-ko{background:#fee2e2;color:#991b1b}.flash-warn{background:#fef3c7;color:#92400e}
/* voci preventivo */
.voci .v{display:grid;grid-template-columns:1fr 70px 110px 40px;gap:6px;margin-bottom:6px;align-items:center}
.voci .v input{min-height:42px;padding:8px}
.tot{font-size:1.3rem;font-weight:800;text-align:right;margin:8px 0}
.cerca{display:flex;gap:8px;margin-bottom:12px}.cerca input{flex:1}
.login{max-width:420px;margin:40px auto}
.login h1{text-align:center}
.centro{text-align:center}
.mt{margin-top:16px}
.stampa-solo{display:none}
@media print{.top,.menu,.no-stampa,.flash{display:none!important}.wrap{padding:0;max-width:none}
 .card{border:0;padding:0}body{background:#fff}.stampa-solo{display:block}}
/* --- aggiunte Negozio Kit --- */
.scan-box{position:fixed;inset:0;z-index:100;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.scan-box video{width:100%;max-height:80vh;object-fit:cover}
.mese-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 14px;font-size:1.1rem}
.big{font-size:2.2rem;font-weight:800;line-height:1.1}
.btn-giant{min-height:72px;font-size:1.25rem;flex-direction:column;gap:2px}
.btn-giant small{font-weight:400;font-size:.8rem;opacity:.85}
.griglia-btn{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:12px 0}
.pill-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.pill-tabs a{padding:8px 14px;border-radius:999px;border:1px solid var(--bordo);background:var(--card);color:var(--testo);font-weight:600;font-size:.9rem}
.pill-tabs a.on{background:var(--blu);border-color:var(--blu);color:#fff}
.foto-mini{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--bordo)}
.foto-grande{width:100%;max-height:60vh;object-fit:contain;border-radius:10px;background:#000}
.feed{max-width:600px;margin:0 auto}
.post{background:var(--card);border:1px solid var(--bordo);border-radius:var(--r);margin-bottom:16px;overflow:hidden}
.post img{width:100%;display:block;max-height:80vh;object-fit:cover}
.post .testo{padding:14px}.post .testo small{color:var(--grigio)}
.timbro{display:inline-block;width:34px;height:34px;border-radius:50%;border:2px solid var(--blu);margin:3px;line-height:30px;text-align:center;font-size:1.1rem}
.timbro.pieno{background:var(--blu);color:#fff}
.codice{font-family:monospace;font-size:1.6rem;letter-spacing:2px;font-weight:800;text-align:center}
.settimana{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:.8rem}
.settimana .g{background:var(--sfondo);border-radius:8px;padding:6px 4px;min-height:60px}
.settimana .g b{display:block;text-align:center}
.riga-btn{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.num-in{display:flex;gap:6px;align-items:center}.num-in input{width:90px;text-align:center}
.tot-riga{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--bordo)}
.tot-riga.forte{font-weight:800;font-size:1.15rem;border-bottom:0}
.ok-txt{color:var(--verde)}.ko-txt{color:var(--rosso)}.warn-txt{color:var(--giallo)}
.card.evid{border-color:var(--blu);border-width:2px}
@media(min-width:768px){.griglia-btn{grid-template-columns:repeat(4,1fr)}}

/* barra demo online */
.demo-bar{background:#fff7d6;color:#5b4500;border-bottom:1px solid #f1d98a;padding:8px 14px;font-size:.9rem;text-align:center}
.demo-bar a{color:#0b3d91;font-weight:700;margin-left:6px;white-space:nowrap}
