/* ALTITUDE V34 - emissão consolidada */
:root{
  --alt-navy:#073b5a;
  --alt-navy-2:#0b4a70;
  --alt-cyan:#11a8b6;
  --alt-cyan-2:#36b4cf;
  --alt-soft:#eef8fb;
  --alt-line:#cfe0e9;
  --alt-text:#13283a;
  --alt-danger:#b4232f;
  --alt-success:#177a51;
}

/* Botões institucionais: remove aparência nativa do navegador. */
button,.button,.btn,.primary-button,.secondary-button,a.button,
.gestor-nav button,.conteudo button,.modal button,.student-shell button,
.payment-request-card button,.commercial-card button{
  font:inherit;
  font-weight:700;
  border-radius:10px;
  min-height:42px;
  padding:10px 16px;
  border:1px solid var(--alt-line);
  background:#fff;
  color:var(--alt-navy);
  cursor:pointer;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  line-height:1.2;
  transition:.18s ease;
}
button:hover,.button:hover,.btn:hover{transform:translateY(-1px);border-color:var(--alt-cyan)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(17,168,182,.25);outline-offset:2px}
button[type="submit"],.primary-action,.primary-button,.exam-button,.release,.payment-confirm,.whatsapp-payment-button,
#btnNovoCurso,#btnComercialAtualizar,#btnAtualizarCertificados{
  background:var(--alt-cyan);border-color:var(--alt-cyan);color:#fff;
}
button.danger,.danger,.cancel,.block,.ticket-delete-modal{background:#fff4f4!important;border-color:#efb7bd!important;color:var(--alt-danger)!important}
button.release,.badge.resolvido{background:#e8f7f0!important;border-color:#b8e1ce!important;color:var(--alt-success)!important}
button.ghost,.secondary-button{background:#fff;color:var(--alt-navy);border-color:#bfd2df}

/* CABEÇALHO PÚBLICO ÚNICO */
.old-header{
  display:block!important;
  width:100%;
  min-height:96px;
  background:#fff;
  border-bottom:1px solid #d9e5ec;
  box-shadow:none;
  position:relative;
  z-index:120;
}
.old-header .top-bar{
  width:min(1200px,calc(100% - 48px));
  height:96px!important;
  min-height:96px;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:220px minmax(420px,1fr) 230px;
  align-items:center!important;
  gap:24px;
}
.old-header .institution-logo,.old-header .institution-logo a{display:flex;align-items:center;height:100%}
.old-header .institution-logo img,.old-header img.logo{width:154px!important;max-width:154px!important;height:52px!important;object-fit:contain!important;object-position:left center!important;margin:0!important}
.old-header .navbar{justify-self:center!important;width:auto!important;margin:0!important}
.old-header .navbar ul{display:flex!important;align-items:center!important;justify-content:center!important;gap:42px!important;margin:0!important;padding:0!important;list-style:none!important}
.old-header .navbar a{font-size:15px!important;font-weight:700!important;color:#1f9db5!important;text-decoration:none!important;white-space:nowrap!important;padding:36px 0 32px!important;border-bottom:3px solid transparent}
.old-header .navbar a[aria-current="page"],.old-header .navbar a.active{color:var(--alt-navy)!important;border-color:var(--alt-cyan)!important}
.old-header .header-buttons{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;margin:0!important}
.old-header .header-buttons a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:96px!important;min-height:42px!important;padding:9px 14px!important;border-radius:9px!important;font-weight:700!important;text-decoration:none!important}
.old-header .btn-outline{border:2px solid var(--alt-cyan)!important;color:var(--alt-cyan)!important;background:#fff!important}
.old-header .btn-primary{border:2px solid var(--alt-cyan-2)!important;background:var(--alt-cyan-2)!important;color:#fff!important}
.new-header{display:none!important}
body{overflow-x:hidden}

/* Textos institucionais com leitura natural. */
.home-eyebrow,.catalog-kicker,.validation-eyebrow,.eyebrow,.page-heading span,.section-heading span,.student-topbar p,
.gestor-topbar .eyebrow,.commercial-card>div>span{text-transform:none!important;letter-spacing:.08em!important}

/* Página pública de cursos. */
.course-finder-section{height:auto!important;min-height:0!important;padding:26px!important;margin-bottom:28px!important}
.course-finder-controls,.finder-group{height:auto!important;min-height:0!important}
.course-type-tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:14px!important}
.course-type-tab{height:auto!important;min-height:88px!important;padding:18px!important;text-align:left!important;border:1px solid var(--alt-line)!important;background:#fff!important}
.course-type-tab.active{background:#e9f8fb!important;border-color:var(--alt-cyan)!important}
.course-finder-section.single-visible-type{display:none!important}

/* Portal do gestor: um cabeçalho por tela. */
@media (min-width:901px){
  .gestor-topbar{display:none!important}
  .conteudo{padding-top:0!important}
}
.gestor-nav .nav-item span{font-family:Arial,sans-serif!important;color:#d7ecf5!important}
.sidebar-bottom a{display:none!important}
.sidebar-bottom .manager-identity span,.sidebar-bottom .manager-identity strong,.sidebar-bottom .manager-identity small{display:block!important;white-space:normal!important;overflow-wrap:anywhere!important}
.aba>h2:first-child{margin-top:0!important}
.aba>h2:first-child,.page-heading h2,.section-heading h3{text-transform:none!important}

/* Tabelas e ações sem palavras quebradas. */
.card,.certificate-admin-table-wrap{overflow:visible!important}
.tabela{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
.tabela th,.tabela td{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;vertical-align:middle!important}
.tabela th{font-size:11px!important;line-height:1.2!important}
.tabela td{font-size:14px!important}
.tabela button,.cert-admin-actions button,.student-actions button{min-width:105px;max-width:100%;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important}
.cert-admin-actions{display:grid!important;grid-template-columns:repeat(2,minmax(118px,1fr))!important;gap:8px!important;align-items:stretch!important}
#tabAlunos th:last-child,#tabAlunos td:last-child{width:360px!important}
#tabAlunos td:last-child>div,#tabAlunos td:last-child{min-width:340px!important}
#tabCarteirasHorasGestao th:nth-child(2),#tabCarteirasHorasGestao td:nth-child(2){width:110px!important;white-space:nowrap!important}
#tabCarteirasHorasGestao th:last-child,#tabCarteirasHorasGestao td:last-child{width:145px!important}
#tabCarteirasHorasGestao td:last-child button{background:var(--alt-cyan)!important;border-color:var(--alt-cyan)!important;color:#fff!important;min-width:130px!important}

/* Tabela de cursos. */
#tabCursos{table-layout:fixed!important}
#tabCursos th:nth-child(1){width:70px!important}
#tabCursos th:nth-child(2){width:30%!important}
#tabCursos th:nth-child(3){width:20%!important}
#tabCursos th:nth-child(4){width:80px!important}
#tabCursos th:nth-child(5){width:95px!important}
#tabCursos th:last-child{width:385px!important}
#tabCursos td{overflow:hidden!important}
#tabCursos td strong,#tabCursos td small{word-break:normal!important;overflow-wrap:break-word!important}
#tabCursos td:last-child>div{display:grid!important;grid-template-columns:repeat(3,minmax(112px,1fr))!important;gap:7px!important}

/* Montagem de curso. */
.builder-shell,.course-builder,.v30-builder-shell{max-width:none!important;width:100%!important;overflow:visible!important}
.builder-header,.v30-builder-header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;position:relative!important;height:auto!important;min-height:84px!important;padding:14px 18px!important}
.builder-mode-switch,.v30-mode-switch{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important}
.builder-mode-switch button,.v30-mode-switch button{min-height:58px!important}
.module-builder-grid,.v30-manual-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;gap:20px!important;align-items:start!important}
.module-form-column,.v30-manual-form{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:14px!important;overflow:visible!important}
.module-form-column fieldset,.v30-manual-form fieldset{min-width:0!important;height:auto!important;overflow:visible!important}
.module-preview,.v30-manual-preview{position:sticky!important;top:16px!important;min-width:0!important;max-height:none!important;overflow:visible!important}
input[type="file"]{max-width:100%!important;width:100%!important;min-width:0!important}
.latex-finish-step{display:grid!important;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)!important;gap:24px!important;align-items:start!important;padding:22px!important}
#latexModuleVideoList{display:grid!important;gap:12px!important}
#latexModuleVideoList article{display:grid!important;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr)!important;gap:16px!important;align-items:center!important;padding:16px!important}
#latexModuleVideoList .builder-input-action{display:grid!important;grid-template-columns:minmax(180px,1fr) auto auto!important;gap:8px!important;min-width:0!important}
#latexModuleVideoList input{min-width:0!important;width:100%!important}

/* LaTeX: leftmargin é aplicado de verdade. */
.latex-list{padding-left:0!important;margin-top:.75rem!important;margin-bottom:.9rem!important}
.latex-list:not(.has-custom-leftmargin){margin-left:1.4rem!important}
.latex-list li{margin-bottom:var(--altitude-list-item-gap,.42rem)!important;padding-left:.2rem!important}

/* PDF/material exibido. */
.pdf-info-box{grid-template-columns:max-content 1fr!important;gap:6px 10px!important}
.pdf-info-box b:nth-of-type(n+4),.pdf-info-box b:nth-of-type(n+4)+span{display:none!important}

/* Modal de promoção no desktop: imagem inteira. */
.v34-promotion-dialog{width:min(980px,calc(100vw - 48px))!important;max-height:84vh!important;display:grid!important;grid-template-columns:minmax(360px,46%) minmax(0,1fr)!important;overflow:hidden!important}
.v34-promotion-dialog>img{width:100%!important;height:100%!important;min-height:430px!important;object-fit:contain!important;object-position:center!important;background:#eef8fb!important}

/* Modais administrativos. */
.modal__sheet{max-width:min(900px,calc(100vw - 32px))!important;max-height:90vh!important;overflow-y:auto!important}
#modalHorasGestao .modal__sheet{max-width:760px!important}
#modalHorasGestao .hours-adjust-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
#modalHorasGestao .hours-adjust-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
#modalHorasGestao .hours-adjust-preview article{padding:12px;border:1px solid var(--alt-line);border-radius:10px;background:#f7fbfd}

/* Prova: todas as alternativas e resultado simples. */
.quiz-options,.quiz-alternatives,#quizAlternativas,.alternativas-prova{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;height:auto!important;max-height:none!important;overflow:visible!important}
.quiz-option,.quiz-options label,.alternativa-prova{width:100%!important;height:auto!important;min-height:52px!important;white-space:normal!important;overflow:visible!important;word-break:normal!important;overflow-wrap:break-word!important;display:flex!important;align-items:flex-start!important}
.quiz-footer,.quiz-navigation{position:static!important;margin-top:18px!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
.quiz-result-details,.quiz-review,.correcao-comentada,.resultado-resolucoes{display:none!important}

@media (max-width:1100px){
  .old-header .top-bar{grid-template-columns:180px 1fr 210px;width:calc(100% - 30px);gap:14px}
  .old-header .navbar ul{gap:24px!important}
  .old-header .institution-logo img,.old-header img.logo{width:138px!important}
  .module-builder-grid,.v30-manual-grid{grid-template-columns:1fr!important}
  .module-preview,.v30-manual-preview{position:static!important}
}

@media (max-width:900px){
  .old-header{display:none!important}
  .new-header{display:flex!important;min-height:72px!important;height:72px!important;padding:10px 18px!important;align-items:center!important;justify-content:space-between!important;background:#fff!important;border-bottom:1px solid var(--alt-line)!important;position:relative!important;z-index:150!important}
  .new-header .logo img{width:142px!important;height:45px!important;object-fit:contain!important}
  .new-header .menu-icon>img{width:34px!important;height:34px!important;object-fit:contain!important}
  .dropdown-menu{right:0!important;left:auto!important;top:58px!important;max-width:min(330px,calc(100vw - 24px))!important}
  .gestor-topbar{display:flex!important;min-height:58px!important;padding:8px 12px!important}
  .gestor-topbar>div:not(:first-of-type),.gestor-topbar .topbar-actions{display:none!important}
  .gestor-topbar .mobile-menu{display:inline-flex!important}
  .tabela,.tabela thead,.tabela tbody,.tabela tr,.tabela th,.tabela td{display:block!important;width:100%!important}
  .tabela thead{display:none!important}
  .tabela tr{border:1px solid var(--alt-line)!important;border-radius:14px!important;padding:12px!important;margin-bottom:12px!important;background:#fff!important}
  .tabela td{display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;gap:10px!important;padding:8px 0!important;border:0!important;min-width:0!important}
  .tabela td::before{content:attr(data-label);font-size:11px;font-weight:700;color:#62798a;text-transform:none}
  .tabela td:last-child{display:block!important;min-width:0!important;width:100%!important}
  .cert-admin-actions,#tabCursos td:last-child>div{grid-template-columns:1fr!important}
  .module-form-column,.v30-manual-form{grid-template-columns:1fr!important}
  .latex-finish-step{grid-template-columns:1fr!important}
  #latexModuleVideoList article{grid-template-columns:1fr!important}
  #latexModuleVideoList .builder-input-action{grid-template-columns:1fr!important}
  .v34-promotion-dialog{width:calc(100vw - 24px)!important;display:block!important;max-height:90vh!important;overflow-y:auto!important}
  .v34-promotion-dialog>img{width:100%!important;height:auto!important;min-height:0!important;max-height:48vh!important;object-fit:contain!important}
  .quiz-dialog,.quiz-modal-sheet{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow-y:auto!important;padding-bottom:env(safe-area-inset-bottom)!important}
  .quiz-option,.quiz-options label,.alternativa-prova{font-size:15px!important;padding:13px!important}
}

/* Ajustes finais da tela real de montagem do curso. */
.course-builder-modal{width:min(1500px,calc(100vw - 28px))!important;height:min(94vh,980px)!important;max-width:none!important;overflow:hidden!important}
.course-builder-header{display:grid!important;grid-template-columns:160px minmax(0,1fr) 150px!important;align-items:center!important;gap:18px!important;height:auto!important;min-height:82px!important;padding:12px 16px!important}
.builder-title-block{min-width:0!important}.builder-title-block h3{white-space:normal!important;overflow-wrap:break-word!important;margin:0!important}
.builder-header-status{min-width:0!important;text-align:center!important}
.builder-mode-switch{display:grid!important;grid-template-columns:330px 1fr 1fr!important;gap:10px!important;align-items:stretch!important;padding:10px 16px!important}
.builder-mode-switch .builder-mode-intro{min-width:0!important;padding:8px!important}
.builder-scroll-area{overflow-y:auto!important;overflow-x:hidden!important;padding:14px 16px 30px!important}
.course-builder-grid.v30-normal-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr)!important;gap:20px!important;align-items:start!important}
.builder-create-panel{min-width:0!important}.builder-module-form{display:grid!important;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr)!important;gap:14px!important;align-items:start!important}
.builder-module-form .builder-form-section:nth-of-type(2){grid-row:span 2!important}
.builder-form-section{min-width:0!important;height:auto!important;overflow:visible!important;padding:14px!important}
.builder-media-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.builder-wide-field{grid-column:1/-1!important}.builder-primary-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.builder-list-panel.v30-preview-column{min-width:0!important;position:sticky!important;top:0!important;overflow:visible!important}
.normal-live-preview{min-height:430px!important}.normal-material-preview{height:auto!important;min-height:340px!important;max-height:62vh!important;overflow:auto!important}
.builder-completion-bar{position:static!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;padding:14px 16px!important}
#btnVoltarModulos{display:none!important}
.v30-latex-finish{display:grid!important;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr)!important;gap:22px!important;align-items:start!important;padding:18px!important}
.latex-module-video-manager{min-width:0!important}.latex-module-video-list article{overflow:hidden!important}
.no-wrap{white-space:nowrap!important}.negative-value{color:var(--alt-danger)!important}
.hours-adjust-mode button.active{background:var(--alt-navy)!important;border-color:var(--alt-navy)!important;color:#fff!important}
.hours-stepper{display:grid!important;grid-template-columns:auto minmax(100px,1fr) auto!important;gap:8px!important;align-items:center!important}.hours-stepper input{text-align:center!important;font-weight:700!important}
.hours-manager-alert{min-height:44px;padding:10px 12px;border-radius:10px;background:var(--alt-soft);color:var(--alt-navy);font-size:13px}
.card-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}.card-actions button{min-width:150px!important}.success-action{background:var(--alt-success)!important;border-color:var(--alt-success)!important;color:#fff!important}
.payment-card .payment-status{display:block;margin-top:8px;font-weight:700;color:var(--alt-navy)}

@media(max-width:1100px){
 .course-builder-header{grid-template-columns:140px 1fr!important}.builder-header-status{display:none!important}
 .builder-mode-switch{grid-template-columns:1fr 1fr!important}.builder-mode-intro{grid-column:1/-1!important}
 .course-builder-grid.v30-normal-grid{grid-template-columns:1fr!important}.builder-list-panel.v30-preview-column{position:static!important}
 .builder-module-form{grid-template-columns:1fr!important}.builder-module-form .builder-form-section:nth-of-type(2){grid-row:auto!important}
 .v30-latex-finish{grid-template-columns:1fr!important}
}
@media(max-width:700px){
 .course-builder-modal{width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:0!important}
 .course-builder-header{grid-template-columns:1fr!important;gap:8px!important}.builder-back-button{width:100%!important}.builder-header-status{display:none!important}
 .builder-mode-switch{grid-template-columns:1fr!important;padding:8px!important}.builder-mode-intro{grid-column:auto!important}
 .builder-scroll-area{padding:10px!important}.builder-media-grid,.builder-primary-actions{grid-template-columns:1fr!important}
 .normal-material-preview{max-height:none!important}.builder-completion-bar{display:grid!important;grid-template-columns:1fr!important}
 .card-actions{display:grid!important;grid-template-columns:1fr!important}.card-actions button{width:100%!important;min-width:0!important}
}
