/* ===== Ajustes para telas pequenas (<= 768px) ===== */
@media only screen and (max-width: 768px) {
  body {
    padding-left: 12px;
    padding-right: 12px;
  }

  #toggle-theme {
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    font-size: 1.05rem;
  }

  /* ---- Dashboard / home ---- */
  #topo {
    width: 100%;
    margin-bottom: 20px;
    align-items: flex-start;
    gap: 12px;
  }

  .topo-logo {
    align-self: center;
  }

  .logo-wordmark {
    height: 30px;
  }

  .user-menu {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .user-chip,
  .perfil-insignia-chip {
    width: 100%;
    justify-content: flex-start;
  }

  .perfil-insignia-chip {
    min-height: 42px;
    padding: 5px 10px 5px 6px;
  }

  .user-dropdown {
    left: 0;
    right: auto;
    min-width: 210px;
    max-width: calc(100vw - 24px);
  }

  #acoes-rapidas {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .qa-btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 10px;
    text-align: center;
  }

  .stats-strip {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #lista-baralhos {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .card,
  .stat-card {
    min-width: 0;
  }

  .card-acoes {
    grid-template-columns: 1fr;
  }

  .atualizacao-box {
    position: static;
    width: 100%;
    max-width: 440px;
    margin: 0 auto 20px;
  }

  .creditos-chip {
    left: 12px;
    right: auto;
    bottom: 12px;
    max-width: calc(100vw - 24px);
  }

  .cred-modal,
  .cred-admin-modal,
  .update-ai-overlay {
    padding: 12px;
    align-items: flex-end;
  }

  .cred-modal-box,
  .cred-admin-box,
  .update-ai-modal {
    width: 100%;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
  }

  .ia-config-box,
  .insignias-box,
  .onboarding-box {
    width: 100%;
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    padding: 18px;
  }

  .ia-config-topo,
  .insignias-topo,
  .onboarding-topo {
    align-items: flex-start;
    gap: 12px;
  }

  .ia-modos,
  .ia-personalidades,
  .insignias-grid,
  .onboarding-grid {
    grid-template-columns: 1fr;
  }

  .insignias-proxima,
  .onboarding-mic-linha {
    grid-template-columns: 1fr;
  }

  .onboarding-mic-linha .btn-microfone {
    width: 100%;
  }

  /* ---- Estudo / revisar ---- */
  #estudo-container {
    width: 100%;
    gap: 8px;
  }

  .nav-arrow {
    width: 42px;
    height: 42px;
    font-size: 1.2rem;
  }

  #card-area {
    min-width: 0;
    padding: 24px 18px;
    min-height: 260px;
  }

  #card-area > p:first-child {
    font-size: 1.16rem;
  }

  .input-resposta-linha,
  .input-ia-linha {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .input-resposta-linha input,
  .input-verificacao input,
  .input-verificacao button,
  .btn-microfone {
    width: 100%;
  }

  .acoes-estudo,
  .mandan-acoes {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .acoes-estudo button,
  .mandan-acao {
    width: 100%;
  }

  .srs-avaliacao {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .ia-fila-detalhes {
    grid-template-columns: 1fr;
  }

  .ia-fila-cancelar {
    grid-column: auto;
    width: 100%;
  }

  .ia-indicador {
    left: 12px;
    right: auto;
    bottom: 12px;
    max-width: calc(100vw - 24px);
  }

  /* ---- Criacao manual ---- */
  #adicionar,
  #importar {
    width: 100%;
  }

  .buttons {
    width: 100%;
  }

  .buttons #voltar {
    width: 100%;
  }

  /* ---- Criar baralho com IA ---- */
  .ia-criador-topo,
  .wizard-progresso-topo,
  .resultado-topo {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .form-grid,
  .mini-config,
  .resumo-lista,
  .destino-grid,
  .choice-grid,
  .qtd-grid {
    grid-template-columns: 1fr;
  }

  .wizard-card,
  .gerando-card,
  .resultado-card {
    padding: 18px;
  }

  .wizard-acoes,
  .resultado-acoes,
  .card-editor-topo {
    flex-direction: column;
    align-items: stretch;
  }

  .wizard-acoes button,
  .resultado-acoes button {
    width: 100%;
  }

  .card-editor-acoes {
    width: 100%;
    justify-content: flex-end;
  }

  .gerando-fila {
    grid-template-columns: 1fr;
  }

  .gerando-fila button {
    grid-column: auto;
    width: 100%;
  }

  /* ---- Redacao ---- */
  #red-topo,
  .rev-topo,
  .red-form-rodape,
  .red-modo-linha,
  .red-acoes-resultado,
  .rev-cabecalho,
  .rev-chat-form {
    flex-direction: column;
    align-items: stretch;
  }

  .red-modo-linha {
    flex-wrap: nowrap;
  }

  .red-modo-hint {
    flex: none;
    width: 100%;
  }

  #red-topo h1,
  .rev-topo h1 {
    font-size: 1.3rem;
  }

  .red-form,
  .red-comp,
  .red-historico,
  .rev-folha,
  .rev-painel-card,
  .rev-plano-card,
  .rev-chat-card {
    padding: 18px;
  }

  .red-modo,
  #red-corrigir,
  .red-btn-profunda,
  #rev-chat-enviar {
    width: 100%;
  }

  .red-modo-btn {
    flex: 1 1 0;
  }

  .red-cobertura li,
  .red-trecho,
  .red-hist-item {
    grid-template-columns: 1fr;
  }

  .rev-layout,
  .rev-plano-grid {
    grid-template-columns: 1fr;
  }

  .rev-legenda,
  .rev-acoes {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }

  .rev-legenda-item,
  .rev-chip,
  .rev-acao-btn {
    flex: 0 0 auto;
  }

  .rev-chat-msg {
    max-width: 100%;
  }

  .rev-lista-topo {
    flex-direction: column;
    align-items: stretch;
  }

  #rev-regenerar {
    width: 100%;
  }

  /* ---- Conquistas ---- */
  #conq-topo,
  .rank-card,
  .conq-claimaveis {
    flex-direction: column;
    align-items: stretch;
  }

  .conq-titulo {
    font-size: 1.35rem;
  }

  .rank-medalha {
    align-self: center;
  }

  .conq-filtros {
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    border-radius: var(--radius);
  }

  .conq-filtros .filtro {
    flex: 0 0 auto;
  }

  .conq-grid {
    grid-template-columns: 1fr;
  }

  .conq-card {
    min-width: 0;
  }

  .conq-claimaveis-btn {
    width: 100%;
  }

  /* ---- Login ---- */
  .login-container {
    padding: 26px 20px;
  }
}

@media only screen and (max-width: 430px) {
  #acoes-rapidas,
  .stats-strip,
  .srs-avaliacao {
    grid-template-columns: 1fr;
  }

  #card-area {
    padding: 22px 16px;
  }

  .nav-arrow {
    width: 38px;
    height: 38px;
  }
}
