/* Painel de operação (usBIM.maint · usBIM.IoT · usBIM.geotwin) — simulação ilustrativa */
.ops{--o-bg:#0D0926;--o-bg2:#151036;--o-ink:#F3F1FA;--o-mut:#A9A3C8;--o-line:rgba(183,168,255,.22);--o-teal:#3FE0CF;--o-yel:#FFDD00;--o-hot:#FF5FB0;--o-vio:#8C7BFF;
  background:var(--o-bg);color:var(--o-ink);border:1px solid var(--o-line);border-radius:6px;overflow:hidden;font-family:var(--f-sans,system-ui,sans-serif);
  box-shadow:0 30px 80px -40px rgba(18,12,46,.75);position:relative}
.ops *{box-sizing:border-box}
.ops-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--o-line);background:linear-gradient(180deg,#171040,#0F0A2C)}
.ops-tabs{display:flex;gap:4px;flex-wrap:wrap}
.ops-tab{font-family:var(--f-mono,Inter,sans-serif);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--o-mut);background:transparent;border:1px solid transparent;border-radius:3px;padding:8px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.ops-tab small{font-weight:500;text-transform:none;letter-spacing:0;font-size:11px;opacity:.75}
.ops-tab:hover{color:var(--o-ink)}
.ops-tab[aria-selected="true"]{color:var(--o-ink);border-color:var(--o-line);background:rgba(140,123,255,.14)}
.ops-tab i{width:7px;height:7px;border-radius:50%;background:var(--o-teal);display:inline-block}
.ops-tab[data-t="iot"] i{background:var(--o-yel)}
.ops-tab[data-t="geo"] i{background:var(--o-vio)}
.ops-live{font-family:var(--f-mono,Inter,sans-serif);font-size:11px;color:var(--o-mut);display:flex;align-items:center;gap:7px;letter-spacing:.04em}
.ops-live b{width:8px;height:8px;border-radius:50%;background:var(--o-teal);box-shadow:0 0 0 0 rgba(63,224,207,.6);animation:opsPulse 1.8s infinite}
@keyframes opsPulse{0%{box-shadow:0 0 0 0 rgba(63,224,207,.55)}70%{box-shadow:0 0 0 9px rgba(63,224,207,0)}100%{box-shadow:0 0 0 0 rgba(63,224,207,0)}}
.ops-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);min-height:420px}
.ops-stage{position:relative;border-right:1px solid var(--o-line);background:
  linear-gradient(rgba(140,123,255,.06) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(140,123,255,.06) 1px,transparent 1px) 0 0/24px 24px,var(--o-bg)}
.ops-stage svg{display:block;width:100%;height:100%;min-height:340px}
.ops-crumb{position:absolute;left:12px;top:10px;font-family:var(--f-mono,Inter,sans-serif);font-size:11px;color:var(--o-mut);letter-spacing:.04em;background:rgba(13,9,38,.8);padding:4px 8px;border-radius:3px;border:1px solid var(--o-line);pointer-events:none}
.ops-legend{position:absolute;left:12px;bottom:10px;display:flex;gap:12px;flex-wrap:wrap;font-family:var(--f-mono,Inter,sans-serif);font-size:10.5px;color:var(--o-mut);background:rgba(13,9,38,.8);padding:5px 9px;border-radius:3px;border:1px solid var(--o-line)}
.ops-legend span{display:inline-flex;align-items:center;gap:5px}
.ops-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.ops-side{padding:16px;display:flex;flex-direction:column;gap:14px;background:var(--o-bg2);min-width:0}
.ops-h{font-family:var(--f-mono,Inter,sans-serif);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--o-teal);margin:0;font-weight:600}
.ops-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ops-kpi{border:1px solid var(--o-line);border-radius:4px;padding:8px;background:rgba(13,9,38,.5)}
.ops-kpi b{display:block;font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.ops-kpi span{display:block;font-size:11px;color:var(--o-mut);line-height:1.3;margin-top:2px}
.ops-card{border:1px solid var(--o-line);border-radius:4px;background:rgba(13,9,38,.55);padding:12px;min-height:150px}
.ops-card h4{margin:0 0 2px;font-size:15.5px;font-weight:600;line-height:1.25}
.ops-card .sub{font-size:12px;color:var(--o-mut);margin:0 0 10px}
.ops-card dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:0;font-size:12.5px}
.ops-card dt{color:var(--o-mut)}
.ops-card dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.ops-empty{font-size:13px;color:var(--o-mut);margin:0}
.ops-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono,Inter,sans-serif);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;padding:3px 7px;border-radius:999px;border:1px solid currentColor}
.ops-pill.ok{color:var(--o-teal)} .ops-pill.prev{color:var(--o-yel)} .ops-pill.os{color:var(--o-hot)}
.ops-btn{margin-top:12px;font-family:var(--f-mono,Inter,sans-serif);font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;background:var(--o-yel);color:#16122A;border:0;border-radius:3px;padding:9px 12px;cursor:pointer}
.ops-btn.ghost{background:transparent;color:var(--o-ink);border:1px solid var(--o-line);margin-left:6px}
.ops-btn:disabled{opacity:.45;cursor:default}
.ops-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:12px;max-height:132px;overflow:auto}
.ops-log li{display:grid;grid-template-columns:42px 1fr;gap:8px;color:var(--o-mut);animation:opsIn .35s ease}
.ops-log li time{font-family:var(--f-mono,Inter,sans-serif);font-size:10.5px;color:var(--o-vio)}
.ops-log li b{color:var(--o-ink);font-weight:500}
@keyframes opsIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.ops-sens{display:grid;gap:6px}
.ops-sen{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;border:1px solid var(--o-line);border-radius:4px;padding:7px 9px;background:rgba(13,9,38,.5)}
.ops-sen span{font-size:12px;color:var(--o-mut)}
.ops-sen b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.ops-sen svg{grid-column:1/-1;width:100%;height:26px;display:block}
.ops-sen.alert{border-color:var(--o-hot)} .ops-sen.alert b{color:var(--o-hot)}
.ops-sw{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;border:1px solid var(--o-line);border-radius:4px;padding:8px 10px;background:rgba(13,9,38,.5)}
.ops-sw button{width:42px;height:22px;border-radius:999px;border:1px solid var(--o-line);background:#2a2350;position:relative;cursor:pointer;flex:none}
.ops-sw button::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--o-mut);transition:left .2s,background .2s}
.ops-sw button[aria-pressed="true"]{background:rgba(255,221,0,.25)}
.ops-sw button[aria-pressed="true"]::after{left:22px;background:var(--o-yel)}
.ops-alert{font-size:12.5px;border:1px solid var(--o-hot);color:var(--o-ink);background:rgba(255,95,176,.1);border-radius:4px;padding:8px 10px;display:none}
.ops-alert.on{display:block;animation:opsIn .35s ease}
.ops-layers{display:flex;flex-wrap:wrap;gap:6px}
.ops-layers label{font-size:12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--o-line);border-radius:999px;padding:4px 10px;cursor:pointer;background:rgba(13,9,38,.5)}
.ops-layers input{accent-color:#8C7BFF;margin:0}
.ops-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--o-line);font-size:11px;color:var(--o-mut);font-family:var(--f-mono,Inter,sans-serif);letter-spacing:.02em}
/* SVG */
.ops svg text{font-family:var(--f-mono,Inter,sans-serif);fill:#A9A3C8;font-size:10px;letter-spacing:.03em}
.ops .wall{fill:rgba(140,123,255,.05);stroke:rgba(183,168,255,.55);stroke-width:1.4}
.ops .room{fill:rgba(140,123,255,.04);stroke:rgba(183,168,255,.35);stroke-width:1;transition:fill .8s}
.ops .room.sel{stroke:#FFDD00;stroke-width:1.6}
.ops .room.click{cursor:pointer}
.ops .glow{fill:rgba(255,221,0,.0);transition:fill .5s;pointer-events:none}
.ops .glow.on{fill:rgba(255,221,0,.16)}
.ops .pin{cursor:pointer;outline:none}
.ops .pin .halo{opacity:.0;transition:opacity .2s}
.ops .pin:hover .halo,.ops .pin:focus .halo,.ops .pin.sel .halo{opacity:.35}
.ops .pin .pulse{transform-box:fill-box;transform-origin:center;animation:opsRing 2s infinite}
@keyframes opsRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.6);opacity:0}}
.ops .pin text{fill:#F3F1FA;font-size:9.5px}
.ops .river{fill:none;stroke:rgba(63,224,207,.22);stroke-width:18;stroke-linecap:round}
.ops .blk{fill:rgba(140,123,255,.07);stroke:rgba(183,168,255,.12)}
.ops .ave{stroke:rgba(183,168,255,.18);stroke-width:3;fill:none}
.ops .metro{stroke:#3FE0CF;stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ops .metro.flow{stroke:#F3F1FA;stroke-width:1.5;stroke-dasharray:3 14;animation:opsFlow 1.4s linear infinite}
@keyframes opsFlow{to{stroke-dashoffset:-34}}
.ops .hwy{stroke:#FFDD00;stroke-width:3;fill:none;stroke-dasharray:10 5;opacity:.7}
.ops .campus{fill:rgba(140,123,255,.13);stroke:#8C7BFF;stroke-dasharray:4 3}
.ops [hidden]{display:none}
@media (max-width:860px){.ops-body{grid-template-columns:1fr}.ops-stage{border-right:0;border-bottom:1px solid var(--o-line)}.ops-stage svg{min-height:260px}}
@media (prefers-reduced-motion:reduce){.ops .pin .pulse,.ops .metro.flow,.ops-live b{animation:none}}
/* bloco de destaque (página inicial e páginas internas) */
.opsx{display:grid;gap:clamp(18px,3vw,28px)}
.opsx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.opsx-cards a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;border:1px solid var(--rule);background:var(--card);border-radius:4px;padding:16px;transition:border-color .2s,transform .2s}
.opsx-cards a:hover{border-color:var(--violet);transform:translateY(-2px)}
.opsx-cards img{height:30px;width:auto;align-self:flex-start}
.opsx-cards b{font-size:16px}
.opsx-cards p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.45}
.opsx-cards em{font-style:normal;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);font-weight:600}
[data-theme="dark"] .opsx-cards img.lw{filter:none}
.opsx-proof{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--muted)}
.opsx-proof li{display:flex;gap:8px;align-items:baseline}
.opsx-proof li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);flex:none;transform:translateY(-2px)}
.opsx-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ops svg text{pointer-events:none}
.opsx-cards .lg{background:#fff;border:1px solid var(--rule);border-radius:3px;padding:7px 10px;align-self:flex-start;display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center;max-width:100%}
.opsx-cards .lg img{height:24px;width:auto;max-width:100%;display:block}
@media (max-width:600px){
  .ops-tabs{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none}
  .ops-tab{white-space:nowrap;padding:8px 9px}
  .ops-tab small{display:none}
  .ops-live{display:none}
  .ops svg text{font-size:15px}
  .ops .pin text{font-size:15px}
  .ops-legend{font-size:10px;gap:8px}
  .ops-crumb{font-size:10px}
}
.prod-hero .ph-logos.many img{height:24px}.prod-hero .ph-logos.many span{padding:8px 12px}
