/* ============================================================
   PLATAFORMA (Biblioteca e Fórum de Materiais) — camada visual
   "Avance Olímpico". Sub-fase 1 (fundação): identidade da marca
   no cabeçalho, painéis, filtros, cards e badges existentes.
   Escopo: #view-plataforma (não afeta outras abas).
   Cores herdadas de #avanceBrandHardening: --av-roxo / --av-ouro
   Fontes já vêm de css/avance-global.css (Poppins + Inter).
   ============================================================ */

/* ---- Tipografia da marca (reforço de escopo) ---- */
#view-plataforma{ font-family:'Inter', system-ui, -apple-system, "Segoe UI", sans-serif; }
#view-plataforma h1,
#view-plataforma h2,
#view-plataforma h3,
#view-plataforma h4{ font-family:'Poppins','Inter',sans-serif; letter-spacing:.01em; }

/* ---- Refino de raio (alinha com Banco de Questões) ---- */
#view-plataforma input,
#view-plataforma select,
#view-plataforma textarea{ border-radius:12px !important; }
#view-plataforma .rounded-2xl{ border-radius:18px !important; }
#view-plataforma .rounded-xl{ border-radius:13px !important; }
#view-plataforma > div{ transition:border-color .15s ease, box-shadow .15s ease; }
/* Hover sutil e consistente nos painéis (assinatura roxa) */
#view-plataforma > div.rounded-2xl:hover{ border-color:rgba(91,31,126,.45) !important; }
body:not(.theme-light) #view-plataforma > div.rounded-2xl:hover{ border-color:rgba(155,111,212,.5) !important; }

/* ============================================================
   Cabeçalho da seção (faixa roxa + logo + pílula de total)
   Mesmas classes do Banco de Questões para consistência.
   ============================================================ */
#view-plataforma .av-bq-header{
  background:linear-gradient(135deg,#5B1F7E,#3C1457);
  border-radius:18px; padding:16px 20px; border:none;
  box-shadow:0 12px 34px rgba(60,20,87,.28);
}
#view-plataforma .av-bq-header h2{ color:#fff !important; font-family:'Poppins','Inter',sans-serif; margin:0; }
#view-plataforma .av-bq-header p{ color:rgba(255,255,255,.72) !important; margin:0; }
#view-plataforma .av-logo-mark{
  width:42px; height:42px; border-radius:11px; background:rgba(255,255,255,.14);
  display:flex; align-items:center; justify-content:center; position:relative; flex:0 0 auto;
}
#view-plataforma .av-logo-mark b{ color:#fff; font-family:'Poppins',sans-serif; font-size:22px; line-height:1; }
#view-plataforma .av-logo-mark::after{
  content:""; position:absolute; left:8px; bottom:9px; width:11px; height:3px; background:var(--av-ouro); border-radius:1px;
}
#view-plataforma .av-total-pill{
  background:rgba(255,255,255,.15); color:#fff; border-radius:999px;
  padding:8px 16px; font-size:13px; white-space:nowrap; align-self:flex-start;
}
#view-plataforma .av-total-pill span{ color:var(--av-ouro); font-weight:600; }

/* ============================================================
   Botões / chips utilitários da marca (para Sub-fases 2-3)
   ============================================================ */
#view-plataforma .av-btn-roxo{
  background:var(--av-roxo) !important; color:#fff !important; border:1px solid var(--av-roxo) !important;
}
#view-plataforma .av-btn-roxo:hover{ filter:brightness(1.1); }
#view-plataforma .av-btn-ouro{
  background:var(--av-ouro) !important; color:#3a2c08 !important; border:1px solid var(--av-ouro) !important;
}
#view-plataforma .av-btn-ouro:hover{ filter:brightness(1.05); }
#view-plataforma .av-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; padding:3px 10px; border-radius:999px;
  background:rgba(91,31,126,.14); color:var(--av-roxo); border:1px solid rgba(91,31,126,.28);
}
body:not(.theme-light) #view-plataforma .av-chip{
  background:rgba(155,111,212,.16); color:#D9C2F0; border-color:rgba(155,111,212,.34);
}

/* ============================================================
   Re-skin dos cards/badges existentes (.plat-*) pela marca.
   O CSS injetado por garantirCssPlataformaCore() usa só classe;
   aqui a especificidade (#id + classe) vence sem !important.
   ============================================================ */
#view-plataforma #gridMateriais .plat-card{
  border:1px solid rgba(91,31,126,.22);
  background:rgba(31,41,55,.72);
  box-shadow:0 10px 30px rgba(20,8,32,.18);
}
#view-plataforma #gridMateriais .plat-card:hover{
  border-color:rgba(155,111,212,.5);
}
body.theme-light #view-plataforma #gridMateriais .plat-card{
  border-color:rgba(91,31,126,.18);
  background:#fff;
  box-shadow:0 8px 24px rgba(91,31,126,.08);
}
/* Badge "tipo de material" com leve assinatura roxa */
#view-plataforma #gridMateriais .plat-badge{
  border-color:rgba(155,111,212,.30);
  background:rgba(91,31,126,.18);
  color:#E3D2F2;
}
body.theme-light #view-plataforma #gridMateriais .plat-badge{
  background:rgba(91,31,126,.08); color:var(--av-roxo); border-color:rgba(91,31,126,.22);
}

/* Barra de modo de visualização (Grade/Lista) na cor da marca */
#view-plataforma #plataformaModoVisualizacao p:first-child{ color:#C8A6E6 !important; }
#view-plataforma #btnPlataformaModoGrade.plat-mode-active,
#view-plataforma #btnPlataformaModoLista.plat-mode-active{
  background:rgba(91,31,126,.30) !important; color:#E3D2F2 !important; border-color:rgba(155,111,212,.6) !important;
}

/* Bloco de filtros: rótulo de seção roxo (alinha com a marca) */
#view-plataforma .av-filtros-titulo{ color:#C8A6E6 !important; }

/* ===== Modo foco (aluno/limpo) — esconde ferramentas de ADM ===== */
#view-plataforma.av-foco #painelAddMaterial,
#view-plataforma.av-foco #painelGeradorListasPlataformaFixo{ display:none !important; }

/* ============================================================
   Modal de leitura do material (#modalAtividadePlataforma vive
   no nível do <body>, fora de #view-plataforma) — Sub-fase 3.
   ============================================================ */
#modalAtividadePlataforma h3,
#modalAtividadePlataforma h4{ font-family:'Poppins','Inter',sans-serif; }
/* Painel do modal com leve assinatura roxa */
#modalAtividadePlataforma > div.relative{
  border-color:rgba(155,111,212,.30) !important;
  box-shadow:0 24px 60px rgba(20,8,32,.5) !important;
}
body.theme-light #modalAtividadePlataforma > div.relative{ border-color:rgba(91,31,126,.22) !important; }
/* Botão de avaliação/estrelas e ação primária do modal na marca, se usarem .av-btn-roxo */
#modalAtividadePlataforma .av-btn-roxo{
  background:var(--av-roxo) !important; color:#fff !important; border:1px solid var(--av-roxo) !important;
}
#modalAtividadePlataforma .av-btn-roxo:hover{ filter:brightness(1.1); }

/* ============================================================
   Sub-fase 4 — layout 2 colunas (materiais + lateral "Meu progresso")
   ============================================================ */
#view-plataforma .av-explore-grid{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:16px; align-items:start; }
#view-plataforma .av-results-col{ min-width:0; }
#view-plataforma .av-side-col{ position:sticky; top:16px; }
@media (max-width:1100px){
  #view-plataforma .av-explore-grid{ grid-template-columns:1fr; }
  #view-plataforma .av-side-col{ position:static; order:-1; }  /* progresso aparece no topo no mobile */
}
#view-plataforma .av-side-card{ border-color:rgba(155,111,212,.34) !important; background:rgba(91,31,126,.16) !important; }
body.theme-light #view-plataforma .av-side-card{ border-color:rgba(91,31,126,.20) !important; background:rgba(91,31,126,.05) !important; }

/* Cabeçalho da lateral */
#view-plataforma .av-prog-titulo{ font-family:'Poppins','Inter',sans-serif; color:#E3D2F2; }
body.theme-light #view-plataforma .av-prog-titulo{ color:var(--av-roxo); }
/* Número grande do progresso (ouro da marca) */
#view-plataforma .av-prog-num{ font-family:'Poppins','Inter',sans-serif; color:var(--av-ouro); font-weight:600; }
/* Barra de progresso */
#view-plataforma .av-prog-bar{ height:9px; border-radius:999px; background:rgba(255,255,255,.10); overflow:hidden; }
body.theme-light #view-plataforma .av-prog-bar{ background:rgba(91,31,126,.12); }
#view-plataforma .av-prog-fill{ height:100%; border-radius:999px; background:linear-gradient(90deg,var(--av-ouro),#E9C75A); transition:width .4s ease; }
/* Linha por disciplina/nível */
#view-plataforma .av-prog-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; }
#view-plataforma .av-prog-row .lbl{ color:#C9B3DF; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.theme-light #view-plataforma .av-prog-row .lbl{ color:#5a4a6e; }
#view-plataforma .av-prog-row .val{ color:#E3D2F2; font-weight:600; white-space:nowrap; }
body.theme-light #view-plataforma .av-prog-row .val{ color:var(--av-roxo); }
