:root{
  --ink:#17222f;
  --navy:#142b4a;
  --blue:#245b91;
  --sky:#78a9d1;
  --ice:#f3f7fa;
  --soft-blue:#e7f0f7;
  --line:#d6e1ea;
  --muted:#657487;
  --success:#2e7d65;
}

html{background:var(--ice)}
body,.home-page{color:var(--ink);background:var(--ice)}
button:focus-visible,.dropzone:focus-visible{outline-color:var(--sky)}
.topbar{background:#fff;border-color:var(--line)}
.brand,.brand-link{color:var(--navy)}
.brand b{color:var(--blue)}
.brand-mark{background:var(--navy)}
.brand-mark span{color:#9fc8ea}
.top-note{color:#7a8899}
.main-nav a{color:#657487}
.main-nav a:hover,.main-nav a.active{background:var(--soft-blue);color:var(--blue)}
.main-nav a.active{box-shadow:inset 0 0 0 1px #c9dcea}
.eyebrow{color:var(--blue)}
.dot{background:var(--sky)}
.hero h1,.ops-hero h1,.library-hero h1,.services-hero h1{color:var(--navy)}
.hero h1 em,.ops-hero h1 em,.library-hero h1 em,.services-hero h1 em{color:var(--blue)}
.hero p,.ops-hero p,.library-hero>div p,.services-hero-grid>div>p{color:var(--muted)}
footer{color:#7d8b9a}

/* Analisi documenti */
.panel,.empty-state,.results,.module-workspace,.law-card,.provider-card{border-color:var(--line);box-shadow:0 14px 40px rgba(20,43,74,.06)}
.step,.workspace-toolbar>div:first-child span,.section-number,.service-section-head>div>span{color:var(--blue);background:var(--soft-blue)}
.dropzone{border-color:#a9c4d9;background:#f8fbfd;color:#53677b}
.dropzone.drag{background:#e9f2f8;border-color:var(--blue)}
.upload-icon{background:var(--soft-blue);color:var(--blue)}
.dropzone strong{color:var(--navy)}
.dropzone u{color:var(--blue)}
.primary{background:var(--blue)}
.primary:hover:not(:disabled){background:#1c4976}
.primary:disabled{background:#9eafbd}
.secondary{background:var(--soft-blue);color:var(--blue)}
.info-card{background:var(--soft-blue);color:#315875}
.info-symbol{color:var(--blue)}
.info-card p{color:#60768a}
.s2 i{background:var(--success)}
.badge,.citation,.tab span{background:var(--soft-blue);color:var(--blue)}
.tab.active{color:var(--blue);border-color:var(--blue)}
.check-item input{accent-color:var(--success)}

/* Home */
.home-page{background:var(--ice)}
.hero-copy h1{color:var(--navy)}
.hero-copy h1 em{color:var(--blue)}
.hero-lead,.section-intro p,.path-card p{color:var(--muted)}
.home-primary{background:var(--blue);box-shadow:0 12px 28px rgba(36,91,145,.22)}
.home-primary:hover{background:#1c4976}
.home-secondary{color:var(--navy);border-color:#b8c9d7;background:rgba(255,255,255,.72)}
.home-disclaimer{color:#728092}
.passport-preview,.outcome-section{background:var(--navy);box-shadow:0 28px 70px rgba(20,43,74,.22)}
.passport-preview:after{background:var(--sky)}
.status-pill{background:rgba(120,169,209,.14);color:#b9ddf7;border-color:rgba(185,221,247,.28)}
.company-icon{background:var(--ice);color:var(--navy)}
.readiness strong{color:#a9d2f0}
.progress i{background:var(--sky)}
.passport-list li>span,.section-kicker,.path-card strong{color:var(--blue)}
.passport-list li b{color:#75c3a5}
.path-card{border-color:var(--line);color:var(--navy)}
.path-card.featured{background:#e7f0f7;border-color:#a8c5dc}
.path-icon{background:var(--ice);color:var(--blue)}
.path-card.featured .path-icon{background:var(--navy)}
.section-kicker.light,.outcome-list>div>span{color:#9fc8ea}
.outcome-copy p,.outcome-list small{color:#b7c6d5}

/* Area azienda */
.ops-status{border-color:var(--line);box-shadow:0 10px 30px rgba(20,43,74,.05)}
.ops-status div{border-color:#e3eaf0}
.ops-status span{color:var(--blue)}
.local-notice,.dossier-actions .outline{background:var(--soft-blue);border-color:#cedeea}
.local-notice>span{background:#d7e8f4;color:var(--blue)}
.local-notice strong{color:var(--navy)}
.module-nav{background:var(--navy)}
.module-nav b{color:#9fc8ea}
.module-nav button{color:#c0ceda}
.module-nav small{color:#92a9bd}
.module-workspace,.workspace-toolbar,.subsection,.decision-grid>div,.dossier-preview{border-color:var(--line)}
.workspace-toolbar strong,.panel-intro h2,.subsection-head h3,.data-row strong,.matrix-row strong{color:var(--navy)}
.tool-btn{border-color:var(--line);background:#f8fafc;color:#52687c}
label{color:#5e7184}
input,textarea,select{color:var(--ink);background:#fbfdfe;border-color:#cfdce6}
input:focus,textarea:focus,select:focus{border-color:var(--sky);box-shadow:0 0 0 3px #e4eff7}
.inline-form button,.stack-form>button,.dossier-actions button{background:var(--blue)}
.data-row,.stack-form,.timeline-row{background:#f6f9fb;border-color:#dce5ec}
.priority-tag,.status-yes,.archive-card .outcome{background:#e3f2ec;color:var(--success)}
.decision-card,.total-card{background:var(--navy)}
.decision-card p,.total-card span{color:#bdcad6}
.score-ring{border-color:#78a9d1}
.dossier-summary div{background:var(--soft-blue)}
.dossier-summary strong{color:var(--blue)}
.timeline-row{border-left-color:var(--blue)}
.task-row input{accent-color:var(--success)}

/* Biblioteca e servizi */
.library-notice,.independence-note,.verification-tool{border-color:#cedeea;background:var(--soft-blue)}
.library-notice>span,.independence-note>span{background:var(--blue)}
.library-notice strong,.independence-note strong,.verification-tool h3{color:var(--navy)}
.category-nav a,.service-categories a{border-color:var(--line);color:var(--navy);box-shadow:0 8px 26px rgba(20,43,74,.05)}
.category-nav a:hover,.service-categories a:hover{border-color:#9dbbd2}
.category-icon,.service-categories>a>span{background:var(--soft-blue);color:var(--blue)}
.law-section-head,.service-section-head{border-color:var(--line)}
.law-section-head h2,.service-section-head h2,.law-card h3,.provider-card h3,.future-services h2{color:var(--navy)}
.law-type,.provider-monogram{background:var(--blue)}
.official-chip,.provider-tags span,.future-tags span{color:var(--blue);background:var(--soft-blue)}
.law-summary,.useful-for,.section-caution{background:#f5f8fb}
.law-summary h4,.useful-for>span,.institution-tag{color:var(--blue)}
.law-points li:before,.useful-for li:before{color:var(--success)}
.official-link,.provider-card>a{color:var(--blue)}
.library-next,.choice-guide{background:var(--navy)}
.library-next>div>span,.choice-guide>div>span,.choice-guide li>b{color:#9fc8ea}
.library-next a{background:var(--soft-blue);color:var(--blue)}
.verification-tool a{color:var(--blue)}
.future-services{border-color:var(--line)}
.future-services>div>span{color:var(--blue)}
