/* =========================================================
   SERVENTIAX — BRAND GUIDE V1 / SYSTEM ENFORCEMENT
   Fonte visual: identidade institucional aprovada pelo projeto.
   Esta folha deve ser carregada DEPOIS de serventiax-brand-lock.css.
   Objetivo: impedir que módulos novos criem uma identidade paralela.
   ========================================================= */

:root{
  --sx-midnight:#0D1B2A;
  --sx-midnight-deep:#061421;
  --sx-midnight-soft:#153650;
  --sx-gold:#C99A5D;
  --sx-gold-light:#EDCC95;
  --sx-gold-dark:#92602D;
  --sx-graphite:#1F2328;
  --sx-ivory:#F7F6F2;
  --sx-ivory-deep:#EFEAE2;
  --sx-white:#FFFFFF;
  --sx-teal:#0EA5A8;
  --sx-teal-soft:#E6F6F6;
  --sx-muted:#69737D;
  --sx-line:#E3DED6;
  --sx-danger:#9B3C3C;
  --sx-danger-soft:#FFF1F0;
  --sx-gold-gradient:linear-gradient(135deg,#F3D89F 0%,#DFB575 30%,#C99A5D 57%,#94612E 100%);
  --sx-navy-gradient:linear-gradient(145deg,#061421 0%,#0D1B2A 55%,#12334B 100%);
  --sx-card-shadow:0 12px 34px rgba(13,27,42,.065);
}

html,body,button,input,select,textarea{
  font-family:'Manrope Variable','Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
}

/* ---------- MARCA OFICIAL ---------- */
.brand-symbol{
  object-fit:contain!important;
  filter:drop-shadow(0 7px 12px rgba(2,10,17,.28))!important;
}
.brand{color:#F8F6F1!important;font-weight:620!important}
.brand span{color:var(--sx-gold)!important;font-weight:730!important}
.brand small{color:#BEC8CF!important;text-transform:uppercase!important;letter-spacing:1.45px!important}

/* ---------- MOTOR DE PADRONIZAÇÃO DOS MÓDULOS ---------- */
[data-conecta-act]{
  color:var(--sx-graphite)!important;
  font-family:'Manrope Variable','Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  background:transparent!important;
  --sx-module-navy:var(--sx-midnight);
  --sx-module-gold:var(--sx-gold);
  --sx-module-teal:var(--sx-teal);
}

[data-conecta-act] :where(h1,h2,h3,h4,strong){color:var(--sx-midnight)}
[data-conecta-act] :where(p,small){color:var(--sx-muted)}

[data-conecta-act] > div[class*="-shell"],
[data-conecta-act] div[class*="-shell"]{
  color:var(--sx-graphite)!important;
  background:linear-gradient(180deg,var(--sx-ivory) 0%,#F1EDE6 100%)!important;
}

/* Hero dos atos: sempre Midnight Blue + Sand Gold + símbolo oficial */
[data-conecta-act] section[class*="-hero"],
[data-conecta-act] div[class*="-hero"]{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 13% 20%,rgba(201,154,93,.14),transparent 25%),
    radial-gradient(circle at 90% 75%,rgba(14,165,168,.08),transparent 27%),
    var(--sx-navy-gradient)!important;
  border:1px solid rgba(201,154,93,.25)!important;
  box-shadow:0 20px 46px rgba(6,20,33,.13)!important;
}
[data-conecta-act] section[class*="-hero"]::after,
[data-conecta-act] div[class*="-hero"]::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  right:22px!important;
  top:50%!important;
  width:120px!important;
  height:155px!important;
  transform:translateY(-50%)!important;
  background:url('/serventiax-symbol.svg') center/contain no-repeat!important;
  opacity:.11!important;
  pointer-events:none!important;
}
[data-conecta-act] section[class*="-hero"] > *,
[data-conecta-act] div[class*="-hero"] > *{position:relative!important;z-index:1!important}
[data-conecta-act] [class*="-hero"] :where(h1,h2,h3,strong){color:#fff!important}
[data-conecta-act] [class*="-hero"] :where(p,small){color:#CAD4DA!important}
[data-conecta-act] [class*="-hero"] span{color:var(--sx-gold-light)!important}

/* Cards, seções e painéis */
[data-conecta-act] section[class^="sx-"],
[data-conecta-act] section[class*=" sx-"],
[data-conecta-act] [class*="-card"]{
  border-color:var(--sx-line)!important;
  box-shadow:var(--sx-card-shadow)!important;
}
[data-conecta-act] section[class^="sx-"]:not([class*="-hero"]),
[data-conecta-act] section[class*=" sx-"]:not([class*="-hero"]),
[data-conecta-act] [class*="-card"]:not([class*="-hero"]){
  background:rgba(255,255,255,.96)!important;
}
[data-conecta-act] [class*="-card"] h3,
[data-conecta-act] [class*="-section"] h3{color:var(--sx-midnight)!important;font-weight:700!important}

/* Rotas e escolhas principais */
[data-conecta-act] [class*="-route-grid"] > button,
[data-conecta-act] button[class*="-route"]{
  color:var(--sx-graphite)!important;
  background:#fff!important;
  border:1px solid var(--sx-line)!important;
  box-shadow:0 7px 18px rgba(13,27,42,.035)!important;
}
[data-conecta-act] [class*="-route-grid"] > button:hover,
[data-conecta-act] button[class*="-route"]:hover{
  border-color:rgba(201,154,93,.62)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 12px 28px rgba(13,27,42,.075)!important;
}
[data-conecta-act] [class*="-route-grid"] > button.active,
[data-conecta-act] button[class*="-route"].active{
  color:var(--sx-midnight)!important;
  background:linear-gradient(145deg,#FFF8ED 0%,#F8E9D3 100%)!important;
  border-color:var(--sx-gold)!important;
  box-shadow:inset 3px 0 0 var(--sx-gold),0 10px 24px rgba(13,27,42,.06)!important;
}
[data-conecta-act] [class*="-route-grid"] > button b,
[data-conecta-act] [class*="-route-grid"] > button strong,
[data-conecta-act] button[class*="-route"] strong{color:var(--sx-midnight)!important}

/* Formulários */
[data-conecta-act] :where(input,select,textarea){
  color:var(--sx-graphite)!important;
  background:#FFF!important;
  border-color:#D9D5CE!important;
  border-radius:10px!important;
}
[data-conecta-act] :where(input,select,textarea):focus{
  border-color:var(--sx-gold)!important;
  box-shadow:0 0 0 3px rgba(201,154,93,.13)!important;
  outline:none!important;
}
[data-conecta-act] label > span,
[data-conecta-act] [class*="-field"] > span{color:#40515F!important;font-weight:720!important}
[data-conecta-act] [class*="-field"] small{color:#7A848C!important}

/* Tri-state / pequenos controles */
[data-conecta-act] [class*="-tri"] button{
  border-color:#D9D5CE!important;
  color:#53616B!important;
  background:#FAF9F6!important;
}
[data-conecta-act] [class*="-tri"] button.active{
  border-color:var(--sx-gold)!important;
  background:#FFF6E9!important;
  color:var(--sx-midnight)!important;
}

/* Ações */
[data-conecta-act] button[class*="-primary"],
[data-conecta-act] [class*="-actions"] button:last-child{
  color:#fff!important;
  background:linear-gradient(105deg,var(--sx-midnight),#173C58)!important;
  border-color:transparent!important;
  box-shadow:0 10px 24px rgba(13,27,42,.14)!important;
}
[data-conecta-act] button[class*="-primary"]:hover,
[data-conecta-act] [class*="-actions"] button:last-child:hover{
  background:linear-gradient(105deg,#132C42,#1B4869)!important;
  transform:translateY(-1px)!important;
}
[data-conecta-act] [class*="-actions"] button:first-child:not(:last-child),
[data-conecta-act] button[class*="-back"]{
  color:var(--sx-midnight)!important;
  background:#FFF!important;
  border-color:#DCD7CF!important;
}

/* Alertas e status — sem perder semântica de segurança */
[data-conecta-act] [class*="-alert"]{
  color:#5A4A36!important;
  background:#FFF8EC!important;
  border-color:rgba(201,154,93,.35)!important;
}
[data-conecta-act] [class*="-status"].ready,
[data-conecta-act] [class*="-pill"].green{
  color:#076F72!important;
  background:var(--sx-teal-soft)!important;
  border-color:rgba(14,165,168,.35)!important;
}
[data-conecta-act] [class*="-status"].review,
[data-conecta-act] [class*="-pill"].yellow{
  color:#81592B!important;
  background:#FFF7E9!important;
  border-color:rgba(201,154,93,.42)!important;
}
[data-conecta-act] [class*="-status"].blocked,
[data-conecta-act] [class*="-pill"].red{
  color:#7E3030!important;
  background:var(--sx-danger-soft)!important;
  border-color:rgba(155,60,60,.28)!important;
}

/* Fontes e links jurídicos */
[data-conecta-act] [class*="-sources"] a,
[data-conecta-act] a[href^="http"]{
  color:#855B2B!important;
  text-decoration-color:rgba(201,154,93,.45)!important;
}
[data-conecta-act] [class*="-sources"] a:hover,
[data-conecta-act] a[href^="http"]:hover{color:var(--sx-gold-dark)!important}

/* RequerimentoX / dialogs / drawers */
[data-conecta-act] [class*="-dialog"],
[data-conecta-act] [class*="-drawer"] > div,
[class*="sx-"][role="dialog"]{
  color:var(--sx-graphite)!important;
  background:#FFF!important;
  border-color:var(--sx-line)!important;
  box-shadow:0 28px 72px rgba(6,20,33,.22)!important;
}
[class*="sx-"][role="dialog"] h3,
[data-conecta-act] [class*="-dialog"] h3{color:var(--sx-midnight)!important}

/* ---------- CONFIGURAÇÕES / ADMIN ---------- */
#serventiax-settings-runtime{background:var(--sx-ivory-deep)!important}
.settings-page{
  background:radial-gradient(circle at 90% 6%,rgba(201,154,93,.09),transparent 22%),linear-gradient(180deg,var(--sx-ivory) 0%,var(--sx-ivory-deep) 100%)!important;
}
.settings-header h1,.settings-panel-head h2,.upload-zone strong,.settings-current strong{color:var(--sx-midnight)!important}
.settings-header p,.settings-panel-head p,.upload-zone span,.settings-current small{color:var(--sx-muted)!important}
.settings-panel{border-color:var(--sx-line)!important;border-radius:18px!important;box-shadow:var(--sx-card-shadow)!important}
.logo-preview-frame{background:var(--sx-navy-gradient)!important}
.brand-sample img{background:transparent!important;border-radius:12px!important}
.settings-note,.settings-current,.upload-zone{background:#FBFAF7!important;border-color:var(--sx-line)!important}
.upload-icon{background:#F7E8D2!important;color:var(--sx-gold-dark)!important}
.upload-button,.settings-primary{background:linear-gradient(105deg,var(--sx-midnight),#173C58)!important;color:#fff!important}
.settings-secondary{background:#F3EFE8!important;color:var(--sx-midnight)!important}
.settings-back{color:var(--sx-midnight)!important}

/* ---------- ACESSIBILIDADE / RESPONSIVIDADE ---------- */
[data-conecta-act] button:focus-visible,
[data-conecta-act] a:focus-visible,
[data-conecta-act] input:focus-visible,
[data-conecta-act] select:focus-visible,
[data-conecta-act] textarea:focus-visible{
  outline:2px solid rgba(201,154,93,.82)!important;
  outline-offset:2px!important;
}

@media (max-width:760px){
  [data-conecta-act] section[class*="-hero"]::after,
  [data-conecta-act] div[class*="-hero"]::after{width:82px!important;height:108px!important;right:12px!important;opacity:.08!important}
  [data-conecta-act] [class*="-route-grid"]{grid-template-columns:1fr!important}
  .settings-page{padding:18px!important}
  .settings-panel{padding:20px!important}
}
