/* =========================================================
   SERVENTIAX — CONTRASTE E LEGIBILIDADE V3
   Impacto: GLOBAL
   Diretriz: Midnight Blue como atmosfera dominante; branco como
   texto principal em superfícies escuras; Sand Gold como assinatura.
   Superfícies claras ficam reservadas a campos e leitura jurídica longa.
   ========================================================= */

:root{
  --sx-v3-canvas:#0D1B2A;
  --sx-v3-canvas-deep:#071522;
  --sx-v3-panel:#122A3C;
  --sx-v3-panel-2:#17364B;
  --sx-v3-panel-soft:#1B3C52;
  --sx-v3-text:#FFFFFF;
  --sx-v3-text-muted:#D8E1E7;
  --sx-v3-text-soft:#B8C7D0;
  --sx-v3-line:rgba(255,255,255,.14);
  --sx-v3-line-strong:rgba(237,204,149,.34);
  --sx-v3-field:#FFFFFF;
  --sx-v3-field-text:#172634;
  --sx-v3-shadow:0 22px 60px rgba(2,10,17,.24);
}

/* Regra transversal de legibilidade */
:where(.sx-dashboard,.sx-auth-page,.sx-conecta-overlay,.sx-citizen,.dashboard-shell,.qx-shell,.vm-shell,.admin-page,.settings-page,.team-page,.jx-page,.qa-archive,.user-manual,.sx-start-hub){
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
:where(.sx-dashboard,.sx-auth-page,.sx-conecta-overlay,.sx-citizen,.dashboard-shell,.qx-shell,.vm-shell,.admin-page,.settings-page,.team-page,.jx-page,.qa-archive,.user-manual,.sx-start-hub) :where(p,small,label,li,td,th){
  font-weight:max(var(--sx-weight-regular),450);
}

/* =========================================================
   CONECTA — LOGIN E DASHBOARD
   ========================================================= */
body.sx-conecta-standalone{background:var(--sx-v3-canvas)!important;color:var(--sx-v3-text)!important}
.sx-auth-page{background:var(--sx-v3-canvas)!important;color:var(--sx-v3-text)!important}
.sx-auth-form-panel{background:radial-gradient(circle at 88% 8%,rgba(201,154,93,.10),transparent 24%),linear-gradient(145deg,var(--sx-v3-canvas-deep),var(--sx-v3-canvas))!important}
.sx-auth-card{background:linear-gradient(155deg,var(--sx-v3-panel-2),var(--sx-v3-panel))!important;border-color:var(--sx-v3-line)!important;box-shadow:var(--sx-v3-shadow)!important}
.sx-auth-card h2,.sx-auth-card label,.sx-auth-mobile-brand,.sx-auth-security strong,.sx-free-link strong{color:var(--sx-v3-text)!important}
.sx-auth-card>p,.sx-auth-security,.sx-free-link small{color:var(--sx-v3-text-muted)!important}
.sx-auth-card>.sx-kicker,.sx-forgot{color:var(--sx-gold-light)!important}
.sx-auth-tabs{background:rgba(255,255,255,.055)!important;border-color:var(--sx-v3-line)!important}
.sx-auth-tabs button{color:var(--sx-v3-text-muted)!important}
.sx-auth-tabs button.active{background:rgba(255,255,255,.11)!important;color:#fff!important;box-shadow:none!important}
.sx-auth-security{border-color:var(--sx-v3-line)!important}
.sx-free-link{background:rgba(201,154,93,.08)!important;border-color:var(--sx-v3-line-strong)!important;box-shadow:none!important}
.sx-auth-card input,.sx-auth-card select,.sx-auth-card textarea{background:var(--sx-v3-field)!important;color:var(--sx-v3-field-text)!important;border-color:#CAD2D8!important}
.sx-auth-card input::placeholder{color:#667783!important;opacity:1}

.sx-dashboard{background:linear-gradient(145deg,var(--sx-v3-canvas-deep),var(--sx-v3-canvas) 58%,#10283A)!important;color:var(--sx-v3-text)!important}
.sx-dash-main{background:radial-gradient(circle at 96% 4%,rgba(201,154,93,.08),transparent 19%),linear-gradient(160deg,var(--sx-v3-panel),#0F2535)!important;border-color:var(--sx-v3-line)!important;box-shadow:var(--sx-v3-shadow)!important}
.sx-dash-top{border-color:var(--sx-v3-line)!important}
.sx-dash-top h1{color:#fff!important}.sx-dash-top span{color:var(--sx-gold-light)!important}
.sx-secure-pill{background:rgba(255,255,255,.055)!important;color:var(--sx-v3-text-muted)!important;border-color:var(--sx-v3-line)!important;box-shadow:none!important}
.sx-help-hero{background:radial-gradient(circle at 88% 38%,rgba(201,154,93,.14),transparent 25%),linear-gradient(120deg,#061421,var(--sx-midnight) 58%,#153A54)!important;border-color:var(--sx-v3-line-strong)!important}
.sx-help-hero p{color:var(--sx-v3-text-muted)!important}
.sx-dash-card,.sx-dash-card.primary,.sx-dash-card.free,.sx-dash-lower article{background:linear-gradient(150deg,var(--sx-v3-panel-2),var(--sx-v3-panel))!important;color:#fff!important;border-color:var(--sx-v3-line)!important;box-shadow:0 10px 28px rgba(2,10,17,.16)!important}
.sx-dash-card:hover{border-color:rgba(237,204,149,.52)!important;box-shadow:0 16px 36px rgba(2,10,17,.24)!important}
.sx-dash-card h3,.sx-dash-lower strong,.sx-dash-main footer strong{color:#fff!important}
.sx-dash-card p,.sx-dash-lower p,.sx-dash-main footer{color:var(--sx-v3-text-muted)!important}
.sx-dash-card small{color:#C6D3DB!important}.sx-dash-card b{color:var(--sx-gold-light)!important}
.sx-dash-card:nth-child(2) b,.sx-dash-card:nth-child(3) b{color:#7DDBDE!important}
.sx-dash-main footer{border-color:var(--sx-v3-line)!important}

/* =========================================================
   CONECTA — FLUXOS INTERNOS
   ========================================================= */
body.sx-conecta-standalone .sx-conecta-overlay{background:radial-gradient(circle at 96% 3%,rgba(201,154,93,.08),transparent 19%),linear-gradient(145deg,var(--sx-v3-canvas-deep),var(--sx-v3-canvas))!important;color:#fff!important}
body.sx-conecta-standalone .sx-conecta-main{color:#fff!important}
body.sx-conecta-standalone .sx-conecta-action,
body.sx-conecta-standalone .sx-protocol-head,
body.sx-conecta-standalone .sx-title-option,
body.sx-conecta-standalone .sx-precheck,
body.sx-conecta-standalone .sx-unknown-box{
  background:linear-gradient(150deg,var(--sx-v3-panel-2),var(--sx-v3-panel))!important;
  color:#fff!important;border-color:var(--sx-v3-line)!important;box-shadow:0 10px 28px rgba(2,10,17,.16)!important
}
body.sx-conecta-standalone :is(.sx-conecta-action,.sx-protocol-head,.sx-title-option,.sx-precheck,.sx-unknown-box) :is(h1,h2,h3,h4,strong){color:#fff!important}
body.sx-conecta-standalone :is(.sx-conecta-action,.sx-protocol-head,.sx-title-option,.sx-precheck,.sx-unknown-box) :is(p,small,li){color:var(--sx-v3-text-muted)!important}
body.sx-conecta-standalone .sx-conecta-footer-note{color:var(--sx-v3-text-muted)!important}
body.sx-conecta-standalone .sx-conecta-back,body.sx-conecta-standalone .sx-protocol-progress span{background:rgba(255,255,255,.055)!important;color:var(--sx-v3-text-muted)!important;border-color:var(--sx-v3-line)!important}
body.sx-conecta-standalone .sx-protocol-progress span.active{background:rgba(201,154,93,.16)!important;color:var(--sx-gold-light)!important;border-color:var(--sx-v3-line-strong)!important}
body.sx-conecta-standalone .sx-tristate button{background:rgba(255,255,255,.065)!important;color:#fff!important;border-color:var(--sx-v3-line)!important}
body.sx-conecta-standalone :is(input,select,textarea){background:#fff!important;color:var(--sx-v3-field-text)!important;border-color:#CAD2D8!important}
body.sx-conecta-standalone :is(input,textarea)::placeholder{color:#667783!important;opacity:1}
body.sx-conecta-standalone [class*="-overlay"]>[class*="-shell"]{background:linear-gradient(145deg,var(--sx-v3-canvas-deep),var(--sx-v3-canvas))!important;color:#fff!important}
body.sx-conecta-standalone :is(
 [class^="sx-"][class*="-profile"],[class^="sx-"][class*="-precheck"],[class^="sx-"][class*="-conditional"],
 [class^="sx-"][class*="-version"],[class^="sx-"][class*="-legal"],[class^="sx-"][class*="-empty"],
 [class^="sx-"][class*="-panel"],[class^="sx-"][class*="-callout"],[class^="sx-"][class*="-emol"]
){background:linear-gradient(150deg,var(--sx-v3-panel-2),var(--sx-v3-panel))!important;color:#fff!important;border-color:var(--sx-v3-line)!important}
body.sx-conecta-standalone :is([class^="sx-"][class*="-profile"],[class^="sx-"][class*="-precheck"],[class^="sx-"][class*="-conditional"],[class^="sx-"][class*="-version"],[class^="sx-"][class*="-legal"],[class^="sx-"][class*="-empty"],[class^="sx-"][class*="-panel"]) :is(h2,h3,h4,strong,label){color:#fff!important}
body.sx-conecta-standalone :is([class^="sx-"][class*="-profile"],[class^="sx-"][class*="-precheck"],[class^="sx-"][class*="-conditional"],[class^="sx-"][class*="-version"],[class^="sx-"][class*="-legal"],[class^="sx-"][class*="-empty"],[class^="sx-"][class*="-panel"]) :is(p,small,li){color:var(--sx-v3-text-muted)!important}

/* =========================================================
   SERVENTIA CIDADÃO
   ========================================================= */
body.sx-citizen{background:linear-gradient(145deg,var(--sx-v3-canvas-deep),var(--sx-v3-canvas))!important;color:#fff!important}
.sx-citizen-main{color:#fff!important}
.sx-section-head h2,.sx-guide-title strong,.sx-guide-ready h4,.sx-step h4,.sx-citizen-notice strong{color:#fff!important}
.sx-section-head>div>p:last-child,.sx-guide-actions p,.sx-step p,.sx-citizen-notice p,.sx-official-hub-head span{color:var(--sx-v3-text-muted)!important}
.sx-review-chip{background:rgba(255,255,255,.06)!important;color:var(--sx-v3-text-muted)!important;border-color:var(--sx-v3-line)!important}
.sx-service-card,.sx-guide,.sx-guide-body,.sx-guide-ready,.sx-step,.sx-citizen-notice{background:linear-gradient(150deg,var(--sx-v3-panel-2),var(--sx-v3-panel))!important;color:#fff!important;border-color:var(--sx-v3-line)!important;box-shadow:0 10px 28px rgba(2,10,17,.16)!important}
.sx-service-card h3{color:#fff!important}.sx-service-card p{color:var(--sx-v3-text-muted)!important}.sx-service-card small,.sx-service-card b{color:var(--sx-gold-light)!important}
.sx-guide[open]{border-color:var(--sx-v3-line-strong)!important;box-shadow:var(--sx-v3-shadow)!important}
.sx-guide summary{background:rgba(255,255,255,.025)!important}.sx-guide-toggle{color:var(--sx-v3-text-muted)!important}
.sx-ready-list span{background:rgba(255,255,255,.06)!important;color:var(--sx-v3-text-muted)!important;border-color:var(--sx-v3-line)!important}
.sx-guide-alert{background:rgba(201,154,93,.13)!important;color:#F5E5C8!important;border-left-color:var(--sx-gold)!important}
.sx-official-hub{background:linear-gradient(145deg,#061421,var(--sx-midnight),#12334B)!important;border:1px solid var(--sx-v3-line-strong)!important}
.sx-official-card{background:rgba(255,255,255,.055)!important;border-color:var(--sx-v3-line)!important}.sx-official-card p{color:var(--sx-v3-text-muted)!important}
.sx-citizen-footer{background:var(--sx-v3-canvas-deep)!important;color:var(--sx-v3-text-muted)!important;border-color:var(--sx-v3-line)!important}.sx-citizen-footer strong{color:#fff!important}

/* =========================================================
   SERVENTIAX PROFISSIONAL — ESTRUTURA E MÓDULOS
   ========================================================= */
:is(.dashboard-shell,.qx-shell,.vm-shell,.admin-page,.settings-page,.team-page,.jx-page,.qa-archive){background:linear-gradient(145deg,var(--sx-v3-canvas-deep),var(--sx-v3-canvas))!important;color:#fff!important}
.dashboard-main{background:transparent!important;color:#fff!important}
.dashboard-topbar,.quick-card,.dashboard-shell .panel,.dashboard-lower-grid .panel{
  background:linear-gradient(150deg,var(--sx-v3-panel-2),var(--sx-v3-panel))!important;
  color:#fff!important;border-color:var(--sx-v3-line)!important;box-shadow:0 10px 28px rgba(2,10,17,.16)!important
}
.dashboard-shell :is(h1,h2,h3,h4,strong){color:#fff!important}
.dashboard-shell :is(p,small,span:not(.status-pill)){color:var(--sx-v3-text-muted)}
.dashboard-shell :is(input,select,textarea){background:#fff!important;color:var(--sx-v3-field-text)!important;border-color:#CAD2D8!important}

:is(.qx-knowledge-head,.qx-guide-panel,.qx-guide-intro,.qx-document-group,.qx-legal-panel,.qx-review-panel,
.vm-search-card,.vm-result,.vm-side-card,.ep-panel,.qa-header,.qa-dossier-head,.qa-preventive,.qa-review-box,.qa-timeline,
.admin-panel,.admin-metrics article,.settings-panel,.settings-current,.team-panel,.team-metrics article,.team-modal,
.jx-panel,.jx-summary article,.jx-source,.jx-compact,.user-manual,.sx-start-hub,.sx-assistant-chat,.sx-assistant-window,.sx-status-panel){
  background:linear-gradient(150deg,var(--sx-v3-panel-2),var(--sx-v3-panel))!important;color:#fff!important;border-color:var(--sx-v3-line)!important;box-shadow:0 10px 28px rgba(2,10,17,.16)!important
}
:is(.qx-shell,.vm-shell,.ep-panel,.qa-archive,.admin-page,.settings-page,.team-page,.jx-page,.user-manual,.sx-start-hub,.sx-assistant-runtime) :is(h1,h2,h3,h4,strong,label){color:#fff!important}
:is(.qx-shell,.vm-shell,.ep-panel,.qa-archive,.admin-page,.settings-page,.team-page,.jx-page,.user-manual,.sx-start-hub,.sx-assistant-runtime) :is(p,small,li){color:var(--sx-v3-text-muted)}
:is(.qx-shell,.vm-shell,.ep-panel,.qa-archive,.admin-page,.settings-page,.team-page,.jx-page,.user-manual,.sx-start-hub,.sx-assistant-runtime) :is(input,select,textarea){background:#fff!important;color:var(--sx-v3-field-text)!important;border-color:#CAD2D8!important}
:is(.qx-shell,.vm-shell,.ep-panel,.qa-archive,.admin-page,.settings-page,.team-page,.jx-page,.user-manual,.sx-start-hub,.sx-assistant-runtime) :is(input,textarea)::placeholder{color:#667783!important;opacity:1}
.qx-service-picker,.qa-command-bar,.qa-list-panel,.qa-progress-card,.admin-secondary,.settings-secondary,.sx-start-action,.user-manual__topics button.active{background:rgba(255,255,255,.055)!important;color:#fff!important;border-color:var(--sx-v3-line)!important}
.qx-tabs{border-color:var(--sx-v3-line)!important}.qx-tabs button{color:var(--sx-v3-text-muted)!important}.qx-tabs button.active{background:rgba(201,154,93,.14)!important;color:#fff!important}
.qx-procedure-list>article{background:rgba(255,255,255,.045)!important;border-color:var(--sx-v3-line)!important}
.ep-matrix>div,.ep-result-grid>div,.ep-act-summary{background:rgba(255,255,255,.055)!important;border-color:var(--sx-v3-line)!important;color:#fff!important}
.qa-current-actions button.secondary{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:var(--sx-v3-line)!important}

/* Exceção de leitura: textos normativos longos e documentos densos permanecem claros */
.vm-official-text,.vm-result-law,.vm-result-law>pre,.qx-shell .qx-official-text,.qx-shell pre[data-legal-text],.user-manual__article{
  background:#FBFAF7!important;color:#152A3A!important;border-color:#D9D4CB!important
}
.vm-official-text,.vm-result-law>pre{font-weight:500!important;line-height:1.72!important}
.vm-result-law :is(h1,h2,h3,h4,strong,p,small,li,pre),.vm-official-text :is(h1,h2,h3,h4,strong,p,small,li,pre),.user-manual__article :is(h1,h2,h3,h4,strong,p,small,li){color:#152A3A!important}

/* Semântica em fundo escuro */
.qx-document-group.group-core>header{background:rgba(14,165,168,.16)!important}.qx-document-group.group-conditional>header{background:rgba(201,154,93,.16)!important}.qx-document-group.group-avoid>header{background:rgba(155,60,60,.18)!important}
.sx-chat-message,.sx-status-proof{background:rgba(14,165,168,.13)!important;color:#fff!important}.sx-chat-quick button{background:rgba(255,255,255,.055)!important;color:#fff!important;border-color:var(--sx-v3-line)!important}

/* Alto contraste e foco */
:where(.sx-dashboard,.sx-auth-page,.sx-conecta-overlay,.sx-citizen,.dashboard-shell,.qx-shell,.vm-shell,.admin-page,.settings-page,.team-page,.jx-page,.qa-archive,.user-manual,.sx-start-hub) :where(a,button):focus-visible{
  outline:3px solid var(--sx-gold-light)!important;outline-offset:3px!important
}

@media(max-width:650px){
  .sx-dash-main{background:var(--sx-v3-panel)!important}
  .sx-citizen-main{padding-left:16px!important;padding-right:16px!important}
}

@media(prefers-reduced-motion:reduce){
  .sx-dash-card,.sx-service-card,.sx-start-action{transform:none!important}
}
