/* =====================================================================
   ALTITUDE V39 — AJUSTES 29–61
   Carregado por último. Não alterar o padrão aprovado de botões de ações.
   ===================================================================== */
:root{
  --v39-navy:#07314f;
  --v39-cyan:#18a9bc;
  --v39-line:#d5e3eb;
  --v39-muted:#64798b;
  --v39-bg:#f4f8fb;
  --v39-danger:#bd313d;
}

/* 29 — Corrigir e-mail é uma tela própria: sem links duplicados. */
.account-recovery-links[hidden]{display:none!important}
.login-container:has(.wrong-email-pane:not([hidden])){width:min(760px,calc(100% - 32px));max-width:760px}
.login-container:has(.wrong-email-pane:not([hidden])) .wrong-email-pane{width:100%;max-width:620px;margin-inline:auto;box-sizing:border-box}

/* 36 — PADRÃO OFICIAL DAS AÇÕES: um botão por linha, dimensões consistentes. */
.course-action-cell,
.student-actions,
.cert-admin-actions,
.ticket-row-actions,
.v39-standard-actions,
.payment-card .card-actions,
.commercial-card .card-actions,
.certificate-admin-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  width:160px!important;
  min-width:160px!important;
  max-width:160px!important;
  align-content:start!important;
}
.course-action-cell button,
.student-actions button,
.cert-admin-actions button,
.ticket-row-actions button,
.v39-standard-actions button,
.payment-card .card-actions button,
.commercial-card .card-actions button,
.certificate-admin-actions button{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:38px!important;
  padding:8px 10px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:7px!important;
  white-space:normal!important;
  line-height:1.2!important;
  font-weight:800!important;
  box-sizing:border-box!important;
}
.course-action-cell .danger,
.student-actions .student-delete-action,
.cert-admin-actions .danger-action,
.v39-standard-actions .danger-action{
  background:#fff5f6!important;
  border:1px solid #f0bfc4!important;
  color:var(--v39-danger)!important;
}
.course-action-cell .gc-publish.is-live{background:#effaf3!important;border-color:#bfe8ce!important;color:#247548!important}
.course-action-cell .course-build-button{background:#47a8bb!important;color:#fff!important;border-color:#47a8bb!important}

/* 30/59 — Alunos não podem vazar do card no mobile. */
@media(max-width:1120px){
  #tabAlunos,#tabAlunos tbody,#tabAlunos tr,#tabAlunos td{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  #tabAlunos tbody{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
  #tabAlunos tr{display:block!important;overflow:hidden!important;padding:16px!important;border:1px solid var(--v39-line)!important;border-radius:16px!important;background:#fff!important}
  #tabAlunos td{display:block!important;overflow:hidden!important;overflow-wrap:anywhere!important;word-break:normal!important;padding:10px 0!important;border-bottom:1px solid #e8eff3!important}
  #tabAlunos td:last-child{border-bottom:0!important}
  #tabAlunos .student-actions{width:100%!important;max-width:100%!important;min-width:0!important}
}
@media(max-width:720px){#tabAlunos tbody{grid-template-columns:1fr!important}}

/* 33/35 — no desktop, ações legíveis e sem texto esmagado. */
@media(min-width:1121px){
  #tabCursos .col-acoes,#tabCertificadosProcessados td[data-label="Ações"],#tabCertificadosGestao td[data-label="Ações"]{width:180px!important;min-width:180px!important}
  #tabCursos .course-action-cell,#tabCertificadosProcessados .cert-admin-actions,#tabCertificadosGestao .cert-admin-actions{width:160px!important;min-width:160px!important;max-width:160px!important}
}

/* 39 — toast sem tampar botões importantes. */
.toast,.gestor-toast{bottom:max(18px,env(safe-area-inset-bottom))!important;left:50%!important;right:auto!important;transform:translate(-50%,18px)!important;max-width:min(560px,calc(100vw - 32px))!important;width:auto!important;pointer-events:none!important}
.toast.show,.gestor-toast.show{transform:translate(-50%,0)!important}
@media(max-width:720px){.toast,.gestor-toast{bottom:calc(76px + env(safe-area-inset-bottom))!important;font-size:14px!important}}

/* 41 — Pagamentos da gestão mais compactos, sem espaço morto. */
#pagamentos-gestao .commercial-card-grid{display:block!important;width:100%!important}
#pagamentos-gestao .payment-group-v342{margin:0 0 18px!important}
#pagamentos-gestao .payment-group-v342>header{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:8px!important}
#pagamentos-gestao .payment-group-v342 .commercial-card.payment-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 160px!important;
  gap:16px!important;
  align-items:center!important;
  min-height:0!important;
  margin:0 0 10px!important;
  padding:14px 16px!important;
}
#pagamentos-gestao .payment-card>div:first-child{display:grid!important;grid-template-columns:minmax(180px,1.4fr) minmax(160px,1fr) auto auto!important;gap:6px 16px!important;align-items:center!important}
#pagamentos-gestao .payment-card>div:first-child>span:first-child{grid-column:1/-1!important;font-size:11px!important}
#pagamentos-gestao .payment-card h4,#pagamentos-gestao .payment-card p,#pagamentos-gestao .payment-card small,#pagamentos-gestao .payment-card strong{margin:0!important}
#pagamentos-gestao .payment-status-chip{justify-self:start!important}
@media(max-width:900px){
  #pagamentos-gestao .payment-group-v342 .commercial-card.payment-card{grid-template-columns:1fr!important}
  #pagamentos-gestao .payment-card>div:first-child{grid-template-columns:1fr!important}
  #pagamentos-gestao .payment-card .card-actions{width:100%!important;max-width:100%!important}
}

/* 42 — Gerência de áreas. */
.v39-area-manager-sheet{width:min(760px,94vw)!important}
.v39-area-manager-list{display:grid;gap:10px;margin-top:14px}
.v39-area-row{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--v39-line);border-radius:14px;background:#fff}
.v39-area-row>div:first-child{display:grid;gap:4px}.v39-area-row small{color:var(--v39-muted)}
.v39-area-row button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:720px){.v39-area-row{grid-template-columns:1fr}.v39-area-row .v39-standard-actions{width:100%!important;max-width:100%!important}}

/* 43 — CPF cabe na carteirinha. */
.digital-card-data span{line-height:1.25}

/* 44/57 — botões de pagamento/WhatsApp proporcionais. */
.whatsapp-payment-button,.payment-request-actions .secondary-button{min-height:48px!important;padding:10px 16px!important;border-radius:12px!important;line-height:1.2!important}
.payment-request-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

/* 48/49/51 — Prova responsiva. Scroll é permitido quando o conteúdo exigir. */
.quiz-modal{width:min(980px,calc(100vw - 32px))!important;max-height:min(92dvh,920px)!important;display:grid!important;grid-template-rows:auto 5px minmax(0,1fr) auto!important;overflow:hidden!important}
.quiz-header{min-width:0!important}.quiz-header>div{min-width:0!important}.quiz-header h2{overflow-wrap:anywhere!important}
.quiz-header .modal-close,.study-header .modal-close{display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;text-align:center!important;font-size:24px!important}
#quizBody{min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important;padding:18px 28px!important}
.quiz-footer{position:sticky!important;bottom:0!important;z-index:4!important;display:grid!important;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr)!important;align-items:center!important;gap:12px!important;padding:14px 28px calc(14px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid var(--v39-line)!important}
.quiz-footer #btnQuestaoAnterior{justify-self:start!important}.quiz-footer #btnQuestaoProxima{justify-self:end!important}
.quiz-options{display:grid!important;gap:12px!important}
.quiz-option{appearance:none!important;-webkit-appearance:none!important;width:100%!important;display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;text-align:left!important;padding:16px 18px!important;border:1px solid #d4e2ea!important;border-radius:16px!important;background:#fff!important;color:#172b3a!important;cursor:pointer!important;font:inherit!important}
.quiz-option input{display:none!important}
.quiz-option b{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:12px!important;background:#eef4f7!important;color:#0b4c70!important;font-size:18px!important}
.quiz-option span{font-size:17px!important;line-height:1.45!important}
.quiz-option:hover{border-color:#78c6d2!important;background:#fbfeff!important}.quiz-option.selected{border:2px solid var(--v39-cyan)!important;background:#effbfd!important;box-shadow:0 0 0 3px rgba(24,169,188,.08)!important}.quiz-option.selected b{background:var(--v39-cyan)!important;color:#fff!important}
@media(max-width:720px){
  .quiz-modal{width:100%!important;max-height:100dvh!important;border-radius:0!important;grid-template-rows:auto 5px minmax(0,1fr) auto!important}
  #quizBody{padding:14px 16px!important}
  .quiz-footer{grid-template-columns:1fr 1fr!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important}
  .quiz-footer #quizCounter{grid-column:1/-1!important;grid-row:1!important;text-align:center!important}.quiz-footer #btnQuestaoAnterior{grid-column:1!important;grid-row:2!important;width:100%!important}.quiz-footer #btnQuestaoProxima{grid-column:2!important;grid-row:2!important;width:100%!important}
  .quiz-option{grid-template-columns:42px minmax(0,1fr)!important;padding:14px!important;gap:12px!important}.quiz-option b{width:38px!important;height:38px!important}.quiz-option span{font-size:16px!important}
}

/* 47/56 — conclusão com duas escolhas, sem redirecionamento automático. */
.course-completion-panel{align-items:center!important;gap:16px!important}
.course-completion-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:210px!important}
.course-completion-actions button{width:100%!important;min-height:46px!important}
@media(max-width:820px){.course-completion-panel{display:grid!important;grid-template-columns:1fr!important}.course-completion-actions{width:100%!important;min-width:0!important}}

/* 52/54 — paridade mobile: nenhuma aba configurada some no celular. */
@media(max-width:1120px){
  .student-menu .menu-link[data-aba="catalogo"]{display:flex!important}
  #catalogo .catalog-student-filters{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
}
@media(max-width:720px){#catalogo .catalog-student-filters{grid-template-columns:1fr!important}}

/* 53 — recompensa do aluno. */
.student-reward-box{margin-top:14px;display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}
.reward-coin{width:58px;height:58px;min-width:58px;border-radius:50%;display:grid;place-items:center;border:4px double rgba(255,255,255,.55);box-shadow:inset 0 0 0 2px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.14);font-weight:900;font-size:20px}
.reward-bronze{background:linear-gradient(135deg,#f2bd8b,#a65f35);color:#4e2915}.reward-prata{background:linear-gradient(135deg,#f5f7f9,#9ba7b1);color:#34424d}.reward-ouro{background:linear-gradient(135deg,#ffe9a0,#d4a520);color:#674d00}.reward-diamante{background:linear-gradient(135deg,#eafcff,#8fd5e6,#eefcff);color:#0b6079}
.reward-copy{display:grid;gap:2px;min-width:0}.reward-copy small{opacity:.82}.reward-copy strong{font-size:17px}.reward-copy span{font-size:12px;line-height:1.3;opacity:.88}
.reward-admin-help{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.reward-admin-help article{padding:12px 14px;border:1px solid var(--v39-line);border-radius:12px;background:#fff;display:grid;gap:3px}.reward-admin-help span{color:var(--v39-muted);font-size:12px}
.reward-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reward-admin-card{display:grid;grid-template-columns:74px minmax(0,1fr) 160px;gap:14px;align-items:center;padding:16px;border:1px solid var(--v39-line);border-radius:16px;background:#fff}.reward-admin-card.is-disabled{opacity:.62}.reward-admin-medal{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#eef4f7;font-weight:900}.reward-admin-medal img{width:100%;height:100%;object-fit:cover;border-radius:50%}.reward-admin-copy{display:grid;gap:3px}.reward-admin-copy>span{color:var(--v39-cyan);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.reward-admin-copy h3,.reward-admin-copy p{margin:0}.reward-admin-copy p,.reward-admin-copy small{color:var(--v39-muted)}
@media(max-width:900px){.reward-admin-help{grid-template-columns:repeat(2,1fr)}.reward-admin-grid{grid-template-columns:1fr}.reward-admin-card{grid-template-columns:64px minmax(0,1fr)}.reward-admin-card .v39-standard-actions{grid-column:1/-1;width:100%!important;max-width:100%!important}}
@media(max-width:520px){.reward-admin-help{grid-template-columns:1fr}}

/* 58 — Atendimento do aluno: resposta sempre acessível no mobile. */
@media(max-width:820px){
  .student-ticket-modal{height:100dvh!important;max-height:100dvh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;border-radius:0!important}
  .student-ticket-modal-body{min-height:0!important;overflow:hidden!important;display:block!important}
  .student-ticket-details{display:none!important}
  .student-ticket-conversation{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important}
  .student-ticket-history{min-height:0!important;overflow-y:auto!important;padding-bottom:12px!important}
  .student-ticket-reply{position:sticky!important;bottom:0!important;z-index:5!important;margin:0!important;padding:12px 0 calc(12px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid var(--v39-line)!important}
  .student-ticket-reply textarea{min-height:84px!important;max-height:150px!important}.student-ticket-reply>div{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.student-ticket-reply button{width:100%!important;min-height:48px!important}
}

/* 60 — hambúrguer da Gestão sempre visível em celular/tablet. */
@media(max-width:1120px){
  body:has(.gestor-topbar) #btnMenuGestor{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  body:has(.gestor-topbar) .gestor-topbar{grid-template-columns:48px minmax(0,1fr) auto!important}
}

/* 61 — curso mobile aprovado, só mais respiro. */
@media(max-width:720px){#tabCursos tbody{gap:24px!important}#tabCursos tr{margin-bottom:0!important}}

/* Em telas menores, o mesmo padrão aprovado ocupa a largura do card. */
@media(max-width:1120px){
  .course-action-cell,.student-actions,.cert-admin-actions,.ticket-row-actions,
  .v39-standard-actions,.payment-card .card-actions,.commercial-card .card-actions,
  .certificate-admin-actions{width:100%!important;min-width:0!important;max-width:100%!important}
}
