:root{
  --bg:#070b14; --txt:#e8edff; --mut:#8c97b8; --vidro:rgba(255,255,255,.055); --borda:rgba(255,255,255,.09);
  --c1:#5eead4; --c2:#a78bfa; --c3:#38bdf8; --verm:#fb7185; --amar:#fbbf24; --verde:#34d399;
  --raio:18px; --sombra:0 10px 40px rgba(0,0,0,.45);
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:var(--bg);color:var(--txt);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100%}
body{overscroll-behavior:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none!important}
.muted{color:var(--mut)}
b,strong{color:#fff;font-weight:650}

/* fundo vivo */
.fundo{position:fixed;inset:0;overflow:hidden;z-index:-1}
.blob{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.28;animation:flutua 26s ease-in-out infinite alternate}
.b1{background:radial-gradient(circle,#7c3aed,transparent 60%);top:-25vmax;left:-20vmax}
.b2{background:radial-gradient(circle,#0ea5e9,transparent 60%);bottom:-30vmax;right:-25vmax;animation-delay:-8s}
.b3{background:radial-gradient(circle,#14b8a6,transparent 60%);top:30%;left:40%;width:40vmax;height:40vmax;opacity:.16;animation-delay:-15s}
.grade{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,255,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 20%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 20%,#000 20%,transparent 75%)}
@keyframes flutua{to{transform:translate(8vmax,6vmax) scale(1.12)}}

.vidro{background:var(--vidro);border:1px solid var(--borda);border-radius:var(--raio);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--sombra)}

/* login */
.login{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-c{width:min(380px,100%);padding:32px 26px;text-align:center}
.login-avatar{width:110px;height:110px;margin:0 auto 14px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px rgba(94,234,212,.5),0 0 40px rgba(94,234,212,.35)}
.login h1{font-size:26px;letter-spacing:.14em;font-weight:800}
.login h1 span,.marca span{background:linear-gradient(90deg,var(--c1),var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent}
#formLogin{margin-top:22px;display:grid;gap:12px}
#senha{background:rgba(0,0,0,.35);border:1px solid var(--borda);border-radius:14px;padding:14px 16px;color:var(--txt);font-size:16px;outline:none}
#senha:focus{border-color:var(--c1);box-shadow:0 0 0 3px rgba(94,234,212,.15)}
.erro{color:var(--verm);min-height:1.2em;font-size:14px}
.btn-pri{background:linear-gradient(135deg,var(--c1),var(--c2));color:#0b1020;font-weight:750;border-radius:14px;padding:13px 18px;box-shadow:0 8px 24px rgba(167,139,250,.35)}
.btn-sec{background:rgba(255,255,255,.08);border:1px solid var(--borda);border-radius:14px;padding:13px 18px;font-weight:600}

/* app */
#app{max-width:1100px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 14px calc(96px + var(--safe-b))}
.topo{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px}
.marca{font-weight:850;letter-spacing:.18em;font-size:14px}
.sync{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut);padding:6px 10px;border-radius:999px;border:1px solid var(--borda);background:rgba(0,0,0,.25)}
.ponto{width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 10px var(--verde)}
.sync.erro .ponto{background:var(--verm);box-shadow:0 0 10px var(--verm)}
.sync.gira .ponto{animation:pisca .8s infinite}
@keyframes pisca{50%{opacity:.2}}

.hero{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:18px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(94,234,212,.06),transparent 70%);pointer-events:none}
.avatar-wrap{position:relative;width:132px;height:132px;display:grid;place-items:center;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.anel{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--c1),transparent 30%,var(--c2) 55%,transparent 80%,var(--c1));-webkit-mask:radial-gradient(circle,transparent 61%,#000 62%,#000 66%,transparent 67%);mask:radial-gradient(circle,transparent 61%,#000 62%,#000 66%,transparent 67%);animation:gira 9s linear infinite}
.anel.a2{inset:-9px;opacity:.45;animation-duration:16s;animation-direction:reverse}
@keyframes gira{to{transform:rotate(360deg)}}
.avatar{width:104px;height:104px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,#1f2a4a,#0b1222);box-shadow:inset 0 0 30px rgba(94,234,212,.25),0 0 30px rgba(94,234,212,.2);transition:transform .2s}
.avatar img,.avatar svg{width:100%;height:100%;object-fit:cover;display:block}
.ondas{position:absolute;bottom:-6px;display:flex;gap:3px;height:18px;align-items:flex-end;opacity:0;transition:opacity .3s}
.ondas i{width:3px;height:4px;border-radius:2px;background:linear-gradient(var(--c1),var(--c2))}
.falando .ondas{opacity:1}
.falando .ondas i{animation:onda .55s ease-in-out infinite alternate}
.falando .ondas i:nth-child(2){animation-delay:-.1s}.falando .ondas i:nth-child(3){animation-delay:-.3s}.falando .ondas i:nth-child(4){animation-delay:-.2s}.falando .ondas i:nth-child(5){animation-delay:-.4s}.falando .ondas i:nth-child(6){animation-delay:-.15s}.falando .ondas i:nth-child(7){animation-delay:-.35s}
@keyframes onda{to{height:18px}}
.falando .anel{animation-duration:2.2s}
.falando .avatar{animation:fala 2.4s ease-in-out infinite}
@keyframes fala{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-1.5px) rotate(-1.2deg)}50%{transform:translateY(.5px) rotate(.8deg)}75%{transform:translateY(-1px) rotate(1.4deg)}}
#boca{transform-box:fill-box;transform-origin:center;transform:scaleY(var(--boca,.25));transition:transform .07s}
.olho{transform-box:fill-box;transform-origin:center;animation:pisc 5.5s infinite}
@keyframes pisc{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}

.hero-txt{min-width:0}
.relogio{font-variant-numeric:tabular-nums;color:var(--c1);font-size:13px;letter-spacing:.08em}
#saud{font-size:22px;line-height:1.2;margin:2px 0 4px;font-weight:750}
.sub{color:var(--mut);font-size:14px}
.btn-brief{margin-top:12px;display:inline-flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:999px;background:linear-gradient(135deg,rgba(94,234,212,.18),rgba(167,139,250,.18));border:1px solid rgba(167,139,250,.45);font-weight:650;box-shadow:0 0 24px rgba(167,139,250,.18)}
.btn-brief .ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--c1),var(--c2));color:#0b1020;font-size:12px}
.legenda{grid-column:1/-1;min-height:0;font-size:15px;color:#dfe7ff;text-align:center;transition:opacity .3s}
.legenda:empty{display:none}
.legenda span.dita{color:var(--c1)}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.kpi{padding:10px 8px;text-align:center;border-radius:14px;background:var(--vidro);border:1px solid var(--borda)}
.kpi b{display:block;font-size:22px;font-variant-numeric:tabular-nums}
.kpi small{color:var(--mut);font-size:11px;letter-spacing:.02em}
.kpi.k-verm b{color:var(--verm)}.kpi.k-amar b{color:var(--amar)}.kpi.k-cia b{color:var(--c1)}.kpi.k-vio b{color:var(--c2)}

.aba{display:grid;gap:10px;animation:entra .35s ease}
@keyframes entra{from{opacity:0;transform:translateY(6px)}}
.titulo{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:10px 4px 0}
.card{padding:13px 14px;border-radius:16px;background:var(--vidro);border:1px solid var(--borda);border-left:3px solid var(--cor,var(--c2));position:relative}
.card .cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.chip{font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--cor,var(--c2)) 22%,transparent);color:color-mix(in srgb,var(--cor,var(--c2)) 70%,#fff)}
.idp{font-size:11px;color:var(--mut);font-variant-numeric:tabular-nums}
.tag{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px}
.tag.atraso{background:rgba(251,113,133,.18);color:var(--verm)}
.tag.hoje{background:rgba(251,191,36,.16);color:var(--amar)}
.tag.urg{background:rgba(251,113,133,.25);color:#fff}
.card p{font-size:14.5px}
.hora{font-variant-numeric:tabular-nums;font-weight:800;color:var(--c1);min-width:52px}
.linha-hoje{display:flex;gap:12px;align-items:flex-start}
.vazio{padding:22px;text-align:center;color:var(--mut);border:1px dashed var(--borda);border-radius:16px}

.deps{display:grid;grid-template-columns:1fr;gap:10px}
.dep{text-align:left;padding:14px;border-radius:16px;background:var(--vidro);border:1px solid var(--borda);display:grid;gap:6px;position:relative;overflow:hidden}
.dep::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--cor)}
.dep .nome{display:flex;align-items:center;justify-content:space-between;font-weight:750}
.fresco{font-size:11px;color:var(--mut);display:flex;align-items:center;gap:6px;font-weight:500}
.fresco i{width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 8px var(--verde)}
.fresco.am i{background:var(--amar);box-shadow:0 0 8px var(--amar)}
.fresco.vm i{background:var(--verm);box-shadow:0 0 8px var(--verm)}
.dep .estado{font-size:13.5px;color:#cdd6f5}
.contas{display:flex;gap:6px;flex-wrap:wrap}
.contas span{font-size:11.5px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.07)}
.contas .rec{background:rgba(56,189,248,.18);color:#bae6fd}

.tempo{display:grid;gap:0;padding-left:8px}
.ev{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:8px 0}
.ev .fio{position:relative}
.ev .fio::before{content:"";position:absolute;left:5px;top:0;bottom:-16px;width:2px;background:rgba(255,255,255,.08)}
.ev .fio::after{content:"";position:absolute;left:1px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--cor);box-shadow:0 0 10px var(--cor)}
.ev small{color:var(--mut);font-size:12px}

.abas{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--safe-b));width:min(560px,calc(100% - 20px));display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border-radius:22px;z-index:5}
.abas button{display:grid;gap:2px;justify-items:center;padding:8px 2px;border-radius:16px;font-size:11px;color:var(--mut)}
.abas button span{font-size:18px;filter:grayscale(.6)}
.abas button.on{color:#fff;background:linear-gradient(135deg,rgba(94,234,212,.16),rgba(167,139,250,.2))}
.abas button.on span{filter:none}

.folha{position:fixed;inset:0;background:rgba(3,6,14,.6);z-index:10;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
@keyframes fade{from{opacity:0}}
.folha-c{width:min(760px,100%);max-height:88vh;overflow:auto;border-radius:24px 24px 0 0;padding:14px 16px calc(24px + var(--safe-b));position:relative;animation:sobe .28s cubic-bezier(.2,.9,.3,1)}
@keyframes sobe{from{transform:translateY(40px);opacity:.4}}
.folha-pega{width:44px;height:5px;border-radius:3px;background:rgba(255,255,255,.2);margin:0 auto 10px}
.fechar{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08)}
.folha h3{font-size:20px;margin:4px 40px 4px 0}
.folha .sec{margin-top:14px;display:grid;gap:8px}
.folha .sec h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.folha .it{font-size:14px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--borda)}

.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgba(3,6,14,.65);padding:24px;animation:fade .2s}
.modal-c{width:min(360px,100%);padding:26px 22px;text-align:center;animation:zoom .25s cubic-bezier(.2,.9,.3,1.2)}
@keyframes zoom{from{transform:scale(.85);opacity:0}}
.modal-ic{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#0b1020;box-shadow:0 0 30px rgba(167,139,250,.5)}
.modal h3{font-size:19px;margin-bottom:6px}
.modal-b{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}

@media (min-width:700px){
  .hero{grid-template-columns:auto 1fr;padding:24px}
  .avatar-wrap{width:168px;height:168px}.avatar{width:134px;height:134px}
  #saud{font-size:28px}
  .deps{grid-template-columns:repeat(2,1fr)}
  .aba.duas{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){.deps{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* cores por departamento */
.c-DEV{--cor:#a78bfa}.c-MAP{--cor:#34d399}.c-AUD{--cor:#fbbf24}.c-SITE{--cor:#38bdf8}
.c-COM{--cor:#f472b6}.c-EST{--cor:#fb7185}.c-IDE{--cor:#facc15}.c-AUDT{--cor:#94a3b8}.c-ASS{--cor:#5eead4}
.flex1{flex:1;min-width:0}
.linha-hoje.passou{opacity:.5}
.abas{background:rgba(10,14,28,.88)}
.sync,.btn-brief{white-space:nowrap}
@media (max-width:699px){
  .hero{grid-template-columns:1fr;justify-items:center;text-align:center;padding:20px 16px}
  .avatar-wrap{width:150px;height:150px}.avatar{width:120px;height:120px}
  #syncTxt{max-width:150px;overflow:hidden;text-overflow:ellipsis}
}

/* ---------- Modo Reunião ---------- */
.palco{position:fixed;inset:0;z-index:30;background:#05070d;overflow:hidden;animation:fade .35s}
.vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s ease}
.vid.on{opacity:1}
.palco-sombra{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,7,13,.65) 0%,transparent 16%,transparent 58%,rgba(5,7,13,.92) 100%)}
.palco-topo{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:max(14px,env(safe-area-inset-top)) 16px 10px}
.palco-topo small{display:block;color:var(--mut);font-size:12px;margin-top:2px;font-variant-numeric:tabular-nums}
.ao-vivo{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.2em;font-size:12px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12)}
.ao-vivo i{width:8px;height:8px;border-radius:50%;background:#fb7185;box-shadow:0 0 10px #fb7185;animation:pisca 1.4s infinite}
.palco-btn{width:42px;height:42px;border-radius:50%;background:rgba(10,14,28,.6);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:15px;display:grid;place-items:center}
.palco-cartao{position:absolute;left:14px;right:14px;bottom:calc(150px + var(--safe-b));padding:12px 14px;border-left:3px solid var(--cor,var(--c1));opacity:0;transform:translateY(14px) scale(.98);transition:all .4s cubic-bezier(.2,.9,.3,1);pointer-events:none;background:rgba(10,14,28,.72)}
.palco-cartao.on{opacity:1;transform:none}
.palco-cartao .cab{display:flex;gap:8px;align-items:center;margin-bottom:4px}
.palco-cartao p{font-size:14px}
.palco-baixo{position:absolute;left:0;right:0;bottom:0;padding:0 16px calc(16px + var(--safe-b))}
.palco-legenda{min-height:3.1em;font-size:17px;line-height:1.35;font-weight:600;text-align:center;text-shadow:0 2px 12px #000;margin-bottom:10px}
.palco-ctl{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.barra{height:4px;border-radius:2px;background:rgba(255,255,255,.15);overflow:hidden}
.barra i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c1),var(--c2));transition:width .25s linear}
.palco-voz{text-align:center;font-size:11px;color:var(--mut);margin-top:8px;min-height:1em}
@media (min-width:700px){
  .vid{object-fit:contain}
  .palco-cartao{left:auto;right:24px;bottom:auto;top:90px;width:340px}
  .palco-baixo{max-width:720px;margin:0 auto}
}
.palco-fundo{position:absolute;inset:-40px;background:url(/video/poster.jpg) center/cover;filter:blur(28px) brightness(.45) saturate(1.2)}
/* v1.1.1: sem legenda por padrão (botão CC liga) */
.palco-dir{display:flex;gap:10px}
.palco-btn.cc{font-size:12px;font-weight:800;letter-spacing:.05em;color:var(--mut)}
.palco-btn.cc.on{color:#0b1020;background:linear-gradient(135deg,var(--c1),var(--c2));border-color:transparent}
.palco-legenda{display:none}
.palco.com-cc .palco-legenda{display:block}
.palco-cartao{bottom:calc(84px + var(--safe-b))}
.palco.com-cc .palco-cartao{bottom:calc(170px + var(--safe-b))}
@media (min-width:700px){.palco-cartao,.palco.com-cc .palco-cartao{bottom:auto}}

/* ---------- v1.2 ---------- */
.topo-dir{display:flex;gap:8px;align-items:center}
.ajustes-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--borda);background:rgba(0,0,0,.25);font-size:15px}
.btn-bio{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:14px;border:1px solid rgba(94,234,212,.45);background:rgba(94,234,212,.1);font-weight:650}
.btn-bio span{font-size:20px}
.acoes{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.acoes button{flex:1;min-width:84px;padding:9px 10px;border-radius:12px;font-size:13px;font-weight:650;border:1px solid var(--borda);background:rgba(255,255,255,.05)}
.acoes .ok{border-color:rgba(52,211,153,.45);color:#a7f3d0;background:rgba(52,211,153,.1)}
.acoes .no{border-color:rgba(251,113,133,.4);color:#fecdd3;background:rgba(251,113,133,.08)}
.acoes .ed{border-color:rgba(167,139,250,.45);color:#ddd6fe;background:rgba(167,139,250,.1)}
.respondido{margin-top:10px;font-size:12.5px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.06);color:#cbd5f5}
.card.feito{opacity:.62}
.resp-c{text-align:left;width:min(440px,100%)}
.resp-dep{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.resp-item{font-size:14px;color:#cdd6f5;margin:6px 0 12px;max-height:30vh;overflow:auto}
.resp-caixa{position:relative}
#respTexto{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--borda);border-radius:14px;padding:12px 52px 12px 12px;color:var(--txt);font:inherit;font-size:15px;resize:vertical;outline:none}
#respTexto:focus{border-color:var(--c2)}
.mic{position:absolute;right:8px;top:8px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);font-size:17px}
.mic.on{background:linear-gradient(135deg,#fb7185,#a78bfa);animation:pulso 1s infinite}
@keyframes pulso{50%{box-shadow:0 0 0 8px rgba(251,113,133,.15)}}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(96px + var(--safe-b));z-index:40;padding:11px 16px;border-radius:14px;background:rgba(15,20,38,.95);border:1px solid var(--borda);box-shadow:var(--sombra);font-size:14px;animation:sobe .25s}
.aj{display:grid;gap:10px;margin-top:12px}
.aj-it{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--borda)}
.aj-it small{display:block;color:var(--mut);font-size:12px}
.aj-it button{padding:8px 12px;border-radius:10px;border:1px solid var(--borda);background:rgba(255,255,255,.07);font-size:13px;font-weight:650;white-space:nowrap}
.aj-it button.pri{background:linear-gradient(135deg,var(--c1),var(--c2));color:#0b1020;border:0}
.folha-acoes{display:flex;gap:8px;margin:10px 0 4px}
