/* OmniGraph · camada de design premium (carregada por último em todas as páginas).
   Sistema: índigo noturno + latão institucional. Tipos: Bricolage Grotesque (títulos e
   números) e Instrument Sans (texto). O botão "Animações" no menu lateral reduz o movimento (classe html.og-reduced). */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/bricolage-grotesque-latin-opsz-normal.woff2) format('woff2-variations'),url(fonts/bricolage-grotesque-latin-opsz-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(fonts/instrument-sans-latin-wght-normal.woff2) format('woff2-variations'),url(fonts/instrument-sans-latin-wght-normal.woff2) format('woff2')}

:root{
  --og-ink:#0b0f2a; --og-ink-2:#0f1438; --og-surface:#141a45; --og-raised:#1b2358; --og-line:#2a3474; --og-line-soft:#222a63;
  --og-text:#eef0fb; --og-muted:#9ba4d2; --og-faint:#6c76ab;
  --og-brass:#e9b949; --og-brass-2:#ffd98a; --og-azure:#7c96ff; --og-azure-2:#a9b8ff;
  --og-green:#38d39f; --og-red:#ff5c7a; --og-amber:#ffb547; --og-violet:#b08cff;
  --og-display:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif;
  --og-body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --og-ease:cubic-bezier(.22,1,.36,1); --og-spring:cubic-bezier(.34,1.56,.64,1);
  --og-r-xl:26px; --og-r-lg:18px; --og-r-md:12px;
  color-scheme:dark;
}

/* ---------- base ---------- */
html,html body{background:var(--og-ink)!important;color:var(--og-text)}
html body{font-family:var(--og-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html body :where(div,p,span,a,button,input,select,textarea,label,small,li,td,th,dt,dd,em,b,strong,time,summary,option,section,article,aside,header,footer,nav,main,h4,h5,h6){font-family:var(--og-body)!important}
html body :where(h1,h2,h3){font-family:var(--og-display)!important;letter-spacing:-.018em;font-optical-sizing:auto}
html body h1{font-weight:750;letter-spacing:-.028em}
html body :where(code,pre,kbd){font-family:ui-monospace,'SF Mono',Menlo,monospace!important}
::selection{background:#e9b94955;color:#fff}
html body :focus-visible{outline:2px solid var(--og-brass)!important;outline-offset:2px!important;border-radius:6px}
html{scrollbar-color:#36408a transparent;scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2c3577;border-radius:10px;border:2px solid transparent;background-clip:padding-box}
@media (hover:hover){::-webkit-scrollbar-thumb:hover{background:#4250a8;background-clip:padding-box}}

/* atmosfera: aurora lenta + grade fina que acompanha o ponteiro */
html body::before{content:"";position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;
  background:
    radial-gradient(38vmax 30vmax at 18% 12%,#3b3fb855,transparent 70%),
    radial-gradient(34vmax 26vmax at 86% 8%,#e9b94924,transparent 70%),
    radial-gradient(42vmax 34vmax at 70% 92%,#5a2fa83a,transparent 70%),
    radial-gradient(30vmax 30vmax at 8% 88%,#1f5fd033,transparent 70%);
}
html body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
@keyframes og-aurora{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(3vmax,-2vmax,0) rotate(6deg)}100%{transform:translate3d(-2vmax,2vmax,0) rotate(-4deg)}}

/* casca transparente para a atmosfera aparecer */
html body .shell,html body .main,html body .workspace,html body main.content,html body .stage{background:transparent!important}

/* ---------- trilho lateral ---------- */
html body .side{background:linear-gradient(180deg,#121846,#0d1236)!important;border-right:1px solid var(--og-line-soft)!important;box-shadow:20px 0 60px #05071a66;view-transition-name:og-rail}
.og-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 18px;text-decoration:none;color:var(--og-text)!important}
.og-mark{width:40px;height:40px;flex:none;filter:drop-shadow(0 0 12px #e9b94955)}.og-mark .og-orbit{transform-origin:24px 24px;animation:og-orbit 14s linear infinite}.og-mark .og-node{transform-origin:24px 24px;animation:og-orbit 7s linear infinite}
@keyframes og-orbit{to{rotate:360deg}}
.og-brand img{width:44px;height:44px;object-fit:contain;border-radius:14px;background:radial-gradient(circle,#2a3a9a55,transparent 70%);filter:drop-shadow(0 0 14px #7c96ff55);animation:og-breathe 6s ease-in-out infinite}
.og-brand span{font:750 21px/1 var(--og-display)!important;letter-spacing:-.03em}
.og-brand span i{font-style:normal;background:linear-gradient(100deg,var(--og-brass),var(--og-brass-2) 40%,var(--og-azure-2) 70%,var(--og-brass));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:og-sheen 7s linear infinite}
@keyframes og-sheen{to{background-position:-220% 0}}
@keyframes og-breathe{50%{filter:drop-shadow(0 0 22px #e9b94966);transform:scale(1.04)}}
html body .side .nav,html body aside.og-rail nav{position:relative;display:grid;gap:4px!important;margin-top:6px!important}
html body .side .nav a,html body aside.og-rail nav a{position:relative;z-index:1;min-height:46px!important;padding:0 14px!important;display:flex!important;align-items:center;gap:12px!important;
  border:0!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important;color:var(--og-muted)!important;font-size:13.5px!important;font-weight:550!important;
  text-decoration:none!important;transform:none!important;transition:color .35s var(--og-ease)!important}
html body .side .nav a svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--og-spring)}
html body .side .nav a i{font-style:normal}
html body .side .nav a::before,html body .side .nav a::after{display:none!important}
html body .og-sections .nav a{min-height:40px!important;font-size:13px!important}html body .og-sections .nav{gap:2px!important}
@media (hover:hover){html body .side .nav a:hover{color:var(--og-text)!important}}
@media (hover:hover){html body .side .nav a:hover svg{transform:scale(1.14) rotate(-4deg)}}
html body .side .nav a.active{color:var(--og-brass-2)!important}
.og-pill{position:absolute;left:0;right:0;top:0;height:46px;border-radius:14px;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,#e9b9491f,#7c96ff12);border:1px solid #e9b94938;box-shadow:0 8px 30px #e9b94914,inset 0 1px 0 #ffffff10;
  transition:transform .55s var(--og-spring),height .4s var(--og-ease),opacity .3s}
.og-pill::before{content:"";position:absolute;left:-1px;top:11px;bottom:11px;width:3px;border-radius:3px;background:var(--og-brass);box-shadow:0 0 14px var(--og-brass)}
.og-pill.ghost{background:#ffffff08;border-color:#ffffff12;box-shadow:none}.og-pill.ghost::before{opacity:0}
html body .side .side-note,html body .side .side-foot,html body .side>p{font-size:11.5px!important;line-height:1.5!important;color:var(--og-faint)!important;border:1px solid var(--og-line-soft)!important;background:#0e1440aa!important;border-radius:14px!important;padding:12px 13px!important}
html body .side .og-status{border-radius:14px!important;background:#0e1440cc!important;border-color:var(--og-line)!important;font-size:11px!important}

/* ---------- barra superior ---------- */
html body .top,html body .topbar{background:linear-gradient(180deg,#0f1438fa,#0d1233f2)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid transparent!important;border-image:linear-gradient(90deg,transparent,#e9b94966 20%,#7c96ff55 60%,transparent) 1!important;view-transition-name:og-top}

/* ---------- superfícies ---------- */
.og-surface{transition:border-color .4s var(--og-ease),box-shadow .5s var(--og-ease),transform .5s var(--og-ease)}
@media (hover:hover){.og-surface.og-lift:hover{border-color:#e9b94955!important;box-shadow:0 18px 50px -18px #000c,0 0 0 1px #e9b94922!important;transform:translateY(-3px)}}
#og-glow{position:fixed;z-index:3;pointer-events:none;opacity:0;transition:opacity .35s;mix-blend-mode:screen;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),#9fb1ff24,transparent 50%);
  box-shadow:inset 0 0 0 1px #e9b9491f}

/* entrada coreografada */
.og-reveal{opacity:0;transform:translate3d(0,40px,0) scale(.96)}
.og-in{animation:og-rise 1.15s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--og-d,0ms)}
@keyframes og-rise{0%{opacity:0;transform:translate3d(0,40px,0) scale(.96)}60%{opacity:1}100%{opacity:1;transform:none}}
.og-pop{animation:og-pop .6s var(--og-ease) both;animation-delay:var(--og-d,0ms)}
@keyframes og-pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* títulos: varredura de máscara */
.og-title-in{animation:og-wipe 1.1s var(--og-ease) both}
@keyframes og-wipe{from{clip-path:inset(0 100% 0 0);transform:translateX(-10px);opacity:.3}to{clip-path:inset(0 -10% 0 0);transform:none;opacity:1}}

/* números que mudaram de verdade */
.og-changed{animation:og-flash 1.6s var(--og-ease)}
@keyframes og-flash{0%{color:var(--og-brass-2);text-shadow:0 0 18px #e9b949aa}100%{text-shadow:none}}

/* botões e controles */
html body button,html body .btn,html body a.button{transition:transform .35s var(--og-spring),box-shadow .35s var(--og-ease),background-color .3s,border-color .3s,color .3s}
html body button:not(:disabled):active{transform:scale(.97)}
.og-ripple{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ffffff55,#ffffff00 70%);transform:translate(-50%,-50%) scale(0);animation:og-ripple .7s var(--og-ease) forwards}
@keyframes og-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
html body :where(input,select,textarea){transition:border-color .3s,box-shadow .3s,background-color .3s}
html body :where(input,select,textarea):focus{border-color:var(--og-brass)!important;box-shadow:0 0 0 4px #e9b94922!important;outline:none}
html body :where(.active,[aria-selected="true"]):is(button){box-shadow:0 6px 20px -6px #e9b94966}

/* barra de atividade real (requisições em andamento) */
#og-activity{position:fixed;left:0;top:0;height:2px;width:100%;z-index:10000;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);opacity:0;
  background:linear-gradient(90deg,var(--og-azure),var(--og-brass),var(--og-brass-2));box-shadow:0 0 12px var(--og-brass)}
#og-activity.on{opacity:1;animation:og-load 2.4s var(--og-ease) forwards}
#og-activity.done{opacity:0;transform:scaleX(1);transition:transform .25s,opacity .5s .25s}
@keyframes og-load{from{transform:scaleX(.04)}to{transform:scaleX(.82)}}

/* toast de evidência nova */
#og-toast{position:fixed;left:50%;bottom:26px;z-index:10001;transform:translate(-50%,40px);opacity:0;pointer-events:none;
  padding:12px 18px 12px 14px;border-radius:16px;display:flex;gap:10px;align-items:center;font-size:13px;color:var(--og-text);
  background:linear-gradient(135deg,#1c2459f2,#141a45f2);border:1px solid #e9b94955;box-shadow:0 20px 60px #000a,0 0 30px #e9b94922;backdrop-filter:blur(14px);
  transition:transform .6s var(--og-spring),opacity .4s}
#og-toast.show{transform:translate(-50%,0);opacity:1}
#og-toast i{width:9px;height:9px;border-radius:50%;background:var(--og-brass);box-shadow:0 0 0 0 #e9b949aa;animation:og-ping 1.6s infinite}
@keyframes og-ping{70%{box-shadow:0 0 0 10px #e9b94900}100%{box-shadow:0 0 0 0 #e9b94900}}

/* mapas: municípios com evidência respiram em latão */
html body svg path.og-geo{transform-box:fill-box;transform-origin:center}
html body svg .has-evidence,html body svg path.og-hot{filter:brightness(1.18)}
@keyframes og-glow{50%{filter:brightness(1.35) drop-shadow(0 0 6px #e9b94988)}}
.og-new-city{animation:og-newcity 2.4s var(--og-ease) 2!important}
@keyframes og-newcity{0%,100%{filter:none}30%{filter:brightness(2) drop-shadow(0 0 14px #ffd98a)}}

/* esqueleto de carregamento para estados vazios */
html body .empty{position:relative;overflow:hidden;border-radius:var(--og-r-lg)}
html body .empty::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff0d 50%,transparent 70%);background-size:200% 100%;animation:og-shimmer 1.8s linear infinite;pointer-events:none}
@keyframes og-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* selo de sessão (auth-guard) no novo sistema */
html body .auth-mini-bar{background:linear-gradient(135deg,#1a2155ee,#11173ff0)!important;border-color:#e9b94944!important;box-shadow:0 14px 40px #0009!important}
html body .auth-mini-bar .admin-badge{color:var(--og-brass-2)!important;border-color:#e9b94966!important;background:#e9b9491a!important}

/* transições entre páginas (Chrome/Edge/Safari recentes) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:og-vt-out .28s var(--og-ease) both}
::view-transition-new(root){animation:og-vt-in .55s var(--og-ease) both}
@keyframes og-vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes og-vt-in{from{opacity:0;transform:translateY(14px)}}
html.og-leaving body>*:not(.side):not(#og-activity){transition:opacity .22s,filter .22s;opacity:.0;filter:blur(4px)}

html.og-reduced body::before{animation:none}
html.og-reduced .og-reveal{opacity:1;transform:none;filter:none}
html.og-reduced *,html.og-reduced *::before,html.og-reduced *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media (max-width:720px){.og-brand{padding-bottom:6px}.og-brand span{font-size:17px!important}.og-pill{display:none}}

.og-brand-sm{padding:0!important;border:0!important;background:none!important;min-width:0!important;margin-right:6px;flex:none}.og-brand-sm .og-mark{width:30px;height:30px}
@media print{.og-reveal,.og-in,.og-pop{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}html body::before,html body::after,#og-glow,#og-activity,#og-toast{display:none!important}}

/* ===== rodada 4 ===== */
/* logo oficial no trilho */
.og-logo{position:relative;display:grid;place-items:center;width:100%;padding:8px 0 4px}
.og-logo img{position:relative;z-index:1;width:min(150px,80%);height:auto;filter:drop-shadow(0 0 18px #4f7dff66);animation:og-float 6s ease-in-out infinite}
.og-logo-ring{position:absolute;left:50%;top:44%;width:128px;height:128px;margin:-64px 0 0 -64px;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 60%,#ffd98a 75%,#7c96ff 88%,transparent 100%);
  -webkit-mask:radial-gradient(circle,transparent 60px,#000 61px,#000 63px,transparent 64px);mask:radial-gradient(circle,transparent 60px,#000 61px,#000 63px,transparent 64px);
  animation:og-spin 5s linear infinite;opacity:.9}
@keyframes og-spin{to{transform:rotate(360deg)}}
@keyframes og-float{50%{transform:translateY(-5px)}}
html body .side .og-brand{justify-content:center;padding:4px 0 14px!important}
.og-emblem{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 10px #4f7dff88);animation:og-float 5s ease-in-out infinite}
.og-motion-toggle{margin-top:10px;display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:12px;border:1px solid #2a3474;background:#0e1440aa;color:#9ba4d2;font-size:11.5px;cursor:pointer}
.og-motion-toggle i{width:26px;height:14px;border-radius:9px;background:#e9b949;position:relative;flex:none}
.og-motion-toggle i::after{content:"";position:absolute;right:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#1a1405;transition:right .3s}
html.og-reduced .og-motion-toggle i{background:#39448a}html.og-reduced .og-motion-toggle i::after{right:14px;background:#9ba4d2}
@media (hover:hover){.og-motion-toggle:hover{color:#eef0fb;border-color:#e9b94966}}

/* constelação */
#og-net{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:.85}

/* mapas vivos */
svg.og-map path.og-geo{transition:opacity .4s,filter .35s,transform .45s cubic-bezier(.34,1.56,.64,1)}
@media (hover:hover){svg.og-map:hover path.og-geo:not(:hover){opacity:.62}}
@media (hover:hover){svg.og-map path.og-geo:hover{filter:brightness(1.55) drop-shadow(0 0 8px #ffd98acc)!important;transform:scale(1.035)}}
g.og-fx{pointer-events:none}
g.og-fx .og-arc{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:4 9;opacity:.85;animation:og-flow 1.6s linear infinite}
@keyframes og-flow{to{stroke-dashoffset:-26}}
g.og-fx .og-ring{fill:none;stroke:#ffd98a;stroke-width:1.6;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:og-ringp 2.6s cubic-bezier(.2,.6,.3,1) infinite both}
@keyframes og-ringp{from{transform:scale(.4);opacity:.95}to{transform:scale(4.2);opacity:0}}
g.og-fx .og-ring.tap{animation:none}
g.og-fx .og-sweep{animation:og-sweep 6.5s cubic-bezier(.45,.05,.55,.95) 1.6s infinite}
@keyframes og-sweep{from{transform:translateX(0)}to{transform:translateX(var(--og-sw,1500px))}}
g.og-fx .og-ring.tap{stroke:#a9b8ff;stroke-width:2}
g.og-fx .og-beacon{fill:#ffd98a;transform-box:fill-box;transform-origin:center}
g.og-fx .og-sweep{mix-blend-mode:screen}

/* cartões com inclinação */
.og-tilting{transition:transform .12s ease-out!important;will-change:transform}
.person,.podium-card,.og-tilt,.lb-row{transition:transform .6s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .4s}

/* ===== prestação de contas ===== */
.ogc-backdrop{position:fixed;inset:0;z-index:9000;background:#05071ad9;opacity:0;pointer-events:none;transition:opacity .35s}
.ogc-backdrop.show{opacity:1;pointer-events:auto}
.ogc-panel{position:absolute;right:0;top:0;bottom:0;width:min(720px,100vw);background:linear-gradient(170deg,#161d4bfa,#0d1236fa);border-left:1px solid #e9b94944;
  box-shadow:-40px 0 120px #000a;transform:translateX(104%);transition:transform .7s cubic-bezier(.16,1,.3,1);display:flex}
.ogc-backdrop.show .ogc-panel{transform:none}
.ogc-body{overflow:auto;padding:28px clamp(18px,3vw,36px) 48px;width:100%}
.ogc-body.ogc-busy{opacity:.6;transition:opacity .3s}
.ogc-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.ogc-kicker{margin:0;color:#ffd98a;font-size:13px;font-weight:600}
.ogc-head h2{margin:6px 0 6px;font-size:clamp(26px,3vw,36px)}
.ogc-sub{margin:0;color:#aab2dc;font-size:14.5px;line-height:1.5}
.ogc-x{width:42px;height:42px;border-radius:14px;border:1px solid #39448a;background:#141a45;color:#eef0fb;font-size:24px;cursor:pointer;flex:none}
@media (hover:hover){.ogc-x:hover{border-color:#ffd98a;transform:rotate(90deg)}}
.ogc-live{display:flex;align-items:center;gap:10px;margin:18px 0 6px;padding:10px 12px;border-radius:14px;border:1px solid #2a3474;background:#0e1440;font-size:13px;color:#aab2dc}
.ogc-live i{width:9px;height:9px;border-radius:50%;background:#38d39f;box-shadow:0 0 0 0 #38d39f88;animation:og-ping 1.8s infinite;flex:none}
.ogc-live span{flex:1}
.ogc-refresh{border:1px solid #e9b94966;background:#e9b9491a;color:#ffd98a;border-radius:10px;padding:7px 11px;cursor:pointer;font-weight:600}
.ogc-warn{padding:10px 12px;border-radius:12px;background:#3a1420;border:1px solid #ff5c7a66;color:#ffc2cc;font-size:13.5px}
.ogc-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.ogc-kpis>div{padding:14px;border-radius:16px;border:1px solid #2a3474;background:linear-gradient(160deg,#1b2358,#121845);animation:ogc-in .7s cubic-bezier(.16,1,.3,1) both}
.ogc-kpis>div:nth-child(2){animation-delay:.08s}.ogc-kpis>div:nth-child(3){animation-delay:.16s}
.ogc-kpis small{display:block;color:#9ba4d2;font-size:12px}
.ogc-kpis b{display:block;margin-top:6px;font:700 clamp(19px,2.2vw,26px)/1.1 'Bricolage Grotesque',system-ui!important;letter-spacing:-.02em}
.ogc-sec{margin-top:26px}
.ogc-sec h3{margin:0 0 12px;font-size:18px}
.ogc-chart{width:100%;height:190px;display:block}
.ogc-chart rect{fill:url(#ogcGrad);transform-box:fill-box;transform-origin:50% 100%;animation:ogc-grow .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 45ms)}
@media (hover:hover){.ogc-chart g:hover rect{filter:brightness(1.3) drop-shadow(0 0 8px #ffd98a)}}
.ogc-chart text{fill:#8f99cb;font-size:10px;text-anchor:middle}
@keyframes ogc-grow{from{transform:scaleY(0)}}
.ogc-hrow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #222a63;font-size:13.5px;animation:ogc-in .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 40ms)}
.ogc-hrow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dfe3f7}
.ogc-hrow b{font-variant-numeric:tabular-nums}
.ogc-track{height:8px;border-radius:8px;background:#0e1440;overflow:hidden}
.ogc-track i{display:block;height:100%;width:var(--w);border-radius:8px;background:linear-gradient(90deg,#7c96ff,#ffd98a);animation:ogc-bar 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 50ms + .2s)}
@keyframes ogc-bar{from{width:0}}
@keyframes ogc-in{from{opacity:0;transform:translateY(12px)}}
.ogc-list{display:grid;gap:6px}
.ogc-item{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid #222a63;background:#10153a;color:#eef0fb;text-decoration:none;font-size:13.5px;animation:ogc-in .5s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 25ms)}
@media (hover:hover){a.ogc-item:hover{border-color:#e9b94966;transform:translateX(4px)}}
.ogc-item time{color:#9ba4d2;font-size:12.5px}
.ogc-item span b{display:block;font-weight:600}
.ogc-item span small{color:#8f99cb}
.ogc-item strong{font-variant-numeric:tabular-nums}
.ogc-src{margin:10px 0 0;color:#8f99cb;font-size:12.5px}.ogc-src a{color:#a9b8ff}
.ogc-empty{color:#9ba4d2;font-size:14px;line-height:1.5}
.ogc-links{display:flex;flex-wrap:wrap;gap:8px}
.ogc-links a{padding:9px 12px;border-radius:12px;border:1px solid #2f3a80;background:#121845;color:#dfe3f7;text-decoration:none;font-size:13.5px}
@media (hover:hover){.ogc-links a:hover{border-color:#ffd98a;color:#fff}}
.ogc-sk{height:84px;border-radius:16px;background:linear-gradient(100deg,#141a45 30%,#1e2660 50%,#141a45 70%);background-size:200% 100%;animation:og-shimmer 1.4s linear infinite}
.ogc-sk.tall{height:180px;margin-top:14px}
.og-contas-btn{display:inline-flex;align-items:center;gap:7px}
@media (max-width:640px){.ogc-kpis{grid-template-columns:1fr}.ogc-hrow{grid-template-columns:1fr auto}.ogc-track{grid-column:1/-1}.ogc-item{grid-template-columns:1fr auto}.ogc-item time{grid-column:1/-1}}
/* overflow-x:hidden em html/body quebrava o menu fixo (sticky); clip corta sem criar rolagem */
html,html body{overflow-x:clip!important;overflow-y:visible!important}
html body svg.og-map path.active{filter:brightness(1.25)}

/* desempenho: nada anima com a aba oculta ou com o mapa fora da tela */
html.og-hidden *,html.og-hidden *::before,html.og-hidden *::after,svg.og-off *{animation-play-state:paused!important}
.ogc-h4{margin:18px 0 8px;font-size:14px;color:#c9cff0}
.ogc-note{display:grid;gap:4px;margin:16px 0;padding:14px 16px;border-radius:16px;border:1px solid #39448a;background:#121845}
.ogc-note b{color:#ffd98a}.ogc-note span{color:#c9cff0;font-size:14px;line-height:1.5}
.ogc-loading{position:relative;padding-left:22px}
.ogc-loading::before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid #ffd98a55;border-top-color:#ffd98a;animation:lg-rot .8s linear infinite}
@keyframes lg-rot{to{transform:rotate(360deg)}}

/* minimapa: bairros e local verificado */
.og-bairros{margin-top:12px}.og-bairros small{color:#9ba4d2;font-size:12px}
.og-bairros div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.og-bairros span{display:inline-flex;gap:6px;align-items:center;padding:3px 9px;border-radius:999px;border:1px solid #e9b94955;background:#e9b94914;font-size:12px}
.og-bairros span b{color:#ffd98a}
.og-addloc{margin-top:14px;width:100%;padding:10px 12px;border-radius:12px;border:1px dashed #e9b94988;background:#e9b9490f;color:#ffd98a;font-weight:600;cursor:pointer}
@media (hover:hover){.og-addloc:hover{background:#e9b9491f}}
.og-modal{position:fixed;inset:0;z-index:9100;display:grid;place-items:center;padding:16px;background:#05071ad9;opacity:0;transition:opacity .3s}
.og-modal.show{opacity:1}
.og-modal-card{width:min(520px,100%);display:grid;gap:12px;padding:24px;border-radius:24px;border:1px solid #e9b94955;background:linear-gradient(170deg,#1a2154,#10153a);box-shadow:0 40px 100px #000a;transform:translateY(16px) scale(.98);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.og-modal.show .og-modal-card{transform:none}
.og-modal-card h3{margin:0;font-size:22px}.og-modal-card p{margin:0;color:#aab2dc;font-size:14px;line-height:1.5}
.og-modal-card label{display:grid;gap:6px;font-size:13px;color:#c9cff0}
.og-modal-card input,.og-modal-card select{height:44px;border-radius:12px;border:1px solid #333e86;background:#0e1440;color:#eef0fb;padding:0 12px;font-size:15px}
.og-modal-err{color:#ff8da0!important}
.og-modal-actions{display:flex;justify-content:flex-end;gap:8px}
.og-modal-actions button{height:44px;padding:0 18px;border-radius:12px;border:0;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#ffd98a,#e9b949);color:#1a1405}
.og-modal-actions .ghost{background:#141a45;color:#eef0fb;border:1px solid #39448a}
/* layout mais limpo: remove faixas decorativas que repetiam informação */
html body .signal-rail,html body .hero .flow{display:none!important}

/* Xadrez: os faróis do motor substituem as três animações por marcador (eram 60 animações infinitas) */
html body .pressure-orbit{display:none}
html body .pressure-core{animation:none!important}

/* ===== celular: trilho lateral vira barra superior compacta e barras de topo quebram linha ===== */
@media (max-width:760px){
  html body .shell{display:block!important;grid-template-columns:none!important}
  html body aside.side,html body .shell>aside,html body aside.og-rail{position:sticky!important;top:0!important;z-index:60!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;padding:8px 10px!important;margin:0!important;overflow-x:auto!important;overflow-y:hidden!important;
    border:0!important;border-bottom:1px solid #222a63!important;border-radius:0!important;background:#0b0f2af2!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px -12px #000!important;scrollbar-width:none;grid-template-columns:none!important}
  html body aside.side::-webkit-scrollbar,html body .shell>aside::-webkit-scrollbar{display:none}
  html body aside.side>*:not(.og-brand):not(.brand):not(img):not(nav):not(.nav),
  html body .shell>aside>*:not(.og-brand):not(.brand):not(img):not(nav):not(.nav){display:none!important}
  html body aside .og-brand{flex:none;padding:0 6px 0 0!important;gap:8px}
  html body aside .og-brand img,html body aside .og-mark{width:30px!important;height:30px!important}
  html body aside .og-brand span{font-size:15px!important}
  html body aside img.brand,html body aside .brand,html body aside>img,html body aside .brand img{flex:none!important;width:auto!important;height:34px!important;max-width:120px;margin:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:none!important;object-fit:contain!important;box-shadow:none!important}
  html body aside nav,html body aside .nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:2px!important;margin:0!important;flex:none}
  html body aside nav a,html body aside .nav a,html body aside>a{flex:none!important;white-space:nowrap!important;min-height:36px!important;padding:0 11px!important;font-size:12.5px!important;gap:6px!important;
    display:inline-flex!important;align-items:center!important;grid-template-columns:none!important;text-align:left!important;border-radius:10px!important}
  html body aside nav a span,html body aside .nav a span{display:inline!important}
  html body aside nav a svg{width:16px!important;height:16px!important}
  html body aside nav a.active,html body aside .nav a.active{background:#e9b9491f!important;color:var(--og-brass-2,#ffd98a)!important}
  html body .og-pill{display:none!important}
  /* barras de topo das páginas do painel */
  html body header.top,html body .topbar{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;flex-wrap:wrap!important;gap:8px 10px!important;padding:10px 12px!important;margin-left:0!important;margin-right:0!important}
  html body header.top>*{min-width:0}
  html body header.top h2,html body header.top strong{font-size:15px!important}
  html body header.top select,html body header.top .global-search,html body header.top .global-search input{width:100%!important;max-width:none!important;flex:1 1 100%}
  html body header.top .top-actions{margin-left:0!important;flex-wrap:wrap;gap:8px}
  html body header.top .refresh,html body header.top button{min-height:36px;padding:0 12px!important;white-space:nowrap}
  html body .main{padding-left:0;padding-right:0}
}
@media (max-width:760px){html body .auth-mini-bar{right:10px!important;bottom:10px!important;left:auto!important;transform:scale(.86);transform-origin:bottom right}}
@media (max-width:760px){html body:has(#focusPanel) aside.side,html body:has(#focusPanel) aside.og-rail{display:flex!important;width:auto!important;position:sticky!important;top:0!important}}

/* r49 · toque (celular e tablet): clique imediato e sem "dois toques" */
a,button,[role="button"],[role="tab"],[data-materia],[data-contas-id],[data-uf],[data-k],label,summary,select{touch-action:manipulation}
[data-contas-id],[data-materia],[data-uf],[data-k],summary{cursor:pointer}
@media (hover:none){a,button,[role="button"]{-webkit-tap-highlight-color:rgba(255,217,138,.18)}}/* camadas decorativas nunca recebem toque/clique (o halo do logo cobria o seletor de estado no celular) */
.og-logo-ring,#og-glow,.og-ripple,#og-net,.og-pill,.lp-bg,.lp-bg *,.rl-bg,.rl-shade,.bv-fx{pointer-events:none}
