/* CEBAS/AIMCA v3.3.2 — Design System Premium Completo */
:root{
  --p332-navy:#0b2748;
  --p332-navy-2:#123a67;
  --p332-blue:#2563eb;
  --p332-blue-2:#3b82f6;
  --p332-cyan:#06b6d4;
  --p332-green:#10b981;
  --p332-amber:#f59e0b;
  --p332-red:#ef4444;
  --p332-violet:#8b5cf6;
  --p332-ink:#10233f;
  --p332-text:#43546b;
  --p332-muted:#7d8ca0;
  --p332-line:#e3eaf3;
  --p332-bg:#f3f7fc;
  --p332-card:#ffffff;
  --p332-shadow:0 18px 50px rgba(13,38,72,.08);
  --p332-shadow-sm:0 8px 24px rgba(13,38,72,.06);
  --p332-radius:20px;
}
html{scroll-behavior:smooth}
body.v332-design-system{background:linear-gradient(180deg,#f8fbff 0,#f2f6fb 42%,#eef4fa 100%);color:var(--p332-text)}
body.v332-design-system:not(.v330-shell-page){min-height:100vh}
body.v332-design-system a{transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}
body.v332-design-system a:hover{text-decoration:none}

/* Identidade / marca */
body.v332-design-system:not(.v330-shell-page) .network-mark{
  width:48px;height:48px;border-radius:14px;font-size:0!important;color:transparent!important;
  background:#fff url('/assets/logo-aimca.png') center/contain no-repeat!important;
  border:1px solid rgba(15,39,72,.10);box-shadow:0 8px 24px rgba(12,37,68,.12);
}
body.v332-design-system .network-brand strong{font-weight:850;letter-spacing:-.015em;color:var(--p332-navy)}
body.v332-design-system .network-brand small{color:#7e8da1;font-weight:550}

/* Barra superior premium para telas legadas */
body.v332-design-system:not(.v330-shell-page) .topbar{
  background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(218,227,238,.88);box-shadow:0 4px 24px rgba(15,38,70,.045);
}
body.v332-design-system:not(.v330-shell-page) .topbar .inner{
  width:min(1380px,calc(100% - 40px));padding:14px 0;gap:18px
}
body.v332-design-system:not(.v330-shell-page) .topbar .brand{margin:0;min-width:230px}
body.v332-design-system:not(.v330-shell-page) .topbar .nav{gap:8px}
body.v332-design-system:not(.v330-shell-page) .topbar .nav .btn{
  min-height:38px;padding:9px 14px;border-radius:11px!important;font-size:13px;box-shadow:none
}
body.v332-design-system:not(.v330-shell-page) .topbar .nav .secondary{background:#f0f5fb;color:#244c7c;border:1px solid #e1e9f3}
body.v332-design-system:not(.v330-shell-page) .topbar .nav .secondary:hover{background:#e8f1fb;transform:translateY(-1px)}
body.v332-design-system:not(.v330-shell-page) .topbar .nav .primary{box-shadow:0 6px 16px rgba(37,99,235,.18)}

/* Conteúdo */
body.v332-design-system:not(.v330-shell-page) .container{width:min(1380px,calc(100% - 40px));padding:34px 0 48px}
body.v332-design-system:not(.v330-shell-page) .container.narrow{width:min(760px,calc(100% - 32px))}
body.v332-design-system .eyebrow{color:#56769d;font-size:10px;font-weight:900;letter-spacing:.14em}
body.v332-design-system .page-title,body.v332-design-system .section-heading{margin-bottom:22px}
body.v332-design-system .page-title h1,body.v332-design-system .section-heading h1,body.v332-design-system .section-heading h2{
  color:var(--p332-navy);letter-spacing:-.035em;font-weight:850
}
body.v332-design-system .page-title h1{font-size:clamp(30px,3vw,44px)}
body.v332-design-system .section-heading h2{font-size:clamp(23px,2.3vw,32px)}
body.v332-design-system h2,body.v332-design-system h3{letter-spacing:-.02em}
body.v332-design-system .muted{color:var(--p332-muted)}

/* Cartões */
body.v332-design-system:not(.v330-shell-page) .card,
body.v332-design-system:not(.v330-shell-page) .detail-card,
body.v332-design-system:not(.v330-shell-page) .table-wrap{
  border:1px solid var(--p332-line);border-radius:var(--p332-radius)!important;
  box-shadow:var(--p332-shadow-sm);background:rgba(255,255,255,.98)
}
body.v332-design-system:not(.v330-shell-page) .card{padding:24px}
body.v332-design-system .card.v332-reveal{opacity:0;transform:translateY(8px)}
body.v332-design-system .card.v332-reveal.v332-in{opacity:1;transform:none;transition:opacity .35s ease,transform .35s ease}
body.v332-design-system .unit-row,body.v332-design-system .process-admin-row,
body.v332-design-system .candidate-row,body.v332-design-system .portal-process,
body.v332-design-system .requirement-card,body.v332-design-system .document-item{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease
}
body.v332-design-system .unit-row:hover,body.v332-design-system .process-admin-row:hover,
body.v332-design-system .candidate-row:hover,body.v332-design-system .portal-process:hover,
body.v332-design-system .requirement-card:hover,body.v332-design-system .document-item:hover{
  transform:translateY(-1px);border-color:#d5e1ef;box-shadow:0 12px 28px rgba(18,53,91,.07);background:#fff
}

/* Formulários premium */
body.v332-design-system label{color:#2a3f5d;font-size:12px;font-weight:750;letter-spacing:.005em}
body.v332-design-system input,body.v332-design-system select,body.v332-design-system textarea{
  border:1px solid #d7e1ed;border-radius:12px;background:#fbfdff;color:#1b304c;
  padding:11px 13px;font-size:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .15s,box-shadow .15s,background .15s
}
body.v332-design-system input:hover,body.v332-design-system select:hover,body.v332-design-system textarea:hover{border-color:#c5d3e4;background:#fff}
body.v332-design-system input:focus,body.v332-design-system select:focus,body.v332-design-system textarea:focus{
  border-color:#6ea1ef;background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.11);outline:none
}
body.v332-design-system .field-group{border-color:#e2e9f2;border-radius:16px;background:#fbfdff;padding:16px}
body.v332-design-system .field-group legend{color:#23466f;font-size:12px}
body.v332-design-system .help{color:#8a97a9;line-height:1.5}

/* Botões */
body.v332-design-system .btn{border-radius:11px!important;font-size:12px;font-weight:800;padding:10px 15px;min-height:38px}
body.v332-design-system .btn.primary{background:linear-gradient(135deg,#2869dc,#1f57bd);box-shadow:0 8px 18px rgba(37,99,235,.16)}
body.v332-design-system .btn.primary:hover{filter:none;transform:translateY(-1px);box-shadow:0 11px 24px rgba(37,99,235,.22)}
body.v332-design-system .btn.secondary{background:#eef4fb;color:#224d7f;border:1px solid #dde7f2}
body.v332-design-system .btn.secondary:hover{background:#e6eff9;border-color:#cfdeed}
body.v332-design-system .danger-btn{background:#fff2f2;color:#b42318;border-color:#ffd8d5}

/* Estados / badges */
body.v332-design-system .status{padding:6px 10px;border-radius:999px!important;font-size:10px;font-weight:850;letter-spacing:.005em}
body.v332-design-system .status.success{background:#e8f8f1;color:#087a59}
body.v332-design-system .status.info{background:#eaf3ff;color:#2867b4}
body.v332-design-system .status.warn{background:#fff3db;color:#9a6100}
body.v332-design-system .status.danger{background:#feecec;color:#b42318}
body.v332-design-system .alert{border-radius:15px;padding:14px 16px;font-size:12px;box-shadow:0 6px 18px rgba(25,50,86,.03)}

/* Estruturas administrativas */
body.v332-design-system .admin-split{grid-template-columns:minmax(330px,410px) 1fr;gap:26px}
body.v332-design-system .admin-split>section.card:first-child{position:sticky;top:96px}
body.v332-design-system .unit-list{gap:13px}
body.v332-design-system .unit-row,body.v332-design-system .process-admin-row{padding:18px 20px;border-radius:17px}
body.v332-design-system .unit-row strong,body.v332-design-system .process-admin-row strong{color:#17395f;font-size:15px}
body.v332-design-system .unit-meta{gap:8px}
body.v332-design-system .toolbar-card{padding:16px 18px;border-radius:17px!important;background:#fff}
body.v332-design-system .toolbar{gap:12px}
body.v332-design-system .stats{gap:12px}
body.v332-design-system .stat{border:1px solid #e4eaf2;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(17,42,74,.045)}
body.v332-design-system .stat b{font-size:28px;color:#173b67}
body.v332-design-system .stat span{font-size:11px;color:#8492a5}

/* Tabelas */
body.v332-design-system:not(.v330-shell-page) .table-wrap{overflow:auto}
body.v332-design-system:not(.v330-shell-page) table{min-width:760px}
body.v332-design-system:not(.v330-shell-page) th{
  background:#f7f9fc;color:#728197;text-transform:uppercase;letter-spacing:.055em;font-size:9px;font-weight:900;padding:12px 14px
}
body.v332-design-system:not(.v330-shell-page) td{font-size:12px;color:#4b5c72;padding:13px 14px}
body.v332-design-system:not(.v330-shell-page) tbody tr{transition:background .15s}
body.v332-design-system:not(.v330-shell-page) tbody tr:hover{background:#f9fbfe}

/* Solicitação / fluxo */
body.v332-design-system .application-head{border-radius:22px!important;padding:23px 26px;background:linear-gradient(135deg,#fff,#f8fbff)}
body.v332-design-system .application-head h1{font-size:clamp(27px,3vw,38px);color:#12375f}
body.v332-design-system .head-status{gap:9px}
body.v332-design-system .detail-grid{gap:20px}
body.v332-design-system .detail-card{padding:21px}
body.v332-design-system .detail-card h2,body.v332-design-system .workflow-card h2{font-size:17px;color:#173c67}
body.v332-design-system .kv{grid-template-columns:180px 1fr;padding:9px 0;border-color:#eef2f6}
body.v332-design-system .kv b{color:#718096;font-size:11px;text-transform:uppercase;letter-spacing:.03em}
body.v332-design-system .workflow-card{padding:25px;border-radius:22px!important}
body.v332-design-system .workflow-title{padding-bottom:15px;margin-bottom:18px;border-color:#e8edf4}
body.v332-design-system .document-item{border-radius:15px;padding:14px;background:#fbfdff}
body.v332-design-system .document-review{gap:10px}
body.v332-design-system .history-row{grid-template-columns:170px 1fr;padding:12px 0}
body.v332-design-system .eligibility{border-radius:15px;padding:14px 16px}

/* CEBAS */
body.v332-design-system .compliance-grid{gap:20px}
body.v332-design-system .compliance-card{position:relative;overflow:hidden}
body.v332-design-system .compliance-card:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:linear-gradient(#3b82f6,#06b6d4)}
body.v332-design-system .compliance-card h3{color:#173d69;font-size:17px}
body.v332-design-system .compliance-numbers{gap:10px}
body.v332-design-system .compliance-numbers div{background:#f7fafd;border-color:#e6edf5;border-radius:13px;padding:13px}
body.v332-design-system .compliance-numbers b{font-size:25px;color:#173b67}
body.v332-design-system .compliance-progress{height:10px;accent-color:#2563eb}

/* Documentos */
body.v332-design-system .requirement-card{border-radius:16px;padding:15px;background:#fbfdff}
body.v332-design-system .requirement-row b{color:#173d69}
body.v332-design-system .resubmit-form{border-color:#dbe4ef}

/* Portal da família */
body.v332-design-system.v332-family-screen:not(.v330-shell-page){background:radial-gradient(circle at 85% 0,#e7f0ff 0,transparent 28%),linear-gradient(180deg,#f8fbff,#eff5fb)}
body.v332-design-system.v332-family-screen .topbar{border-bottom-color:#dce6f2}
body.v332-design-system .family-grid{grid-template-columns:1.45fr 1fr;gap:22px}
body.v332-design-system .candidate-row,body.v332-design-system .portal-process{border-radius:16px;padding:15px;background:#fbfdff}
body.v332-design-system .candidate-row strong,body.v332-design-system .portal-process strong{color:#173c67;font-size:13px}
body.v332-design-system .candidate-actions{gap:8px}

/* Login / cadastro */
body.v332-design-system.v332-auth-screen{
  min-height:100vh;background:
    radial-gradient(circle at 15% 10%,rgba(37,99,235,.16),transparent 30%),
    radial-gradient(circle at 90% 85%,rgba(6,182,212,.12),transparent 28%),
    linear-gradient(145deg,#eff5fb,#f9fbff 58%,#edf4fa);
  display:grid;align-items:center
}
body.v332-design-system.v332-auth-screen .container.narrow{padding:36px 0}
body.v332-design-system.v332-auth-screen .container.narrow>.card{
  max-width:620px;margin:auto;padding:34px 36px;border-radius:26px!important;
  box-shadow:0 28px 70px rgba(14,42,76,.13)
}
body.v332-design-system.v332-auth-screen .brand{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #e8edf4}
body.v332-design-system.v332-auth-screen .login-title{font-size:34px;color:#12375f;letter-spacing:-.035em;margin-bottom:22px}
body.v332-design-system.v332-auth-screen .btn.primary{min-width:118px}

/* Home pública */
body.v332-design-system.v332-public-screen:not(.v330-shell-page){background:#f5f8fc}
body.v332-design-system .home-hero,body.v332-design-system .network-hero{
  position:relative;overflow:hidden;background:
    radial-gradient(circle at 92% 0,rgba(59,130,246,.18),transparent 34%),
    radial-gradient(circle at 8% 85%,rgba(245,158,11,.10),transparent 26%),
    linear-gradient(180deg,#f9fbff,#f3f7fc);
}
body.v332-design-system .home-hero:after,body.v332-design-system .network-hero:after{
  content:"";position:absolute;inset:auto -160px -220px auto;width:520px;height:520px;border-radius:50%;border:80px solid rgba(37,99,235,.025);pointer-events:none
}
body.v332-design-system .hero-copy h1,body.v332-design-system .network-hero h1{font-weight:900;letter-spacing:-.045em;color:#0c2c52}
body.v332-design-system .hero-copy p,body.v332-design-system .network-hero p{color:#687b91;line-height:1.65}
body.v332-design-system .home-section,body.v332-design-system .network-section{padding-top:34px;padding-bottom:34px}
body.v332-design-system .public-doc-grid,body.v332-design-system .process-grid{gap:18px}
body.v332-design-system .public-doc-card,body.v332-design-system .process-card{transition:transform .16s,box-shadow .16s,border-color .16s}
body.v332-design-system .public-doc-card:hover,body.v332-design-system .process-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,43,77,.09);border-color:#d6e1ee}
body.v332-design-system .legal-card{background:linear-gradient(135deg,#0e3157,#143f6d);color:#dbe8f6;border-color:transparent!important}
body.v332-design-system .legal-card h2,body.v332-design-system .legal-card .eyebrow{color:#fff}
body.v332-design-system .legal-card p{color:#c9d9ea}

/* Dashboard v3.3.1 refinado */
body.v330-shell-page .v330-sidebar{background:linear-gradient(180deg,#0a2848 0,#0c3158 60%,#092540 100%)}
body.v330-shell-page .v330-brand-block{border-bottom-color:rgba(255,255,255,.10)}
body.v330-shell-page .v330-content{max-width:none}
body.v330-shell-page .v330-hero h1{font-weight:900;letter-spacing:-.045em}
body.v330-shell-page .v330-panel,body.v330-shell-page .v330-kpi,body.v330-shell-page .v330-filterbar,body.v330-shell-page #solicitacoes{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease
}
body.v330-shell-page .v330-panel:hover{box-shadow:0 20px 44px rgba(15,39,72,.09);border-color:#dbe5f0}
body.v330-shell-page .v330-kpi:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(19,47,82,.09)}
body.v330-shell-page .v330-chart-box.bars{min-height:230px}
body.v330-shell-page .v330-school-grid article{min-height:150px;display:flex;flex-direction:column;justify-content:space-between}
body.v330-shell-page .v330-school-grid article .v330-btn{align-self:flex-start}
body.v330-shell-page .v330-table tbody tr:hover{background:#f5f9ff}
body.v330-shell-page .v330-table tbody tr:hover .v330-btn{background:#dcecff;border-color:#c7ddfb}
body.v330-shell-page .v330-tooltip{padding:11px 13px;border-radius:13px;box-shadow:0 18px 40px rgba(3,22,45,.28)}
body.v330-shell-page .v330-tooltip strong{font-size:12px}
body.v330-shell-page .v330-tooltip span{font-size:10px}
body.v330-shell-page .v330-chart-box svg [data-tooltip]{transition:opacity .15s,filter .15s}
body.v330-shell-page .v330-chart-box svg [data-tooltip]:hover{filter:drop-shadow(0 5px 7px rgba(15,48,86,.14))}

/* Footer */
body.v332-design-system .footer{padding:30px 16px;color:#94a2b4;font-size:10px}

/* Mobile */
@media(max-width:1000px){
  body.v332-design-system .admin-split{grid-template-columns:1fr}
  body.v332-design-system .admin-split>section.card:first-child{position:static}
  body.v332-design-system .family-grid{grid-template-columns:1fr}
}
@media(max-width:850px){
  body.v332-design-system:not(.v330-shell-page) .topbar .inner{width:min(100% - 24px,1380px);display:block}
  body.v332-design-system:not(.v330-shell-page) .topbar .brand{margin-bottom:10px}
  body.v332-design-system:not(.v330-shell-page) .topbar .nav{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
  body.v332-design-system:not(.v330-shell-page) .topbar .nav::-webkit-scrollbar{display:none}
  body.v332-design-system:not(.v330-shell-page) .topbar .nav .btn{white-space:nowrap;flex:0 0 auto}
  body.v332-design-system:not(.v330-shell-page) .container{width:min(100% - 24px,1380px);padding:24px 0 36px}
  body.v332-design-system .kv{grid-template-columns:1fr}
  body.v332-design-system .kv b{margin-bottom:2px}
}
@media(max-width:640px){
  body.v332-design-system:not(.v330-shell-page) .card{padding:18px}
  body.v332-design-system.v332-auth-screen .container.narrow>.card{padding:24px 20px;border-radius:22px!important}
  body.v332-design-system .application-head{padding:18px}
  body.v332-design-system .page-title h1{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.v332-design-system *,body.v332-design-system *:before,body.v332-design-system *:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}
