@font-face{font-family:Archivo;src:url(fontes/archivo.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(fontes/jetbrains-mono.woff2) format('woff2');font-weight:400;font-display:swap}

:root{--app:#8b7cf6;--app2:#2a2350;--appt:#c9c0ff;--bg:#17191c;--panel:#1f2226;--head:#121417;--field:#0e0f11;--line:#2e3137;--tx:#ecebe6;--tx1:#d6d5d0;--tx2:#a8adb4;--tx3:#8d939b;--red:#e5322d;--amb:#f0a43a;--grn:#23b26a;--blue:#4a7fd6;--mon:#0b0c0e;--fig:#d6d5d0;--fig2:#5d6168;--floor:#25282d;--led:#1a1c20}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--tx1);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{background:var(--field);border:1px solid var(--line);border-radius:4px;padding:6px 8px;color:var(--tx)}
button{cursor:pointer}
.b{border:0;border-radius:4px;padding:6px 12px;background:linear-gradient(#30343a,#2a2d32);color:var(--tx);box-shadow:inset 0 1px 0 #ffffff12,0 1px 0 #00000080,0 0 0 1px #0000004d;font-size:13px;white-space:nowrap}
.b:hover{filter:brightness(1.12)}
a.b{text-decoration:none;display:inline-block}
.b.on{background:linear-gradient(#4a7fd6,#3a69b8);color:#fff;box-shadow:inset 0 1px 0 #ffffff26,0 0 0 1px #0000004d}
.b.go{background:linear-gradient(#27c072,#1f9e5d);color:#fff;box-shadow:inset 0 1px 0 #ffffff33,0 1px 0 #00000099}
.b.danger{background:linear-gradient(#ea3f3a,#c92a26);color:#fff}
.b.sm{padding:3px 8px;font-size:12px}
.seg{display:inline-flex;gap:3px;flex-wrap:wrap}
header{position:sticky;top:0;z-index:10;background:var(--head);border-bottom:1px solid var(--line)}
header:after{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--app),transparent 60%)}
.disp{font-family:Archivo,system-ui,sans-serif}
#nav a{display:inline-flex;align-items:center;gap:6px}#nav svg{width:15px;height:15px}
.status{position:sticky;bottom:0;z-index:9;background:var(--head);border-top:1px solid var(--line);display:flex;gap:16px;align-items:center;padding:5px 16px;font-size:12px;color:var(--tx3);flex-wrap:wrap}
.status b{color:var(--tx1);font-weight:500}.status .led{width:7px;height:7px;border-radius:50%;background:var(--grn);display:inline-block;margin-right:6px}
.card{border-left:3px solid var(--cc,var(--line))!important}
.monw .fr{position:absolute;inset:10px;pointer-events:none;border:0}
.monw .fr:before,.monw .fr:after{content:"";position:absolute;width:14px;height:14px;border-color:rgba(255,255,255,.45);border-style:solid}
.monw .fr:before{left:0;top:0;border-width:1.5px 0 0 1.5px}.monw .fr:after{right:0;bottom:0;border-width:0 1.5px 1.5px 0}
.monw .tally{position:absolute;left:8px;bottom:8px;font:700 11px Archivo,system-ui;padding:1px 6px;border-radius:3px;color:#0b0c0e}
.ch input.pos{font-family:Archivo,system-ui,sans-serif;font-size:14px}
h2{font-family:Archivo,system-ui,sans-serif}
.hero{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 16px;text-align:center;color:var(--tx3)}
.hero svg{width:120px;height:80px}.hero b{font-family:Archivo,system-ui;font-size:17px;color:var(--tx)}
.hin{display:flex;align-items:center;gap:14px;padding:8px 16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--tx);font-size:15px}
.logo svg{width:24px;height:24px}
.logo small{font-weight:400;color:var(--tx3);font-size:11px;display:block;line-height:1}
nav{display:flex;gap:3px}
.proj{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.proj select{min-width:180px}
main{padding:14px 16px 30px;max-width:1600px;margin:0 auto}
.view{display:none}.view.on{display:block}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:12px}
h2{font-size:16px;font-weight:600;color:var(--tx);margin:0}
h3{font-size:13px;font-weight:600;color:var(--tx2);margin:0 0 8px}
.lbl{font-size:12px;color:var(--tx3)}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp{flex:1}
.tag{display:inline-block;font-size:10.5px;padding:0 5px;border-radius:3px;margin-left:4px;vertical-align:1px;font-weight:600}
.t4k{background:#1d3a2a;color:#7fd8a6}.thd{background:#3a2e12;color:var(--amb)}.tmy{background:#1d2d4a;color:#8fb3ef}.tty{background:#2a2d32;color:var(--tx2)}
.note{font-size:12px;color:var(--tx3);margin:10px 0 0}
.warn{font-size:12px;color:var(--amb);background:#3a2e12;border-radius:4px;padding:5px 8px}

.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}
.snav{position:sticky;top:0;height:100vh;background:var(--head);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px;padding:14px 12px;overflow:auto}
.snav .logo{padding:2px 4px}
.psw{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px}
.psw select{width:100%;margin-top:4px}
#nav{display:flex;flex-direction:column;gap:2px}
#nav a.big{align-items:flex-start;padding:9px 10px}#nav a.big svg{margin-top:2px}#nav a.big span{display:flex;flex-direction:column;gap:1px}#nav a.big b{font-weight:600;font-size:14px}#nav a.big small{font-size:11px;color:var(--tx3);font-weight:400}
.subt{display:flex;gap:2px;margin:0 0 10px;border-bottom:1px solid var(--line)}.subt a{padding:7px 12px;color:var(--tx2);text-decoration:none;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px}.subt a:hover{color:var(--tx)}.subt a.on{color:var(--tx);border-bottom-color:var(--app)}
@media (max-width:900px){#nav a.big small{display:none}.radar .insp .hint{display:none}.radar .insp:has(.hint){display:none}#nav a.big{padding:6px 8px}}
#nav .ng{font-size:11px;color:var(--tx3);letter-spacing:.4px;margin:12px 8px 4px;text-transform:uppercase}
#nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:4px;color:var(--tx2);text-decoration:none;font-size:14px;border-left:2px solid transparent}
#nav a svg{width:16px;height:16px;flex:none}
#nav a:hover{background:#23262b;color:var(--tx)}
#nav a.on{background:#262236;color:#fff;border-left-color:var(--app)}
.mainc{display:flex;flex-direction:column;min-width:0}
.mainc main{flex:1;width:100%}
.ptitle{display:flex;align-items:center;gap:10px;margin:0 0 12px}.ptitle h2{font-size:18px}
@media (max-width:900px){.shell{grid-template-columns:1fr}.snav{position:sticky;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;z-index:20}.psw{display:flex;gap:6px;align-items:center;padding:4px 6px}.psw label{display:none}.psw select{margin:0;width:150px}.psw .row{margin:0!important}#nav{flex-direction:row;overflow-x:auto;width:100%}#nav .ng{display:none}#nav a{white-space:nowrap;padding:6px 8px}#nav a span{font-size:13px}}
.radar .float{left:12px;right:auto;width:270px}
.insp{position:absolute;top:12px;right:12px;bottom:12px;width:350px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.insp .card{flex:none}
.insp .hint{background:rgba(31,34,38,.94);border:1px solid var(--line);border-radius:6px;padding:12px;color:var(--tx3);font-size:13px}
@media (max-width:1100px){.insp{position:static;width:auto;margin-top:10px}.radar{overflow:visible}}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;text-align:left;padding:0;color:inherit}
.pcard:hover{border-color:var(--app)}.pcard.on{border-color:var(--app);box-shadow:0 0 0 1px var(--app)}
.pcard svg{display:block;width:100%;aspect-ratio:16/10;background:#0b0c0e}
.pcard .pc{padding:10px 12px}
.newc{border:1.5px dashed var(--line);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;color:var(--tx3);background:transparent}
.tbl td,.tbl th{white-space:nowrap}
/* radar */
.radar{position:relative;height:calc(100vh - 300px);min-height:440px;background:#0b0c0e;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.radar #map{width:100%;height:100%;display:block;touch-action:none;user-select:none;border:0;max-height:none;background:transparent}
.float{position:absolute;top:12px;right:12px;width:290px;background:rgba(31,34,38,.94);border:1px solid var(--line);border-radius:6px;padding:10px 12px}
.float .kv input{width:64px}
.mv{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding:10px 0 4px}
.mvi{position:relative;background:var(--mon);border:2px solid #2e3137;border-radius:3px;cursor:pointer;padding:0}
.mvi.sel{border-color:var(--cc)}
.mvi svg{display:block;width:100%;aspect-ratio:16/9}
.mvi .t{position:absolute;left:6px;top:6px;font:700 10.5px Archivo,system-ui;padding:1px 6px;border-radius:2px;color:#0b0c0e}
.mvi .i{position:absolute;right:6px;bottom:5px;font-size:11px;color:#ecebe6;background:rgba(0,0,0,.6);padding:1px 6px;border-radius:2px}
.mvi .n{position:absolute;left:6px;bottom:5px;font-size:11px;color:#ecebe6;background:rgba(0,0,0,.6);padding:1px 6px;border-radius:2px;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvadd{border:2px dashed #2e3137;border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--tx3);aspect-ratio:16/9;cursor:pointer;background:transparent}
/* mapa */
.mapl{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}
@media (max-width:980px){.mapl{grid-template-columns:1fr}}
#map{width:100%;display:block;background:#121417;border:1px solid var(--line);border-radius:4px;touch-action:none;user-select:none;max-height:calc(100vh - 140px)}
.plist .pi{display:flex;align-items:center;gap:8px;padding:6px;border-radius:4px;cursor:pointer}
.plist .pi:hover,.plist .pi.sel{background:#2a2d32}
.dot{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#0b0c0e;flex:none}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center}
.kv input{width:80px}
/* camera cards */
.lay{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;align-items:start}
@media (max-width:900px){.lay{grid-template-columns:1fr}.side{position:static!important;max-height:340px!important}}
.side{position:sticky;top:62px;max-height:calc(100vh - 80px);display:flex;flex-direction:column}
.lay1{display:block}.supsel{max-width:150px;font-size:12px;padding:2px 4px;margin-left:4px}.tag.tfx{background:#2a2d32;color:#c9c0ff}.tkrow{display:flex;align-items:center;gap:6px;margin-top:6px}.tkrow input{flex:1;min-width:0}.pick{position:fixed;z-index:200;background:#1f2226;border:1px solid #3a3d44;border-radius:6px;box-shadow:0 14px 40px rgba(0,0,0,.55);display:flex;flex-direction:column;padding:8px}.pick input{width:100%}.pick .pl{overflow:auto;margin-top:6px;flex:1;min-height:60px}.pick .pg{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--appt);padding:8px 8px 3px}.pick .po{padding:6px 8px;border-radius:4px;color:var(--tx1);cursor:pointer;font-size:13px}.pick .po:hover{background:#2a2d32}.pick .po.hi{background:#2a2350;color:#fff}.pick .po.on{font-weight:600}.pick .pf{margin-top:6px;font-size:11px}.runrow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:5px 0;border-bottom:1px solid var(--line);font-size:12px}.runrow b{color:var(--tx);width:100%;font-weight:600}.runrow label{display:flex;align-items:center;gap:3px;color:var(--tx2)}.runrow input{width:52px;padding:2px 4px}.bchip.on{border-color:#e5322d;color:var(--tx)}.bchip{display:inline-flex;align-items:center;gap:2px;background:#2a2d32;border:1px solid var(--line);border-radius:4px;padding:1px 2px 1px 7px;font-size:12px;color:var(--tx1)}.bchip .ic{padding:0 5px;min-height:20px}
.v3wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}.v3{position:relative;aspect-ratio:16/9;background:#0b0c0e;border:1px solid var(--line);border-radius:4px;overflow:hidden}.v3 canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.v3hud{position:absolute;inset:0;pointer-events:none}.v3hud .g{position:absolute;inset:0;background:linear-gradient(to right,transparent calc(33.33% - .5px),rgba(255,255,255,.18) calc(33.33% - .5px),rgba(255,255,255,.18) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgba(255,255,255,.18) calc(66.66% - .5px),rgba(255,255,255,.18) calc(66.66% + .5px),transparent calc(66.66% + .5px)),linear-gradient(to bottom,transparent calc(33.33% - .5px),rgba(255,255,255,.18) calc(33.33% - .5px),rgba(255,255,255,.18) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgba(255,255,255,.18) calc(66.66% - .5px),rgba(255,255,255,.18) calc(66.66% + .5px),transparent calc(66.66% + .5px))}.v3hud .tl,.v3hud .br,.v3hud .tr{position:absolute;background:rgba(11,12,14,.78);color:#ecebe6;font-size:12px;padding:3px 7px;border-radius:3px}.v3hud .tl{left:10px;top:10px}.v3hud .tr{right:10px;top:10px}.v3hud .br{right:10px;bottom:10px;font-family:'JetBrains Mono',monospace}.v3side .kv{display:flex;align-items:center;gap:6px 8px;margin-top:8px;flex-wrap:wrap}.v3side .kv select{flex:1;min-width:0;max-width:100%}.v3side .kv>.lbl:first-child{width:60px;flex:none}.v3mvi canvas{width:100%;aspect-ratio:16/9;display:block}.v3g{display:grid;gap:6px;align-items:stretch;overflow-x:auto}.v3gh{font-size:12px;color:var(--tx1);padding:2px 0}.v3gh .t,.v3gc .t{font-size:11px;padding:1px 6px;border-radius:3px;color:#0b0c0e;font-weight:700}.v3gl{font-size:13px;color:var(--tx);display:flex;flex-direction:column;justify-content:center}.v3gc{background:#0b0c0e;border:1px solid var(--line);border-radius:3px;overflow:hidden}.v3gc canvas{width:100%;aspect-ratio:16/9;display:block}.v3gc .i{display:block;font-size:11px;color:var(--tx2);padding:3px 6px}
@media (max-width:1100px){.v3wrap{grid-template-columns:1fr}}
.bh{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--appt);margin:12px 4px 4px;padding-bottom:3px;border-bottom:1px solid var(--line)}.bh:first-child{margin-top:4px}.stp{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--app);color:#fff;font-size:11px;margin-right:6px}.kv2{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap}.kv2>.lbl:first-child{width:100px;flex:none}.chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.chb{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--appt);margin:0 4px 0 10px}.chb:first-child{margin-left:0}.qtw{display:grid;grid-template-columns:1fr 1fr;gap:2px}.qtw .monw .ov{font-size:10px}.qc .ch{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line)}.qc .ch b{color:var(--tx);font-size:14px}.qc .kv{display:flex;align-items:center;gap:8px;margin-top:6px}.qc .kv>.lbl:first-child{width:66px;flex:none}.qc .kv select{flex:1;min-width:0}.qst{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.qst b{display:block;color:var(--tx);font-size:15px}.qst span{font-size:11px;color:var(--tx3)}
.drawer{position:fixed!important;top:0;right:0;bottom:0;width:360px;max-width:92vw;max-height:none!important;z-index:60;border-radius:0;box-shadow:-12px 0 40px rgba(0,0,0,.5);transform:translateX(105%);transition:transform .18s ease;display:flex;flex-direction:column}.drawer.open{transform:none}.drawer .lib{flex:1}
.lib{overflow:auto;margin-top:8px}
.li{display:flex;align-items:center;gap:8px;padding:6px;border-radius:4px}
.li:hover{background:#2a2d32}
.li .t{flex:1;min-width:0}.li b{display:block;font-weight:500;font-size:13px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li span{font-size:11.5px;color:var(--tx3)}
.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.card.sel{border-color:var(--blue)}
.ch{display:flex;align-items:center;gap:6px;padding:6px 8px}
.ch input.pos{flex:1;background:transparent;border:0;font-weight:600;color:var(--tx);padding:2px;min-width:0}
.ib{border:0;background:transparent;color:var(--tx3);width:26px;height:26px;border-radius:4px}
.ib:hover{background:#2a2d32;color:var(--tx)}
.monw{position:relative;background:#000;aspect-ratio:16/9;display:flex;align-items:center;overflow:hidden}.monw svg{flex:none}
.monw svg{display:block;width:100%;aspect-ratio:16/9}
.ov{position:absolute;font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:3px;background:rgba(0,0,0,.6);color:#ecebe6}
.ov.tl{left:6px;top:6px}.ov.br{right:6px;bottom:6px;font-weight:400}.ov.tr{right:6px;top:6px;background:#7a1e18}
.cb{padding:8px 10px 10px;display:flex;flex-direction:column;gap:7px}
.ct{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ct>.lb{font-size:11.5px;color:var(--tx3);width:58px;flex:none}
.ct select{flex:1;min-width:0;padding:4px 6px;font-size:13px}
.zoom{display:flex;align-items:center;gap:8px;flex:1}
.zoom input{flex:1;min-width:0;accent-color:#4a7fd6;padding:0}
.fv{font-variant-numeric:tabular-nums;font-size:13px;width:62px;text-align:right;color:var(--tx)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid var(--line);padding-top:7px}
.stats div{font-size:11px;color:var(--tx3)}.stats b{display:block;font-size:14px;color:var(--tx);font-variant-numeric:tabular-nums}
.num{width:64px;padding:4px 6px}
.empty{border:1px dashed var(--line);border-radius:4px;padding:36px 16px;text-align:center;color:var(--tx3)}
.sentence{font-size:16px;line-height:2.3;display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--tx)}
.res{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px}
.rank{position:absolute;left:6px;bottom:6px;font-size:11px;padding:1px 6px;border-radius:3px;background:var(--blue);color:#fff;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--tx3);font-weight:500;font-size:12px}
.grp td{font-weight:600;padding-top:14px;color:var(--tx2);font-size:12px}
.scroll{overflow-x:auto}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.form label{display:block;font-size:12px;color:var(--tx3);margin-bottom:2px}.form input,.form select{width:100%}
.modal{background:rgba(0,0,0,.55);padding:30px 16px;margin:-14px -16px 14px}
.modal .panel{max-width:720px;margin:0 auto}
textarea{width:100%;min-height:140px;font-family:ui-monospace,monospace;font-size:12px}


/* 1.0 (produto): o kit da suíte (bt-console.css) deixa o body em coluna flexível; o app usa a própria grade. */
body.sm-app{display:block;min-height:0}
#app[hidden]{display:none!important}
.smconta{margin-top:auto;padding:10px 6px 2px;border-top:1px solid var(--line)}
.smquem{color:var(--tx);font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.smconta .bt-idioma button,.smconta #smIdioma button{min-height:0}
@media (max-width:900px){.smconta{margin-top:0;border-top:0;padding:4px 6px}.smconta>.lbl{display:none}}

/* 1.2: local do evento (painel dentro de "Local e palco") */
.float{max-height:calc(100% - 24px);overflow:auto}
.smlc-ferr{display:flex;flex-wrap:wrap;gap:4px}.smlc-ferr .b.on{background:var(--app);border-color:var(--app);color:#fff}
.smlc-dica{display:block!important;margin:6px 0 0}
.smlc-teto,.smlc-i{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:8px}
.smlc-i{padding:6px 0;border-top:1px solid var(--line)}.smlc-i b{flex-basis:100%;color:var(--tx);font-weight:500;font-size:12px}
.smlc-i input:not([type=number]):not([type=checkbox]){flex:1;min-width:0;font-size:12px}
.smlc-c{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--tx3)}.smlc-c input{width:58px}.smlc-c select{font-size:12px}
.smlc-est{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--amb)}
.smlc-i .lbl{display:inline!important}

/* 1.2: importar planta (tela Montar o local) */
.smlc-imp{margin-bottom:4px}
.smimp{position:fixed;inset:0;z-index:60;background:rgba(10,11,13,.72);display:flex;align-items:stretch;justify-content:center;padding:24px}
.smimp-c{background:var(--panel);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;width:min(1400px,100%);max-height:100%;overflow:hidden}
.smimp-top{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.smimp-top b{color:var(--tx)}
.smimp-corpo{display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:0;flex:1}
.smimp-prev{display:flex;flex-direction:column;min-height:0;background:var(--field)}
.smimp-svg{flex:1;min-height:360px;position:relative}.smimp-svg svg{position:absolute;inset:0;width:100%;height:100%}.smimp-svg.medindo svg{cursor:crosshair}
.smimp-svg g.real{stroke:#f0a43a!important;stroke-opacity:1!important}
.smimp-barra{display:flex;gap:16px;padding:8px 12px;border-top:1px solid var(--line)}
.smimp-lado{overflow:auto;padding:12px 16px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.smimp-lado h4,.smimp-c h4{margin:0 0 6px;font-size:13px;color:var(--tx);font-weight:600}
.smimp-linha{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
.smimp-c2{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx3)}.smimp-c2 input{width:80px}
.smimp-dica{display:block!important;margin:6px 0 0}
.smimp-cams{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.smimp-cam{display:grid;grid-template-columns:12px minmax(0,1fr) 150px;align-items:center;gap:8px;padding:4px 0;border-top:1px solid var(--line)}
.smimp-cor{width:12px;height:12px;border-radius:2px;border:1px solid var(--line)}
.smimp-n{font-size:12px;color:var(--tx1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smimp-n small{display:block;color:var(--tx3);font-size:11px}
.smimp-av{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--amb)}
.smimp .marca{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--tx1);margin-top:6px}
.smimp .b.on{background:var(--app);border-color:var(--app);color:#fff}
@media (max-width:900px){.smimp{padding:0}.smimp-corpo{grid-template-columns:1fr}.smimp-lado{border-left:0;border-top:1px solid var(--line)}}
.smimp-tab{width:100%;border-collapse:collapse;font-size:12px}.smimp-tab td{padding:6px 8px;border-top:1px solid var(--line);color:var(--tx1)}

/* 1.2: barra do 3D (vistas, camadas, posicionar) e desfazer */
.smv3b{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-2px 0 8px}.smv3b select{font-size:12px;padding:3px 6px}
.smcam3d{position:relative}.smcam3d summary{list-style:none;cursor:pointer}.smcam3d summary::-webkit-details-marker{display:none}
.smcam3d>div{position:absolute;z-index:20;top:calc(100% + 4px);left:0;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 10px;display:grid;gap:4px;min-width:180px}
.smcam3d label{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--tx1)}
#v3c.smponha{cursor:crosshair}
.smdesf{display:inline-flex;gap:4px;align-items:center;margin-left:8px}.smdesf .b:disabled{opacity:.4}
/* 1.2: peça da casa ou do evento, mesa e cabos */
.smlc-orig{font-size:10.5px;padding:1px 4px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--tx3)}
.smlc-orig.smlc-ev{color:#f0a43a;border-color:rgba(240,164,58,.5)}
span.smlc-orig{display:inline-block}
.smcb{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);display:grid;gap:6px}
.smcb-c{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:6px;font-size:12px}
.smcb-c select,.smcb-c input{width:100%}
.smcb-l{display:flex;grid-template-columns:none}
.smcb-r{display:grid;gap:2px}
.smcab{margin-top:12px}
.smcab-t{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}
.smcab-t th{text-align:left;color:var(--tx3);font-weight:500;padding:4px 6px;border-bottom:1px solid var(--line)}
.smcab-t td{padding:4px 6px;border-bottom:1px solid var(--line)}
.smcab-g{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
@media (max-width:700px){.smcab-g{grid-template-columns:1fr}.smcab{overflow-x:auto}}
/* 1.2: aviso do Pro e biblioteca de locais */
.smpro{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.smpro-c{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;max-width:460px;width:100%;display:grid;gap:12px;max-height:calc(100vh - 32px);overflow:auto}
.smpro-c.smbib{max-width:620px}
.smpro-t{font-size:16px;color:var(--tx)}
.smpro-m{margin:0;color:var(--tx2);line-height:1.5}
.smpro-b{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.smpro-b a.b{text-decoration:none}
.smlc-bib{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.smbib-i{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.smbib-i .lbl{display:block}
.smbib-a{display:flex;gap:6px;flex-wrap:wrap}
/* 1.2: movimentos */
.smmov-l{max-width:960px}
.smmov-pro{display:block;margin:0 0 10px;color:var(--amb)}
.smmov-top{gap:8px;flex-wrap:wrap;margin-bottom:8px}
.smmov-nome{font-weight:700;min-width:180px}
.smmov-meio{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px}
.smmov-3d{position:relative;background:#0e0f11;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.smmov-3d canvas{display:block;width:100%;aspect-ratio:16/9;height:auto;cursor:grab}
.smmov-hud{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:4px 8px;border-radius:6px;pointer-events:none}
.smmov-hud:empty{display:none}
.smmov-lado{display:grid;gap:6px;align-content:start;max-height:min(70vh,640px);overflow:auto}
.smmov-rig{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.smmov-tl{margin-top:12px;position:relative}
.smmov-ctl{gap:8px;flex-wrap:wrap;margin-bottom:6px}
.smmov-trilhas{position:relative;user-select:none}
.smmov-reg{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;min-height:26px;border-bottom:1px solid var(--line)}
.smmov-reg>span{font-size:12px;padding-left:8px;color:var(--tx2)}
.smmov-reg.on>span{color:var(--tx);font-weight:700}
.smmov-faixa{position:relative;height:26px;cursor:pointer}
.smmov-escala{position:relative;height:18px;font-size:10px;color:var(--tx3)}
.smmov-escala span{position:absolute;transform:translateX(-50%)}
.smmov-k{position:absolute;top:50%;width:11px;height:11px;margin:-6px 0 0 -6px;background:var(--c);transform:rotate(45deg);border:1px solid rgba(0,0,0,.5);cursor:ew-resize}
.smmov-k.on{outline:2px solid #fff}
.smmov-cursor{position:absolute;top:0;bottom:0;width:2px;background:#f0a43a;pointer-events:none}
.smvid-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.smvid-bar i{display:block;height:100%;width:0;background:var(--grn)}
@media (max-width:900px){.smmov-meio{grid-template-columns:1fr}.smmov-lado{max-height:none}}
.smficha{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;display:grid;gap:6px}
.smficha summary{cursor:pointer;font-weight:600;color:var(--tx);font-size:13px}
.smficha-foto{width:72px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
/* 1.2: link do cliente (só leitura) */
body.sm-leitura #pNew,body.sm-leitura #pDup,body.sm-leitura #pMore,body.sm-leitura #smLocalUI,body.sm-leitura #smLogoBtn,body.sm-leitura #smLinkBtn,body.sm-leitura #smDesfazer,body.sm-leitura #smV3barra,body.sm-leitura .smcb select,body.sm-leitura .smcb input{display:none!important}
body.sm-leitura.sm-sem-setup .subt a[href="#romaneio"],body.sm-leitura.sm-sem-setup #v-romaneio,body.sm-leitura.sm-sem-setup [data-pdf]{display:none!important}
body.sm-leitura #map [data-drag]{pointer-events:none}
body.sm-leitura #insp input,body.sm-leitura #insp select,body.sm-leitura #insp button:not([data-close]),body.sm-leitura #fltB input,body.sm-leitura #fltB select,body.sm-leitura #v3side input,body.sm-leitura #v3side select,body.sm-leitura #v3side button,body.sm-leitura #smMovLado input,body.sm-leitura #smMovLado select,body.sm-leitura #smMovLado button,body.sm-leitura .smv3b select{pointer-events:none;opacity:.7}
/* 1.2 (105b): tema claro. A planta, o 3D e os monitores continuam escuros (como num monitor de controle). */
:root[data-tema="claro"]{--bg:#f1f2f4;--panel:#ffffff;--head:#e7e9ed;--field:#ffffff;--line:#d3d7dd;--tx:#14161a;--tx1:#2a2d33;--tx2:#4a505a;--tx3:#6a717b;--appt:#5b4bd6;color-scheme:light}
:root[data-tema="claro"] .b{background:linear-gradient(#ffffff,#eceef2);color:var(--tx);box-shadow:inset 0 1px 0 #ffffff,0 1px 0 #0000001a,0 0 0 1px #00000024}
:root[data-tema="claro"] .b.on{background:linear-gradient(#4a7fd6,#3a69b8);color:#fff}
:root[data-tema="claro"] .b.go{background:linear-gradient(#27c072,#1f9e5d);color:#fff}
:root[data-tema="claro"] .b.danger{background:linear-gradient(#ea3f3a,#c92a26);color:#fff}
:root[data-tema="claro"] .radar,:root[data-tema="claro"] #map{background:#121417}
:root[data-tema="claro"] .radar .lbl,:root[data-tema="claro"] .radar span{color:#a8adb4}
:root[data-tema="claro"] .smpro{background:rgba(20,22,26,.35)}
:root[data-tema="claro"] .radar,:root[data-tema="claro"] .v3,:root[data-tema="claro"] .mvi{--bg:#17191c;--panel:#1f2226;--head:#121417;--field:#0e0f11;--line:#2e3137;--tx:#ecebe6;--tx1:#d6d5d0;--tx2:#a8adb4;--tx3:#8d939b;--appt:#c9c0ff;color:var(--tx);color-scheme:dark}
:root[data-tema="claro"] .radar .b,:root[data-tema="claro"] .v3 .b{background:linear-gradient(#30343a,#2a2d32);color:var(--tx);box-shadow:none}
:root[data-tema="claro"] .radar .b.on,:root[data-tema="claro"] .v3 .b.on{background:linear-gradient(#4a7fd6,#3a69b8);color:#fff}
.smmd{max-width:720px;width:calc(100vw - 32px);max-height:86vh;overflow:auto}
.smmd-it{border:1px solid var(--line);border-radius:4px;padding:8px;margin-top:8px;background:var(--field)}
.smmd-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:6px 0}
.smmd-g .smcb-c input,.smmd-g .smcb-c select{width:100%}
.smmd-g .smcb-c{grid-template-columns:1fr;gap:2px}
/* 105b: apresentação do link do cliente */
.smapres{position:fixed;inset:0;z-index:60;background:#0e0f11;display:grid;grid-template-rows:auto 1fr auto;color:#ecebe6}
.smapres canvas{width:100%;height:100%;display:block;min-height:0;touch-action:none}
.smapres-topo,.smapres-base{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#121417;border-color:#2e3137;border-style:solid;border-width:0 0 1px}
.smapres-base{border-width:1px 0 0;flex-wrap:wrap}
.smapres-topo b{display:block;font-size:16px}.smapres-topo span{font-size:12px;color:#a8adb4}
.smapres-logo{max-height:40px;max-width:180px;object-fit:contain}
.smapres-leg{display:flex;gap:10px;align-items:stretch;flex:1 1 320px;min-width:0}
.smapres-leg i{width:6px;border-radius:2px;background:#8b7cf6}
.smapres-leg b{display:block;font-size:16px}.smapres-leg span{font-size:13px;color:#c9ccd1}
.smapres-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.smapres-nav select{max-width:260px}
.smapres .b{background:linear-gradient(#30343a,#2a2d32);color:#ecebe6}
.smapres .b.go{background:linear-gradient(#27c072,#1f9e5d);color:#fff}
.smapres-voltar{position:fixed;right:16px;bottom:44px;z-index:40}
body:not(.sm-leitura) .smapres-voltar{display:none}
@media (max-width:640px){.smapres-topo .b{font-size:12px;padding:4px 8px}.smapres-nav{width:100%}.smapres-nav select{flex:1}}
/* ===================================================================== 105b: interface nova (layout A, cara grafite) */
:root:not([data-tema="claro"]) body.sm-ui2{--bg:#141519;--panel:#1c1e23;--head:#0e0f12;--field:#23262c;--line:#2c2f36;--tx:#ecebe6;--tx1:#d9d8d3;--tx2:#a8adb4;--tx3:#8d939b;--mon:#0e0f12;--app2:#2a2350;--appt:#c9c0ff;background:var(--bg)}
body.sm-ui2 .shell{grid-template-columns:64px minmax(0,1fr)}
body.sm-ui2 .snav{padding:0;gap:0;overflow:visible;z-index:30}
body.sm-ui2 .snav>:not(.smrail){display:none!important}
.smrail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;height:100%;box-sizing:border-box}
.smrail-logo{display:flex;margin-bottom:10px}.smrail-logo svg{width:34px!important;height:34px!important}
.smrail-b{width:54px;height:54px;border:0;border-radius:12px;background:transparent;color:var(--tx2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:500 10.5px Archivo,system-ui,sans-serif;cursor:pointer}
.smrail-b:hover{background:var(--field);color:var(--tx)}
.smrail-b[aria-expanded="true"]{background:var(--app2);color:var(--appt)}
.smrail-b:focus-visible,.smtopo a:focus-visible,.smfly .b:focus-visible{outline:2px solid var(--app);outline-offset:2px}
.smrail-sp{flex:1}
.smguarda{display:none}
.smfly{position:fixed;z-index:60;width:290px;max-height:calc(100vh - 16px);overflow:auto;box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 14px 40px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:8px;color:var(--tx)}
.smfly-t{font-size:13px}
.smfly-g{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.smfly-g .b,.smfly-l .b{min-height:38px;justify-content:flex-start;text-align:left;white-space:normal}
.smfly-l{display:flex;flex-direction:column;gap:6px}
.smfly .psw select{width:100%}
.smfly .smconta{padding:0;border:0;margin:0}
.smfly .lbl{margin:0}
.smponha-av{position:fixed;left:50%;top:64px;transform:translateX(-50%);z-index:55;background:var(--tx);color:var(--bg);border-radius:10px;padding:8px 10px 8px 14px;font-size:13px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.smponha-av .b{background:var(--bg);color:var(--tx)}
#map.smponha{cursor:crosshair}
.smtopo{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap}
.smtopo-p{display:flex;align-items:baseline;gap:8px;min-width:0}.smtopo-p b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.smtopo-abas{display:flex;gap:2px;background:var(--panel);border-radius:99px;padding:3px;margin:0 auto;flex-wrap:wrap}
.smtopo-abas a{padding:6px 14px;border-radius:99px;color:var(--tx2);text-decoration:none;font-size:13px}
.smtopo-abas a:hover{color:var(--tx)}
.smtopo-abas a.on{background:var(--app);color:#fff;font-weight:600}
.smtopo-a{display:flex;gap:6px;align-items:center}
.smentregar{position:relative}
.smentregar-b{background:var(--tx)!important;color:var(--bg)!important;font-weight:600;box-shadow:none!important}
.smentregar-m{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px;box-shadow:0 12px 32px rgba(0,0,0,.4);display:flex;flex-direction:column}
.smentregar-m button{border:0;background:transparent;color:var(--tx);text-align:left;padding:9px 12px;border-radius:7px;font:13px Archivo,system-ui,sans-serif;cursor:pointer}
.smentregar-m button:hover,.smentregar-m button:focus-visible{background:var(--field);outline:none}
body.sm-ui2 .subt{display:none}
body.sm-ui2 .mainc main{padding-top:12px}
body.sm-ui2 .radar{border-radius:12px;height:calc(100vh - 330px);min-height:420px}
body.sm-ui2 .insp{bottom:auto;max-height:calc(100% - 24px);width:320px}
body.sm-ui2 .insp .card,body.sm-ui2 .insp .hint{border-radius:12px;background:rgba(28,30,35,.96)}
body.sm-ui2 .v3wrap{display:block;position:relative}
body.sm-ui2 .v3{border-radius:12px;aspect-ratio:auto;height:calc(100vh - 360px);min-height:380px}
body.sm-ui2 .v3side{position:absolute;top:12px;right:12px;width:300px;max-height:calc(100% - 24px);overflow:auto;background:rgba(28,30,35,.95);border-radius:12px;z-index:3;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.smgav-t{display:flex;align-items:center;gap:10px;margin-top:12px}.smgav-t b{font-size:13px}.smgav-t .lbl{margin:0}
body.sm-ui2 .mv{grid-auto-columns:minmax(190px,1fr);gap:8px;padding-top:6px}
body.sm-ui2 .mvi{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}
body.sm-ui2 .mvi.sel{border:2px solid var(--cc)}
body.sm-ui2 .mvi .t{border-radius:99px;padding:1px 8px}
body.sm-ui2 .status{background:var(--head);border-top:1px solid var(--line)}
:root[data-tema="claro"] body.sm-ui2 .insp .card,:root[data-tema="claro"] body.sm-ui2 .insp .hint{background:rgba(31,34,38,.94)}
:root[data-tema="claro"] .smfly{box-shadow:0 14px 40px rgba(20,22,26,.18)}
body.sm-ui2.sm-leitura .smrail-b[data-rail="camera"],body.sm-ui2.sm-leitura .smrail-b[data-rail="banda"],body.sm-ui2.sm-leitura .smrail-b[data-rail="local"],body.sm-ui2.sm-leitura .smrail-b[data-rail="mesa"],body.sm-ui2.sm-leitura .smtopo-a{display:none}
@media (max-width:720px){
body.sm-ui2 .shell{grid-template-columns:minmax(0,1fr);padding-bottom:64px}
body.sm-ui2 .snav{position:fixed;left:0;right:0;bottom:0;top:auto;height:64px;width:auto;border-right:0;border-top:1px solid var(--line)}
.smrail{flex-direction:row;justify-content:space-around;padding:4px;height:64px}
.smrail-logo,.smrail-sp{display:none}
.smrail-b{width:48px;height:52px}
.smtopo-abas{order:3;margin:0;width:100%;justify-content:space-between}
body.sm-ui2 .insp{position:static;width:auto;max-height:none}
body.sm-ui2 .v3side{position:static;width:auto;max-height:none;margin-top:10px}
}
.smfly[hidden],.smentregar-m[hidden],.smponha-av[hidden]{display:none!important}
body.sm-ui2 #v-3d>.row [data-pdf]{display:none}
body.sm-ui2 #v3hint{font-size:11.5px;color:var(--tx3)}
@media (max-width:720px){.smtopo-abas{flex-wrap:nowrap;overflow-x:auto;border-radius:12px}.smtopo-abas a{white-space:nowrap}.smtopo-p b{max-width:150px}}
body.sm-ui2.sm-leitura .smrail-b[data-rail="projetos"],body.sm-ui2.sm-leitura .mv>.mvadd,body.sm-ui2.sm-leitura .mv>button:not(.mvi){display:none}

/* 105c: no tema claro, o painel flutuante do 3D fica claro (o texto já é escuro) */
:root[data-tema="claro"] body.sm-ui2 .v3side{background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(0,0,0,.18)}
