:root{--dark:#1F3864;--acc:#2E75B6;--light:#DEEAF6;--soft:#F2F6FC;--ok:#E2EFDA;--warn:#FFF2CC;--bad:#FCE4D6;}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#eef1f6;color:#243;}
.wrap{max-width:760px;margin:0 auto;padding:24px 16px 48px;}
.hero{background:linear-gradient(135deg,var(--dark),var(--acc));color:#fff;border-radius:16px;padding:28px;margin-bottom:20px;}
.hero.small{padding:22px;}
.logo-slot{font-size:12px;opacity:.7;border:1px dashed rgba(255,255,255,.5);display:inline-block;padding:4px 10px;border-radius:8px;margin-bottom:12px;}
.hero h1{margin:0;font-size:28px;}
.hero h1 span{font-weight:400;opacity:.85;font-size:18px;display:block;}
.tag{margin:.5em 0 0;opacity:.92;}
.card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 2px 12px rgba(20,40,80,.07);margin-bottom:18px;}
.card.error{border-left:5px solid #c0392b;}
label{display:block;font-weight:600;font-size:14px;margin:14px 0 6px;color:var(--dark);}
input[type=text],select,input[type=file]{width:100%;padding:11px 12px;border:1px solid #cfd8e6;border-radius:10px;font-size:15px;background:#fbfdff;font-weight:400;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.drop small{display:block;font-weight:400;color:#789;margin-top:6px;}
.dropzone{border:2px dashed #b9c7dd;border-radius:12px;padding:22px;text-align:center;background:#fbfdff;cursor:pointer;color:#566;font-weight:400;transition:.15s;}
.dropzone:hover{border-color:var(--acc);background:#f4f9ff;}
.dropzone.over{border-color:var(--acc);background:var(--light);}
.dropzone strong{color:var(--dark);}
.dropzone .link{cursor:pointer;}
.dropzone small{display:block;margin-top:8px;color:#8a98ad;}
.filelist{list-style:none;margin:12px 0 0;padding:0;}
.filelist li{display:flex;justify-content:space-between;align-items:center;background:var(--soft);border:1px solid #e3ebf6;border-radius:10px;padding:8px 12px;margin-top:8px;font-size:14px;font-weight:400;}
.filelist li em{color:#8a98ad;font-style:normal;font-size:12px;}
.filelist .rm{width:auto;margin:0;background:transparent;color:#c0392b;font-size:20px;line-height:1;padding:0 6px;border-radius:8px;}
.filelist .rm:hover{background:var(--bad);}
.allerta-box{border:1px solid #e3ebf6;background:var(--soft);border-radius:12px;padding:14px 16px;margin-top:14px;}
.allerta-box .hint{font-size:13px;color:#667;font-weight:400;margin:.2em 0 .6em;}
.allerta-box details.bilancio{margin-top:10px;}
.allerta-box details.bilancio summary{cursor:pointer;font-weight:600;color:var(--dark);font-size:14px;padding:6px 0;}
.allerta-box details.bilancio[open] summary{margin-bottom:6px;}
.docs-help{margin-top:12px;background:var(--light);border:1px solid #cfe0f3;border-radius:12px;padding:14px 16px;}
.docs-help:empty{display:none;}
.docs-title{font-weight:700;color:var(--dark);font-size:14px;margin-bottom:8px;}
.docs-need{margin:0;padding-left:20px;font-size:14px;color:#334;font-weight:400;}
.docs-need li{margin:4px 0;}
.docs-opt-title{font-weight:600;color:var(--acc);font-size:13px;margin:10px 0 4px;}
.docs-opt{margin:0;padding-left:20px;font-size:13px;color:#566;font-weight:400;}
.docs-opt li{margin:3px 0;}
button{margin-top:22px;background:var(--acc);color:#fff;border:0;padding:14px 22px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;width:100%;}
button:hover{background:var(--dark);}
.foot{text-align:center;color:#8a98ad;font-size:13px;margin-top:8px;}
.topbar{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:10px;opacity:.95;}
.link-light{color:#fff;text-decoration:underline;font-weight:600;}
.sec{margin:0 0 10px;color:var(--dark);font-size:16px;}
.muted{color:#8a98ad;font-size:14px;}
.btn-del{width:auto;margin:0;background:#fff;color:#c0392b;border:1px solid #e3b6ae;padding:5px 12px;border-radius:8px;font-size:13px;font-weight:600;}
.btn-del:hover{background:#c0392b;color:#fff;}
.showpw{display:flex;align-items:center;gap:8px;font-weight:400;font-size:13px;color:#566;margin:6px 0 0;}
.showpw input{width:auto;margin:0;}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;}
.kpi{border-radius:14px;padding:16px;text-align:center;background:#fff;box-shadow:0 2px 10px rgba(20,40,80,.06);}
.kpi.ok{background:var(--ok);}.kpi.warn{background:var(--warn);}.kpi.bad{background:var(--bad);}
.kpi-val{font-size:20px;font-weight:800;color:var(--dark);}
.kpi-lab{font-size:12px;color:#566;margin-top:4px;}
.tbl{width:100%;border-collapse:collapse;margin-top:8px;}
.tbl th{background:var(--acc);color:#fff;text-align:left;padding:9px 12px;font-size:14px;}
.tbl td{padding:9px 12px;border-bottom:1px solid #eef;font-size:14px;}
.tbl tr:nth-child(even) td{background:var(--soft);}
.downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.btn{display:inline-block;background:var(--acc);color:#fff;text-decoration:none;padding:12px 20px;border-radius:12px;font-weight:700;}
.btn:hover{background:var(--dark);}
.link{color:var(--acc);text-decoration:none;font-weight:600;}
@media(max-width:520px){.grid2{grid-template-columns:1fr;}}
