/* Desk Leg — Sistema de Gestão de Plenários */
/* Versão: 1.5 | Atualizar este arquivo aplica para TODAS as câmaras */

:root{
  --p:#1c3554;--p2:#254878;--p3:#0f1f33;
  --acc:#c9a84c;--acc2:#e8c96a;--acc3:#a07a28;
  --sim:#1a7a4a;--simbg:#e5f5ed;--simbor:#9ed4b8;
  --nao:#c0392b;--naobg:#fdecea;--naobor:#f5b8b3;
  --abst:#5f6b78;--abstbg:#eef0f2;--abstbor:#c4cbd4;
  --bg:#f2f5f9;--sur:#fff;--sur2:#f7f9fc;--sur3:#eef1f6;
  --bor:#dde3ec;--bor2:#c8d0dd;
  --txt:#1a2535;--txt2:#4a5568;--txt3:#8a96a4;
  --r:12px;--rs:8px;--sh:0 2px 12px rgba(28,53,84,.09);--sh2:0 8px 32px rgba(28,53,84,.16);
  --fd:'Fraunces',serif;--fb:'DM Sans',sans-serif;
  --cam-p:#1c3554;--cam-acc:#c9a84c;
  --sidebar-w:220px;--topbar-h:56px;--vbot-h:68px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden}
body{font-family:var(--fb);background:var(--bg);color:var(--txt);font-size:15px}
.hidden{display:none!important}
button,select,input,textarea{font-family:var(--fb)}
#s-login,#s-abertura{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--cam-p) 0%,#0d1e30 100%)}
#s-login{z-index:110}
#s-abertura{display:none}
#s-app{position:fixed;inset:0;z-index:50;display:none;flex-direction:column}
#s-display{position:fixed;inset:0;z-index:200;display:none;background:var(--cam-p);color:white;flex-direction:column}
.lcard{background:white;border-radius:20px;padding:40px 38px 34px;width:400px;max-width:94vw;box-shadow:0 24px 64px rgba(0,0,0,.35)}
.llogo{text-align:center;margin-bottom:22px}
.llogo-img{width:72px;height:72px;border-radius:50%;background:var(--cam-p);display:inline-flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:8px;overflow:hidden;border:3px solid var(--cam-acc)}
.llogo-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.lcamara{font-family:var(--fd);font-size:18px;color:var(--cam-p);margin-bottom:2px;line-height:1.25}
.lsub{font-size:12px;color:var(--txt3)}
.ltabs{display:flex;gap:3px;background:var(--bg);border-radius:var(--rs);padding:3px;margin-bottom:18px}
.ltab{flex:1;padding:7px 0;font-size:12px;font-weight:500;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--txt2);transition:all .2s}
.ltab.on{background:white;color:var(--cam-p);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.fg{margin-bottom:11px}
.fg label{display:block;font-size:11px;font-weight:600;color:var(--txt3);margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em}
.fg input,.fg select{width:100%;padding:10px 12px;border:1.5px solid var(--bor);border-radius:var(--rs);font-size:14px;color:var(--txt);transition:border-color .2s;background:white}
.fg input:focus,.fg select:focus{outline:none;border-color:var(--cam-p)}
.btnlogin{width:100%;padding:12px;background:var(--cam-p);color:white;border:none;border-radius:var(--rs);font-size:15px;font-weight:600;cursor:pointer;margin-top:4px}
.btnlogin:hover{background:var(--p2)}
.lhint{margin-top:10px;font-size:11px;color:var(--txt3);text-align:center;line-height:1.7}
.aber-wrap{background:white;border-radius:20px;padding:40px 38px;width:540px;max-width:96vw;box-shadow:0 24px 64px rgba(0,0,0,.35);max-height:92vh;overflow-y:auto}
.aber-steps{display:flex;gap:8px;margin-bottom:22px}
.aber-step{flex:1;height:5px;border-radius:99px;background:var(--bor);transition:background .4s}
.aber-step.done{background:var(--sim)}.aber-step.ativo{background:var(--cam-p)}
.topbar{height:var(--topbar-h);background:var(--cam-p);color:white;display:flex;align-items:center;gap:10px;padding:0 16px;box-shadow:0 2px 10px rgba(0,0,0,.22);flex-shrink:0;position:relative;z-index:60}
.topbar-menu-btn{width:36px;height:36px;border:none;background:rgba(255,255,255,.1);border-radius:8px;color:white;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.topbar-logo{width:30px;height:30px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;border:2px solid rgba(255,255,255,.2)}
.topbar-logo img{width:100%;height:100%;object-fit:cover}
.topbar-title{font-family:var(--fd);font-size:15px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-user{font-size:12px;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:6px;flex-shrink:0}
.tbar-dot{width:7px;height:7px;border-radius:50%;background:var(--acc);flex-shrink:0}
.topbar-sbadge{background:rgba(201,168,76,.22);color:var(--acc2);border:1px solid rgba(201,168,76,.3);padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500;white-space:nowrap}
.btn-out{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:white;padding:4px 10px;border-radius:6px;font-size:11px;cursor:pointer}
.mlayout{display:flex;flex:1;overflow:hidden;position:relative}
.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:55;display:none}
.sidebar-overlay.on{display:block}
.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sur);border-right:1px solid var(--bor);display:flex;flex-direction:column;overflow-y:auto;transition:transform .3s;z-index:56;position:relative}
.ssec{font-size:10px;font-weight:700;color:var(--txt3);letter-spacing:.1em;text-transform:uppercase;padding:10px 12px 4px;margin-top:4px}
.ni{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--rs);cursor:pointer;font-size:14px;color:var(--txt2);border:none;background:transparent;width:100%;text-align:left;transition:all .15s}
.ni:hover{background:var(--sur2);color:var(--txt)}
.ni.on{background:var(--cam-p);color:white;font-weight:500}
.ni .ico{font-size:15px;width:20px;text-align:center;flex-shrink:0}
.sidebar-inner{padding:12px 10px;display:flex;flex-direction:column;gap:2px;flex:1}
.content{flex:1;overflow-y:auto;padding:20px 22px;min-width:0}
.page{display:none}.page.on{display:block}
.ver-botbar{position:fixed;bottom:0;left:0;right:0;height:var(--vbot-h);background:var(--sur);border-top:1px solid var(--bor);display:none;align-items:center;justify-content:space-around;z-index:60;box-shadow:0 -2px 12px rgba(0,0,0,.08)}
.ver-botbar.on{display:flex}
.vbb-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 10px;border:none;background:transparent;cursor:pointer;border-radius:10px;min-width:56px;transition:all .15s;position:relative}
.vbb-btn.on{background:var(--sur3)}
.vbb-ico{font-size:22px;line-height:1}
.vbb-lbl{font-size:10px;font-weight:600;color:var(--txt3);white-space:nowrap}
.vbb-btn.on .vbb-ico,.vbb-btn.on .vbb-lbl{color:var(--cam-p)}
.vbb-badge{background:var(--nao);color:white;font-size:9px;font-weight:700;padding:1px 5px;border-radius:99px;position:absolute;top:4px;right:4px;min-width:16px;text-align:center}
.ph{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;gap:10px;flex-wrap:wrap}
.ptitle{font-family:var(--fd);font-size:22px;color:var(--txt);margin-bottom:2px}
.psub{font-size:12px;color:var(--txt3)}
.card{background:var(--sur);border-radius:var(--r);border:1px solid var(--bor);padding:16px;margin-bottom:12px;box-shadow:var(--sh)}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ct{font-size:14px;font-weight:600}
.divider{height:1px;background:var(--bor);margin:12px 0}
.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:500}
.bg-bl{background:#e6effc;color:var(--p)}.bg-go{background:#fdf3d8;color:#7a5210}
.bg-gn{background:var(--simbg);color:var(--sim)}.bg-rd{background:var(--naobg);color:var(--nao)}
.bg-gy{background:var(--abstbg);color:var(--abst)}.bg-am{background:#fff4e0;color:#b45309}
.bg-pu{background:#f0eafa;color:#6b21a8}.bg-tl{background:#e0f7f4;color:#0d7e72}
.bg-pi{background:#fce4f0;color:#9d174d}.bg-or{background:#fff1e0;color:#c2410c}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:18px}
.stat{background:var(--sur);border-radius:var(--r);border:1px solid var(--bor);padding:14px;box-shadow:var(--sh)}
.stat-l{font-size:10px;font-weight:600;color:var(--txt3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.stat-v{font-size:26px;font-weight:300;line-height:1}
table{width:100%;border-collapse:collapse;font-size:13px}
th{font-size:11px;font-weight:600;color:var(--txt3);text-transform:uppercase;letter-spacing:.05em;padding:9px 12px;border-bottom:1px solid var(--bor);text-align:left;white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--bor);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--sur2)}
.ff{margin-bottom:11px}
.ff label{display:block;font-size:11px;font-weight:600;color:var(--txt3);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}
.ff input,.ff select,.ff textarea{width:100%;padding:9px 12px;border:1.5px solid var(--bor);border-radius:var(--rs);font-size:14px;color:var(--txt);background:white;transition:border-color .2s}
.ff input:focus,.ff select:focus,.ff textarea:focus{outline:none;border-color:var(--cam-p)}
.ff textarea{resize:vertical;min-height:64px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.btn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:var(--rs);font-size:13px;font-weight:500;cursor:pointer;transition:all .18s;border:none;white-space:nowrap}
.btn-p{background:var(--cam-p);color:white}.btn-p:hover{background:var(--p2)}
.btn-a{background:var(--acc);color:white}.btn-a:hover{background:var(--acc3)}
.btn-o{background:transparent;border:1.5px solid var(--bor);color:var(--txt)}.btn-o:hover{border-color:var(--cam-p);color:var(--cam-p);background:#f0f4fa}
.btn-d{background:var(--nao);color:white}.btn-d:hover{background:#a93226}
.btn-g{background:#22c55e;color:white}.btn-g:hover{background:#16a34a}
.btn-sm{padding:5px 10px;font-size:12px}
.btn-lg{padding:12px 24px;font-size:15px;font-weight:600}
.w100{width:100%;justify-content:center}
.sess-st{display:flex;align-items:center;gap:9px;padding:9px 13px;background:var(--sur2);border-radius:var(--rs);margin-bottom:14px}
.sdot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sdot.on{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.2);animation:sdp 2s infinite}
@keyframes sdp{0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.2)}50%{box-shadow:0 0 0 5px rgba(34,197,94,.05)}}
/* MODAIS — nunca fecham ao clicar fora, só pelo botão X */
.mover{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:500;display:flex;align-items:flex-end;justify-content:center}
@media(min-width:600px){.mover{align-items:center}}
.modal{background:white;border-radius:16px 16px 0 0;padding:22px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 -4px 32px rgba(0,0,0,.2)}
@media(min-width:600px){.modal{border-radius:var(--r);width:520px;max-height:88vh}}
.modal-lg{width:680px!important;max-width:98vw!important}
.modal-title{font-family:var(--fd);font-size:19px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.modal-title-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--txt3);line-height:1;padding:2px 6px;border-radius:6px}
.modal-title-close:hover{background:var(--sur3);color:var(--txt)}
.modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
.modal-handle{width:40px;height:4px;background:var(--bor2);border-radius:99px;margin:0 auto 14px}
.tc-wrap{position:fixed;bottom:80px;right:14px;z-index:1000;display:flex;flex-direction:column;gap:5px}
@media(min-width:600px){.tc-wrap{top:64px;bottom:auto}}
.tst{background:var(--txt);color:white;padding:9px 14px;border-radius:var(--rs);font-size:13px;box-shadow:var(--sh2);animation:tsi .3s ease,tso .3s 2.7s ease forwards;max-width:280px}
.tst.ok{background:var(--sim)}.tst.er{background:var(--nao)}
@keyframes tsi{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes tso{to{opacity:0;transform:translateY(16px)}}
.foto-up{width:64px;height:64px;border-radius:50%;border:2px dashed var(--bor);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;overflow:hidden;flex-shrink:0}
.foto-up img{width:100%;height:100%;object-fit:cover}
/* PRESENÇA */
.pres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.pcard{background:var(--sur);border:2px solid var(--bor);border-radius:var(--r);padding:12px 8px;text-align:center;transition:all .2s}
.pcard.presente{border-color:var(--sim);background:var(--simbg)}
.pcard.ausente{border-color:var(--nao);background:var(--naobg)}
.pcard.justificado{border-color:var(--acc);background:#fdf8ee}
.pcard-foto{width:48px;height:48px;border-radius:50%;margin:0 auto 7px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}
.pcard-foto img{width:100%;height:100%;object-fit:cover}
.pcard-nome{font-size:11px;font-weight:600;line-height:1.3}
.pcard-funcao{font-size:10px;color:var(--txt3)}
.pcard-btns{display:flex;gap:2px;margin-top:6px;justify-content:center}
.pcard-btns button{flex:1;padding:4px 2px;border:none;border-radius:4px;font-size:10px;font-weight:700;cursor:pointer;transition:all .15s}
.pb-p{background:var(--simbg);color:var(--sim)}.pcard.presente .pb-p{background:var(--sim);color:white}
.pb-a{background:var(--naobg);color:var(--nao)}.pcard.ausente .pb-a{background:var(--nao);color:white}
.pb-j{background:#fdf8ee;color:var(--acc3)}.pcard.justificado .pb-j{background:var(--acc);color:white}
.quorum-track{height:12px;border-radius:99px;background:var(--bor);overflow:hidden;margin:6px 0}
.quorum-fill{height:100%;border-radius:99px;background:var(--sim);transition:width .5s}
.quorum-fill.insuf{background:var(--nao)}
.pres-ver-tela{max-width:420px;margin:0 auto;text-align:center;padding:20px 0}
.pres-ver-foto{width:90px;height:90px;border-radius:50%;margin:0 auto 12px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;border:3px solid var(--bor)}
.pres-ver-foto img{width:100%;height:100%;object-fit:cover}
.pres-ver-nome{font-family:var(--fd);font-size:22px;margin-bottom:3px}
.btn-confirmar-p{padding:16px;font-size:17px;font-weight:600;background:var(--sim);color:white;border:none;border-radius:var(--r);cursor:pointer;width:100%;margin-bottom:8px;font-family:var(--fd);transition:all .2s}
.btn-confirmar-p:active{transform:scale(.98)}
.btn-justif{padding:10px;font-size:13px;background:var(--abstbg);color:var(--abst);border:1.5px solid var(--abstbor);border-radius:var(--rs);cursor:pointer;width:100%}
/* VOTAÇÃO */
.plac-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px}
.plac-item{border-radius:var(--r);padding:16px 10px;text-align:center;border:2px solid transparent}
.plac-s{background:var(--simbg);border-color:var(--simbor)}.plac-n{background:var(--naobg);border-color:var(--naobor)}.plac-a{background:var(--abstbg);border-color:var(--abstbor)}
.plac-num{font-size:40px;font-weight:300;line-height:1}
.plac-s .plac-num{color:var(--sim)}.plac-n .plac-num{color:var(--nao)}.plac-a .plac-num{color:var(--abst)}
.plac-lbl{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.plac-s .plac-lbl{color:var(--sim)}.plac-n .plac-lbl{color:var(--nao)}.plac-a .plac-lbl{color:var(--abst)}
.bvoto{height:9px;border-radius:99px;overflow:hidden;background:var(--bor);display:flex;margin:8px 0}
.bv-s{background:var(--sim);transition:width .5s}.bv-n{background:var(--nao);transition:width .5s}.bv-a{background:var(--abst);transition:width .5s}
.vbox{background:linear-gradient(135deg,var(--cam-p) 0%,#1e4878 100%);border-radius:var(--r);padding:16px;color:white;margin-bottom:14px}
.vbox-tipo{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--acc2);margin-bottom:3px}
.vbox-titulo{font-family:var(--fd);font-size:16px;line-height:1.35}
.vbox-meta{font-size:11px;color:rgba(255,255,255,.6);margin-top:5px}
.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}
.vcard{background:var(--sur);border:2px solid var(--bor);border-radius:var(--rs);padding:8px;text-align:center}
.vcard.vs{border-color:var(--sim);background:var(--simbg)}.vcard.vn{border-color:var(--nao);background:var(--naobg)}.vcard.va{border-color:var(--abst);background:#e8eaec}
.vcard-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;margin:0 auto 5px;overflow:hidden}
.vcard-av img{width:100%;height:100%;object-fit:cover}
.vcard-n{font-size:10px;font-weight:600;line-height:1.2}
.vcard-p{font-size:9px;color:var(--txt3)}
.vcard-v{font-size:9px;font-weight:700;margin-top:3px;display:inline-block;padding:1px 6px;border-radius:99px}
.vcard.vs .vcard-v{background:rgba(26,122,74,.2);color:var(--sim)}
.vcard.vn .vcard-v{background:rgba(192,57,43,.2);color:var(--nao)}
.vcard.va .vcard-v{background:rgba(95,107,120,.2);color:var(--abst)}
.bvs-grid{display:flex;gap:10px;margin-bottom:12px}
.bvv{flex:1;padding:16px 8px;border:2px solid transparent;border-radius:var(--r);font-family:var(--fd);font-size:20px;cursor:pointer;transition:all .2s;text-align:center}
.bvv-s{background:var(--simbg);color:var(--sim);border-color:var(--simbor)}.bvv-s:hover,.bvv-s.on{background:var(--sim);color:white;transform:translateY(-2px);box-shadow:0 4px 16px rgba(26,122,74,.3)}
.bvv-n{background:var(--naobg);color:var(--nao);border-color:var(--naobor)}.bvv-n:hover,.bvv-n.on{background:var(--nao);color:white;transform:translateY(-2px);box-shadow:0 4px 16px rgba(192,57,43,.3)}
.bvv-a{background:var(--abstbg);color:var(--abst);border-color:var(--abstbor)}.bvv-a:hover,.bvv-a.on{background:var(--abst);color:white;transform:translateY(-2px)}
.res-banner{border-radius:var(--r);padding:20px;text-align:center;margin-bottom:14px}
.res-ap{background:linear-gradient(135deg,#e5f5ed,#c8ead8);border:2px solid var(--simbor)}
.res-rj{background:linear-gradient(135deg,#fdecea,#f9c8c4);border:2px solid var(--naobor)}
.res-em{background:linear-gradient(135deg,#fff8e0,#ffe5a0);border:2px solid #e0c060}
.res-ico{font-size:36px;margin-bottom:6px}
.res-titulo{font-family:var(--fd);font-size:24px}
.res-ap .res-titulo{color:var(--sim)}.res-rj .res-titulo{color:var(--nao)}.res-em .res-titulo{color:#7a5210}
/* PAUTA seleção em bloco */
.pauta-check{width:18px;height:18px;cursor:pointer;accent-color:var(--cam-p)}
.pauta-row-sel{background:#eef4fd!important}
.bloco-bar{background:linear-gradient(90deg,#e8f0fe,#d2e3fc);border:1.5px solid #b0c8f5;border-radius:var(--rs);padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bloco-bar-txt{font-size:13px;font-weight:600;color:var(--p);flex:1}
.dispensa-badge{display:inline-flex;align-items:center;gap:4px;background:#fdf3d8;border:1px solid #e0c878;color:#7a5210;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}
/* TRIBUNA */
.trib-layout{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:900px){.trib-layout{grid-template-columns:1fr 320px}}
.oa-card{background:linear-gradient(135deg,var(--cam-p) 0%,#1e4878 100%);border-radius:var(--r);padding:20px;color:white;text-align:center}
.oa-foto{width:80px;height:80px;border-radius:50%;margin:0 auto 10px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:600;background:rgba(255,255,255,.15);border:3px solid rgba(255,255,255,.25)}
.oa-foto img{width:100%;height:100%;object-fit:cover}
.oa-nome{font-family:var(--fd);font-size:18px;margin-bottom:1px}
.oa-partido{font-size:12px;color:rgba(255,255,255,.6);margin-bottom:10px}
.timer-box{font-size:48px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:.04em;margin:8px 0}
.timer-box.am{color:#fde68a}.timer-box.vm{color:#fca5a5;animation:blink .7s infinite}.timer-box.extra{color:#86efac}
.timer-bar-wrap{position:relative;height:8px;border-radius:99px;background:rgba(255,255,255,.15);overflow:hidden;margin:0 0 12px}
.timer-fill{height:100%;border-radius:99px;transition:width .5s linear}
.timer-fill.normal{background:rgba(255,255,255,.6)}.timer-fill.am{background:#fde68a}.timer-fill.vm{background:#fca5a5}.timer-fill.extra{background:#86efac}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.tc-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.tcb{padding:7px 14px;border:none;border-radius:var(--rs);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}
.tc-play{background:#22c55e;color:white}.tc-pause{background:rgba(255,255,255,.15);color:white;border:1px solid rgba(255,255,255,.3)}.tc-stop{background:var(--nao);color:white}.tc-ap{background:var(--acc);color:white}
.tc-t1{background:rgba(255,255,255,.15);color:white;border:1px solid rgba(255,255,255,.25);font-size:12px}
.o-item{display:flex;align-items:center;gap:8px;padding:9px;border-radius:var(--rs);border:1px solid var(--bor);margin-bottom:6px;background:var(--sur);transition:all .2s}
.o-item:hover{border-color:var(--cam-p);background:#f0f4fa}
.o-num{width:20px;height:20px;border-radius:50%;background:var(--cam-p);color:white;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.o-foto{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}
.o-foto img{width:100%;height:100%;object-fit:cover}
.inscricao-timer{font-family:var(--fd);font-size:56px;text-align:center;color:var(--cam-p);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.inscricao-timer.acabando{color:var(--nao);animation:blink2 .8s infinite}
@keyframes blink2{0%,100%{opacity:1}50%{opacity:.4}}
.inscricao-bar{height:10px;border-radius:99px;overflow:hidden;background:var(--bor);margin:8px 0 14px}
.inscricao-fill{height:100%;border-radius:99px;background:var(--cam-p);transition:width .5s linear}
.inscricao-fill.acabando{background:var(--nao)}
/* SESSÕES */
.sess-card{background:var(--sur);border:1px solid var(--bor);border-radius:var(--r);padding:14px;margin-bottom:10px;box-shadow:var(--sh);transition:all .2s}
.sess-card:hover{border-color:var(--cam-p);box-shadow:var(--sh2)}
.sess-card.ativa{border-color:var(--sim);background:var(--simbg)}
.sess-card-num{font-family:var(--fd);font-size:17px;margin-bottom:2px}
.sess-card-tipo{font-size:12px;color:var(--txt3)}
/* CONFIG */
.cfg-sec{background:var(--sur);border-radius:var(--r);border:1px solid var(--bor);padding:18px;margin-bottom:14px}
.cfg-sec-title{font-size:14px;font-weight:600;margin-bottom:2px}
.cfg-sec-sub{font-size:12px;color:var(--txt3);margin-bottom:14px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.logo-drop{border:2px dashed var(--bor);border-radius:var(--rs);padding:18px;text-align:center;cursor:pointer;font-size:13px;color:var(--txt3)}
.logo-drop:hover{border-color:var(--cam-p);color:var(--cam-p)}
#logo-prev{width:60px;height:60px;border-radius:50%;object-fit:cover;display:none;margin:0 auto 6px}
.cor-row{display:flex;align-items:center;gap:7px}
.cor-row input[type=color]{width:38px;height:34px;border:none;border-radius:6px;cursor:pointer;padding:2px}
/* PAINEL PÚBLICO */
.disp-hdr{background:rgba(0,0,0,.35);border-bottom:1px solid rgba(255,255,255,.1);padding:10px 18px;display:flex;align-items:center;flex-shrink:0;position:relative;min-height:62px}
.disp-hdr-logo{flex-shrink:0}
.disp-poder{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc2);margin-bottom:2px}
.disp-camara{font-family:var(--fd);font-size:17px}
.disp-hora{font-size:20px;font-weight:300;font-variant-numeric:tabular-nums}
.disp-mode{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:2px 10px;border-radius:99px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.disp-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 28px;overflow:hidden}
.disp-ftr{background:rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.08);padding:8px 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;font-size:13px;font-variant-numeric:tabular-nums}
.disp-ftr-hora{font-size:16px;font-weight:300}
.disp-ftr-elapsed{font-size:16px;font-weight:300;text-align:right}
.disp-ftr-elapsed span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.5;display:block}
/* display presença */
.disp-pres-wrap{width:100%;max-width:1100px}
.disp-pres-titulo{font-family:var(--fd);font-size:24px;text-align:center;margin-bottom:4px}
.disp-pres-sub{font-size:13px;color:rgba(255,255,255,.55);text-align:center;margin-bottom:18px}
.disp-qrow{display:flex;align-items:center;gap:14px;margin-bottom:18px;max-width:560px;margin-left:auto;margin-right:auto}
.disp-qbar{flex:1;height:14px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.disp-qfill{height:100%;border-radius:99px;background:#5ee8a0;transition:width .5s}
.disp-qfill.insuf{background:#ff8b85}
.disp-qtxt{font-size:16px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.disp-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:calc(100vh - 280px);overflow-y:auto}
.disp-pc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:10px 6px;text-align:center;transition:all .4s}
.disp-pc.dp-p{background:rgba(26,122,74,.35);border-color:rgba(26,122,74,.5)}
.disp-pc.dp-a{background:rgba(192,57,43,.2);border-color:rgba(192,57,43,.3);opacity:.6}
.disp-pc.dp-j{background:rgba(201,168,76,.2);border-color:rgba(201,168,76,.35)}
.disp-pc-foto{width:46px;height:46px;border-radius:50%;margin:0 auto 5px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:rgba(255,255,255,.15)}
.disp-pc-foto img{width:100%;height:100%;object-fit:cover}
.disp-pc-nome{font-size:11px;font-weight:500;line-height:1.3}
.disp-pc-func{font-size:9px;opacity:.5;margin-top:1px}
.disp-pc-badge{margin-top:4px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:99px;display:inline-block}
.disp-pc.dp-p .disp-pc-badge{background:rgba(94,232,160,.3);color:#5ee8a0}
.disp-pc.dp-a .disp-pc-badge{background:rgba(255,139,133,.2);color:#ff8b85}
.disp-pc.dp-j .disp-pc-badge{background:rgba(232,201,106,.25);color:#e8c96a}
/* display votação */
.disp-vot-layout{width:100%;max-width:1100px}
.disp-vot-hdr{text-align:center;margin-bottom:16px}
.disp-vot-tipo{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);margin-bottom:5px}
.disp-vot-titulo{font-family:var(--fd);font-size:26px;line-height:1.3;max-width:680px;margin:0 auto}
.disp-prow{display:flex;gap:14px;justify-content:center;margin-bottom:16px}
.disp-pi{text-align:center;flex:1;max-width:220px;padding:20px 16px;border-radius:14px}
.dpi-s{background:rgba(26,122,74,.35);border:2px solid rgba(26,122,74,.55)}
.dpi-n{background:rgba(192,57,43,.35);border:2px solid rgba(192,57,43,.55)}
.dpi-a{background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.15)}
.dpi-num{font-size:84px;font-weight:200;line-height:1;font-variant-numeric:tabular-nums}
.dpi-s .dpi-num{color:#5ee8a0}.dpi-n .dpi-num{color:#ff8b85}.dpi-a .dpi-num{color:rgba(255,255,255,.5)}
.dpi-lbl{font-size:12px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;margin-top:5px;opacity:.7}
.disp-vbar{height:9px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.1);display:flex;max-width:660px;margin:0 auto 16px}
.disp-vot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:7px;max-width:960px;margin:0 auto}
.dvg{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:9px;padding:9px 7px;text-align:center;transition:all .4s}
.dvg.dvs{background:rgba(26,122,74,.4);border-color:rgba(26,122,74,.55)}
.dvg.dvn{background:rgba(192,57,43,.4);border-color:rgba(192,57,43,.55)}
.dvg.dva{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.dvg-foto{width:42px;height:42px;border-radius:50%;margin:0 auto 5px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:rgba(255,255,255,.15)}
.dvg-foto img{width:100%;height:100%;object-fit:cover}
.dvg-nome{font-size:11px;font-weight:500;line-height:1.2}
.dvg-partido{font-size:9px;opacity:.5}
.dvg-voto{font-size:10px;font-weight:800;margin-top:3px;letter-spacing:.06em}
.dvg.dvs .dvg-voto{color:#5ee8a0}.dvg.dvn .dvg-voto{color:#ff8b85}.dvg.dva .dvg-voto{color:rgba(255,255,255,.65)}
/* display resultado */
.disp-res-layout{width:100%;max-width:1100px;text-align:center}
.disp-res-mat{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px}
.disp-res-desc{font-family:var(--fd);font-size:20px;color:rgba(255,255,255,.7);margin-bottom:20px}
.disp-res-box{display:inline-block;padding:28px 56px;border-radius:18px;margin-bottom:20px}
.disp-res-box.ap{background:rgba(26,122,74,.4);border:3px solid rgba(26,122,74,.6)}
.disp-res-box.rj{background:rgba(192,57,43,.4);border:3px solid rgba(192,57,43,.6)}
.disp-res-box.em{background:rgba(201,168,76,.25);border:3px solid rgba(201,168,76,.45)}
.disp-res-ico{font-size:48px;margin-bottom:7px}
.disp-res-titulo{font-family:var(--fd);font-size:62px;line-height:1;margin-bottom:7px}
.disp-res-box.ap .disp-res-titulo{color:#5ee8a0}.disp-res-box.rj .disp-res-titulo{color:#ff8b85}.disp-res-box.em .disp-res-titulo{color:#e8c96a}
.disp-res-nums{font-size:18px;opacity:.65;font-variant-numeric:tabular-nums}
.disp-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;max-width:960px;margin:0 auto}
/* display tribuna */
.disp-trib-layout{width:100%;max-width:1100px;display:flex;gap:32px;align-items:flex-start}
@media(max-width:700px){.disp-trib-layout{flex-direction:column;align-items:center}}
.disp-oa-main{flex:1.5;text-align:center}
.disp-oa-foto{width:200px;height:200px;border-radius:50%;margin:0 auto 16px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:60px;font-weight:600;background:rgba(255,255,255,.15);border:5px solid rgba(255,255,255,.22)}
.disp-oa-foto img{width:100%;height:100%;object-fit:cover}
.disp-oa-nome{font-family:var(--fd);font-size:40px;margin-bottom:4px;line-height:1.15}
.disp-oa-partido{font-size:16px;color:rgba(255,255,255,.6);margin-bottom:14px}
.disp-oa-tipo{display:inline-block;background:rgba(201,168,76,.22);color:var(--acc2);border:1px solid rgba(201,168,76,.3);padding:4px 16px;border-radius:99px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.disp-oa-timer{font-size:88px;font-weight:200;font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1}
.disp-oa-timer.am{color:#fde68a}.disp-oa-timer.vm{color:#fca5a5;animation:blink .7s infinite}.disp-oa-timer.extra{color:#86efac}
.disp-oa-tbar{height:10px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;max-width:380px;margin:12px auto 0}
.disp-oa-tbar-fill{height:100%;border-radius:99px;background:rgba(255,255,255,.6);transition:width .5s linear}
.disp-oa-tbar-fill.am{background:#fde68a}.disp-oa-tbar-fill.vm{background:#fca5a5}.disp-oa-tbar-fill.extra{background:#86efac}
.disp-fila{width:270px;flex-shrink:0}
.disp-fila-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}
.disp-fi{display:flex;align-items:center;gap:10px;padding:8px;border-radius:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);margin-bottom:6px}
.disp-fi-foto{width:40px;height:40px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:rgba(255,255,255,.15);flex-shrink:0}
.disp-fi-foto img{width:100%;height:100%;object-fit:cover}
.disp-fi-nome{font-size:13px;font-weight:500}
.disp-fi-tipo{font-size:10px;opacity:.5}
.disp-fi-pos{font-size:16px;font-weight:300;color:rgba(255,255,255,.25);margin-left:auto}
/* display inscrição */
.disp-insc-wrap{text-align:center;max-width:700px}
.disp-insc-titulo{font-family:var(--fd);font-size:28px;margin-bottom:8px}
.disp-insc-sub{font-size:16px;color:rgba(255,255,255,.6);margin-bottom:22px}
.disp-insc-timer{font-size:100px;font-weight:200;font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1;margin-bottom:12px}
.disp-insc-timer.acabando{color:#fca5a5;animation:blink .7s infinite}
.disp-insc-bar{height:12px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.12);max-width:500px;margin:0 auto 22px}
.disp-insc-fill{height:100%;border-radius:99px;background:rgba(255,255,255,.6);transition:width .5s linear}
.disp-insc-fill.acabando{background:#fca5a5}
.disp-insc-inscritos{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.disp-insc-item{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:6px 14px;border-radius:99px;font-size:14px}
/* display idle */
.disp-idle{text-align:center;opacity:.5}
.disp-idle-titulo{font-family:var(--fd);font-size:26px;margin-bottom:5px}
.disp-idle-sub{font-size:14px}
/* RELATÓRIO */
.rel-sec{margin-bottom:18px}
.rel-sec-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--txt3);margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid var(--bor)}
.rel-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--bor);font-size:13px}
.rel-row:last-child{border-bottom:none}
.rel-vt{display:inline-block;padding:1px 7px;border-radius:99px;font-size:11px;font-weight:700}
.rel-vt-s{background:var(--simbg);color:var(--sim)}
.rel-vt-n{background:var(--naobg);color:var(--nao)}
.rel-vt-a{background:var(--abstbg);color:var(--abst)}
/* HISTÓRICO VOTO vereador */
.hvoto-mat{padding:10px 12px;border-radius:var(--rs);border:1px solid var(--bor);margin-bottom:6px;background:var(--sur);display:flex;align-items:center;gap:8px}
.hvoto-mat.hv-s{border-color:var(--simbor);background:var(--simbg)}
.hvoto-mat.hv-n{border-color:var(--naobor);background:var(--naobg)}
.hvoto-mat.hv-a{border-color:var(--abstbor);background:var(--abstbg)}
/* Mobile */
@media(max-width:768px){
  :root{--sidebar-w:240px}
  .sidebar{position:fixed;top:var(--topbar-h);bottom:0;left:0;transform:translateX(-100%);z-index:56}
  .sidebar.open{transform:translateX(0)}
  .content{padding:14px 14px 80px}
  .plac-grid{gap:7px}
  .plac-num{font-size:34px}
  .bvs-grid{flex-direction:column;gap:8px}
  .bvv{padding:14px}
  .frow,.frow3{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr}
  .ph{flex-direction:column;gap:8px}
  table{font-size:12px}
  th,td{padding:7px 9px}
}
@media(min-width:769px){
  .topbar-menu-btn{display:none}
  .sidebar{position:relative;transform:none!important}
  .ver-botbar{display:none!important}
}
/* SESSÃO INFO */
details summary{list-style:none}details summary::-webkit-details-marker{display:none}
/* ORDEM SESSÃO */
.ordem-item-atual{background:rgba(28,53,84,.05);border-left:3px solid var(--cam-p);border-radius:var(--rs)}