:root{--navy:#173a58;--navy-deep:#102c44;--green:#16806d;--teal:#22a08b;--text:#25384a;--sub:#6d7d8d;--bg:#f4f7fa;--line:#dce5ed;--card:#fff;--danger:#ba3946;--shadow:0 7px 24px rgba(20,49,74,.04)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}a{color:#08736f;text-decoration:none}a:hover{text-decoration:underline}.site-header{background:var(--navy);color:white;border-bottom:5px solid #29a58d}.head-wrap{max-width:1460px;margin:auto;min-height:88px;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:18px;align-items:center}.logo-mark{font-size:19px;letter-spacing:-.7px;font-weight:700;color:#fff;white-space:nowrap;border-right:1px solid rgba(255,255,255,.3);padding-right:17px}.logo-mark b{color:#82d9b8}.brand h1{font-size:21px;line-height:1.2;margin:0;font-weight:680}.brand small{font-size:12px;color:#bcd7e1}.user-badge{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:end}.small-badge{border:1px solid #7292a3;padding:4px 8px;border-radius:7px;font-size:12px;color:#dceaf2}.user-badge form{margin:0}.page-wrap{max-width:1460px;margin:0 auto;padding:0 28px 40px}.main-nav{display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.main-nav a{padding:15px 16px 13px;color:#52677a;border-bottom:3px solid transparent;font-weight:600}.main-nav a.active{color:var(--navy);border-color:var(--teal)}.main-nav a:hover{background:#eaf1f5;text-decoration:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:22px 0 18px}.page-head h2{font-size:27px;color:var(--navy);margin:0;letter-spacing:-.5px}.overline{color:var(--green);text-transform:uppercase;letter-spacing:1.3px;font-size:10px;font-weight:800}.btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:10px 16px;border:1px solid transparent;border-radius:8px;cursor:pointer;text-decoration:none;font-weight:650;white-space:nowrap}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#116b5c;text-decoration:none}.btn.light{background:#fff;color:var(--navy);border-color:#ccd7e0}.btn.light:hover{background:#eff4f7;text-decoration:none}.btn.sm{padding:6px 11px;font-size:12px}.btn.full{width:100%}.panel{padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);margin-bottom:18px}.panel h3{margin:0 0 14px;font-size:17px;color:var(--navy)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 17px}.panel-title h3{margin:0}.panel-title a{font-size:13px;font-weight:650}.muted{color:var(--sub)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:15px 0 21px}.kpi{background:#fff;border:1px solid var(--line);padding:20px;border-radius:13px;border-top:4px solid var(--teal);box-shadow:var(--shadow)}.kpi>span{color:var(--sub);font-size:12px;font-weight:700;display:block}.kpi>strong{display:block;font-size:27px;letter-spacing:-.7px;color:var(--navy);margin:6px 0}.kpi small{font-size:12px;color:#7c8d9a}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric-row{border-bottom:1px solid #e8eef2;display:flex;align-items:center;justify-content:space-between;padding:11px 0;gap:12px}.metric-row:last-child{border-bottom:0}.metric-row>span{font-weight:650}.metric-row small{display:block;color:var(--sub);font-size:12px;font-weight:400}.metric-row strong{font-size:14px;color:var(--navy)}.mini-row{display:flex;justify-content:space-between;gap:13px;padding:12px 0;border-bottom:1px solid #e9eff3}.mini-row:last-child{border-bottom:0}.mini-row b{display:block}.mini-row small{display:block;color:var(--sub)}.mini-row time{white-space:nowrap;color:var(--green);font-size:12px;font-weight:650}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 18px}.form-grid label,.login-card label{font-weight:650;font-size:12px;display:block;color:#55697c}.form-grid label.wide,.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid textarea,.form-grid select,.search input,.login-card input{display:block;margin-top:6px;width:100%;background:#fff;border:1px solid #cad7e1;color:var(--text);padding:10px 11px;border-radius:8px;min-height:41px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.search input:focus,.login-card input:focus{outline:2px solid #9fd9cf;outline-offset:0}.form-grid textarea{min-height:72px;resize:vertical}.form-actions{display:flex;align-items:center;gap:10px}.editor{border-top:3px solid #279f8a}.search{display:flex;align-items:center;gap:8px}.search input{margin:0;min-width:220px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}thead th{color:#577083;font-size:12px;background:#f1f5f8;padding:11px 12px;font-weight:700;border-bottom:1px solid #dde6ec}tbody td{padding:11px 12px;border-bottom:1px solid #e8edf1;vertical-align:middle}tbody tr:hover{background:#f8fafc}tbody tr:last-child td{border-bottom:0}td small{display:block;color:var(--sub);font-size:12px}td b{font-weight:650}.pill{display:inline-block;border-radius:999px;background:#edf2f7;color:#42647d;padding:3px 9px;font-size:12px;white-space:nowrap}.pill.success{background:#dff5e9;color:#11683a}.pill.warning{background:#fff1d9;color:#8e5c0d}.row-actions{min-width:140px;white-space:nowrap;font-size:12px}.row-actions a{font-weight:700}.row-actions form{display:inline;margin-left:10px}.link-danger{border:0;background:transparent;color:var(--danger);padding:0;cursor:pointer;font-weight:600}.kanban{display:flex;gap:10px;overflow-x:auto;padding:0 0 12px}.kanban-column{flex:0 0 210px;background:#f2f6f8;border-radius:10px;padding:11px;min-height:130px;border:1px solid #e0e9ef}.kanban-title{font-size:12px;font-weight:750;color:var(--navy);display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.kanban-title span{background:#dce8ee;padding:3px 7px;border-radius:6px}.kanban-item{background:#fff;border:1px solid #e1eaf1;border-radius:8px;padding:11px;margin-bottom:9px;box-shadow:0 3px 8px rgba(10,40,60,.035)}.kanban-item>small,.kanban-item>strong,.kanban-item>b{display:block}.kanban-item>small{color:var(--sub);font-size:11px}.kanban-item>strong{font-size:13px;margin:4px 0 6px}.kanban-item>b{color:var(--navy);font-size:14px}.subrow{display:flex;justify-content:space-between;margin-top:9px;border-top:1px solid #ecf0f4;padding-top:8px;font-size:12px}.access-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.access-form select{padding:8px;border:1px solid var(--line);border-radius:7px;min-width:145px}.access-enabled{white-space:nowrap;font-weight:600}.access-enabled input{accent-color:var(--green)}.alert{padding:12px 15px;border-radius:8px;margin:13px 0}.alert.ok{background:#e5f5ec;color:#12683e;border:1px solid #c1e6d1}.alert.bad{background:#fff0ef;color:#9f333c;border:1px solid #f0c9cc}.footnote{font-size:12px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#173a58 0%,#286a73 100%)}.login-card{background:white;width:100%;max-width:420px;border-radius:17px;padding:34px 35px;box-shadow:0 18px 65px rgba(6,33,49,.25)}.login-card .logo-mark{color:var(--navy);display:inline-block;border:0;padding:0;font-size:23px}.login-card .logo-mark b{color:var(--green)}.login-card h1{font-size:25px;color:var(--navy);margin:15px 0 5px}.login-card p{font-size:13px;margin:0 0 24px}.login-card label{margin-bottom:15px}.login-card button{margin-top:8px}footer{max-width:1460px;margin:auto;padding:12px 28px 25px;text-align:center;color:#8393a1;font-size:12px}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.head-wrap{padding:14px 17px;align-items:flex-start;flex-direction:column;gap:12px}.brand h1{font-size:18px}.brand small{font-size:11px}.user-badge{justify-content:start;font-size:12px}.page-wrap{padding:0 12px 25px}.main-nav a{padding:13px 11px}.page-head{flex-direction:column;align-items:stretch}.page-head h2{font-size:23px}.search{width:100%}.search input{min-width:0;flex:1}.panel{padding:17px 14px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:13px}.kpi>strong{font-size:18px}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid label.wide,.form-grid .wide{grid-column:auto}.access-form{gap:8px}.table-wrap{margin:0 -8px}.login-card{padding:26px 22px}.brand{gap:10px}.logo-mark{font-size:16px}}

/* V2 – filtri e scheda commerciale */
.company-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.company-summary>div{background:#fff;padding:13px 17px;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}
.company-summary span{display:block;color:var(--sub);font-size:12px;font-weight:650}
.company-summary b{display:block;color:var(--navy);font-size:22px;line-height:1.5}
.filter-panel{padding:17px 22px}
.company-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 15px;align-items:end}
.company-filter-grid label{display:block;color:#55697c;font-size:12px;font-weight:650}
.company-filter-grid input,.company-filter-grid select{display:block;width:100%;margin-top:5px;border:1px solid #cad7e1;border-radius:8px;background:#fff;min-height:41px;padding:10px 11px;color:var(--text)}
.company-filter-grid .btn{min-height:41px}
.form-section-title{padding:15px 0 2px;border-bottom:1px solid var(--line);margin-top:3px}
.form-section-title h4{margin:0;color:var(--navy);font-size:15px}
.form-section-title p{margin:3px 0 9px;color:var(--sub);font-size:12px}
.form-grid label.span-two{grid-column:span 2}
.form-grid label small{display:block;font-size:11px;color:var(--sub);margin-top:4px;font-weight:400}
.late{color:#bc3e4a}
.empty-results{text-align:center;padding:30px;color:var(--sub)}
@media(max-width:1100px){.company-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.company-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label.span-two{grid-column:span 2}}
@media(max-width:720px){.company-summary{gap:8px}.company-summary>div{padding:12px}.company-summary b{font-size:19px}.company-filter-grid{grid-template-columns:1fr}.form-grid label.span-two{grid-column:auto}.filter-panel{padding:16px 14px}}

.company-detail{border-top:3px solid var(--teal)}.company-detail .panel-title{align-items:center}.company-detail h3{margin:5px 0 0;font-size:23px}.detail-links{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0}.detail-grid>div{background:#f6f9fb;padding:13px;border-radius:9px}.detail-grid small{display:block;color:var(--sub);font-size:11px;margin-bottom:4px}.detail-grid b{display:block;color:var(--navy);font-size:13px}.detail-grid span{display:block;font-size:12px;color:var(--sub);margin-top:4px}.source-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 2px;color:#475d6a}.source-notes summary{font-weight:650;cursor:pointer}.source-notes p{white-space:normal;overflow-wrap:anywhere}.detail-relations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:17px}.detail-relations h4{margin:0 0 9px;color:var(--navy)}.related-row{padding:9px 0;border-bottom:1px solid var(--line)}.related-row b{display:block;font-size:12px}.related-row small{display:block;color:var(--sub);font-size:11px}
@media(max-width:1100px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-relations{grid-template-columns:1fr}}
@media(max-width:720px){.detail-grid{grid-template-columns:1fr}.company-detail .panel-title{align-items:flex-start;flex-direction:column}}
