:root[data-tema="terracota"]{--fundo:#F4EFE6;--sup:#FBF8F3;--txt:#241F1B;--txt2:#6B6058;--txt3:#93887D;
 --linha:#D9D0BF;--marca:#7A2E19;--marcatxt:#FFF;--neutro:#E4DCCB;--peri:#CFC3AC;--semi:#B5A791;
 --escuro:#1C1917;--escurotxt:#FBF8F3;--ok:#5C7F49;--at:#A8752F;--cr:#A8442A;--ativo:#7A2E19;--ativotxt:#FFF;--peso:300;--grafico:#7A2E19}
:root[data-tema="areia"]{--fundo:#EBE7DF;--sup:#FFF;--txt:#14120F;--txt2:#54504A;--txt3:#8A8378;
 --linha:#D6D0C4;--marca:#14120F;--marcatxt:#F4EFE6;--neutro:#DFD9CD;--peri:#C7C0B1;--semi:#ADA598;
 --escuro:#14120F;--escurotxt:#F4EFE6;--ok:#416434;--at:#8A6626;--cr:#9C3D24;--ativo:#14120F;--ativotxt:#F4EFE6;--peso:300;--grafico:#14120F}
:root[data-tema="oliva"]{--fundo:#EFF0E5;--sup:#FAFAF4;--txt:#1B2116;--txt2:#5C6652;--txt3:#8E9686;
 --linha:#DBDCCB;--marca:#33421F;--marcatxt:#F7F8F0;--neutro:#E0E2D0;--peri:#C8CBB4;--semi:#AFB499;
 --escuro:#1B2116;--escurotxt:#F7F8F0;--ok:#5C7F49;--at:#A8752F;--cr:#A8442A;--ativo:#33421F;--ativotxt:#F7F8F0;--peso:300;--grafico:#33421F}
:root[data-tema="noturno"]{--fundo:#141210;--sup:#1F1B17;--txt:#FBF7F0;--txt2:#C9BEAF;--txt3:#948A7C;
 --linha:#413830;--marca:#1F1B17;--marcatxt:#FBF7F0;--neutro:#37302A;--peri:#4E4438;--semi:#63584A;
 --escuro:#0C0A08;--escurotxt:#FBF7F0;--ok:#A6D492;--at:#E5B36C;--cr:#F0917A;--ativo:#EAC49F;--ativotxt:#141210;--peso:400;--grafico:#EAC49F}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:19.5px}
body{font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;background:var(--fundo);color:var(--txt);
 width:100vw;height:100vh;overflow:hidden;margin:0;-webkit-font-smoothing:antialiased;transition:background .35s,color .35s}
#app{width:1920px;height:1080px;position:absolute;top:0;left:0;transform-origin:0 0;
 display:flex;flex-direction:column;background:var(--fundo);transition:background .35s}
.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--marca);font-weight:700}
:root[data-tema="noturno"] .eyebrow{color:var(--ativo)}
.eyebrow.mut{color:var(--txt3)}
.num{font-weight:var(--peso);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:.86}
svg.ic{width:1.1em;height:1.1em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.hl{display:flex;align-items:center;gap:.4rem}

header{background:var(--marca);color:var(--marcatxt);flex:0 0 auto;display:flex;align-items:center;gap:1.3rem;padding:.72rem 1.9rem}
header img{height:2.5rem;width:auto;display:block}
.hdiv{width:1px;height:1.9rem;background:currentColor;opacity:.3}
.cont{display:flex;gap:1.1rem;font-size:.86rem;font-variant-numeric:tabular-nums;color:var(--txt2);margin-top:.2rem}
.cont b{color:var(--txt)}
.mesbloco{display:flex;flex-direction:column;gap:.15rem}
.cont b{font-weight:700}.cont span{opacity:.6}
.hright{margin-left:auto;display:flex;align-items:center;gap:.8rem}
.abt{font-family:inherit;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.36rem .76rem;
 border-radius:2rem;cursor:pointer;background:transparent;color:inherit;border:1px solid currentColor;opacity:.72;font-weight:600}
.abt:hover{opacity:1}.abt.on{opacity:1;background:rgba(255,255,255,.18)}
.temas{display:flex;gap:.38rem}
.tbt{width:1.35rem;height:1.35rem;border-radius:50%;border:none;cursor:pointer;padding:0;
 outline:1px solid rgba(255,255,255,.35);outline-offset:2px}
.tbt.on{outline-width:2px;outline-color:currentColor;transform:scale(1.14)}

main{flex:1 1 auto;position:relative;overflow:hidden}
.tela{position:absolute;inset:0;padding:1rem 1.9rem .6rem;display:none;flex-direction:column;gap:.65rem;animation:fade .45s ease both}
.tela.on{display:flex}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.titulo{font-size:2.3rem;font-weight:var(--peso);letter-spacing:-.03em;line-height:1}
.sub{font-size:.88rem;color:var(--txt2);margin-top:.28rem}
.topo{display:flex;align-items:flex-end;gap:1.2rem}
.topo .dir{margin-left:auto;text-align:right}
.topo .dir .big{font-size:2rem;font-weight:var(--peso);font-variant-numeric:tabular-nums}
.mesnav{display:flex;align-items:center;gap:.6rem}
.mesnav button{background:var(--sup);border:1px solid var(--linha);color:var(--txt2);cursor:pointer;
 width:2.2rem;height:2.2rem;border-radius:50%;font-size:1.05rem;line-height:1;font-family:inherit}
.mesnav button:disabled{opacity:.3;cursor:default}
.mesnav .lbl{font-size:2.3rem;font-weight:var(--peso);letter-spacing:-.02em;min-width:8.4rem;text-align:center;line-height:1}

.card{background:var(--sup);border:1px solid var(--linha);border-radius:.5rem;padding:.9rem 1.1rem;display:flex;flex-direction:column;transition:background .35s,border-color .35s}
.card.flat{background:transparent;border:none;padding:0}
.fill{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-evenly;min-height:0}
.leg2 .k{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt3);font-weight:600}
.leg2 .v{font-size:1.45rem;font-weight:var(--peso);font-variant-numeric:tabular-nums;margin-top:.1rem}

.kpis{display:grid;background:var(--escuro);border-radius:.5rem;overflow:hidden}
.kpis .k{padding:.8rem 1.05rem;border-right:1px solid rgba(170,158,145,.25);color:var(--escurotxt)}
.kpis .k:last-child{border:none}
.kpis .lbl{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.62;font-weight:600}
.kpis .v{display:flex;align-items:baseline;gap:.3rem;margin-top:.22rem}
.kpis .v .num{font-size:2.4rem}.kpis .v .un{font-size:.88rem;opacity:.65}
.kpis .v .sm{font-size:1.45rem;font-weight:var(--peso)}
.kpis .meta{font-size:.7rem;opacity:.55;margin-top:.12rem}

.g1{display:grid;grid-template-columns:repeat(12,1fr);gap:.65rem;flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr) auto auto}
.hero{grid-column:span 8;justify-content:flex-start;min-height:0;overflow:hidden}
.hero .val .num{line-height:.9}
.fasenav{display:flex;align-items:center;gap:.7rem;margin-bottom:.45rem;flex-wrap:nowrap}
.fasenav button{background:transparent;border:1px solid var(--linha);color:var(--txt2);cursor:pointer;
 width:1.7rem;height:1.7rem;border-radius:50%;font-size:.9rem;line-height:1;font-family:inherit}
.fnome{font-size:1.45rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.fent{font-size:.8rem;color:var(--txt3);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;margin-left:.6rem}
.fdots{display:flex;gap:.35rem;margin-left:1.2rem}
.fdots i{width:.42rem;height:.42rem;border-radius:50%;background:var(--linha);display:block}
.fdots i.on{background:var(--marca)}
:root[data-tema="noturno"] .fdots i.on{background:var(--ativo)}
.leg2 .v.pequeno{font-size:.86rem;color:var(--txt3);font-weight:400;line-height:1.3;max-width:9rem}
.herotop{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.4rem;align-items:stretch;flex:1 1 auto;min-height:0}
.herotop>div{min-width:0}
.herotop>div:first-child{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:.3rem}
.hero .val{display:flex;align-items:baseline;gap:.35rem;margin:.25rem 0 .2rem}
.hero .val .num{font-size:4.6rem}
.hero .val .un{font-size:1.5rem;font-weight:var(--peso);color:var(--txt2)}
.fases{display:flex;gap:1.5rem;margin-top:.45rem}
.fases .f{display:flex;flex-direction:column}
.fases .f .n{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);font-weight:600;white-space:nowrap}
.fases .f .v{font-size:1.2rem;font-weight:var(--peso);font-variant-numeric:tabular-nums}
.spark{min-width:0;display:flex;flex-direction:column;min-height:0}
.spark svg.gr{width:100%;height:100%;flex:1 1 auto;min-height:0;margin-top:.25rem;display:block}
.fases.n2{margin-top:0;gap:2.2rem}
.fases.n2 .v{font-size:1.6rem}
.fases.n3{margin-top:0;gap:2.2rem}
.fases.n3 .v{font-size:1.15rem}
.sec{grid-column:span 4;display:grid;grid-template-rows:1fr 1fr;gap:.65rem}
.mini{justify-content:center;cursor:pointer}
.mini .row{display:flex;align-items:baseline;gap:.4rem;margin-top:.25rem}
.mini .row .num{font-size:3rem}
.mini .row .un{font-size:.92rem;color:var(--txt2)}
.mini .s{margin-top:.35rem;font-size:.86rem;color:var(--txt2)}
.mini .s.oculto{color:var(--txt3);font-style:italic}

.minis{grid-column:span 12;min-height:0}
.faixas{display:grid;grid-template-columns:4fr 3fr;gap:1.6rem;flex:1 1 auto;min-height:0}
.fbloco{display:flex;flex-direction:column;min-height:0}
.fbloco .ft{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt3);font-weight:700;margin-bottom:.25rem}
.linhaT{display:grid;gap:.6rem;align-items:stretch;flex:1 1 auto;min-height:0}
.mt{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;cursor:pointer;min-height:0}
.mt:hover{transform:translateY(-2px)}
.mp{width:100%;display:flex;justify-content:center;align-items:flex-end;flex:1 1 auto;min-height:0}
.mp svg{height:100%;width:auto;max-width:5.6rem;display:block}
.mt .lb{font-size:.86rem;margin-top:.3rem;font-weight:500}
.mt .pc{font-size:1.3rem;font-weight:var(--peso);font-variant-numeric:tabular-nums}
.mt .pc.ok{color:var(--ok)}.mt .pc.at{color:var(--at)}.mt .pc.cr{color:var(--cr)}
.mt .dv{font-size:.72rem;font-variant-numeric:tabular-nums}
.dv.ok{color:var(--ok)}.dv.at{color:var(--at)}.dv.cr{color:var(--cr)}

.qsms{grid-column:span 12}
.q3{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}
.qt{background:var(--sup);border:1px solid var(--linha);border-radius:.45rem;padding:.65rem .9rem;display:flex;align-items:center;gap:.85rem}
.qt .ico{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--neutro);color:var(--marca);flex:0 0 auto}
:root[data-tema="noturno"] .qt .ico{color:var(--ativo)}
.qt .ico svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor}
.qt .txt{min-width:0}
.qt .nm{font-size:.82rem;color:var(--txt2);line-height:1.2}
.qt .vv{font-size:2rem;font-weight:var(--peso);font-variant-numeric:tabular-nums;line-height:1;margin-top:.1rem;display:flex;align-items:baseline;gap:.25rem}
.qt .un{font-size:.88rem;color:var(--txt2)}
.qt .mt2{margin-left:auto;text-align:right;font-size:.7rem;color:var(--txt3);white-space:nowrap}
.qt .mt2 b{display:block;font-size:.84rem;font-weight:700;color:var(--txt2)}
.pill{display:inline-block;margin-top:.2rem;font-size:.66rem;padding:.1rem .48rem;border-radius:1rem;font-weight:700}
.pill.ok{background:var(--ok);color:var(--sup)}.pill.cr{background:var(--cr);color:var(--sup)}

.g2,.g4,.g3{display:grid;grid-template-columns:repeat(12,1fr);gap:.65rem;flex:1 1 auto;min-height:0;grid-template-rows:auto 1fr}
.g2 .kpis,.g4 .kpis,.g3 .kpis{grid-column:span 12;grid-template-columns:repeat(4,1fr)}
.frentes{grid-column:span 7}
.marcos{grid-column:span 5}
.frentes .bl{display:grid;grid-template-columns:8.4rem minmax(0,1fr) 5rem 5rem 5.4rem;gap:.7rem;align-items:center;
 padding:.42rem 0;cursor:pointer;border-bottom:1px solid var(--linha)}
.frentes .bl.cab{cursor:default;padding-bottom:.28rem}
.frentes .bl.cab span{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);font-weight:700;text-align:right}
.frentes .bl.cab .bn{text-align:left}
.frentes .bv{text-align:right;font-size:1.05rem;font-variant-numeric:tabular-nums;width:auto}
.frentes .bt{display:block;height:.85rem;background:var(--neutro);border-radius:.45rem;overflow:hidden;min-width:0}
.frentes .bl.cab .bt{background:transparent}
.frentes .bf{display:block;height:100%;border-radius:.45rem}
.frentes .bv.ad{font-weight:600}
.frentes .bv.ad.ok{color:var(--ok)}.frentes .bv.ad.at{color:var(--at)}.frentes .bv.ad.cr{color:var(--cr)}
.bl{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;cursor:pointer;border-bottom:1px solid var(--linha)}
.bl:last-child{border:none}
.bn{width:7.8rem;flex:0 0 auto;font-size:1rem}
.bn span{display:block;font-size:.68rem;color:var(--txt3)}
.bt{flex:1 1 auto;height:.9rem;background:var(--neutro);border-radius:.45rem;overflow:hidden}
.bf{height:100%;border-radius:.45rem}
.bf.ok{background:var(--ok)}.bf.at{background:var(--at)}.bf.cr{background:var(--cr)}
.bv{width:4.6rem;text-align:right;flex:0 0 auto;font-size:1.08rem;font-variant-numeric:tabular-nums}
.bv span{display:block;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3)}
.acao{width:9.4rem;flex:0 0 auto;font-size:.76rem;color:var(--txt2);text-align:right;line-height:1.2}
.acao b{display:block;color:var(--at);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.marcos{grid-column:span 5}
.am{display:flex;align-items:center;gap:.9rem;padding:.5rem 0;border-bottom:1px solid var(--linha)}
.am:last-child{border:none}
.amd{width:3.4rem;flex:0 0 auto;text-align:center;font-size:1.5rem;font-weight:var(--peso);font-variant-numeric:tabular-nums;line-height:1}
.amd small{display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;opacity:.7;margin-top:.1rem}
.amd.ok{color:var(--ok)}.amd.at{color:var(--at)}.amd.cr{color:var(--cr)}
.amt{flex:1 1 auto;min-width:0;font-size:.98rem;line-height:1.25}
.amt span{display:block;font-size:.76rem;color:var(--txt3);margin-top:.1rem}
.amo{flex:0 0 auto;text-align:right;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3)}
.amo b{display:block;font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--txt2);font-weight:600;margin-top:.1rem}
.amsobra{font-size:.78rem;color:var(--txt3);padding-top:.5rem}
.mk{display:flex;align-items:center;gap:.7rem;padding:.4rem 0;border-bottom:1px solid var(--linha)}
.mk:last-child{border:none}
.mk .dt{font-size:.78rem;color:var(--marca);font-weight:700;width:4rem;flex:0 0 auto}
:root[data-tema="noturno"] .mk .dt{color:var(--ativo)}
.mk .nm{font-size:.94rem}
.mk .nm span{display:block;font-size:.72rem;color:var(--txt3)}
.mk .st{margin-left:auto;font-size:.74rem;white-space:nowrap}

.fam{display:flex;gap:.42rem;flex-wrap:wrap}
.fam2{display:grid;grid-template-columns:1fr 1fr;gap:.42rem;margin-bottom:.6rem}
.fam2 .fbt{text-align:center}
.fbt{font-family:inherit;font-size:.8rem;padding:.32rem .9rem;border-radius:2rem;cursor:pointer;background:var(--sup);color:var(--txt2);border:1px solid var(--linha);font-weight:600}
.fbt.on{background:var(--ativo);color:var(--ativotxt);border-color:var(--ativo)}
.serv{display:flex;gap:.36rem;flex-wrap:wrap}
.sbt{font-family:inherit;font-size:.76rem;padding:.24rem .78rem;border-radius:2rem;cursor:pointer;background:transparent;color:var(--txt3);border:1px solid var(--linha)}
.sbt.on{color:var(--txt);border-color:var(--txt2);font-weight:600}
.palco{flex:1 1 auto;background:var(--sup);border:1px solid var(--linha);border-radius:.5rem;padding:.7rem 1.15rem .55rem;display:flex;flex-direction:column;min-height:0}
.torres,.rotu{display:grid;grid-template-columns:4rem repeat(6,1fr);gap:.7rem}
.torres{flex:1 1 auto;min-height:0;align-items:end}
.escala{position:relative;height:100%}
.escala span{position:absolute;right:0;font-size:.7rem;color:var(--txt3);transform:translateY(50%);white-space:nowrap}
.tor{display:flex;flex-direction:column;height:100%;justify-content:flex-end;cursor:pointer}
.alt{text-align:center;font-size:.74rem;color:var(--txt3);padding-bottom:.28rem;font-variant-numeric:tabular-nums}
.pilha{display:flex;flex-direction:column-reverse;gap:1px;position:relative}
.nv{height:calc(var(--unit) - 1px);border-radius:1px;background:var(--neutro);margin:0 auto}
.nv.semi{background:var(--semi)}.nv.peri{background:var(--peri)}
.nv.ok{background:var(--ok)}.nv.at{background:var(--at)}.nv.cr{background:var(--cr)}
.prev{position:absolute;left:-6%;right:-6%;height:0;border-top:2px dashed var(--txt2);pointer-events:none}
.prev b{position:absolute;left:0;top:-1.15rem;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt2);font-weight:700}
.rotu{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--linha)}
.rotu .c{text-align:center}
.rotu .n{font-size:1rem;font-weight:500}
.rotu .p2{font-size:.74rem;color:var(--txt3)}
.rotu .d{font-size:.8rem;font-variant-numeric:tabular-nums}
.d.ok{color:var(--ok)}.d.at{color:var(--at)}.d.cr{color:var(--cr)}
.legm{display:flex;gap:.85rem;align-items:center;font-size:.74rem;color:var(--txt2);margin-top:.45rem;flex-wrap:wrap}
.legm b{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);font-weight:700}
.legm .sep{width:1px;height:.9rem;background:var(--linha)}
.legm span{display:flex;align-items:center;gap:.32rem}
.legm i{width:.82rem;height:.82rem;border-radius:2px;display:block}
.legm .tr{width:1.15rem;height:0;border-top:2px dashed var(--txt2)}

.dv2{display:flex;align-items:center;gap:.75rem;padding:.42rem 0;border-bottom:1px solid var(--linha)}
.dv2:last-child{border:none}
.dv2 .i{font-size:.72rem;color:var(--txt3);width:1.5rem}
.dv2 .n{font-size:1rem;flex:1 1 auto}
.dv2 .v{font-size:1.02rem;font-variant-numeric:tabular-nums;font-weight:600}
.dv2 .v.up{color:var(--cr)}.dv2 .v.dn{color:var(--ok)}
.colunas{display:flex;align-items:flex-end;gap:.6rem;flex:1 1 auto;padding-top:.6rem;min-height:0}
.colunas .col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:.25rem;height:100%;justify-content:flex-end}
.colunas .bar{width:100%;background:var(--marca);border-radius:.2rem .2rem 0 0}
:root[data-tema="noturno"] .colunas .bar{background:var(--ativo)}
.colunas .lb{font-size:.72rem;color:var(--txt3);text-align:center;line-height:1.1}
.colunas .vv{font-size:.78rem;color:var(--txt2);font-variant-numeric:tabular-nums}
.emp{display:flex;align-items:center;gap:.7rem;padding:.4rem 0;border-bottom:1px solid var(--linha)}
.emp:last-child{border:none}
.emp .n{width:6.8rem;flex:0 0 auto;font-size:1rem}
.emp .wrap{flex:1 1 auto;min-width:0}
.emp .bar3{height:1rem;display:flex;border-radius:.5rem;overflow:hidden;background:var(--neutro)}
.emp .s1{background:var(--marca)}.emp .s2{background:var(--ok)}.emp .s3{background:var(--peri)}
:root[data-tema="noturno"] .emp .s1{background:var(--ativo)}
.emp .cl{width:3.1rem;flex:0 0 auto;text-align:right;font-size:.96rem;font-variant-numeric:tabular-nums;color:var(--txt2)}
.emp .cl.tt{color:var(--txt);font-weight:600;font-size:1.05rem}
.emp.cab{border-bottom:1px solid var(--linha);padding-bottom:.3rem}
.emp.cab .cl,.emp.cab .n{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);font-weight:700}
.emp .s3{background:var(--peri)}
.legE{display:flex;gap:1rem;font-size:.76rem;color:var(--txt2);margin-top:.45rem}
.legE span{display:flex;align-items:center;gap:.32rem}
.legE i{width:.8rem;height:.8rem;border-radius:2px}

.fncols{display:grid;grid-template-columns:1fr 1fr;gap:0 2.4rem;flex:1 1 auto;min-height:0;margin-top:.4rem}
.fncols>div{display:flex;flex-direction:column;justify-content:space-evenly}
.fnl{display:grid;grid-template-columns:11rem minmax(0,1fr) 2.8rem 2.8rem;gap:.7rem;align-items:center;
 padding:.36rem 0;border-bottom:1px solid var(--linha)}
.fnl:last-child{border:none}
.fnn{font-size:1rem}
.fnb{display:block;height:.8rem;background:var(--neutro);border-radius:.4rem;overflow:hidden}
.fnf{display:block;height:100%;border-radius:.4rem;background:var(--marca)}
:root[data-tema="noturno"] .fnf{background:var(--ativo)}
.fnv{text-align:right;font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:600}
.fnp{text-align:right;font-size:.8rem;color:var(--txt3);font-variant-numeric:tabular-nums}
.emp{cursor:pointer}
.emp.cab{cursor:default}
.tl{grid-column:span 7}.pack{grid-column:span 5}
.voltar{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--marca);cursor:pointer;border:none;background:none;font-family:inherit;font-weight:700;padding:0}
:root[data-tema="noturno"] .voltar{color:var(--ativo)}
.tlrow{display:grid;grid-template-columns:1fr 5rem 6rem 7rem;gap:.55rem;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--linha);font-size:.98rem}
.tlrow:last-child{border:none}
.tlrow .h{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt3);font-weight:600}
.tlrow .vv{text-align:right;font-variant-numeric:tabular-nums}
.pk{display:flex;align-items:center;gap:.75rem;padding:.38rem 0;border-bottom:1px solid var(--linha)}
.pk:last-child{border:none}
.pk .n{font-size:1rem;flex:1 1 auto}
.pk .t{display:block;width:7.5rem;height:.9rem;background:var(--neutro);border-radius:.45rem;flex:0 0 auto;overflow:hidden}
.pk .f{display:block;height:100%;border-radius:.45rem;background:var(--ok)}
.pk .v{width:2.8rem;text-align:right;font-size:.94rem;color:var(--txt2);font-variant-numeric:tabular-nums}

footer{flex:0 0 auto;border-top:1px solid var(--linha);background:var(--sup)}
.prog{height:3px;background:var(--neutro)}.prog i{display:block;height:100%;background:var(--marca);width:0}
:root[data-tema="noturno"] .prog i{background:var(--ativo)}
.fbar{display:flex;align-items:center;gap:1.3rem;padding:.4rem 1.9rem}
.nav{display:flex;gap:1.15rem}
.nav button{background:none;border:none;font-family:inherit;cursor:pointer;padding:.14rem 0;font-size:.8rem;
 letter-spacing:.11em;text-transform:uppercase;color:var(--txt3);font-weight:700;border-bottom:2px solid transparent}
.nav button.on{color:var(--marca);border-color:var(--marca)}
:root[data-tema="noturno"] .nav button.on{color:var(--ativo);border-color:var(--ativo)}
.fright{margin-left:auto;display:flex;align-items:center;gap:1rem}
.rotbt{display:flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
 color:var(--txt2);background:var(--sup);border:1px solid var(--linha);border-radius:2rem;padding:.26rem .68rem;cursor:pointer;font-family:inherit;font-weight:600}
.rotbt .dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--ok)}
.rotbt.pause .dot{background:var(--txt3)}
.assin{display:flex;align-items:center;gap:.42rem}
.assin .lb{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt3)}
.assin .bl2{background:var(--marca);border-radius:.25rem;padding:.22rem .42rem;display:flex}
:root[data-tema="noturno"] .assin .bl2{background:#413830}
.assin img{height:1.45rem;width:auto;display:block}
body.edit [data-ed]{outline:1px dashed var(--ativo);outline-offset:3px;border-radius:2px;cursor:text}

/* carimbo de cache / offline — canto inferior direito, fora do palco escalado */
#cacheInfo{position:fixed;right:.9rem;bottom:.7rem;z-index:50;
 font-family:"Inter","Segoe UI",system-ui,sans-serif;font-size:12px;letter-spacing:.02em;
 background:var(--escuro,#1C1917);color:var(--escurotxt,#FBF8F3);opacity:.86;
 padding:.4rem .7rem;border-radius:2rem;pointer-events:none}
#cacheInfo[hidden]{display:none}
