/* Area de Treinamento (15/10/2026). Reusa os tokens e componentes do painel
   (.card, .btn, .chip, .tag, .pill, .desc, h1): aqui so o que a area precisa
   a mais (grade de cartoes, barra de progresso, player sob demanda). */
.tr-page{max-width:1080px;margin:0 auto}
.tr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.tr-head h1{margin:0}
.tr-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tr-migalha{font-size:12.5px;color:var(--muted);margin-bottom:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tr-migalha a{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:none}
.tr-migalha a:hover{text-decoration:underline}
.tr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 18px}
.tr-kpi{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:12px 14px}
.tr-kpi b{display:block;font-size:26px;font-weight:600;color:var(--ink);line-height:1.1}
.tr-kpi span{font-size:12px;color:var(--muted)}
.tr-filtros{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.tr-secao{margin:22px 0 10px;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.tr-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.tr-cartao{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:16px 16px 14px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .14s,transform .08s,box-shadow .14s;text-align:left;font:inherit;color:inherit}
.tr-cartao:hover,.tr-cartao:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-sm);outline:none}
.tr-cartao:focus-visible{box-shadow:0 0 0 3px rgba(18,97,94,.18)}
.tr-cartao h3{font-size:15.5px;font-weight:600;color:var(--ink);margin:0;line-height:1.3}
.tr-cartao p{font-size:13px;color:var(--muted);margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tr-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);align-items:center}
.tr-meta .pill{background:var(--line-2);color:var(--ink)}
.tr-estado{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.tr-estado::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.tr-estado.disponivel{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent-tint)}
.tr-estado.em_andamento{background:var(--info-soft);color:var(--info)}
.tr-estado.concluido{background:var(--green-soft);color:var(--green)}
.tr-estado.bloqueado{background:var(--amber-soft);color:var(--amber)}
.tr-estado.dispensado{background:var(--restrito-soft);color:var(--restrito);border-color:var(--restrito-border)}
.tr-estado.negado{background:var(--red-soft);color:var(--red)}
.tr-estado.vencido{background:var(--red-soft);color:var(--red)}
.tr-estado.rascunho{background:var(--line-2);color:var(--muted)}
.tr-estado.aprovado{background:var(--green-soft);color:var(--green)}
.tr-estado.reprovado{background:var(--red-soft);color:var(--red)}
.tr-barra{height:6px;border-radius:999px;background:var(--line-2);overflow:hidden;margin-top:auto}
.tr-barra i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s}
.tr-barra.ok i{background:var(--green)}
.tr-vazio{padding:34px 20px;text-align:center;color:var(--muted);font-size:13.5px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-soft)}
.tr-vazio b{display:block;color:var(--ink);font-size:15px;margin-bottom:6px}
.tr-aviso{border:1px solid var(--amber);border-left-width:4px;background:var(--amber-soft);color:var(--amber);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin:10px 0}
.tr-aviso.erro{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.tr-aviso.info{border-color:var(--info);background:var(--info-soft);color:var(--info)}
.tr-aviso.ok{border-color:var(--green);background:var(--green-soft);color:var(--green)}
.tr-carregando{padding:28px;text-align:center;color:var(--muted);font-size:13px}
.tr-ficha{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;align-items:start}
.tr-ficha .card{margin-bottom:12px}
.tr-ficha ul{margin:6px 0 0 18px;padding:0;font-size:13.5px;line-height:1.55}
.tr-lista{display:flex;flex-direction:column;gap:8px}
.tr-aula{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);padding:10px 12px;cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%;transition:border-color .14s}
.tr-aula:hover,.tr-aula:focus-visible{border-color:var(--accent);outline:none}
.tr-aula[disabled]{opacity:.55;cursor:not-allowed}
.tr-aula .num{width:26px;height:26px;border-radius:50%;background:var(--line-2);color:var(--ink);font-size:12px;font-weight:700;display:grid;place-items:center;flex:none}
.tr-aula.feita .num{background:var(--green);color:#fff}
.tr-aula .tit{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}
.tr-aula .dur{font-size:12px;color:var(--muted);white-space:nowrap}
.tr-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;margin:0}
.tr-dl dt{color:var(--muted)}
.tr-dl dd{margin:0;color:var(--ink)}
.tr-video{position:relative;width:100%;aspect-ratio:16/9;background:#0e1b1b;border-radius:var(--radius);overflow:hidden;margin:4px 0 12px}
.tr-video iframe,.tr-video .tr-player{position:absolute;inset:0;width:100%;height:100%;border:0}
.tr-video video.tr-player{background:#000;object-fit:contain}
.tr-tabela code,.tr-aviso code{font-size:12px;background:var(--line-2);padding:1px 5px;border-radius:5px}
/* Capa sem miniatura externa (img-src do painel fica fechado): titulo sobre o fundo da marca. */
.tr-video-capa{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:radial-gradient(120% 90% at 20% 10%,#1F5E5B 0%,#0E3335 55%,#081d1e 100%);display:grid;place-items:center;font:inherit}
.tr-video-capa .capa-titulo{position:absolute;left:0;right:0;top:0;padding:16px 18px;text-align:left;color:#fff;font-family:var(--font-head);font-size:20px;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.tr-video-capa .capa-titulo small{display:block;font-family:var(--font-body);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:6px}
.tr-video-capa .play{position:relative;width:68px;height:48px;border-radius:14px;background:rgba(14,51,53,.92);display:grid;place-items:center;box-shadow:0 10px 24px -10px rgba(0,0,0,.7)}
.tr-video-capa .play::after{content:"";margin-left:4px;border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}
.tr-video-capa:hover .play,.tr-video-capa:focus-visible .play{background:var(--accent)}
.tr-video-capa:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.tr-video-capa .leg{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));text-align:left}
.tr-video-aviso{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;color:#fff;font-size:13.5px;background:#0e1b1b}
.tr-video-aviso a,.tr-video-aviso .btn{color:#fff;border-color:rgba(255,255,255,.5);background:transparent}
.tr-video-aviso .btn.primary{background:var(--accent);border-color:var(--accent)}
.tr-fonte{font-size:12.5px;color:var(--muted);margin:0 0 14px;display:flex;gap:6px 14px;flex-wrap:wrap}
.tr-fonte a{color:var(--accent);font-weight:600;text-decoration:none}
.tr-fonte a:hover{text-decoration:underline}
.tr-texto{font-size:14px;line-height:1.6;white-space:pre-wrap;color:var(--text)}
.tr-nav-aula{display:flex;justify-content:space-between;gap:10px;margin-top:16px;flex-wrap:wrap}
.tr-nav-aula .btn{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-concluir{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg-soft);margin-top:14px}
.tr-concluir small{color:var(--muted);font-size:12px;flex:1;min-width:200px;line-height:1.4}
.tr-pergunta{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;background:var(--panel)}
.tr-pergunta b{display:block;margin-bottom:8px;font-size:14px}
.tr-pergunta label{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;padding:5px 0;cursor:pointer}
.tr-pergunta.ok{border-color:var(--green)}
.tr-pergunta.erro{border-color:var(--red)}
.tr-pergunta .tr-aberta{width:100%;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical}
.tr-opcao{padding:3px 0;font-size:13.5px;color:var(--text)}
.tr-opcao.certa{color:var(--green);font-weight:700}
.tr-opcao.errada{color:var(--red);text-decoration:line-through}
.tr-corr{font-size:13px;font-weight:700;margin-top:6px}
.tr-corr.ok{color:var(--green)}
.tr-corr.erro{color:var(--red)}
.tr-qeditor{display:grid;gap:10px}
.tr-q{background:var(--bg-soft)}
.tr-q legend{color:var(--ink)}
.tr-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px;border-bottom:1px solid var(--border);padding-bottom:10px}
.tr-form{display:grid;gap:10px}
.tr-form label{display:grid;gap:4px;font-size:12.5px;color:var(--muted);font-weight:600}
.tr-form input,.tr-form textarea,.tr-form select{font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text);width:100%}
.tr-form textarea{min-height:72px;resize:vertical}
.tr-form .linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.tr-form .check{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text)}
.tr-form .check input{width:auto}
.tr-form fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:0;display:grid;gap:6px}
.tr-form legend{font-size:12px;color:var(--muted);font-weight:700;padding:0 4px}
.tr-tabela{width:100%;border-collapse:collapse;font-size:13px}
.tr-tabela th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 8px;border-bottom:1px solid var(--border);white-space:nowrap}
.tr-tabela td{padding:8px 8px;border-bottom:1px solid var(--line-2);vertical-align:top}
.tr-tabela tr:hover td{background:var(--bg-soft)}
.tr-tabela-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}
.tr-linha-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13.5px}
.tr-linha-item:last-child{border-bottom:0}
.tr-linha-item .tit{flex:1;min-width:0}
.tr-linha-item .tit small{display:block;color:var(--muted);font-size:12px}
.tr-mini{font-size:12px;color:var(--muted)}
.tr-sombra{background:rgba(10,18,35,.5);position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:46;padding:16px}
.tr-modal{background:var(--panel);border-radius:var(--radius-frame);width:min(760px,100%);max-height:92vh;overflow:auto;padding:18px 20px;box-shadow:var(--shadow)}
.tr-modal h2{font-size:17px;margin:0 0 12px;color:var(--ink)}
.tr-modal-acoes{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}
.tr-lista-cheque{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}
.tr-lista-cheque label{display:flex;gap:7px;align-items:center;font-size:13px;font-weight:500;color:var(--text)}
.tr-lista-cheque input{width:auto}
.tr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:820px){
  .tr-ficha{grid-template-columns:1fr}
  .tr-grade{grid-template-columns:1fr}
  .tr-kpis{grid-template-columns:repeat(2,1fr)}
  .tr-nav-aula .btn{max-width:100%;flex:1}
  .tr-modal{padding:14px}
  .tr-head{flex-direction:column}
}
