/* P.E.M. V20 — acabamento visual global, sem alterar regras de negócio */
:root{
  --pem-shadow:0 18px 55px rgba(5,19,34,.075);
  --pem-shadow-soft:0 8px 28px rgba(5,19,34,.055);
  --pem-radius:22px;
  --pem-radius-sm:16px;
  --pem-gold:#b98a2f;
  --pem-navy:#0a1c31;
}

html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--gold) 5%,var(--bg)),var(--bg) 35%)!important}
.app-main{max-width:1180px!important}
.view{padding-top:24px!important}
.view-heading{align-items:flex-end!important;margin-bottom:22px!important}
.view-heading h1{font-size:clamp(34px,4.5vw,52px)!important;letter-spacing:-.045em!important;line-height:.98!important}
.view-heading .overline,.overline{letter-spacing:.16em!important}

/* Superfícies coerentes */
.settings-section,.objective-card,.continue-card,.topic-row,.review-card,.question-admin-workspace,.access-admin,.bank-overview,.bank-performance,.training-builder,.training-card,.training-result,.pem-guidance-panel,.pem-stat{
  border-color:color-mix(in srgb,var(--line) 84%,transparent)!important;
}
.settings-section,.objective-card,.continue-card,.review-card,.training-builder,.training-card,.training-result,.question-admin-workspace{
  box-shadow:var(--pem-shadow-soft)!important;
}
button,input,select,textarea{font-family:inherit}
.primary-button{border-radius:14px!important;box-shadow:0 8px 22px rgba(7,25,44,.10)!important;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease!important}
.primary-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(7,25,44,.15)!important}
.secondary-button{border-radius:14px!important}
input,select,textarea{border-radius:14px!important}

/* Plano */
.plan-view .topic-row{border-radius:16px!important;margin-bottom:8px!important;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important}
.plan-view .topic-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 38%,var(--line))!important;box-shadow:var(--pem-shadow-soft)!important}

/* Progresso */
.pem-progress-view .pem-stat{border-radius:20px!important;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 98%,var(--gold) 2%),var(--card))!important}
.pem-progress-view .pem-guidance-panel{border-radius:22px!important;box-shadow:var(--pem-shadow-soft)!important}

/* Ajustes */
.settings-section{border-radius:20px!important;padding:20px!important}
.settings-section h2{letter-spacing:-.02em!important}
.choice-row button{border-radius:12px!important}

/* Banco — área de filtros mais limpa */
.question-bank-view .view-heading{margin-bottom:14px!important}
.pem-q-bank-status{border-radius:16px!important;box-shadow:none!important}
.bank-overview{padding:19px 20px!important;border-radius:20px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--card) 97%,var(--gold) 3%),var(--card))!important}
.bank-overview h2{letter-spacing:-.035em!important}
.bank-performance{border-radius:18px!important;overflow:hidden!important}
.training-builder{padding:24px!important;border-radius:24px!important;background:color-mix(in srgb,var(--card) 98%,var(--bg) 2%)!important}
.builder-heading{margin-bottom:22px!important;padding-bottom:18px!important;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important}
.builder-heading h2{font-size:clamp(27px,3vw,38px)!important;letter-spacing:-.04em!important}
.builder-step{margin-top:20px!important}
.builder-step>b{box-shadow:0 7px 18px rgba(7,25,44,.10)!important}
.contest-strip{gap:8px!important}
.contest-strip button{min-height:44px!important;border-radius:999px!important;padding:0 16px!important;transition:transform .12s ease,box-shadow .12s ease!important}
.contest-strip button.active{box-shadow:0 8px 22px rgba(7,25,44,.13)!important}
.advanced-bank-filters{gap:10px!important}
.advanced-bank-filters label{font-weight:760!important}
.advanced-bank-filters select{min-height:52px!important;background-color:var(--card)!important;border-color:color-mix(in srgb,var(--line) 90%,transparent)!important}
.pem-more-filters{border-radius:14px!important}
.available-topics{margin-top:18px!important}
.available-topics>div{gap:8px!important}
.available-topics button{border-radius:14px!important;padding:13px!important;transition:transform .12s ease,border-color .12s ease!important}
.available-topics button:hover{transform:translateY(-1px)}

/* Remove o antigo seletor “até 20” visualmente. O JS usa todo o recorte e pagina. */
.training-launch.pem-pagination-launch{grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;margin-top:18px!important;padding:16px 18px!important;border-radius:18px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--navy) 4%,var(--card)),var(--card))!important;border:1px solid color-mix(in srgb,var(--line) 84%,transparent)!important}
.training-launch.pem-pagination-launch>div{padding:0!important;border:0!important}
.training-launch.pem-pagination-launch>div strong{font-size:26px!important;letter-spacing:-.04em!important}
.training-launch.pem-pagination-launch>div span{font-size:10px!important}
.training-launch.pem-pagination-launch .primary-button{min-width:210px!important}

/* Resolução em páginas */
.active-training{max-width:980px!important;margin-inline:auto!important}
.active-training-header{position:sticky!important;top:70px!important;z-index:20!important;border-radius:16px!important;padding:10px 12px!important;background:color-mix(in srgb,var(--bg) 88%,transparent)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border:1px solid color-mix(in srgb,var(--line) 70%,transparent)!important}
.continuous-training{gap:15px!important}
.continuous-training-summary{border-radius:18px!important;box-shadow:var(--pem-shadow-soft)!important;overflow:hidden!important}
.continuous-training-summary p{font-size:9px!important;letter-spacing:.02em!important}
.continuous-training-list{display:grid!important;gap:14px!important}
.training-card.enhanced-training-card{border-radius:24px!important;padding:24px!important;box-shadow:var(--pem-shadow)!important;background:var(--card)!important}
.training-progress-head{padding-bottom:12px!important;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent)!important}
.question-context{gap:6px!important}
.question-context span{border-radius:999px!important;padding:6px 9px!important;background:color-mix(in srgb,var(--navy) 5%,var(--card))!important}
.statement{font-size:16px!important;line-height:1.72!important;letter-spacing:-.005em!important}
.alternatives button{border-radius:15px!important;box-shadow:0 3px 12px rgba(5,19,34,.025)!important}
.alternatives button:not(:disabled):hover{box-shadow:0 7px 20px rgba(5,19,34,.07)!important}
.question-sequence-divider{display:none!important}
.pem-q-page-meta{margin:7px 0 10px;text-align:center;color:var(--muted);font-size:10px;font-weight:700}
.pem-q-pagination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:6px 0 18px;padding:12px}
.pem-q-pagination button{min-width:40px;height:40px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:12px;background:var(--card);color:var(--text);font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.pem-q-pagination button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
.pem-q-pagination button.active{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(7,25,44,.16)}
.pem-q-pagination button:disabled{opacity:.35;cursor:default}
.pem-q-pagination .ellipsis{display:grid;place-items:center;width:26px;height:40px;color:var(--muted);font-weight:900}
.training-result.compact-result{border-radius:22px!important}

/* Administração */
.admin-shell,.question-admin-workspace{border-radius:24px!important}
.admin-tabs{border-radius:16px!important;padding:5px!important;background:color-mix(in srgb,var(--line) 34%,transparent)!important}
.admin-tabs button{border-radius:12px!important}
.pem-q-import-guide{border-radius:19px!important;box-shadow:var(--pem-shadow-soft)!important}
.pem-q-import-list .pem-q-import-ready{border-radius:16px!important}
.question-admin-list article{border-radius:16px!important}
.access-record{border-radius:16px!important}

/* Header e navegação */
.app-header{box-shadow:0 7px 28px rgba(5,19,34,.035)!important}
.pem-v7-brand img{box-shadow:0 8px 22px rgba(5,19,34,.12)!important}
.bottom-nav{box-shadow:0 -9px 30px rgba(5,19,34,.07)!important}

@media(max-width:780px){
  .view{padding-top:16px!important}
  .view-heading{margin-bottom:17px!important}
  .view-heading h1{font-size:34px!important}
  .settings-section{padding:16px!important;border-radius:18px!important}
  .training-builder{padding:16px!important;border-radius:20px!important}
  .builder-heading{margin-bottom:16px!important;padding-bottom:14px!important}
  .builder-heading h2{font-size:29px!important}
  .contest-strip{display:flex!important;overflow-x:auto!important;scrollbar-width:none!important;padding-bottom:2px!important;flex-wrap:nowrap!important}
  .contest-strip::-webkit-scrollbar{display:none}
  .contest-strip button{flex:0 0 auto!important;min-height:42px!important}
  .advanced-bank-filters{grid-template-columns:1fr!important}
  .available-topics>div{grid-template-columns:1fr!important}
  .training-launch.pem-pagination-launch{grid-template-columns:1fr!important;padding:14px!important}
  .training-launch.pem-pagination-launch .primary-button{width:100%!important;min-width:0!important}
  .active-training-header{top:59px!important}
  .training-card.enhanced-training-card{padding:17px!important;border-radius:20px!important;box-shadow:0 10px 30px rgba(5,19,34,.06)!important}
  .statement{font-size:15px!important;line-height:1.66!important}
  .pem-q-pagination{gap:5px;padding:8px 0;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .pem-q-pagination::-webkit-scrollbar{display:none}
  .pem-q-pagination button{flex:0 0 38px;min-width:38px;height:38px}
  .pem-q-pagination .ellipsis{flex:0 0 24px;height:38px}
}

@media(max-width:430px){
  .view-heading h1{font-size:31px!important}
  .bank-overview{padding:15px!important}
  .training-builder{padding:14px!important}
  .builder-heading h2{font-size:27px!important}
  .training-card.enhanced-training-card{padding:15px!important}
  .question-context{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none}
  .question-context::-webkit-scrollbar{display:none}
  .question-context span{flex:0 0 auto!important}
  .statement{font-size:14.5px!important}
}

/* =========================================================
   P.E.M. V39 — acabamento visual global
   Menos “cards por todo lado”, mais hierarquia e leitura.
   ========================================================= */
:root{
  --pem-shadow:0 12px 34px rgba(5,19,34,.055);
  --pem-shadow-soft:0 5px 18px rgba(5,19,34,.04);
  --pem-surface-border:color-mix(in srgb,var(--line) 78%,transparent);
}
body{background:var(--bg)!important}
.app-main{max-width:1120px!important}
.view{padding-top:20px!important}
.view-heading{margin-bottom:18px!important}
.view-heading h1{font-size:clamp(31px,4vw,46px)!important;line-height:1.02!important;letter-spacing:-.04em!important}
.view-heading .overline,.overline{font-size:9px!important;letter-spacing:.145em!important}

/* Header: mais leve e com menos “caixa”. */
.app-header{background:color-mix(in srgb,var(--bg) 96%,transparent)!important;border-bottom:1px solid var(--pem-surface-border)!important;box-shadow:none!important}
.pem-v7-brand img{box-shadow:0 5px 15px rgba(5,19,34,.09)!important}
.avatar-button{box-shadow:none!important;background:var(--card)!important}

/* Home: mantém o desenho, mas reduz excesso visual. */
.pem-v6-hero{border-radius:24px!important;padding:24px!important;box-shadow:0 16px 44px rgba(4,18,32,.16)!important}
.pem-v6-hero:after{opacity:.45!important}
.pem-v6-hero h2{font-size:clamp(27px,4.7vw,40px)!important}
.pem-v6-metrics{gap:9px!important}
.pem-v6-metric{border-radius:16px!important;padding:14px!important;box-shadow:none!important;border-color:var(--pem-surface-border)!important}
.pem-v6-panel{border-radius:19px!important;padding:17px!important;box-shadow:none!important;border-color:var(--pem-surface-border)!important}
.pem-v6-task{border-radius:13px!important;background:var(--card)!important}

/* Plano: lista, não mosaico. */
.subject-card{border-radius:18px!important;box-shadow:none!important;border-color:var(--pem-surface-border)!important;background:var(--card)!important}
.topic-row{border-radius:13px!important;box-shadow:none!important;background:var(--card)!important}
.plan-view .topic-row:hover{transform:none!important;box-shadow:none!important;background:color-mix(in srgb,var(--card2) 52%,var(--card))!important}
.filter-strip button{box-shadow:none!important}

/* Progresso: cartões mais baixos e gráfico protagonista. */
.pem-progress-view .pem-stat{border-radius:17px!important;box-shadow:none!important;background:var(--card)!important}
.pem-progress-view .pem-guidance-panel,.pem-climate-card{border-radius:19px!important;box-shadow:none!important;border-color:var(--pem-surface-border)!important}
.pem-climate-chart svg{max-height:240px}

/* Questões: aparência mais parecida com plataforma de estudo e menos com dashboard. */
.training-card.enhanced-training-card{border-radius:20px!important;box-shadow:0 8px 26px rgba(5,19,34,.05)!important;border-color:var(--pem-surface-border)!important}
.training-progress-head{border-bottom-color:color-mix(in srgb,var(--line) 58%,transparent)!important}
.pem-q-question-idline span,.question-context span{background:transparent!important;border-color:color-mix(in srgb,var(--line) 72%,transparent)!important}
.pem-q-social-meta{border:0!important;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)!important;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)!important;border-radius:0!important;background:transparent!important;padding:10px 2px!important}
.pem-q-more{border-radius:11px!important;background:transparent!important;box-shadow:none!important}
.alternatives button{border-radius:14px!important;background:var(--card)!important;box-shadow:none!important}
.alternatives button:not(:disabled):hover{transform:none!important;background:color-mix(in srgb,var(--card2) 55%,var(--card))!important}
.pem-q-base-text{border-radius:3px 13px 13px 3px!important;background:color-mix(in srgb,var(--card2) 46%,var(--card))!important}
.pem-q-source{opacity:.82}

/* Filtros e simulados: menos ornamento, mais foco. */
.training-builder,.bank-overview,.bank-performance,.pem-sim-entry{box-shadow:none!important;border-color:var(--pem-surface-border)!important}
.training-builder{border-radius:20px!important}
.pem-sim-entry{border-radius:16px!important;background:var(--card)!important}
.advanced-bank-filters select,.training-launch select{background:var(--card)!important}
.contest-strip button{box-shadow:none!important}
.contest-strip button.active{box-shadow:none!important}

/* Ajustes/Admin: densidade melhor para uso recorrente. */
.settings-section,.question-admin-workspace,.access-admin{box-shadow:none!important;border-color:var(--pem-surface-border)!important}
.settings-section{border-radius:18px!important}
.admin-tabs{background:color-mix(in srgb,var(--line) 24%,transparent)!important}
.question-admin-list article,.access-record,.pem-q-import-list .pem-q-import-ready{box-shadow:none!important;border-color:var(--pem-surface-border)!important}

/* Navegação: ativa por indicador, sem bloco escuro pesado. */
.bottom-nav{background:color-mix(in srgb,var(--card) 96%,transparent)!important;box-shadow:0 -8px 24px rgba(5,19,34,.055)!important}
.bottom-nav button.active{background:color-mix(in srgb,var(--navy) 7%,var(--card))!important;color:var(--navy)!important}
.bottom-nav button.active svg{color:var(--pem-gold)!important}
.bottom-nav button.active:before{content:"";position:absolute;top:2px;left:50%;width:22px;height:2px;border-radius:999px;background:var(--pem-gold);transform:translateX(-50%)}

@media(max-width:780px){
  .view{padding-inline:14px!important;padding-top:14px!important}
  .view-heading h1{font-size:32px!important}
  .pem-v6-hero{padding:19px!important;border-radius:20px!important}
  .pem-v6-panel{padding:15px!important;border-radius:17px!important}
  .pem-v6-metric{padding:12px!important;border-radius:14px!important}
  .training-card.enhanced-training-card{padding:16px!important;border-radius:18px!important;box-shadow:none!important}
  .settings-section{padding:15px!important;border-radius:16px!important}
  .pem-q-hub-card{border-radius:20px 20px 0 0!important}
}
