:root{
  --midnight:#142033;--petrol:#1F5A5D;--copper:#B97850;--mist:#DCE4E1;--ivory:#F4F0E7;--graphite:#4C5966;--white:#fff;
  --bg:#f4f6f5;--line:#dfe6e3;--text:#142033;--muted:#6e7a83;--green:#2e765b;--red:#a54f4f;--amber:#a6762b;
  font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text)} button,input,select{font:inherit} button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:242px 1fr}.sidebar{background:var(--midnight);color:#fff;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 26px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--petrol);font-weight:800;font-size:20px}.brand strong{display:block;letter-spacing:.11em;font-size:14px}.brand span{font-size:12px;color:#adc1c1}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#aeb9c3;padding:12px 14px;border-radius:10px;text-align:left;display:flex;gap:12px;align-items:center}.nav-item:hover,.nav-item.active{background:#1b2c44;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:9px}.security-note{background:#1a2b3f;padding:13px;border-radius:11px;display:grid;gap:4px}.security-note strong{font-size:12px}.security-note span{font-size:11px;color:#9db0ba}
main{min-width:0;padding:0 36px 50px}.topbar{padding:27px 0 21px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--petrol);margin:0 0 5px}.topbar h1,.section-intro h2{margin:0;font-size:28px}.top-actions{display:flex;gap:9px;align-items:center}.top-actions select,.benchmark-controls select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 12px;color:var(--text)}
.primary{border:0;border-radius:9px;padding:10px 15px;background:var(--petrol);color:#fff;font-weight:700;box-shadow:0 5px 14px rgba(31,90,93,.13)}.primary:hover{filter:brightness(.96)}.ghost{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 13px;color:var(--text)}.sidebar .ghost{background:transparent;color:#d7e2e5;border-color:#31425a}.full{width:100%}.text-btn,.icon-btn{border:0;background:transparent;color:var(--petrol);font-weight:700}.icon-btn{font-size:25px;color:var(--text)}
.view{display:none}.view.active{display:block}.hero-card{background:linear-gradient(115deg,var(--midnight),#203652);color:#fff;border-radius:19px;padding:27px 30px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:0 12px 30px rgba(20,32,51,.12)}.hero-card h2{font-size:29px;margin:10px 0 8px;max-width:650px}.hero-card p{max-width:730px;color:#c5d1d6;margin:0;line-height:1.6}.pill{font-size:11px;background:rgba(255,255,255,.1);padding:6px 9px;border-radius:99px}.hero-score{border-left:1px solid rgba(255,255,255,.16);padding-left:30px;min-width:170px;display:grid;gap:3px}.hero-score span,.hero-score small{color:#b9c7cd;font-size:11px}.hero-score strong{font-size:30px}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:15px 0}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}.kpi-card .label{font-size:11px;color:var(--muted);font-weight:700}.kpi-card .value{font-size:23px;margin:8px 0 5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delta{font-size:11px;font-weight:700}.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 2px 10px rgba(20,32,51,.03)}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:15px}.panel h3{margin:1px 0;font-size:16px}.section-label{font-size:9px;color:var(--muted);font-weight:800;letter-spacing:.15em}.badge{font-size:10px;padding:5px 8px;border-radius:99px;background:#eef2f1}.badge.good{background:#e6f2ec;color:var(--green)}.badge.warn{background:#f5eee3;color:var(--amber)}.chart-wrap{height:260px}.chart-wrap canvas{width:100%;height:100%}.executive-summary{line-height:1.65;font-size:14px}.empty-state{color:var(--muted)}.changes-list,.alerts-list{display:grid;gap:9px}.change-item,.alert-item{padding:12px;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.change-item strong,.alert-item strong{font-size:13px}.change-item span,.alert-item span{font-size:11px;color:var(--muted)}.alert-item{display:block;border-left:3px solid var(--amber)}
.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:4px 0 19px}.section-intro p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:13px}.table-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#f8faf9;text-align:left;color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}th,td{padding:13px 14px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:last-child td{border-bottom:0}.quality-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--green);margin-right:6px}.mini-btn{border:1px solid var(--line);background:#fff;padding:5px 8px;border-radius:7px;font-size:11px}.danger{color:var(--red)}.long-copy{line-height:1.7;font-size:14px}.long-copy p{margin:0 0 12px}.benchmark-controls{display:flex;gap:22px;align-items:center;margin-bottom:14px;color:var(--muted);font-size:12px}.benchmark-controls label{display:flex;align-items:center;gap:8px}
.ask-grid{display:grid;grid-template-columns:1fr 330px;gap:14px}.chat-panel{padding:0;overflow:hidden}.chat{height:470px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:#fbfcfc}.bubble{max-width:82%;padding:12px 14px;border-radius:13px;line-height:1.55;font-size:13px}.bubble.user{align-self:flex-end;background:var(--midnight);color:#fff;border-bottom-right-radius:4px}.bubble.ai{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.ask-form{display:flex;gap:8px;border-top:1px solid var(--line);padding:12px;background:#fff}.ask-form input{flex:1;border:1px solid var(--line);border-radius:9px;padding:11px 12px}.suggestions{display:flex;flex-direction:column;gap:8px}.suggestions h3{margin-bottom:8px}.suggestion{border:1px solid var(--line);background:#fff;text-align:left;border-radius:10px;padding:11px;line-height:1.35;font-size:12px;color:var(--text)}.suggestion:hover{border-color:#a7bfbe;background:#f8fbfa}
.report-paper{max-width:900px;margin:0 auto;background:#fff;box-shadow:0 7px 25px rgba(20,32,51,.08);border:1px solid var(--line)}.report-cover{min-height:360px;background:var(--midnight);color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:flex-end}.report-cover p{letter-spacing:.18em;font-size:10px;color:#9fb2bb}.report-cover h2{font-size:38px;margin:8px 0}.report-cover h3{font-weight:400;color:#bdd0d4}.report-brand{position:absolute;margin-top:-245px;font-weight:800;letter-spacing:.1em}.report-brand span{color:#89adae;font-weight:500}.report-section{padding:38px 48px;border-bottom:1px solid var(--line)}.report-section h2{margin-top:0}.report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-kpi{border:1px solid var(--line);border-radius:10px;padding:12px}.report-kpi span{display:block;font-size:10px;color:var(--muted)}.report-kpi strong{font-size:20px}footer{padding:22px 48px;color:var(--muted);font-size:10px}
.modal{position:fixed;inset:0;background:rgba(12,23,35,.52);display:none;place-items:center;padding:20px;z-index:20}.modal.open{display:grid}.modal-card{width:min(720px,100%);background:#fff;border-radius:17px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 140px 1fr;gap:10px;margin:18px 0}.form-grid label{font-size:11px;font-weight:700;color:var(--muted)}.form-grid input,.form-grid select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.drop-zone{border:1.5px dashed #a8bab7;border-radius:13px;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:#f9fbfa;gap:8px}.drop-zone.drag{background:#eef6f4;border-color:var(--petrol)}.drop-zone span{font-size:11px;color:var(--muted);max-width:500px}.drop-icon{width:50px;height:50px;border-radius:14px;background:#e6eeec;color:var(--petrol);font-weight:900;display:grid;place-items:center}.parse-status{font-size:11px;color:var(--muted);min-height:22px;padding-top:8px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.grid-2,.ask-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:82px 1fr}.sidebar{padding:20px 10px}.brand div:not(.brand-mark),.nav-item{font-size:0}.nav-item span{font-size:16px}.security-note{display:none}}
@media(max-width:760px){main{padding:0 16px 30px}.app-shell{display:block}.sidebar{position:static;height:auto;display:flex;flex-direction:row;align-items:center;overflow:auto}.brand,.sidebar-bottom{display:none}.sidebar nav{display:flex}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;flex-wrap:wrap}.kpi-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.hero-card{align-items:flex-start;flex-direction:column}.hero-score{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding-left:0;padding-top:15px}.report-cover{padding:30px}.report-section{padding:25px}.report-kpis{grid-template-columns:1fr 1fr}}
@media print{body{background:#fff}.sidebar,.topbar,.no-print{display:none!important}.app-shell{display:block}main{padding:0}.view{display:none!important}#report{display:block!important}.report-paper{box-shadow:none;border:0;max-width:none}.report-cover{break-after:page}.report-section{break-inside:avoid} }
.details-card{width:min(980px,100%);max-height:90vh;overflow:auto}.details-intro{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 14px}.validation-box{display:grid;gap:8px;margin-bottom:14px}.validation{display:flex;justify-content:space-between;gap:12px;border-radius:9px;padding:10px 12px;font-size:11px}.validation strong{font-size:12px}.validation span{color:var(--muted)}.validation.ok{background:#edf6f1;color:var(--green)}.validation.bad{background:#faf0ef;color:var(--red)}.verify-list{display:grid;gap:8px}.verify-row{display:grid;grid-template-columns:minmax(180px,.7fr) 150px 1.5fr;gap:14px;padding:12px;border:1px solid var(--line);border-radius:10px;align-items:start}.verify-row strong{display:block;font-size:12px}.verify-row span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.verify-value{font-weight:800;font-size:13px}.source-line{font-size:10px;color:var(--muted);line-height:1.45;margin-bottom:3px;white-space:normal}.muted-note{font-size:11px;color:var(--muted)}
@media(max-width:760px){.verify-row{grid-template-columns:1fr}.validation{display:block}.validation span{display:block;margin-top:4px}}

/* V4 — Home modulare e confronto diretto a due PDF */
.home-hero{background:#fff;border:1px solid var(--line);border-radius:20px;padding:31px 34px;margin-bottom:16px;position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-90px;top:-115px;background:rgba(31,90,93,.07)}.home-hero h2{font-size:34px;margin:10px 0 8px}.home-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;max-width:780px}.pill.light{background:#edf4f2;color:var(--petrol);font-weight:800;letter-spacing:.06em}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;display:flex;flex-direction:column;min-height:330px;box-shadow:0 2px 11px rgba(20,32,51,.035);transition:.18s ease}.module-card:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(20,32,51,.075);border-color:#cbd9d6}.module-card.featured{border-top:3px solid var(--petrol)}.module-icon{width:44px;height:44px;border-radius:13px;background:#edf3f2;color:var(--petrol);display:grid;place-items:center;font-size:20px;font-weight:800;margin-bottom:18px}.module-kicker{font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--petrol)}.module-card h3{font-size:20px;margin:7px 0 8px}.module-card p{font-size:12px;color:var(--muted);line-height:1.65;margin:0}.module-files{margin:18px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.module-files span{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#f8faf9;color:var(--graphite);font-size:10px;font-weight:700}.module-files b{color:#9aa8ad}.module-files.single b{display:none}.module-action{margin-top:auto;align-self:flex-start}.home-bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}.process-panel h3{margin:5px 0 14px}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.process-steps>div{display:flex;gap:9px;align-items:flex-start;padding:11px;background:#f8faf9;border-radius:10px}.process-steps strong{width:23px;height:23px;border-radius:7px;background:var(--midnight);color:#fff;display:grid;place-items:center;font-size:10px;flex:0 0 auto}.process-steps span{font-size:10px;line-height:1.45;color:var(--muted)}.process-steps b{display:block;color:var(--text);font-size:11px}.home-recent{display:grid;gap:7px}.recent-doc{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;text-align:left}.recent-doc span{display:grid;gap:2px}.recent-doc strong{font-size:11px}.recent-doc small{font-size:9px;color:var(--muted)}.recent-doc>b{font-size:10px;color:var(--green)}
.compare-modal-card{width:min(1040px,100%);max-height:94vh;overflow:auto}.modal-intro{font-size:12px;color:var(--muted);margin:7px 0 0}.shared-company{margin:18px 0 12px;max-width:440px}.shared-company label,.compare-slot>label,.compare-company-field label{font-size:10px;font-weight:800;color:var(--muted);display:block}.shared-company input,.compare-slot input,.compare-company-field input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.dual-upload-grid{display:grid;grid-template-columns:1fr 50px 1fr;align-items:stretch;gap:12px;margin-top:14px}.compare-slot{border:1px solid var(--line);background:#fbfcfc;border-radius:14px;padding:16px;display:grid;gap:11px}.compare-slot-head{display:flex;align-items:center;gap:9px}.slot-badge{width:27px;height:27px;border-radius:8px;background:var(--midnight);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.compare-slot-head strong{font-size:13px}.compare-vs{display:grid;place-items:center;color:#9ba8ad;font-size:11px;font-weight:900}.mini-drop{border:1.5px dashed #b7c7c4;border-radius:11px;padding:15px;text-align:center;min-height:116px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:#fff}.mini-drop:hover{border-color:var(--petrol);background:#f7fbfa}.mini-drop-icon{font-size:9px;background:#e8f0ee;color:var(--petrol);font-weight:900;border-radius:7px;padding:6px 8px;margin-bottom:7px}.mini-drop strong{font-size:11px;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-drop small{font-size:9px;color:var(--muted);margin-top:3px}.slot-status{min-height:15px;font-size:9px;color:var(--green)}.compare-global-status{text-align:right}.comparison-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px}.comparison-header h2{font-size:28px;margin:3px 0}.comparison-header p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:12px}.back-link{border:0;background:transparent;padding:0;margin-bottom:14px;color:var(--petrol);font-weight:700;font-size:11px}.comparison-identity{display:grid;grid-template-columns:1fr 60px 1fr;align-items:stretch;gap:12px;margin-bottom:14px}.identity-card{background:var(--midnight);color:#fff;border-radius:15px;padding:18px;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center}.identity-card span{font-size:8px;letter-spacing:.13em;color:#9fb3bc;grid-column:1}.identity-card h3{margin:5px 0 2px;font-size:18px;grid-column:1}.identity-card>strong{font-size:24px;grid-column:2;grid-row:1/3}.identity-card small{color:#b9c7cd;font-size:9px;grid-column:1;margin-top:3px}.identity-card .mini-btn{grid-column:2;grid-row:3;align-self:end;background:transparent;color:#e1eaec;border-color:#405269}.identity-vs{display:grid;place-items:center;font-size:10px;font-weight:900;color:#9ba8ad}.comparison-panel th:nth-child(n+2),.comparison-panel td:nth-child(n+2){text-align:right}.comparison-analysis-grid{margin-top:14px}.quality-comparison{display:grid;gap:9px}.quality-row{padding:11px 12px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center}.quality-row span{font-size:11px;font-weight:700}.quality-row strong{font-size:16px}.quality-row small{grid-column:1/3;font-size:9px;color:var(--muted)}.quality-row.common{background:#f7faf9}
@media(max-width:1050px){.module-grid{grid-template-columns:1fr 1fr}.module-card:last-child{grid-column:1/3}.home-bottom-grid{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.module-grid{grid-template-columns:1fr}.module-card:last-child{grid-column:auto}.process-steps{grid-template-columns:1fr}.dual-upload-grid{grid-template-columns:1fr}.compare-vs{min-height:25px}.comparison-identity{grid-template-columns:1fr}.identity-vs{min-height:24px}.comparison-header h2{font-size:23px}.home-hero{padding:24px}.home-hero h2{font-size:27px}.compare-modal-card{padding:16px}}
/* V6 — Document Intelligence universale */
.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-card{min-height:350px}.parser-row{background:#f8fbfa;border-color:#cfdedb}.candidate-details{margin-top:6px}.candidate-details summary{font-size:10px;color:var(--petrol);font-weight:800;cursor:pointer}
@media(max-width:1250px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card:last-child{grid-column:auto}}
@media(max-width:760px){.module-grid{grid-template-columns:1fr}.module-card:last-child{grid-column:auto}}

/* V8 — KPI explainer + bilanci concorrenti */
.kpi-library-panel{margin:14px 0}.kpi-library{display:grid;gap:8px;margin-top:12px}.kpi-explain-row{display:grid;grid-template-columns:110px minmax(240px,1.1fr) 150px minmax(300px,1.4fr);gap:12px;align-items:start;border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px 14px}.kpi-explain-row.missing{background:#fbfcfc}.kpi-area{font-size:9px;letter-spacing:.12em;font-weight:900;color:var(--petrol);text-transform:uppercase;padding-top:3px}.kpi-name strong{display:block;font-size:13px}.kpi-name span{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:4px}.kpi-number{font-size:17px;font-weight:900;text-align:right;color:var(--midnight);white-space:nowrap}.kpi-explain p{margin:0 0 5px;font-size:12px;line-height:1.45;color:var(--text)}.kpi-explain small{font-size:10px;color:var(--muted);line-height:1.4}.kpi-explain-row.missing .kpi-number{color:#9aa6ad}.kpi-explain-cell{white-space:normal;min-width:280px;color:var(--muted);line-height:1.45}.competitor-form{display:grid;gap:12px}.competitor-form label{font-size:10px;color:var(--muted);font-weight:800}.competitor-form input,.competitor-form select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.provider-result{margin-top:14px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa;font-size:12px;line-height:1.55}.provider-result strong{display:block;margin-bottom:4px}.connector-steps{display:grid;gap:9px}.connector-steps>div{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fbfcfc}.connector-steps strong{width:26px;height:26px;border-radius:8px;background:var(--petrol);color:#fff;display:grid;place-items:center;flex:0 0 auto;font-size:11px}.connector-steps span{font-size:11px;color:var(--muted);line-height:1.45}.connector-steps b{display:block;color:var(--text);font-size:12px}.provider-note{margin:13px 0;padding:13px;border-radius:11px;background:#fff7ec;border:1px solid #eed6bb;font-size:12px;line-height:1.55}.provider-note p{margin:5px 0 0;color:var(--muted)}.connector-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:980px){.kpi-explain-row{grid-template-columns:1fr}.kpi-number{text-align:left}.kpi-explain-cell{min-width:220px}}


/* V9 — lettura manageriale, alert e moduli comparativi più chiari */
.comparison-alerts-panel{margin:14px 0}.kpi-explain-row.severity-critical{border-left:4px solid var(--red);background:#fffafa}.kpi-explain-row.severity-warning{border-left:4px solid var(--amber);background:#fffdf8}.kpi-explain-row.severity-good{border-left:4px solid var(--green);background:#fbfffd}.kpi-explain-row.severity-missing{opacity:.84}.kpi-explain p strong{color:var(--midnight)}.hero-score strong{font-size:24px;line-height:1.1}.alert-item strong{color:var(--midnight)}.alert-item span{display:block;margin-top:4px;line-height:1.45}.comparison-panel .kpi-explain-cell{text-align:left!important;white-space:normal;min-width:300px}.nav-item[data-start-compare]{color:#d6e1e4}.nav-item[data-start-compare]:hover{background:#1b2c44;color:#fff}.quality-row strong{white-space:nowrap}.provider-result .mini-btn[disabled]{opacity:.45;cursor:not-allowed}

/* V10 · Guided data validation */
.quality-dot.ok{background:#2f8a63}.quality-dot.warn{background:#c9972b}.primary-mini{background:#1F5A5D!important;color:#fff!important;border-color:#1F5A5D!important}.review-card{max-width:1180px;width:min(1180px,96vw);max-height:92vh;overflow:auto}.review-summary{display:grid;gap:6px;background:#eef6f3;border:1px solid #cfe3dc;border-radius:14px;padding:14px 16px;margin:12px 0 14px}.review-summary strong{color:#11313a;font-size:18px}.review-summary span,.review-summary small{color:#5d6b73}.review-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}.review-fields{display:grid;gap:16px}.review-group{border:1px solid #dce5e1;border-radius:18px;padding:14px;background:#fff}.review-group h3{margin:0 0 10px;color:#142033}.review-field{display:grid;grid-template-columns:1.2fr 220px 190px;gap:14px;align-items:center;padding:10px 0;border-top:1px solid #edf2f0}.review-field:first-of-type{border-top:0}.review-field span{display:grid;gap:3px}.review-field small{color:#6f7c84;font-size:12px}.review-field input{border:1px solid #d6e0dc;border-radius:12px;padding:11px 12px;font-size:15px;text-align:right}.review-badge{display:inline-flex;justify-content:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.review-badge.auto{background:#fff8e5;color:#7a5a00}.review-badge.manual{background:#eaf3ff;color:#23527c}.review-badge.confirmed{background:#e8f6ef;color:#26734d}.review-badge.calculated{background:#f1edf8;color:#5d437e}.review-badge.missing{background:#fdecec;color:#a43a3a}.inline-help{display:block;background:#fff;border-left:4px solid #1F5A5D;padding:8px 10px;border-radius:8px;margin-top:8px}.hero-score small{line-height:1.35}.kpi-explain-cell{min-width:280px}.review-field em{font-style:normal}@media(max-width:800px){.review-field{grid-template-columns:1fr}.review-field input{text-align:left}.review-toolbar{justify-content:flex-start;flex-wrap:wrap}}


/* V11 · Profilo aziendale e analisi contestuale */
.profile-onboarding{border:1px solid #dce5e1;background:#f8fbfa;border-radius:16px;padding:14px;margin:14px 0}.profile-onboarding-head{display:grid;gap:4px;margin-bottom:12px}.profile-onboarding-head strong{font-size:15px;color:var(--midnight)}.profile-onboarding-head small{font-size:11px;color:var(--muted)}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.profile-grid label{font-size:10px;font-weight:800;color:var(--muted);display:block}.profile-grid input,.profile-grid select,.profile-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;color:var(--text);font:inherit}.profile-grid textarea{min-height:76px;resize:vertical}.profile-grid .wide{grid-column:1/-1}.profile-card{width:min(1120px,96vw);max-height:92vh;overflow:auto}.modal-profile-grid{margin:14px 0}.documents-profile-note{font-size:10px;color:var(--muted)}
@media(max-width:980px){.profile-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.profile-grid{grid-template-columns:1fr}}


/* V12 KPI calculation drill-down */
.kpi-number-btn{border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:0;text-align:right;font:inherit;color:var(--midnight)}
.kpi-number-btn strong{font-size:17px;line-height:1.1}.kpi-number-btn span{font-size:9px;color:var(--petrol);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.kpi-number-btn:hover strong{text-decoration:underline}.kpi-explain-row.missing .kpi-number-btn span{color:#8a98a0}.kpi-calc-card{width:min(1100px,96vw);max-height:92vh;overflow:auto}.kpi-calc-top{display:grid;grid-template-columns:280px 1fr;gap:14px;margin:14px 0}.kpi-calc-result,.kpi-calc-formula,.kpi-calc-reading,.kpi-calc-note{border:1px solid var(--line);border-radius:14px;background:#fbfcfc;padding:14px}.kpi-calc-result span,.kpi-calc-formula strong,.kpi-calc-reading strong,.kpi-calc-note strong{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--petrol);margin-bottom:6px}.kpi-calc-result strong{font-size:30px;color:var(--midnight);display:block}.kpi-calc-result small{display:block;margin-top:5px;color:var(--muted);line-height:1.35}.kpi-calc-formula code{display:block;background:#fff;border:1px solid #dbe5e1;border-radius:10px;padding:11px 12px;white-space:normal;line-height:1.45;color:#142033}.kpi-calc-reading{margin-bottom:14px}.kpi-calc-reading p{margin:4px 0 0;line-height:1.55}.kpi-calc-table th,.kpi-calc-table td{vertical-align:top}.kpi-calc-table td:nth-child(2){font-weight:900;color:var(--midnight);white-space:nowrap}.kpi-calc-table small{display:block;color:var(--muted);line-height:1.45;margin:2px 0}.kpi-calc-table tr.missing{background:#fff8f8}.kpi-calc-note{display:flex;gap:9px;align-items:flex-start;margin-top:12px}.kpi-calc-note strong{margin:0;flex:0 0 auto}.kpi-calc-note span{font-size:12px;color:var(--muted);line-height:1.45}@media(max-width:820px){.kpi-calc-top{grid-template-columns:1fr}.kpi-number-btn{align-items:flex-start;text-align:left}}

/* V13 · Modal leggibili, profilo azienda unico e produttività commerciale */
.modal{place-items:start center;overflow:auto;padding:28px 18px}.modal-card{max-height:calc(100vh - 56px);overflow:auto}.upload-card{width:min(980px,96vw);padding:24px}.upload-card .modal-head{position:sticky;top:-24px;background:#fff;z-index:3;padding-top:2px;padding-bottom:12px;border-bottom:1px solid #eef2f0}.upload-card .modal-actions{position:sticky;bottom:-24px;background:#fff;padding-top:12px;border-top:1px solid #eef2f0}.upload-card .drop-zone{min-height:130px}.profile-saved-notice{border:1px solid #cfe3dc;background:#eef8f4;color:#224f4d;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.45;margin:10px 0}.profile-saved-notice strong{color:#12383b}.companies-note{font-size:11px;color:var(--muted)}.productivity-layout{align-items:start}.productivity-form{display:grid;grid-template-columns:1fr 130px;gap:12px}.productivity-form label{font-size:10px;font-weight:800;color:var(--muted)}.productivity-form input,.productivity-form select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.productivity-form .wide{grid-column:1/-1}.productivity-form button{grid-column:1/-1}.productivity-reconciliation{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfcfc;line-height:1.55;font-size:13px}.productivity-reconciliation p{margin:7px 0}.productivity-reconciliation small{color:var(--muted)}.productivity-kpis{margin-top:14px}.productivity-kpis .kpi-card .value{font-size:21px}.module-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.module-card{min-height:360px}@media(max-width:1450px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.productivity-form{grid-template-columns:1fr}}@media(max-width:700px){.modal{padding:12px}.modal-card{max-height:calc(100vh - 24px)}.upload-card{padding:16px}.upload-card .modal-head{top:-16px}.upload-card .modal-actions{bottom:-16px}.module-grid{grid-template-columns:1fr}}

/* V14 · Workspace privati, utenti e design più guidato */
.hero-workflow{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.hero-workflow span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#e6eeee;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}
.private-saas-panel{margin:18px 0}.saas-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.saas-flow>div{border:1px solid var(--line);border-radius:13px;background:#fbfcfc;padding:13px}.saas-flow strong{display:block;color:var(--midnight);font-size:13px;margin-bottom:5px}.saas-flow span{font-size:11px;line-height:1.45;color:var(--muted)}
.workspace-layout{align-items:start}.workspace-card{background:linear-gradient(145deg,#fff,#f8fbfa)}.workspace-summary{display:grid;gap:12px}.workspace-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.workspace-metrics>div{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}.workspace-metrics span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.workspace-metrics strong{display:block;font-size:22px;color:var(--midnight);margin:6px 0 3px}.workspace-metrics small{color:var(--muted);font-size:11px;line-height:1.35}.workspace-note{margin:0;padding:12px 13px;background:#eef6f3;border:1px solid #d3e6df;border-radius:12px;font-size:12px;color:#385f5e;line-height:1.55}.workspace-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.user-invite-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.user-invite-form label{font-size:10px;font-weight:800;color:var(--muted)}.user-invite-form input,.user-invite-form select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.user-invite-form button{grid-column:1/-1}.workspace-table-head{padding:18px 18px 0;margin:0 0 12px}.role-pill{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;background:#eef2f1;color:#40505a}.role-owner{background:#e8f4ef;color:#1f6548}.role-admin{background:#eaf1ff;color:#28527e}.role-analyst{background:#f1edf8;color:#5c437f}.role-viewer{background:#f3f5f5;color:#53606a}.role-external-advisor{background:#fff3e4;color:#8a5a1a}.permissions-cell{white-space:normal;min-width:260px;color:var(--muted);line-height:1.45}.security-roadmap{display:grid;gap:10px}.security-roadmap>div{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);background:#fbfcfc;border-radius:13px;padding:12px}.security-roadmap b{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--midnight);color:#fff;font-size:11px;flex:0 0 auto}.security-roadmap span{display:grid;gap:2px}.security-roadmap strong{font-size:13px}.security-roadmap small{font-size:11px;color:var(--muted);line-height:1.4}.nav-item[data-view="workspace"]{color:#d6e1e4}.nav-item[data-view="workspace"] span{color:#d9b07c}
@media(max-width:980px){.saas-flow,.workspace-metrics{grid-template-columns:1fr 1fr}.user-invite-form{grid-template-columns:1fr}}
@media(max-width:640px){.saas-flow,.workspace-metrics{grid-template-columns:1fr}}


/* V16 · Accesso utenti e home più chiara */
.auth-home{display:none}.auth-home.active{display:block}
.login-hero-card{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch;background:linear-gradient(135deg,#142033,#1F5A5D);border-radius:26px;padding:28px;color:#fff;box-shadow:0 20px 55px rgba(20,32,51,.18)}
.login-hero-card h2{font-size:38px;line-height:1.04;margin:8px 0 12px;color:#fff;letter-spacing:-.03em}.login-hero-card p{color:#dce8e6;line-height:1.65;margin:0;max-width:760px}.auth-status-box{margin:20px 0 0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:14px;display:grid;gap:4px}.auth-status-box strong{font-size:14px;color:#fff}.auth-status-box span{font-size:12px;color:#d6e3e2}.auth-status-box.connected{background:rgba(82,189,137,.14);border-color:rgba(122,221,171,.35)}.auth-home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.auth-home-actions .primary{background:#fff;color:#143436}.auth-home-actions .ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06)}
.login-flow-card{background:rgba(255,255,255,.92);color:#142033;border-radius:22px;padding:20px;display:grid;gap:12px}.login-flow-card .section-label{color:#1F5A5D}.login-flow-step{display:flex;gap:12px;align-items:flex-start;border:1px solid #d9e4e0;background:#fff;border-radius:15px;padding:12px}.login-flow-step b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#142033;color:#fff;font-size:12px;flex:0 0 auto}.login-flow-step span{display:grid;gap:2px}.login-flow-step strong{font-size:14px;color:#142033}.login-flow-step small{font-size:11px;line-height:1.4;color:#68747b}.access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.access-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px;box-shadow:0 10px 24px rgba(20,32,51,.05)}.access-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eef6f3;color:#1F5A5D;font-weight:900;margin-bottom:12px}.access-card h3{margin:0 0 8px;color:#142033}.access-card p{margin:0 0 16px;color:#5f6f76;line-height:1.55;font-size:13px}.nav-item[data-view="access"]{color:#eaf4f4}.nav-item[data-view="access"] span{color:#8fc5c3}.cloud-user-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #d9e3df;border-radius:999px;background:#fff;padding:9px 12px;font-size:12px;color:#42535b}.cloud-user-chip b{color:#142033}.top-actions #cloudAuthButton{font-weight:800;border-color:#bad2cf;background:#f8fbfa;color:#14383b}
@media(max-width:980px){.login-hero-card{grid-template-columns:1fr}.access-grid{grid-template-columns:1fr 1fr}.login-hero-card h2{font-size:30px}}@media(max-width:640px){.access-grid{grid-template-columns:1fr}.login-hero-card{padding:20px}.auth-home-actions{flex-direction:column}.auth-home-actions button{width:100%}}


/* V17 private portal */
body.app-locked .sidebar{display:none!important}
body.app-locked .app-shell{display:block;min-height:100vh}
body.app-locked main{padding:0;min-height:100vh;background:linear-gradient(135deg,#f4f7f5,#e9f1ef)}
body.app-locked .topbar{display:none!important}
body.app-locked .view{display:none!important}
body.app-locked #access.view{display:block!important;min-height:100vh;padding:48px;box-sizing:border-box}
body.app-locked .login-hero-card{min-height:calc(100vh - 96px);align-items:center;margin:0 auto;max-width:1280px}
body.app-locked .access-grid{display:none!important}
body.app-locked #accessContinueDemo{display:none!important}
body.app-unlocked .admin-only{display:none}
body.app-unlocked.is-platform-admin .admin-only{display:flex}
.hidden{display:none!important}
.quick-report-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #dbe6e3;border-radius:18px;padding:14px 18px;margin:18px 0;box-shadow:0 12px 30px rgba(20,32,51,.05)}
.report-actions{display:flex;gap:10px;align-items:center}.export-btn{white-space:nowrap}.admin-view .admin-metrics .panel strong{display:block;font-size:34px;margin-top:8px;color:#102033}.admin-content{display:flex;flex-direction:column;gap:20px}.badge.danger{background:#fff0f0;color:#a33;border-color:#f0caca}.badge.good{background:#eaf7ef;color:#1b7a4b}.badge.neutral{background:#eef3f4;color:#55636e}.provider-result strong{display:block;margin-bottom:6px}@media(max-width:900px){body.app-locked #access.view{padding:20px}.quick-report-bar{flex-direction:column;align-items:flex-start}.report-actions{flex-wrap:wrap}}

/* V18 · portal separation */
body:not(.is-platform-admin) [data-view="workspace"],
body:not(.is-platform-admin) .admin-only{display:none!important;}
body.app-locked .sidebar,
body.app-locked #contextActions,
body.app-locked .topbar .select-group{display:none!important;}
body.app-locked .app{grid-template-columns:1fr;}
body.app-locked .content{padding:48px;max-width:1180px;margin:0 auto;width:100%;}
.client-only-note{border:1px solid #d9e3e1;background:#f7fbfa;border-radius:18px;padding:16px;margin:14px 0;color:#52616d;}

/* V20 strict portal separation */
body.is-client-user #access{display:none!important;}
body.is-client-user .admin-only,
body.is-client-user [data-view="workspace"],
body.is-client-user [data-view="admin"],
body.is-client-user .client-hidden{display:none!important;}
body.is-client-user .sidebar .nav-item[data-view="access"]{display:none!important;}
body.is-client-user .sidebar-bottom #loadDemo,
body.is-client-user .sidebar-bottom #clearData{display:none!important;}
body.is-client-user .sidebar-bottom .security-note{display:block;}

/* V22 · simplified client portal */
.sidebar nav .nav-item{gap:12px}.sidebar-bottom .security-note{display:flex;flex-direction:column;gap:4px}.sidebar-bottom .security-note span{display:block;margin-left:0}
.v22-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:22px;align-items:stretch;border:1px solid var(--border);border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#f4f8f7 58%,#e7f1ee 100%);padding:28px;margin-bottom:20px;box-shadow:0 18px 50px rgba(20,32,51,.08)}
.v22-dashboard-hero h2{font-size:42px;line-height:1.05;margin:14px 0 10px}.v22-dashboard-hero p{font-size:17px;max-width:760px;color:var(--muted)}
.v22-next-step{margin-top:22px;background:#102033;color:#fff;border-radius:22px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:650px}.v22-next-step span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#b9d6d2;font-weight:900}.v22-next-step strong{font-size:22px}.v22-next-step small{color:#dbe7e4;line-height:1.45}.v22-next-step .primary{margin-top:6px;background:#fff;color:#102033;border-color:#fff}
.v22-latest-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:22px;box-shadow:0 14px 40px rgba(20,32,51,.06);display:flex;flex-direction:column;gap:15px}.v22-latest-card h3{font-size:24px;margin:0}.v22-mini-metrics{display:grid;grid-template-columns:1fr;gap:10px}.v22-mini-metrics div{background:#f7faf9;border:1px solid #e0e9e6;border-radius:16px;padding:12px}.v22-mini-metrics span{display:block;color:var(--muted);font-size:12px}.v22-mini-metrics strong{font-size:21px}
.v22-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.v22-stat-card{appearance:none;text-align:left;background:#fff;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(20,32,51,.05);cursor:pointer}.v22-stat-card:hover{transform:translateY(-2px);border-color:#8db8b2}.v22-stat-card span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#0f5b5e;font-weight:900}.v22-stat-card strong{display:block;font-size:32px;margin:8px 0 4px;color:#0d1d33}.v22-stat-card small{color:var(--muted);line-height:1.35}
.v22-dashboard-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;margin:18px 0}.v22-action-list,.v22-checklist{display:grid;gap:10px}.v22-action,.v22-check,.v22-recent-doc{appearance:none;border:1px solid #dfe8e5;background:#fff;border-radius:18px;padding:15px;text-align:left;cursor:pointer;display:flex;align-items:flex-start;gap:14px}.v22-action:hover,.v22-check:hover,.v22-recent-doc:hover{border-color:#1f5a5d;background:#f7fbfa}.v22-action b{display:block;font-size:17px}.v22-action span,.v22-check small{display:block;color:var(--muted);line-height:1.35;margin-top:4px}.v22-check b{width:34px;height:34px;border-radius:12px;background:#edf5f3;display:inline-flex;align-items:center;justify-content:center;color:#0f5b5e}.v22-check span{display:flex;flex-direction:column}.v22-recent-list{display:grid;gap:10px}.v22-recent-doc{justify-content:space-between;align-items:center}.v22-recent-doc span{display:flex;flex-direction:column}.v22-recent-doc small{color:var(--muted);margin-top:3px}.v22-recent-doc em{font-style:normal;border-radius:999px;padding:7px 10px;font-weight:800;font-size:12px}.v22-recent-doc em.ok{background:#e9f6ef;color:#167147}.v22-recent-doc em.warn{background:#fff2df;color:#9a5b12}
#companiesTable td:last-child{min-width:360px}#deleteProfile.danger,.mini-btn.danger{color:#a83d3d;border-color:#f1c9c9;background:#fffafa}#refreshProfileAnalysis{border-color:#b9d6d2;color:#0f5b5e}.modal-actions #deleteProfile{margin-right:auto}
@media (max-width:1100px){.v22-dashboard-hero,.v22-dashboard-grid{grid-template-columns:1fr}.v22-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v22-dashboard-hero h2{font-size:34px}}@media (max-width:700px){.v22-stat-grid{grid-template-columns:1fr}.v22-dashboard-hero{padding:20px}.v22-dashboard-hero h2{font-size:30px}}


/* V24 · alert cliccabili e analisi più leggibile */
#overview .panel{padding:22px;border-radius:18px}
#overview .panel h3{font-size:21px;letter-spacing:-.01em}
#overview .section-label{font-size:11px;letter-spacing:.16em;color:#0f5b5e}
#overview .muted-note{font-size:15px;line-height:1.6;color:#5b6b73}
#overview .kpi-grid{gap:16px;margin-bottom:18px}
#overview .kpi-card{padding:19px 20px;border-radius:18px}
#overview .kpi-card .label{font-size:14px}
#overview .kpi-card .value{font-size:31px;line-height:1.05}
#overview .kpi-library{gap:12px}
#overview .kpi-explain-row{grid-template-columns:135px minmax(250px,1fr) 175px minmax(420px,1.55fr);gap:18px;padding:18px 20px;border-radius:18px;align-items:center}
#overview .kpi-area{font-size:11px;letter-spacing:.14em}
#overview .kpi-name strong{font-size:17px;line-height:1.2}
#overview .kpi-name span{font-size:12px;line-height:1.45;margin-top:6px}
#overview .kpi-number-btn strong{font-size:25px;line-height:1.05}
#overview .kpi-number-btn span{font-size:10px;margin-top:4px;display:block}
#overview .kpi-explain p{font-size:15px;line-height:1.55;margin-bottom:8px}
#overview .kpi-explain small{font-size:12px;line-height:1.45}
.v24-alerts-list{gap:12px}
.v24-alert-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 18px;border-radius:16px;background:#fffdf7;border:1px solid #eadcc9;border-left:5px solid var(--amber)}
.v24-alert-item.severity-critical{background:#fff8f8;border-color:#efcccc;border-left-color:var(--red)}
.v24-alert-item strong{font-size:16px;color:#102033;display:block;margin-bottom:5px}
.v24-alert-item span{font-size:14px;line-height:1.55;color:#52616d}
.v24-alert-item .alert-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:230px}
.v24-alert-item .alert-actions .mini-btn{font-size:13px;padding:9px 12px}
.kpi-calc-reading p,.kpi-calc-formula code,.kpi-calc-table td,.kpi-calc-note span{font-size:14px}
.kpi-calc-table th{font-size:12px}
@media(max-width:1200px){#overview .kpi-explain-row{grid-template-columns:1fr 1fr}.v24-alert-item{grid-template-columns:1fr}.v24-alert-item .alert-actions{justify-content:flex-start;min-width:0}}
@media(max-width:720px){#overview .kpi-explain-row{grid-template-columns:1fr}#overview .kpi-number-btn{text-align:left}.v24-alert-item .alert-actions{flex-direction:column}.v24-alert-item .alert-actions .mini-btn{width:100%}}


/* V25 · leggibilità numeri e prudenza contabile */
#overview .kpi-grid{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:18px;
}
#overview .kpi-card{
  min-height:124px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#overview .kpi-card .value{
  font-size:clamp(26px,2.05vw,36px);
  line-height:1.08;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:keep-all;
  max-width:100%;
}
#overview .kpi-card .label{font-size:15px;letter-spacing:.01em}
#overview .kpi-card .delta{font-size:14px;margin-top:5px}
#overview .kpi-library-panel{padding:28px;border-radius:24px}
#overview .kpi-library-panel .panel-head h3{font-size:28px}
#overview .muted-note{font-size:17px;max-width:1180px}
#overview .kpi-explain-row{
  grid-template-columns:minmax(140px,.55fr) minmax(260px,1fr) minmax(190px,.7fr) minmax(520px,1.7fr);
  padding:24px 26px;
  gap:24px;
}
#overview .kpi-area{font-size:12px}
#overview .kpi-name strong{font-size:20px}
#overview .kpi-name span{font-size:14px}
#overview .kpi-number,.kpi-number-btn{font-size:30px!important;white-space:nowrap;overflow:visible;text-overflow:clip}
#overview .kpi-number-btn strong{font-size:30px!important;white-space:nowrap;display:block}
#overview .kpi-number-btn span{font-size:12px!important}
#overview .kpi-explain p{font-size:17px;line-height:1.62}
#overview .kpi-explain small{font-size:14px;line-height:1.55}
#overview .hero-card h2{font-size:34px}
#overview .hero-card p{font-size:18px;line-height:1.65}
#overview .quick-report-bar{font-size:18px;padding:18px 24px}
@media(max-width:1400px){#overview .kpi-explain-row{grid-template-columns:1fr 1fr}#overview .kpi-number-btn{text-align:left}}
@media(max-width:760px){#overview .kpi-grid{grid-template-columns:1fr}#overview .kpi-explain-row{grid-template-columns:1fr}}


/* V26 · responsive fit, no horizontal scroll, charts in comparison/productivity */
html,body{max-width:100%;overflow-x:hidden;}
.app-shell{grid-template-columns:220px minmax(0,1fr);width:100%;max-width:100vw;overflow-x:hidden;}
.sidebar{width:220px;padding:22px 14px;}
main{width:100%;max-width:calc(100vw - 220px);padding:0 clamp(18px,2.2vw,30px) 44px;overflow-x:hidden;}
.topbar{align-items:flex-start;flex-wrap:wrap;gap:14px}.top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.top-actions select,.top-actions .primary,.top-actions .ghost{min-height:44px}.top-actions select{max-width:190px}.top-actions .primary{white-space:nowrap}
.view{max-width:100%;overflow-x:hidden}.panel,.hero-card,.quick-report-bar{max-width:100%;overflow:hidden}.table-scroll{max-width:100%;overflow-x:auto}
/* KPI cards fit the screen without browser zoom */
#overview .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;align-items:stretch;}
#overview .kpi-card{min-width:0;min-height:110px;padding:16px 18px;overflow:hidden;}
#overview .kpi-card .value{font-size:clamp(24px,1.7vw,31px);letter-spacing:-.035em;white-space:normal;overflow-wrap:anywhere;word-break:normal;}
#overview .hero-card{padding:26px 28px;border-radius:22px}.hero-card h2{font-size:clamp(27px,2.1vw,34px)!important}.hero-card p{font-size:clamp(15px,1.05vw,18px)!important}
/* KPI explainer: readable, contained, no horizontal bar */
#overview .kpi-library-panel{padding:24px;border-radius:22px;overflow:hidden}
#overview .kpi-library{display:grid;gap:12px;max-width:100%}
#overview .kpi-explain-row{display:grid;grid-template-columns:minmax(88px,.45fr) minmax(190px,.9fr) minmax(150px,.55fr) minmax(280px,1.45fr)!important;gap:18px!important;align-items:center;max-width:100%;overflow:hidden;padding:20px!important}
#overview .kpi-name,#overview .kpi-explain{min-width:0;max-width:100%}
#overview .kpi-name strong{font-size:18px!important}#overview .kpi-name span{font-size:13px!important}
#overview .kpi-number-btn,#overview .kpi-number{min-width:0;max-width:100%;white-space:normal!important;text-align:right;overflow:hidden;}
#overview .kpi-number-btn strong{font-size:clamp(22px,1.65vw,30px)!important;white-space:normal!important;overflow-wrap:anywhere;letter-spacing:-.035em}
#overview .kpi-explain p{font-size:16px!important;line-height:1.55!important}#overview .kpi-explain small{font-size:13px!important;line-height:1.5!important}
/* Better module widths */
.comparison-identity,.comparison-analysis-grid,.grid-2,.productivity-layout{max-width:100%}.comparison-panel{overflow:hidden}
.v26-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.v26-chart-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;min-width:0;box-shadow:0 4px 16px rgba(20,32,51,.035)}.v26-chart-card h3{margin:0 0 4px;font-size:19px}.v26-chart-card p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.45}.v26-chart-canvas{width:100%;height:280px;display:block}.v26-chart-wide{grid-column:1/-1}.v26-analysis-note{background:#f7fbfa;border:1px solid #dce8e5;border-radius:16px;padding:14px 16px;line-height:1.55;color:#52616d;margin-top:10px}
.productivity-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}.productivity-kpis .kpi-card .value{font-size:clamp(22px,1.4vw,28px)}
@media(max-width:1320px){.app-shell{grid-template-columns:204px minmax(0,1fr)}.sidebar{width:204px}main{max-width:calc(100vw - 204px)}#overview .kpi-explain-row{grid-template-columns:1fr 1fr!important}.v26-chart-grid{grid-template-columns:1fr}.top-actions{justify-content:flex-start}}
@media(max-width:980px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{width:78px}.brand div:not(.brand-mark),.sidebar-bottom{display:none!important}main{max-width:calc(100vw - 78px);padding-left:18px;padding-right:18px}.nav-item{font-size:0}.nav-item span{font-size:17px}#overview .kpi-explain-row{grid-template-columns:1fr!important}.kpi-number-btn{text-align:left!important}.hero-card{display:block}.hero-score{border-left:0;padding-left:0;margin-top:18px}.topbar{padding-top:18px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;display:flex;overflow:auto}.sidebar nav{display:flex}.nav-item{white-space:nowrap;font-size:13px}.nav-item span{font-size:15px}main{max-width:100vw;padding:0 14px 32px}.top-actions{width:100%}.top-actions>*{flex:1 1 auto}.v26-chart-canvas{height:230px}}


/* V28 · sezione Azienda a schede, niente tagli laterali */
main{max-width:calc(100vw - 220px);overflow-x:hidden;}
.topbar{max-width:100%;}
.top-actions{max-width:100%;}
.top-actions select{min-width:140px;max-width:220px;}
#companies .section-intro{align-items:flex-start;}
#companies .table-panel{background:transparent;border:0;box-shadow:none;padding:0;overflow:visible;}
#companies .table-panel table{display:block;}
#companies .table-panel thead{display:none;}
#companies .table-panel tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;width:100%;}
#companies .table-panel tr{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(20,32,51,.05);min-width:0;}
#companies .table-panel td{display:block;border:0;padding:0;white-space:normal;min-width:0!important;}
#companies .table-panel td+td{margin-top:12px;}
#companies .table-panel td:last-child{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-width:0!important;margin-top:16px;}
#companies .table-panel td strong{font-size:18px;}
#companies .table-panel td small{display:block;color:var(--muted);line-height:1.45;margin-top:4px;overflow-wrap:anywhere;}
.company-profile-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;}
.company-profile-summary span{background:#f4f8f7;border:1px solid #dde9e5;border-radius:999px;padding:6px 9px;font-size:12px;color:#42525d;}
.company-metric-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.company-metric-row div{background:#f8faf9;border:1px solid var(--line);border-radius:14px;padding:10px;}
.company-metric-row span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:800;}
.company-metric-row b{font-size:18px;display:block;margin-top:2px;}
#companies .mini-btn{font-size:12px;padding:8px 10px;}
#companies .primary-mini{background:var(--petrol);color:#fff;border-color:var(--petrol);}
@media(max-width:900px){
  .app-shell{grid-template-columns:72px minmax(0,1fr);}main{max-width:calc(100vw - 72px);padding:0 16px 36px}.sidebar{width:72px}.top-actions{justify-content:flex-start}.top-actions select{max-width:170px}.top-actions #forceCloudReload{display:none}
}
@media(max-width:640px){
  .app-shell{display:block}.sidebar{width:auto}.sidebar nav{overflow:auto}main{max-width:100vw}.top-actions select{width:100%;max-width:none}.top-actions .primary,.top-actions .ghost{width:100%}#companies .table-panel tbody{grid-template-columns:1fr}.company-metric-row{grid-template-columns:1fr}
}


/* V29 · reliable cloud state + no stale dashboard flash */
.boot-overlay{position:fixed;inset:0;background:#f4f7f6;z-index:9999;display:flex;align-items:center;justify-content:center;color:#102033;font-family:Inter,Arial,sans-serif}
.boot-overlay>div{background:#fff;border:1px solid #dbe6e3;border-radius:22px;padding:24px 30px;box-shadow:0 18px 60px rgba(20,32,51,.12);display:flex;flex-direction:column;gap:6px;min-width:280px;text-align:center}.boot-overlay strong{font-size:22px}.boot-overlay span{color:#667580}.boot-ready .boot-overlay{display:none}.save-state{font-size:12px;color:#667580;margin-left:auto}.save-state.ok{color:#147a59}.save-state.error{color:#a83d3d}.company-danger-zone{border-top:1px solid #eef2f0;margin-top:12px;padding-top:12px}.mini-btn.warning{border-color:#eed6a8;background:#fff8e8;color:#8b5b16}.persist-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe6e3;border-radius:999px;padding:5px 9px;background:#fff;font-size:12px;color:#50606b}.persist-badge.syncing:before{content:"";width:7px;height:7px;border-radius:50%;background:#b97850}.persist-badge.ok:before{content:"";width:7px;height:7px;border-radius:50%;background:#2a8665}.persist-badge.error:before{content:"";width:7px;height:7px;border-radius:50%;background:#bd4949}
/* V33 - review formulas and composite fields */
.review-field.composite-field{
  align-items:flex-start;
  background:#fbfdfc;
  border-left:4px solid #1f5a5d;
}
.review-formula{
  margin-top:8px;
  padding:10px 12px;
  border:1px solid #dbe7e3;
  border-radius:14px;
  background:#f5faf8;
}
.review-formula strong{
  display:block;
  color:#0d5558;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  margin-bottom:4px;
}
.review-formula small{
  display:block;
  color:#334b55;
  line-height:1.35;
}
.formula-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.formula-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid #d3e1dd;
  background:#fff;
  border-radius:999px;
  padding:6px 9px;
  font-size:.82rem;
  color:#142033;
}
.formula-chip b{font-weight:800;color:#0f3438;}
.formula-chip.missing{background:#fff7f3;border-color:#efc9b8;color:#8a3b1a;}


/* V35 · dashboard cliente personalizzata + account/logout */
#cloudUserChip{display:none!important}
.topbar{align-items:flex-start}.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.v35-account-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dce6e3;border-radius:16px;padding:8px 10px;box-shadow:0 8px 24px rgba(20,32,51,.05);max-width:100%}.v35-avatar{width:34px;height:34px;border-radius:11px;background:#1f5a5d;color:#fff;display:grid;place-items:center;font-weight:900}.v35-avatar.big{width:50px;height:50px;border-radius:16px;font-size:20px}.v35-account-copy{display:grid;line-height:1.15}.v35-account-copy span,.v35-user-top span,.v35-user-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6d7a82;font-weight:800}.v35-account-copy strong{font-size:13px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v35-account-copy small,.v35-user-top small{font-size:11px;color:#6d7a82}.v35-logout{padding:8px 11px;font-weight:800}.v35-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;background:linear-gradient(135deg,#fff 0%,#f7fbfa 55%,#eaf2f0 100%);border:1px solid #dfe8e5;border-radius:28px;padding:34px;box-shadow:0 20px 50px rgba(20,32,51,.06);overflow:hidden}.v35-hero-main h2{font-size:clamp(34px,3vw,52px);line-height:1.02;margin:18px 0 12px;letter-spacing:-.04em}.v35-hero-main p{font-size:18px;color:#5f6e78;line-height:1.55;max-width:820px;margin:0 0 22px}.v35-next-card{background:#142033;color:#fff;border-radius:22px;padding:22px;display:grid;gap:7px;max-width:760px;box-shadow:0 12px 30px rgba(20,32,51,.12)}.v35-next-card span{font-size:11px;letter-spacing:.18em;color:#a9d3cf;font-weight:900}.v35-next-card strong{font-size:25px;letter-spacing:-.02em}.v35-next-card small{color:#d7e5e6;font-size:14px;line-height:1.45}.v35-next-card .primary{margin-top:8px;background:#fff;color:#142033;justify-self:start}.v35-user-panel{background:#fff;border:1px solid #dfe8e5;border-radius:24px;padding:22px;display:grid;gap:15px;align-self:stretch;box-shadow:0 16px 38px rgba(20,32,51,.06)}.v35-user-top{display:flex;align-items:center;gap:13px}.v35-user-top strong{display:block;font-size:17px;max-width:250px;overflow:hidden;text-overflow:ellipsis}.v35-user-meta{background:#f7faf9;border:1px solid #e3ebe8;border-radius:15px;padding:12px;display:flex;justify-content:space-between;gap:15px}.v35-user-meta b{text-align:right}.v35-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.v35-stat-card{appearance:none;border:1px solid #dfe8e5;background:#fff;text-align:left;border-radius:22px;padding:20px;box-shadow:0 12px 32px rgba(20,32,51,.05);transition:.18s ease}.v35-stat-card:hover{transform:translateY(-2px);border-color:#8ab5b0}.v35-stat-card.warn{border-left:5px solid #b97850}.v35-stat-card span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#1f5a5d;font-weight:900}.v35-stat-card strong{display:block;font-size:34px;letter-spacing:-.04em;margin:8px 0 4px}.v35-stat-card small{color:#697780;font-size:13px}.v35-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.v35-main-grid .panel{border-radius:22px;padding:22px}.v35-action-list,.v35-activity-list{display:grid;gap:10px}.v35-action,.v35-activity{appearance:none;background:#fff;border:1px solid #dfe8e5;border-radius:16px;padding:15px;text-align:left;display:flex;flex-direction:column;gap:4px}.v35-action:hover,.v35-activity:hover{border-color:#1f5a5d;background:#f8fbfa}.v35-action b,.v35-activity b{font-size:16px}.v35-action span,.v35-activity span{font-size:13px;color:#65737c;line-height:1.4}.v35-health-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf2f1}.v35-health-row:last-child{border-bottom:0}.v35-health-row span{color:#66747c}.v35-health-row strong{font-size:19px}.v35-progress{height:10px;background:#edf3f2;border-radius:99px;overflow:hidden;margin:8px 0 14px}.v35-progress span{display:block;height:100%;background:linear-gradient(90deg,#1f5a5d,#61a394);border-radius:99px}.v35-bars{height:220px;display:flex;align-items:end;gap:14px;padding:20px 8px 4px}.v35-bar-item{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:44px}.v35-bar{width:100%;max-width:52px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#1f5a5d,#9ec5bf);box-shadow:0 8px 16px rgba(31,90,93,.12)}.v35-bar-item span{font-size:12px;color:#63717d;font-weight:700}.app-locked .account-actions{display:none}.is-client-user .sidebar-bottom{display:none}
@media(max-width:1180px){.v35-dashboard-hero{grid-template-columns:1fr}.v35-stat-grid,.v35-main-grid{grid-template-columns:1fr 1fr}.account-actions{width:100%;justify-content:flex-start}.v35-account-card{width:100%}}
@media(max-width:760px){.v35-dashboard-hero{padding:22px;border-radius:22px}.v35-hero-main h2{font-size:34px}.v35-stat-grid,.v35-main-grid{grid-template-columns:1fr}.v35-account-copy strong{max-width:160px}.v35-account-card{flex-wrap:wrap}.v35-logout{margin-left:auto}.v35-bars{height:180px}}

/* V37: clearer KPI status and negative signals */
.kpi-card.severity-critical{border-color:#efb8b8!important;background:#fff7f7!important;box-shadow:0 10px 22px rgba(176,58,58,.08)}
.kpi-card.severity-critical .value{color:#a73333!important}
.kpi-card.severity-warning{border-color:#ead39a!important;background:#fffaf0!important}
.kpi-card.severity-warning .value{color:#9a6500!important}
.kpi-card.severity-good{border-color:#c9e5d7!important;background:#fbfffc!important}
.kpi-card-alert,.kpi-card-warning{display:inline-flex;margin-top:10px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}
.kpi-card-alert{background:#fde8e8;color:#9b2c2c}
.kpi-card-warning{background:#fff2cc;color:#865d00}
.kpi-explain-row.severity-critical .kpi-number-btn strong,.kpi-explain-row.severity-critical .kpi-name strong{color:#a73333!important}
.kpi-explain-row.severity-warning .kpi-number-btn strong{color:#9a6500!important}
.kpi-status-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;padding:4px 9px;margin-bottom:7px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.kpi-status-pill.tone-critical{background:#fde8e8;color:#9b2c2c}
.kpi-status-pill.tone-warning{background:#fff2cc;color:#865d00}
.kpi-status-pill.tone-good{background:#e7f6ee;color:#17633a}
.kpi-status-pill.tone-neutral{background:#edf4f2;color:#23414b}
.kpi-status-pill.tone-missing{background:#f1f3f4;color:#69747a}
.kpi-explain p strong{color:inherit}
.kpi-explain-row.severity-critical .kpi-explain p{color:#7f1d1d}
.kpi-explain-row.severity-warning .kpi-explain p{color:#5c3f00}

/* V38 refresh-safe loading gate */
#v38TenantGate{position:fixed;inset:0;z-index:99999;background:rgba(244,247,246,.92);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-family:inherit;color:#142033}
#v38TenantGate>div{background:#fff;border:1px solid #d9e3df;border-radius:24px;padding:28px 34px;box-shadow:0 24px 80px rgba(20,32,51,.18);min-width:min(440px,86vw);display:flex;flex-direction:column;gap:8px;text-align:center}
#v38TenantGate strong{font-size:22px;letter-spacing:.02em}
#v38TenantGate span{color:#60717c;font-size:15px}
body.tenant-loading-v38 main{opacity:.35;pointer-events:none}

/* V39 KPI filters */
.kpi-panel-head{align-items:flex-start;gap:16px;flex-wrap:wrap}
.kpi-filter-group{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:780px}
.kpi-filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:850;color:var(--midnight);cursor:pointer;box-shadow:0 5px 14px rgba(20,32,51,.04)}
.kpi-filter span{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:22px;height:22px;border-radius:999px;background:#eef5f3;font-size:12px;color:var(--petrol)}
.kpi-filter.active{background:var(--midnight);color:#fff;border-color:var(--midnight)}
.kpi-filter.active span{background:rgba(255,255,255,.18);color:#fff}
.kpi-filter.danger.active{background:#9b2c2c;border-color:#9b2c2c}
.kpi-filter.warn.active{background:#8a5d00;border-color:#8a5d00}
.kpi-filter.ok.active{background:#17633a;border-color:#17633a}
.kpi-explain p strong{margin-right:4px}
@media(max-width:900px){.kpi-filter-group{justify-content:flex-start}.kpi-filter{font-size:13px;padding:8px 10px}}

/* V40 · Home/login NOMYRA Finance premium brand */
:root{
  --nomyra-midnight:#142033;
  --nomyra-petrol:#1F5A5D;
  --nomyra-copper:#B97850;
  --nomyra-mist:#DCE4E1;
  --nomyra-ivory:#F4F0E7;
  --nomyra-graphite:#4C5966;
}
body.app-locked{background:#f6f4ef;}
body.app-locked .app-shell{display:block;width:100%;max-width:100vw;background:#f6f4ef;}
body.app-locked .sidebar,
body.app-locked .topbar,
body.app-locked #contextActions{display:none!important;}
body.app-locked main{max-width:100vw;width:100%;padding:0!important;overflow-x:hidden;}
body.app-locked .view{max-width:100vw;}
body.app-locked #access.view{padding:0!important;min-height:100vh;background:#f6f4ef;}
body.app-locked #access.view:not(.active){display:none!important;}
.nf40-login{font-family:Inter,Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.nf40-shell{min-height:100vh;background:
  radial-gradient(circle at 15% 18%,rgba(31,90,93,.30),transparent 24%),
  radial-gradient(circle at 80% 6%,rgba(185,120,80,.18),transparent 24%),
  linear-gradient(180deg,#142033 0,#142033 54%,#f6f4ef 54%,#f6f4ef 100%);overflow:hidden;color:#fff;}
.nf40-login-nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 clamp(26px,6vw,112px);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(20,32,51,.62);backdrop-filter:blur(18px);position:relative;z-index:3;}
.nf40-logo{height:48px;width:auto;object-fit:contain;display:block;}
.nf40-login-nav nav{display:flex;align-items:center;gap:34px;margin-left:auto;}
.nf40-nav-link{border:0;background:transparent;color:rgba(255,255,255,.86);font-weight:760;cursor:pointer;font-size:14px;letter-spacing:-.01em;}
.nf40-nav-link:hover{color:#fff;}
.nf40-outline-btn{border:1px solid rgba(185,120,80,.9);background:transparent;color:#fff;border-radius:10px;padding:13px 28px;font-weight:850;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);cursor:pointer;}
.nf40-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.78fr);gap:34px;align-items:center;padding:clamp(44px,6vw,74px) clamp(26px,6vw,112px) 34px;min-height:535px;}
.nf40-hero::before{content:"";position:absolute;inset:-80px -8vw auto auto;width:58vw;height:720px;background:linear-gradient(135deg,transparent 20%,rgba(31,90,93,.58) 20% 30%,transparent 30% 42%,rgba(255,255,255,.08) 42% 48%,transparent 48%);opacity:.72;pointer-events:none;transform:skewX(-12deg);}
.nf40-hero-copy{position:relative;z-index:2;max-width:830px;}
.nf40-kicker{display:inline-flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.33em;color:#6fb2b4;font-weight:950;margin:0 0 22px;text-transform:uppercase;}
.nf40-kicker::after{content:"";width:52px;height:1px;background:#6fb2b4;opacity:.8;display:inline-block;}
.nf40-kicker.dark{color:#1f5a5d;margin-bottom:16px;}
.nf40-kicker.dark::after{background:#1f5a5d;}
.nf40-hero h2{font-size:clamp(45px,5vw,78px);line-height:.98;letter-spacing:-.06em;margin:0 0 22px;color:#fff;font-weight:950;max-width:820px;}
.nf40-hero h2::first-line{color:#fff;}
.nf40-hero h2 span,.nf40-accent{color:#6db0b2;}
.nf40-subtitle{font-size:clamp(17px,1.5vw,23px);line-height:1.48;color:rgba(255,255,255,.78);max-width:740px;margin:0;}
.nf40-hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:30px;}
.nf40-primary-cta,.nf40-secondary-cta{border:0;border-radius:11px;background:linear-gradient(135deg,#d9986c,#b97850);color:#fff;padding:16px 31px;font-weight:950;font-size:16px;box-shadow:0 16px 32px rgba(185,120,80,.22);cursor:pointer;display:inline-flex;align-items:center;gap:12px;}
.nf40-primary-cta span,.nf40-secondary-cta span{font-size:20px;line-height:1;}
.nf40-secondary-cta{background:#142033;box-shadow:none;font-size:14px;padding:13px 22px;margin-top:12px;}
.nf40-video-btn{display:grid;grid-template-columns:50px auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;border:0;background:transparent;color:#fff;cursor:pointer;text-align:left;}
.nf40-video-btn span{grid-row:1/3;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.04);font-size:14px;}
.nf40-video-btn b{font-size:14px;color:#fff;}.nf40-video-btn small{font-size:12px;color:rgba(255,255,255,.68)}
.nf40-feature-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px;}
.nf40-feature-row>div{min-width:0;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);border-radius:16px;padding:18px;backdrop-filter:blur(10px);transition:transform .22s ease,border-color .22s ease,background .22s ease;}
.nf40-feature-row>div:hover{transform:translateY(-4px);border-color:rgba(112,178,178,.5);background:rgba(255,255,255,.07);}
.nf40-feature-row span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(31,90,93,.58);color:#7bd0d1;font-weight:950;font-size:19px;margin-bottom:12px;}
.nf40-feature-row strong{display:block;color:#fff;font-size:16px;margin-bottom:6px;}
.nf40-feature-row small{display:block;color:rgba(255,255,255,.67);font-size:13px;line-height:1.4;}
.nf40-login-wrap{position:relative;z-index:2;display:grid;place-items:center;min-height:470px;}
.nf40-mark-bg{position:absolute;inset:0;display:grid;place-items:center;opacity:.52;pointer-events:none;transform:translateX(82px) scale(1.2);}
.nf40-mark-bg img{width:min(470px,80%);filter:drop-shadow(0 40px 60px rgba(0,0,0,.2));}
.nf40-login-card{position:relative;z-index:3;width:min(430px,100%);background:rgba(255,253,248,.96);color:#142033;border:1px solid rgba(255,255,255,.82);border-radius:18px;padding:30px 30px 25px;box-shadow:0 32px 80px rgba(2,8,18,.28);backdrop-filter:blur(20px);}
.nf40-card-mark{width:48px;height:48px;object-fit:contain;display:block;margin-bottom:10px;}
.nf40-login-card h3{font-size:28px;line-height:1.1;margin:4px 0 8px;color:#142033;letter-spacing:-.04em;}
.nf40-login-card>p{font-size:14px;color:#65727b;margin:0 0 22px;line-height:1.42;}
.nf40-login-card label{display:block;font-size:12px;color:#142033;font-weight:850;margin:0 0 12px;}
.nf40-input{display:flex;align-items:center;gap:12px;border:1px solid #d5ddda;background:#fff;border-radius:10px;padding:0 14px;height:48px;margin-top:7px;box-shadow:0 2px 0 rgba(20,32,51,.02);}
.nf40-input span{color:#4c5966;font-size:17px;}.nf40-input em{font-style:normal;color:#52616d;margin-left:auto;font-size:12px;}
.nf40-input input{border:0;background:transparent;outline:0;flex:1;min-width:0;height:100%;font-size:14px;color:#142033;}
.nf40-input input::placeholder{color:#94a0a7;}
.nf40-login-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 17px;font-size:12px;}
.nf40-login-options label{margin:0;color:#4c5966;display:flex;align-items:center;gap:8px;font-weight:750;}
.nf40-login-options input{width:16px;height:16px;accent-color:#1f5a5d;}
.nf40-text-link{border:0;background:transparent;color:#1f5a5d;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer;}
.nf40-login-button{width:100%;border:0;border-radius:10px;background:#142033;color:#fff;min-height:52px;font-size:15px;font-weight:950;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 14px 30px rgba(20,32,51,.18);}
.nf40-login-button:hover{background:#1f5a5d;}
.nf40-divider{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:#7b878d;font-size:11px;text-align:center;}.nf40-divider:before,.nf40-divider:after{content:"";height:1px;flex:1;background:#d8dfdc;}
.nf40-status{margin:0!important;background:#f7faf9!important;border:1px solid #dbe4e0!important;color:#142033!important;padding:11px 12px!important;border-radius:12px!important;}
.nf40-status strong{color:#142033!important;font-size:12px!important}.nf40-status span{color:#66737a!important;font-size:11px!important}
.nf40-login-card .internal-demo{display:none!important;}
.nf40-benefits{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-6px clamp(26px,4vw,60px) 0;background:#fff;border:1px solid #e7ece9;border-radius:18px;padding:14px;box-shadow:0 18px 55px rgba(20,32,51,.09);color:#142033;}
.nf40-benefits article{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;border-right:1px solid #e6ece9;padding:16px 18px;}
.nf40-benefits article:last-child{border-right:0;}.nf40-benefits span{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#f3eee7;color:#b97850;font-size:22px;}.nf40-benefits strong{font-size:15px;color:#142033}.nf40-benefits small{font-size:13px;line-height:1.38;color:#65727b;margin-top:3px;}
.nf40-product-preview{display:grid;grid-template-columns:minmax(280px,.48fr) minmax(0,1fr);gap:34px;padding:50px clamp(26px,4vw,60px) 46px;color:#142033;align-items:center;}
.nf40-product-preview h3{font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.055em;margin:0 0 14px;max-width:530px;}
.nf40-product-preview h3::first-line{color:#142033}.nf40-product-preview h3 span{color:#1f5a5d}.nf40-product-preview p{color:#65727b;font-size:18px;line-height:1.5;max-width:530px;margin:0;}
.nf40-dashboard-preview{min-height:350px;background:#fff;border:1px solid #e2e9e6;border-radius:20px;box-shadow:0 24px 70px rgba(20,32,51,.10);display:grid;grid-template-columns:150px 1fr;overflow:hidden;}
.nf40-preview-sidebar{background:#142033;color:#fff;padding:22px 18px;display:grid;gap:12px;align-content:start;}.nf40-preview-sidebar img{width:42px;margin-bottom:8px}.nf40-preview-sidebar span{background:rgba(255,255,255,.07);border-radius:10px;padding:10px 12px;font-size:13px;color:#d7e1e0}.nf40-preview-sidebar span:first-of-type{background:#1f5a5d;color:#fff;}
.nf40-preview-main{padding:22px;background:#fbfcfb}.nf40-preview-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.nf40-preview-top span{height:38px;flex:1;border:1px solid #e1e8e5;border-radius:10px;background:#fff}.nf40-preview-top b{font-size:18px}.nf40-preview-top em{font-style:normal;border:1px solid #e1e8e5;background:#fff;border-radius:10px;padding:10px;font-size:12px;color:#65727b}.nf40-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.nf40-preview-cards i{font-style:normal;background:#fff;border:1px solid #e5ece9;border-radius:13px;padding:14px;display:grid;gap:5px}.nf40-preview-cards b{font-size:12px;color:#65727b}.nf40-preview-cards strong{font-size:18px;color:#142033}.nf40-preview-cards small{color:#16905c;font-weight:850}.nf40-preview-chart{height:145px;background:#fff;border:1px solid #e5ece9;border-radius:13px;display:flex;align-items:end;gap:16px;padding:20px 28px}.nf40-preview-chart span{flex:1;background:linear-gradient(180deg,#7ac7c5,#dce4e1);border-radius:7px 7px 0 0}.nf40-preview-chart span:nth-child(1){height:35%}.nf40-preview-chart span:nth-child(2){height:48%}.nf40-preview-chart span:nth-child(3){height:42%}.nf40-preview-chart span:nth-child(4){height:64%}.nf40-preview-chart span:nth-child(5){height:72%}.nf40-preview-chart span:nth-child(6){height:88%;background:linear-gradient(180deg,#b97850,#f4d0b8)}
@media(max-width:1180px){.nf40-login-nav nav{display:none}.nf40-hero{grid-template-columns:1fr}.nf40-login-wrap{min-height:auto}.nf40-mark-bg{opacity:.28;transform:translateX(30px) scale(1)}.nf40-feature-row{grid-template-columns:repeat(2,1fr)}.nf40-benefits{grid-template-columns:repeat(2,1fr)}.nf40-benefits article:nth-child(2){border-right:0}.nf40-product-preview{grid-template-columns:1fr}.nf40-dashboard-preview{min-height:300px}}
@media(max-width:720px){.nf40-shell{background:linear-gradient(180deg,#142033 0,#142033 66%,#f6f4ef 66%,#f6f4ef 100%)}.nf40-login-nav{height:74px;padding:0 18px}.nf40-logo{height:42px}.nf40-outline-btn{padding:10px 16px}.nf40-hero{padding:30px 18px 22px;gap:24px}.nf40-hero h2{font-size:42px}.nf40-subtitle{font-size:16px}.nf40-feature-row{grid-template-columns:1fr}.nf40-hero-actions{align-items:stretch}.nf40-primary-cta,.nf40-video-btn{width:100%;justify-content:center}.nf40-video-btn{grid-template-columns:44px auto;justify-content:start}.nf40-login-card{padding:22px;width:100%;}.nf40-mark-bg{display:none}.nf40-benefits{grid-template-columns:1fr;margin:0 18px;padding:10px}.nf40-benefits article{border-right:0;border-bottom:1px solid #e6ece9}.nf40-benefits article:last-child{border-bottom:0}.nf40-product-preview{padding:34px 18px}.nf40-dashboard-preview{grid-template-columns:1fr}.nf40-preview-sidebar{display:none}.nf40-preview-cards{grid-template-columns:1fr}.nf40-preview-chart{height:120px;padding:16px}.nf40-login-options{display:grid;gap:8px}.nf40-text-link{text-align:left;padding:0}}


/* V41 — login essenziale NOMYRA: full-screen, senza menu e senza sezioni secondarie */
body.app-locked{overflow:hidden;background:#142033;}
body.app-locked main{padding:0!important;max-width:100vw!important;width:100vw!important;}
body.app-locked .topbar{display:none!important;}
body.app-locked #access.view{padding:0!important;min-height:100vh!important;width:100vw!important;overflow:hidden;}
.nf41-login{font-family:Inter,Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.nf41-shell{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background:
  radial-gradient(circle at 17% 80%,rgba(31,90,93,.42),transparent 34%),
  radial-gradient(circle at 79% 10%,rgba(185,120,80,.14),transparent 30%),
  linear-gradient(135deg,#101b2d 0%,#142033 45%,#0c1728 100%);color:#fff;}
.nf41-shell::before{content:"";position:absolute;inset:-16vh -8vw auto auto;width:72vw;height:112vh;background:linear-gradient(135deg,transparent 0 28%,rgba(31,90,93,.46) 28% 36%,transparent 36% 47%,rgba(255,255,255,.08) 47% 52%,transparent 52%);opacity:.8;transform:skewX(-14deg);pointer-events:none;}
.nf41-bg-shape{position:absolute;border-radius:42px;pointer-events:none;filter:blur(.1px)}
.nf41-bg-shape.one{left:-90px;bottom:-130px;width:390px;height:390px;border:1px solid rgba(111,178,180,.35);transform:rotate(35deg)}
.nf41-bg-shape.two{right:-140px;top:-70px;width:440px;height:440px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,0));transform:rotate(45deg)}
.nf41-bg-line{position:absolute;left:0;right:0;bottom:9%;height:1px;background:linear-gradient(90deg,transparent,rgba(185,120,80,.7),transparent);opacity:.55;}
.nf41-header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:clamp(26px,4vw,58px) clamp(28px,7vw,120px) 0;}
.nf41-brandlockup{display:flex;align-items:center;gap:16px;}
.nf41-logo-mark{height:56px;width:auto;display:block;filter:drop-shadow(0 12px 24px rgba(0,0,0,.14));}
.nf41-logo-copy{display:flex;flex-direction:column;gap:4px;line-height:1;}
.nf41-logo-copy strong{font-size:20px;letter-spacing:.12em;color:#f4f0e7;font-weight:860;}
.nf41-logo-copy span{font-size:8.5px;letter-spacing:.22em;color:rgba(111,178,180,.9);font-weight:800;text-transform:uppercase;}
.nf41-access-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,240,231,.72);border:1px solid rgba(244,240,231,.22);border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.03);backdrop-filter:blur(10px);}
.nf41-content{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,510px);gap:clamp(36px,7vw,110px);align-items:center;padding:clamp(28px,5vw,70px) clamp(28px,7vw,120px) clamp(38px,6vw,90px);}
.nf41-copy{max-width:790px;}
.nf41-kicker{display:inline-flex;align-items:center;gap:17px;margin:0 0 28px;font-size:13px;letter-spacing:.34em;color:#6fb2b4;font-weight:900;text-transform:uppercase;}
.nf41-kicker::after{content:"";width:58px;height:1px;background:#6fb2b4;opacity:.78;}
.nf41-copy h2{margin:0;font-size:clamp(52px,6.1vw,88px);line-height:1.02;letter-spacing:-.06em;font-weight:780;color:#f4f0e7;text-wrap:balance;}
.nf41-copy h2 span{color:#73b6b7;font-weight:720;}
.nf41-subtitle{margin:28px 0 0;max-width:690px;font-size:clamp(20px,1.8vw,28px);line-height:1.42;color:rgba(244,240,231,.77);letter-spacing:-.025em;}
.nf41-mini-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px;}
.nf41-mini-row span{border:1px solid rgba(111,178,180,.25);background:rgba(255,255,255,.045);color:#dbe7e5;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:760;backdrop-filter:blur(10px);}
.nf41-login-card{position:relative;width:100%;background:linear-gradient(135deg,rgba(255,253,248,.98),rgba(244,240,231,.96));color:#142033;border:1px solid rgba(255,255,255,.86);border-radius:24px;padding:clamp(28px,3vw,44px);box-shadow:0 38px 90px rgba(0,0,0,.34);backdrop-filter:blur(22px);}
.nf41-login-card::before{content:"";position:absolute;inset:0;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.6),transparent 42%,rgba(185,120,80,.08));pointer-events:none;}
.nf41-login-card>*{position:relative;z-index:1;}
.nf41-card-mark{width:78px;height:78px;object-fit:contain;margin:0 auto 20px;display:block;border-radius:18px;box-shadow:0 12px 30px rgba(20,32,51,.08);}
.nf41-login-card h3{font-size:clamp(26px,2.1vw,34px);line-height:1.12;margin:0;text-align:center;color:#142033;letter-spacing:-.045em;font-weight:820;}
.nf41-login-card>p{font-size:16px;color:#65727b;text-align:center;margin:11px 0 30px;line-height:1.42;}
.nf41-login-card label{display:block;margin:0 0 16px;font-size:13px;font-weight:850;color:#142033;}
.nf41-input{height:54px;margin-top:8px;display:flex;align-items:center;gap:13px;border:1px solid #d2ddd9;background:#fff;border-radius:12px;padding:0 16px;box-shadow:0 4px 12px rgba(20,32,51,.04);}
.nf41-input:focus-within{border-color:#6fb2b4;box-shadow:0 0 0 4px rgba(111,178,180,.15);}
.nf41-input span{font-size:18px;color:#4c5966;line-height:1;}
.nf41-input em{font-style:normal;color:#63717a;margin-left:auto;font-size:12px;}
.nf41-input input{border:0;background:transparent;outline:0;height:100%;flex:1;min-width:0;font-size:15px;color:#142033;font-weight:650;}
.nf41-input input::placeholder{color:#9aa7ad;font-weight:500;}
.nf41-login-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:3px 0 22px;font-size:13px;}
.nf41-login-options label{margin:0;display:flex;align-items:center;gap:9px;font-weight:760;color:#4c5966;}
.nf41-login-options input{width:18px;height:18px;accent-color:#1f5a5d;}
.nf41-text-link{border:0;background:transparent;color:#1f5a5d;font-size:13px;font-weight:850;text-decoration:underline;cursor:pointer;padding:0;}
.nf41-login-button{width:100%;min-height:58px;border:0;border-radius:13px;background:linear-gradient(135deg,#142033,#13273b);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 18px 36px rgba(20,32,51,.22);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.nf41-login-button:hover{transform:translateY(-2px);box-shadow:0 22px 42px rgba(20,32,51,.3);background:linear-gradient(135deg,#1f5a5d,#142033);}
.nf41-status{margin:28px 0 0!important;background:transparent!important;border:0!important;border-top:1px solid rgba(20,32,51,.12)!important;border-radius:0!important;padding:20px 0 0!important;color:#596871!important;display:flex!important;align-items:center!important;gap:10px!important;}
.nf41-status::before{content:"◌";color:#b97850;font-weight:900;font-size:18px;}
.nf41-status strong{display:none!important;}
.nf41-status span{font-size:13px!important;color:#65727b!important;}
.nf41-login-card .internal-demo{display:none!important;}
@media(max-width:1080px){
  body.app-locked{overflow:auto;}
  body.app-locked #access.view{overflow:auto;}
  .nf41-shell{min-height:100vh;}
  .nf41-header{padding:24px 24px 0;}
  .nf41-logo-mark{height:50px}.nf41-logo-copy strong{font-size:18px}.nf41-logo-copy span{font-size:8px}.nf41-access-label{display:none;}
  .nf41-content{grid-template-columns:1fr;gap:28px;padding:34px 24px 40px;}
  .nf41-copy{max-width:760px}.nf41-copy h2{font-size:clamp(42px,10vw,68px)}.nf41-subtitle{font-size:18px;margin-top:18px}.nf41-mini-row{margin-top:24px}.nf41-login-card{max-width:560px;margin:0 auto;}
}
@media(max-width:560px){
  .nf41-shell::before{opacity:.45;transform:skewX(-18deg) translateX(160px)}
  .nf41-logo-mark{height:46px}.nf41-logo-copy strong{font-size:16px}.nf41-logo-copy span{font-size:7px}.nf41-content{padding:28px 18px 34px}.nf41-kicker{font-size:10px;letter-spacing:.28em;margin-bottom:20px}.nf41-kicker::after{width:34px}.nf41-copy h2{font-size:40px;line-height:1.03}.nf41-subtitle{font-size:17px}.nf41-mini-row span{font-size:12px;padding:9px 12px}.nf41-login-card{padding:24px 20px;border-radius:20px}.nf41-card-mark{width:62px;height:62px}.nf41-login-card h3{text-align:left;font-size:26px}.nf41-login-card>p{text-align:left;font-size:14px;margin-bottom:22px}.nf41-login-options{display:grid;gap:9px;justify-content:start}.nf41-login-button{min-height:54px}.nf41-status{margin-top:22px!important}.nf41-status span{font-size:12px!important;}
}

/* V42 · Dashboard cliente premium ma semplice */
.v42-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.v42-quick{appearance:none;border:1px solid #dfe8e5;background:#fff;border-radius:18px;padding:16px 18px;display:grid;grid-template-columns:42px 1fr;column-gap:13px;align-items:center;text-align:left;box-shadow:0 12px 30px rgba(20,32,51,.045);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.v42-quick:hover{transform:translateY(-2px);border-color:#9bc3bd;box-shadow:0 18px 38px rgba(20,32,51,.075)}.v42-quick span{grid-row:1/3;width:42px;height:42px;border-radius:13px;background:#eaf4f2;color:#1f5a5d;display:grid;place-items:center;font-size:21px;font-weight:900}.v42-quick b{font-size:16px;color:#142033}.v42-quick small{font-size:12px;color:#687781;margin-top:3px}.v42-quick.primary-action{background:linear-gradient(135deg,#1f5a5d,#142033);border-color:#1f5a5d}.v42-quick.primary-action b,.v42-quick.primary-action small{color:#fff}.v42-quick.primary-action span{background:rgba(255,255,255,.12);color:#fff}
.v42-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);gap:26px;background:linear-gradient(135deg,#fff 0%,#fbfdfc 54%,#edf5f3 100%);border:1px solid #dfe8e5;border-radius:28px;padding:28px;box-shadow:0 20px 46px rgba(20,32,51,.055);position:relative;overflow:hidden}.v42-hero:after{content:"";position:absolute;right:-70px;top:-80px;width:260px;height:260px;background:url('assets/nomyra-mark-primary.png') center/contain no-repeat;opacity:.045;pointer-events:none}.v42-hero-copy h2{font-size:clamp(36px,4vw,58px);line-height:.98;letter-spacing:-.055em;margin:12px 0 8px;color:#142033}.v42-period{font-size:15px;color:#1f5a5d;font-weight:800;margin:0 0 12px}.v42-reading{font-size:18px;line-height:1.48;color:#52616b;max-width:760px;margin:0}.v42-hero-side{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;align-items:stretch}.v42-coverage,.v42-next{background:#fff;border:1px solid #dfe8e5;border-radius:22px;padding:18px;box-shadow:0 12px 28px rgba(20,32,51,.045);display:grid;gap:8px}.v42-coverage span,.v42-next span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#6c7a82;font-weight:900}.v42-coverage strong{font-size:40px;letter-spacing:-.05em;color:#142033}.v42-coverage small,.v42-next small{font-size:13px;color:#687781;line-height:1.35}.v42-next strong{font-size:20px;letter-spacing:-.025em;color:#142033}.v42-next .primary{align-self:end;justify-self:start;margin-top:4px;padding:11px 18px}
.v42-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.v42-kpi-card{appearance:none;background:#fff;border:1px solid #dfe8e5;border-radius:20px;padding:18px;text-align:left;box-shadow:0 12px 30px rgba(20,32,51,.045);min-height:148px;display:grid;gap:6px;transition:.16s ease}.v42-kpi-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(20,32,51,.075)}.v42-kpi-card span{font-size:12px;color:#687781;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.v42-kpi-card strong{font-size:clamp(26px,2.3vw,36px);letter-spacing:-.05em;color:#142033}.v42-kpi-card small{font-size:13px;color:#687781}.v42-kpi-card.critical{border-color:#f0c9c9;background:linear-gradient(180deg,#fff,#fff7f7)}.v42-kpi-card.critical strong{color:#9f2930}.v42-kpi-card.warning{border-color:#f0dcc2;background:linear-gradient(180deg,#fff,#fffaf2)}.v42-kpi-card.warning strong{color:#9b6024}.v42-kpi-card.positive{border-color:#c8e6dc;background:linear-gradient(180deg,#fff,#f5fcf9)}.v42-kpi-card.positive strong{color:#1f7c58}.v42-spark{height:30px;width:100%;color:#1f5a5d;opacity:.9}.v42-spark.down{color:#b6464f}.v42-no-trend{display:block;font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:#9aa5aa!important;font-weight:700!important}
.v42-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:16px}.v42-dashboard-grid .panel{border-radius:22px;padding:20px}.v42-chart-panel{grid-column:1/-1}.v42-alert-list{display:grid;gap:10px}.v42-alert-item{appearance:none;border:1px solid #edd4d5;background:#fff8f8;border-radius:16px;padding:14px 16px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:5px 14px;border-left:5px solid #b6464f}.v42-alert-item.warning{border-color:#f0dcc2;border-left-color:#b97850;background:#fffaf2}.v42-alert-item b{font-size:15px;color:#142033}.v42-alert-item span{font-size:13px;color:#5d6870;line-height:1.35;max-width:900px}.v42-alert-item em{grid-row:1/3;grid-column:2;font-style:normal;align-self:center;color:#1f5a5d;font-size:13px;font-weight:900}.v42-empty-ok{border:1px solid #cfe8dd;background:#f5fbf8;border-radius:16px;padding:16px;display:grid;gap:4px}.v42-empty-ok b{color:#1f7c58}.v42-empty-ok span{color:#62717a}.v42-reading-panel p{font-size:16px;line-height:1.55;color:#3f4c55;margin:0}.v42-reading-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.v42-reading-actions .ghost{padding:10px 14px}.v42-chart-panel .v35-bars{height:180px;max-width:780px;margin:auto}
@media(max-width:1180px){.v42-quick-actions,.v42-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v42-hero{grid-template-columns:1fr}.v42-dashboard-grid{grid-template-columns:1fr}.v42-hero-side{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.v42-quick-actions,.v42-kpi-grid,.v42-hero-side{grid-template-columns:1fr}.v42-hero{padding:20px;border-radius:22px}.v42-hero-copy h2{font-size:38px}.v42-reading{font-size:16px}.v42-quick{padding:14px}.v42-alert-item{grid-template-columns:1fr}.v42-alert-item em{grid-row:auto;grid-column:auto}.v42-dashboard-grid .panel{padding:17px}}

/* V43 · Dashboard semplice, premium e realmente diversa */
#home{display:block;max-width:1460px;margin:0 auto;}
#home.active{display:block!important;}
.v43-actions-wrap{margin:4px 0 18px;}
.v43-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 10px;}
.v43-section-title span{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#1f5a5d;}
.v43-section-title small{color:#78858d;font-weight:650;}
.v43-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.v43-action{appearance:none;border:1px solid #dce7e4;background:#fff;border-radius:18px;padding:16px;display:grid;grid-template-columns:44px 1fr;column-gap:13px;align-items:center;text-align:left;box-shadow:0 14px 34px rgba(20,32,51,.055);transition:.18s ease;min-height:82px;}
.v43-action:hover{transform:translateY(-2px);border-color:#88bab4;box-shadow:0 20px 44px rgba(20,32,51,.09);}
.v43-action i{grid-row:1/3;width:44px;height:44px;border-radius:14px;background:#edf6f4;color:#1f5a5d;display:grid;place-items:center;font-style:normal;font-size:22px;font-weight:900;}
.v43-action b{font-size:16px;color:#142033;line-height:1.1;}
.v43-action small{font-size:12px;color:#71808a;margin-top:3px;}
.v43-action.primary{background:linear-gradient(135deg,#1f5a5d,#142033);border-color:#1f5a5d;}
.v43-action.primary b,.v43-action.primary small{color:#fff;}
.v43-action.primary i{background:rgba(255,255,255,.14);color:#fff;}
.v43-hero-simple{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,390px);gap:20px;background:linear-gradient(135deg,#fff 0%,#fbfdfc 62%,#eef6f3 100%);border:1px solid #dfe8e5;border-radius:28px;padding:28px;box-shadow:0 18px 42px rgba(20,32,51,.052);position:relative;overflow:hidden;}
.v43-hero-simple:after{content:"";position:absolute;right:-65px;bottom:-95px;width:270px;height:270px;background:url('assets/nomyra-mark-primary.png') center/contain no-repeat;opacity:.05;pointer-events:none;}
.v43-workspace-copy{position:relative;z-index:1;}
.v43-workspace-copy h2{font-size:clamp(34px,3.4vw,54px);line-height:1;letter-spacing:-.055em;margin:12px 0 8px;color:#142033;}
.v43-period{font-size:15px;font-weight:900;color:#1f5a5d;margin:0 0 10px;}
.v43-reading{font-size:17px;line-height:1.5;color:#53626c;max-width:850px;margin:0;}
.v43-next-card{position:relative;z-index:1;background:#142033;color:#fff;border-radius:22px;padding:22px;display:grid;gap:8px;align-content:center;box-shadow:0 18px 42px rgba(20,32,51,.16);}
.v43-next-card span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#9bd0ca;font-weight:900;}
.v43-next-card strong{font-size:22px;letter-spacing:-.025em;line-height:1.12;}
.v43-next-card small{font-size:13px;color:#dbe8e8;line-height:1.42;}
.v43-next-card .primary{margin-top:6px;justify-self:start;background:#fff;color:#142033;padding:11px 18px;}
.v43-main-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0;}
.v43-metric{appearance:none;background:#fff;border:1px solid #dfe8e5;border-radius:20px;padding:17px;text-align:left;display:grid;gap:6px;min-height:128px;box-shadow:0 12px 30px rgba(20,32,51,.045);transition:.16s ease;}
.v43-metric:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(20,32,51,.075);}
.v43-metric span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#6b7a83;font-weight:900;}
.v43-metric strong{font-size:clamp(25px,2vw,34px);line-height:1.05;letter-spacing:-.05em;color:#142033;}
.v43-metric small{font-size:13px;color:#6c7a82;}
.v43-metric.critical{background:#fff7f7;border-color:#efc6c9;}
.v43-metric.critical strong{color:#a82e35;}
.v43-metric.watch{background:#fffaf2;border-color:#ecd8bc;}
.v43-metric.watch strong{color:#965c21;}
.v43-metric.ok{background:#f7fcfa;border-color:#cde7dc;}
.v43-metric.ok strong{color:#1f7657;}
.v43-metric.missing{background:#fafafa;border-color:#e0e5e7;}
.v43-lower-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);gap:15px;}
.v43-panel{background:#fff;border:1px solid #dfe8e5;border-radius:22px;padding:20px;box-shadow:0 12px 30px rgba(20,32,51,.045);}
.v43-trend-panel{grid-column:1/-1;}
.v43-panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.v43-panel-head span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#1f5a5d;font-weight:900;}
.v43-panel-head h3{margin:4px 0 0;font-size:22px;letter-spacing:-.025em;color:#142033;}
.v43-alert-list{display:grid;gap:10px;}
.v43-alert{appearance:none;border:1px solid #e5ecea;background:#fff;border-radius:16px;padding:14px 15px;text-align:left;display:grid;gap:4px;border-left:5px solid #92b9b3;}
.v43-alert b{font-size:15px;color:#142033;}
.v43-alert span{font-size:13px;line-height:1.38;color:#5d6a72;}
.v43-alert em{font-style:normal;color:#1f5a5d;font-size:13px;font-weight:900;margin-top:2px;}
.v43-alert.critical{background:#fff7f7;border-color:#efc6c9;border-left-color:#b6464f;}
.v43-alert.warning{background:#fffaf2;border-color:#ecd8bc;border-left-color:#b97850;}
.v43-alert.ok{background:#f7fcfa;border-color:#cde7dc;border-left-color:#1f7657;}
.v43-nomyra-reading p{font-size:16px;line-height:1.58;color:#3f4c55;margin:0;}
.v43-reading-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.v43-reading-buttons .ghost{padding:10px 14px;}
.v43-placeholder-chart{border:1px dashed #cbdad6;border-radius:18px;background:#f8fbfa;padding:28px;text-align:center;display:grid;gap:6px;color:#586973;}
.v43-placeholder-chart b{font-size:18px;color:#142033;}
.v43-trend-panel .v35-bars{height:170px;max-width:760px;margin:auto;}
@media(max-width:1250px){.v43-actions,.v43-main-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.v43-hero-simple,.v43-lower-grid{grid-template-columns:1fr;}.v43-next-card{max-width:520px}.v43-metric:last-child{grid-column:1/-1}}
@media(max-width:720px){.v43-section-title{display:block}.v43-section-title small{display:block;margin-top:4px}.v43-actions,.v43-main-metrics{grid-template-columns:1fr}.v43-hero-simple{padding:22px;border-radius:22px}.v43-workspace-copy h2{font-size:36px}.v43-reading{font-size:15px}.v43-action{min-height:76px}.v43-panel{padding:17px}.v43-panel-head{display:block}.v43-next-card{padding:18px}.v43-trend-panel .v35-bars{height:140px}}

/* V47 · Produttività premium, dinamica e leggibile */
.v47-form-hint{display:block;margin-top:6px;color:#65727b;font-size:12px;line-height:1.35}
.v47-prod{margin:18px 0 22px;display:grid;gap:16px}.v47-empty{border:1px dashed #cbd8d5;border-radius:20px;padding:24px;background:#fff;color:#4c5966;display:flex;flex-direction:column;gap:6px}.v47-empty strong{font-size:20px;color:#142033}.v47-prod-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#f9fbfa,#edf6f4);border:1px solid #dce8e5;box-shadow:0 16px 40px rgba(20,32,51,.06)}.v47-prod-hero h2{margin:6px 0 4px;font-size:30px;letter-spacing:-.04em}.v47-prod-hero p{margin:0;color:#596871}.v47-status{min-width:220px;border-radius:18px;padding:17px 18px;border:1px solid #dce8e5;background:#fff}.v47-status strong{display:block;font-size:17px;color:#142033}.v47-status span{display:block;margin-top:5px;color:#65727b;font-size:13px}.v47-status.ok{border-color:#bfe4d9;background:#f1fbf7}.v47-status.warn{border-color:#f0d1a9;background:#fff7ed}.v47-prod-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v47-prod-kpis>div{background:#fff;border:1px solid #dce4e1;border-radius:18px;padding:16px 18px}.v47-prod-kpis small{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#6b7a82;font-size:11px}.v47-prod-kpis strong{display:block;margin-top:8px;font-size:24px;color:#142033;letter-spacing:-.03em}.v47-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v47-prod-grid.bottom{align-items:stretch}.v47-bar-row{display:grid;grid-template-columns:30px minmax(120px,1.2fr) minmax(160px,1fr) 90px 56px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eef3f1}.v47-bar-row:last-child{border-bottom:0}.v47-bar-row .rank{width:24px;height:24px;border-radius:999px;background:#eef6f5;color:#1f5a5d;display:grid;place-items:center;font-weight:900;font-size:12px}.v47-bar-row strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v47-bar-row .bar{height:14px;border-radius:999px;background:#edf2f1;overflow:hidden}.v47-bar-row .bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1f5a5d,#6fb2b4)}.v47-bar-row.copper .bar i{background:linear-gradient(90deg,#b97850,#e1ad88)}.v47-bar-row b{text-align:right;font-size:13px}.v47-bar-row em{text-align:right;font-size:12px;color:#596871;font-style:normal}.v47-insight{border-radius:16px;padding:14px 16px;margin-bottom:10px;border:1px solid #dce4e1;background:#fff}.v47-insight strong{display:block;color:#142033}.v47-insight p{margin:5px 0 0;color:#4c5966;line-height:1.45}.v47-insight.warning{border-color:#f1c9c9;background:#fff6f6}.v47-insight.positive{border-color:#c4e5d8;background:#f4fbf8}.v47-insight.neutral{background:#f9fbfa}.v47-reco p{line-height:1.55;color:#4c5966;margin-top:0}.v47-reco b{color:#142033}.v47-prod .v26-chart-canvas{width:100%;height:240px;display:block}
@media(max-width:1100px){.v47-prod-kpis{grid-template-columns:repeat(2,1fr)}.v47-prod-grid{grid-template-columns:1fr}.v47-prod-hero{display:block}.v47-status{margin-top:16px}.v47-bar-row{grid-template-columns:30px minmax(130px,1fr) 80px 52px}.v47-bar-row .bar{display:none}}
@media(max-width:640px){.v47-prod-kpis{grid-template-columns:1fr}.v47-prod-hero{padding:20px}.v47-prod-hero h2{font-size:24px}.v47-bar-row{grid-template-columns:26px minmax(0,1fr) 80px}.v47-bar-row em{display:none}}

/* V48 · produttività interattiva e analisi costi/prezzi */
.v48-chart-detail{margin:10px 4px 0;border:1px solid #dce8e5;background:#f9fbfa;border-radius:14px;padding:12px 14px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;color:#4c5966}
.v48-chart-detail strong{color:#142033}.v48-chart-detail span{font-weight:800;color:#1f5a5d}.v48-chart-detail small{color:#65727b}
.v48-analysis-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:16px}.v48-cost h3,.v48-qty-panel h3{margin:6px 0 8px;font-size:22px;letter-spacing:-.03em}.v48-cost p{margin:0 0 14px;line-height:1.55;color:#4c5966}.v48-cost small{display:block;margin-top:12px;color:#65727b;line-height:1.45}.v48-cost.danger{border-left:5px solid #b94a48;padding-left:14px}.v48-cost.warning{border-left:5px solid #b97850;padding-left:14px}.v48-cost.positive{border-left:5px solid #1f8f6a;padding-left:14px}.v48-cost.neutral{border-left:5px solid #6fb2b4;padding-left:14px}
.v48-cost-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v48-cost-breakdown span,.v48-qty-list span{display:flex;justify-content:space-between;gap:12px;background:#f7faf9;border:1px solid #e2ebe8;border-radius:12px;padding:10px 12px}.v48-cost-breakdown b,.v48-qty-list b{font-size:12px;color:#142033}.v48-cost-breakdown em,.v48-qty-list em{font-style:normal;font-size:12px;color:#596871;text-align:right}.v48-qty-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.v48-qty-kpis div{background:#f7faf9;border:1px solid #e2ebe8;border-radius:14px;padding:12px}.v48-qty-kpis small{display:block;color:#65727b;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.v48-qty-kpis strong{display:block;margin-top:5px;color:#142033;font-size:20px}.v48-qty-list{display:grid;gap:8px;margin-top:12px}.v47-prod .v26-chart-canvas{height:300px!important}.v47-prod .panel{overflow:hidden}
@media(max-width:1000px){.v48-analysis-grid{grid-template-columns:1fr}.v48-cost-breakdown{grid-template-columns:1fr}}
@media(max-width:640px){.v48-qty-kpis{grid-template-columns:1fr}.v48-chart-detail{display:block}.v48-chart-detail span,.v48-chart-detail small{display:block;margin-top:5px}}

/* V49 · Produttività: analisi visibile e upload compatto */
#productivity.v49-has-analysis .section-intro{margin-bottom:10px;}
#productivity.v49-has-analysis .section-intro p{max-width:980px;}
.v49-loaded-sales{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;background:#fff;border:1px solid #dce8e5;border-radius:18px;padding:13px 16px;margin:10px 0 14px;box-shadow:0 10px 28px rgba(20,32,51,.045)}
.v49-loaded-icon{width:38px;height:38px;border-radius:12px;background:#e9f7f2;color:#1f7657;display:grid;place-items:center;font-weight:950;font-size:18px}
.v49-loaded-main{min-width:0;display:grid;gap:2px}.v49-loaded-main strong{font-size:16px;color:#142033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v49-loaded-main small{color:#65727b;font-size:12px;line-height:1.35}
#productivity.v49-has-analysis #v47ProductivityDashboard{margin-top:0;}
#productivity.v49-has-analysis .productivity-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:12px;margin:12px 0 18px;align-items:start;}
#productivity.v49-has-analysis .productivity-layout>.panel{padding:14px 16px;border-radius:18px;box-shadow:0 8px 24px rgba(20,32,51,.035)}
#productivity.v49-has-analysis .productivity-layout>.panel .panel-head{margin-bottom:8px;}
#productivity.v49-has-analysis .productivity-layout>.panel .panel-head h3{font-size:16px;}
#productivity.v49-has-analysis .productivity-form{grid-template-columns:minmax(170px,1fr) 120px minmax(230px,1.2fr) 150px;gap:9px;align-items:end;}
#productivity.v49-has-analysis .productivity-form label{font-size:9.5px;}
#productivity.v49-has-analysis .productivity-form input,#productivity.v49-has-analysis .productivity-form select{padding:9px 10px;margin-top:4px;}
#productivity.v49-has-analysis .productivity-form .wide{grid-column:auto;}
#productivity.v49-has-analysis .productivity-form button{grid-column:auto;min-height:39px;padding:9px 12px;}
#productivity.v49-has-analysis #prodAutoPeriodHint{display:none!important;}
#productivity.v49-has-analysis .v49-compact-status{margin-top:9px!important;padding:10px 12px!important;border-radius:12px!important;background:#f7faf9!important;border:1px solid #dfe8e5!important;display:flex!important;gap:10px!important;align-items:baseline!important;}
#productivity.v49-has-analysis .v49-compact-status strong{color:#1f5a5d!important;font-size:12px!important;}
#productivity.v49-has-analysis .v49-compact-status small{color:#65727b!important;font-size:12px!important;}
#productivity.v49-has-analysis .productivity-reconciliation{padding:11px 12px;font-size:12px;border-radius:12px;}
#productivity.v49-has-analysis .productivity-reconciliation p{margin:4px 0;}
#productivity.v49-has-analysis .v47-prod-hero{padding:22px 24px;}
#productivity.v49-has-analysis .v47-prod-kpis{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:1250px){#productivity.v49-has-analysis .productivity-layout{grid-template-columns:1fr}#productivity.v49-has-analysis .productivity-form{grid-template-columns:1fr 120px 1fr 150px}}
@media(max-width:760px){.v49-loaded-sales{grid-template-columns:40px 1fr}.v49-loaded-sales .mini-btn{grid-column:1/-1}.v49-loaded-main strong{white-space:normal}#productivity.v49-has-analysis .productivity-form{grid-template-columns:1fr}#productivity.v49-has-analysis .productivity-form .wide,#productivity.v49-has-analysis .productivity-form button{grid-column:1/-1}#productivity.v49-has-analysis .v47-prod-kpis{grid-template-columns:1fr}}

/* ===========================
   V50 - Produttività compatta: analisi prima, upload minimo
   =========================== */
#productivity.v50-has-analysis .section-intro{margin-bottom:12px;}
#productivity.v50-has-analysis #v47ProductivityDashboard{margin-top:0;margin-bottom:14px;}
#productivity.v50-has-analysis .productivity-layout{display:block;margin:10px 0 16px;}
#productivity.v50-has-analysis .productivity-layout>.panel:first-child{padding:12px 14px;border-radius:16px;background:#fbfdfc;box-shadow:none;border:1px solid #dfe8e5;}
#productivity.v50-has-analysis .productivity-layout>.panel:first-child .panel-head{display:none;}
#productivity.v50-has-analysis .productivity-layout>.panel:nth-child(2){display:none!important;}
#productivity.v50-has-analysis .productivity-form{display:grid;grid-template-columns:minmax(190px,1fr) 92px minmax(230px,1.15fr) 150px;gap:10px;align-items:end;}
#productivity.v50-has-analysis .productivity-form label{font-size:9.5px;letter-spacing:.02em;}
#productivity.v50-has-analysis .productivity-form input,#productivity.v50-has-analysis .productivity-form select{padding:9px 10px;margin-top:4px;min-height:40px;}
#productivity.v50-has-analysis .productivity-form .wide{grid-column:auto;}
#productivity.v50-has-analysis .productivity-form button{grid-column:auto;min-height:40px;padding:8px 12px;white-space:nowrap;}
#productivity.v50-has-analysis #prodAutoPeriodHint{display:none!important;}
#productivity.v50-has-analysis #productivityStatus{margin-top:8px!important;padding:9px 11px!important;border-radius:12px!important;background:#eef8f4!important;border:1px solid #cfe3dc!important;color:#24504d!important;font-size:12px!important;display:flex!important;gap:8px!important;align-items:center!important;}
#productivity.v50-has-analysis #productivityStatus strong{font-size:12px!important;color:#1f5a5d!important;}
#productivity.v50-has-analysis #productivityStatus small,#productivity.v50-has-analysis #productivityStatus p{margin:0!important;font-size:12px!important;color:#65727b!important;}
.v50-loaded-sales{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #cfe3dc;background:linear-gradient(135deg,#f2fbf7,#fff);border-radius:18px;padding:12px 14px;margin:0 0 12px;}
.v50-loaded-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#1f5a5d;color:#fff;font-weight:900;}
.v50-loaded-main{min-width:0}.v50-loaded-main strong{display:block;color:#142033;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v50-loaded-main small{display:block;color:#65727b;margin-top:3px}.v50-loaded-sales .mini-btn{white-space:nowrap;}
#productivity.v50-has-analysis .v47-prod-grid{gap:14px;}
#productivity.v50-has-analysis .v47-prod-hero{padding:18px 22px;}
#productivity.v50-has-analysis .v47-prod-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0;}
#productivity.v50-has-analysis .v47-prod-kpis div{padding:13px 14px;}
@media(max-width:1200px){#productivity.v50-has-analysis .productivity-form{grid-template-columns:1fr 92px 1fr 150px}#productivity.v50-has-analysis .v47-prod-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){.v50-loaded-sales{grid-template-columns:40px 1fr}.v50-loaded-sales .mini-btn{grid-column:1/-1}#productivity.v50-has-analysis .productivity-form{grid-template-columns:1fr}#productivity.v50-has-analysis .productivity-form .wide,#productivity.v50-has-analysis .productivity-form button{grid-column:1/-1}#productivity.v50-has-analysis .v47-prod-kpis{grid-template-columns:1fr}}


/* V51 · Produttività compatta reale */
#productivity .section-intro{margin-bottom:14px;}
#productivity .productivity-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.58fr);gap:14px;align-items:start;margin:12px 0 16px;}
#productivity .productivity-layout>.panel{padding:14px 16px;border-radius:18px;box-shadow:0 8px 22px rgba(20,32,51,.035);min-height:0!important;}
#productivity .productivity-layout .panel-head{margin-bottom:8px;}
#productivity .productivity-layout .panel-head h3{font-size:16px;}
#productivity .productivity-form{display:grid!important;grid-template-columns:minmax(190px,1fr) 96px minmax(260px,1.15fr) 150px;gap:10px;align-items:end;}
#productivity .productivity-form label{font-size:9.5px;font-weight:850;color:var(--muted);margin:0;}
#productivity .productivity-form input,#productivity .productivity-form select{min-height:40px;padding:8px 10px;margin-top:4px;border-radius:10px;}
#productivity .productivity-form .wide{grid-column:auto!important;}
#productivity .productivity-form button{grid-column:auto!important;min-height:40px;padding:8px 12px;white-space:nowrap;}
#productivity #prodAutoPeriodHint{display:none!important;}
#productivity #productivityStatus{margin-top:8px!important;padding:9px 11px!important;border-radius:12px!important;background:#eef8f4!important;border:1px solid #cfe3dc!important;color:#24504d!important;font-size:12px!important;display:flex!important;gap:8px!important;align-items:center!important;line-height:1.35;}
#productivity #productivityStatus strong{font-size:12px!important;color:#1f5a5d!important;}
#productivity #productivityStatus p,#productivity #productivityStatus small{margin:0!important;font-size:12px!important;color:#65727b!important;}
#productivity .productivity-reconciliation{padding:12px 13px;font-size:12px;border-radius:13px;}
#productivity .productivity-reconciliation p{margin:4px 0;}
#productivity #v47ProductivityDashboard:not(:empty){margin:6px 0 14px;}
#productivity .v47-empty{padding:14px 16px;border:1px dashed #cfe3dc;border-radius:16px;background:#fbfdfc;display:flex;justify-content:space-between;gap:12px;align-items:center;}
#productivity .v47-empty strong{font-size:16px;color:#142033;}
#productivity .v47-empty span{font-size:13px;color:#65727b;}
#productivity.v51-has-analysis .productivity-layout{grid-template-columns:1fr;}
#productivity.v51-has-analysis .productivity-layout>.panel:nth-child(2){display:none!important;}
#productivity.v51-has-analysis .productivity-layout>.panel:first-child{background:#fbfdfc;}
#productivity.v51-has-analysis .productivity-layout>.panel:first-child .panel-head{display:none;}
#productivity.v51-has-analysis .v47-prod-hero{padding:18px 22px;}
#productivity.v51-has-analysis .v47-prod-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0;}
#productivity.v51-has-analysis .v47-prod-kpis div{padding:13px 14px;}
@media(max-width:1250px){#productivity .productivity-layout{grid-template-columns:1fr;}#productivity .productivity-form{grid-template-columns:1fr 96px 1fr 150px;}}
@media(max-width:760px){#productivity .productivity-form{grid-template-columns:1fr!important;}#productivity .productivity-form .wide,#productivity .productivity-form button{grid-column:1/-1!important;}#productivity.v51-has-analysis .v47-prod-kpis{grid-template-columns:1fr;}}

/* V76 - Produttività: upload sopra, analisi dopo */
#productivity.v76-upload-first .productivity-layout{margin:14px 0 20px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;align-items:stretch;}
#productivity.v76-upload-first .v51-compact-upload,#productivity.v76-upload-first .v49-has-analysis .productivity-layout,#productivity.v76-upload-first .v50-has-analysis .productivity-layout{display:grid!important;opacity:1!important;visibility:visible!important;max-height:none!important;}
#productivity.v76-upload-first #v47ProductivityDashboard{margin-top:18px;}
#productivity.v76-upload-first #v50LoadedSalesBanner,#productivity.v76-upload-first #v49LoadedSalesBanner{margin:0 0 16px;}
#productivity .v76-bilancio-link{font-size:14px;line-height:1.45;}
#productivity .v76-bilancio-link.ok{border-color:#bcded6;background:#f2fbf8;}
#productivity .v76-bilancio-link.warn{border-color:#e6c4a8;background:#fff8f1;}
#productivity .v76-rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0;}
#productivity .v76-rec-grid span{border:1px solid rgba(22,92,94,.16);background:#fff;border-radius:12px;padding:10px;color:#62727a;}
#productivity .v76-rec-grid b{display:block;color:#061b33;font-size:18px;margin-top:2px;}
#productivity .v76-bilancio-link details{margin-top:8px;border-top:1px solid rgba(22,92,94,.15);padding-top:8px;}
#productivity .v76-bilancio-link summary{cursor:pointer;font-weight:900;color:#165c5e;}
#productivity .v76-bilancio-link ul{margin:8px 0 4px 18px;padding:0;}
#productivity .v76-bilancio-link small{display:block;color:#61727c;margin-top:6px;}
#productivity .productivity-form{align-items:end;}
#productivity .productivity-form label{min-width:0;}
#productivity .productivity-form label.wide{min-width:280px;}
@media(max-width:1050px){#productivity.v76-upload-first .productivity-layout{grid-template-columns:1fr;}#productivity .v76-rec-grid{grid-template-columns:1fr;}}
