:root{--pri:#2b6cb0;--pri2:#1e4e8c;--bg:#f0f2f5;--card:#fff;--text:#2d3748;--muted:#718096;--bd:#e2e8f0;--ok:#1cc88a;--warn:#f6c23e;--danger:#e74a3b}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--pri);text-decoration:none}a:hover{text-decoration:underline}
.layout{display:flex;min-height:100vh}
.sidebar{width:230px;background:linear-gradient(180deg,#22314a,#2b3f5e);color:#dfe6f0;flex-shrink:0;padding:0}
.sidebar h1{font-size:1.2rem;padding:1rem;margin:0;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar h1 b{color:#7fb2e6}
.sidebar nav a{display:block;color:#c7d2e0;padding:.6rem 1rem;font-size:.92rem}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.sidebar .sec{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#7f8ea3;padding:.9rem 1rem .3rem}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:var(--card);border-bottom:1px solid var(--bd);padding:.7rem 1.2rem;display:flex;justify-content:space-between;align-items:center}
.topbar .commessa{font-weight:700;color:var(--pri)}
.content{padding:1.3rem;flex:1}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:1.1rem;margin-bottom:1.1rem}
h2{margin:.2rem 0 1rem;font-size:1.35rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.2rem}
.stat{background:var(--card);border:1px solid var(--bd);border-left:4px solid var(--pri);border-radius:10px;padding:1rem}
.stat .v{font-size:2rem;font-weight:700;color:var(--pri)}.stat .l{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--bd)}
th{background:#f8fafc;color:var(--muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.5px}
tr:hover td{background:#f7fafc}
.btn{display:inline-block;background:var(--pri);color:#fff;border:none;border-radius:7px;padding:.5rem .9rem;font-size:.85rem;cursor:pointer;font-weight:600}
.btn:hover{background:var(--pri2);text-decoration:none;color:#fff}
.btn.sec{background:#edf2f7;color:var(--text)}.btn.danger{background:var(--danger)}.btn.sm{padding:.3rem .6rem;font-size:.78rem}
.badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.72rem;font-weight:700}
.badge.ok{background:rgba(28,200,138,.15);color:#178a5f}.badge.warn{background:rgba(246,194,62,.18);color:#b7791f}.badge.gray{background:#edf2f7;color:#4a5568}
form .row{margin-bottom:.8rem}label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.25rem}
input,select,textarea{width:100%;padding:.5rem;border:1.5px solid var(--bd);border-radius:7px;font-size:.9rem;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pri)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem}
.flash{padding:.7rem 1rem;border-radius:8px;margin-bottom:1rem;font-weight:600}
.flash.ok{background:rgba(28,200,138,.15);color:#178a5f}.flash.err{background:rgba(231,74,59,.12);color:#c0392b}
.errs{background:rgba(231,74,59,.1);color:#c0392b;padding:.7rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem}
.pag{margin-top:1rem}.pag a,.pag span{padding:.3rem .6rem;border:1px solid var(--bd);border-radius:6px;margin-right:.2rem;font-size:.85rem}
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#22314a,#2b6cb0)}
.login-card{background:#fff;border-radius:14px;padding:2rem;width:340px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.login-card h1{text-align:center;color:var(--pri)}.muted{color:var(--muted);font-size:.82rem}
@media(max-width:820px){.sidebar{width:60px}.sidebar h1,.sidebar .sec,.sidebar nav a span{display:none}.grid2,.grid3{grid-template-columns:1fr}}

/* --- Brand / logo aADIgio --- */
.brand-logo{display:block;margin:0 auto .4rem;width:78%;max-width:210px;height:auto}
.sidebar .brand{background:#fff;margin:0;padding:.7rem .9rem;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}
.sidebar .brand img{width:100%;max-width:150px;height:auto;display:inline-block}
.brand-inline{height:30px;width:auto;vertical-align:middle}
@media(max-width:820px){
  .sidebar .brand{padding:.4rem .2rem}
  .sidebar .brand img{max-width:44px}
}
