/* SIGEduc Enterprise RC43.4.77 - Universal Experience Layer
   Camada exclusivamente visual/responsiva. Nao altera POST, rotas, campos ou regras de negocio. */
:root{
  --sx-blue-950:#082f66;--sx-blue-900:#0b3f86;--sx-blue-800:#0d4f9f;--sx-blue-700:#1264c5;
  --sx-blue-600:#1f74dc;--sx-blue-100:#eaf3ff;--sx-blue-50:#f5f9ff;
  --sx-ink:#112b49;--sx-muted:#667a93;--sx-line:#dbe6f2;--sx-bg:#f3f7fc;--sx-card:#fff;
  --sx-green:#10a65a;--sx-red:#d64255;--sx-shadow:0 12px 35px rgba(25,58,96,.10);
  --sx-radius:18px;--sx-radius-sm:12px;
}
html{background:var(--sx-bg);-webkit-text-size-adjust:100%}
body{background:linear-gradient(180deg,#f8fbff 0,#eef4fb 100%);color:var(--sx-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;min-height:100vh}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}
a{transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}

/* Containers, cards e secoes */
.container,.wrap,.content,.content-wrapper,.main-content,.page-content,.gestao-clean,.workspace-main{max-width:1480px;margin-left:auto;margin-right:auto}
.card,.panel,.box,.bloco-clean,.stat-card,.metric-card,.dashboard-card,.modulo-card,.permission-card,.form-card,.table-card,
section.card,article.card{border:1px solid rgba(210,224,239,.88);border-radius:var(--sx-radius);box-shadow:var(--sx-shadow);background:rgba(255,255,255,.96)}
.card:hover,.dashboard-card:hover,.modulo-card:hover{border-color:#c5d9ef}

/* Cabecalho de paginas operacionais */
.cabecalho-pagina,.page-header,.page-title-box,.hero:not(.pp-header),.gestao-header,.section-hero{
  border-radius:22px!important;box-shadow:0 14px 34px rgba(20,84,165,.16)!important;
}
.cabecalho-pagina h1,.page-header h1,.hero h1,.page-title{letter-spacing:-.025em}
.breadcrumb,.breadcrumbs,.trilha,.nav-breadcrumb{font-weight:650;color:#5f7691}

/* KPIs */
.stats-grid,.kpi-grid,.metrics-grid,.dashboard-stats{gap:14px!important}
.stat-card,.kpi-card,.metric-card{min-height:84px;padding:16px 18px!important;position:relative;overflow:hidden}
.stat-card:before,.kpi-card:before,.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--sx-blue-600),#6aa8f3);opacity:.9}
.stat-card .label,.kpi-card .label,.metric-card .label{text-transform:uppercase;letter-spacing:.045em;font-size:11px!important;font-weight:800;color:#74879d!important}
.stat-card .valor,.kpi-card .value,.metric-card .value{color:#102f58!important;font-weight:850!important}

/* Forms - somente visual, sem alterar estrutura funcional */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{
  border:1px solid #cbd9e8!important;border-radius:12px!important;background:#fff!important;color:#17324f!important;
  box-shadow:0 1px 2px rgba(15,23,42,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus,textarea:focus{
  border-color:#5f9ce7!important;box-shadow:0 0 0 4px rgba(31,116,220,.11)!important;outline:0!important
}
label,.form-label{font-weight:700;color:#2a4663}
fieldset{border:1px solid var(--sx-line);border-radius:16px;background:#fff}
legend{font-weight:800;color:#173b67}

/* Botoes */
button,.btn,input[type=submit],input[type=button],a.btn{border-radius:11px!important;font-weight:750;min-height:40px;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
button:hover,.btn:hover,input[type=submit]:hover,input[type=button]:hover,a.btn:hover{transform:translateY(-1px)}
.btn-primary,.btn.azul,.btn-blue,.acao-editar{box-shadow:0 8px 20px rgba(24,103,200,.16)}
.btn-success,.btn.verde,.acao-novo{box-shadow:0 8px 20px rgba(16,166,90,.14)}

/* Barras de acoes e filtros */
.barra-acoes,.toolbar,.actions-bar,.action-bar,.filtros,.filters,.filter-bar{border-radius:16px!important}
.barra-acoes{background:linear-gradient(100deg,#0e55a7,#1768cf)!important;box-shadow:0 10px 24px rgba(14,85,167,.17)!important}

/* Tabelas */
.table-responsive,.table-wrap,.tabela-wrapper,.grid-wrapper,.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px}
table{border-collapse:separate;border-spacing:0}
table thead th{font-size:12px;font-weight:850;letter-spacing:.025em;text-transform:uppercase;color:#153d6a;background:#edf4fb}
table tbody tr{transition:background .15s ease}
table tbody tr:hover{background:#f6faff!important}
table td,table th{vertical-align:middle}
.status,.badge,.pill{border-radius:999px!important;font-weight:800}

/* Topbar de portais por perfil */
.pp-header{background:linear-gradient(110deg,#082f66 0%,#0b4d99 54%,#1264c5 100%)!important;box-shadow:0 12px 32px rgba(8,47,102,.24)!important}
.pp-header-inner{max-width:1480px!important;padding:12px 22px!important}
.pp-logo{border-radius:13px!important;background:linear-gradient(135deg,#fff,#dbeeff)!important;color:#0d4f9f!important;box-shadow:0 5px 15px rgba(0,0,0,.12)!important}
.pp-search{border:1px solid rgba(255,255,255,.2);box-shadow:0 7px 18px rgba(1,26,59,.12)!important}
.pp-user{border:1px solid rgba(219,231,244,.8);box-shadow:0 8px 20px rgba(4,33,68,.14)!important}
.pp-menu{border-radius:16px!important;box-shadow:0 24px 58px rgba(10,44,82,.20)!important}

/* Shell/sidebars existentes: modernizacao sem trocar links */
.sidebar,.enterprise-sidebar,.app-sidebar,.main-sidebar,aside.sidebar{background:linear-gradient(180deg,#092f64,#0b3f79 55%,#082c5d)!important;box-shadow:10px 0 30px rgba(11,51,96,.08)}
.sidebar a,.enterprise-sidebar a,.app-sidebar a,.main-sidebar a{border-radius:10px;transition:background .16s ease,color .16s ease,transform .16s ease}
.sidebar a:hover,.enterprise-sidebar a:hover,.app-sidebar a:hover,.main-sidebar a:hover{background:rgba(255,255,255,.10);transform:translateX(2px)}
.sidebar a.active,.enterprise-sidebar a.active,.app-sidebar a.active,.main-sidebar a.active{background:linear-gradient(90deg,#1d6ed7,#2b7fe8)!important;box-shadow:0 8px 20px rgba(20,93,186,.23)}
.topbar,.enterprise-topbar,.app-topbar,.main-header{box-shadow:0 8px 26px rgba(15,49,88,.10)}

/* Evita cabecalho legado duplicado quando o cabecalho de perfil moderno estiver presente */
body:has(.pp-header) .legacy-header,
body:has(.pp-header) .old-header,
body:has(.pp-header) .cabecalho-antigo,
body:has(.pp-header) header.portal-header-legacy{display:none!important}
.pp-header + .pp-header{display:none!important}

/* Rodape */
footer,.footer,.rodape{color:#6b7f96;font-size:12px}

/* Desktop grande */
@media(min-width:1200px){
  body:not(.sigeduc-form-page) .container,body:not(.sigeduc-form-page) .wrap{padding-left:18px;padding-right:18px}
  .gestao-clean .bloco-clean{padding:20px!important}
}

/* Tablet */
@media(max-width:1024px){
  .container,.wrap,.content,.main-content,.page-content{max-width:100%;padding-left:14px!important;padding-right:14px!important}
  .stats-grid,.kpi-grid,.metrics-grid,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .filtros-clean,.filters-grid,.filter-grid{grid-template-columns:1fr 1fr!important}
  .pp-header-inner{grid-template-columns:minmax(190px,1fr) auto!important;gap:10px!important}
  .pp-search{grid-column:1/-1!important}
  table{min-width:760px}
  .sidebar,.enterprise-sidebar,.app-sidebar,.main-sidebar{max-width:min(300px,84vw)}
}

/* Celular */
@media(max-width:640px){
  body{font-size:14px}
  .container,.wrap,.content,.main-content,.page-content,.gestao-clean{padding-left:10px!important;padding-right:10px!important}
  .cabecalho-pagina,.page-header,.hero:not(.pp-header),.gestao-header{padding:17px!important;border-radius:17px!important}
  .cabecalho-pagina h1,.page-header h1,.hero h1,.page-title{font-size:1.45rem!important;line-height:1.18}
  .stats-grid,.kpi-grid,.metrics-grid,.dashboard-stats{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .stat-card,.kpi-card,.metric-card{min-height:76px;padding:12px 13px!important}
  .stat-card .valor,.kpi-card .value,.metric-card .value{font-size:21px!important}
  .filtros-clean,.filters-grid,.filter-grid,.form-grid,.grid-form{grid-template-columns:1fr!important}
  .barra-acoes,.toolbar,.actions-bar,.action-bar{gap:8px!important;padding:10px!important;overflow-x:auto;flex-wrap:nowrap!important}
  .barra-acoes .btn,.toolbar .btn,.actions-bar .btn,.action-bar .btn{flex:0 0 auto}
  button,.btn,input[type=submit],input[type=button],a.btn{min-height:42px}
  .bloco-clean,.card,.panel,.box,.form-card,.table-card{border-radius:15px!important;padding:13px!important}
  .pp-header{position:sticky!important;top:0}
  .pp-header-inner{padding:8px 10px!important}
  .pp-brand strong{font-size:14px}.pp-brand small{display:none!important}
  .pp-user{min-width:0!important;padding:5px 7px!important}.pp-user b{max-width:120px!important}.pp-user small{display:none!important}
  .pp-search{border-radius:12px!important;padding-left:11px!important}.pp-search input{font-size:14px!important;padding:9px 4px!important}
  .table-responsive,.table-wrap,.tabela-wrapper,.grid-wrapper,.data-table-wrap,.bloco-clean{overflow-x:auto!important}
  table{min-width:720px}
  .modal,.modal-dialog,.dialog,.popup{max-width:calc(100vw - 18px)!important;margin:9px auto!important}
}

/* Celular estreito */
@media(max-width:420px){
  .stats-grid,.kpi-grid,.metrics-grid,.dashboard-stats{grid-template-columns:1fr!important}
  .pp-user b{max-width:94px!important}
}

/* Impressao: preserva documentos e retira navegacao */
@media print{
  .pp-header,.sidebar,.enterprise-sidebar,.app-sidebar,.main-sidebar,.topbar,.enterprise-topbar,.barra-acoes,.toolbar,.actions-bar{display:none!important}
  body{background:#fff!important}.card,.panel,.box,.bloco-clean{box-shadow:none!important;border-color:#ddd!important}
}

/* RC43.4.78 - Enterprise Modern Universal
   Evolucao visual ampla. Somente apresentacao; nenhuma regra de formulario, rota ou salvamento. */
:root{
  --sx-navy:#062c61;--sx-navy-2:#093d7c;--sx-primary:#0868d8;--sx-primary-2:#1785eb;
  --sx-soft:#edf5ff;--sx-surface:#ffffff;--sx-canvas:#f4f8fd;--sx-text:#102a46;--sx-subtle:#647991;
  --sx-border:#dbe7f3;--sx-success:#16a361;--sx-warning:#f49a22;--sx-violet:#7b4ce1;
  --sx-shadow-lg:0 18px 48px rgba(19,55,96,.12);--sx-shadow-md:0 10px 28px rgba(19,55,96,.09);
}
body{background:radial-gradient(circle at 85% 0,rgba(69,145,235,.09),transparent 31%),linear-gradient(180deg,#f9fbff 0,#f1f6fc 100%)!important}

/* Estrutura de portal e dashboard */
.dashboard,.dashboard-container,.portal-container,.workspace-container,.admin-container,.content-area,.page-shell,.main-shell{max-width:1480px;margin-left:auto;margin-right:auto}
.dashboard-grid,.cards-grid,.portal-grid,.module-grid,.modules-grid,.atalhos-grid,.quick-grid{gap:16px!important}
.dashboard-grid>.card,.cards-grid>.card,.portal-grid>.card,.module-grid>.card,.modules-grid>.card,.atalhos-grid>*{border-radius:18px!important;border:1px solid var(--sx-border)!important;box-shadow:var(--sx-shadow-md)!important;background:#fff!important}

/* Heros e titulos, sem modificar conteudo */
.hero:not(.pp-header),.page-hero,.dashboard-hero,.portal-hero,.welcome-card,.top-hero{
  background:linear-gradient(125deg,var(--sx-navy) 0%,#0b58af 56%,var(--sx-primary-2) 100%)!important;
  border-radius:24px!important;color:#fff!important;box-shadow:0 18px 42px rgba(6,44,97,.20)!important;overflow:hidden;position:relative
}
.hero:not(.pp-header):after,.page-hero:after,.dashboard-hero:after,.portal-hero:after,.welcome-card:after,.top-hero:after{
  content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-145px;top:-210px;background:rgba(255,255,255,.11);pointer-events:none
}
.hero:not(.pp-header) h1,.hero:not(.pp-header) h2,.page-hero h1,.dashboard-hero h1,.portal-hero h1,.welcome-card h1{color:#fff!important;letter-spacing:-.035em!important}
.hero:not(.pp-header) p,.page-hero p,.dashboard-hero p,.portal-hero p,.welcome-card p{color:#e6f2ff!important}

/* KPIs mais modernos */
.metrics,.metric-grid,.stats-grid,.kpi-grid,.dashboard-stats{gap:14px!important}
.metric,.stat-card,.kpi-card,.metric-card,.dashboard-stat{background:#fff!important;border:1px solid var(--sx-border)!important;border-radius:18px!important;box-shadow:var(--sx-shadow-md)!important;position:relative;overflow:hidden}
.metric:after,.stat-card:after,.kpi-card:after,.metric-card:after,.dashboard-stat:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-28px;top:-34px;background:rgba(8,104,216,.055);pointer-events:none}
.metric b,.metric strong,.stat-card .valor,.stat-card .value,.kpi-card .value,.metric-card .value{color:#102f58!important;font-weight:900!important;letter-spacing:-.035em}

/* Navegacao lateral */
.side,.sidebar,.enterprise-sidebar,.app-sidebar,.main-sidebar,aside.sidebar{
  background:linear-gradient(180deg,#062d62 0%,#093e79 52%,#082d5e 100%)!important;color:#fff!important
}
.side .brand,.sidebar .brand,.enterprise-sidebar .brand{font-weight:900!important;letter-spacing:-.01em}
.side .nav a,.sidebar a,.enterprise-sidebar a,.app-sidebar a,.main-sidebar a{color:#dcecff!important;border-radius:11px!important;margin:3px 0!important}
.side .nav a:hover,.side .nav a.on,.sidebar a:hover,.sidebar a.active,.enterprise-sidebar a:hover,.enterprise-sidebar a.active{background:linear-gradient(90deg,#1169cf,#1c82ec)!important;color:#fff!important;box-shadow:0 8px 19px rgba(4,35,75,.22)!important}

/* Barra superior compartilhada */
.pp-header,.topbar,.enterprise-topbar,.app-topbar,.main-header{backdrop-filter:saturate(125%) blur(12px)}
.pp-header-inner{min-height:70px}
.pp-search{background:rgba(255,255,255,.98)!important}
.pp-search input{box-shadow:none!important;border:0!important}
.pp-user{transition:transform .16s ease,box-shadow .16s ease}.pp-user:hover{transform:translateY(-1px)}

/* Navegacao secundaria, tabs e quick access */
.quick,.quick-links,.tabs,.tabbar,.subnav,.module-tabs{background:#fff!important;border:1px solid var(--sx-border)!important;border-radius:18px!important;box-shadow:var(--sx-shadow-md)!important;padding:12px!important}
.quick a,.quick-links a,.tabs a,.tabbar a,.subnav a,.module-tabs a,.nav-pills a{border-radius:10px!important;font-weight:800!important}
.quick a:hover,.quick-links a:hover,.tabs a:hover,.tabbar a:hover,.subnav a:hover{background:#e9f3ff!important;color:#075db9!important}

/* Formularios: preserva DOM, names, actions e eventos */
form{accent-color:var(--sx-primary)}
.form-card,.form-section,.form-panel,.fieldset-card,.dados-card{background:#fff!important;border:1px solid var(--sx-border)!important;border-radius:18px!important;box-shadow:var(--sx-shadow-md)!important}
.form-grid,.fields,.grid-form,.form-row{gap:14px!important}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:43px!important;padding:10px 12px!important}
textarea{min-height:92px!important;resize:vertical}
input[type=checkbox],input[type=radio]{width:18px;height:18px;vertical-align:middle}
.form-help,.help-text,.hint,.form-text,.small-help{border-radius:10px!important}

/* Botoes e acoes */
.btn,.button,button,input[type=submit],input[type=button],a.btn{min-height:42px;border-radius:11px!important;font-weight:800!important}
.btn-primary,.btnPrimary,.primary,.acao-novo{background:linear-gradient(135deg,#0868d8,#1685eb)!important;color:#fff!important;border-color:transparent!important}
.btn-success,.success,.acao-salvar{background:linear-gradient(135deg,#0c9a58,#18b66d)!important;color:#fff!important;border-color:transparent!important}
.btn-danger,.danger,.acao-excluir{border-radius:11px!important}

/* Tabelas, grids e listagens */
.table-card,.table-container,.list-card,.data-card{background:#fff!important;border:1px solid var(--sx-border)!important;border-radius:18px!important;box-shadow:var(--sx-shadow-md)!important;overflow:hidden}
table{width:100%}
table thead th{background:linear-gradient(180deg,#f1f6fc,#eaf2fb)!important;color:#123e70!important;border-bottom:1px solid #d7e4f1!important}
table tbody td{border-bottom-color:#e9eff6!important}
table tbody tr:last-child td{border-bottom:0!important}
.pagination a,.pagination button,.page-link{border-radius:9px!important}

/* Alertas, status e comunicacao */
.alert,.message,.notice,.flash,.toast{border-radius:13px!important;box-shadow:0 8px 22px rgba(20,52,88,.08)}
.badge,.status,.pill,.tag{font-weight:850!important}

/* Modais */
.modal-content,.dialog-content,.popup-content{border:1px solid var(--sx-border)!important;border-radius:20px!important;box-shadow:0 28px 80px rgba(15,42,74,.24)!important}

/* Central de adesao: visual do novo padrao sem alterar campos do wizard */
body.sigeduc-central-adesao .shell{grid-template-columns:224px minmax(0,1fr)!important}
body.sigeduc-central-adesao .side{padding:18px 12px!important}
body.sigeduc-central-adesao .hero{padding:28px 3vw 74px!important}
body.sigeduc-central-adesao .heroRow{align-items:flex-start!important}
body.sigeduc-central-adesao .hero h1{font-size:clamp(32px,4vw,48px)!important}
body.sigeduc-central-adesao .wrap{max-width:1480px!important}
body.sigeduc-central-adesao .metric{min-height:98px!important;padding:18px!important}
body.sigeduc-central-adesao .metric span{font-size:12px;color:#6a7d94;font-weight:750}
body.sigeduc-central-adesao .metric small{color:#6c8097}
body.sigeduc-central-adesao .grid{grid-template-columns:minmax(0,1.75fr) minmax(310px,.78fr)!important}
body.sigeduc-central-adesao #nova-adesao{padding:24px!important}
body.sigeduc-central-adesao .step .dot{box-shadow:0 0 0 5px #fff}
body.sigeduc-central-adesao .pane h3{font-size:18px;color:#13375f}
body.sigeduc-central-adesao .module{background:#fbfdff!important;border-radius:12px!important}
body.sigeduc-central-adesao .client{padding:13px 0!important}

/* Dashboard Admin Global/Master e workspaces */
body.sigeduc-dashboard .card,body[data-enterprise-shell] .card,.workspace3-standalone .card{border-radius:18px!important;box-shadow:var(--sx-shadow-md)!important}
.workspace3-standalone .hero,.workspace3-standalone .workspace-hero{border-radius:22px!important}

/* Remove duplicidades visuais de cabecalho sem tocar em HTML funcional */
body:has(.pp-header)>.topo-antigo,body:has(.pp-header)>.header-antigo,body:has(.pp-header)>.legacy-topbar,
body:has(.pp-header)>.portal-top-old,body:has(.pp-header)>.old-portal-header{display:none!important}

/* Tablet */
@media(max-width:1024px){
  body.sigeduc-central-adesao .shell{display:block!important}
  body.sigeduc-central-adesao .side{position:relative!important;height:auto!important;min-height:0!important}
  body.sigeduc-central-adesao .side .nav{display:flex!important;overflow-x:auto!important;padding-bottom:5px}
  body.sigeduc-central-adesao .side .nav a{white-space:nowrap!important;flex:0 0 auto}
  body.sigeduc-central-adesao .grid{grid-template-columns:1fr!important}
  .dashboard-grid,.cards-grid,.portal-grid,.module-grid,.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile */
@media(max-width:640px){
  body{overflow-x:hidden}
  .dashboard-grid,.cards-grid,.portal-grid,.module-grid,.modules-grid,.atalhos-grid,.quick-grid{grid-template-columns:1fr!important}
  body.sigeduc-central-adesao .hero{padding:20px 14px 68px!important}
  body.sigeduc-central-adesao .heroActions{display:grid!important;grid-template-columns:1fr!important}
  body.sigeduc-central-adesao .metrics{grid-template-columns:1fr 1fr!important}
  body.sigeduc-central-adesao .metric{min-height:84px!important;padding:13px!important}
  body.sigeduc-central-adesao .metric b{font-size:24px!important}
  body.sigeduc-central-adesao .wrap{padding:0 9px!important}
  body.sigeduc-central-adesao #nova-adesao{padding:15px!important}
  body.sigeduc-central-adesao .fields,body.sigeduc-central-adesao .modules,body.sigeduc-central-adesao .summary{grid-template-columns:1fr!important}
  .page-header-actions,.heroActions,.actions,.toolbar,.barra-acoes{align-items:stretch}
  .page-header-actions .btn,.heroActions .btn{width:100%}
  .table-responsive,.table-wrap,.tabela-wrapper,.grid-wrapper,.data-table-wrap{width:100%;overflow-x:auto!important}
  .modal-content,.dialog-content,.popup-content{width:calc(100vw - 18px)!important;max-height:calc(100vh - 18px)!important;overflow:auto!important}
}
@media(max-width:430px){body.sigeduc-central-adesao .metrics{grid-template-columns:1fr!important}}

/* Acessibilidade */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:focus-visible{outline:3px solid rgba(8,104,216,.33)!important;outline-offset:2px!important}
