
:root{--blu:#0B2545;--giallo:#F4B400;--verde:#22B573;--rosso:#E5484D;--arancio:#F59E0B;--sf:#0A1628;--card:#112240;--card2:#16305A;--testo:#E8EEF6;--mut:#8FA3BF;--bordo:rgba(255,255,255,.08)}
*{box-sizing:border-box} html{font-size:14px}
body{margin:0;background:radial-gradient(1200px 600px at 20% -10%,#17376a 0%,var(--sf) 55%) fixed;color:var(--testo);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.4}
a{color:#FFD75E}
header{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.6rem;background:rgba(8,27,51,.75);backdrop-filter:blur(8px);border-bottom:1px solid var(--bordo);position:sticky;top:0;z-index:5}
header .logo img{height:42px;display:block}
header nav{display:flex;gap:.25rem;flex:1;flex-wrap:wrap} header nav a{color:#C9D6E6;text-decoration:none;padding:.45rem .85rem;border-radius:9px;font-weight:600} header nav a.attivo,header nav a:hover{background:rgba(255,255,255,.08);color:#fff} header nav a.attivo{background:var(--giallo);color:var(--blu)}
.strum{display:flex;gap:.6rem;align-items:center;color:var(--mut);font-size:.85rem} .strum form{margin:0}
.btn{background:var(--giallo);color:var(--blu);border:0;border-radius:10px;padding:.55rem 1rem;font-weight:800;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost{background:transparent;color:#C9D6E6;border:1px solid var(--bordo)} .btn.verde{background:var(--verde);color:#fff} .btn.piccolo{padding:.3rem .6rem;font-size:.8rem}
main{max-width:1440px;margin:0 auto;padding:1.5rem 1.6rem 4rem}
h1{font-size:1.8rem;letter-spacing:-.03em;margin:0} h2{margin:0 0 .2rem;font-size:1.05rem} .sotto{color:var(--mut);margin:.2rem 0 1.3rem}
.kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:1.5rem} @media(max-width:1000px){.kpi{grid-template-columns:repeat(3,1fr)}}
.kpi .t{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--bordo);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 10px 30px rgba(0,0,0,.25);text-decoration:none;color:inherit;display:block}
.kpi .n{font-size:2rem;font-weight:900;letter-spacing:-.04em;line-height:1} .kpi .l{color:var(--mut);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;font-weight:600}
.kpi .t.g .n{color:var(--giallo)} .kpi .t.v .n{color:var(--verde)} .kpi .t.r .n{color:var(--rosso)}
.griglia{display:grid;grid-template-columns:1.1fr 2fr;gap:1.2rem} @media(max-width:1000px){.griglia{grid-template-columns:1fr}}
.pan{background:rgba(17,34,64,.85);border:1px solid var(--bordo);border-radius:18px;padding:1.1rem 1.2rem;box-shadow:0 10px 30px rgba(0,0,0,.25);margin-bottom:1.2rem}
.h2s{color:var(--mut);font-size:.85rem;margin-bottom:1rem}
.forn{display:block;text-decoration:none;color:inherit;padding:.7rem .8rem;border-radius:12px;margin-bottom:.4rem;background:rgba(255,255,255,.03);border:1px solid transparent} .forn:hover{border-color:var(--giallo);background:rgba(244,180,0,.06)}
.forn-testa{display:flex;justify-content:space-between;font-weight:700} .forn-tot{color:var(--giallo)} .barra{height:6px;background:rgba(255,255,255,.08);border-radius:6px;margin:.45rem 0} .barra i{display:block;height:100%;background:linear-gradient(90deg,var(--giallo),#ffd75e);border-radius:6px}
.forn-meta{display:flex;justify-content:space-between;color:var(--mut);font-size:.8rem} .pill{border:1px solid var(--bordo);border-radius:999px;padding:.05rem .5rem}
.corsia-testa{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;gap:1rem} .badge{background:var(--card2);border:1px solid var(--bordo);border-radius:999px;padding:.2rem .7rem;font-size:.8rem;color:var(--mut);white-space:nowrap}
table{width:100%;border-collapse:collapse} th{text-align:left;color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:.4rem .5rem;border-bottom:1px solid var(--bordo)} td{padding:.5rem .5rem;border-bottom:1px solid var(--bordo);vertical-align:top} td.c{text-align:center;font-weight:700} td.r{text-align:right;white-space:nowrap}
tr.spuntata td{opacity:.45;text-decoration:line-through}
.mut{color:var(--mut);font-size:.78rem} .mono{font-family:ui-monospace,Menlo,monospace}
.tag{display:inline-block;border-radius:8px;padding:.15rem .5rem;font-size:.75rem;font-weight:700;white-space:nowrap} .tag.ok{background:rgba(34,181,115,.18);color:#7BE3B0} .tag.no{background:rgba(229,72,77,.18);color:#FF9A9E} .tag.ship{background:rgba(143,163,191,.18);color:#C9D6E6} .tag.man{background:rgba(245,158,11,.2);color:#FFD08A}
.chk input{display:none} .chk i{display:inline-block;width:20px;height:20px;border:2px solid #5B7BA8;border-radius:6px;cursor:pointer;vertical-align:middle} .chk input:checked+i{background:var(--verde);border-color:var(--verde)}
.azioni{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap;align-items:center} .azioni input[type=text]{background:rgba(255,255,255,.06);border:1px solid var(--bordo);color:var(--testo);border-radius:8px;padding:.45rem .6rem;font:inherit;min-width:220px}
input.campo,select.campo{background:rgba(255,255,255,.06);border:1px solid var(--bordo);color:var(--testo);border-radius:8px;padding:.45rem .6rem;font:inherit}
.img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:8px}
.login{max-width:380px;margin:12vh auto;padding:2rem;background:rgba(17,34,64,.9);border:1px solid var(--bordo);border-radius:18px} .login img{height:52px;margin-bottom:1rem} .login label{display:block;margin:.6rem 0 .2rem;color:var(--mut);font-size:.85rem} .login input{width:100%}
.barra-sticky{position:sticky;bottom:0;background:rgba(8,27,51,.92);backdrop-filter:blur(8px);border-top:1px solid var(--bordo);padding:.7rem 1.6rem;display:flex;gap:.8rem;align-items:center;z-index:4}
.err{background:rgba(229,72,77,.2);color:#FF9A9E;padding:.6rem;border-radius:8px}
