:root{
  --fundo:#0A0A0A; --cartao:#151515; --cartao2:#1d1d1d; --linha:#2a2a2a;
  --texto:#f2f2f2; --suave:#9a9a9a; --ouro:#D4AF37; --ouro2:#e9c95a;
  --vermelho:#e05252; --verde:#4caf7a;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fundo);color:var(--texto);
  font-family:Archivo,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:15px}
a{color:var(--ouro)}
button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:10px 14px;
  background:var(--cartao2);color:var(--texto)}
button:hover{filter:brightness(1.15)}
button:disabled{opacity:.45;cursor:default}
.btn-ouro{background:var(--ouro);color:#111;font-weight:700}
.btn-vermelho{background:var(--vermelho);color:#fff;font-weight:700}
input,textarea{font:inherit;background:#101010;color:var(--texto);border:1px solid var(--linha);
  border-radius:10px;padding:10px 12px;width:100%}
textarea{resize:vertical}
.escondido{display:none!important}
.marca{font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px;color:var(--ouro)}

/* ---- entrar / painel ---- */
.caixa{max-width:560px;margin:8vh auto;padding:0 16px}
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:18px;margin:14px 0}
.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.linha > input{flex:1;min-width:180px}
.erro{color:var(--vermelho);margin:8px 0}
.lista-sessoes .item{display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--linha)}
.lista-sessoes .item:last-child{border-bottom:0}
.lista-sessoes .nome{font-weight:700}
.lista-sessoes .meta{color:var(--suave);font-size:13px}
.acoes{display:flex;gap:6px;flex-wrap:wrap}
.acoes button{padding:7px 10px;font-size:13px}

/* ---- sala do mentor ---- */
.sala{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);gap:14px;
  height:100vh;padding:12px}
.col{display:flex;flex-direction:column;gap:12px;min-height:0}
.topo{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.chip{font-size:12px;padding:5px 10px;border-radius:999px;background:var(--cartao2);color:var(--suave)}
.chip.ok{background:#173a26;color:#8fe0b0}
.chip.rec{background:#3a1717;color:#ffb0b0}
.chip.rec::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;
  background:var(--vermelho);margin-right:6px;animation:pisca 1.2s infinite}
@keyframes pisca{50%{opacity:.25}}
.palco{position:relative;background:#000;border-radius:14px;overflow:hidden;aspect-ratio:16/9;
  max-height:46vh;width:100%}
.palco video{width:100%;height:100%;object-fit:contain;background:#000}
.palco .eu{position:absolute;right:10px;bottom:10px;width:24%;max-width:220px;aspect-ratio:4/3;
  object-fit:cover;border-radius:10px;border:2px solid #222;transform:scaleX(-1)}
.palco .aviso{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:var(--suave);text-align:center;padding:20px}
.controles{display:flex;gap:8px;flex-wrap:wrap}
.controles button.desligado{background:#3a1717;color:#ffb0b0}
.painel-transcricao{flex:1;min-height:120px;background:var(--cartao);border:1px solid var(--linha);
  border-radius:14px;padding:12px;overflow:auto}
.fala{display:flex;gap:10px;padding:6px 0;line-height:1.45}
.fala .quem{flex:0 0 74px;font-size:12px;font-weight:700;cursor:pointer;user-select:none;padding-top:2px}
.fala.cliente .quem{color:var(--ouro)}
.fala.mentor .quem{color:#8aa0b8}
.fala .tempo{color:#666;font-size:11px;display:block;font-weight:400}
.fala .txt{flex:1}
.fala.mentor .txt{color:#bcbcbc}
.fala .x{opacity:0;background:none;padding:0 4px;color:#777}
.fala:hover .x{opacity:1}
.ouvindo{color:var(--suave);font-size:12px;font-style:italic;padding:4px 0}

.ia{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:14px;overflow:auto;flex:1;min-height:0}
.ia h3{margin:14px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.ia h3:first-child{margin-top:0}
.proxima{background:#211c0b;border:1px solid #5a4a18;border-radius:12px;padding:12px;font-size:17px;line-height:1.4}
.proxima small{display:block;color:var(--suave);font-size:12px;margin-top:6px}
.ia ul{margin:0;padding-left:18px}
.ia li{margin:3px 0}
.ia .vazio{color:#666}
.alerta{background:#3a1717;border:1px solid #7a2a2a;border-radius:12px;padding:10px;color:#ffc9c9}
.devolucao{background:#11221a;border:1px solid #2a5a40;border-radius:12px;padding:10px}
details{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:10px 14px}
details summary{cursor:pointer;font-weight:700}
.roteiro h4{margin:10px 0 4px;color:var(--ouro);font-size:13px}
.roteiro label{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:14px;color:#ccc}
.roteiro input{width:auto;margin-top:3px}
.roteiro label.feito{color:#666;text-decoration:line-through}
.blocos{display:flex;flex-wrap:wrap;gap:6px}
.blocos span{font-size:12px;padding:3px 8px;border-radius:999px;background:var(--cartao2);color:#777}
.blocos span.ok{background:#173a26;color:#8fe0b0}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;
  justify-content:center;padding:16px;z-index:50}
.modal .janela{background:var(--cartao);border:1px solid var(--linha);border-radius:16px;
  width:min(860px,100%);max-height:92vh;display:flex;flex-direction:column;gap:10px;padding:16px}
.modal textarea{flex:1;min-height:55vh;line-height:1.55}

@media (max-width:900px){
  .sala{grid-template-columns:1fr;height:auto}
  .palco{max-height:none}
  .painel-transcricao{max-height:45vh}
}

/* ---- cliente ---- */
.cli{position:fixed;inset:0;background:#000}
.cli video.outro{width:100%;height:100%;object-fit:cover}
.cli video.eu{position:absolute;right:12px;top:12px;width:28vw;max-width:180px;aspect-ratio:3/4;
  object-fit:cover;border-radius:12px;border:2px solid #222;transform:scaleX(-1)}
.cli .barra{position:absolute;left:0;right:0;bottom:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));
  display:flex;justify-content:center;gap:12px;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.cli .barra button{width:58px;height:58px;border-radius:50%;padding:0;font-size:22px;background:rgba(255,255,255,.16)}
.cli .barra button.desligado{background:#7a2a2a}
.cli .barra button.sair{background:var(--vermelho)}
.cli .status{position:absolute;left:0;right:0;top:40%;text-align:center;color:#bbb;padding:0 24px;font-size:17px}
.entrada{max-width:420px;margin:0 auto;padding:12vh 20px;text-align:center}
.entrada h1{font-size:26px;margin:10px 0 8px}
.entrada p{color:var(--suave);line-height:1.5}
.entrada button{width:100%;padding:16px;font-size:17px;margin-top:20px}

@media print{
  body *{visibility:hidden}
  #impressao,#impressao *{visibility:visible}
  #impressao{position:absolute;left:0;top:0;width:100%;color:#000;background:#fff;
    white-space:pre-wrap;font-family:Georgia,serif;font-size:13pt;line-height:1.55;padding:20px}
}
#impressao{display:none}
@media print{#impressao{display:block}}
