/* GOVA Soft V2.84 — UI adaptativa e contraste integral */
:root{
  --ui-bg:color-mix(in srgb,var(--brand-dark-2,#120818) 88%,#050507 12%);
  --ui-surface:color-mix(in srgb,var(--brand-dark,#281030) 76%,#111015 24%);
  --ui-surface-2:color-mix(in srgb,var(--brand,#8c2bd2) 11%,var(--ui-surface));
  --ui-surface-3:color-mix(in srgb,var(--brand,#8c2bd2) 18%,var(--ui-surface));
  --ui-border:color-mix(in srgb,var(--brand,#8c2bd2) 45%,#777 18%);
  --ui-border-soft:color-mix(in srgb,var(--brand,#8c2bd2) 24%,#555 20%);
  --ui-text:#f8f7fb;
  --ui-muted:color-mix(in srgb,var(--brand-soft,#ddd) 58%,#c6c5cc 42%);
  --ui-action:color-mix(in srgb,var(--brand,#8c2bd2) 72%,#000 28%);
  --ui-action-hover:color-mix(in srgb,var(--brand,#8c2bd2) 84%,#000 16%);
  --ui-action-soft:color-mix(in srgb,var(--brand,#8c2bd2) 20%,var(--ui-surface));
  --ui-danger:#b83945;
}
html,body{max-width:100%;overflow-x:hidden}
body.admin-body,.campaign-body,.schedule-body{
  min-height:100vh!important;background:
  radial-gradient(circle at 0 0,color-mix(in srgb,var(--brand,#8c2bd2) 18%,transparent),transparent 33%),
  radial-gradient(circle at 100% 0,color-mix(in srgb,var(--brand,#8c2bd2) 10%,transparent),transparent 28%),
  var(--ui-bg)!important;color:var(--ui-text)!important;
}
/* Tipografia e contraste */
.admin-body h1,.admin-body h2,.admin-body h3,.admin-body h4,.admin-body b,.admin-body strong,
.campaign-body h1,.campaign-body h2,.campaign-body h3,.campaign-body h4,.campaign-body b,.campaign-body strong{color:var(--ui-text)!important}
.admin-body p,.admin-body small,.admin-body label,.admin-body .muted,.campaign-body p,.campaign-body small,.campaign-body label{color:var(--ui-muted)!important}
.admin-body input,.admin-body textarea,.admin-body select,.campaign-body input,.campaign-body textarea,.campaign-body select{
  background:color-mix(in srgb,var(--ui-surface) 84%,#000 16%)!important;color:var(--ui-text)!important;
  border:1px solid var(--ui-border)!important;box-shadow:none!important;
}
.admin-body input::placeholder,.admin-body textarea::placeholder,.campaign-body input::placeholder,.campaign-body textarea::placeholder{color:color-mix(in srgb,var(--ui-muted) 72%,transparent)!important;opacity:1}
.admin-body input:focus,.admin-body textarea:focus,.admin-body select:focus,.campaign-body input:focus,.campaign-body textarea:focus,.campaign-body select:focus{
  border-color:var(--brand,#8c2bd2)!important;outline:none!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand,#8c2bd2) 24%,transparent)!important;
}
/* Botões: todos seguem a identidade e mantêm contraste */
.admin-body button,.admin-body .btn,.campaign-body button,.campaign-body .btn{
  background:linear-gradient(135deg,var(--ui-action),color-mix(in srgb,var(--ui-action) 72%,#000 28%))!important;
  border:1px solid color-mix(in srgb,var(--brand,#8c2bd2) 66%,#fff 9%)!important;color:#fff!important;
  box-shadow:0 7px 20px color-mix(in srgb,var(--brand,#8c2bd2) 18%,transparent)!important;
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease!important;
}
.admin-body button:hover,.admin-body .btn:hover,.campaign-body button:hover,.campaign-body .btn:hover{filter:brightness(1.10)!important;transform:translateY(-1px)!important}
.admin-body button:disabled,.campaign-body button:disabled{opacity:.48!important;filter:grayscale(.45)!important;cursor:not-allowed!important;transform:none!important}
.admin-body .danger,.admin-body button.danger,.campaign-body .danger,.campaign-body button.danger{background:linear-gradient(135deg,#b73b48,#7d1d28)!important;border-color:#d75a65!important}
/* Cabeçalhos e navegação */
.admin-top,.mass-topbar{
  width:100%!important;min-height:68px!important;padding:12px clamp(16px,3vw,34px)!important;display:flex!important;
  align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;
  background:linear-gradient(90deg,var(--ui-surface),color-mix(in srgb,var(--brand,#8c2bd2) 12%,var(--ui-bg)))!important;
  border-bottom:1px solid var(--ui-border)!important;position:relative!important;z-index:5!important;
}
.admin-top nav,.mass-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important;max-width:100%!important}
.admin-top nav a,.mass-nav a,.gova-back-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:8px 11px!important;
  border:1px solid var(--ui-border-soft)!important;border-radius:10px!important;background:var(--ui-action-soft)!important;color:var(--ui-text)!important;
  text-decoration:none!important;font-size:13px!important;font-weight:700!important;white-space:nowrap!important;
}
.admin-top nav a:hover,.mass-nav a:hover,.gova-back-link:hover{background:var(--ui-action)!important;color:#fff!important;border-color:var(--brand,#8c2bd2)!important}
.gova-admin-brand,.gova-mass-brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}.gova-admin-brand img,.gova-mass-brand img{max-height:45px!important;width:auto!important;max-width:150px!important;object-fit:contain!important}.gova-admin-brand div,.gova-mass-brand div{min-width:0!important}.gova-admin-brand b,.gova-mass-brand b{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.gova-admin-brand small,.gova-mass-brand small{display:block!important}
/* Containers responsivos */
.admin-container,.mass-shell{
  width:min(1600px,100%)!important;max-width:100%!important;margin:0 auto!important;padding:clamp(18px,3vw,34px)!important;
}
.admin-hero,.mass-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;flex-wrap:wrap!important;max-width:100%!important}
.admin-panel,.wizard-card,.history-card,.worker-card,.campaign-kpis article,.mass-worker{
  background:linear-gradient(180deg,var(--ui-surface-2),var(--ui-surface))!important;border:1px solid var(--ui-border)!important;
  color:var(--ui-text)!important;box-shadow:0 16px 45px #0004!important;
}
.admin-panel{max-width:100%!important;overflow:hidden!important}
.admin-grid,.ai-grid,.campaign-grid-2{max-width:100%!important}
.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ai-grid,.campaign-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.panel-title{gap:12px!important;flex-wrap:wrap!important}.panel-title>*{min-width:0!important}
/* Campanhas: remove blocos brancos e verdes fora da identidade */
.campaign-kpis,.mass-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.campaign-kpis article,.mass-kpis article{min-width:0!important}.campaign-kpis article *,.mass-kpis article *{color:var(--ui-text)!important}
.wizard-summary,.summary-tip,.campaign-v238 .wizard-summary{background:var(--ui-surface-3)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}.wizard-summary *,.summary-tip *{color:inherit!important}
.campaign-v238 .wizard-steps,.campaign-v238 .wizard-progress{background:var(--ui-surface)!important;border-color:var(--ui-border)!important}.campaign-v238 .step,.campaign-v238 .wizard-step{color:var(--ui-muted)!important}.campaign-v238 .active{color:var(--ui-text)!important}
/* tabelas / listas */
.admin-body table,.campaign-body table{width:100%!important;max-width:100%!important}.admin-body th,.campaign-body th{color:var(--ui-muted)!important}.admin-body td,.campaign-body td{color:var(--ui-text)!important}.admin-body .badge,.campaign-body .badge{background:var(--ui-action-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
/* Formulários e modais */
.modal-card{max-width:min(720px,calc(100vw - 24px))!important;max-height:calc(100vh - 30px)!important;overflow:auto!important;background:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}
.consent-box{background:color-mix(in srgb,var(--brand,#8c2bd2) 10%,var(--ui-surface))!important;border:1px solid var(--ui-border)!important;color:var(--ui-text)!important}
/* botão de retorno persistente em páginas secundárias */
.gova-page-return{display:none}
/* Ajustes de resolução */
@media(max-width:1180px){.campaign-kpis,.mass-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-grid{grid-template-columns:1fr!important}}
@media(max-width:820px){
  .admin-top,.mass-topbar{align-items:flex-start!important}.admin-top nav,.mass-nav{width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:3px!important}
  .admin-container,.mass-shell{padding:14px!important}.ai-grid,.campaign-grid-2,.campaign-kpis,.mass-kpis{grid-template-columns:1fr!important}.admin-hero h1,.mass-heading h1{font-size:clamp(26px,8vw,38px)!important}
  .admin-panel{padding:14px!important}.gova-admin-brand img,.gova-mass-brand img{max-width:115px!important}
}
@media(max-width:520px){.admin-top nav a,.mass-nav a{font-size:12px!important;padding:7px 9px!important}.admin-container,.mass-shell{padding:10px!important}.admin-panel{border-radius:12px!important}.panel-title button{width:100%!important}}
