:root{--blu:#10304a;--blu2:#1d4d72;--oro:#d9a441;--sf:#f4f6f8;--card:#fff;--testo:#1c2430;--grigio:#6b7785;--linea:#e1e6eb;
 --ok:#1f8a4c;--warn:#c77d12;--ko:#b3261e;--info:#2b6cb0}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--sf);color:var(--testo);font-size:15px}
a{color:var(--blu2)}h1{font-size:22px;margin:0 0 14px}h2{font-size:16px;margin:0 0 10px;color:var(--blu)}h3{font-size:14px;margin:12px 0 6px}
.layout{display:flex;min-height:100vh}
nav.lato{width:220px;background:var(--blu);color:#fff;padding:18px 0;flex-shrink:0}
nav.lato .marchio{font-weight:800;letter-spacing:.12em;padding:0 20px 16px;font-size:17px}
nav.lato .marchio span{color:var(--oro)}
nav.lato a{display:block;color:#d8e2ec;text-decoration:none;padding:9px 20px;font-size:14px}
nav.lato a:hover,nav.lato a.att{background:var(--blu2);color:#fff}
nav.lato .conta{float:right;background:var(--oro);color:#222;border-radius:10px;padding:0 7px;font-size:12px;font-weight:700}
main{flex:1;padding:22px 28px;max-width:1300px}
.griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--linea);border-radius:10px;padding:16px;margin-bottom:16px}
.card.largo{grid-column:1/-1}
.msg{padding:10px 14px;border-radius:8px;margin-bottom:14px;background:#e6f4ea;color:#1e5631;border:1px solid #bfe3c9}
.msg.ko{background:#fdecea;color:#7a1c16;border-color:#f3c1bd}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--linea);vertical-align:top}
th{color:var(--grigio);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tr:hover td{background:#fafbfc}
.stato{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;background:#e9edf1;color:#445}
.stato.bozza{background:#eef0f3}.stato.in_approvazione,.stato.in_attesa{background:#fff3d6;color:#7a4c00}
.stato.approvato,.stato.schedulato{background:#e0ecff;color:#1d4d9a}.stato.pubblicato,.stato.pubblicata,.stato.attiva,.stato.eseguita,.stato.ok{background:#dff3e6;color:#1a5c35}
.stato.fermato,.stato.ferma,.stato.rifiutato,.stato.rifiutata,.stato.scaduta{background:#eee;color:#666}
.stato.errore,.stato.fallita{background:#fbe1df;color:#8a1d16}.stato.in_pubblicazione{background:#e8e0ff;color:#4a2b9a}
.canale{font-size:12px;color:var(--grigio)}
button,.btn{background:var(--blu2);color:#fff;border:0;border-radius:7px;padding:7px 13px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-block}
button.ok,.btn.ok{background:var(--ok)}button.ko,.btn.ko{background:var(--ko)}button.sec,.btn.sec{background:#e5e9ee;color:#223}
button.small,.btn.small{padding:4px 9px;font-size:12px}
form.inline{display:inline}
input[type=text],input[type=password],input[type=number],input[type=datetime-local],select,textarea{width:100%;padding:8px 10px;border:1px solid #c9d1da;border-radius:7px;font:inherit;background:#fff}
textarea{min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
textarea.grande{min-height:520px}
label{display:block;font-size:12px;color:var(--grigio);margin:10px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.riga{display:flex;gap:12px}.riga>*{flex:1}
.numeri{display:flex;flex-wrap:wrap;gap:12px}.numero{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:12px 16px;min-width:130px}
.numero b{display:block;font-size:22px;color:var(--blu)}.numero span{font-size:12px;color:var(--grigio)}
.pre{white-space:pre-wrap;font-family:inherit;line-height:1.5;background:#fafbfc;border:1px solid var(--linea);border-radius:8px;padding:12px}
.muto{color:var(--grigio);font-size:13px}
.cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.cal .g{background:#fff;border:1px solid var(--linea);border-radius:8px;padding:8px;min-height:90px;font-size:13px}
.cal .g.oggi{border-color:var(--oro);box-shadow:0 0 0 2px #f4e2b8}
.cal .g h4{margin:0 0 6px;font-size:12px;color:var(--grigio)}
.cal .v{margin:3px 0;padding:4px 6px;border-radius:6px;background:#eef2f6}
.chat{display:flex;flex-direction:column;gap:10px;max-width:900px}
.b{padding:10px 14px;border-radius:12px;white-space:pre-wrap;line-height:1.45}
.b.io{background:#e0ecff;align-self:flex-end;max-width:80%}.b.lui{background:#fff;border:1px solid var(--linea);max-width:95%}
.login{max-width:360px;margin:12vh auto;background:#fff;padding:28px;border-radius:12px;border:1px solid var(--linea)}
.pubblico{max-width:760px;margin:0 auto;padding:40px 20px;font-size:17px;line-height:1.6}
.pubblico .occhiello{color:var(--oro);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.pubblico h1{font-size:38px;line-height:1.15;margin:8px 0 12px;color:var(--blu)}
.pubblico .sotto{font-size:20px;color:#445}
.pubblico ul.punti{padding-left:0;list-style:none}.pubblico ul.punti li{padding:6px 0 6px 30px;position:relative}
.pubblico ul.punti li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.pubblico .cta{display:block;text-align:center;background:var(--oro);color:#1c1c1c;font-weight:800;font-size:20px;padding:16px;border-radius:12px;text-decoration:none;margin:24px 0 8px}
.pubblico .prezzo{text-align:center;font-size:15px;color:#555}.pubblico .garanzia{background:#f4f7fa;border-left:4px solid var(--blu);padding:12px 16px;margin:20px 0}
.pubblico .prova{font-size:14px;color:#556;border-top:1px solid var(--linea);padding-top:12px}
.pubblico details{margin:8px 0}.pubblico summary{font-weight:600;cursor:pointer}
.pubblico .piede{margin-top:40px;font-size:13px;color:#888;text-align:center}
.anteprima{background:#fff3d6;color:#7a4c00;padding:8px;text-align:center;font-size:13px}
@media(max-width:800px){.layout{flex-direction:column}nav.lato{width:100%;display:flex;flex-wrap:wrap;padding:8px}nav.lato .marchio{width:100%}nav.lato a{padding:6px 10px}main{padding:14px}}
.pubblico .testata{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--linea);margin-bottom:22px;font-size:13px;color:#556}
.pubblico .testata img{width:64px}
.pubblico .hero{margin:18px 0 6px}.pubblico .hero img{width:100%;border-radius:14px;display:block;box-shadow:0 8px 30px rgba(16,48,74,.18)}
.pubblico .autore{display:flex;gap:16px;align-items:center;background:#f4f7fa;border-radius:12px;padding:16px;margin-top:28px;font-size:14px;color:#334}
.pubblico .autore img{width:64px;flex-shrink:0;background:#fff;border-radius:8px;padding:4px}
