/* MINERS CLUB — telas admin novas (Lives, Miners Club, matrizes de Pacotes, Plano/acessos do aluno).
   Prefixo .ca- pra não colidir com app.css/club.css. */

/* grade de campos que quebra sozinha no celular */
.ca-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 12px; }

/* linha de controles inline (replay, atribuir plano, acesso extra) */
.ca-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.ca-inline .input, .ca-inline .select { width: auto; flex: 1 1 160px; min-width: 0; }
.ca-inline .btn { flex: 0 0 auto; }

.ca-mini { padding: 4px 9px !important; font-size: 11px !important; margin-top: 6px; }

/* ---- matriz (planos × recursos, produtos × recursos) ---- */
.ca-matrix-wrap { overflow: auto; max-height: 70vh; margin-top: 12px; border: 1px solid var(--border); border-radius: 10px; -webkit-overflow-scrolling: touch; }
.ca-matrix { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.ca-matrix th, .ca-matrix td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: center; vertical-align: middle; white-space: nowrap; }
.ca-matrix thead th {
  position: sticky; top: 0; z-index: 2; background: var(--card-2);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .04em; color: var(--text);
  border-bottom: 1px solid var(--border-2); min-width: 120px;
}
.ca-matrix thead th .muted { font-size: 10.5px; font-weight: 500; text-transform: none; }
.ca-matrix .ca-feat { text-align: left; position: sticky; left: 0; z-index: 1; background: var(--card); min-width: 170px; }
.ca-matrix thead .ca-feat { z-index: 3; background: var(--card-2); }
.ca-matrix .ca-feat .muted { font-size: 11px; font-family: var(--font-mono); font-weight: 400; }
.ca-matrix tbody tr:hover td, .ca-matrix tbody tr:hover .ca-feat { background: rgba(64,230,35,.05); }
.ca-matrix input[type=checkbox] { width: 18px; height: 18px; cursor: pointer; accent-color: var(--green); }
.ca-matrix input[type=checkbox]:disabled { opacity: .5; cursor: wait; }
.ca-prod-row td, .ca-prod-row .ca-feat { background: rgba(249,115,22,.05); border-top: 1px solid var(--border-2); }
.ca-prod-checks { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin: 0 auto; width: max-content; }
.ca-prod-checks label { display: flex; align-items: center; gap: 6px; font-size: 12px; cursor: pointer; }
.ca-prod-checks input[type=checkbox] { width: 15px; height: 15px; }

.ca-editor { margin: 12px 0 4px; padding: 14px; border: 1px solid var(--border-2); border-radius: 10px; background: rgba(0,0,0,.2); }

/* ---- ferramentas (Admin → Miners Club) ---- */
.ca-tools { display: flex; flex-direction: column; gap: 12px; margin-bottom: 12px; }
.ca-tool-row { border: 1px solid var(--border); border-radius: 10px; padding: 14px; background: rgba(0,0,0,.18); }
.ca-tool-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.ca-tool-ic { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px;
  background: rgba(64,230,35,.1); border: 1px solid var(--border-2); color: var(--green); flex: 0 0 auto; }

/* ---- painel Plano / acessos (Admin → Alunos) ---- */
.ca-aluno-panel { padding: 6px 2px 10px; }
.ca-aluno-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.ca-aluno-h { display: block; font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 8px; }
.ca-aluno-panel .table td { padding: 8px; }

@media (max-width: 640px) {
  .ca-matrix th, .ca-matrix td { padding: 8px; }
  .ca-matrix .ca-feat { min-width: 130px; }
  .ca-matrix thead th { min-width: 96px; }
}
