/* assets/css/charge-control-tokens.css */
/* ==========================================================================
   PROTEC Charge Control · Design tokens (CSS custom properties)
   Fonte: Figma TYk7kn4mE6XTU3inklMXxu (coleções brand / theme / density / spacing)
   Exportado em 2026-10-04 por leitura direta das variáveis (valores resolvidos).
   Não editar à mão: alterar no Figma e reexportar.

   Uso (atributos no <html>):
     <html data-theme="dark|light" data-brand="charge-control|maisvolt|cliente-demo"
           data-density="comfortable|compact">
   Padrões (sem atributo): dark · charge-control · comfortable.
   Fontes: IBM Plex Sans/Mono e Plus Jakarta Sans, com a mesma hierarquia nos dois temas.
   Este arquivo não contém segredos, URLs nem dados de clientes.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Escalas fixas (coleção spacing · modo único)
   -------------------------------------------------------------------------- */
:root {
  /* espaçamento — só estes valores existem; não criar 6, 10, 14 */
  --cc-space-0: 0px;
  --cc-space-2: 2px;
  --cc-space-4: 4px;
  --cc-space-8: 8px;
  --cc-space-12: 12px;
  --cc-space-16: 16px;
  --cc-space-20: 20px;
  --cc-space-24: 24px;
  --cc-space-32: 32px;
  --cc-space-40: 40px;
  --cc-space-48: 48px;
  --cc-space-64: 64px;
  --cc-space-80: 80px;
  --cc-space-96: 96px;

  /* raios */
  --cc-radius-xs: 4px;
  --cc-radius-sm: 6px;
  --cc-radius-md: 8px;
  --cc-radius-lg: 12px;
  --cc-radius-pill: 999px;

  /* traços */
  --cc-stroke-hairline: 1px;
  --cc-stroke-strong: 1.5px;
  --cc-stroke-focus: 2px;

  /* ícones */
  --cc-icon-16: 16px;
  --cc-icon-20: 20px;
  --cc-icon-24: 24px;
  --cc-icon-32: 32px;

  /* tipografia */
  --cc-font-size-11: 11px;
  --cc-font-size-12: 12px;
  --cc-font-size-13: 13px;
  --cc-font-size-14: 14px;
  --cc-font-size-16: 16px;
  --cc-font-size-18: 18px;
  --cc-font-size-20: 20px;
  --cc-font-size-24: 24px;
  --cc-font-size-32: 32px;
  --cc-font-size-40: 40px;
  --cc-font-size-56: 56px;
  --cc-font-size-72: 72px;
  --cc-font-sans: "IBM Plex Sans", system-ui, sans-serif;
  --cc-font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --cc-font-serif: "Instrument Serif", Georgia, serif;
  --cc-font-endorse: "Plus Jakarta Sans", system-ui, sans-serif;

  /* movimento */
  --cc-motion-instant: 80ms;
  --cc-motion-fast: 140ms;
  --cc-motion-base: 220ms;
  --cc-motion-slow: 360ms;
  --cc-motion-emphasis: 520ms;
  --cc-motion-pulse: 2400ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --cc-motion-instant: 0ms;
    --cc-motion-fast: 0ms;
    --cc-motion-base: 0ms;
    --cc-motion-slow: 0ms;
    --cc-motion-emphasis: 0ms;
    --cc-motion-pulse: 0ms;
  }
}

/* --------------------------------------------------------------------------
   2. Densidade (coleção density · Confortável | Compacto)
   -------------------------------------------------------------------------- */
:root,
[data-density="comfortable"] {
  --cc-density-row-height: 48px;
  --cc-density-cell-pad-x: 16px;
  --cc-density-cell-pad-y: 12px;
  --cc-density-control-height: 40px;
  --cc-density-control-pad-x: 16px;
}

[data-density="compact"] {
  --cc-density-row-height: 36px;
  --cc-density-cell-pad-x: 12px;
  --cc-density-cell-pad-y: 8px;
  --cc-density-control-height: 32px;
  --cc-density-control-pad-x: 12px;
}

/* --------------------------------------------------------------------------
   3. Marca (coleção brand · Charge Control | Maisvolt | Cliente Demo)
   --cc-brand-src-* são fontes internas; componentes usam os tokens do tema
   (--cc-brand-fg, --cc-brand-hover, --cc-brand-data, --cc-data-revenue,
   --cc-focus-ring, --cc-brand-ink) e --cc-brand-primary / --cc-brand-on-primary.
   Maisvolt só em ambiente da própria operação (não usar em material de venda).
   -------------------------------------------------------------------------- */
:root,
[data-brand="charge-control"] {
  --cc-brand-name: "Charge Control";
  --cc-brand-primary: #0063ff;
  --cc-brand-on-primary: #ffffff;
  --cc-brand-src-hover-dark: #1a75ff;
  --cc-brand-src-hover-light: #0052d6;
  --cc-brand-src-fg-dark: #3d8bff;
  --cc-brand-src-fg-light: #0052d6;
  --cc-brand-src-data-dark: #018dfb;
  --cc-brand-src-data-light: #0063ff;
  --cc-brand-src-ink-light: #13161b;
}

[data-brand="maisvolt"] {
  --cc-brand-name: "Maisvolt";
  --cc-brand-primary: #0353a6;
  --cc-brand-on-primary: #ffffff;
  --cc-brand-src-hover-dark: #0a62bf;
  --cc-brand-src-hover-light: #022b68;
  --cc-brand-src-fg-dark: #3fa0e8;
  --cc-brand-src-fg-light: #0353a6;
  --cc-brand-src-data-dark: #00b0eb;
  --cc-brand-src-data-light: #0353a6;
  --cc-brand-src-ink-light: #022b68;
}

[data-brand="cliente-demo"] {
  --cc-brand-name: "Cliente Demo";
  --cc-brand-primary: #3d4757;
  --cc-brand-on-primary: #ffffff;
  --cc-brand-src-hover-dark: #4b5668;
  --cc-brand-src-hover-light: #2c3440;
  --cc-brand-src-fg-dark: #aeb8c8;
  --cc-brand-src-fg-light: #3d4757;
  --cc-brand-src-data-dark: #aeb8c8;
  --cc-brand-src-data-light: #3d4757;
  --cc-brand-src-ink-light: #13161b;
}

/* --------------------------------------------------------------------------
   4. Tema (coleção theme · Dark · Control Room | Light · Editorial)
   -------------------------------------------------------------------------- */
:root,
[data-theme="dark"] {
  color-scheme: dark;

  --cc-bg-canvas: #040814;
  --cc-surface-1: #0a1020;
  --cc-surface-2: #101829;
  --cc-surface-3: #172136;
  --cc-surface-hover: #1f2b44;

  --cc-border-subtle: #ffffff0f;
  --cc-border-default: #ffffff1a;
  --cc-border-strong: #ffffff29;

  --cc-text-primary: #e9eef5;
  --cc-text-secondary: #9ba6b7;
  --cc-text-tertiary: #6a7586;
  --cc-text-disabled: #475061;
  --cc-icon-primary: #e9eef5;
  --cc-icon-secondary: #9ba6b7;
  --cc-icon-tertiary: #6a7586;

  --cc-status-success-fg: #3fc98a;
  --cc-status-success-bg: #3fc98a24;
  --cc-status-success-border: #3fc98a;
  --cc-status-warning-fg: #f2b544;
  --cc-status-warning-bg: #f2b54424;
  --cc-status-warning-border: #f2b544;
  --cc-status-critical-fg: #f07171;
  --cc-status-critical-bg: #f0717124;
  --cc-status-critical-border: #f07171;
  --cc-status-info-fg: #6fa8ff;
  --cc-status-info-bg: #6fa8ff24;
  --cc-status-info-border: #6fa8ff;

  --cc-data-energy: #1ad9b2;
  --cc-data-cost: #8a93a3;
  --cc-data-margin: #3fc98a;
  --cc-data-negative: #f07171;
  --cc-data-pending: #6a7586;
  --cc-data-cat-1: #6e9bff;
  --cc-data-cat-2: #b58cff;
  --cc-data-cat-3: #ff8fb1;
  --cc-data-cat-4: #9ed36a;
  --cc-data-cat-5: #7fd1ff;
  --cc-data-cat-6: #d9a27a;

  --cc-overlay-scrim: #00000066;

  --cc-font-display: var(--cc-font-sans);
  --cc-font-display-weight: 600; /* Figma: "SemiBold" */
  --cc-radius-control: 6px;
  --cc-radius-card: 8px;
}

[data-theme="light"] {
  color-scheme: light;

  --cc-bg-canvas: #f6f4ef;
  --cc-surface-1: #ffffff;
  --cc-surface-2: #f0ede6;
  --cc-surface-3: #e8e4db;
  --cc-surface-hover: #f0ede6;

  --cc-border-subtle: #ece8e0;
  --cc-border-default: #e0dbd1;
  --cc-border-strong: #cfc8bb;

  --cc-text-primary: #13161b;
  --cc-text-secondary: #4f5763;
  --cc-text-tertiary: #858c97;
  --cc-text-disabled: #b3b8bf;
  --cc-icon-primary: #13161b;
  --cc-icon-secondary: #4f5763;
  --cc-icon-tertiary: #858c97;

  --cc-status-success-fg: #1e7a4c;
  --cc-status-success-bg: #e6f4ec;
  --cc-status-success-border: #1e7a4c;
  --cc-status-warning-fg: #8a5a00;
  --cc-status-warning-bg: #fbf0d9;
  --cc-status-warning-border: #8a5a00;
  --cc-status-critical-fg: #b4232c;
  --cc-status-critical-bg: #fbe7e7;
  --cc-status-critical-border: #b4232c;
  --cc-status-info-fg: #1f4fb8;
  --cc-status-info-bg: #e7eefb;
  --cc-status-info-border: #1f4fb8;

  --cc-data-energy: #0a7f6a;
  --cc-data-cost: #646c7a;
  --cc-data-margin: #1e7a4c;
  --cc-data-negative: #b4232c;
  --cc-data-pending: #858c97;
  --cc-data-cat-1: #2f5fd0;
  --cc-data-cat-2: #7a4fd1;
  --cc-data-cat-3: #c2457a;
  --cc-data-cat-4: #4f8a1f;
  --cc-data-cat-5: #1b7fb8;
  --cc-data-cat-6: #9a5b2e;

  --cc-overlay-scrim: #00000066;

  --cc-font-display: var(--cc-font-endorse);
  --cc-font-display-weight: 600;
  --cc-radius-control: 8px;
  --cc-radius-card: 12px;
}

/* --------------------------------------------------------------------------
   5. Tokens de marca dependentes do tema
   Reavaliados também em elementos com [data-brand] aninhado (ex.: preview
   white-label dentro do painel), para que a troca de marca funcione localmente.
   -------------------------------------------------------------------------- */
:root,
[data-theme="dark"],
[data-theme="dark"] [data-brand] {
  --cc-brand-fg: var(--cc-brand-src-fg-dark);
  --cc-brand-hover: var(--cc-brand-src-hover-dark);
  --cc-brand-data: var(--cc-brand-src-data-dark);
  --cc-data-revenue: var(--cc-brand-src-data-dark);
  --cc-focus-ring: var(--cc-brand-src-fg-dark);
  --cc-brand-ink: #e9eef5;
}

[data-theme="light"],
[data-theme="light"] [data-brand] {
  --cc-brand-fg: var(--cc-brand-src-fg-light);
  --cc-brand-hover: var(--cc-brand-src-hover-light);
  --cc-brand-data: var(--cc-brand-src-data-light);
  --cc-data-revenue: var(--cc-brand-src-data-light);
  --cc-focus-ring: var(--cc-brand-src-fg-light);
  --cc-brand-ink: var(--cc-brand-src-ink-light);
}

/* --------------------------------------------------------------------------
   6. Padrão de "dado pendente" (hachura) — aproximação em CSS do componente
   Data/Hatch (Figma 17:54); ângulo, passo e opacidade devem ser conferidos no Figma.
   Use em células/KPIs cujo valor depende de informação ainda não confirmada.
   Nunca representar pendente como zero.
   -------------------------------------------------------------------------- */
.cc-hatch {
  background-image: repeating-linear-gradient(
    135deg,
    color-mix(in srgb, var(--cc-data-pending) 28%, transparent) 0 1px,
    transparent 1px 6px
  );
}


/* assets/css/pcc-icons.css */
/* ==========================================================================
   PCC Icons FX — efeitos azuis dos ícones do PROTEC Charge Control
   AUD-X41 · 04/10/2026 · depende de charge-control-tokens.css (tokens --cc-*)
   Os ícones continuam sendo os do conjunto próprio (24 px, traço 1,5).
   pcc-icons.js prepara cada <svg> (pathLength=100 + camada de "corrente").

   Estados (classe no elemento que envolve o <svg>):
     .cc-ic                 repouso (neutro)
     .cc-ic--flow           energia passando — SÓ com sessão de recarga real em andamento
     .cc-ic--live           ao vivo — SÓ quando o feed em tempo real está conectado
     .cc-ic--active         item selecionado (navegação, aba, filtro)
     .cc-ic-hover (no pai)  botão/link que "desenha" o ícone em azul no hover
   Ícones de status (alerta, falha, sucesso) mantêm as cores de status; não usar azul neles.
   ========================================================================== */

.cc-ic {
  --cc-ic-color: var(--cc-icon-secondary);
  --cc-ic-accent: var(--cc-brand-fg);
  --cc-ic-glow: color-mix(in srgb, var(--cc-brand-fg) 55%, transparent);
  --cc-ic-halo: color-mix(in srgb, var(--cc-brand-fg) 22%, transparent);
  position: relative;
  display: inline-grid;
  place-items: center;
  color: var(--cc-ic-color);
  line-height: 0;
}
[data-theme="light"] .cc-ic {
  --cc-ic-glow: color-mix(in srgb, var(--cc-brand-fg) 28%, transparent);
  --cc-ic-halo: color-mix(in srgb, var(--cc-brand-fg) 12%, transparent);
}
.cc-ic svg { overflow: visible; }
.cc-ic .cc-ic-base { stroke: currentColor; transition: stroke var(--cc-motion-base) ease; }
.cc-ic .cc-ic-cur {
  stroke: var(--cc-ic-accent);
  stroke-dasharray: 14 36;
  stroke-dashoffset: 100;
  opacity: 0;
  fill: none;
  filter: drop-shadow(0 0 2.5px var(--cc-ic-glow));
}

/* 1 · Energia passando: dois pulsos percorrem o traço sem parar */
.cc-ic--flow .cc-ic-cur { opacity: 1; animation: cc-ic-cur 2.4s linear infinite; }
@keyframes cc-ic-cur { to { stroke-dashoffset: 0; } }

/* 2 · Ativo: traço azul + halo suave */
.cc-ic--active { color: var(--cc-ic-accent); }
.cc-ic--active::before {
  content: ""; position: absolute; inset: -8px; border-radius: 50%; z-index: -1;
  background: radial-gradient(closest-side, var(--cc-ic-halo), transparent);
}
.cc-ic--active svg { filter: drop-shadow(0 0 3px var(--cc-ic-glow)); }

/* 3 · Ao vivo: onda no ritmo de --cc-motion-pulse */
.cc-ic--live { color: var(--cc-ic-accent); }
.cc-ic--live::after {
  content: ""; position: absolute; inset: -4px; border-radius: 50%;
  border: 1px solid var(--cc-ic-accent); opacity: 0;
  animation: cc-ic-ring var(--cc-motion-pulse) cubic-bezier(.2, .6, .3, 1) infinite;
}
@keyframes cc-ic-ring { 0% { transform: scale(.55); opacity: .7; } 100% { transform: scale(1.35); opacity: 0; } }

/* 4 · Hover: o ícone se desenha em azul uma vez */
@media (hover: hover) {
  .cc-ic-hover:hover .cc-ic { color: var(--cc-ic-accent); }
  .cc-ic-hover:hover .cc-ic .cc-ic-base { animation: cc-ic-draw .7s cubic-bezier(.3, .7, .2, 1); }
  .cc-ic-hover:hover .cc-ic svg { filter: drop-shadow(0 0 3px var(--cc-ic-glow)); }
}
.cc-ic-hover:focus-visible .cc-ic { color: var(--cc-ic-accent); }
@keyframes cc-ic-draw {
  from { stroke-dasharray: 100; stroke-dashoffset: 100; }
  to   { stroke-dasharray: 100; stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .cc-ic--flow .cc-ic-cur, .cc-ic--live::after { animation: none; }
  .cc-ic--flow .cc-ic-cur { stroke-dasharray: none; opacity: .9; }
  .cc-ic-hover:hover .cc-ic .cc-ic-base { animation: none; }
}



:root{
  --bg:#ffffff;
  --bg2:#eef5fb;
  --panel:#ffffff;
  --card:#f8fbff;
  --line:#c8d8ea;
  --text:#0f2740;
  --muted:#5f7f9e;
  --green:#10b981;
  --blue:#1677ff;
  --gold:#58a6ff;
  --danger:#ef4444;
  --purple:#6d8dff;
  --cyan:#22b8cf;
}
*{box-sizing:border-box}
body{margin:0;background:
 radial-gradient(circle at 15% 0%, rgba(47,140,255,.08), transparent 24%),
 radial-gradient(circle at 90% 10%, rgba(115,212,255,.06), transparent 20%),
 linear-gradient(180deg,#ffffff,#eef5fb);
 color:#0f2740;font-family:var(--cc-font-sans)}
button,input{font:inherit}
.wrap{width:min(1500px,96vw);margin:26px auto;padding:16px}
.top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.eyebrow{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-weight:800}
h1{margin:6px 0 8px;font-size:38px;line-height:1;color:#103159;letter-spacing:.01em}
.sub{color:var(--muted);max-width:880px;line-height:1.6;padding-left:16px;border-left:4px solid var(--blue)}
.brand{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.partnerTag{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.12em}
.logoWrap{display:flex;align-items:center;justify-content:center;height:84px;padding:10px 20px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg, #ffffff, #f3f8ff);box-shadow:0 12px 28px rgba(16,39,64,.10)}
.protecReal{height:54px;display:block}
.maisvoltReal{display:block;max-height:140px;max-width:165px;width:auto;height:auto;object-fit:contain}
.brand .logoWrap{width:250px;height:148px;padding:8px 14px}
.brandPartner{display:flex;flex-direction:column;align-items:center;gap:6px}
.brandPartner .partnerTag{font-size:11px}
@media(max-width:760px){.brand{justify-content:center}.brand .logoWrap{width:min(250px,42vw);height:130px}.maisvoltReal{max-height:122px;max-width:min(150px,38vw)}}
/* legacy PROTEC rebuilt styles kept below */
.protecLogo{display:flex;align-items:center;gap:12px}
.protecWord{font-size:46px;line-height:1;font-weight:900;letter-spacing:.08em;color:#ffffff;text-shadow:0 1px 0 rgba(255,255,255,.08)}
.protecReg{font-size:18px;color:#fff;align-self:flex-start;margin-left:2px}
.lockSvg{width:58px;height:58px;display:block}
.maisvolt-logo{display:flex;align-items:center;gap:10px;padding:0 6px;font-weight:900;letter-spacing:.03em;color:#ecf8ff;font-size:30px}
.maisvolt-mark{width:38px;height:38px;border-radius:12px;position:relative;background:linear-gradient(135deg,#79f2c8,#42d89b);box-shadow:0 0 0 2px rgba(66,216,155,.18), 0 10px 24px rgba(66,216,155,.16)}
.maisvolt-mark:before{content:"";position:absolute;left:14px;top:6px;width:10px;height:23px;background:#082019;clip-path:polygon(35% 0,100% 0,62% 46%,100% 46%,25% 100%,42% 58%,0 58%)}
.maisvolt-text span:nth-child(1){color:#f5fbff}.maisvolt-text span:nth-child(2){color:#79f2c8}
.nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.nav button{border:1px solid var(--line);border-radius:14px;padding:11px 14px;background:#ffffff;color:#18446f;font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.02em;box-shadow:0 4px 14px rgba(22,119,255,.06)}
.nav button.active{background:linear-gradient(135deg, #1677ff, #5db5ff);border-color:#5db5ff;color:#ffffff}
.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:1.15fr .85fr}.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel,.card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg, #ffffff, #f7fbff);backdrop-filter:blur(10px);box-shadow:0 14px 34px rgba(16,39,64,.08)}
.panel{padding:16px}.card{padding:14px;background:rgba(20,34,52,.88)}
.small{font-size:12px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.big{font-size:29px;font-weight:900;margin-top:7px}.section{font-size:20px;font-weight:900;margin:5px 0 12px}
.muted{color:var(--muted)} .hidden{display:none!important}
.collapsiblePanel{padding:0;overflow:hidden}
.collapsiblePanel>summary,.inlineHistory>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#17406a;font-weight:900}
.collapsiblePanel>summary{padding:16px 18px;min-height:70px}
.collapsiblePanel>summary::-webkit-details-marker,.inlineHistory>summary::-webkit-details-marker{display:none}
.collapsiblePanel>summary::after,.inlineHistory>summary::after{content:'Abrir';flex:none;border:1px solid #b8cee4;border-radius:999px;padding:7px 11px;background:#fff;color:#24577f;font-size:12px;letter-spacing:.02em}
.collapsiblePanel[open]>summary::after,.inlineHistory[open]>summary::after{content:'Fechar'}
.collapsiblePanel[open]>summary{border-bottom:1px solid #d7e3ed;background:#f4f9ff}
.collapsibleTitle{display:flex;flex-direction:column;gap:4px;min-width:0}
.collapsibleTitle .small{font-size:11px}
.collapsibleTitle strong{font-size:18px;line-height:1.25}
.collapsibleBody{padding:16px 18px 18px}
.inlineHistory{margin-top:16px;border-top:1px solid #d7e3ed;padding-top:12px}
.inlineHistory>summary{min-height:42px}
.inlineHistoryBody{padding-top:12px}
.station{border:1px solid var(--line);border-radius:18px;background:#f8fbff;padding:14px;margin-top:10px;cursor:pointer}
.station:hover,.clickable:hover,.card.clickable:hover{border-color:#4c6788;transform:translateY(-1px)}
.bar{height:9px;border-radius:99px;background:#0a111a;border:1px solid #26384d;overflow:hidden;margin-top:8px}
.fill{height:100%}.f1{width:72%;background:linear-gradient(90deg,#35d07f,#75f1c7)}.f2{width:48%;background:linear-gradient(90deg,#4aa8ff,#8bd0ff)}.f3{width:91%;background:linear-gradient(90deg,#f1a94b,#ffd889)}
.clubHero{background:radial-gradient(circle at 80% 10%, rgba(115,212,255,.10), transparent 30%), radial-gradient(circle at 15% 15%, rgba(47,140,255,.12), transparent 26%), linear-gradient(135deg,#f7fbff,#eef6ff);border:1px solid rgba(98,176,255,.32)}
.clubBrand{font-size:31px;font-weight:950;letter-spacing:.02em;margin-top:4px}.clubBrand span{color:var(--gold)}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.tier{border:1px solid var(--line);border-radius:13px;padding:12px;background:#111d2d;cursor:pointer}.tier.active{outline:2px solid var(--gold)}
.table{display:grid;gap:8px}.row{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr .8fr;gap:10px;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fbfdff;font-size:13px;align-items:center}
.head{background:#eaf3ff;color:#17406a;font-weight:800}
.btn{border:1px solid var(--line);background:#ffffff;color:#18446f;padding:11px 13px;border-radius:14px;cursor:pointer;font-weight:800}
.btn.primary{background:linear-gradient(135deg,#1677ff,#58a6ff);color:#ffffff;border-color:#58a6ff}
.btn.warn{background:rgba(22,119,255,.08);border-color:rgba(22,119,255,.28);color:#1677ff}
.btn.danger{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.25);color:#c53030}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.search{width:100%;background:#ffffff;color:#103159;border:1px solid var(--line);border-radius:14px;padding:12px 13px}
.modal{position:fixed;inset:0;background:rgba(3,8,14,.76);display:flex;align-items:center;justify-content:center;padding:20px;z-index:30}
.modalBox{width:min(680px,96vw);background:#ffffff;border:1px solid var(--line);border-radius:22px;padding:18px;color:#103159}
.modalHead{display:flex;justify-content:space-between;gap:12px;align-items:center}
.close{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer}
.toast{position:fixed;right:18px;bottom:18px;background:#1677ff;border:1px solid #58a6ff;color:#ffffff;border-radius:14px;padding:12px 14px;z-index:40;box-shadow:0 12px 28px rgba(22,119,255,.24)}
.metric{font-size:13px;line-height:1.65}
.timeline{display:grid;gap:8px}.timeline div{border-left:3px solid var(--cyan);padding:6px 10px;background:#0f1b29;border-radius:8px}
.tab{display:none}.tab.active{display:block}
.good{color:var(--green);font-weight:800}.warnTxt{color:var(--gold);font-weight:800}
.note{font-size:11px;color:#86a0bd;margin-top:6px}
@media(max-width:1050px){.kpis,.three,.tiers{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.row{grid-template-columns:1fr 1fr}.protecWord{font-size:34px}}
@media(max-width:650px){.kpis,.three,.tiers{grid-template-columns:1fr}.row{grid-template-columns:1fr}h1{font-size:28px}.protecWord{font-size:26px}.lockSvg{width:44px;height:44px}}

#financeiro .grid.three .card{
  background:#eaf3ff !important;
  border-color:#c8d8ea !important;
  color:#17406a !important;
}
#financeiro .grid.three .card .small{
  color:#4f6f90 !important;
}
#financeiro .grid.three .card .big{
  color:#17406a !important;
}


#financeiro .financeActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
#financeiro .financeGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
#financeiro .financeGrid .card{background:#eaf3ff!important;border-color:#c8d8ea!important;color:#17406a!important}
#financeiro .financeGrid .small{color:#4f6f90!important}
#financeiro .financeGrid .big{color:#17406a!important}
#financeiro .statusBadge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}
#financeiro .stOk{background:#e7f8f2;color:#08735c;border:1px solid #b9eadc}
#financeiro .stWait{background:#fff5d9;color:#8a5a00;border:1px solid #f1d58f}
#financeiro .stErr{background:#ffe9e9;color:#a62d2d;border:1px solid #f4bcbc}
#financeiro .invoiceRow{cursor:pointer}
#financeiro .invoiceRow:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(16,39,64,.06)}
#financeiro .fiscalFlow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
#financeiro .flowStep{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center;font-size:12px;font-weight:800;color:#17406a}
#financeiro .recon{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
#financeiro .miniTable .row{grid-template-columns:1.2fr 1fr 1fr 1fr}
#financeiro{--finance-ink:#123458;--finance-accent:#137ad9}
#financeiro .financeHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
#financeiro .financeHeader h2{font-size:clamp(24px,3vw,34px);line-height:1.15;color:#123458;margin:5px 0 7px}
#financeiro .financeHeader p{margin:0;color:#56728e;line-height:1.5}
#financeiro .financeControls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
#financeiro select,#financeiro .financeControls button,#financeiro .financeControls input[type="date"],#financeiro .financeSitePicker summary{min-height:44px;border:1px solid #c8d8ea;background:white;color:#17406a;border-radius:12px;padding:9px 13px;font-weight:700;cursor:pointer}
#financeiro .financeDateRange{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#financeiro .financeDateRange label{font-size:14px;color:#4f6f90}
#financeiro .financeSitePicker{position:relative;min-width:205px}
#financeiro .financeSitePicker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;user-select:none}
#financeiro .financeSitePicker summary::-webkit-details-marker{display:none}
#financeiro .financeSitePicker summary::after{content:'⌄';font-size:18px;line-height:1}
#financeiro .financeSitePicker[open] summary{border-color:#1677ff;border-bottom-left-radius:0;border-bottom-right-radius:0}
#financeiro .financeSiteOptions{position:absolute;z-index:20;right:0;top:100%;min-width:max(100%,240px);padding:8px;background:#fff;border:1px solid #c8d8ea;border-radius:0 0 12px 12px;box-shadow:0 16px 35px rgba(16,39,64,.16)}
#financeiro .financeSiteOptions label{display:flex;align-items:center;gap:10px;min-height:42px;padding:7px 9px;border-radius:8px;color:#17406a;font-size:14px;cursor:pointer}
#financeiro .financeSiteOptions label:hover{background:#f0f7ff}
#financeiro .financeSiteOptions input{width:17px;height:17px;accent-color:#137ad9}
.stationScope{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14px;font-weight:700;color:var(--muted,#66788b)}
.stationScope select{min-height:44px;min-width:180px;border:1px solid #c8d8ea;background:var(--surface,#fff);color:inherit;border-radius:12px;padding:9px 12px;font:inherit;cursor:pointer}
@media(max-width:740px){.stationScope,.stationScope select{width:100%}}
#financeiro .financeControls button:disabled{opacity:.6;cursor:wait}
#financeiro .financeGrid .card{min-height:120px}
#financeiro .financeGrid .big{font-size:clamp(23px,2.4vw,32px);overflow-wrap:anywhere}
#financeiro .financeGrid .muted{font-size:14px;line-height:1.4;margin-top:7px}
#financeiro .financeUnitLines{margin-top:13px;padding-top:11px;border-top:1px solid rgba(117,147,181,.45);font-size:14px;line-height:1.5}
#financeiro .financeUnitLines div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 8px;margin-top:6px}
#financeiro .financeUnitLines span{color:#405d78;font-weight:650}
#financeiro .financeUnitLines strong{color:#17314d!important;font-size:15px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
#financeiro .financeGrid .card:first-child .financeUnitLines span{color:#d8e6fa}
#financeiro .financeGrid .card:first-child .financeUnitLines strong{color:#fff!important}
[data-theme="dark"] #financeiro .financeUnitLines span{color:#c5d5e9}
[data-theme="dark"] #financeiro .financeUnitLines strong{color:#f3f7ff!important}
#financeiro .stationFinance.is-summary{cursor:default}
#financeiro .stationFinance.is-summary:hover{transform:none;box-shadow:none;border-color:#e0e7f0}
#financeiro .financeState{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:11px 14px;border:1px solid #bcd6f5;border-radius:14px;background:#f0f7ff;color:#315a80;font-size:14px;margin:0 0 14px}
#financeiro .financeState[data-state="error"]{border-color:#f1c4c4;background:#fff3f3;color:#9a3030}
#financeiro .financePanel{padding:20px;margin-bottom:14px}
#financeiro .financePanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}
#financeiro .financePanel h3{font-size:20px;color:#17406a;margin:0 0 4px}
#financeiro .financePanel p{font-size:14px;color:#56728e;margin:0;line-height:1.5}
#financeiro .financeChart{min-height:260px;display:grid;place-items:center;overflow:hidden}
#financeiro .financeChart svg{width:100%;height:auto;display:block}
#financeiro .chartEmpty{width:100%;padding:52px 18px;text-align:center;color:#56728e;border:1px dashed #bfd6ea;border-radius:16px;background:repeating-linear-gradient(90deg,#f6faff,#f6faff 40px,#f9fcff 40px,#f9fcff 80px);line-height:1.6}
#financeiro .chartLegend{display:flex;gap:16px;flex-wrap:wrap;color:#52708e;font-size:14px}
#financeiro .legendMark{display:inline-block;width:12px;height:12px;border-radius:3px;background:#1677ff;margin-right:7px}
#financeiro .legendMark.previous{background:#80bcf3}
#financeiro .financeStationGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#financeiro .stationFinance{display:block;width:100%;text-align:left;background:#fff;border:1px solid #c8d8ea;border-radius:18px;padding:18px;cursor:pointer;min-height:145px;color:#17406a}
#financeiro .stationFinance:hover,#financeiro .stationFinance:focus-visible{border-color:#1677ff;box-shadow:0 8px 22px rgba(22,119,255,.12)}
#financeiro .stationFinance[aria-pressed="true"]{border:2px solid #1677ff;background:#f3f9ff}
#financeiro .stationFinance strong{display:block;font-size:17px;line-height:1.3}
#financeiro .stationFinance .stationFinanceMeta{font-size:14px;color:#56728e;display:block;margin-top:8px}
#financeiro .stationFinance .stationFinanceValue{display:block;font-size:25px;font-weight:850;margin-top:12px;color:#17406a}
#financeiro .stationFinance svg{width:100%;height:38px;margin-top:10px}
@media(max-width:1100px){#financeiro .financeStationGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){#financeiro .financeStationGrid{grid-template-columns:1fr}#financeiro .financeControls,#financeiro .financeControls select,#financeiro .financeSitePicker,#financeiro .financeDateRange{width:100%}#financeiro .financeDateRange input{flex:1;min-width:135px}#financeiro .financeSiteOptions{left:0;right:0}#financeiro .financeChart{min-height:220px}#financeiro .financePanel{padding:15px}}
#seguranca .securityHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:15px}
#seguranca h2{font-size:clamp(26px,3vw,35px);margin:5px 0;color:#123458}
#seguranca h3{font-size:20px;margin:0 0 8px;color:#17406a}
#seguranca p{line-height:1.55;color:#56728e;margin:0 0 10px}
#seguranca .securityStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
#seguranca .securityStats .card{padding:18px;background:#eaf3ff!important;color:#17406a!important}
#seguranca .securityStats strong{display:block;font-size:30px;margin-top:7px}
#seguranca .securityGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
#seguranca .securityLocationFilter{max-width:360px;margin:0 0 18px}
#seguranca .securitySite{padding:18px;border:1px solid #c8d8ea;border-radius:19px;background:#fff;min-width:0}
#seguranca .securitySite .securityMeta{font-size:14px;color:#52708e;margin:6px 0 12px}
#seguranca .cameraEmpty{border:1px dashed #bcd6eb;border-radius:13px;padding:21px;background:#f4f9ff;color:#52708e;font-size:14px;line-height:1.5}
#seguranca .cameraChannel{border:1px solid #c8d8ea;border-radius:13px;padding:13px;background:#f8fbff;margin:8px 0;color:#17406a}
#seguranca .cameraChannel strong{display:block;font-size:16px}
#seguranca .cameraChannel span{display:block;color:#56728e;font-size:14px;line-height:1.5;margin-top:4px}
#seguranca .cameraChannel iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;margin-top:12px;background:#10243b}
#seguranca .cameraChannel .watchCamera{margin-top:10px}
#seguranca .demoCameraPreview{position:relative;isolation:isolate;overflow:hidden;min-height:210px;margin-top:12px;border:1px solid color-mix(in srgb,var(--line) 72%,#255c8d);background:linear-gradient(145deg,rgba(5,25,45,.94),rgba(22,66,91,.88)),repeating-linear-gradient(0deg,transparent 0 23px,rgba(118,191,220,.12) 24px);color:#eaf8ff;display:grid;place-items:center}
#seguranca .demoCameraPreview:before,#seguranca .demoCameraPreview:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(128,220,255,.32);border-radius:50%;width:260px;height:260px;left:50%;top:52%;transform:translate(-50%,-50%)}
#seguranca .demoCameraPreview:after{width:140px;height:140px;background:radial-gradient(circle,rgba(39,207,154,.32),transparent 67%)}
#seguranca .demoCameraPreview>span{position:absolute;left:14px;top:12px;padding:5px 8px;border:1px solid rgba(255,255,255,.3);background:rgba(3,18,33,.55);font:600 11px/1.1 var(--font-mono);letter-spacing:.1em}
#seguranca .demoCameraPreview>i{width:54px;height:54px;border:2px solid #61d6b4;transform:rotate(45deg);box-shadow:0 0 0 12px rgba(97,214,180,.08),0 0 42px rgba(97,214,180,.32)}
#seguranca .demoCameraPreview>small{position:absolute;right:14px;bottom:12px;color:#eaf8ff;font:500 12px/1.1 var(--font-mono);letter-spacing:.04em}
#seguranca .cameraEntry{border-top:1px solid #dce8f3;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#seguranca .cameraEntry strong{font-size:15px}
#seguranca .cameraEntry small{display:block;color:#56728e;font-size:13px;margin-top:4px}
#seguranca .cameraEntry a.btn{text-decoration:none;display:inline-flex;align-items:center}
#seguranca .securityNote{border:1px solid #bcd6f5;border-radius:14px;background:#f0f7ff;color:#315a80;padding:13px 16px;line-height:1.55;font-size:14px;margin:12px 0 18px}
#seguranca .securityForm{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
#seguranca label{display:block;color:#17406a;font-weight:700;margin-bottom:5px}
#seguranca input,#seguranca select{width:100%;border:1px solid #c8d8ea;background:#fff;border-radius:12px;min-height:44px;padding:10px;color:#17406a;font:inherit}
#seguranca .securityStatus{font-size:14px;min-height:22px;color:#315a80}
#seguranca .securityHeadActions{display:flex;gap:9px;flex-wrap:wrap}
#seguranca .securityHeadActions .btn:disabled{opacity:.55;cursor:not-allowed}
:is(#seguranca,#pccSplitCameras) .mosaicChoices{margin-bottom:14px;padding:16px}
:is(#seguranca,#pccSplitCameras) .mosaicChoicesHead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
:is(#seguranca,#pccSplitCameras) .mosaicChoicesHead h3{margin:0}
:is(#seguranca,#pccSplitCameras) .mosaicChoicesActions{display:flex;gap:8px;flex-wrap:wrap}
:is(#seguranca,#pccSplitCameras) .mosaicChoicesGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#seguranca label.mosaicChoice{display:flex;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid #d9e5f3;border-radius:9px;background:#f8fbff;cursor:pointer;font-size:14px}
#seguranca label.mosaicChoice:has(input:checked){border-color:#86b2f1;background:#eef5ff}
:is(#seguranca,#pccSplitCameras) .mosaicChoice input{width:19px!important;height:19px!important;min-height:0!important;flex:none;accent-color:#1265eb}
:is(#seguranca,#pccSplitCameras) .mosaicChoice span{min-width:0}
:is(#seguranca,#pccSplitCameras) .mosaicChoice small{display:block;margin-top:2px;color:#617b95;font-size:12px;font-weight:500}
:is(#seguranca,#pccSplitCameras) .mosaicPanel{margin-bottom:14px;padding:16px}
:is(#seguranca,#pccSplitCameras) .mosaicHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
:is(#seguranca,#pccSplitCameras) .mosaicHead h3{margin:0}
:is(#seguranca,#pccSplitCameras) .mosaicHead .muted{font-size:14px;margin:3px 0 0}
:is(#seguranca,#pccSplitCameras) .mosaicHeadActions{display:flex;gap:8px;flex-wrap:wrap}
:is(#seguranca,#pccSplitCameras) .mosaicGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
:is(#seguranca,#pccSplitCameras) .mosaicTile{min-width:0;overflow:hidden;border:1px solid #c8d8ea;border-radius:12px;background:#f8fbff}
:is(#seguranca,#pccSplitCameras) .mosaicTileHead{padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px}
:is(#seguranca,#pccSplitCameras) .mosaicTileHead strong{font-size:14px;line-height:1.35}
:is(#seguranca,#pccSplitCameras) .mosaicTileHead span{font-size:12px;color:#52708e;white-space:nowrap;max-width:42%;overflow:hidden;text-overflow:ellipsis}
:is(#seguranca,#pccSplitCameras) .mosaicTile iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#10243b}
:is(#seguranca,#pccSplitCameras) .mosaicTileState{font-size:13px;line-height:1.4;color:#52708e;padding:7px 11px;min-height:36px}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen{width:100vw;height:100vh;overflow:hidden;background:#05080d!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen .mosaicHead,:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen .mosaicTileHead,:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen .mosaicTileState{display:none!important}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen .mosaicGrid{width:100%;height:100%;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px;background:#05080d}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen[data-count="1"] .mosaicGrid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen[data-count="2"] .mosaicGrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen:is([data-count="3"],[data-count="4"]) .mosaicGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen:is([data-count="5"],[data-count="6"]) .mosaicGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen .mosaicTile{min-height:0;border:0!important;border-radius:0!important;background:#000!important}
:is(#seguranca,#pccSplitCameras) .mosaicPanel:fullscreen .mosaicTile iframe{width:100%;height:100%;aspect-ratio:auto!important}
#overviewRevenueCard .overviewRevenueBySite{border-top:1px solid #bccbd9;margin-top:13px;padding-top:5px}
#overviewRevenueCard .overviewStationRow{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid #d9e3eb;font-size:14px;line-height:1.35}
#overviewRevenueCard .overviewStationRow:last-child{border-bottom:0}
#overviewRevenueCard .overviewStationRow strong{font-size:15px;white-space:nowrap}
#overviewRevenueCard #overviewRevenueSource{margin-top:8px;font-size:13px;line-height:1.4}
@media(max-width:1200px){:is(#seguranca,#pccSplitCameras) .mosaicGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){:is(#seguranca,#pccSplitCameras) .mosaicGrid,:is(#seguranca,#pccSplitCameras) .mosaicChoicesGrid{grid-template-columns:1fr}}
@media(max-width:1000px){#seguranca .securityStats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){#seguranca .securityStats,#seguranca .securityGrid,#seguranca .securityForm{grid-template-columns:1fr}}
@media(max-width:900px){
  #financeiro .financeGrid{grid-template-columns:repeat(2,1fr)}
  #financeiro .fiscalFlow{grid-template-columns:1fr}
  #financeiro .recon{grid-template-columns:1fr}
}


/* === UNIFIED LIGHT THEME OVERRIDES === */
body{color:#103159 !important}
.panel,.card{
  background:linear-gradient(180deg,#ffffff,#f7fbff) !important;
  border-color:#c8d8ea !important;
  color:#17406a !important;
  box-shadow:0 14px 34px rgba(16,39,64,.08) !important;
}
.small{color:#4f6f90 !important}
.big,.section,h1,strong{color:#17406a !important}
.muted,.sub,.note,.mini,.metric{color:#5f7f9e !important}
.station,.row:not(.head),.flowStep,.testResult,.timeline div,.tier,.field input,.field select,.search,.close,.btn{
  background:#ffffff !important;
  color:#17406a !important;
  border-color:#c8d8ea !important;
}
.row.head,.head{
  background:#eaf3ff !important;
  color:#17406a !important;
  border-color:#c8d8ea !important;
}
#financeiro .grid.three .card,
#financeiro .financeGrid .card,
.clubHero{
  background:#eaf3ff !important;
  color:#17406a !important;
  border-color:#c8d8ea !important;
}
.logoWrap{
  background:linear-gradient(180deg,#ffffff,#f3f8ff) !important;
  border-color:#c8d8ea !important;
}
.nav button{
  background:#ffffff !important;
  color:#18446f !important;
  border-color:#c8d8ea !important;
}
.nav button.active{
  background:linear-gradient(135deg,#1677ff,#58a6ff) !important;
  color:#ffffff !important;
  border-color:#58a6ff !important;
}
.btn.primary{
  background:linear-gradient(135deg,#1677ff,#58a6ff) !important;
  color:#ffffff !important;
  border-color:#58a6ff !important;
}
.btn.warn{
  background:#eaf3ff !important;
  color:#1677ff !important;
  border-color:#bcd6f5 !important;
}
.btn.danger{
  background:#fff2f2 !important;
  color:#c53030 !important;
  border-color:#f1c4c4 !important;
}
.modalBox{
  background:#ffffff !important;
  color:#17406a !important;
  border-color:#c8d8ea !important;
}
.toast{
  background:#1677ff !important;
  color:#fff !important;
  border-color:#58a6ff !important;
}
.bar{background:#edf4fb !important;border-color:#d6e4f2 !important}
.field input::placeholder,.search::placeholder{color:#7d98b4 !important}

/* Clickable affordances */
.clickable, .card, .station, .row, .tier, .flowStep, .logoWrap, .panel .metric, .timeline div {
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.clickable:hover, .card:hover, .station:hover, .row:hover, .tier:hover, .flowStep:hover, .logoWrap:hover, .panel .metric:hover, .timeline div:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(16,39,64,.08);
  border-color:#8ab7ea !important;
}


/* Acesso e painel de campo adotam as cores do dashboard original. */
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);padding:28px;background:#fff;border:1px solid #c8d8ea;border-radius:24px;box-shadow:0 14px 34px rgba(16,39,64,.08)}.login-card h1{font-size:30px}.login-card label{display:block;margin:16px 0 6px;font-weight:700}.login-card input,#field input,#field select,#field textarea{width:100%;background:#fff;color:#103159;border:1px solid #c8d8ea;border-radius:12px;padding:12px 14px;font:inherit}.login-card button{margin-top:18px}.accountbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 18px;padding:12px 16px;background:#fff;border:1px solid #c8d8ea;border-radius:18px}.accountbar .btn{margin-left:auto}.pill{color:#1677ff;background:#eaf3ff;border-radius:50px;padding:7px 12px;font-weight:800}.workspace-status{min-height:22px;color:#1677ff;margin:12px 0}.workspace-status.error{color:#c53030}#field .notice{padding:14px;border:1px solid #bcd6f5;border-radius:14px;background:#eaf3ff;line-height:1.6;margin:14px 0}#field .tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}#field .tabs button{border:1px solid #c8d8ea;background:#fff;color:#18446f;border-radius:12px;padding:11px 14px;font-weight:800;cursor:pointer}#field .tabs button.active{background:linear-gradient(135deg,#1677ff,#58a6ff);color:#fff}#field .workspace-tab.hidden{display:none!important}#field .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#field label{display:block;margin-bottom:6px;font-weight:700}#field textarea{min-height:90px}#field button[type="submit"]{background:linear-gradient(135deg,#1677ff,#58a6ff);color:#fff;border:0;padding:11px 14px;border-radius:12px;font-weight:800;cursor:pointer}#field .record{border-top:1px solid #c8d8ea;padding:12px 0}#field .record small{display:block;color:#5f7f9e}#field .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#field .metric{padding:18px;border:1px solid #c8d8ea;border-radius:14px;background:#fff}#field .metric strong{display:block;font-size:30px}#field .site-row{display:flex;align-items:center;justify-content:space-between;gap:12px}#field .site-row button{width:auto;border:1px solid #c8d8ea;background:#fff;border-radius:12px;padding:10px 14px;cursor:pointer}@media(max-width:760px){#field .grid,#field .metrics{grid-template-columns:1fr}.accountbar .btn{margin-left:0}}

/* PROTEC operations surface */
body{background:#f3f6f9;color:#172d43}
.login-screen{background:#edf2f6;padding:20px}
.login-shell{width:min(960px,100%);display:grid;grid-template-columns:.92fr 1.08fr;min-height:490px;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #d8e2ea;box-shadow:0 18px 45px #16334b14}
.login-brand{display:flex;flex-direction:column;align-items:flex-start;padding:48px 40px;background:#153a55;color:#fff}
.login-brand .eyebrow{color:#89c6da;margin-top:40px}
.login-brand h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;line-height:1.1;max-width:330px;margin:11px 0}
.login-brand p{font-size:16px;line-height:1.5;color:#d2e3ed;max-width:315px}
.login-brandMeta{font-size:12px;color:#9ac5d4;margin-top:auto}
.login-logo{background:#fff;padding:10px 15px;border-radius:8px;min-width:160px;min-height:64px;display:grid;place-items:center}
.login-logo .protecReal{height:39px;max-width:143px;object-fit:contain}
.login-card{width:100%;border:0;border-radius:0;box-shadow:none;align-self:center;padding:40px 46px}
.login-card h1{font-size:30px;letter-spacing:-.025em;margin:7px 0}
.login-card p{color:#5a7183;line-height:1.5}
.login-card label{font-size:14px;margin-top:23px}
.login-card input{min-height:48px;border-radius:8px}
.login-card .btn{width:100%;margin-top:24px}
.wrap{width:min(1420px,calc(100% - 32px));margin:16px auto;padding:0 0 34px}
.top{background:#fff;border:1px solid #d8e2ea;border-radius:15px;padding:18px 22px;align-items:center}
.top h1{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.025em;line-height:1.12;margin:5px 0}
.top .sub{border:0;padding:0;font-size:15px;line-height:1.4;color:#50687c}
.top .note{font-size:12px;color:#60778c;line-height:1.4;margin-top:9px}
.eyebrow,.small{letter-spacing:.08em;font-size:12px}
.brand{gap:10px}
.brand .logoWrap{width:156px;height:80px;padding:6px 12px;border-radius:10px;box-shadow:none}
.protecReal{height:40px;max-width:130px;object-fit:contain}
.maisvoltReal{max-width:130px;max-height:67px}
.partnerTag,.brandPartner .partnerTag{font-size:10px}
.accountbar{border-radius:12px;margin:12px 0;padding:9px 14px;box-shadow:none}
.nav{display:flex;gap:0;flex-wrap:wrap;background:#e9eff4;border:1px solid #d7e2ea;border-radius:13px;padding:7px;margin:12px 0 18px}
.navCluster{display:flex;align-items:center;gap:2px;padding:0 8px;border-right:1px solid #d2dee7;flex-wrap:wrap}
.navCluster:last-child{border:0}
.navCluster>span{font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.07em;color:#607a90;margin-right:6px}
.nav button{border:0!important;background:transparent!important;box-shadow:none;font-size:14px;font-weight:650;letter-spacing:0;border-radius:8px;padding:9px 10px;min-height:40px}
.nav button:hover{background:#dce7ef!important;color:#13364f!important}
.nav button.active{background:#123a55!important;color:#fff!important}
.panel,.card{border:1px solid #d7e1e9!important;background:#fff!important;box-shadow:none!important;border-radius:13px}
.panel{padding:20px}
.card{padding:18px;min-height:104px}
.card .big{font-size:clamp(24px,2.5vw,32px);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.card .muted{font-size:13px;line-height:1.45;margin-top:6px}
.section{font-size:19px;letter-spacing:-.015em}
.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 14px}
.sectionHead h2{font-size:clamp(24px,2.6vw,30px);margin:3px 0 4px;letter-spacing:-.025em}
.sectionHead p,.panel p{font-size:14px;line-height:1.5;color:#516b80}
.sectionHead p{margin:0}
.clubHero{background:#eef4f8!important}
.clubBrand{font-size:26px;letter-spacing:-.025em}
.clubBrand span{color:#116786}
.station,.row{border-radius:9px;background:#fff}
.station{display:block;padding:13px 15px;margin-top:8px;min-height:44px}
.row{font-size:14px}
.row.head{font-size:12px;text-transform:uppercase;letter-spacing:.05em;border:0;background:#e7eef4!important}
.btn,#field button[type="submit"]{border-radius:9px;font-size:14px;font-weight:700;min-height:42px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.btn.primary,#field button[type="submit"]{background:#15658d!important;border-color:#15658d!important;color:#fff!important}
.btn.primary:hover,#field button[type="submit"]:hover{background:#104d6b!important}
.btn:hover{border-color:#7ba0b7!important;background:#f4f8fa!important}
.btn:disabled,button:disabled{opacity:.52;cursor:not-allowed!important;transform:none!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5bb6d7;outline-offset:2px}
.panel,.card,.row,.tier,.timeline div,.logoWrap,.panel .metric,.flowStep{cursor:default!important;transform:none!important;transition:none}
.panel:hover,.card:hover,.row:hover,.tier:hover,.timeline div:hover,.logoWrap:hover,.panel .metric:hover,.flowStep:hover{transform:none!important;box-shadow:none!important;border-color:#d7e1e9!important}
.station:hover{border-color:#7ba9c3!important;box-shadow:0 2px 10px #122f4612}
.statusTag{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.statusGood{background:#e5f5ef;color:#05694a}.statusGood:before{content:"";width:7px;height:7px;background:#0d9f71;border-radius:50%}
.statusWait{background:#fff3d9;color:#805500}.statusWait:before{content:"";width:7px;height:7px;background:#d69409;border-radius:50%}
.statusBad{background:#ffeded;color:#9c3029}.statusBad:before{content:"";width:7px;height:7px;background:#ce493d;border-radius:50%}
.stackList{display:grid;gap:9px;font-size:14px}
.listItem{border:1px solid #dae4eb;border-radius:10px;padding:11px 13px;background:#fbfcfd}
.listItem strong{font-size:14px}
.listItem small{display:block;color:#5a7387;font-size:12px;line-height:1.4;margin-top:5px}
.listItem .toolbar{margin-top:8px}
.auditMeta{margin:0 0 10px;color:#5a7387;font-size:14px;line-height:1.5}
.auditTests{border-top:1px solid #d7e3ed;margin-top:14px;padding-top:12px}
.auditTests>summary{cursor:pointer;color:#24577f;font-weight:750;padding:6px 0}
.auditTests .listItem{margin-top:9px}
.emptyState{padding:20px;border:1px dashed #b9ccd9;border-radius:10px;color:#5b7286;background:#f8fafb}
.notice{padding:12px 15px;background:#eef5f9;border:1px solid #ccdde7;border-radius:10px;margin:14px 0;color:#385a6f}
.hourChart{display:grid;grid-template-columns:repeat(24,minmax(23px,1fr));gap:3px;align-items:end;min-height:150px;overflow-x:auto;padding:14px 4px 5px}
.hourColumn{display:grid;grid-template-rows:1fr 20px;gap:5px;align-items:end;min-width:23px;height:130px}
.hourBar{border-radius:3px 3px 0 0;min-height:3px;background:#1885a5}
.hourColumn span{font-size:11px;color:#667f90;text-align:center}
#financeiro .financeChart circle:hover,#financeiro .financeChart circle:focus{opacity:1}
.checklistPanel{margin:16px 0}
.checklistForm{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:14px 0}
#field .checklistForm label{font-size:12px;margin:0}
#field .checklistForm input,#field .checklistForm select{width:min(200px,100%);min-height:42px}
#field .checklistForm button{margin:0}
.stepRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #e0e8ee}
.stepRow .toolbar{margin:0}
.stepRow button{min-height:36px!important;padding:6px 9px!important}
.stepRow strong{font-weight:600}
.modal{backdrop-filter:blur(3px)}
.modalBox{border-radius:12px}
@media(max-width:920px){.navCluster{border:0;flex-basis:50%;padding:5px}.navCluster>span{width:100%}.top{align-items:flex-start}}
@media(max-width:620px){.login-screen{padding:10px}.login-shell{grid-template-columns:1fr}.login-brand{padding:23px 25px}.login-brand .eyebrow{margin-top:15px}.login-brand h2{font-size:23px;margin:6px 0}.login-brand p{font-size:13px;margin:3px 0}.login-brandMeta{display:none}.login-logo{min-height:48px;min-width:120px;padding:6px 9px}.login-logo .protecReal{height:29px;max-width:112px}.login-card{padding:25px}.wrap{width:calc(100% - 20px);margin:10px auto}.top{padding:15px}.brand .logoWrap{width:120px;height:62px}.protecReal{height:32px}.maisvoltReal{max-width:105px;max-height:52px}.navCluster{flex-basis:100%}.nav button{font-size:13px;padding:7px 8px}.panel{padding:15px}.stepRow{grid-template-columns:1fr}.hourChart{grid-template-columns:repeat(24,23px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* brand.css */

:root {
  --bg: #f5f7fb;
  --bg2: #eef3fa;
  --panel: #fff;
  --card: #fff;
  --line: #e0e6ef;
  --text: #111c32;
  --muted: #617089;
  --blue: #1265eb;
  --gold: #428eff;
  --green: #0b936b;
}
html { scroll-behavior: smooth }
body { background:#f5f7fb !important; color:#111c32 !important; font-family:var(--cc-font-sans); font-size:15px; }
button,input,select,textarea { font:inherit }
::selection { background:#c9ddff; color:#071a3b }

/* Login: the same white header, midnight canvas and electric blue as PROTEC Solutions. */
.login-screen { display:block; min-height:100svh; padding:0; background:#fff }
.login-shell { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr); width:100%; min-height:100svh; border:0; border-radius:0; box-shadow:none; overflow:visible }
.login-brand {
  position:relative; isolation:isolate; display:flex; flex-direction:column;
  align-items:flex-start; padding:clamp(32px,5vw,76px);
  background:radial-gradient(circle at 80% 48%,#183b78 0%,#10274b 28%,transparent 62%),linear-gradient(135deg,#080f20 6%,#102142 72%,#070d1b);
  color:#fff; overflow:hidden;
}
.login-brand::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.28; background:linear-gradient(145deg,transparent 48%,#447ed21f 48.1%,transparent 48.3%),radial-gradient(circle at 74% 55%,transparent 0 23%,#5e8bc625 23.1% 23.25%,transparent 23.4% 38%,#5e8bc618 38.1% 38.25%,transparent 38.4%) }
.login-logo { min-width:0; min-height:0; display:flex; align-items:center; gap:20px; background:none; padding:0; border-radius:0 }
.login-logo .protecReal { display:block; height:auto; width:220px; max-width:50%; filter:brightness(0) invert(1) }
.login-logo .brandDivider { height:56px; width:1px; flex:none; background:#adc8f05c }
.login-logo .maisvoltLogin { display:block; width:154px; max-width:39%; height:auto; border-radius:6px; border:1px solid #4e83c977; box-shadow:0 12px 28px #06142d55; }
.loginBrandBody { margin:auto 0; padding:56px 0 86px; position:relative; z-index:1 }
.login-brand .eyebrow { margin:0; color:#87b8ff; font-size:12px; letter-spacing:.18em; font-weight:800 }
.login-brand h2 { max-width:610px; font-size:clamp(50px,5.5vw,80px); line-height:1.02; letter-spacing:-.065em; margin:21px 0 27px; color:#fff !important; font-weight:800 }
.login-brand p { max-width:480px; font-size:clamp(17px,1.5vw,21px); line-height:1.6; color:#c4d0e2; margin:0 }
.login-brandMeta { margin-top:auto; font-size:11px; letter-spacing:.13em; color:#8fa7ca; font-weight:700 }
.loginAccess { display:flex; flex-direction:column; justify-content:center; min-width:0; background:#fff; padding:40px clamp(28px,6vw,105px) 24px }
.login-card { align-self:stretch; max-width:480px; margin:auto 0; padding:0; color:#111c32 }
.login-card .eyebrow { color:#1265eb; letter-spacing:.15em; font-size:12px; font-weight:800 }
.login-card h1 { margin:14px 0 12px; font-size:clamp(32px,3.3vw,44px); line-height:1.12; letter-spacing:-.05em; color:#111c32 !important }
.login-card .loginTitle span { position:relative; display:inline-block; background:linear-gradient(105deg,#0d52cb 8%,#277bea 55%,#66b8ff 100%); background-clip:text; -webkit-background-clip:text; color:transparent!important; }
.login-card .loginTitle span::after { content:""; position:absolute; left:3px; right:2px; bottom:-5px; height:3px; border-radius:4px; background:linear-gradient(90deg,#1265eb,#8fcaff); box-shadow:0 3px 13px #1265eb50; }
.login-card p { font-size:16px; color:#647188; margin:0 0 38px; line-height:1.5 }
.login-card label { display:block; font-size:14px; font-weight:700; color:#253451; margin:20px 0 8px }
.login-card input { display:block; width:100%; height:54px; border:1px solid #ccd6e4; border-radius:10px; background:#fff; color:#12213d; padding:0 15px; box-shadow:none; outline:none }
.login-card input:focus { border-color:#1265eb; box-shadow:0 0 0 4px #1265eb1a; outline:none }
.login-card input::placeholder { color:#99a6b9 }
.passwordField { position:relative }
.passwordField input { padding-right:90px }
.passwordField button { position:absolute; right:8px; top:7px; width:auto!important; height:40px; margin:0!important; padding:0 10px; border:0; border-radius:7px; background:transparent; color:#385a83; font-size:13px; font-weight:700; cursor:pointer }
.passwordField button:hover,.passwordField button:focus-visible { background:#eff5ff; color:#1265eb }
.login-card .btn.primary { margin-top:27px; height:54px; justify-content:space-between; display:flex; align-items:center; padding:0 20px; background:#1265eb !important; border-color:#1265eb !important; color:#fff !important; border-radius:10px }
.login-card .btn.primary:hover { background:#0751c7 !important; border-color:#0751c7 !important; transform:translateY(-1px); box-shadow:0 12px 25px #1265eb30 }
.login-card .btn.primary span { font-size:21px; line-height:1; font-weight:400 }
.login-card .workspaceStatus { min-height:25px; margin-top:13px; color:#3b5d84; font-size:14px }
.loginAccessFoot { margin-top:auto; padding-top:50px; color:#8a96a9; font-size:12px }

/* Working surface */
.wrap { display:grid; grid-template-columns:224px minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); gap:0 25px; max-width:none; width:100%; margin:0; padding:0 30px 50px; align-items:start }
.top { grid-column:1/-1; grid-row:1; min-width:0; min-height:138px; margin:0 -30px 20px; padding:14px 30px; border:0; border-bottom:1px solid #e4e9f0; border-radius:0; background:#fff; box-shadow:none; display:flex; align-items:center }
.top h1 { font-size:25px; line-height:1.2; letter-spacing:-.045em; margin:4px 0 2px; color:#101c33 !important }
.top .eyebrow { color:#1265eb; letter-spacing:.13em; font-weight:800 }
.top .sub { font-size:13px; color:#6a7890; margin:0; line-height:1.4 }
.top .brand { display:flex; flex-wrap:nowrap; gap:19px; align-items:center; justify-content:flex-end; flex:none }
.top .brand .logoWrap { display:grid; place-items:center; width:auto; height:auto; border:0; background:transparent !important; padding:0; box-shadow:none; min-width:0 }
.top .brand .protecReal { width:205px; max-width:205px; height:auto; filter:none }
.top .brand .brandDivider { height:70px; width:1px; flex:none; background:#dce5f2 }
.top .brand .maisvoltReal { width:123px; height:123px; max-width:123px; max-height:123px; object-fit:contain }
.accountbar { grid-column:2; grid-row:2; display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:9px; min-height:45px; margin:0 0 17px; padding:0 0 13px; background:none; border:0; border-bottom:1px solid #e4e9f0; border-radius:0; color:#617089; font-size:13px }
.accountbar strong { color:#203452 !important }
.accountbar .pill { border:1px solid #dbe7fa; background:#edf4ff; color:#2155a2; border-radius:6px; padding:5px 8px; font-size:11px; font-weight:800 }
.accountbar .btn { min-height:32px; padding:6px 10px; margin-left:5px; font-size:12px }
.nav { grid-column:1; grid-row:2/span 2; display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch; gap:0; position:sticky; top:20px; padding:17px 12px; margin:0; border:1px solid #142f5a; border-radius:14px; background:linear-gradient(170deg,#0c1a34,#10294e 72%,#10213e); box-shadow:0 12px 30px #0f274520 }
.navCluster { display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch; padding:12px 0; gap:2px; border:0; border-bottom:1px solid #d0e0ff1e; min-width:0 }
.navCluster:first-child { padding-top:0 }
.navCluster:last-child { border:0; padding-bottom:0 }
.navCluster>span { width:auto; display:block; margin:0 8px 8px; color:#8299bb; font-size:10px; letter-spacing:.13em; text-transform:uppercase; font-weight:800 }
.nav button { min-height:40px; text-align:left; padding:9px 12px; border:0!important; border-radius:8px; background:transparent!important; color:#c8d6ec!important; font-size:13px; font-weight:600; box-shadow:none; cursor:pointer; transition:background .16s,color .16s,transform .16s }
.nav button:hover { color:#fff!important; background:#ffffff18!important; transform:translateX(2px) }
.nav button.active { color:#fff!important; background:#1265eb!important; box-shadow:0 4px 14px #06162d50 }
.wrap>.tab { grid-column:2; grid-row:3; min-width:0 }
.wrap>.tab.active { animation:panelReveal .24s ease-out }
@keyframes panelReveal { from{opacity:.55;transform:translateY(5px)} to{opacity:1;transform:none} }
.eyebrow,.small { color:#67809e; letter-spacing:.09em; font-weight:800 }
.sectionHead h2,#financeiro .financeHeader h2,#seguranca h2 { color:#13223b; letter-spacing:-.045em; font-weight:800 }
.sectionHead p,#financeiro .financeHeader p { font-size:14px; color:#64748b; max-width:650px }
.grid { gap:12px }
.panel,.card { background:#fff!important; border:1px solid #e0e7f0!important; border-radius:12px; box-shadow:0 3px 14px #0b234508!important; }
.panel { padding:21px }
.card { padding:20px; min-height:122px }
.card .big { color:#142340!important; font-size:clamp(25px,2.4vw,35px); font-weight:800; letter-spacing:-.05em }
.card .small { color:#667b97!important; font-size:11px; letter-spacing:.08em }
.card .muted { color:#6b7b92!important; font-size:12px; line-height:1.55 }
#visao #overviewRevenueCard,#financeiro .financeGrid .card:first-child { background:linear-gradient(125deg,#0e1e3a,#163965)!important; border-color:#183c70!important; box-shadow:0 10px 24px #0a2b5d28!important }
#visao #overviewRevenueCard .small,#financeiro .financeGrid .card:first-child .small { color:#9fbff2!important }
#visao #overviewRevenueCard .big,#financeiro .financeGrid .card:first-child .big { color:#fff!important }
#visao #overviewRevenueCard .muted,#financeiro .financeGrid .card:first-child .muted { color:#bbcae1!important }
#visao #overviewRevenueCard .overviewRevenueBySite { border-color:#ffffff38 }
#visao #overviewRevenueCard .overviewStationRow { color:#e5efff; border-color:#ffffff24 }
#visao #overviewRevenueCard .overviewStationRow strong { color:#fff!important }
.section,.clubBrand { letter-spacing:-.035em; color:#142340!important }
.clubHero { background:linear-gradient(135deg,#f3f7ff,#eaf2ff)!important; border-color:#d8e5f9!important; position:relative; overflow:hidden }
.clubHero::after { content:""; position:absolute; right:-45px; top:-40px; width:175px; height:175px; border:1px solid #1265eb20; border-radius:50%; box-shadow:0 0 0 35px #1265eb08; pointer-events:none }
.clubBrand span { color:#1265eb }
.station,.row,.listItem,.securitySite { border-color:#e0e7ef!important; background:#fff!important; border-radius:9px }
.station { transition:background .15s,border-color .15s; }
.station:hover { background:#f7faff!important; border-color:#96bafa!important }
.btn,#field button[type="submit"],#financeiro .financeControls button { border:1px solid #cdd9e8!important; border-radius:8px; background:#fff!important; color:#1e3e6c!important; font-weight:700; min-height:42px; transition:background .16s,border-color .16s,box-shadow .16s,transform .16s }
.btn:hover,#financeiro .financeControls button:hover { background:#eff5ff!important; border-color:#8ab3f7!important; color:#104fae!important }
.btn.primary,#field button[type="submit"] { background:#1265eb!important; border-color:#1265eb!important; color:#fff!important }
.btn.primary:hover,#field button[type="submit"]:hover { background:#0751c7!important; border-color:#0751c7!important; color:#fff!important; box-shadow:0 8px 20px #1265eb29 }
.btn:active,#field button[type="submit"]:active { transform:translateY(1px) }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #83aefe; outline-offset:2px }
.btn:disabled,button:disabled { opacity:.5; box-shadow:none!important; transform:none!important }
.notice,.financeState,#seguranca .securityNote { border-radius:9px; background:#eff5ff; border-color:#d4e4fb; color:#38567d }
.emptyState,#financeiro .chartEmpty { border:1px dashed #ccd8e8; border-radius:9px; background:#f8faff; color:#64748b; padding:35px 22px }
#financeiro .financeGrid .card { background:#fff!important; border-color:#e0e7f0!important; color:#142340!important }
#financeiro .financeGrid .card:first-child { background:linear-gradient(125deg,#0e1e3a,#163965)!important; border-color:#183c70!important; color:#fff!important }
#financeiro .financeGrid .card:first-child .small { color:#9fbff2!important }
#financeiro .financeGrid .card:first-child .big { color:#fff!important }
#financeiro .financeGrid .card:first-child .muted { color:#bbcae1!important }
#financeiro .financeGrid .card .big { color:#142340 }
#financeiro .financePanel { padding:24px }
#financeiro .financePanel h3 { color:#142340; letter-spacing:-.025em }
#financeiro .financeChart { min-height:280px; display:block; overflow:visible; position:relative }
#financeiro .chartStrip { display:flex; flex-wrap:wrap; gap:28px; padding:3px 0 10px; color:#687c95 }
#financeiro .chartStrip>div { display:flex; align-items:baseline; gap:8px; min-width:0 }
#financeiro .chartStrip span { font-size:12px; white-space:nowrap }
#financeiro .chartStrip strong { font-size:13px; color:#203c66!important; font-variant-numeric:tabular-nums }
#financeiro .financeChart svg { display:block; width:100%; height:auto; touch-action:pan-y }
#financeiro .financeChart .chartTip { display:none; position:absolute; z-index:3; pointer-events:none; background:#102447; color:#fff; padding:9px 12px; border-radius:8px; box-shadow:0 8px 22px #091e3d33; font-size:12px; line-height:1.6; white-space:nowrap; transform:translate(-50%,-100%); }
#financeiro .financeChart .chartTip strong { display:block; color:#fff!important; font-size:14px }
#financeiro .financeChart .chartTip.active { display:block }
#financeiro .financeChart .chartTip span { color:#abc7f2 }
#financeiro .financeChart .chartTrack { stroke:#7ea7ee; stroke-width:1; stroke-dasharray:3 4; opacity:0; pointer-events:none }
#financeiro .financeChart .chartDot { fill:#1265eb; stroke:white; stroke-width:3; opacity:0; pointer-events:none }
#financeiro .financeChart svg.is-hovered .chartTrack,#financeiro .financeChart svg.is-hovered .chartDot { opacity:1 }
#financeiro .financeChart .chartPoint { cursor:crosshair; fill:transparent }
#financeiro .financeChart .chartPoint:focus { outline:none; fill:#1265eb }
#financeiro .financeChart .chartPoint:focus-visible { stroke:#fff; stroke-width:3 }
#financeiro .stationFinance { background:#fff; border-color:#e0e7f0; border-radius:10px; transition:border-color .15s,box-shadow .15s,transform .15s }
#financeiro .stationFinance:hover { border-color:#94b8f7; box-shadow:0 8px 22px #0e407a12; transform:translateY(-2px) }
#financeiro .stationFinance[aria-pressed="true"] { border:1px solid #1265eb; box-shadow:inset 3px 0 0 #1265eb; background:#f8fbff }
.hourChart { gap:5px; padding:20px 4px 0; min-height:165px; border-bottom:1px solid #dae4f1 }
.hourColumn { position:relative; grid-template-rows:1fr 23px; min-width:25px; height:145px; }
.hourBar { width:100%; border-radius:5px 5px 0 0; background:linear-gradient(180deg,#5e9df4,#1b68d9); transition:height .32s ease,filter .15s ease; }
.hourColumn:hover .hourBar,.hourColumn:focus-visible .hourBar { filter:brightness(.85) }
.hourColumn.is-peak .hourBar { background:linear-gradient(180deg,#152f5d,#1265eb) }
.hourColumn::after { content:attr(data-detail); display:none; position:absolute; bottom:calc(100% - 3px); left:50%; transform:translateX(-50%); white-space:nowrap; padding:7px 9px; background:#102447; color:#fff; border-radius:6px; font-size:12px; z-index:5 }
.hourColumn:hover::after,.hourColumn:focus-visible::after { display:block }
.hourColumn:focus-visible { outline:2px solid #1265eb; outline-offset:2px }
.hourColumn span { font-size:11px; color:#677b96 }
#seguranca .securityStats .card { background:#fff!important; color:#142340!important }
.statusGood { background:#e5f5ef; color:#05694a }
.statusWait { background:#fff3df; color:#865609 }
.statusBad { background:#ffeded; color:#a3332b }
@media(max-width:1090px) {
  .wrap { grid-template-columns:190px minmax(0,1fr); gap:0 16px; padding:0 18px 35px }
  .top { margin:0 -18px 16px; padding:14px 18px }
  .nav button { padding:9px 10px }
}
@media(max-width:850px) {
  .login-shell { grid-template-columns:1fr; min-height:100svh }
  .login-brand { min-height:265px; padding:26px 30px }
  .login-logo .protecReal { width:180px }
  .login-logo .maisvoltLogin { width:125px }
  .loginBrandBody { padding:31px 0 0; margin:0 }
  .login-brand h2 { font-size:39px; margin:10px 0 10px }
  .login-brand p { font-size:15px; line-height:1.45 }
  .login-brandMeta { display:none }
  .loginAccess { padding:36px 30px 25px; min-height:475px }
  .login-card { margin:0 auto; width:100%; max-width:500px }
  .loginAccessFoot { text-align:center; padding-top:40px }
  .wrap { display:block; padding:0 18px 35px }
  .top { margin:0 -18px; min-height:0; flex-direction:column; align-items:flex-start; gap:10px }
  .top .brand { width:100%; justify-content:flex-start; gap:16px }
  .top .brand .logoWrap { display:grid }
  .top .brand .protecReal { width:160px; max-width:160px }
  .top .brand .maisvoltReal { width:98px; height:98px; max-width:98px; max-height:98px }
  .top .brand .brandDivider { height:52px }
  .accountbar { margin:0 -18px; padding:9px 18px; min-height:47px; border-bottom:1px solid #e4e9f0 }
  .nav { position:relative; top:auto; display:flex; flex-direction:row; flex-wrap:nowrap; gap:4px; overflow-x:auto; margin:12px 0 18px; padding:7px; scrollbar-width:thin; border-radius:10px }
  .navCluster { display:contents }
  .navCluster>span { display:none }
  .nav button { flex:0 0 auto; white-space:nowrap; text-align:center; font-size:12px; min-height:38px }
}
@media(max-width:620px) {
  .login-brand { min-height:233px; padding:22px 24px }
  .login-logo { gap:11px }
  .login-logo .protecReal { width:150px }
  .login-logo .maisvoltLogin { width:103px }
  .login-logo .brandDivider { height:43px }
  .loginBrandBody { padding-top:26px }
  .login-brand h2 { font-size:34px }
  .login-brand p { font-size:14px }
  .loginAccess { min-height:calc(100svh - 233px); padding:32px 24px 20px }
  .login-card h1 { font-size:32px }
  .login-card p { margin-bottom:28px }
  .loginAccessFoot { font-size:11px; padding-top:30px }
  .top { gap:8px; padding:14px 18px }
  .top .brand { gap:12px }
  .top .brand .protecReal { width:150px; max-width:150px }
  .top .brand .maisvoltReal { width:88px; height:88px; max-width:88px; max-height:88px }
  .top h1 { font-size:22px }
  .top .sub { font-size:12px }
  .accountbar { justify-content:flex-start; font-size:12px }
  .panel { padding:17px }
  .card { min-height:105px }
  #financeiro .financePanel { padding:17px }
  #financeiro .financeChart { min-height:220px }
  #financeiro .financeChart .chartTip { font-size:11px; white-space:normal; min-width:120px }
}
@media(prefers-reduced-motion:reduce) {
  .wrap>.tab.active { animation:none }
  .hourBar { transition:none }
}

/* Estado da rede: leitura operacional compacta, com detalhes sob demanda. */
#statusmvp .statusHeading{margin-bottom:16px}
#statusmvp .statusHero{background:#0b2342;color:#fff;border-radius:12px;padding:26px 32px;display:grid;grid-template-columns:1fr minmax(270px,.65fr);gap:25px}
#statusmvp .statusHero .small{color:#91bbe7}
#statusmvp .statusHeroCount{font-size:58px;line-height:1;font-weight:800;letter-spacing:-.065em;margin:10px 0 5px}
#statusmvp .statusHero strong{font-size:20px}
#statusmvp .statusHero p{font-size:14px;color:#c0d2e2;margin:9px 0 0;line-height:1.5}
#statusmvp .statusHero.failed{background:#40242d}#statusmvp .statusHero.failed .statusHeroCount{color:#ff9ca3}
#statusmvp .statusHero.uncertain{background:#423523}
#statusmvp .statusHeroSummary{border-left:1px solid #ffffff35;padding-left:25px;display:grid;align-content:center;gap:12px}
#statusmvp .statusHeroSummary>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff29;padding-bottom:9px;font-size:14px;color:#c0d2e2}
#statusmvp .statusHeroSummary strong{font-size:17px;color:#fff}
#statusmvp .statusMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 30px}
#statusmvp .statusMetrics .card{min-height:105px}
#statusmvp .statusMetrics .card .big{font-size:clamp(21px,2.2vw,29px);overflow-wrap:anywhere}
#statusmvp .statusSectionHead{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:13px}
#statusmvp .statusFilters{display:flex;gap:3px;padding:4px;background:#e8eef5;border-radius:8px}
#statusmvp .statusFilters button{border:0;background:transparent;color:#47617c;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer}
#statusmvp .statusFilters button[aria-pressed="true"]{background:#fff;color:#104a86;box-shadow:0 1px 4px #10233d20}
#statusmvp .statusStations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
#statusmvp .statusStation{background:#fff;border:1px solid #dce5ef;border-radius:11px;padding:20px 22px;min-width:0;transition:border-color .18s,box-shadow .18s}
#statusmvp .statusStation:hover,#statusmvp .statusStation:focus-within,#statusmvp .statusStation.expanded{border-color:#83b6ed;box-shadow:0 10px 25px #0d376018}
#statusmvp .statusStationTop,#statusmvp .statusStationBottom{display:flex;justify-content:space-between;align-items:center;gap:10px}
#statusmvp .statusStationTop strong{font-size:18px;letter-spacing:-.03em;color:#132c49}
#statusmvp .statusBadge{font-size:12px;font-weight:800;white-space:nowrap;border-radius:5px;padding:7px 9px}
#statusmvp .statusBadge.operating.free{color:#087a51;background:#e6f6ed}#statusmvp .statusBadge.operating.charging,#statusmvp .statusBadge.failed{color:#b42a35;background:#ffebeb}#statusmvp .statusBadge.stale,#statusmvp .statusBadge.unlinked,#statusmvp .statusBadge.unknown{color:#895d12;background:#fff4e1}
#statusmvp .statusStationSummary{font-size:14px;color:#45617b;margin:16px 0}
#statusmvp .statusStationBottom{border-top:1px solid #e6edf3;padding-top:12px;font-size:12px;color:#70869a}
#statusmvp .statusDetailToggle{border:0;background:none;color:#1265b3;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
#statusmvp .statusStationDetails{display:none;border-top:1px solid #e6edf3;margin-top:13px;padding-top:10px;color:#415d76;font-size:13px;line-height:1.5}
#statusmvp .statusStationDetails p{margin:7px 0}
#statusmvp .statusStation:hover .statusStationDetails,#statusmvp .statusStation:focus-within .statusStationDetails,#statusmvp .statusStation.expanded .statusStationDetails{display:block}
#statusmvp .statusFootnote{border-left:3px solid #78a9da;padding:10px 15px;background:#eaf2fa;color:#415c77;font-size:13px;line-height:1.55;margin-top:19px}
.networkWatch{position:fixed;right:22px;bottom:20px;z-index:25;border:1px solid #b9dfd3;background:#edf9f4;color:#125a47;box-shadow:0 9px 27px #10253c25;border-radius:9px;padding:11px 15px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:15px;font-weight:800;font-size:14px}
.networkWatch small{border-left:1px solid #a7d5c5;padding-left:13px;color:#376f61;font-size:12px}
.networkWatch.failed{background:#fff0ee;border-color:#edb8b8;color:#ac2935}.networkWatch.failed small{border-color:#eab2b2;color:#a74249}
.networkWatch.uncertain{background:#fff7e9;border-color:#efd2a4;color:#8a5d13}.networkWatch.uncertain small{border-color:#e8d0ac;color:#826019}
@media(max-width:1050px){#statusmvp .statusMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#statusmvp .statusHero{grid-template-columns:1fr;padding:22px}#statusmvp .statusHeroSummary{border-left:0;border-top:1px solid #ffffff35;padding:18px 0 0}#statusmvp .statusStations{grid-template-columns:1fr}#statusmvp .statusSectionHead{align-items:start;flex-direction:column}}
@media(max-width:620px){#statusmvp .statusMetrics{gap:8px}#statusmvp .statusMetrics .card{padding:13px}#statusmvp .statusMetrics .card .big{font-size:21px}.networkWatch{left:12px;right:12px;bottom:12px;justify-content:space-between;font-size:13px}.networkWatch small{font-size:11px}#statusmvp .statusStationTop{align-items:start}}
@media(hover:none){#statusmvp .statusStation:hover .statusStationDetails,#statusmvp .statusStation:focus-within .statusStationDetails{display:none}#statusmvp .statusStation.expanded .statusStationDetails{display:block}}

/* DRE gerencial usa os filtros do Financeiro e aparece em Tributário. */
#tributario .drePanel{padding:24px}
#tributario .dreLayout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:25px;align-items:start}
#tributario .dreBadge{padding:7px 10px;border:1px solid #e8d3a4;background:#fff6e7;color:#865e14;border-radius:6px;font-size:12px;font-weight:800;white-space:nowrap}
#tributario .dreBadge[data-ready="true"]{border-color:#b7decf;background:#e9f6f0;color:#087654}
#tributario .dreTable{border:1px solid #dce5ee;border-radius:10px;overflow:hidden;background:#fff}
#tributario .dreTable>div{display:flex;justify-content:space-between;gap:18px;padding:10px 15px;border-bottom:1px solid #e8edf3;font-size:14px;line-height:1.35;color:#38536e}
#tributario .dreTable>div:last-child{border-bottom:0}
#tributario .dreTable strong{color:#1a344e;font-variant-numeric:tabular-nums;white-space:nowrap}
#tributario .dreTable .subtotal{background:#eef4fa;color:#183d61;font-weight:800}
#tributario .dreTable .result{background:#0b2948;color:#fff;font-weight:800;padding:14px 15px}
#tributario .dreTable .result strong{color:#fff;font-size:17px}
#tributario .dreInputs{border-left:1px solid #dce5ee;padding-left:24px}
#tributario .dreInputs h4{font-size:17px;margin:0 0 8px;color:#17314d}
#tributario .dreInputs p,#tributario .dreCaveat{font-size:13px;line-height:1.55;color:#677d92;margin:0 0 16px}
#tributario .dreInputGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#tributario .dreInputGrid label{display:flex;flex-direction:column;gap:6px;color:#38536e;font-size:13px;font-weight:700;line-height:1.35}
#tributario .dreInputGrid label small{font-size:12px;line-height:1.4;font-weight:400;color:var(--ink2,#46505c)}
#tributario #dreFeesRate{font-size:12px;font-weight:500;color:var(--ink2,#46505c)}
#tributario .dreInputGrid input{height:40px;width:100%;padding:8px 10px;border:1px solid #cbd9e7;border-radius:7px;background:#fff;color:#142f4a;font-size:14px}
#tributario .dreInputGrid input:disabled{background:#eef3f8;color:#637b90}
#tributario .dreStatus{font-size:13px;line-height:1.5;color:#80571a;background:#fff9ee;border:1px solid #e8d8b8;border-radius:7px;padding:10px 12px;margin-top:15px}
#tributario .dreCaveat{border-top:1px solid #e1e9ef;margin:20px 0 0;padding-top:14px}
@media(max-width:1150px){#tributario .dreLayout{grid-template-columns:1fr}#tributario .dreInputs{border-left:0;border-top:1px solid #dce5ee;padding:20px 0 0}}
@media(max-width:620px){#tributario .drePanel{padding:17px}#tributario .dreInputGrid{grid-template-columns:1fr}#tributario .dreTable>div{font-size:13px;padding:10px}#tributario .dreTable strong{white-space:normal;text-align:right}}

#financeiro .costPanel .financePanelHead strong{font-size:20px;color:var(--ink,#142340);white-space:nowrap}
#financeiro .costTotals{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--ink2,#526678);font-size:12px}
#financeiro .costGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}
#financeiro .costGrid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:var(--ink,#263c54)}
#financeiro .costGrid input,#financeiro .costCustomRow input{min-width:0;width:100%;min-height:44px;border:1px solid var(--line,#cbd9e7);border-radius:9px;padding:9px 11px;background:var(--surface,#fff);color:var(--ink,#142f4a);font:inherit}
#financeiro .costGrid input:disabled,#financeiro .costCustomRow input:disabled{opacity:.8;cursor:default}
#financeiro .costCustomHead,#financeiro .costActions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 12px}
#financeiro .costCustomHead h4{margin:0;color:var(--ink,#17314d)}
#financeiro .costCustomRow{display:grid;grid-template-columns:minmax(130px,2fr) minmax(120px,1fr) auto;align-items:center;gap:10px;margin:9px 0}
#financeiro .costAssumptions{border-top:1px solid var(--line,#dce5ee);padding-top:14px;margin-top:16px}
#financeiro .costAssumptions summary{cursor:pointer;font-weight:750;color:var(--ink,#17314d)}
#financeiro .costAssumptions p{color:var(--ink2,#526678);font-size:13px}
#financeiro #costStatus{color:var(--ink2,#526678);font-size:13px}
#tributario .taxRegimePanel{margin:14px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
#tributario .taxRegimePanel strong{color:var(--ink,#17314d)}
#tributario .taxRegimePanel span{font-weight:800;color:var(--ink,#17314d)}
#tributario .taxRegimePanel small{width:100%;color:var(--ink2,#526678)}
#tributario .inlineTabLink{display:inline;background:none;border:0;padding:0;text-decoration:underline;font:inherit;color:var(--blue,#2868c7);cursor:pointer}
[data-theme="dark"] #tributario .drePanel,[data-theme="dark"] #tributario .dreTable,[data-theme="dark"] #tributario .dreInputs{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #tributario .dreInputs h4,[data-theme="dark"] #tributario .dreInputGrid label{color:var(--ink)!important}
[data-theme="dark"] #tributario .dreInputs p,[data-theme="dark"] #tributario .dreCaveat{color:var(--ink2)!important}
[data-theme="dark"] #tributario .dreInputGrid input{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
@media(max-width:740px){#financeiro .costGrid{grid-template-columns:1fr}#financeiro .costCustomRow{grid-template-columns:1fr 1fr}#financeiro .costCustomRow button{grid-column:2;justify-self:end}}

/* Visão geral: leitura de cada estação junto aos indicadores. */
#visao .kpis{grid-template-columns:minmax(250px,.82fr) minmax(0,1.6fr);align-items:start}
#visao .overviewStatusCard{padding:20px;min-width:0}
#visao .overviewStationStates{margin:12px 0 8px;border-top:1px solid #e5ecf3}
#visao .overviewStatusRow{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:36px;border-bottom:1px solid #e5ecf3;color:#233c57;font-size:14px;line-height:1.35}
#visao .overviewStatusRow>span{min-width:0;overflow-wrap:anywhere}
#visao .overviewState{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 7px;border-radius:5px;font-size:12px;white-space:nowrap}
#visao .overviewState::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
#visao .overviewState.free{background:#dcf5e8;color:#067346}
#visao .overviewState.charging,#visao .overviewState.failed{background:#ffe1e3;color:#af1f2e}
#visao .overviewState.stale,#visao .overviewState.unlinked,#visao .overviewState.unknown,#visao .overviewState.unconfirmed{background:#fff4e2;color:#90600e}
#visao #overviewStationUpdated{font-size:12px;line-height:1.45}
@media(max-width:780px){#visao .kpis{grid-template-columns:1fr}}

#visao .impactCard{grid-column:1/-1;background:linear-gradient(125deg,#ecfbf2,#f8fcff 62%,#e5f6ed)!important;border:2px solid #8bcfa5!important;color:#174937;overflow:hidden;box-shadow:0 8px 22px rgba(20,110,65,.09)!important}
#visao .impactCard .small{color:#187747!important}
#visao .impactHeading{display:flex;align-items:center;justify-content:space-between;gap:20px}
#visao .impactHeading h2{margin:5px 0 0;font-size:1.4rem;color:#145c3b}
#visao .impactPulse{width:190px;max-width:35%;height:48px;fill:none;stroke:#2ca66d;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 5px #a5e6bd)}
@media(prefers-reduced-motion:no-preference){#visao .impactPulse{animation:impactBeat 2.6s ease-in-out infinite}@keyframes impactBeat{50%{opacity:.5;transform:scaleX(.97)}}}
#visao .impactValue{margin-top:12px;font-size:clamp(2rem,5vw,3.2rem);font-weight:850;line-height:1.1;color:#08704a}
#visao .impactCaption{font-size:14px;font-weight:700;color:#275d45}
#visao .impactStats{display:flex;gap:12px 26px;flex-wrap:wrap;margin-top:17px;font-size:13px;color:#356751}
#visao .impactStats strong{font-size:17px;color:#08704a}
#visao .impactSource{font-size:12px;color:#56786a;margin:15px 0 0}
#visao .impactMethod{font-size:12px;color:#426b58;margin-top:9px}
#visao .impactMethod summary{cursor:pointer;font-weight:700}
#visao .impactMethod p{line-height:1.5;max-width:78ch}
#visao .impactMethod a{color:#0a6845;text-decoration:underline}
#visao .overviewNotifyButton{margin-top:10px;font-size:12px}
.urgentStationAlert{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;padding:16px 18px;border:2px solid #c72435;border-radius:12px;background:#fff2f2;color:#7d1622}
.urgentStationAlert.hidden{display:none}
.urgentStationAlert strong{font-size:16px}.urgentStationAlert p{margin:5px 0 0;font-size:13px}
.urgentStationActions{display:flex;gap:8px;flex-wrap:wrap}
[data-theme="dark"] #visao .impactCard{background:linear-gradient(125deg,#103728,#16352f)!important;border-color:#356d50!important;color:#d7f4e4}
[data-theme="dark"] #visao .impactCard .small{color:#9de3b8!important}
[data-theme="dark"] #visao .impactHeading h2,[data-theme="dark"] #visao .impactValue,[data-theme="dark"] #visao .impactStats strong{color:#8ce3af}
[data-theme="dark"] #visao .impactCaption,[data-theme="dark"] #visao .impactStats,[data-theme="dark"] #visao .impactSource,[data-theme="dark"] #visao .impactMethod{color:#c0dccc}
[data-theme="dark"] #visao .impactMethod a{color:#8ce3af}
[data-theme="dark"] .urgentStationAlert{background:#3b171d;border-color:#e0606b;color:#ffe4e6}

/* Conectores agrupados por estação, com identificação sem inferir disponibilidade. */
#visao .overviewStatusRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:13px 0;min-height:42px}
#visao .overviewStationName{border:0;background:none;padding:0;text-align:left;color:#233c57;font:inherit;font-weight:800;cursor:pointer;overflow-wrap:anywhere}
#visao .overviewStationName:hover{color:#1265b3}
#visao .overviewStationName:focus-visible{outline:2px solid #1677ff;outline-offset:3px;border-radius:3px}
#visao .overviewStationMeta{grid-column:1/-1;color:#59718a;font-size:12px;line-height:1.5;margin-top:5px}
#visao .overviewStatusRow .connectorList{grid-column:1/-1;margin:8px 0 0;padding:7px 0 0;border-top:1px solid #edf2f6;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}
#visao .overviewSessionPeek{display:none;grid-column:1/-1;background:#f3f8fd;border:1px solid #cfdfed;border-radius:8px;margin-top:11px;padding:13px 15px;color:#294863;font-size:13px;line-height:1.45}
#visao .overviewStatusRow:hover .overviewSessionPeek,#visao .overviewStatusRow:focus-within .overviewSessionPeek,#visao .overviewStatusRow.expanded .overviewSessionPeek{display:block}
#visao .overviewSessionPeek>strong{display:block;color:#12395f;font-size:14px;margin-bottom:5px}
#visao .overviewSessionRow{display:grid;gap:2px;border-top:1px solid #dbe7f1;padding:8px 0}
#visao .overviewSessionRow strong{color:#af1f2e}
#visao .overviewCompletedEnergy{border-top:1px solid #dbe7f1;margin:5px 0 0;padding-top:9px;font-weight:700;color:#173c61}
#visao .overviewSessionNote{margin:8px 0 0;color:#647b91;font-size:12px}
#visao .overviewStatusFoot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.stationDetailLine{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e5ecf3;color:#486178;font-size:14px;line-height:1.4}
.stationDetailLine strong{color:#173c61;text-align:right;font-size:14px}
.stationDetailHeading{margin:20px 0 8px;color:#173c61;font-weight:800;font-size:14px}
#modalBody .connectorRow{font-size:14px;padding:7px 0}
#modalBody .connectorState{font-size:13px}
@media(max-width:650px){#visao .overviewStatusRow .connectorList{grid-template-columns:1fr}.stationDetailLine{gap:10px}}
.connectorList{display:grid;gap:4px}
.connectorRow{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#526a81;font-size:12px;line-height:1.35;padding:3px 0}
.connectorRow>span{overflow-wrap:anywhere}
.connectorState{flex:none;white-space:nowrap;font-size:11px;font-weight:800;color:#7a8b9b}
.connectorState.charging{color:#af1f2e;background:#ffe1e3;border-radius:4px;padding:3px 6px}
.connectorState.free{color:#067346;background:#dcf5e8;border-radius:4px;padding:3px 6px}
.connectorState::before{content:'';display:inline-block;vertical-align:1px;width:6px;height:6px;margin-right:5px;border-radius:50%;background:currentColor}
#statusmvp .statusStationDetails .connectorList{border-left:2px solid #dbe7f2;padding-left:11px;margin:6px 0 12px}
#statusmvp .statusStationDetails .connectorRow{font-size:13px}
.vipModePanel{border:2px solid #b42318!important}
.vipModeBanner{position:fixed;top:0;left:0;right:0;z-index:1000;background:#b42318;color:white;padding:12px 22px;display:flex;align-items:center;justify-content:center;gap:18px;font-weight:700}
.vipModeBanner.hidden{display:none}
.vipModeBanner button{border:1px solid white;border-radius:8px;background:white;color:#8f1d16;padding:8px 12px;cursor:pointer}
.vipModeDialog{border:0;border-radius:16px;box-shadow:0 20px 70px #0006;padding:26px;max-width:min(90vw,500px);width:100%}
.vipModeDialog::backdrop{background:#061527aa}
.vipModeDialog form,.vipModeDialog label{display:grid;gap:12px}
.vipModeDialog label{font-weight:600}
.vipModeDialog input,.vipModeDialog textarea{font:inherit;padding:10px;border:1px solid #aab4c0;border-radius:8px}
.vipModeDialog #vipModeConfirm{position:relative;overflow:hidden;touch-action:none}
.vipModeDialog #vipModeConfirm.holding{background:linear-gradient(90deg,#0a7552,#0a7552) left/100% 100% no-repeat;color:#fff;animation:pccModeHold 1.5s linear both}
@keyframes pccModeHold{from{background-size:0 100%}to{background-size:100% 100%}}
@media(prefers-reduced-motion:reduce){.vipModeDialog #vipModeConfirm.holding{animation:none}}
.memberFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.memberFormGrid label{display:grid;gap:8px;font-weight:750;color:var(--text)}.memberFormGrid input,.memberFormGrid select,#memberList select{min-height:48px;padding:11px 13px;border:1px solid #b8c7d8;border-radius:12px;background:var(--surface,#fff);color:var(--text);font:inherit;box-shadow:inset 0 1px 2px rgba(12,42,75,.04)}.memberFormGrid input:focus,.memberFormGrid select:focus,#memberList select:focus{outline:3px solid rgba(22,119,255,.16);border-color:#1677ff}.memberPermissionSummary{padding:13px 15px;border-radius:12px;background:rgba(22,119,255,.07);color:var(--text);line-height:1.55}.memberManage{display:flex;align-items:center;gap:9px;font-weight:700}.memberManage input{width:18px;height:18px;accent-color:#1677ff}.vipOperations{margin-top:18px}.vipOperations>h3{margin-bottom:4px}@media(max-width:720px){.memberFormGrid{grid-template-columns:1fr}}
.memberRecord{padding:20px;margin-bottom:14px}.memberPermissions{margin:18px 0;padding:0;border:1px solid var(--line,#d8e2ec);border-radius:4px;background:var(--surface,#fff);overflow:hidden}.memberPermissions>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;padding:13px 48px 13px 18px;color:var(--ink,#142340);font-size:14px;font-weight:800;cursor:pointer;list-style:none;position:relative}.memberPermissions>summary::-webkit-details-marker{display:none}.memberPermissions>summary small{color:var(--ink2,#526678);font-size:12px;font-weight:650}.memberPermissions>summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#1677ff;font-size:22px;font-weight:500;line-height:1}.memberPermissions[open]>summary{border-bottom:1px solid var(--line,#d8e2ec)}.memberPermissions[open]>summary:after{content:'−'}.memberPermissions>summary:focus-visible{outline:3px solid rgba(22,119,255,.18);outline-offset:-3px}.memberPermissionGroup{padding:15px 18px;border-bottom:1px solid var(--line,#d8e2ec)}.memberPermissionGroup:last-child{border-bottom:0}.memberPermissionGroup>strong{display:block;margin-bottom:10px;color:var(--ink2,#526678);font-size:12px;letter-spacing:.07em;text-transform:uppercase}.memberPermissionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px}.memberPermissionOption{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 11px;border:1px solid var(--line,#d8e2ec);border-radius:3px;background:var(--surface2,#f7f9fc);color:var(--ink,#142340);font-weight:650;cursor:pointer}.memberPermissionOption:has(input:checked){border-color:#2f7fe7;background:rgba(47,127,231,.09);color:#155aa9}.memberPermissionOption input{width:18px;height:18px;margin:0;accent-color:#1677ff}.memberPermissionOption:has(input:disabled){cursor:not-allowed;opacity:.72}[data-theme="dark"] .memberPermissions,[data-theme="dark"] .memberPermissionOption{background:var(--surface)!important}.memberCreatePanel .memberPermissions{margin-top:16px}@media(max-width:560px){.memberPermissionGrid{grid-template-columns:1fr}.memberPermissionGroup{padding:14px}.memberPermissions>summary{padding:13px 44px 13px 14px;align-items:flex-start;flex-direction:column;gap:3px}.memberPermissions>summary:after{right:14px}}
.taxIssuerPanel{grid-column:1/-1;margin-top:14px}
.vipModeActions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}
.vipModeActions button{min-height:44px;padding:9px 14px;cursor:pointer}

#tributario .taxRegimePanel label{display:flex;flex-direction:column;gap:6px;min-width:min(100%,310px);font-size:13px;font-weight:700;color:var(--ink,#17314d)}
#tributario .taxRegimePanel input,#tributario .taxRegimePanel select{min-height:44px;border:1px solid var(--line,#cbd9e7);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#142f4a);padding:9px 11px;font:inherit}
#tributario #taxRegimeInformedStatus{width:100%}
#tributario .taxPresetGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:8px 0}
#tributario .taxPresetGrid label{min-width:0}
@media(max-width:650px){#tributario .taxPresetGrid{grid-template-columns:1fr}}


/* vip-phase2.css */
.vipPhase{--vipInk:#142e48;--vipLine:#d6e4f1}.vipPhase .sectionHead{margin-bottom:20px}.vipPhase .sectionHead h2{font-size:clamp(29px,3vw,43px);letter-spacing:-.04em}.vipSnapshot{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:1px;background:#cdddeb;border:1px solid #cdddeb;border-radius:18px;overflow:hidden;margin-bottom:16px}.vipSnapshot>div{background:#fff;padding:21px 25px;min-width:0}.vipSnapshot span,.vipHealth span{display:block;color:#68839c;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.vipSnapshot strong{display:block;margin:8px 0 5px;font-size:21px;letter-spacing:-.03em;color:var(--vipInk);overflow-wrap:anywhere}.vipSnapshot small{display:block;color:#69839c}.vipMessage{min-height:30px;color:#166e91;font-weight:650;padding:2px 0 10px}.vipMessage.error{color:#b34040}.vipLayout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:16px}.vipPhase .panel{border-radius:18px}.vipPhase h3{font-size:23px;letter-spacing:-.035em;margin:7px 0 9px}.vipPhase p{line-height:1.5}.vipForm{display:grid;gap:14px;margin-top:18px}.vipTwo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vipForm label,.vipDevice label{font-weight:750;font-size:13px;color:#27455f}.vipForm label span{font-weight:450;color:#658099}.vipForm input,.vipDevice select,.vipDirectory input{display:block;width:100%;margin-top:7px;background:#f8fbfe;border:1px solid var(--vipLine);border-radius:10px;padding:12px;color:var(--vipInk);font:inherit}.vipForm input:focus,.vipDevice select:focus,.vipDirectory input:focus{outline:2px solid #5da5df;outline-offset:1px}.vipPreview{display:block;max-height:180px;max-width:100%;object-fit:contain;border-radius:9px;background:#edf3f7;padding:6px}.vipHealth{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--vipLine);border:1px solid var(--vipLine);border-radius:12px;overflow:hidden;margin:22px 0}.vipHealth>div{background:#f9fcff;padding:17px}.vipHealth strong{display:block;margin-top:7px;font-size:16px;color:var(--vipInk);overflow-wrap:anywhere}.vipActions{display:flex;gap:9px;flex-wrap:wrap}.vipDevice #vipMode{margin-top:22px;padding-top:17px;border-top:1px solid var(--vipLine)}.vipDevice #vipMode button{margin-top:9px}.vipDirectory{margin-top:16px}.vipDirectoryHead{display:flex;justify-content:space-between;align-items:center;gap:18px}.vipDirectory input{max-width:300px;margin:0}.vipPeople{display:grid;gap:0;margin-top:16px}.vipPerson{border-top:1px solid var(--vipLine);padding:17px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.vipPerson strong{display:block;color:var(--vipInk);font-size:17px}.vipPerson small{display:block;color:#66819a;margin-top:5px}.vipPerson .vipTag{display:inline-block;margin-top:8px;color:#116484;font-weight:750;font-size:12px}.vipPerson .vipTag.blocked{color:#a43838}.vipPersonActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:470px}.vipPersonActions button{border:1px solid #c8dce9;border-radius:8px;padding:8px 10px;background:#fff;color:#16516f;font-weight:700;cursor:pointer}.vipPersonActions button:hover{background:#eaf5fc}.vipPersonActions button:disabled{opacity:.5;cursor:wait}.vipPersonActions button.danger{color:#a43838}.vipNote{margin-top:16px;background:#f1f7fb!important}.vipNote p{margin:5px 0 0}.vipQr{margin-top:15px;padding:15px;border:1px solid var(--vipLine);border-radius:12px;background:#fff;text-align:center}.vipQr canvas{display:block;margin:10px auto}.vipQr code{font-size:18px;font-weight:800;letter-spacing:.09em}.vipQr button{margin-top:10px}.vipIdentitySearch{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:20px 0 0}.vipIdentitySearch label{font-size:12px;font-weight:750;color:#46647e}.vipIdentitySearch input{width:min(310px,100%);margin-top:6px}.vipIdentityResult{min-height:22px;margin-top:8px;color:#446982;font-size:13px}.vipDeleteForm{margin-top:12px;border:1px solid #efd2d2;border-radius:10px;padding:13px;background:#fff9f8}.vipDeleteForm label{display:block;font-size:12px;color:#783f3f}.vipDeleteForm input{width:160px;max-width:100%;margin:8px 8px 0 0;padding:9px;border:1px solid #d9b5b5;border-radius:8px}@media(max-width:850px){.vipLayout{grid-template-columns:1fr}.vipSnapshot{grid-template-columns:1fr 1fr}.vipSnapshot>div:last-child{grid-column:1/-1}.vipDirectoryHead{align-items:flex-start;flex-direction:column}.vipDirectory input{max-width:none}.vipPerson{grid-template-columns:1fr}.vipPersonActions{justify-content:flex-start}}@media(max-width:500px){.vipSnapshot{grid-template-columns:1fr}.vipSnapshot>div:last-child{grid-column:auto}.vipTwo{grid-template-columns:1fr}}
.vipIdentitySearch select{display:block;width:130px;margin:6px 0 7px;padding:9px;background:#f8fbfe;color:#142e48;border:1px solid #d6e4f1;border-radius:9px;font:inherit}


/* ui-v2.css */
:root{
 --bg:#F4F5F2;--surface:#FFFFFF;--surface2:#F8F9F6;--line:#E2E5DF;
 --ink:#0F1720;--ink2:#46505C;--ink3:#626C78;--brand:#1D4FD8;--brandInk:#FFFFFF;
 --chg:#1D4FD8;--chgBg:#E7EDFD;--free:#0A7552;--freeBg:#E1F3EA;
 --warn:#9A5200;--warnBg:#FCEFD9;--down:#B42318;--downBg:#FCE7E4;
 --off:#626C78;--offBg:#ECEEEA;--side:#0B1118;--sideInk:#C3CCD6;
 --sideDim:#8A96A3;--sideActive:#1A2430;--unit2:#6B8FEA;--unit3:#B9C8F3;
 --shadow:0 1px 2px rgba(15,23,32,.04),0 4px 16px rgba(15,23,32,.05);
 --radius-lg:16px;--radius-md:12px;--radius-sm:9px;
}
[data-theme="dark"]{
 color-scheme:dark;
 --bg:#0A0F15;--surface:#111820;--surface2:#151D27;--line:#222D39;
 --ink:#ECF0F4;--ink2:#A7B2BE;--ink3:#8D99A6;--brand:#7C9DFF;--brandInk:#0A0F15;
 --chg:#8AA8FF;--chgBg:#18223C;--free:#4FCB9C;--freeBg:#102B24;
 --warn:#F2B55C;--warnBg:#30230E;--down:#FF8B7B;--downBg:#361613;
 --off:#8D99A6;--offBg:#1A222C;--side:#070B10;--sideInk:#C3CCD6;
 --sideDim:#7F8B98;--sideActive:#151E29;
 --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);
}
/* Campos numéricos: mantém teclado e validação, sem o spinner claro do navegador. */
#platform input[type="number"]{appearance:textfield;-moz-appearance:textfield}
#platform input[type="number"]::-webkit-outer-spin-button,
#platform input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}
/* Rolagem discreta e visível nos painéis e menus do tema escuro. */
html[data-theme="dark"],
[data-theme="dark"] #platform,
[data-theme="dark"] #platform *{scrollbar-width:thin;scrollbar-color:#40536a #151d27}
html[data-theme="dark"]::-webkit-scrollbar,
[data-theme="dark"] #platform ::-webkit-scrollbar{width:9px;height:9px}
html[data-theme="dark"]::-webkit-scrollbar-track,
[data-theme="dark"] #platform ::-webkit-scrollbar-track{background:#151d27;border-radius:99px}
html[data-theme="dark"]::-webkit-scrollbar-thumb,
[data-theme="dark"] #platform ::-webkit-scrollbar-thumb{background:#40536a;border:2px solid #151d27;border-radius:99px}
html[data-theme="dark"]::-webkit-scrollbar-thumb:hover,
[data-theme="dark"] #platform ::-webkit-scrollbar-thumb:hover{background:#607ea0}
html,body{background:var(--bg)!important;color:var(--ink)!important;font-family:var(--cc-font-sans)!important}
body{font-size:14px}
[hidden]{display:none!important}
.pccVideoFrame{opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease}
.pccVideoFrame.is-ready{opacity:1;transform:none}
.num{font-family:var(--cc-font-mono)!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--brand)!important;outline-offset:3px}
#platform.wrap{display:block!important;width:auto!important;max-width:none!important;margin:0 0 0 232px!important;padding:32px 42px 72px!important;min-height:100vh;background:var(--bg)!important}
#platform.wrap.hidden{display:none!important}
#platform>.top{display:none!important}
#platform>.accountbar{display:none!important}
.pccMobileHeader{display:none}
#platform>.tab{width:100%;min-width:0}
#platform>.tab~p{margin-top:24px;color:var(--ink3);font-size:11px}
#platform #networkWatch{display:none!important}
#platform .tab:not(.active){display:none!important}
#platform .tab{color:var(--ink)}
#platform .panel,#platform .card{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)}
#platform .card .big{font-family:var(--cc-font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(20px,2.1vw,32px);overflow-wrap:anywhere}
[data-theme="dark"] #platform .panel,[data-theme="dark"] #platform .card,[data-theme="dark"] #platform .stationFinance,[data-theme="dark"] #platform .row,[data-theme="dark"] #platform .statusStation{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #platform input,[data-theme="dark"] #platform select,[data-theme="dark"] #platform textarea,[data-theme="dark"] #platform .btn{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
#platform .muted,#platform .small,#platform .sectionHead p{color:var(--ink3)!important}
#platform .sectionHead h2,#platform .section,#platform h2{color:var(--ink)!important}
#platform .panel:hover,#platform .card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,32,.12);transition:transform .18s,box-shadow .18s}
#pccSide{position:fixed;z-index:35;inset:0 auto 0 0;width:232px;background:var(--side);color:var(--sideInk);display:flex;flex-direction:column;padding:24px 16px;overflow-y:auto}
.pccSideBrand{display:flex;align-items:center;gap:10px;margin:0 8px 30px}
.pccSideLogo{position:relative;width:34px;height:34px;flex:none;overflow:hidden;display:block}
.pccSideLogo img{position:absolute;width:191px;height:auto;max-width:none;left:-5px;top:-7px}
.pccSideBrand strong{display:block;color:white;font-size:14px}.pccSideBrand small{display:block;color:var(--sideDim);font-size:11px}
.pccSideLinks{display:grid;gap:6px}
.pccSideLinks button,.pccSideFoot button{font:inherit;color:var(--sideInk);background:transparent;border:0;cursor:pointer;display:flex;align-items:center;gap:12px;text-align:left;min-height:44px;padding:9px 12px;border-radius:9px;width:100%}
.pccSideLinks button.active{background:var(--sideActive);color:white;font-weight:600}
.pccSideLinks button:hover,.pccSideFoot button:hover{background:var(--sideActive)}
.pccSideLinks .liveDot{width:7px;height:7px;margin-left:auto;border-radius:50%;background:#4FCB9C;box-shadow:0 0 0 5px #4FCB9C20;animation:pccPing 1.8s infinite}
.pccPartner{display:grid;justify-items:center;gap:9px;margin:24px 8px 14px;padding:10px;border:1px solid #4279b480;border-radius:14px;background:linear-gradient(150deg,#152435,#0b1724);box-shadow:0 10px 26px #0003;margin-top:auto}
.pccPartnerMark{display:block;width:100%;overflow:hidden;border-radius:10px;background:#0752a8}
.pccPartnerMark img{display:block;width:100%;height:auto;object-fit:contain}
.pccPartnerText{min-width:0;text-align:center}.pccPartner small{display:block;font-size:10px;letter-spacing:.1em;color:#becbdd;line-height:1.3;font-weight:600}
.pccSideFoot{border-top:1px solid #ffffff18;padding-top:12px}
.pccUser{display:flex;align-items:center;gap:9px;margin:5px 8px 10px}
.pccAvatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sideActive);color:white;font-weight:700}
.pccUserText strong,.pccUserText small{display:block}.pccUserText strong{color:white}.pccUserText small{color:var(--sideDim);font-size:11px}
.pccSideFoot .pccFootActions{display:flex;gap:4px}.pccSideFoot .pccFootActions button{font-size:12px}
#platform #nav{position:relative!important;inset:auto!important;display:flex!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 18px!important;gap:0}
#platform #nav .navCluster{display:none!important;flex-direction:row!important;align-items:center!important;border:0!important;flex-wrap:wrap!important;gap:5px!important;padding:4px!important;border-radius:12px;background:var(--surface2);width:max-content;max-width:100%}
#platform #nav .navCluster.pccCurrent:not(.hidden){display:flex!important}
#platform #nav .navCluster>span{display:none!important}
#platform #nav button{font:500 13px Geist,system-ui!important;color:var(--ink2)!important;border:0!important;border-radius:9px!important;background:transparent!important;padding:9px 13px!important;min-height:38px}
#platform #nav button.active{color:var(--ink)!important;background:var(--surface)!important;box-shadow:var(--shadow)}
#platform #nav button.hidden{display:none!important}
.pccLiveHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:5px 0 22px}
.pccLiveHead h1{font-size:28px;letter-spacing:-.02em;font-weight:600;margin:0;color:var(--ink)}
.pccLiveHead p{margin:3px 0 0;color:var(--ink2);font-size:13px}
.pccLiveHead .pccHeadActions{display:flex;align-items:center;gap:12px}
.pccLiveHead time{color:var(--ink3);font-size:12px}
.pccLiveHead button,.pccFilter button,.pccStationFooter button{font:inherit;cursor:pointer;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px 13px;min-height:44px}
.pccLiveHead .pccDot{display:inline-block;width:8px;height:8px;background:var(--free);border-radius:50%;margin-right:7px;box-shadow:0 0 0 4px var(--freeBg);animation:pccPing 1.8s infinite}
.pccAttention{display:flex;align-items:center;gap:12px;background:var(--warnBg);color:var(--warn);border-radius:12px;padding:13px 16px;margin-bottom:22px}
.pccAttention.down{background:var(--downBg);color:var(--down)}
body[data-pcc-role="client_owner"] .pccAttention,body[data-pcc-role="guest_viewer"] .pccAttention,
body[data-pcc-role="client_owner"] #financeiro .financeState[data-state="error"],body[data-pcc-role="guest_viewer"] #financeiro .financeState[data-state="error"]{display:none!important}
.pccAttention button{margin-left:auto;border:1px solid currentColor;color:inherit;background:transparent;border-radius:8px;padding:8px 12px;min-height:44px;cursor:pointer}
.pccMainGrid{display:grid;grid-template-columns:5fr 3fr 4fr;gap:20px;margin-bottom:28px}
.pccLiveCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px;min-width:0;animation:pccEnter .5s cubic-bezier(.2,.7,.2,1) both}
.pccLiveCard:nth-child(2){animation-delay:70ms}.pccLiveCard:nth-child(3){animation-delay:140ms}
.pccLiveCard:hover,.pccStation:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,32,.13);transition:transform .18s,box-shadow .18s}
.pccLabel{font-size:12.5px;color:var(--ink2)}.pccRevenueValue{display:block;font-size:clamp(32px,3.5vw,52px);font-weight:600;color:var(--ink);margin:26px 0 2px;white-space:nowrap}
.pccRevenueMeta{font-size:13px;color:var(--ink2)}
.pccRevenueTrack{display:flex;height:10px;overflow:hidden;border-radius:99px;background:var(--surface2);margin:20px 0 12px}
.pccRevenueTrack.pccLoadingTrack{position:relative;margin-top:28px;background:color-mix(in srgb,var(--brand) 12%,var(--surface2))}
.pccLoadingBar{width:42%;min-width:42%!important;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--chg),var(--brand));box-shadow:0 0 14px color-mix(in srgb,var(--brand) 38%,transparent);animation:pccRevenueLoading 1.25s ease-in-out infinite alternate}
@keyframes pccRevenueLoading{from{transform:translateX(-8%)}to{transform:translateX(146%)}}
.pccRevenueTrack span{min-width:0}.pccRevenueLegend{display:flex;gap:8px;flex-wrap:wrap}.pccRevenueLegend div{flex:1 1 85px;min-width:0}.pccRevenueLegend small,.pccRevenueLegend strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pccRevenueLegend small{color:var(--ink3);font-size:11px}.pccRevenueLegend strong{font-size:12px}
.pccMetrics{display:grid;gap:12px}.pccMetrics .pccLiveCard{padding:17px}.pccMetrics strong{display:block;font-size:24px;margin-top:6px}.pccMetrics small{display:block;color:var(--ink3);font-size:11px;margin-top:5px}
.pccActivityList{list-style:none;padding:0;margin:14px 0 0}.pccActivityList li{display:flex;gap:9px;padding:11px 0;border-top:1px solid var(--line);font-size:12px;color:var(--ink)}.pccActivityList time{color:var(--ink3);flex:none}.pccActivityList i{width:7px;height:7px;border-radius:50%;margin-top:5px;flex:none;background:var(--off)}.pccActivityList i.sync{background:var(--free)}.pccActivityList i.start{background:var(--chg)}
.pccStationHead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 15px}.pccStationHead h2{font-size:18px!important;margin:0;color:var(--ink)}.pccFilter{display:flex;gap:2px;background:var(--surface2);padding:3px;border-radius:11px}.pccFilter button{border:0;background:transparent;min-height:38px;padding:6px 11px}.pccFilter button[aria-pressed="true"]{background:var(--surface);box-shadow:var(--shadow)}
.pccStations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pccStation{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px;animation:pccEnter .5s cubic-bezier(.2,.7,.2,1) both}
.pccStation:nth-child(2){animation-delay:70ms}.pccStation:nth-child(3){animation-delay:140ms}
.pccStationTop{display:flex;align-items:start;justify-content:space-between;gap:10px}.pccStationTop strong{font-size:15px}.pccStationTop small{display:block;font-size:11px;color:var(--ink3);margin-top:4px}
.pccBadge{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:600;white-space:nowrap}
.pccBadge.charging{background:var(--chgBg);color:var(--chg)}.pccBadge.free{background:var(--freeBg);color:var(--free)}.pccBadge.attention{background:var(--warnBg);color:var(--warn)}.pccBadge.down{background:var(--downBg);color:var(--down)}
.pccConnector{display:flex;align-items:center;gap:9px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--radius-md);margin-top:9px;padding:12px;position:relative;overflow:hidden}
.pccConnector strong,.pccConnector small{display:block}.pccConnector strong{font-size:12px}.pccConnector small{font-size:11px;color:var(--ink3)}.pccConnectorTime{margin-left:auto;text-align:right;color:var(--chg)}.pccConnectorTime small{color:var(--ink3)}
.pccConnector.charging:after{content:"";height:3px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,transparent,var(--chg),transparent);background-size:200% 100%;animation:pccFlow 1.6s linear infinite}
.pccStationFooter{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.pccStationFooter small{display:block;color:var(--ink3);font-size:11px}.pccStationFooter strong{font-size:14px}
.pccStationDetails{margin-top:12px;border-radius:12px;background:var(--surface2);padding:10px;font-size:12px}.pccStationDetails dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pccStationDetails dt{color:var(--ink3)}.pccStationDetails dd{margin:0}
.pccStationDetailButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 158px;max-width:55%;white-space:nowrap;font-size:12px!important}
.pccStationDetailButton[aria-expanded="true"] svg{transform:rotate(180deg)}
.pccUnlinked{border:1px dashed var(--line);border-radius:12px;padding:16px;margin-top:20px;color:var(--off);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pccUnlinked button{margin-left:auto;background:transparent;color:inherit;border:0;cursor:pointer;min-height:44px}
.pccUnlinkedExplanation{flex-basis:100%;margin:4px 0 0;color:var(--ink2);line-height:1.5}
.pccInfo{cursor:help;border:0;background:none;color:var(--ink3);float:right}
#statusmvp .statusHero.uncertain{background:var(--warnBg)!important;color:var(--warn)!important}#statusmvp .statusHero.uncertain *{color:var(--warn)!important}
#statusmvp .statusBadge.operating.charging,#visao .overviewState.charging,.connectorState.charging{color:var(--chg)!important;background:var(--chgBg)!important}
#statusmvp .statusBadge.failed,#visao .overviewState.failed{color:var(--down)!important;background:var(--downBg)!important}
.vipModeBanner{background:var(--downBg);color:var(--down)}
[data-theme="dark"] #platform .tab h1,[data-theme="dark"] #platform .tab h2,[data-theme="dark"] #platform .tab h3,[data-theme="dark"] #platform .tab h4,[data-theme="dark"] #platform .tab strong,[data-theme="dark"] #platform .tab .big,[data-theme="dark"] #platform .tab .section,[data-theme="dark"] #platform .tab label,[data-theme="dark"] #platform .tab .metric{color:var(--ink)!important}
[data-theme="dark"] #platform .tab p,[data-theme="dark"] #platform .tab .muted,[data-theme="dark"] #platform .tab .small,[data-theme="dark"] #platform .tab .sub,[data-theme="dark"] #platform .tab .note,[data-theme="dark"] #platform .tab .mini{color:var(--ink2)!important}
[data-theme="dark"] #platform .tab .row:not(.head),[data-theme="dark"] #platform .tab .listItem,[data-theme="dark"] #platform .tab .securitySite,[data-theme="dark"] #platform .tab .station,[data-theme="dark"] #platform .tab .flowStep,[data-theme="dark"] #platform .tab .tier{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #platform .tab .row.head,[data-theme="dark"] #platform .tab .head{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #platform .tab .btn,[data-theme="dark"] #platform .tab button:not(.pccBadge),[data-theme="dark"] #platform .tab input,[data-theme="dark"] #platform .tab select,[data-theme="dark"] #platform .tab textarea{color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #platform .tab .btn,[data-theme="dark"] #financeiro .financeControls button,[data-theme="dark"] #financeiro #financeSiteSummary{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #financeiro .financeGrid .card:first-child .big,[data-theme="dark"] #financeiro .financeGrid .card:first-child strong{color:#fff!important}
[data-theme="dark"] #financeiro .financeGrid .card:first-child .small,[data-theme="dark"] #financeiro .financeGrid .card:first-child .muted{color:#bfcde4!important}
[data-theme="dark"] #tributario .dreTable [role="row"],[data-theme="dark"] #tributario .dreTable [role="row"].subtotal,[data-theme="dark"] #tributario .dreTable [role="row"].result{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #tributario .dreTable [role="cell"]{color:var(--ink)!important}
[data-theme="dark"] #financeiro .financePanel,[data-theme="dark"] #financeiro .financePanelHead,[data-theme="dark"] #tributario .dreInputs{color:var(--ink)!important;background:var(--surface)!important}
[data-theme="dark"] #cadastrovip .vipSnapshot,[data-theme="dark"] #cadastrovip .vipSnapshot>div,[data-theme="dark"] #cadastrovip .vipHealth,[data-theme="dark"] #cadastrovip .vipHealth>div,[data-theme="dark"] #seguranca .cameraChannel,[data-theme="dark"] #seguranca .cameraEmpty,[data-theme="dark"] #seguranca .securityNote,[data-theme="dark"] #seguranca .mosaicTile,[data-theme="dark"] #seguranca .cameraEntry{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #cadastrovip .vipSnapshot strong,[data-theme="dark"] #cadastrovip .vipHealth strong,[data-theme="dark"] #seguranca .cameraChannel strong{color:var(--ink)!important}
[data-theme="dark"] #seguranca .cameraChannel span,[data-theme="dark"] #cadastrovip .vipSnapshot small{color:var(--ink2)!important}
[data-theme="dark"] #platform #nav button.active{color:var(--ink)!important}
#pccSide strong,#pccSide .pccName{color:#ECF0F4!important}
@keyframes pccEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes pccPing{50%{box-shadow:0 0 0 8px transparent}}
@keyframes pccFlow{to{background-position:-200% 0}}
@media(max-width:1100px){.pccMainGrid{grid-template-columns:1fr 1fr}.pccMainGrid>.pccActivity{grid-column:1/-1}.pccStations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .pccMobileHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:34;margin:-18px -16px 18px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 3px 14px #00000008}
 .pccMobileBrand{display:flex;align-items:center;justify-content:flex-start;width:48px;height:44px}
 .pccMobileBrand img{display:block;width:44px;height:44px;object-fit:contain}
 .pccMobileLogout{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--ink);font:600 14px Geist,system-ui;cursor:pointer}
 .pccMobileLogout svg{width:19px;height:19px}.pccMobileLogout:active{transform:scale(.97)}
 #platform.wrap{margin:0!important;padding:18px 16px 100px!important}
 #pccSide{inset:auto 12px 12px;width:calc(100% - 24px);height:68px;padding:5px;border-radius:20px;box-shadow:0 8px 30px #0004}
 .pccSideBrand,.pccPartner,.pccSideFoot{display:none}.pccSideLinks{display:flex;justify-content:space-around;gap:0;height:100%}
 .pccSideLinks button{display:grid;justify-items:center;align-content:center;gap:1px;min-height:58px;padding:3px;font-size:10px;width:auto;flex:1;text-align:center}
 .pccSideLinks button svg{width:18px;height:18px}.pccSideLinks .liveDot{display:none}
 .pccLiveHead{align-items:start}.pccLiveHead .pccHeadActions{display:grid;justify-items:end}.pccLiveHead time{font-size:10px}
 .pccMainGrid,.pccStations{grid-template-columns:1fr}.pccMainGrid>.pccActivity{grid-column:auto}
 .pccStationHead{align-items:start;flex-wrap:wrap}.pccRevenueValue{font-size:42px}
 .pccAttention{flex-wrap:wrap}.pccAttention button{margin-left:0}
 #platform #nav .navCluster{overflow-x:auto;flex-wrap:nowrap!important;width:100%}#platform #nav button{white-space:nowrap;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.pccLiveCard,.pccStation,.pccConnector.charging:after,.pccDot,.liveDot{animation:none!important;transition:none!important;transform:none!important}.pccVideoFrame{transition:none!important;transform:none!important}}

/* O texto das opções deve acompanhar o fundo do tema, inclusive quando marcado. */
#platform #seguranca label.mosaicChoice{color:#173755!important}
#platform #seguranca label.mosaicChoice:has(input:checked){color:#102f54!important}
[data-theme="dark"] #platform #seguranca label.mosaicChoice{background:#17232f!important;color:#dce8f5!important;border-color:#344a5f!important}
[data-theme="dark"] #platform #seguranca label.mosaicChoice:has(input:checked){background:#193656!important;color:#fff!important;border-color:#61a4ff!important;box-shadow:inset 3px 0 0 #61a4ff}
[data-theme="dark"] #platform #seguranca label.mosaicChoice small{color:#b6c9dc!important}

/* Superfícies antigas com cores fixas precisam acompanhar o tema do painel. */
[data-theme="dark"] #financeiro .financeSiteOptions{
 background:#172332!important;border-color:#3c5168!important;box-shadow:0 16px 35px #0008
}
[data-theme="dark"] #financeiro .financeSiteOptions label{color:#ecf0f4!important}
[data-theme="dark"] #financeiro .financeSiteOptions label:hover,
[data-theme="dark"] #financeiro .financeSiteOptions label:focus-within{background:#25405d!important}
[data-theme="dark"] #financeiro .financeSiteOptions input{accent-color:#9bb9ff}
[data-theme="dark"] #financeiro #financeStationSelect{background:var(--surface2)!important;color:var(--ink)!important;border-color:var(--line)!important}
[data-theme="dark"] #financeiro .stationFinance .stationFinanceMeta{color:#b9cadc!important}
[data-theme="dark"] #financeiro .stationFinance .stationFinanceValue{color:#e7f0ff!important}
[data-theme="dark"] #financeiro .stationFinance[aria-pressed="true"]{background:#1b2b40!important;border-color:#9bb9ff!important}
[data-theme="dark"] #financeiro .stationFinance svg polyline{stroke:#91b7ff}
[data-theme="dark"] #financeiro .stationFinance svg circle{fill:#91b7ff;stroke:#172332}
[data-theme="dark"] #platform .collapsiblePanel[open]>summary,
[data-theme="dark"] #platform .inlineHistory[open]>summary{
 background:#1b2b40!important;border-bottom-color:#344a60!important;color:#ecf0f4!important
}
[data-theme="dark"] #platform .collapsiblePanel>summary,
[data-theme="dark"] #platform .inlineHistory>summary{color:#ecf0f4!important}
[data-theme="dark"] #platform .collapsiblePanel>summary::after,
[data-theme="dark"] #platform .inlineHistory>summary::after{
 background:#172332!important;border-color:#526982!important;color:#dceaff!important
}
[data-theme="dark"] #field .metric{
 background:#1b2a3b!important;border-color:#3c5168!important;color:#ecf0f4!important
}
[data-theme="dark"] #field .metric strong{color:#fff!important}
[data-theme="dark"] #field .metric span{color:#c0ccda!important}

/* Desktop workspace with persistent camera dock. */
.pccSplitToggle{display:none}.pccSplitStatus{display:block;font-size:12px;color:var(--ink2)}
#pccSplitCameras[hidden]{display:none!important}
@media(min-width:1024px){
 .pccSideFoot .pccSplitToggle{display:flex;align-items:center;gap:9px;width:100%;padding:12px 8px;margin-bottom:8px;border:1px solid #ffffff24;border-radius:10px;background:#ffffff0c;color:#fff;font:500 14px Geist,system-ui;cursor:pointer}
 .pccSplitToggle[aria-pressed="true"]{background:#ffffff22!important}
 body.pccSplit #platform.wrap{width:calc(60vw - 80px)!important;max-width:none!important;margin:0 0 0 80px!important;padding:18px 18px 72px!important;overflow-x:hidden}
 #pccSplitCameras{position:fixed;right:0;top:0;width:40vw;height:100dvh;z-index:36;display:flex;flex-direction:column;background:#05080d;border-left:1px solid #253447;box-shadow:-8px 0 30px #0002}
 .pccSplitHead{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#eaf1fa;font-size:14px}
 .pccSplitHead button{min-height:36px;padding:6px 12px;background:#192331;border:1px solid #35455b;border-radius:8px;color:#fff;font:500 14px Geist,system-ui;cursor:pointer}
 #pccSplitCameras #securityMosaic{flex:1;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#000!important;box-shadow:none}
 #pccSplitCameras .mosaicHead,#pccSplitCameras .mosaicTileHead{display:none!important}
 #pccSplitCameras .mosaicGrid{height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:2px;background:#182332}
 #pccSplitCameras .mosaicTile{position:relative;container-type:size;min-width:0;min-height:0;border:0!important;border-radius:0;background:#000!important;overflow:hidden}
 #pccSplitCameras .mosaicTile iframe{position:absolute;left:50%;top:50%;display:block;width:max(100cqw,177.777778cqh)!important;height:max(100cqh,56.25cqw)!important;max-width:none!important;max-height:none!important;aspect-ratio:16/9!important;border:0;opacity:1;transform:translate(-50%,-50%)!important}
 #pccSplitCameras .mosaicTileState{position:absolute;inset:auto 0 0;padding:6px 8px;background:#000b;color:#fff;min-height:0;font-size:12px;pointer-events:none}
 #pccSplitCameras .mosaicTile:has(iframe) .mosaicTileState{display:none}
 body.pccSplit .pccLiveHead{flex-wrap:wrap;gap:10px}
 body.pccSplit .pccMainGrid{grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr)!important;gap:12px;align-items:start}
 body.pccSplit .pccMainGrid>.pccRevenue{grid-column:auto;min-width:0;padding:18px}
 body.pccSplit .pccMainGrid>.pccMetrics{grid-column:auto;grid-template-columns:minmax(0,1fr)!important;gap:10px;align-content:start}
 body.pccSplit .pccMainGrid>.pccActivity{grid-column:1/-1}
 body.pccSplit .pccLiveCard{min-width:0;padding:16px}
 body.pccSplit .pccRevenueValue{font-size:clamp(22px,3vw,36px);overflow-wrap:anywhere}
 body.pccSplit .pccRevenue .pccRevenueChart{min-width:0;margin:20px 0 0;padding:15px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none!important;background:transparent;overflow:visible;animation:none;transform:none!important}
 body.pccSplit .pccChartPlot{min-width:0;overflow-x:auto}
 body.pccSplit .pccDailyCurve{min-width:0}
}
@media(min-width:1024px) and (max-width:1280px){
 body.pccSplit .pccMainGrid{grid-template-columns:minmax(0,1fr)!important}
 body.pccSplit .pccMainGrid>.pccMetrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.pccSplit .pccMainGrid>.pccActivity{grid-column:auto}
}


/* premium-v79.css */
.pccDailyCurve{margin-top:22px;min-height:125px;color:var(--ink3)}.pccDailyCurve svg{display:block;width:100%;height:94px;overflow:visible}.pccDailyCurve path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:700;stroke-dashoffset:700;animation:pccDraw 1.4s ease forwards}.pccDailyCurve .pccCurveToday{stroke:var(--brand)}.pccDailyCurve .pccCurvePrevious{stroke:var(--ink3);stroke-width:2;opacity:.7}.pccDailyCurve small{display:block;margin-top:8px;font-size:11px}
@keyframes pccDraw{to{stroke-dashoffset:0}}
.pccStationDetails h3{margin:0 0 12px;font-size:15px;color:var(--ink)}
.pccPalette{position:fixed;z-index:10000;inset:0}.pccPaletteBackdrop,.pccMobileBackdrop{position:absolute;inset:0;background:#07111bc9;backdrop-filter:blur(7px)}.pccPalette section{position:relative;max-width:600px;margin:12vh auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 80px #0006;border-radius:18px;padding:14px}.pccPalette input{width:100%;padding:16px;background:var(--surface2);color:var(--ink);border:1px solid var(--line);border-radius:10px;font:inherit}.pccPalette [role=listbox]{max-height:55vh;overflow:auto;margin:8px 0}.pccPalette [role=option]{display:block;width:100%;text-align:left;padding:12px;background:transparent;border:0;color:var(--ink);font:inherit;border-radius:8px;cursor:pointer}.pccPalette [aria-selected=true]{background:var(--chgBg);color:var(--chg)}.pccPalette small{color:var(--ink3)}
#pccTV{position:fixed;z-index:9999;inset:0;background:#080f1b;color:#f2f6ff;padding:4vw;display:flex;flex-direction:column}#pccTV[hidden]{display:none}#pccTV header,#pccTV footer{display:flex;align-items:center;justify-content:space-between;gap:20px}#pccTV main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#pccTV h1{font-size:clamp(34px,6vw,85px);margin:0}#pccTV main p{font-size:clamp(25px,4vw,65px);max-width:90vw;line-height:1.3}#pccTV button{border:1px solid #627294;background:#1e2b42;color:#fff;padding:12px 20px;border-radius:12px;cursor:pointer}#pccTV .pccTVProgress{height:5px;flex:1;border-radius:8px;background:linear-gradient(90deg,#8dadff var(--tv-progress),#364562 var(--tv-progress))}#pccTV .pccTVProgress:not(.paused){animation:pccTVPulse 10s linear infinite}@keyframes pccTVPulse{50%{opacity:.6}}
#pccTV h1,#pccTV main p,#pccTV header strong{color:#f2f6ff!important}
#platform .vipModeBanner{background:#971d1d!important;color:#fff!important}
#platform .vipModeBanner span{color:#fff!important}
#platform .vipModeBanner button{background:#fff;color:#7f1616!important}
#view-expansao .mx-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#view-expansao .mx-lane{background:var(--surface2);border:1px solid var(--line);border-radius:16px;padding:12px;min-height:240px}#view-expansao .mx-lane h3{padding:8px 4px 18px}#view-expansao .mx-rec{margin:0 0 10px;cursor:grab}#view-expansao .mx-rec h4{margin:10px 0;color:var(--ink)}#view-expansao .mx-rec-actions{display:flex;gap:8px;margin-top:12px}#view-expansao .mx-rec small{color:var(--ink3)}
.pccMobileSheet{position:fixed;z-index:9000;inset:0}.pccMobileSheet section{position:absolute;bottom:0;left:0;right:0;max-height:83dvh;overflow:auto;background:var(--surface);color:var(--ink);border-radius:22px 22px 0 0;padding:20px}.pccSheetClose{float:right;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);color:var(--ink)}.pccMobileSheet .pccStation{box-shadow:none;border:0;margin-top:25px}
.pccSwipeDetail{display:none}
@media(max-width:767px){#view-expansao .mx-board{grid-template-columns:1fr}.pccStation.pccSwiped{transform:translateX(-70px)}.pccStation .pccSwipeDetail{display:block;position:absolute;right:-68px;top:42%;width:62px;padding:12px 4px;background:var(--brand);color:var(--brandInk);border:0;border-radius:8px;opacity:0;pointer-events:none}.pccStation.pccSwiped .pccSwipeDetail{opacity:1;pointer-events:auto}.pccPalette section{margin:5vh 12px}.pccStation{position:relative}}
@media(prefers-reduced-motion:reduce){.pccDailyCurve path{animation:none;stroke-dashoffset:0}#pccTV .pccTVProgress{animation:none!important}}


/* tokens.css */
:root{
 --spring:linear(0, 0.0263, 0.0933, 0.1856, 0.2911, 0.4007, 0.5077, 0.6076, 0.6974, 0.7757, 0.8421, 0.8966, 0.9402, 0.9739, 0.9989, 1.0165, 1.0282, 1.0349, 1.038, 1.0382, 1.0365, 1.0335, 1.0297, 1.0255, 1.0213, 1.0173, 1.0136, 1.0103, 1.0075, 1.0052, 1.0032, 1.0017, 1.0006, 0.9997, 0.9992, 0.9988, 0.9986, 0.9985, 0.9986, 0.9986, 1);
 --ease-out:cubic-bezier(.16,1,.3,1);
 --shadow:0 0 0 1px rgba(15,23,32,.03),0 1px 1px rgba(15,23,32,.03),0 2px 4px rgba(15,23,32,.03),0 8px 16px -4px rgba(15,23,32,.05),0 18px 36px -12px rgba(15,23,32,.07);
 --shadow-up:0 0 0 1px rgba(15,23,32,.04),0 2px 2px rgba(15,23,32,.03),0 6px 10px rgba(15,23,32,.04),0 16px 28px -6px rgba(15,23,32,.08),0 30px 60px -18px rgba(15,23,32,.12);
 --dur-fast:160ms;--dur-spring:550ms;
}
@supports not (transition-timing-function:linear(0,1)){:root{--spring:cubic-bezier(.34,1.3,.64,1)}}
[data-theme="dark"]{--shadow:0 1px 2px #0005,0 10px 28px #0004;--shadow-up:0 2px 4px #0007,0 20px 48px #0007}
#platform .panel,#platform .card,#platform .pccLiveCard,#platform .pccStation,#view-expansao .mx-card{box-shadow:var(--shadow)!important;transition:transform var(--dur-spring) var(--spring)}
@media (hover:hover){#platform .panel:hover,#platform .card:hover,#platform .pccLiveCard:hover,#platform .pccStation:hover,#view-expansao .mx-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-up)!important}}
button:not(:disabled){transition:transform var(--dur-spring) var(--spring)}
button:not(:disabled):active{transform:scale(.97)!important;transition-duration:120ms}
button[aria-busy="true"]::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:pccSpin .8s linear infinite}
@keyframes pccSpin{to{transform:rotate(360deg)}}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand)!important;outline-offset:3px}
#platform button,#pccSide button,.modal button{min-height:44px}
#platform button.pccInfo,.modal .modalHead button{min-width:44px}
.modal,.pccPremiumOverlay{background:rgba(15,23,32,.22)!important;backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2)}
.vipModeDialog::backdrop{background:rgba(15,23,32,.22);backdrop-filter:blur(8px) saturate(1.2)}
@supports not (backdrop-filter:blur(8px)){.modal,.pccPremiumOverlay{background:rgba(15,23,32,.7)!important}.vipModeDialog::backdrop{background:rgba(15,23,32,.7)}}
#platform .pccLiveCard,#platform .pccStation,#view-expansao .mx-card{animation:pccPremiumIn var(--dur-spring) var(--spring) both}
#platform .pccLiveCard:nth-child(2),#platform .pccStation:nth-child(2),#view-expansao .mx-card:nth-child(2){animation-delay:30ms}
#platform .pccLiveCard:nth-child(3),#platform .pccStation:nth-child(3),#view-expansao .mx-card:nth-child(3){animation-delay:60ms}
#platform .pccLiveCard:nth-child(4),#platform .pccStation:nth-child(4),#view-expansao .mx-card:nth-child(4){animation-delay:90ms}
#platform .pccStation:nth-child(5),#view-expansao .mx-card:nth-child(5){animation-delay:120ms}
#platform .pccStation:nth-child(6),#view-expansao .mx-card:nth-child(6){animation-delay:150ms}
#platform .pccStation:nth-child(7),#view-expansao .mx-card:nth-child(7){animation-delay:180ms}
#platform .pccStation:nth-child(8),#view-expansao .mx-card:nth-child(8){animation-delay:210ms}
@keyframes pccPremiumIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pccRolling{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1;font-variant-numeric:tabular-nums;user-select:none}
.pccRollingDigit{display:inline-block;vertical-align:top;height:1em;width:.65em;overflow:hidden;line-height:1;user-select:none;transition:width var(--dur-spring) var(--spring)}
.pccRollingTrack{display:flex;flex-direction:column;line-height:1;transition:transform var(--dur-spring) var(--spring)}
.pccRollingTrack>span{height:1em;line-height:1}
.pccRollingFixed{white-space:pre}
.pccRevenueMeta .pccRolling{font-size:inherit;font-weight:600}
.pccDataFade{animation:pccDataFade 200ms ease-out both}
@keyframes pccDataFade{from{opacity:0}to{opacity:1}}
.pccSkeleton{position:relative;overflow:hidden;color:transparent!important;background:var(--offBg);border-radius:8px;min-width:4em;min-height:1em}
.pccSkeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--surface2),transparent);transform:translateX(-100%);animation:pccShimmer 1.8s ease-in-out infinite}
@keyframes pccShimmer{to{transform:translateX(100%)}}
.pccSyncRing{display:inline-flex;vertical-align:middle;margin-right:7px;color:var(--off);width:22px;height:22px}
.pccSyncRing svg{width:22px;height:22px;transform:rotate(-90deg)}
.pccSyncRing .progress{stroke:currentColor}
.pccSyncRing.stale{color:var(--warn)}.pccSyncRing.late{color:var(--down)}
.pccToastStack{position:fixed;z-index:80;right:18px;bottom:18px;display:grid;gap:8px;max-width:min(380px,calc(100vw - 36px))}
.pccToast{padding:13px 16px;border-radius:12px;background:#0f1720;color:#fff;box-shadow:var(--shadow-up);font-size:14px;line-height:1.4;animation:pccToastIn var(--dur-spring) var(--spring) both}
.pccToast.exit{animation:pccToastOut 180ms ease-in forwards}
.pccToast:hover{animation-play-state:paused}
@keyframes pccToastIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pccToastOut{to{opacity:0;transform:translateY(6px)}}
.pccHoldDemo{margin:18px 0 4px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pccHoldDemo button{position:relative;overflow:hidden;min-height:52px;padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;touch-action:none}
.pccHoldDemo button::before{content:"";position:absolute;inset:0;background:var(--brand);opacity:.13;transform:scaleX(0);transform-origin:left;transition:transform 160ms linear}
.pccHoldDemo button.holding::before{transform:scaleX(1);transition-duration:1500ms}
.pccHoldDemo button>*{position:relative}.pccHoldDemo small{color:var(--ink3);font-size:13px}
#pccSide .liveDot,#platform .pccLiveHead .pccDot{position:relative;animation:none}
#pccSide .liveDot::after,#platform .pccLiveHead .pccDot::after{content:"";position:absolute;inset:-5px;border:2px solid currentColor;border-radius:50%;animation:pccPulse 1.8s ease-out infinite}
@keyframes pccPulse{from{transform:scale(.5);opacity:.55}to{transform:scale(1.5);opacity:0}}
#platform .pccConnector.charging::after{background:var(--chg);background-size:auto;animation:pccChargeScale 1.6s ease-in-out infinite alternate;transform-origin:left}
@keyframes pccChargeScale{from{transform:scaleX(.25);opacity:.5}to{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pccHoldDemo button::before{display:none}}


/* contrast-v80.css */
/* Dark theme: keep text and surface colors paired in the affected legacy widgets. */
[data-theme="dark"] #platform #statusmvp .statusFilters {
  background:#1e2b3a;
  border:1px solid #42566d;
}
[data-theme="dark"] #platform #statusmvp .statusFilters button {
  background:transparent;
  color:#d4e0ed!important;
}
[data-theme="dark"] #platform #statusmvp .statusFilters button:hover,
[data-theme="dark"] #platform #statusmvp .statusFilters button:focus-visible {
  background:#31465c;
  color:#fff!important;
}
[data-theme="dark"] #platform #statusmvp .statusFilters button[aria-pressed="true"] {
  background:#dce9f7;
  color:#123552!important;
  box-shadow:0 1px 5px #0005;
}
[data-theme="dark"] #platform #statusmvp .statusFootnote {
  background:#1b2d40;
  border-left-color:#7abaff;
  color:#e1ebf6!important;
}
[data-theme="dark"] #platform #cadastrovip .vipPersonActions button {
  background:#213247;
  border-color:#52708f!important;
  color:#edf5ff!important;
}
[data-theme="dark"] #platform #cadastrovip .vipPersonActions button:hover,
[data-theme="dark"] #platform #cadastrovip .vipPersonActions button:focus-visible {
  background:#304b68;
  border-color:#8db9e6!important;
  color:#fff!important;
}
[data-theme="dark"] #platform #cadastrovip .vipPersonActions button.danger {
  background:#3d2428;
  border-color:#a65c64!important;
  color:#ffd8d6!important;
}
[data-theme="dark"] #platform #cadastrovip .vipPersonActions button.danger:hover,
[data-theme="dark"] #platform #cadastrovip .vipPersonActions button.danger:focus-visible {
  background:#543038;
  color:#fff!important;
}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  background:#241c24!important;
  border:1px solid #8c4b5d!important;
  box-shadow:inset 3px 0 0 #e68199;
  color:#f4e9ec!important;
}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm label{
  flex-basis:100%;
  color:#f4e9ec!important;
  font-size:13px;
  line-height:1.5;
}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm input{
  margin:0;
  min-height:44px;
  width:min(240px,100%);
  background:#141d29!important;
  border:1px solid #8795aa!important;
  color:#f5f8fc!important;
}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm input::placeholder{color:#aab7c8;opacity:1}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm input:focus-visible{
  outline:2px solid #9cbaff;
  outline-offset:2px;
}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm button{
  min-height:44px;
  padding:9px 14px;
  border:1px solid #e68199!important;
  border-radius:9px;
  background:#85374c!important;
  color:#fff!important;
  font-weight:700;
  cursor:pointer;
}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm button:hover,
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm button:focus-visible{
  background:#a14960!important;
  border-color:#ffb4c5!important;
}
[data-theme="dark"] #platform #cadastrovip .vipDeleteForm button:disabled{opacity:.65;cursor:wait}
[data-theme="dark"] #platform #cadastrovip .vipPerson .vipTag.pending{color:#f5bf7e!important}
@media(max-width:540px){
  [data-theme="dark"] #platform #cadastrovip .vipDeleteForm input,
  [data-theme="dark"] #platform #cadastrovip .vipDeleteForm button{width:100%}
}
/* Teste em campo: legacy light surfaces conflicted with the global dark text override. */
[data-theme="dark"] #platform #field .tabs button,
[data-theme="dark"] #platform #field .site-row button {
  background:#213247!important;
  border-color:#52708f!important;
  color:#edf5ff!important;
}
[data-theme="dark"] #platform #field .tabs button:hover,
[data-theme="dark"] #platform #field .tabs button:focus-visible,
[data-theme="dark"] #platform #field .site-row button:hover,
[data-theme="dark"] #platform #field .site-row button:focus-visible {
  background:#304b68!important;
  border-color:#8db9e6!important;
  color:#fff!important;
}
[data-theme="dark"] #platform #field .tabs button.active,
[data-theme="dark"] #platform #field .tabs button.active:hover,
[data-theme="dark"] #platform #field .tabs button.active:focus-visible {
  background:#235ba5!important;
  border-color:#629bea!important;
  color:#fff!important;
}
[data-theme="dark"] #platform #field .notice {
  background:#1b2d40!important;
  border-color:#52708f!important;
  color:#e1ebf6!important;
}
[data-theme="dark"] #platform #field .record small {color:#b8c9da!important}
[data-theme="dark"] #platform #field .workspace-status {color:#9bb9ff!important}
[data-theme="dark"] #platform #field .workspace-status.error {color:#ff9c91!important}


/* chart-v81.css */
:root{--v81-today:#1D4FD8;--v81-prior:#7D8794;--v81-grid:#e2e8f0;--v81-ink:#243244}
[data-theme="dark"]{--v81-today:#6A8CFA;--v81-prior:#5E6977;--v81-grid:#314054;--v81-ink:#e7edf5}
.pccDailyCurve{margin-top:20px;min-height:0!important;color:var(--v81-ink)}
.pccRevenueChart{margin-bottom:28px}
.pccRevenueChart .pccDailyCurve{margin-top:0}
.pccChartHead,.pccChartSummary,.pccChartLegend,.pccChartLabels{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pccChartHead{justify-content:space-between;font-size:14px}
.pccChartHead strong{color:var(--v81-ink)}
.pccChartToggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--v81-grid);border-radius:9px}
#platform .pccChartToggle button{min-height:30px;padding:3px 10px;color:var(--v81-ink);background:transparent;border:0;border-radius:6px;font-size:12px}
#platform .pccChartToggle button[aria-pressed="true"]{background:var(--v81-today);color:#fff}
[data-theme="dark"] #platform .pccChartToggle button[aria-pressed="true"]{color:#091323}
.pccChartSummary{font-size:12px;margin-top:9px;justify-content:space-between;color:var(--v81-ink)}
.pccChartChip{font-weight:750;border:1px solid var(--v81-grid);border-radius:20px;padding:3px 8px}
.pccChartPlot{position:relative;min-width:0}
.pccDailyCurve .pccChartPlot svg{display:block;width:100%;height:320px;min-height:300px;overflow:visible;cursor:crosshair;touch-action:pan-y}
.pccDailyCurve .pccChartPlot path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
.pccChartGrid,.v81-grid{stroke:var(--v81-grid);stroke-width:1}
.pccChartAxis,.pccNowText,.pccDirectLabel,.v81-axis,.v81-direct,.v81-spark-label{fill:var(--v81-ink);font-size:12px;font-weight:500}
.pccNowText{font-size:12px;font-weight:650}
.pccDirectLabel{font-size:11px;font-weight:650;paint-order:stroke;stroke:var(--surface,#fff);stroke-width:3px}
[data-theme="dark"] .pccDirectLabel{stroke:#162337}
.pccDailyCurve .pccChartArea,.v81-area{fill:url(#pccV81Fill);stroke:none}
#financeiro .v81-area{fill:url(#chartFill)}
.pccDailyCurve .pccCurveToday,.v81-current{fill:none;stroke:var(--v81-today);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.pccDailyCurve .pccCurvePrevious,.pccDailyCurve .pccCurveFuture,.v81-previous{fill:none;stroke:var(--v81-prior);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:1}
.pccDailyCurve .pccCurveFuture{opacity:.38}
.pccNowLine{stroke:var(--v81-prior);stroke-width:1;stroke-dasharray:4 4}
.pccPriorDot,.v81-prior-dot{fill:var(--v81-prior);stroke:var(--v81-ink);stroke-width:1}
.pccPulseDot,.v81-current-dot{fill:var(--v81-today);stroke:var(--v81-ink);stroke-width:1}
.pccPulseDot{transform-box:fill-box;transform-origin:center;animation:v81Pulse 2s ease-in-out infinite}
@keyframes v81Pulse{50%{transform:scale(1.7);opacity:.55}}
.pccDailyCurve .pccCurveToday{stroke-dasharray:1200;stroke-dashoffset:1200;animation:v81Draw 1.4s ease-out forwards}
@keyframes v81Draw{to{stroke-dashoffset:0}}
.pccHoverLine{stroke:var(--v81-today);stroke-width:1;opacity:0;pointer-events:none}
.pccHoverDot{fill:var(--v81-today);stroke:var(--v81-ink);stroke-width:1.5;opacity:0;pointer-events:none}
.pccChartPlot svg.is-hovered .pccHoverLine,.pccChartPlot svg.is-hovered .pccHoverDot{opacity:1}
.pccChartTip{position:absolute;top:12px;z-index:2;transform:translateX(-50%);max-width:min(350px,95%);padding:7px 10px;border-radius:8px;background:var(--v81-ink);color:var(--surface,#fff);font-size:11px;line-height:1.4;pointer-events:none;box-shadow:0 8px 24px #0003}
[data-theme="dark"] .pccChartTip{color:#0d1829}
.pccChartTip[hidden],.pccChartPlot[hidden],.pccChartTable[hidden],.pccChartLabels[hidden],.pccChartLegend[hidden]{display:none!important}
.pccChartLabels{justify-content:space-between;color:var(--v81-ink);font-size:12px;font-weight:650}
.pccChartLabels span{border:1px solid var(--v81-grid);border-radius:7px;padding:4px 7px}
.pccChartLegend{font-size:11px;margin-top:8px;color:var(--v81-ink)}
.pccChartLegend span{display:inline-flex;align-items:center;gap:5px}
.pccChartLegend i,#financeiro .chartLegend .legendMark{width:16px;height:0;border-top:2.5px solid var(--v81-today);border-radius:2px;display:inline-block;background:none}
.pccChartLegend .pccLegendPrior,#financeiro .chartLegend .legendMark.previous{border-color:var(--v81-prior)}
.pccChartTable{max-height:300px;overflow:auto;margin-top:12px}
.pccChartTable table{border-collapse:collapse;width:100%;font-size:12px;color:var(--v81-ink)}
.pccChartTable caption{caption-side:top;text-align:left;font-size:11px;padding:5px}
.pccChartTable th,.pccChartTable td{text-align:right;border-bottom:1px solid var(--v81-grid);padding:6px}
.pccChartTable th:first-child,.pccChartTable td:first-child{text-align:left}
#financeiro .financeChart .v81-current,#financeiro .stationFinance .v81-current{stroke:var(--v81-today);stroke-width:2.5;fill:none}
#financeiro .financeChart .v81-previous{stroke:var(--v81-prior);stroke-width:2;fill:none}
#financeiro .financeChart .v81-direct{font-weight:650}
#financeiro .financeChart .v81-direct-prior{font-weight:500}
#financeiro .financeChart .chartTrack{stroke:var(--v81-today);stroke-width:1;stroke-dasharray:none}
#financeiro .financeChart .chartDot{fill:var(--v81-today)}
#financeiro .chartLegend{color:var(--v81-ink)}
#financeiro .stationFinance .v81-spark-label{font-size:11px;font-weight:650}
#financeiro .v81-spark{display:block;position:relative;width:100%}
#financeiro .v81-spark svg{display:block;width:100%;height:auto}
#financeiro .v81-spark-track{stroke:var(--v81-today);stroke-width:1;opacity:0;pointer-events:none}
#financeiro .v81-spark-dot{fill:var(--v81-today);stroke:var(--v81-ink);stroke-width:1;opacity:0;pointer-events:none}
#financeiro .v81-spark.is-hovered .v81-spark-track,#financeiro .v81-spark.is-hovered .v81-spark-dot{opacity:1}
#financeiro .v81-spark-tip{position:absolute;bottom:100%;transform:translateX(-50%);padding:4px 7px;white-space:nowrap;border-radius:6px;background:var(--v81-ink);color:#fff;font-size:12px;z-index:4;pointer-events:none}
[data-theme="dark"] #financeiro .v81-spark-tip{color:#0d1829}
#financeiro .v81-spark-tip[hidden]{display:none!important}
@media(max-width:600px){.pccChartHead{align-items:flex-start}.pccChartSummary{justify-content:flex-start}.pccChartLabels{font-size:11px}.pccDailyCurve .pccChartPlot svg{min-height:300px}}
@media(prefers-reduced-motion:reduce){.pccDailyCurve .pccCurveToday,.pccPulseDot{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;transform:none!important}}


/* brand-official.css */
/* Official Charge Control mark: the blue bolt within the PROTEC padlock. */
.pccProductLockup{display:inline-flex;align-items:center;gap:11px;min-width:0;color:#fff}
.pccProductLockup img{display:block;width:62px;height:62px;flex:none;border-radius:13px;object-fit:cover;background:#000}
.pccProductWord{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.pccProductWord strong{font-size:20px;letter-spacing:.11em;font-weight:800;color:inherit}
.pccProductWord small{font-size:12px;font-weight:600;letter-spacing:.02em;color:#b9c9e2;margin-top:5px;white-space:nowrap}
.top .brand .pccProductLockup{color:#172a43}
.top .brand .pccProductWord small{color:#465a70}
.top .brand .logoWrap{min-width:0}
.pccSideLogo{position:relative;width:42px;height:42px;border-radius:10px;flex:none;overflow:hidden;background:#000}
.pccSideLogo img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
#pccTV .pccTVBrand{display:inline-flex;align-items:center;gap:12px}
#pccTV .pccTVBrand img{width:40px;height:40px;border-radius:9px;object-fit:cover;background:#000}
@media(max-width:850px){
 .top .brand .pccProductLockup img{width:48px;height:48px}
}
@media(max-width:620px){
 .top .brand .pccProductLockup img{width:40px;height:40px}
 .top .brand .pccProductWord strong{font-size:14px}
 .top .brand .pccProductWord small{font-size:10px}
}


/* v96.css */
/* v96: full width revenue graph, theme coherent finance notice and VIP confirmation. */
.pccRevenueChart{width:100%}
.pccRevenueChart .pccChartPlot{min-height:300px}
.pccRollingDigit,.pccRollingTrack{user-select:none}
#financeiro .financeState{background:#edf4ff;color:#244f7d;border-color:#b8d0ef}
[data-theme="dark"] #financeiro .financeState{background:#17283f;color:#dce9ff;border-color:#435b7b}
[data-theme="dark"] #financeiro .financeState[data-state="error"]{background:#3a2029;color:#ffe1e3;border-color:#9a4e59}
#financeiro .financePending{font-size:13px;line-height:1.5;color:#536783;margin:-4px 0 14px}
[data-theme="dark"] #financeiro .financePending{color:#b9cce5}
.financeSparkEmpty{display:block;margin-top:12px;color:#65758a;font-size:12px}
[data-theme="dark"] .financeSparkEmpty{color:#bfcee0}
.vipConfirmBlock{width:min(420px,calc(100vw - 32px));max-width:none;padding:25px;border:1px solid #b6cadf;border-radius:16px;background:var(--surface,#fff);color:var(--ink,#152c44);box-shadow:0 24px 70px #0007}
.vipConfirmBlock::backdrop{background:#061425aa;backdrop-filter:blur(3px)}
.vipConfirmBlock h3{margin:0 0 12px;font-size:20px}
.vipConfirmBlock p{margin:0 0 24px;line-height:1.5}
.vipConfirmActions{display:flex;justify-content:flex-end;gap:10px}
.vipConfirmActions button{min-height:44px;padding:9px 16px;border-radius:9px;border:1px solid var(--line,#b6cadf);background:var(--surface2,#f0f5fb);color:var(--ink,#152c44);cursor:pointer}
.vipConfirmActions .danger{background:#a12d3a;border-color:#a12d3a;color:#fff}
.vipFreeAccessBanner{margin:12px 0;padding:13px 16px;border:1px solid #98bad9;border-radius:12px;background:#eaf4ff;color:#173957;line-height:1.5}
[data-theme="dark"] .vipFreeAccessBanner{background:#152b42;border-color:#416789;color:#e3f0ff}
/* v96.1: full financial figures and distinct partial-day marker. */
#financeiro .financeGrid .big{white-space:nowrap;overflow-wrap:normal;font-size:clamp(16px,1.9vw,28px);letter-spacing:-.025em}
@media(max-width:540px){#financeiro .financeGrid{grid-template-columns:minmax(0,1fr)}#financeiro .financeGrid .big{font-size:clamp(20px,6vw,28px)}}
#financeiro .v961-partial-dot{fill:var(--surface,#fff);stroke:var(--v81-today);stroke-width:2.5;stroke-dasharray:3 2;pointer-events:none}
#financeWindowNote{margin-top:5px;color:var(--muted,#5d6d82)}
/* Estado da rede: contraste dos indicadores sobre o painel azul. */
#statusmvp .statusHero:not(.uncertain) .small{color:#afcdea!important}
#statusmvp .statusHero:not(.uncertain)>div:first-child>strong{color:#f5f9ff!important}
#statusmvp .statusHero:not(.uncertain) .statusHeroSummary strong{color:#f5f9ff!important}
#statusmvp .statusHero:not(.failed):not(.uncertain) .statusHeroSummary>div:first-child strong{color:#82e6bc!important}
#statusmvp .statusHero.failed>div:first-child>strong{color:#ffd4d6!important}


/* tax-foundation.css */
#tributario .taxFoundation{margin:14px 0}
#tributario .taxFoundation h3{margin:0 0 6px}
#tributario .taxFoundation form{display:grid;gap:12px;margin-top:16px}
#tributario .taxFoundation label{display:grid;gap:5px;font-size:14px;font-weight:650;color:var(--ink,#17314d)}
#tributario .taxFoundation input,#tributario .taxFoundation select{width:100%;min-height:43px;padding:9px 11px;border:1px solid var(--line,#cbd9e7);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#17314d);font:inherit}
#tributario .taxFoundation input:disabled,#tributario .taxFoundation select:disabled{opacity:.65}
#tributario .taxFormPair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#tributario #taxDraftFeedback{font-size:14px;line-height:1.4}
#tributario .taxSessionQueue{margin:14px 0}
#tributario .taxSessionQueueSummary{cursor:pointer;list-style:none}
#tributario .taxSessionQueueSummary::-webkit-details-marker{display:none}
#tributario .taxSessionQueueSummary .financePanelHead{align-items:center;margin-bottom:0}
#tributario .taxSessionQueueSummary .financePanelHead:after{content:"+";flex:none;margin-left:14px;font-size:22px;line-height:1;color:var(--muted,#62798e)}
#tributario .taxSessionQueue[open] .taxSessionQueueSummary .financePanelHead{margin-bottom:12px}
#tributario .taxSessionQueue[open] .taxSessionQueueSummary .financePanelHead:after{content:"−"}
#tributario .taxSessionQueueContent{padding-top:0}
#tributario .taxSessionQueue .financePanelHead h3{margin:0 0 5px}
#tributario .taxSessionQueue .financePanelHead p{margin:0;color:var(--muted,#62798e);font-size:14px;line-height:1.45}
#tributario #taxQueueSessions .listItem{display:grid;gap:3px}
#tributario #taxQueueSessions .listItem small{font-size:13px;overflow-wrap:anywhere}
@media(max-width:680px){#tributario .taxFormPair{grid-template-columns:1fr}}

.invoicePanel{margin-top:16px}.invoicePanel summary{cursor:pointer;font-weight:650;padding:8px 0}.invoiceFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.invoiceFormGrid label{display:flex;flex-direction:column;gap:7px;font-size:14px}.invoiceFormGrid input,.invoiceFormGrid select{width:100%;min-width:0}#notafiscal textarea{width:100%;min-height:80px}#notafiscal .stackList .btn{margin-top:10px}@media(max-width:640px){.invoiceFormGrid{grid-template-columns:1fr}}

/* Invoice workspace: shared tokens, scoped to preserve the other modules. */
#platform #notafiscal{--invoice-accent:var(--brand);line-height:1.5}
#platform #notafiscal *{box-sizing:border-box}
#platform #notafiscal .sectionHead{align-items:center;gap:24px;margin-bottom:24px}
#platform #notafiscal .sectionHead h2{font-size:32px;letter-spacing:-.045em;margin:4px 0 8px}
#platform #notafiscal .sectionHead .small{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}
#platform #notafiscal .grid{gap:18px;margin-bottom:18px;align-items:start}
#platform #notafiscal .panel,#platform #notafiscal .card{padding:24px;border-radius:16px!important;min-width:0;transform:none!important}
#platform #notafiscal .card{position:relative;padding:22px 24px;overflow:hidden}
#platform #notafiscal .card::before{content:'';position:absolute;top:24px;bottom:24px;left:0;width:3px;background:var(--invoice-accent);border-radius:0 3px 3px 0}
#platform #notafiscal .card .small{font-size:12px;font-weight:600}
#platform #notafiscal .card .big{font-size:34px;line-height:1.15;letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:10px 0}
#platform #notafiscal .muted,#platform #notafiscal p{font-size:13px;color:var(--ink2);line-height:1.65}
#platform #notafiscal h3{font-size:18px;letter-spacing:-.025em;margin:0 0 6px}
#platform #notafiscal .section{font-size:18px;margin:4px 0 16px;letter-spacing:-.02em}
#platform #notafiscal .notice{padding:14px 18px;margin:0 0 18px;border-radius:12px;font-size:13px}
#platform #notafiscal details.panel{margin:0 0 14px;padding:0;overflow:hidden}
#platform #notafiscal details.panel>summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:20px 24px;font-size:15px;font-weight:650;transition:background .16s ease;position:relative}
#platform #notafiscal summary::-webkit-details-marker{display:none}
#platform #notafiscal summary::before{content:attr(data-step);font-size:11px;font-weight:700;letter-spacing:.04em;display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--invoice-accent)}
#platform #notafiscal summary::after{content:'';width:8px;height:8px;border-right:1.5px solid var(--ink3);border-bottom:1.5px solid var(--ink3);transform:rotate(45deg);margin-left:auto;flex:none;transition:transform .18s ease}
#platform #notafiscal details[open]>summary::after{transform:rotate(225deg)}
#platform #notafiscal details[open]>summary{border-bottom:1px solid var(--line)}
#platform #notafiscal summary:hover{background:var(--surface2)}
#platform #notafiscal summary:focus-visible{outline:2px solid var(--invoice-accent);outline-offset:-4px}
#platform #notafiscal details.panel> :not(summary){margin-left:24px;margin-right:24px}
#platform #notafiscal details.panel> :last-child{margin-bottom:24px}
#platform #notafiscal .financePanelHead{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1;margin:0;min-width:0}
#platform #notafiscal .financePanelHead h3{font-size:15px;margin:0 0 3px}
#platform #notafiscal .financePanelHead p{font-size:12px;margin:0;max-width:70ch}
#platform #notafiscal .statusTag{font-size:11px;white-space:nowrap;padding:6px 10px;border-radius:7px}
#platform #notafiscal form{display:grid;gap:20px;margin-top:22px}
#platform #notafiscal .invoiceFieldset{padding:0;margin:0;border:0;min-width:0}
#platform #notafiscal .invoiceFieldset+ .invoiceFieldset{padding-top:20px;border-top:1px solid var(--line)}
#platform #notafiscal legend{padding:0;margin-bottom:14px;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.01em}
#platform #notafiscal .invoiceFormGrid,#platform #notafiscal .taxFormPair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:0}
#platform #notafiscal .taxFormPair{grid-column:1/-1}
#platform #notafiscal label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:600;color:var(--ink2);line-height:1.5}
#platform #notafiscal input:not([type=hidden]),#platform #notafiscal select,#platform #notafiscal textarea{display:block;width:100%;min-width:0;min-height:46px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--ink);font:inherit;font-size:14px;font-weight:400;line-height:1.4;box-shadow:inset 0 1px 2px #00000004;transition:border-color .16s ease,box-shadow .16s ease}
#platform #notafiscal select{padding-right:32px}
#platform #notafiscal input::placeholder,#platform #notafiscal textarea::placeholder{color:var(--ink3);font-size:12px}
#platform #notafiscal input:focus,#platform #notafiscal select:focus,#platform #notafiscal textarea:focus{outline:none;border-color:var(--invoice-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--invoice-accent) 15%,transparent)}
#platform #notafiscal textarea{min-height:112px;resize:vertical}
#platform #notafiscal input:disabled,#platform #notafiscal select:disabled,#platform #notafiscal textarea:disabled{opacity:.6;cursor:not-allowed}
#platform #notafiscal input[readonly]{border-style:dashed;color:var(--ink2)}
#platform #notafiscal .invoiceActions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
#platform #notafiscal .invoiceActions p{margin:0}
#platform #notafiscal .btn{border-radius:9px;padding:11px 18px;font-size:13px;font-weight:650;min-height:44px;letter-spacing:0}
#platform #notafiscal .btn.primary{background:var(--brand)!important;color:var(--brandInk)!important;border-color:var(--brand)!important;box-shadow:0 3px 10px #1d4fd820}
#platform #notafiscal .stackList{margin-top:16px;gap:12px;min-width:0}
#platform #notafiscal .listItem{padding:18px 20px;border:1px solid var(--line)!important;border-radius:12px;background:var(--surface2);overflow-wrap:anywhere;font-size:14px;min-width:0;line-height:1.55}
#platform #notafiscal .listItem strong{display:block;font-size:14px;font-weight:650;letter-spacing:-.015em;line-height:1.5}
#platform #notafiscal .listItem small{display:block;color:var(--ink3);font-size:13px;margin-top:6px}
#platform #notafiscal .taxSessionQueueContent{padding-top:4px}
#platform #notafiscal #taxDraftFeedback{font-size:12px;line-height:1.5}
@media(min-width:1100px){#platform #notafiscal .invoicePanel form{max-width:1040px}#platform #notafiscal .taxFoundation{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:760px){#platform #notafiscal .grid.two,#platform #notafiscal .grid.three{grid-template-columns:1fr}#platform #notafiscal .sectionHead{align-items:flex-start;flex-direction:column;gap:12px}#platform #notafiscal .invoiceFormGrid,#platform #notafiscal .taxFormPair{grid-template-columns:1fr}#platform #notafiscal .panel,#platform #notafiscal .card{padding:20px}#platform #notafiscal details.panel{padding:0}#platform #notafiscal details.panel>summary{padding:18px 20px;gap:10px}#platform #notafiscal details.panel> :not(summary){margin-left:20px;margin-right:20px}#platform #notafiscal .financePanelHead{align-items:flex-start;flex-direction:column;gap:8px}#platform #notafiscal .invoiceActions .btn{width:100%}#platform #notafiscal .sectionHead h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){#platform #notafiscal summary::after,#platform #notafiscal input,#platform #notafiscal select,#platform #notafiscal textarea{transition:none}}
#platform #notafiscal .invoiceFieldset:has(textarea) .invoiceFormGrid{grid-template-columns:1fr}
#platform #notafiscal .invoiceFieldset:first-child .invoiceFormGrid>label:has(#taxDraftOrg),#platform #notafiscal .invoiceFieldset:first-child .invoiceFormGrid>label:has(#taxDraftLegal){grid-column:1/-1}

@media(max-width:760px){#platform #notafiscal .listItem{padding:16px}}


/* customers.css */
#clientes{--customer-line:rgba(135,174,203,.18)}
.customerHeading h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1px;margin:6px 0 10px}
.customerHeading p{max-width:740px;line-height:1.65;color:var(--muted,#8ea5bc)}
.customerKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}
.customerKpis .card{padding:22px;min-width:0}.customerKpis .big{font-size:clamp(24px,2.6vw,36px);letter-spacing:-1px;font-variant-numeric:tabular-nums}.customerKpis small{display:block;color:#8da7be;margin-top:8px}
.customerFilters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:0 0 22px}.customerFilters label{display:grid;gap:7px;font-size:12px;color:#a8bfd4;min-width:150px}.customerFilters input,.customerFilters select{width:100%;min-height:44px;border-radius:10px;border:1px solid var(--customer-line);background:#0b1c2b;color:#ecf5fc;padding:10px 12px}.customerSearch{flex:1;min-width:220px!important}.customerDates{display:flex;gap:12px}.customerDates[hidden]{display:none}
.customerImport{padding:20px 24px;margin-bottom:20px;border:1px solid var(--customer-line);border-radius:16px;background:linear-gradient(110deg,rgba(50,116,170,.1),rgba(18,38,56,.5))}.customerImport strong{display:block;margin-bottom:8px}.customerImport p{font-size:13px;line-height:1.65;margin:8px 0;color:#a9bfd2}.customerImport progress{width:100%;height:7px;accent-color:#6ac3ed}.customerPartial{padding:12px 16px;border:1px solid rgba(241,181,76,.28);border-radius:10px;color:#f5cd8e;background:rgba(185,115,29,.08);font-size:13px;line-height:1.55;margin:12px 0}.customerPartial[hidden]{display:none}
.customerTableWrap{overflow:auto;border:1px solid var(--customer-line);border-radius:14px}.customerTable{width:100%;border-collapse:collapse;font-size:13px;min-width:1040px}.customerTable th{text-align:left;white-space:nowrap;padding:16px;color:#8faac1;font-size:11px;text-transform:uppercase;letter-spacing:.6px;background:rgba(39,74,102,.2)}.customerTable td{padding:18px 16px;border-top:1px solid var(--customer-line);vertical-align:top;font-variant-numeric:tabular-nums}.customerTable td:first-child{min-width:220px}.customerTable small{display:block;margin-top:6px;font-size:11px;color:#91a8ba}.customerTable td span{overflow-wrap:anywhere}.customerOpen{border:0;background:none;color:#edf7ff;text-align:left;font-weight:650;font-size:14px;cursor:pointer;padding:0;line-height:1.45}.customerOpen:hover{color:#7cd6ff}.customerOpen:focus-visible{outline:2px solid #77cfff;outline-offset:5px}.customerBadge{font-size:10px;padding:5px 8px;border-radius:20px;background:rgba(76,188,154,.12);color:#9ae0c7;white-space:nowrap}.customerBadge.pending{background:rgba(241,181,76,.1);color:#f3cd8d}.customerPagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0}.customerPagination div{display:flex;gap:10px}.customerPagination span{font-size:13px;color:#a6bed1}.customerFootnote{color:#8fa8bf;font-size:12px;line-height:1.7}
.customerDialog{width:min(980px,calc(100% - 32px));max-height:90vh;box-sizing:border-box;border:1px solid #31506b;border-radius:22px;background:#0b1928;color:#edf5fc;padding:28px;overflow:auto}.customerDialog::backdrop{background:rgba(0,7,15,.78);backdrop-filter:blur(7px)}.customerDialog header{display:flex;align-items:start;justify-content:space-between;gap:20px}.customerDialog h2{font-size:26px;margin:6px 0;letter-spacing:-.5px}.customerDialog h3{font-size:18px;margin:0 0 16px}.customerDialog section{padding-top:25px;margin-top:22px;border-top:1px solid var(--customer-line,rgba(135,174,203,.18))}.customerDialog p{line-height:1.6;color:#a9bfd2;font-size:13px}.customerFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:10px 0}.customerFields dt{font-size:11px;color:#8fa8bf;margin-bottom:7px}.customerFields dd{margin:0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.6}.customerFields pre,.customerDialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-width:100%}.customerVehicle{padding:18px;border:1px solid #243b50;border-radius:12px;margin-bottom:12px}.customerVehicle h4{margin:0 0 16px;color:#7cc8ed}.customerRecharge{border:1px solid #243b50;border-radius:12px;margin-bottom:12px;padding:18px}.customerRechargeHead{display:grid;grid-template-columns:1.4fr 1fr auto auto;gap:15px;font-size:13px;align-items:center}.customerRecharge summary{margin-top:16px;color:#91b8d1;cursor:pointer;font-size:12px}.customerDialog button{min-height:44px}
.customerKpis .big{white-space:nowrap;font-size:clamp(20px,1.8vw,28px);letter-spacing:-.7px}
html[data-theme="light"] .customerHeading p,html[data-theme="light"] .customerKpis small,html[data-theme="light"] .customerFootnote,html[data-theme="light"] .customerPagination span{color:#556b7c}
html[data-theme="light"] .customerFilters label{color:#496273}
html[data-theme="light"] .customerFilters input,html[data-theme="light"] .customerFilters select{background:#fff;color:#172d40;border-color:#c8d5df}
html[data-theme="light"] .customerImport{background:linear-gradient(110deg,#edf5fb,#f6f9fc);border-color:#cedde8}
html[data-theme="light"] .customerImport p{color:#476174}
html[data-theme="light"] .customerPartial{background:#fff7e9;color:#7d561e;border-color:#ead4a6}
html[data-theme="light"] .customerTableWrap{border-color:#d0dce5}
html[data-theme="light"] .customerTable th{background:#edf3f7;color:#476174}
html[data-theme="light"] .customerTable td{border-color:#dce5ec}
html[data-theme="light"] .customerOpen{color:#132c40}
html[data-theme="light"] .customerTable small{color:#597080}
html[data-theme="light"] .customerBadge{color:#1e654c;background:#e5f5ee}
html[data-theme="light"] .customerBadge.pending{color:#815914;background:#fff2d9}
html[data-theme="light"] .customerDialog{background:#fff;color:#173044;border-color:#b8ccd9}
html[data-theme="light"] .customerDialog p,html[data-theme="light"] .customerFields dt,html[data-theme="light"] .customerRecharge summary{color:#526c7d}
html[data-theme="light"] .customerVehicle,html[data-theme="light"] .customerRecharge{border-color:#d0dee8}
html[data-theme="light"] .customerVehicle h4{color:#2377a4}
@media(max-width:1120px){.customerKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.customerRechargeHead{grid-template-columns:1fr 1fr}.customerTable th,.customerTable td{padding:14px 12px}}
@media(max-width:600px){.customerFilters label{min-width:100%;flex:1}.customerDates{width:100%;flex-wrap:wrap}.customerDialog{padding:18px}.customerFields{grid-template-columns:1fr}.customerPagination{flex-wrap:wrap}.customerKpis{gap:10px}.customerKpis .card{padding:16px}.customerHeading{align-items:start;flex-direction:column}}
.customerSmart{border:1px solid var(--border,#334155);border-radius:14px;padding:14px 18px;margin:16px 0;background:var(--panel,#131b2a)}.customerSmart summary{cursor:pointer;font-weight:600;min-height:28px}.customerSmartFields{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding:16px 0}.customerSmartFields label{display:grid;gap:6px;flex:1;min-width:160px;font-size:12px}.customerSmartFields input,.customerSmartFields select{min-height:42px;border:1px solid #475569;border-radius:8px;background:transparent;color:inherit;padding:8px}.customerSmart small,.customerSortHint{font-size:12px;color:#94a3b8}.customerTable th button{background:transparent;border:0;color:inherit;cursor:pointer;min-height:44px;padding:6px 0;font:inherit;white-space:nowrap}.customerTable th[aria-sort="ascending"] button,.customerTable th[aria-sort="descending"] button{color:#3dd6b0}.customerTable th button:focus-visible,.pccConnector[role="button"]:focus-visible{outline:2px solid #3dd6b0;outline-offset:3px}.pccConnector[role="button"]{cursor:pointer}.pccConnectorTooltip{position:fixed;z-index:10000;box-sizing:border-box;border:1px solid #355469;border-radius:14px;background:#111d2b;color:#e9f3fa;padding:18px;box-shadow:0 18px 50px #0006;pointer-events:none;font-size:14px}.pccConnectorTooltip strong{display:block;font-size:16px;margin-bottom:10px}.pccConnectorTooltip small{display:block;color:#9bb1c4;font-size:12px}.pccConnectorTooltip p{margin:9px 0}[data-theme="light"] .customerSmart{background:#f8fafc;border-color:#dbe3ed}[data-theme="light"] .pccConnectorTooltip{background:#fff;color:#162638;border-color:#dbe3ed}[data-theme="light"] .pccConnectorTooltip small{color:#53697b}
.customerIdentityMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.customerIdentityMeta small{display:inline!important}.customerCarLabel{font-size:11px!important;color:#91a7b8;max-width:240px;white-space:normal}.customerCarLabel:before{content:'·';margin-right:8px;color:#698195}html[data-theme="light"] .customerCarLabel{color:#647b8d}.customerVehicleFilter{min-width:170px;flex:0.5}.customerVehicleFilter input{width:100%}

.customerContactLink{color:inherit;text-decoration:none;overflow-wrap:anywhere}.customerContactLink:hover,.customerContactLink:focus-visible{text-decoration:underline;color:#2b7fbd}.customerContactLink:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:3px}


/* payback.css */
.paybackPanel{margin-top:16px;overflow:hidden}
.paybackControls,.paybackForm{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}
.paybackControls label,.paybackForm label{display:grid;gap:6px;min-width:190px;flex:1;font-size:14px}
.paybackControls select,.paybackForm input{width:100%;min-height:42px;border:1px solid var(--border,#617084);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#17243c);padding:8px;font:inherit}
.paybackForm[hidden]{display:none}
.paybackInvestments{display:grid;gap:8px;margin:10px 0}
.paybackInvestment{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border,#617084);font-size:14px}
.paybackInvestment span{flex:1;min-width:180px}.paybackInvestment strong{white-space:nowrap}
.paybackKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.paybackKpis>div{position:relative;border:1px solid var(--line,#dce5ee);border-radius:3px;padding:18px 18px 20px;min-width:0;background:var(--surface,#fff);box-shadow:0 7px 20px rgba(15,35,64,.06)}
.paybackKpis>div::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#1265eb}
.paybackKpis small{display:block;font-size:13px;line-height:1.35;opacity:.75}.paybackKpis strong{display:block;font-size:clamp(18px,2vw,26px);margin-top:8px;overflow-wrap:anywhere}
.paybackKpis span{display:block;margin-top:7px;color:var(--ink2,#52657a);font-size:12px;line-height:1.35}.paybackBreakevenKpi{border-left:3px solid #0b936b!important}.paybackBreakevenKpi::before{display:none}
.paybackChart{position:relative;margin-top:22px;padding:20px 22px 22px;border:1px solid var(--line,#dce5ee);border-radius:3px;background:linear-gradient(180deg,var(--surface,#fff),var(--surface2,#f7f9fc));box-shadow:0 12px 30px rgba(15,35,64,.07)}
.paybackChartEmpty{min-height:220px;display:grid;place-items:center;padding:32px;text-align:center;color:var(--cc-text-secondary);border:1px dashed color-mix(in srgb,var(--cc-border) 82%,transparent);background:color-mix(in srgb,var(--cc-surface-2) 76%,transparent);border-radius:3px;font-weight:650;line-height:1.5}
.paybackChart svg{display:block;width:100%;height:auto;max-height:390px;overflow:visible;touch-action:pan-y}
.paybackChartHint{margin:0 0 8px;color:var(--ink2,#526678);font-size:13px}
.paybackGrid{stroke:var(--line,#dce5ee);stroke-width:1}.paybackAxisLabel,.paybackMonthLabel,.paybackZeroLabel,.paybackCrossingLabel{fill:var(--ink2,#526678);font:500 12px var(--cc-font-sans,system-ui)}
.paybackMonthLabel{font-size:11px}.paybackZero{stroke:#6f8299;stroke-width:1.2;stroke-dasharray:6 5}.paybackZeroLabel{font-weight:700}
.paybackArea{fill:url(#paybackArea)}.paybackLine{fill:none;stroke:#1265eb;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 8px rgba(18,101,235,.16))}.paybackProjectionLine{fill:none;stroke:#0b936b;stroke-width:4;stroke-dasharray:10 8;stroke-linejoin:round;stroke-linecap:round}
.paybackPoint{cursor:pointer;stroke:var(--surface,#fff);stroke-width:3;transition:r .14s,fill .14s}.paybackPoint.negative{fill:#1265eb}.paybackPoint.positive{fill:#0b936b}.paybackPoint.projected{fill:var(--surface,#fff);stroke:#0b936b;stroke-width:3}.paybackPoint:hover,.paybackPoint:focus,.paybackPoint.active{r:7;outline:none}
.paybackToday{stroke:var(--ink2,#52657a);stroke-width:1.5;stroke-dasharray:3 5}.paybackTodayLabel{fill:var(--ink2,#52657a);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.paybackTimelineLegend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 10px;font-size:12px;color:var(--ink2,#52657a)}.paybackTimelineLegend span{display:flex;align-items:center;gap:7px}.paybackTimelineLegend i{display:block;width:28px;border-top:3px solid #1265eb}.paybackTimelineLegend i.projected{border-top-color:#0b936b;border-top-style:dashed}
.paybackGuide{stroke:#1265eb;stroke-width:1;stroke-dasharray:3 4;opacity:.6;pointer-events:none}.paybackActiveDot{fill:#fff;stroke:#1265eb;stroke-width:3;pointer-events:none}
.paybackCrossing{stroke:#0b936b;stroke-width:1.5;stroke-dasharray:4 4}.paybackCrossingLabel{fill:#087354;font-weight:750}
.paybackMonthDetail{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,2.35fr);gap:22px;align-items:stretch;margin-top:14px;border-top:1px solid var(--line,#dce5ee);padding-top:16px}
.paybackMonthTitle{display:flex;flex-direction:column;justify-content:center;border-left:3px solid #1265eb;padding-left:15px}.paybackMonthTitle span{font-size:11px;letter-spacing:.09em;color:var(--ink2,#526678);font-weight:800}.paybackMonthTitle strong{font-size:22px;margin-top:5px;color:var(--ink,#142340)}
.paybackMonthDetail dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line,#dce5ee)}.paybackMonthDetail dl>div{padding:12px 14px;border-right:1px solid var(--line,#dce5ee);min-width:0}.paybackMonthDetail dl>div:last-child{border-right:0}.paybackMonthDetail dt{font-size:11px;color:var(--ink2,#526678);line-height:1.35}.paybackMonthDetail dd{margin:7px 0 0;font-size:14px;font-weight:800;color:var(--ink,#142340);overflow-wrap:anywhere}.paybackMonthDetail dd.positive{color:#087354}.paybackMonthDetail dd.negative{color:#a13c3c}
[data-theme="dark"] .paybackChart,[data-theme="dark"] .paybackKpis>div{background:var(--surface)!important}.paybackPoint:focus-visible{stroke:#fff;stroke-width:5}
@media(max-width:900px){.paybackMonthDetail{grid-template-columns:1fr}.paybackMonthDetail dl{grid-template-columns:repeat(2,minmax(0,1fr))}.paybackMonthDetail dl>div{border-bottom:1px solid var(--line,#dce5ee)}.paybackMonthDetail dl>div:nth-child(2n){border-right:0}}
@media(max-width:1050px){.paybackKpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.paybackKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.paybackChart{padding:16px 8px}.paybackAxisLabel{font-size:10px}}
@media(max-width:480px){.paybackKpis{grid-template-columns:1fr}}
.assistantPanel{max-width:860px}.assistantMessages{min-height:220px;max-height:50vh;overflow:auto;display:grid;align-content:start;gap:10px;padding:16px;border:1px solid var(--border,#617084);border-radius:12px}
.assistantMessages p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.assistantForm{display:grid;gap:10px;margin-top:16px}.assistantForm label{font-size:14px}.assistantForm textarea{font:inherit;color:inherit;background:var(--surface,#fff);border:1px solid var(--border,#617084);border-radius:10px;padding:12px;resize:vertical;min-height:90px}.assistantForm button{justify-self:start}


body[data-read-only=true] #costSave,body[data-read-only=true] #taxRegimeSave,body[data-read-only=true] #dreSave{display:inline-flex!important}body[data-read-only=true] button:disabled{cursor:not-allowed}


#tributario .dreTable [role="row"].result{background:#0b2948!important;color:#fff!important;padding:20px!important;border:2px solid #2988e8!important;border-radius:10px}
#tributario .dreTable [role="row"].result span,#tributario .dreTable [role="row"].result strong{color:#fff!important}
#tributario .dreTable [role="row"].result strong{font-size:clamp(24px,3vw,34px)!important;font-weight:800!important;line-height:1.3}
#financeiro .costSectionHead{display:block;margin-bottom:22px}#financeiro .costSectionHead p{max-width:850px;line-height:1.6}
#financeiro .costSummary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:18px;margin:0 0 26px;padding:0 0 26px;border-bottom:1px solid var(--line,#dce5ee)}
#financeiro .costSummaryItem{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 24px;border:1px solid var(--line,#dce5ee);border-radius:14px;background:var(--surface2,#f5f8fc);min-width:0}
#financeiro .costSummaryLabel{font-size:14px;font-weight:650;line-height:1.4;color:var(--ink2,#526678)}
#financeiro .costSummaryValue{font-size:clamp(26px,2.5vw,36px);font-weight:800;line-height:1.2;color:var(--ink,#142340);font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere}
#financeiro .costSummaryBalance{border-top:3px solid #307cce;background:var(--surface,#fff)}
#financeiro .costSummaryMeta{font-size:14px;line-height:1.5;color:var(--ink2,#526678)}
#financeiro .costSummaryBalance small{font-size:13px;line-height:1.5;color:var(--ink2,#526678)}
#financeiro #costMonthBalance[data-state="negative"]{color:#b42332}#financeiro #costMonthBalance[data-state="positive"]{color:#087c48}
[data-theme="dark"] #financeiro #costMonthBalance[data-state="negative"]{color:#ff9393}[data-theme="dark"] #financeiro #costMonthBalance[data-state="positive"]{color:#73e6ad}
@media(max-width:680px){#financeiro .costSummary{grid-template-columns:1fr;gap:12px}#financeiro .costSummaryItem{padding:18px}#financeiro .costSectionHead{margin-bottom:18px}}
@media(max-width:600px){#tributario .dreTable [role="row"].result{flex-wrap:wrap;gap:12px}}



#taxDocuments .listItem{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px}
#taxDocuments .listItem>strong{margin-top:3px}
.invoiceState{display:inline-flex;align-items:center;border:1px solid;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:650;line-height:1.4}
.invoiceStateNOT_ISSUED{color:#825b12;background:rgba(199,144,43,.12);border-color:rgba(199,144,43,.35)}
.invoiceStateISSUED{color:#195c9f;background:rgba(47,128,237,.12);border-color:rgba(47,128,237,.35)}
.invoiceStateDELIVERED{color:#116c42;background:rgba(34,170,104,.12);border-color:rgba(34,170,104,.35)}
[data-theme="dark"] .invoiceStateNOT_ISSUED{color:#efc977}
[data-theme="dark"] .invoiceStateISSUED{color:#8fc6ff}
[data-theme="dark"] .invoiceStateDELIVERED{color:#87dfb3}
.invoiceEmailIssue{color:#b33b31!important}
[data-theme="dark"] .invoiceEmailIssue{color:#efb0a8!important}


#platform #notafiscal .card.taxDeliveryCard{position:relative;cursor:help;overflow:visible;z-index:5}.taxDeliveryTooltip{position:absolute;z-index:50;right:0;top:calc(100% + 8px);width:min(330px,80vw);padding:18px;background:var(--surface,#fff);color:var(--ink,#17243c);border:1px solid var(--border,#dce2e9);border-radius:16px;box-shadow:0 16px 40px #071a3526;visibility:hidden;opacity:0;transition:opacity .15s;pointer-events:none}.taxDeliveryCard:hover .taxDeliveryTooltip,.taxDeliveryCard:focus .taxDeliveryTooltip{visibility:visible;opacity:1}.taxDeliveryTooltip strong{display:block;margin-bottom:12px;font-size:16px}.taxDeliveryTooltip .deliveryRow{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin:8px 0}.taxDeliveryTooltip small{display:block;font-size:12px;opacity:.7;margin-top:12px}

/* workspace-layout.css */
/* Respond to the available workspace, including the desktop camera split. */
#platform{container:workspace / inline-size;min-width:0}
#platform.wrap{box-sizing:border-box}
#platform>.tab{min-width:0;max-width:100%}
#pccSplitCameras .pccSplitHead strong{color:#dbeeff}
@container workspace (max-width:1100px){
 #platform .pccMainGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #platform .pccMainGrid>.pccRevenue{grid-column:1/-1}
 #platform .pccMainGrid>.pccMetrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
 #platform .pccMainGrid>.pccActivity{grid-column:1/-1}
 #platform .pccStations{grid-template-columns:repeat(2,minmax(0,1fr))}
 #platform .pccRevenueValue{font-size:clamp(26px,4cqi,46px);margin:18px 0 2px}
}
@container workspace (max-width:600px){
 #platform .pccMainGrid,#platform .pccMainGrid>.pccMetrics{grid-template-columns:minmax(0,1fr)}
 #platform .pccMainGrid>.pccRevenue,#platform .pccMainGrid>.pccMetrics,#platform .pccMainGrid>.pccActivity{grid-column:auto}
 #platform .pccStations{grid-template-columns:minmax(0,1fr)}
 #platform .pccRevenueValue{font-size:clamp(24px,7cqi,38px);margin:14px 0 2px}
}
@container workspace (max-width:850px){
 #platform .customerKpis,#platform .grid.kpis,#platform .grid.three,#platform #financeiro .financeGrid,#platform #seguranca .securityStats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px}
 #platform .card{min-width:0;padding:20px}
 #platform .card .big,#platform .customerKpis .big,#platform #financeiro .financeGrid .big{font-size:clamp(24px,4.4cqi,32px)!important;line-height:1.2;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:-.04em}
 #platform .card .small{line-height:1.4;overflow-wrap:normal}
 #platform .grid.two,#platform #tributario .dreLayout,#platform #financeiro .costSummary,#platform #financeiro .recon{grid-template-columns:minmax(0,1fr)!important}
 #platform #tributario .dreInputs{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;min-width:0}
 #platform #tributario .dreTable>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:12px 14px}
 #platform #tributario .dreTable strong{font-size:16px!important;white-space:nowrap;text-align:right}
 #platform #tributario .dreTable [role="row"].result strong{font-size:24px!important}
 #platform #financeiro .financeUnitLines>div{flex-wrap:wrap;gap:4px 10px}
 #platform #financeiro .financeUnitLines strong{white-space:nowrap;max-width:100%}
 #platform .sectionHead,#platform .financePanelHead{flex-wrap:wrap;gap:12px}
 #platform .customerFilters>*{min-width:0;max-width:100%}
 #platform .customerDates{flex-wrap:wrap}
 #platform .costGrid,#platform .securityForm,#platform .invoiceFormGrid,#platform .taxFormPair{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #platform #nav .navCluster{width:100%;flex-wrap:wrap!important}
 #platform .financeStationGrid{grid-template-columns:minmax(0,1fr)!important}
}
@container workspace (max-width:600px){
 #platform .customerKpis,#platform .grid.kpis,#platform .grid.three,#platform #financeiro .financeGrid,#platform #seguranca .securityStats{grid-template-columns:minmax(0,1fr)!important}
 #platform .costGrid,#platform .securityForm,#platform .invoiceFormGrid,#platform .taxFormPair,#platform #tributario .dreInputGrid{grid-template-columns:minmax(0,1fr)!important}
 #platform .customerHeading h2,#platform .financeHeader h2,#platform .sectionHead h2{font-size:28px!important;line-height:1.15}
 #platform .financeControls{flex-wrap:wrap}
 #platform .financeControls select,#platform .financeSitePicker{max-width:100%}
 #platform .panel{padding:18px}
 #platform .dreTable>div{gap:10px!important}
 #platform .value-premium .vp-grid{grid-template-columns:minmax(0,1fr)}
 #platform .value-premium .vp-grid .vp-card strong{font-size:clamp(20px,7cqi,29px);white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}
 #platform .customerTableWrap{overflow:visible;border:0}
 #platform .customerTable{display:block;min-width:0;width:100%}
 #platform .customerTable thead{display:none}
 #platform .customerTable tbody{display:grid;gap:12px}
 #platform .customerTable tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;border:1px solid var(--customer-line);border-radius:12px;background:var(--panel,#131b2a)}
 #platform .customerTable td{display:none;min-width:0;padding:7px 0;border:0;font-size:14px}
 #platform .customerTable td:first-child{display:block;grid-column:1/-1;min-width:0}
 #platform .customerTable td:nth-child(3),#platform .customerTable td:nth-child(4){display:block}
 #platform .customerTable td:nth-child(3)::before{content:'Recargas';display:block;font-size:12px;color:var(--customer-muted,#91a8ba)}
 #platform .customerTable td:nth-child(4)::before{content:'Total bruto';display:block;font-size:12px;color:var(--customer-muted,#91a8ba)}
 #platform .customerTable td[colspan]{display:block;grid-column:1/-1}
 html[data-theme="light"] #platform .customerTable tr{background:#fff}
 html[data-theme="light"] #platform .customerTable td:nth-child(3)::before,html[data-theme="light"] #platform .customerTable td:nth-child(4)::before{color:#597080}
}


/* assets/css/charge-control-ui.css */
/* AUD-X40: visual adapter for the existing PCC views. Values come from Figma tokens. */
@font-face{font-family:'IBM Plex Sans';src:url('./assets/fonts/ibm-plex-sans/IBMPlexSans-subset.woff2?v=221') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('./assets/fonts/ibm-plex-mono/IBMPlexMono-Regular-subset.woff2?v=221') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('./assets/fonts/ibm-plex-mono/IBMPlexMono-Medium-subset.woff2?v=221') format('woff2');font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('./assets/fonts/plus-jakarta-sans/PlusJakartaSans-subset.woff2?v=221') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root,html[data-theme]{
  --bg:var(--cc-bg-canvas);--surface:var(--cc-surface-1);--surface2:var(--cc-surface-2);
  --line:var(--cc-border-default);--ink:var(--cc-text-primary);--ink2:var(--cc-text-secondary);--ink3:var(--cc-text-tertiary);
  --brand:var(--cc-brand-fg);--brandInk:var(--cc-brand-on-primary);--side:var(--cc-surface-1);
  --sideInk:var(--cc-text-secondary);--sideDim:var(--cc-text-tertiary);--sideActive:var(--cc-surface-2);
  --chg:var(--cc-status-critical-fg);--chgBg:var(--cc-status-critical-bg);--free:var(--cc-status-success-fg);--freeBg:var(--cc-status-success-bg);
  --warn:var(--cc-status-warning-fg);--warnBg:var(--cc-status-warning-bg);--down:var(--cc-status-critical-fg);--downBg:var(--cc-status-critical-bg);
  --off:var(--cc-text-tertiary);--offBg:var(--cc-surface-2);--shadow:none;
  --radius-lg:var(--cc-radius-card);--radius-md:var(--cc-radius-control);--radius-sm:var(--cc-radius-sm);
  --cc-font-display:var(--cc-font-endorse);--cc-font-display-weight:600
}
html,body{font-family:var(--cc-font-sans)!important;background:var(--cc-bg-canvas)!important;color:var(--cc-text-primary)!important}
body{font-size:var(--cc-font-size-14)}
button,input,select,textarea{font-family:var(--cc-font-sans)}
.num,#platform .card .big,.pccRevenueValue,.pccStationFooter strong,.dreTable [role="cell"],#pccTV main p{font-family:var(--cc-font-mono)!important;font-variant-numeric:tabular-nums}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--cc-stroke-focus) solid var(--cc-focus-ring)!important;outline-offset:var(--cc-space-2)}
#platform.wrap{margin-left:248px!important;padding:var(--cc-space-32)!important;background:var(--cc-bg-canvas)!important}
#platform .panel,#platform .card,#platform .stationFinance,#platform .pccLiveCard,#platform .pccStation{
  border:var(--cc-stroke-hairline) solid var(--cc-border-subtle)!important;border-radius:var(--cc-radius-card)!important;
  box-shadow:none!important;background:var(--cc-surface-1)!important;color:var(--cc-text-primary)!important;backdrop-filter:none!important
}
#platform .panel:hover,#platform .card:hover{transform:none!important;box-shadow:none!important}
#platform .pccLiveCard{min-width:0}
#pccSide{width:248px;padding:var(--cc-space-16) var(--cc-space-12);background:var(--cc-surface-1);border-right:var(--cc-stroke-hairline) solid var(--cc-border-subtle);color:var(--cc-text-secondary)}
#pccSide .pccSideBrand{padding:var(--cc-space-8) var(--cc-space-12);margin:0 0 var(--cc-space-16);gap:var(--cc-space-8)}
#pccSide .pccSideLogo{width:32px;height:32px;overflow:visible}
#pccSide .pccSideLogo img{position:static;width:32px;height:32px;max-width:32px}
html[data-theme="light"] #pccSide .pccSideLogo{background:#fff;border:1px solid var(--cc-border-subtle);border-radius:var(--cc-radius-control)}
#pccSide .pccSideBrand strong{font-size:var(--cc-font-size-13);font-weight:500;color:var(--cc-text-primary)!important}
#pccSide .pccSideBrand small{font:400 var(--cc-font-size-12)/1.4 var(--cc-font-mono);color:var(--cc-text-tertiary)}
#pccSide .pccName{color:var(--cc-text-primary)!important}
#pccSide .pccRole{color:var(--cc-text-tertiary)!important}
#pccSide .pccSideLinks{gap:var(--cc-space-4)}
#pccSide .pccSideLinks button,#pccSide .pccSideFoot button{min-height:40px;border-radius:var(--cc-radius-control);padding:var(--cc-space-8) var(--cc-space-12);font-size:var(--cc-font-size-13);font-weight:500;color:var(--cc-text-secondary)}
#pccSide .pccSideLinks button.active{position:relative;color:var(--cc-text-primary);background:var(--cc-surface-2)}
#pccSide .pccSideLinks button.active::before{content:'';position:absolute;left:0;top:25%;height:50%;width:var(--cc-stroke-focus);background:var(--cc-brand-primary)}
#pccSide .pccSideLinks button:hover,#pccSide .pccSideFoot button:hover{background:var(--cc-surface-hover)}
.cc-ic{width:var(--cc-icon-20);height:var(--cc-icon-20);flex:none}
.cc-ic svg{width:100%;height:100%;color:inherit}
#pccSide .cc-ic{width:var(--cc-icon-20);height:var(--cc-icon-20)}
#pccSide .pccPartner{border-color:var(--cc-border-subtle);background:var(--cc-surface-1);box-shadow:none;border-radius:var(--cc-radius-card)}
html:not([data-brand="maisvolt"]) #pccSide .pccPartner{display:none}
#platform .pccLiveHead{border-bottom:var(--cc-stroke-hairline) solid var(--cc-border-default);padding-bottom:var(--cc-space-20)}
#platform :is(.pccLiveHead h1,.sectionHead h2,.financeHeader h2,.securityHead h2,.mx-head h2,.pccStationHead h2,.tab>h1,.tab>h2){font-family:var(--cc-font-display);font-weight:var(--cc-font-display-weight);letter-spacing:-.02em;color:var(--cc-text-primary)!important}
#platform :is(.pccLiveHead h1,.sectionHead h2,.financeHeader h2,.securityHead h2,.mx-head h2,.pccStationHead h2,.tab>h1,.tab>h2){width:max-content;max-width:100%;box-sizing:border-box;line-height:1.2;padding-block:.08em .14em;overflow:visible;color:var(--cc-brand-fg)!important}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
 html[data-theme="light"] #platform :is(.pccLiveHead h1,.sectionHead h2,.financeHeader h2,.securityHead h2,.mx-head h2,.pccStationHead h2,.tab>h1,.tab>h2){background:linear-gradient(100deg,#022b68 0%,#0353a6 52%,#1677ff 100%);background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
 html[data-theme="dark"] #platform :is(.pccLiveHead h1,.sectionHead h2,.financeHeader h2,.securityHead h2,.mx-head h2,.pccStationHead h2,.tab>h1,.tab>h2){background:linear-gradient(100deg,#7fd1ff 0%,#3d8bff 52%,#6e9bff 100%);background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
}
@media(forced-colors:active){#platform :is(.pccLiveHead h1,.sectionHead h2,.financeHeader h2,.securityHead h2,.mx-head h2,.pccStationHead h2,.tab>h1,.tab>h2){background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}}
#platform .pccLiveHead h1{font-size:clamp(var(--cc-font-size-24),3vw,var(--cc-font-size-40))}
#platform .pccLabel,#platform .small,#platform .eyebrow{font-size:var(--cc-font-size-12);letter-spacing:.08em;text-transform:uppercase}
#platform .pccRevenueValue{font-size:clamp(var(--cc-font-size-32),5vw,var(--cc-font-size-56));white-space:nowrap}
#platform #visao .pccRevenueValue{display:block;width:max-content;max-width:100%;margin:var(--cc-space-16) 0 var(--cc-space-4);line-height:1.05}
#platform .pccMainGrid .pccLiveCard{border:0!important;border-top:var(--cc-stroke-hairline) solid var(--cc-border-default)!important;border-radius:0!important;background:transparent!important;padding-top:var(--cc-space-16);box-shadow:none!important}
#platform #visao .pccMainGrid .pccLiveCard{background:color-mix(in srgb,var(--cc-surface-1) 82%,transparent)!important}
#platform #visao .pccRevenueChart{border:0!important;border-top:var(--cc-stroke-hairline) solid var(--cc-border-default)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#platform .pccStation{padding:var(--cc-space-16);animation:none}
#platform .pccConnector{background:var(--cc-surface-2);border-color:var(--cc-border-subtle);border-radius:var(--cc-radius-control)}
#platform .pccConnector.charging:after{height:var(--cc-stroke-focus);background:var(--cc-status-critical-fg)}
#platform .pccBadge{border-radius:var(--cc-radius-pill)}
#platform .pccRevenueChart{margin-top:var(--cc-space-24)}
#platform .pccStationHead{border-top:var(--cc-stroke-hairline) solid var(--cc-border-default);padding-top:var(--cc-space-24)}
#platform .pccStationHead h2{font-family:var(--cc-font-display);font-weight:var(--cc-font-display-weight)}
#platform .pccHoldDemo{display:none}
#platform #view-expansao{font-family:var(--cc-font-sans)}
#platform #view-expansao .mx-value{font-family:var(--cc-font-mono)}
#platform .btn,#platform button:not(.pccBadge),#platform input,#platform select,#platform textarea{border-radius:var(--cc-radius-control)}
#platform .pccLiveCard .num,#platform .big,#platform .metric strong{white-space:nowrap;font-variant-numeric:tabular-nums}
#platform .cc-hatch,[data-evidence="pending"]{background-image:repeating-linear-gradient(135deg,transparent 0,transparent var(--cc-space-4),var(--cc-border-default) var(--cc-space-4),var(--cc-border-default) var(--cc-space-8))}
#pccTV{background:var(--cc-bg-canvas);color:var(--cc-text-primary);font-family:var(--cc-font-sans)}
#pccTV h1,#pccTV main p,#pccTV header strong{color:var(--cc-text-primary)!important}
#pccTV button{background:var(--cc-surface-2);border-color:var(--cc-border-default);color:var(--cc-text-primary);border-radius:var(--cc-radius-control)}
#loginScreen .login-shell{border-radius:var(--cc-radius-card);box-shadow:none}
#loginScreen .login-brand{background:var(--cc-surface-1);color:var(--cc-text-primary)}
#loginScreen .login-logo{background:none;border:0;box-shadow:none;padding:0;min-width:0;min-height:0;display:block}
#loginScreen .pccLoginLogo{width:88px;height:88px;object-fit:contain}
#loginScreen .login-brand h2{font-family:var(--cc-font-display);font-weight:var(--cc-font-display-weight);color:var(--cc-text-primary)!important}
#loginScreen .login-brand p{color:var(--cc-text-secondary)!important}
#loginScreen .login-brand .eyebrow,#loginScreen .login-brandMeta{color:var(--cc-brand-fg)!important}
#loginScreen .loginAccess{background:var(--cc-surface-1);color:var(--cc-text-primary)}
#loginScreen .login-card{background:color-mix(in srgb,var(--cc-surface-1) 82%,transparent);color:var(--cc-text-primary)}
#loginScreen .loginTitle{letter-spacing:0}
#loginScreen .login-card h1,#loginScreen .login-card h1 span{color:var(--cc-text-primary)!important;-webkit-text-fill-color:var(--cc-text-primary)!important}
#loginScreen .login-card p,#loginScreen .login-card .workspaceStatus,#loginScreen .loginAccessFoot{color:var(--cc-text-secondary)!important}
#loginScreen .login-card label{color:var(--cc-text-primary)!important}
#loginScreen .login-card input{background:var(--cc-surface-2)!important;color:var(--cc-text-primary)!important;border:var(--cc-stroke-hairline) solid var(--cc-border-default)!important;box-shadow:none!important}
#loginScreen .login-card input::placeholder{color:var(--cc-text-tertiary)}
#loginScreen .passwordField button{color:var(--cc-text-secondary)}
#loginScreen .login-card .btn.primary{background:var(--cc-brand-primary)!important;color:var(--cc-brand-on-primary)!important;border-color:var(--cc-brand-primary)!important;box-shadow:none!important}
/* Shared controls and data surfaces retain their existing handlers and IDs. */
#platform input,#platform select,#platform textarea,.customerDialog input,.customerDialog select{
 background:var(--cc-surface-2)!important;color:var(--cc-text-primary)!important;
 border-color:var(--cc-border-default)!important;accent-color:var(--cc-brand-primary)
}
#platform .btn,.customerDialog button{background:var(--cc-surface-2)!important;color:var(--cc-text-primary)!important;border-color:var(--cc-border-default)!important;box-shadow:none!important}
#platform .btn.primary{background:var(--cc-brand-primary)!important;color:var(--cc-brand-on-primary)!important;border-color:var(--cc-brand-primary)!important}
#platform .financeGrid .big,#platform .financeGrid .small,#platform .financeUnitLines strong{color:var(--cc-text-primary)!important}
#platform .financeGrid .card{border:0!important;border-top:var(--cc-stroke-hairline) solid var(--cc-border-default)!important;border-radius:0!important;background:transparent!important}
#platform .financeGrid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:var(--cc-space-24)}
#platform .financeGrid>.card:first-child .big{font-size:clamp(var(--cc-font-size-32),4cqw,var(--cc-font-size-56))}
#platform .financeGrid>.card:last-child{grid-column:1/-1}
#platform .dreTable [role="row"]{border-radius:0!important;box-shadow:none!important;border-bottom:var(--cc-stroke-hairline) solid var(--cc-border-subtle);background:transparent!important;color:var(--cc-text-primary)!important}
#platform .dreTable [role="row"].result{background:var(--cc-surface-2)!important;border:var(--cc-stroke-hairline) solid var(--cc-border-default)!important;color:var(--cc-text-primary)!important}
#platform .dreTable [role="row"].result span,#platform .dreTable [role="row"].result strong{color:var(--cc-text-primary)!important}
#platform .customerTable th,#platform table th{background:var(--cc-surface-2)!important;color:var(--cc-text-secondary)!important}
#platform .customerTable td,#platform table td{border-color:var(--cc-border-subtle)!important;color:var(--cc-text-primary)}
#platform .customerTableWrap,.customerDialog{background:var(--cc-surface-1)!important;border-color:var(--cc-border-default)!important;border-radius:var(--cc-radius-card)!important;color:var(--cc-text-primary)!important}
.customerDialog{font-family:var(--cc-font-sans)}
#platform .customerOpen{color:var(--cc-text-primary)!important}
#platform .customerImport{background:var(--cc-surface-1)!important;border-radius:var(--cc-radius-card)!important;box-shadow:none!important}
#platform .customerImport p,#platform .customerFilters label,#platform .customerSmart small,#platform .customerTable small,.customerDialog p,.customerFields dt{color:var(--cc-text-secondary)!important}
#platform .customerBadge{background:transparent!important;color:var(--cc-status-success-fg)!important;border-radius:0}
#platform .customerBadge.pending{color:var(--cc-status-warning-fg)!important}
#platform .customerSmart,.customerVehicle,.customerRecharge{background:var(--cc-surface-1)!important;border-color:var(--cc-border-default)!important;border-radius:var(--cc-radius-card)!important}
#view-expansao{--bg:var(--cc-bg-canvas);--surface:var(--cc-surface-1);--surface2:var(--cc-surface-2);--line:var(--cc-border-default);--ink:var(--cc-text-primary);--ink2:var(--cc-text-secondary);--ink3:var(--cc-text-tertiary);--brand:var(--cc-brand-fg)}
html[data-theme="light"] #platform .pccRevenueValue{font-family:var(--cc-font-mono)!important;font-weight:600;letter-spacing:-.045em;color:var(--cc-text-primary)!important}
html[data-theme="light"] #platform .financeGrid>.card:first-child .big{font-family:var(--cc-font-mono)!important;font-weight:600;letter-spacing:-.045em}
#loginScreen .login-brand::before,#loginScreen .loginTitle span::after{display:none}
#loginScreen .loginTitle span{background:none!important;color:var(--cc-text-primary)!important;-webkit-text-fill-color:var(--cc-text-primary)}
#pccSide .pccPartnerMark{background:var(--cc-brand-on-primary);border-radius:var(--cc-radius-control)}
@container(max-width:600px){#platform .financeGrid{grid-template-columns:1fr}#platform .financeGrid>.card:last-child{grid-column:auto}}
@container workspace (max-width:600px){
 #clientes .customerFilters{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cc-space-16)}
 #clientes .customerFilters label,#clientes .customerFilters .customerDates,#clientes .customerFilters input,#clientes .customerFilters select{min-width:0!important;max-width:100%;width:100%;box-sizing:border-box}
 #clientes .customerDates{display:grid;grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
 #platform.wrap{margin:0!important;padding:var(--cc-space-16) var(--cc-space-16) 100px!important}
 #pccSide{inset:auto 0 0;width:100%;height:72px;border-radius:0;padding:var(--cc-space-4) var(--cc-space-8);border-top:var(--cc-stroke-hairline) solid var(--cc-border-default);box-shadow:none}
 #pccSide .pccSideLinks button{font-size:var(--cc-font-size-12);padding:var(--cc-space-4)}
 .pccMobileHeader{background:var(--cc-surface-1);border-color:var(--cc-border-subtle);box-shadow:none}
}
@container (max-width:420px){#platform .pccMainGrid,#platform .pccMetrics{grid-template-columns:1fr}#platform .big{font-size:clamp(var(--cc-font-size-20),6cqw,var(--cc-font-size-32))}#platform #visao .pccRevenueValue.num{font-size:clamp(36px,11cqi,44px);line-height:1.05}}
@media(prefers-reduced-motion:reduce){#platform *,#loginScreen *{animation-duration:var(--cc-motion-instant)!important;transition-duration:var(--cc-motion-instant)!important}}
/* Compact desktop navigation: labels remain available on hover, focus and to assistive technology. */
@media(min-width:768px){
 #platform.wrap{width:calc(100% - 80px)!important;max-width:none!important;margin-left:80px!important;box-sizing:border-box}
 #pccSide{width:80px;padding:var(--cc-space-16) var(--cc-space-8);overflow:visible;align-items:center}
 #pccSide .pccSideBrand{margin:0 0 var(--cc-space-24);padding:var(--cc-space-8);justify-content:center}
 #pccSide .pccSideBrand>div{display:none}
 #pccSide .pccSideLogo,#pccSide .pccSideLogo img{width:40px;height:40px;max-width:40px}
 #pccSide .pccSideLinks{width:100%;gap:var(--cc-space-8)}
 #pccSide .pccSideLinks button{position:relative;width:100%;height:56px;min-height:56px;justify-content:center;padding:0;border:1px solid transparent;border-radius:var(--cc-radius-control)}
 #pccSide .pccSideLinks .cc-ic{width:28px;height:28px}
 #pccSide .pccNavLabel{display:none}
 #pccSide .pccSideLinks button::after{content:attr(data-label);position:absolute;z-index:50;left:calc(100% + 12px);top:50%;transform:translate(-4px,-50%);padding:var(--cc-space-8) var(--cc-space-12);border:1px solid var(--cc-border-default);border-radius:var(--cc-radius-control);background:var(--cc-surface-1);color:var(--cc-text-primary);box-shadow:0 8px 24px #0002;font:500 var(--cc-font-size-13)/1.3 var(--cc-font-sans);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s}
 #pccSide .pccSideLinks button:is(:hover,:focus-visible)::after{opacity:1;visibility:visible;transform:translate(0,-50%)}
 #pccSide .pccSideLinks button.active::before{left:-8px;top:20%;height:60%}
 #pccSide .pccSideLinks .liveDot{position:absolute;right:6px;top:8px;width:5px;height:5px;margin:0}
 #pccSide .pccPartner{width:56px;margin:var(--cc-space-12) 0 0;padding:var(--cc-space-4)}
 #pccSide .pccPartnerText{display:none}
 #pccSide .pccSideFoot{width:100%;margin-top:auto;padding-top:var(--cc-space-12)}
 #pccSide .pccUser{justify-content:center;margin:0 0 var(--cc-space-12)}
 #pccSide .pccUserText,#pccSide .pccSideFoot button span:not(.cc-ic),#pccSide .pccSplitStatus{display:none}
 #pccSide .pccSideFoot .pccSplitToggle,#pccSide .pccSideFoot .pccFootActions button{width:48px;height:48px;min-height:48px;margin:0 auto var(--cc-space-4);padding:0;display:flex;justify-content:center;align-items:center}
 #pccSide .pccSideFoot .pccFootActions{display:grid;gap:var(--cc-space-4)}
 #pccSide .pccSideFoot .cc-ic{width:24px;height:24px}
}
@media(max-width:767px){#loginScreen .pccLoginLogo{width:64px;height:64px}}
#pccSplitCameras .pccSplitHead strong{color:var(--cc-text-inverse,#eaf1fa)!important}
@media(min-width:1024px){#pccSplitCameras{overflow:hidden}#pccSplitCameras #securityMosaic{max-height:calc(100dvh - 48px);overflow:hidden}#pccSplitCameras .mosaicGrid{min-height:0;max-height:100%;overflow:hidden}}
/* The page-wide energy field continues behind data visualizations without competing with their marks. */
#platform #visao .pccRevenueChart,
#platform .tab.active :is(.financeChart,.dreTable,.customerTableWrap,.tableWrap){
 background:var(--cc-surface-1)!important;
}
/* Keep financial figures legible on the pale revenue card in the light theme. */
html[data-theme="light"] #platform #financeiro .financeGrid>.card:first-child :is(.big,.financeUnitLines strong){color:var(--cc-text-primary)!important;-webkit-text-fill-color:var(--cc-text-primary)!important}
html[data-theme="light"] #platform #financeiro .financeGrid>.card:first-child :is(.small,.muted,.financeUnitLines span){color:var(--cc-text-secondary)!important;-webkit-text-fill-color:var(--cc-text-secondary)!important}
#platform #financeiro .dreStationPicker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0 20px;padding:16px;border:1px solid var(--cc-border-default);border-radius:var(--cc-radius-card);background:var(--cc-surface-2);color:var(--cc-text-primary)}
#platform #financeiro .dreStationPicker:empty{display:none}
#platform #financeiro .dreStationPicker strong{flex-basis:100%;font-size:14px;line-height:1.5}
#platform #financeiro .dreStationPicker .btn{min-height:40px;white-space:normal;text-align:center}
#platform #financeiro .dreInputs .costActions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}
#platform #financeiro .dreInputs .costActions #dreSaveStatus{flex:1 1 240px;min-width:0;line-height:1.5;overflow-wrap:anywhere}
/* Login form floats directly over the energy field, without a rectangular seam. */
#loginScreen .loginAccess .login-card{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme="light"] #platform #financeiro #financeRevenue,
html[data-theme="light"] #platform #financeiro .financeGrid .card:first-child .financeUnitLines strong{color:#142340!important;-webkit-text-fill-color:#142340!important}
html[data-theme="light"] #platform #financeiro .financeGrid .card:first-child .small,
html[data-theme="light"] #platform #financeiro .financeGrid .card:first-child .muted,
html[data-theme="light"] #platform #financeiro .financeGrid .card:first-child .financeUnitLines span{color:#405d78!important;-webkit-text-fill-color:#405d78!important}
#platform #financeiro .costEnergyEditor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start;min-width:0}
#platform #financeiro .costEnergyEditor label:first-child,#platform #financeiro .costEnergyEditor label:nth-child(3),#platform #financeiro .costEnergyEditor small{grid-column:1/-1}
#platform #financeiro .costEnergyEditor label{min-width:0}
#platform #financeiro .costEnergyEditor input{width:100%;min-width:0}
#platform #financeiro .costEnergyEditor .btn{align-self:end;min-height:44px;white-space:normal}
#platform #financeiro .costEnergyEditor small{line-height:1.5;color:var(--cc-text-secondary);overflow-wrap:anywhere}
@container workspace (max-width:600px){#platform #financeiro .costEnergyEditor{grid-template-columns:minmax(0,1fr)}}


/* assets/css/pcc-flow-integration.css */
/* One viewport layer. Panels provide readable surfaces; no canvas follows document height. */
#pccFlowViewport{position:fixed!important;inset:0!important;width:100vw;height:100svh;z-index:0;pointer-events:none;isolation:isolate}
#pccFlowViewport[hidden]{display:none!important}
#pccFlowViewport>.cc-flow-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
#loginScreen,#platform,#pccTV{position:relative;z-index:1}
#platform.wrap,#pccTV main{background:transparent!important}
#loginScreen,#loginScreen .login-shell{background:transparent!important}
#loginScreen .loginAccess{background:color-mix(in srgb,var(--cc-surface-1) 92%,transparent)!important;color:var(--cc-text-primary)}
html[data-theme="light"] #loginScreen .loginAccess{background:color-mix(in srgb,var(--cc-surface-1) 88%,transparent)!important}
#loginScreen .login-card,#loginScreen .loginAccessFoot{color:var(--cc-text-primary)}
#platform .tab.active :is(.panel,.card,.stationFinance,.pccStation){background:color-mix(in srgb,var(--cc-surface-1) 92%,transparent)!important}
html[data-theme="light"] #platform .tab.active :is(.panel,.card,.stationFinance,.pccStation){background:color-mix(in srgb,var(--cc-surface-1) 86%,transparent)!important}
#platform .tab.active :is(.sectionHead,.financeHeader,.financePanelHead,.pccLiveHead){background:color-mix(in srgb,var(--cc-bg-canvas) 92%,transparent);border-radius:var(--cc-radius-card);padding:var(--cc-space-12)}
html[data-theme="light"] #platform .tab.active :is(.sectionHead,.financeHeader,.financePanelHead,.pccLiveHead){background:color-mix(in srgb,var(--cc-bg-canvas) 86%,transparent)}
#platform .tab.active :is(.pccStationHead,.pccHoldDemo,.mx-row,.financeChartControls){background:color-mix(in srgb,var(--cc-bg-canvas) 92%,transparent);border-radius:var(--cc-radius-control);padding:var(--cc-space-12)}
html[data-theme="light"] #platform .tab.active :is(.pccStationHead,.pccHoldDemo,.mx-row,.financeChartControls){background:color-mix(in srgb,var(--cc-bg-canvas) 86%,transparent)}
#platform>.platformFootnote{background:color-mix(in srgb,var(--cc-bg-canvas) 92%,transparent);color:var(--cc-text-secondary);padding:var(--cc-space-12);border-radius:var(--cc-radius-control)}
html[data-theme="light"] #platform>.platformFootnote{background:color-mix(in srgb,var(--cc-bg-canvas) 86%,transparent)}
#platform .tab.active>p,#platform .tab.active>.muted,#platform .tab.active .mx-foot,#platform .tab.active .pccUnlinked{background:color-mix(in srgb,var(--cc-bg-canvas) 92%,transparent);border-radius:var(--cc-radius-control);padding:var(--cc-space-12)}
html[data-theme="light"] #platform .tab.active>p,html[data-theme="light"] #platform .tab.active>.muted,html[data-theme="light"] #platform .tab.active .mx-foot,html[data-theme="light"] #platform .tab.active .pccUnlinked{background:color-mix(in srgb,var(--cc-bg-canvas) 86%,transparent)}
#platform .tab.active .pccMainGrid .pccLiveCard{background:color-mix(in srgb,var(--cc-surface-1) 92%,transparent)!important}
html[data-theme="light"] #platform .tab.active .pccMainGrid .pccLiveCard{background:color-mix(in srgb,var(--cc-surface-1) 86%,transparent)!important}
html[data-brand="cliente-demo"] #pccSide .pccPartner,html[data-brand="cliente-demo"] #platform .top .brandDivider,html[data-brand="cliente-demo"] #platform .top .logoWrap:has(.maisvoltReal){display:none}

/* Login: continuous blue light, without opaque halves or a rectangular card. */
#loginScreen .loginAccess,html[data-theme="light"] #loginScreen .loginAccess,#loginScreen .login-brand,#loginScreen .login-card{background:transparent!important;border:0!important;box-shadow:none!important}
#loginScreen .loginAccess{backdrop-filter:none!important}
#loginScreen .login-brand h2,#loginScreen .loginTitle{color:var(--cc-text-primary)!important}
#pccFlowViewport .pccFlowFallback{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;opacity:.75}
#pccFlowViewport .pccFlowFallback path{fill:none;stroke:#0063ff;vector-effect:non-scaling-stroke}
#pccFlowViewport .pccFlowFallback .flowHalo{stroke-width:14;opacity:.14;filter:blur(8px)}
#pccFlowViewport .pccFlowFallback .flowLine{stroke-width:1.5;opacity:.3}
#pccFlowViewport .pccFlowFallback .flowPulse{stroke-width:3;opacity:.8;stroke-dasharray:110 1050;animation:pccBluePulse 9s linear infinite}
#pccFlowViewport .pccFlowFallback .flowPulse.second{animation-delay:-4.5s;animation-duration:12s}
html[data-theme="light"] #pccFlowViewport .pccFlowFallback{opacity:.5}
@keyframes pccBluePulse{to{stroke-dashoffset:-2320}}
@media(prefers-reduced-motion:reduce){#pccFlowViewport .pccFlowFallback .flowPulse{animation:none;opacity:.3}}

/* Original platform flow, with a matching low-capability rendering. */
#pccFlowViewport .pccFlowOriginal{opacity:.9}
#pccFlowViewport .pccFlowOriginal .flowHalo{stroke:#006aff;stroke-width:13;opacity:.055;filter:blur(8px)}
#pccFlowViewport .pccFlowOriginal .flowLine{stroke:#248cff;stroke-width:1.1}
#pccFlowViewport .pccFlowOriginal .flowPulse{stroke:#91d2ff;stroke-width:1.8;opacity:.6;stroke-dasharray:95 1600}
html[data-theme="light"] #pccFlowViewport .pccFlowOriginal{opacity:.65}
html[data-theme="light"] #pccFlowViewport .pccFlowOriginal .flowLine{stroke:#005bdc}
html[data-theme="light"] #pccFlowViewport .pccFlowOriginal .flowPulse{stroke:#0069ee}
@media(prefers-reduced-motion:reduce){#pccFlowViewport .pccFlowOriginal .flowPulse{animation:none;opacity:.25}}


/* hourly-premium.css */
/* Recarga por hora: escala e pico legíveis nos dois temas. */
#inteligencia .hourlyPanel{position:relative;overflow:visible;padding:clamp(20px,3vw,32px);border-radius:22px;background:var(--surface,#fff);border:1px solid var(--line,#dae4f1)}
#inteligencia .hourlyHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
#inteligencia .hourlyHeader .small{font-size:11px;letter-spacing:.14em;font-weight:800;color:#2368b6}
#inteligencia .hourlyHeader .section{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.04em;margin:7px 0}
#inteligencia .hourlyHeader p{margin:0}
#inteligencia .hourlyPeak{display:grid;min-width:132px;padding:12px 18px;border-left:2px solid #267bea;background:linear-gradient(90deg,rgba(38,123,234,.08),transparent)}
#inteligencia .hourlyPeak span{font-size:10px;letter-spacing:.13em;font-weight:800;color:var(--ink2,#60758d)}
#inteligencia .hourlyPeak strong{font-size:30px;letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:1.2;color:var(--ink,#102d52)}
#inteligencia .hourlyPeak small{color:var(--ink2,#60758d)}
#inteligencia .hourlyPlot{display:grid;grid-template-columns:35px minmax(0,1fr);gap:10px;margin-top:30px;min-width:0}
#inteligencia .hourlyScale{height:190px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:0 0 24px;color:var(--ink2,#60758d);font-size:11px;font-variant-numeric:tabular-nums}
#inteligencia .hourChart{display:grid;grid-template-columns:repeat(24,minmax(16px,1fr));gap:clamp(2px,.42vw,7px);align-items:stretch;min-height:190px;height:190px;padding:0;overflow-x:auto;overflow-y:visible;border:0;background:linear-gradient(to bottom,var(--line,#dce5ee) 1px,transparent 1px) 0 0/100% 83px}
#inteligencia .hourColumn{display:grid;grid-template-rows:166px 24px;align-items:end;gap:0;min-width:16px;height:190px;position:relative;cursor:crosshair}
#inteligencia .hourBar{width:100%;min-height:0;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#49b4fa,#1673df);box-shadow:inset 1px 0 #ffffff60;transition:filter .15s,transform .15s;transform-origin:bottom}
#inteligencia .hourColumn.is-peak .hourBar{background:linear-gradient(180deg,#79d7ff,#0757c7);box-shadow:0 0 18px #248bf36b,inset 1px 0 #ffffff80}
#inteligencia .hourColumn:hover .hourBar,#inteligencia .hourColumn:focus-visible .hourBar{filter:brightness(1.12);transform:scaleX(1.12)}
#inteligencia .hourColumn span{font-size:10px;color:var(--ink2,#60758d);align-self:center;text-align:center}
#inteligencia .hourColumn::after{bottom:calc(100% - 2px);left:50%;padding:8px 10px;border-radius:8px;background:#0d2b53;color:#fff;box-shadow:0 8px 20px #061c3f40;z-index:8}
#inteligencia .hourColumn:nth-child(n+18)::after{left:auto;right:0;transform:none}
#inteligencia .hourlySource{border-top:1px solid var(--line,#dae4f1);padding-top:12px;margin-top:16px;font-size:12px}
[data-theme="dark"] #inteligencia .hourlyPanel{background:var(--surface,#111820);border-color:var(--line,#344354)}
[data-theme="dark"] #inteligencia .hourlyHeader .small{color:#9fcbff}
[data-theme="dark"] #inteligencia .hourlyPeak{background:linear-gradient(90deg,rgba(65,157,255,.12),transparent)}
@media(max-width:700px){#inteligencia .hourlyHeader{gap:12px}#inteligencia .hourlyPeak{min-width:100px;padding:8px 12px}#inteligencia .hourlyPlot{grid-template-columns:28px minmax(0,1fr);gap:5px;margin-top:22px}#inteligencia .hourChart{grid-template-columns:repeat(24,22px)}#inteligencia .hourColumn{min-width:22px}}


/* dre-waterfall.css */
#tributario .dreWaterfall{border:var(--cc-stroke-hairline) solid var(--cc-border-subtle);border-radius:var(--cc-radius-card);background:var(--cc-surface-1);padding:clamp(16px,2.3vw,28px);margin:18px 0 24px;color:var(--cc-text-primary);font:var(--cc-font-size-13)/1.4 var(--cc-font-sans)}
#tributario .dreWHead{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}#tributario .dreWHead strong{font-size:clamp(17px,2vw,22px);letter-spacing:-.03em}#tributario .dreWHead span{font-size:12px;color:var(--cc-text-tertiary)}
#tributario .dreWScroll{overflow-x:auto;overflow-y:hidden;margin-top:16px}#tributario .dreWScroll svg{width:100%;min-width:650px;display:block;height:auto}
#tributario .dreWGrid{fill:none;stroke:var(--cc-border-subtle);stroke-width:1}#tributario .dreWBar.revenue{fill:var(--cc-brand-primary)}#tributario .dreWBar.energy{fill:var(--cc-brand-primary);fill-opacity:.58}#tributario .dreWBar.cost{fill:var(--cc-text-tertiary)}#tributario .dreWBar.result{fill:var(--cc-status-success-fg)}#tributario .dreWBar.negative{fill:var(--cc-status-critical-fg)}
#tributario .dreWPending{fill:var(--cc-surface-2);stroke:var(--cc-text-tertiary);stroke-width:1;stroke-dasharray:3 3}#tributario .dreWValue{fill:var(--cc-text-primary);font:600 12px var(--cc-font-mono)}#tributario .dreWLabel{fill:var(--cc-text-secondary);font:11px var(--cc-font-sans)}
#tributario .dreWLegend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:var(--cc-text-secondary);margin-top:5px}#tributario .dreWLegend span:first-child{color:var(--cc-brand-primary)}#tributario .dreWLegend span:nth-child(3){color:var(--cc-status-success-fg)}
@media(max-width:600px){#tributario .dreWaterfall{padding:15px}#tributario .dreWScroll svg{min-width:650px}}


/* aud-x42.css */
/* AUD-X42: source states and measured charts. Values come from the existing data layer. */
#platform .pccBadge.charging,#statusmvp .statusBadge.operating.charging,#visao .overviewState.charging,#platform .connectorState.charging{color:var(--cc-status-info-fg)!important;background:var(--cc-status-info-bg)!important;border-color:var(--cc-status-info-border)!important}
#platform .pccConnector.charging:after{background:var(--cc-brand-primary)!important}
#platform .pccConnector.charging .cc-ic,#platform .pccBadge.charging .cc-ic{color:var(--cc-status-info-fg)!important}
#platform .pccBadge.down,#statusmvp .statusBadge.failed,#visao .overviewState.failed{color:var(--cc-status-critical-fg)!important;background:var(--cc-status-critical-bg)!important}
#financeiro .financeChart{display:block;min-height:0;overflow:visible;padding:8px 0 0}
#financeiro #financeChart{position:relative}
#financeiro .financeChartControls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--cc-text-secondary);padding-bottom:14px}
#financeiro .financeChartToggle{display:flex;gap:3px;padding:3px;border:1px solid var(--cc-border-subtle);border-radius:var(--cc-radius-control)}
#financeiro .financeChartToggle button{border:0;background:transparent;color:var(--cc-text-secondary);padding:6px 11px;cursor:pointer}
#financeiro .financeChartToggle button[aria-pressed="true"]{background:var(--cc-surface-2);color:var(--cc-text-primary)}
#financeiro .financeChartLegend{display:flex;gap:19px;flex-wrap:wrap;color:var(--cc-text-secondary);font-size:12px;margin-bottom:7px}
#financeiro .financeChartLegend span{display:inline-flex;align-items:center;gap:7px}#financeiro .financeChartLegend i{display:block;width:12px;height:2px;background:var(--cc-data-revenue)}#financeiro .financeChartLegend .financeLegendPrior{height:1px;background:var(--cc-text-secondary)}#financeiro .financeChartLegend .financeLegendPartial{height:9px;background:repeating-linear-gradient(135deg,var(--cc-data-revenue) 0 1px,transparent 1px 4px)}
#financeiro .financeBarsScroll{overflow-x:auto;max-height:320px}#financeiro .financeBarsScroll svg{min-width:0;max-height:320px;width:100%;height:auto;display:block}
#financeiro .financeGrid{stroke:var(--cc-border-subtle);stroke-width:1}#financeiro .financeAxis{font:11px var(--cc-font-mono);fill:var(--cc-text-tertiary)}#financeiro .financeBar{fill:var(--cc-data-revenue);cursor:crosshair}#financeiro .financeBar.isPartial{fill:var(--cc-status-info-bg);stroke:var(--cc-data-revenue);stroke-width:1}#financeiro .financePriorMark{stroke:var(--cc-text-secondary);stroke-width:2}#financeiro .financeHatchLine{stroke:var(--cc-data-revenue);stroke-width:1}#financeiro .financePartialLabel{fill:var(--cc-text-secondary);font:11px var(--cc-font-mono)}#financeiro .financeBar:focus-visible{outline:2px solid var(--cc-focus-ring);outline-offset:2px}
#financeiro .financeChartTip{position:absolute;z-index:3;max-width:250px;min-width:185px;pointer-events:none;background:var(--cc-surface-1);border:1px solid var(--cc-border-default);border-radius:var(--cc-radius-control);padding:10px;color:var(--cc-text-primary);font:12px/1.5 var(--cc-font-sans);box-shadow:0 8px 22px color-mix(in srgb,var(--cc-text-primary) 12%,transparent)}#financeiro .financeChartTip[hidden]{display:none}#financeiro .financeBarsScroll{position:relative}
#financeiro .financeChartTable{width:100%;border-collapse:collapse;font:12px var(--cc-font-sans);color:var(--cc-text-primary)}#financeiro .financeChartTable[hidden]{display:none}#financeiro .financeChartTable :is(th,td){text-align:left;padding:10px;border-bottom:1px solid var(--cc-border-subtle)}#financeiro .financeChartTable td:nth-child(2),#financeiro .financeChartTable td:nth-child(3){font-family:var(--cc-font-mono);white-space:nowrap}
#platform .pccRevenueValue,#platform .pccLiveCard .num,#financeiro .financeGrid .big{font-family:var(--cc-font-sans)!important;font-weight:600!important;font-variant-numeric:proportional-nums;letter-spacing:-.035em}
#view-expansao .mx-unit-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}#view-expansao .mx-unit-stats>div{border-top:1px solid var(--cc-border-subtle);padding-top:10px}#view-expansao .mx-unit-stats dt{font:12px var(--cc-font-sans);color:var(--cc-text-secondary)}#view-expansao .mx-unit-stats dd{margin:4px 0 0;font:600 20px var(--cc-font-sans);color:var(--cc-text-primary);font-variant-numeric:proportional-nums}#view-expansao .mx-unit-source{font:12px var(--cc-font-sans);color:var(--cc-text-secondary)}#view-expansao .mx-unit-source summary{cursor:pointer}
@media(max-width:600px){#view-expansao .mx-unit-stats{grid-template-columns:1fr}#view-expansao .mx-unit-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}#view-expansao .mx-unit-stats dd{white-space:nowrap}}
#platform .pccConnector{border:0!important;border-bottom:1px solid var(--cc-border-subtle)!important;border-radius:0!important;background:transparent!important}
#financeiro .financeStationGrid .stationFinance{border-radius:0!important;box-shadow:none!important;border:0!important;border-bottom:1px solid var(--cc-border-subtle)!important;background:transparent!important}
#financeiro #financeWindowNote{text-transform:none!important;letter-spacing:normal!important;font:12px var(--cc-font-sans);color:var(--cc-text-secondary)}
#tributario .dreWPending{fill:url(#drePendingHatch)}#tributario .dreWGrid{stroke-dasharray:none}
@media(max-width:600px){#financeiro .financeBarsScroll svg{min-width:0}#financeiro .financeChartControls{align-items:flex-start}#financeiro .financeStationGrid .stationFinance{display:grid;grid-template-columns:1fr}#financeiro .financeStationGrid .stationFinance strong{white-space:nowrap;overflow:visible;text-overflow:clip}}
#visao .pccChartArea{display:none!important}#visao .pccCurveToday,#visao .pccCurvePrevious,#visao .pccCurveFuture{stroke-width:2!important;fill:none!important}#visao .pccChartGrid{stroke:var(--cc-border-subtle)!important;stroke-dasharray:none!important;stroke-width:1!important}#visao .pccChartAxis{fill:var(--cc-text-tertiary)!important;font:11px var(--cc-font-mono)!important}#visao .pccChartLegend{font-size:12px;color:var(--cc-text-secondary)}#visao .pccChartLegend span{color:var(--cc-text-secondary)!important}
#visao .pccDailyCurve .pccCurveToday{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}
#view-expansao .mx-heat--low-confidence{position:relative}#view-expansao .mx-heat--low-confidence:after{content:"";position:absolute;inset:12px 18px 70px 48px;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--cc-data-pending) 20%,transparent) 6px 7px)}
#view-expansao .mx-hex-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0;color:var(--cc-text-secondary);font:11px var(--cc-font-mono)}#view-expansao .mx-hex-legend span{display:inline-flex;align-items:center;gap:4px}#view-expansao .mx-hex-legend i{width:35px;height:9px;display:block}#view-expansao .mx-hex-legend small{margin-left:10px;font:12px var(--cc-font-sans)}
#financeiro .financeEvidence{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--cc-text-secondary);border-top:1px solid var(--cc-border-subtle);padding-top:8px;margin-top:8px}

/* AUD-X42.2 QA: full-width finance plot, single legend, and explicit hierarchy. */
#financeiro .financePanelHead>.chartLegend{display:none!important}
#financeiro .financeChartControls{justify-content:flex-start!important;align-items:center;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 12px!important}
#financeiro .financeChartControls{width:100%;align-self:stretch}
#financeiro .financeChartControls>div:first-child{flex:1 1 auto;text-align:left}
#financeiro .financeChartToggle{margin:0}
#financeiro .financeChartLegend{width:100%;justify-content:flex-start}
#financeiro .financeBarsScroll{width:100%;overflow-x:hidden}
#financeiro .financeBarsScroll>.financePartialLabel{position:absolute;z-index:2;top:0;right:4px;padding:0 4px;background:color-mix(in srgb,var(--cc-surface-1) 92%,transparent);color:var(--cc-text-secondary);font:11px var(--cc-font-sans);text-align:right}
@media(max-width:600px){#financeiro .financeChartControls>div:first-child{flex:1 1 100%}}
#financeiro .financePartialGuide{stroke:var(--cc-data-revenue);stroke-width:1;stroke-dasharray:3 3;opacity:.75}
#view-expansao .mx-value{font-family:var(--cc-font-sans)!important;font-weight:600!important;font-variant-numeric:proportional-nums}
#visao .pccActivityList i.start{background:var(--cc-brand-primary)!important}
#tributario .dreWLegend span{display:inline-flex;align-items:center;gap:6px;color:var(--cc-text-primary)!important}
#tributario .dreWLegend i{width:9px;height:9px;display:inline-block;background:var(--cc-brand-primary)}
#tributario .dreWLegend .dreLegendCosts{background:var(--cc-text-tertiary)}
#tributario .dreWLegend .dreLegendResult{background:var(--cc-status-success-fg)}
#tributario .dreWLegend .dreLegendPending{background:repeating-linear-gradient(135deg,var(--cc-data-pending) 0 1px,transparent 1px 3px);border:1px solid var(--cc-data-pending)}
#tributario .dreTable [role="cell"]{font-family:var(--cc-font-sans)!important}
#tributario .dreTable [role="cell"] strong,#tributario .dreTable strong[role="cell"]{font-family:var(--cc-font-mono)!important}
#loginScreen .loginBrandBody p,#loginScreen .loginAccess p{color:var(--cc-text-secondary)!important}
/* Daily revenue trend in each station summary, using the same data colors as the main chart. */
#financeiro .stationFinance .stationFinanceTrendLabel{display:block;margin-top:20px;padding-top:12px;border-top:1px solid var(--cc-border-subtle);font:12px var(--cc-font-sans);color:var(--cc-text-secondary)}
#financeiro .stationFinance .v81-spark{display:block;width:100%;margin-top:7px;min-height:60px}
#platform #financeiro .stationFinance .v81-spark svg{display:block!important;width:100%;height:auto;max-height:96px;margin:0}
#financeiro .stationFinance .v81-area{fill:color-mix(in srgb,var(--cc-data-revenue) 12%,transparent)}
#financeiro .stationFinance .v81-current{fill:none;stroke:var(--cc-data-revenue);stroke-width:2.8}
#financeiro .stationFinance .v81-current-dot,#financeiro .stationFinance .v81-spark-dot{fill:var(--cc-data-revenue);stroke:var(--cc-surface-1);stroke-width:1.5}
#financeiro .stationFinance .v81-grid{stroke:var(--cc-border-subtle)}
#financeiro .stationFinance .v81-spark-tip{z-index:4;background:var(--cc-text-primary);color:var(--cc-surface-1)}
/* Daily revenue as two comparable lines, with the last day marked as partial. */
#financeiro .financeLineArea{fill:url(#financeRevenueFill);stroke:none;pointer-events:none}
#financeiro .financeAreaStart{stop-color:var(--cc-data-revenue);stop-opacity:.22}
#financeiro .financeAreaEnd{stop-color:var(--cc-data-revenue);stop-opacity:0}
#financeiro .financeLineCurrent{fill:none;stroke:var(--cc-data-revenue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#financeiro .financeLinePrevious{fill:none;stroke:var(--cc-text-secondary);stroke-width:2;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#financeiro .financePointCurrent{fill:var(--cc-data-revenue);stroke:var(--cc-surface-1);stroke-width:2;pointer-events:none}
#financeiro .financePointCurrent.isPartial{fill:var(--cc-surface-1);stroke:var(--cc-data-revenue);stroke-width:3}
#financeiro .financePointPrevious{fill:var(--cc-surface-1);stroke:var(--cc-text-secondary);stroke-width:1.5;pointer-events:none}
#financeiro .financePoint{fill:transparent;cursor:crosshair}
#financeiro .financePoint:focus-visible{stroke:var(--cc-focus-ring);stroke-width:2;outline:none!important}
#financeiro .financeChartLegend .financeLegendLine{height:0;background:none;border-top:3px solid var(--cc-data-revenue)}
#financeiro .financeChartLegend .financeLegendPrior{height:0;background:none;border-top:2px dashed var(--cc-text-secondary)}
#financeiro .financeChartLegend .financeLegendPartial{width:10px;height:10px;border:2px solid var(--cc-data-revenue);border-radius:50%;background:var(--cc-surface-1)}


/* client-owner-compact.css */
/* Owner-only presentation. Administrative and operator views retain their layout. */
.vipOwnerToggle{display:none}
.pccOwnerNavTooltip{position:fixed;z-index:1000;transform:translateY(-50%) translateX(-4px);padding:8px 12px;border:1px solid var(--cc-border-default,#dce2e9);border-radius:9px;background:var(--cc-surface-1,#fff);color:var(--cc-text-primary,#17243c);box-shadow:0 8px 24px #0002;font:500 13px/1.3 var(--cc-font-sans,system-ui);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s}
body[data-pcc-role="client_owner"] .pccOwnerNavTooltip.visible{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
html[data-theme="dark"] #platform .pccRevenue{--brand:#20aaf2;--unit2:#6264f4;--unit3:#a875f4}
html[data-theme="dark"] #platform .pccRevenueTrack span:nth-child(1){background:linear-gradient(90deg,#087ecb,#28b9fa)!important}
html[data-theme="dark"] #platform .pccRevenueTrack span:nth-child(2){background:linear-gradient(90deg,#4652df,#7b73ff)!important}
html[data-theme="dark"] #platform .pccRevenueTrack span:nth-child(3){background:linear-gradient(90deg,#8762e9,#bf8cff)!important}
body[data-pcc-role="client_owner"] #customersPartial{display:none!important}
body[data-pcc-role="client_owner"] #field{display:none!important}
body[data-pcc-role="client_owner"] .vipOwnerToggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:inherit;padding:0;text-align:left;font-family:inherit;font-size:19px;font-weight:700;line-height:1.4;cursor:pointer}
body[data-pcc-role="client_owner"] .vipOwnerChevron{font-size:25px;line-height:1;transition:transform .18s}
body[data-pcc-role="client_owner"] .vipOwnerToggle[aria-expanded="true"] .vipOwnerChevron{transform:rotate(180deg)}
body[data-pcc-role="client_owner"] .vipOwnerBody:not(.expanded){display:none}
body[data-pcc-role="client_owner"] .vipOwnerBody.expanded{margin-top:14px;padding-top:14px;border-top:1px solid var(--vipLine,#d6e4f1)}
body[data-pcc-role="client_owner"] .vipDevice,body[data-pcc-role="client_owner"] .vipDirectory{padding:17px 20px}
body[data-pcc-role="client_owner"] .vipDirectory{margin-top:12px}
body[data-pcc-role="client_owner"] #seguranca .securitySite{padding:14px 16px}
body[data-pcc-role="client_owner"] #seguranca .securitySite h3{margin:0;font-size:17px}
body[data-pcc-role="client_owner"] #seguranca .securityMeta{margin:2px 0 10px;font-size:12px}
body[data-pcc-role="client_owner"] #seguranca .cameraChannel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin:0;padding:10px 2px;border:0;border-top:1px solid #c8d8ea;border-radius:0;background:transparent;color:inherit}
body[data-pcc-role="client_owner"] #seguranca .cameraChannel strong{grid-column:1;font-size:14px;line-height:1.3}
body[data-pcc-role="client_owner"] #seguranca .cameraChannel span{grid-column:1;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;line-height:1.3}
body[data-pcc-role="client_owner"] #seguranca .cameraChannel .watchCamera{grid-column:2;grid-row:1/4;align-self:center;margin:0;padding:8px 12px;min-height:34px;white-space:nowrap;font-size:12px}
body[data-pcc-role="client_owner"] #seguranca .cameraChannel iframe{grid-column:1/-1;margin-top:8px}
body[data-pcc-role="client_owner"].pccSplit #platform .pccRevenueValue,
body[data-pcc-role="client_owner"].pccSplit #platform .pccRevenueValue.pccRolling{display:flex!important;width:max-content;max-width:100%;margin:18px 0 6px;font-size:clamp(38px,5cqi,58px)!important;line-height:1.05;overflow-wrap:normal;word-break:normal}
@media(max-width:520px){body[data-pcc-role="client_owner"] #seguranca .cameraChannel .watchCamera{grid-column:1/-1;grid-row:auto;justify-self:start;margin-top:5px}}
@media(min-width:768px){
 body[data-pcc-role="client_owner"] #pccSide{overflow-y:auto;overflow-x:hidden;max-height:100dvh;padding-top:8px;padding-bottom:8px;scrollbar-width:thin}
 body[data-pcc-role="client_owner"] #pccSide .pccSideBrand{margin-bottom:8px;padding:4px}
 body[data-pcc-role="client_owner"] #pccSide .pccSideLinks{gap:2px}
 body[data-pcc-role="client_owner"] #pccSide .pccSideLinks button{height:44px;min-height:44px}
 body[data-pcc-role="client_owner"] #pccSide .pccSideLinks button::after{display:none}
 body[data-pcc-role="client_owner"] #pccSide .pccPartner{width:68px;margin-top:4px;padding:2px}
 body[data-pcc-role="client_owner"] #pccSide .pccSideFoot{padding-top:4px}
 body[data-pcc-role="client_owner"] #pccSide .pccUser{margin-bottom:4px}
 body[data-pcc-role="client_owner"] #pccSide .pccSideFoot .pccSplitToggle,body[data-pcc-role="client_owner"] #pccSide .pccSideFoot .pccFootActions button{height:40px;min-height:40px;margin-bottom:2px}
}


/* aud-x43-x44-lot1.css */
/* AUD-X43/X44 — Lote 1: focused production QA corrections. */
html[data-theme] #platform #visao .pccRevenueValue,
html[data-theme] #platform #financeiro #financeRevenue,
html[data-theme] #platform .card .big,
html[data-theme] #platform #tributario .result #dreResult{
  font-family:var(--cc-font-sans)!important;
  font-weight:600!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
}

@media(max-width:600px){
  #platform #visao{overflow-x:clip}
  #platform #visao .pccStations{overflow-x:clip}
  #platform #visao .pccRevenueLegend{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 16px;
  }
  #platform #visao .pccRevenueLegend>div{min-width:0}
  #platform #visao .pccRevenueLegend strong{
    overflow:visible;
    text-overflow:clip;
    white-space:nowrap;
  }
}

@media(max-width:767px){
  #view-expansao .maplibregl-ctrl-group button,
  #view-expansao .leaflet-control-zoom a{
    width:44px!important;
    height:44px!important;
    min-width:44px;
    min-height:44px;
    line-height:44px;
  }
  #view-expansao .mx-map-controls label:has(input[type="checkbox"]){
    min-height:44px;
    padding:8px 6px;
    gap:8px;
  }
  #view-expansao .mx-map-controls input[type="checkbox"]{
    width:20px;
    height:20px;
    flex:0 0 20px;
  }
}


/* premium-uniform-v213.css */
/* Charge Control v213 — superfícies retas, leitura operacional e projeção financeira. */
:root{--radius-lg:4px;--radius-md:4px}
#platform .panel,#platform .card,#platform .pccLiveCard,#platform .pccStation,#platform .stationFinance,#platform .statusStation,#platform .securitySite,#platform .listItem,#platform .mx-card,#platform .vp-card,#platform .vipSnapshot>div,#platform .vipPerson,#platform .taxRegimePanel,#platform .dreInputs{border-radius:4px!important;border-color:var(--line,#dce5ee)!important;box-shadow:0 8px 24px rgba(15,35,64,.065)!important}
#platform .panel,#platform .card,#platform .pccLiveCard,#platform .pccStation,#platform .mx-card{position:relative}
#platform .card::after,#platform .pccLiveCard::after,#platform .pccStation::after{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:#1265eb;opacity:.72;pointer-events:none}
#platform .panel:hover,#platform .card:hover,#platform .pccLiveCard:hover,#platform .pccStation:hover{box-shadow:0 13px 30px rgba(15,35,64,.10)!important}
#platform .sectionHead,#platform .financeHeader,#platform .securityHead{padding-bottom:16px;border-bottom:1px solid var(--line,#dce5ee);margin-bottom:20px}
#platform .sectionHead h2,#platform .financeHeader h2,#platform .securityHead h2{line-height:1.08}
#platform .btn,#platform button,#platform input,#platform select,#platform textarea{border-radius:5px!important}
#platform .statusTag,#platform .pill,#platform .pccBadge,#platform .invoiceState{border-radius:3px!important}
#platform .notice,#platform .financeState,#platform .securityNote,#platform .emptyState{border-radius:4px!important}

/* Custos: sem o antigo balão de cabeçalho. */
#financeiro .costPanel{background:linear-gradient(130deg,var(--surface,#fff) 0 70%,rgba(18,101,235,.035))!important}
#financeiro .costSectionHead{margin:0 0 24px!important;padding:0 0 16px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--line,#dce5ee)!important;border-radius:0!important;box-shadow:none!important}
#financeiro .costSectionHead::before,#financeiro .costSectionHead::after{display:none!important}
#financeiro .costSectionHead h3,#financeiro .costSectionHead p{background:transparent!important}
#financeiro .costSummary{gap:12px!important}
#financeiro .costSummaryItem{border-radius:3px!important;background:var(--surface,#fff)!important;padding:24px 26px!important;box-shadow:0 8px 24px rgba(15,35,64,.06);border-left:3px solid #90b6ef!important}
#financeiro .costSummaryBalance{border-top:1px solid var(--line,#dce5ee)!important;border-left-color:#1265eb!important}
#financeiro .costSummaryValue{font-size:clamp(31px,3vw,44px)!important;letter-spacing:-.045em!important}
#financeiro .costGrid input,#financeiro .costCustomRows input,#financeiro .costAssumptions input{border-radius:4px!important;background:var(--surface2,#f4f7fb)!important;border-color:var(--line,#dce5ee)!important;min-height:52px}
#financeiro .costGrid input:focus,#financeiro .costCustomRows input:focus,#financeiro .costAssumptions input:focus{background:var(--surface,#fff)!important}

/* Clube Volt+ demonstrativo · arquitetura de fidelidade v242 */
body[data-demo-viewer="true"] #clube{--club-line:var(--line,#dce5ee);--club-surface:var(--surface,#fff);--club-soft:var(--surface2,#f4f7fb);--club-ink:var(--text,#102a43);--club-muted:var(--muted,#60768a)}
body[data-demo-viewer="true"] #clube .demoClubHead{align-items:center}
body[data-demo-viewer="true"] #clube .demoClubKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
body[data-demo-viewer="true"] #clube .demoClubKpis article{min-width:0;padding:20px;border:1px solid var(--club-line);border-radius:4px;background:var(--club-surface);box-shadow:0 8px 24px rgba(15,35,64,.06)}
body[data-demo-viewer="true"] #clube .demoClubKpis span,body[data-demo-viewer="true"] #clube .demoClubKpis small{display:block;color:var(--club-muted)}
body[data-demo-viewer="true"] #clube .demoClubKpis span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
body[data-demo-viewer="true"] #clube .demoClubKpis strong{display:block;margin:9px 0 5px;color:var(--club-ink);font-size:clamp(24px,2.2vw,34px);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
body[data-demo-viewer="true"] #clube .demoClubKpis small{font-size:12px;line-height:1.4}
body[data-demo-viewer="true"] #clube .demoClubArchitecture,body[data-demo-viewer="true"] #clube .demoClubMembers{padding:22px;margin-bottom:18px;background:var(--club-surface)}
body[data-demo-viewer="true"] #clube .demoClubSectionTitle{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--club-line)}
body[data-demo-viewer="true"] #clube .demoClubSectionTitle h3{margin:4px 0 0;color:var(--club-ink);font-size:22px;letter-spacing:-.025em}
body[data-demo-viewer="true"] #clube .demoClubSectionTitle>span{color:var(--club-muted);font-size:13px;text-align:right}
body[data-demo-viewer="true"] #clube .demoClubTiers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
body[data-demo-viewer="true"] #clube .demoClubTier{min-width:0;padding:16px;border:1px solid var(--club-line);border-radius:4px;background:var(--club-soft)}
body[data-demo-viewer="true"] #clube .demoClubTierTop{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:14px}
body[data-demo-viewer="true"] #clube .demoClubMedal{width:13px;height:13px;border-radius:50%;background:var(--tier-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--tier-accent) 14%,transparent)}
body[data-demo-viewer="true"] #clube .demoClubTierTop strong,body[data-demo-viewer="true"] #clube .demoClubTierTop small{display:block}
body[data-demo-viewer="true"] #clube .demoClubTierTop strong{color:var(--club-ink);font-size:17px}
body[data-demo-viewer="true"] #clube .demoClubTierTop small{margin-top:2px;color:var(--club-muted);font-size:10px;white-space:nowrap}
body[data-demo-viewer="true"] #clube .demoClubTierTop b{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border:1px solid var(--club-line);border-radius:3px;background:var(--club-surface);color:var(--club-ink);font-size:12px}
body[data-demo-viewer="true"] #clube .demoClubTier ul{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:var(--club-muted);font-size:12px;line-height:1.35}
body[data-demo-viewer="true"] #clube .demoClubTier li{position:relative;padding-left:14px}
body[data-demo-viewer="true"] #clube .demoClubTier li::before{content:"";position:absolute;left:0;top:.52em;width:5px;height:5px;border-radius:50%;background:var(--tier-accent)}
body[data-demo-viewer="true"] #clube .demoClubDisclaimer{margin:17px 0 0;color:var(--club-muted);font-size:12px;line-height:1.55}
body[data-demo-viewer="true"] #clube .demoClubToolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}
body[data-demo-viewer="true"] #clube #demoClubSearch{width:min(260px,100%);min-height:42px;padding:10px 12px;border:1px solid var(--club-line);border-radius:4px;background:var(--club-soft);color:var(--club-ink)}
body[data-demo-viewer="true"] #clube .demoClubFilters{display:flex;gap:6px;overflow:auto;padding:2px}
body[data-demo-viewer="true"] #clube .demoClubFilters button{min-height:38px;padding:8px 11px;border:1px solid var(--club-line);border-radius:4px;background:var(--club-surface);color:var(--club-muted);font-size:12px;font-weight:750;white-space:nowrap}
body[data-demo-viewer="true"] #clube .demoClubFilters button.active{border-color:#1265eb;background:#1265eb;color:#fff}
body[data-demo-viewer="true"] #clube .demoClubTable{overflow:auto;border:1px solid var(--club-line);border-radius:4px}
body[data-demo-viewer="true"] #clube .demoClubRow{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(105px,.75fr) minmax(90px,.65fr) minmax(130px,.8fr) minmax(110px,.7fr);align-items:center;gap:14px;min-width:720px;padding:13px 15px;border-bottom:1px solid var(--club-line);color:var(--club-muted);font-size:13px}
body[data-demo-viewer="true"] #clube .demoClubRow:last-child{border-bottom:0}
body[data-demo-viewer="true"] #clube .demoClubRow>strong,body[data-demo-viewer="true"] #clube .demoClubRow>b{color:var(--club-ink)}
body[data-demo-viewer="true"] #clube .demoClubRow>span:nth-child(2){display:flex;align-items:center;gap:8px}
body[data-demo-viewer="true"] #clube .demoClubRow i{width:8px;height:8px;border-radius:50%;background:var(--tier-accent);flex:0 0 8px}
body[data-demo-viewer="true"] #clube .demoClubTableHead{background:var(--club-soft);color:var(--club-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
body[data-demo-viewer="true"] #clube .demoClubEmpty{margin:0;padding:24px;color:var(--club-muted)}
body[data-demo-viewer="true"] #clube .demoClubCampaigns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body[data-demo-viewer="true"] #clube .demoClubCampaigns article{padding:19px;border:1px solid var(--club-line);border-radius:4px;background:var(--club-surface);box-shadow:0 8px 24px rgba(15,35,64,.05)}
body[data-demo-viewer="true"] #clube .demoClubCampaigns span{display:block;color:#1265eb;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
body[data-demo-viewer="true"] #clube .demoClubCampaigns strong{display:block;margin:7px 0;color:var(--club-ink);font-size:17px}
body[data-demo-viewer="true"] #clube .demoClubCampaigns p{margin:0;color:var(--club-muted);font-size:13px;line-height:1.5}
[data-theme="dark"] body[data-demo-viewer="true"] #clube .demoClubKpis article,[data-theme="dark"] body[data-demo-viewer="true"] #clube .demoClubCampaigns article{box-shadow:0 10px 26px rgba(0,0,0,.18)}
@media(max-width:1180px){body[data-demo-viewer="true"] #clube .demoClubTiers{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-demo-viewer="true"] #clube .demoClubKpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body[data-demo-viewer="true"] #clube .demoClubTiers,body[data-demo-viewer="true"] #clube .demoClubCampaigns{grid-template-columns:1fr}body[data-demo-viewer="true"] #clube .demoClubToolbar,body[data-demo-viewer="true"] #clube .demoClubSectionTitle{align-items:stretch;flex-direction:column}body[data-demo-viewer="true"] #clube .demoClubSectionTitle>span{text-align:left}body[data-demo-viewer="true"] #clube #demoClubSearch{width:100%}body[data-demo-viewer="true"] #clube .demoClubFilters{width:100%}}
@media(max-width:480px){body[data-demo-viewer="true"] #clube .demoClubKpis{grid-template-columns:1fr}}

/* Tributário: painel contínuo e DRE sem cartões arredondados herdados. */
#tributario .taxRegimePanel,#tributario .drePanel,#tributario .dreWaterfall,#tributario .dreTable,#tributario .dreInputs{border-radius:3px!important}
#tributario .taxRegimePanel{border-left:3px solid #1265eb!important;padding:24px!important}
#tributario .taxPresetGrid label,#tributario .dreInputGrid label{border-radius:3px!important}
#tributario .dreTable{overflow:hidden;background:var(--surface,#fff)!important}
#tributario .dreTable [role="row"]{border-radius:0!important;background:var(--surface,#fff)!important}
#tributario .dreTable [role="row"].subtotal{background:var(--surface2,#f4f7fb)!important}
#tributario .dreTable [role="row"].result{border-radius:0!important;border-width:1px!important;border-left:3px solid #2988e8!important}
#tributario .dreInputs{background:var(--surface,#fff)!important}
#tributario .dreStationPicker{border-radius:3px!important}

/* Nota Fiscal: elimina painéis e disclosures do template anterior. */
#notafiscal .card,#notafiscal .panel,#notafiscal .taxDeliveryTooltip,#notafiscal .invoiceFieldset,#notafiscal .taxSessionQueueContent,#notafiscal .stackList>*{border-radius:3px!important}
#notafiscal .card{border-left:3px solid #1265eb!important}
#notafiscal .panel{box-shadow:0 8px 24px rgba(15,35,64,.055)!important}
#notafiscal details.panel>summary{border-radius:2px!important;background:transparent!important}
#notafiscal details.panel[open]>summary{border-bottom:1px solid var(--line,#dce5ee)!important}
#notafiscal .invoiceFieldset{background:var(--surface2,#f4f7fb)!important;border-color:var(--line,#dce5ee)!important}
#notafiscal .taxDeliveryTooltip{box-shadow:0 14px 32px rgba(15,35,64,.12)!important}

/* VIP: um único workspace operacional, com blocos retos e hierarquia consistente. */
#cadastrovip .vipSnapshot,#cadastrovip .vipLayout,#cadastrovip .vipHealth,#cadastrovip .vipOperations{gap:12px!important}
#cadastrovip .vipSnapshot>div,#cadastrovip .vipHealth>div,#cadastrovip .vipEnroll,#cadastrovip .vipDevice,#cadastrovip .vipDirectory,#cadastrovip .vipNote,#cadastrovip .vipPerson,#cadastrovip .farolandiaSecurity,#cadastrovip .vipFreeAccessBanner{border-radius:3px!important}
#cadastrovip .vipSnapshot>div{border-left:3px solid #1265eb!important;background:var(--surface,#fff)!important}
#cadastrovip .vipEnroll,#cadastrovip .vipDevice,#cadastrovip .vipDirectory,#cadastrovip .vipOperations .panel{box-shadow:0 8px 24px rgba(15,35,64,.055)!important}
#cadastrovip .vipHealth>div,#cadastrovip .vipPerson{background:var(--surface2,#f4f7fb)!important}
#cadastrovip .vipNote{border-left:3px solid #1265eb!important}

#platform .row,#platform .customerTable tr,#platform .dreTable [role="row"]{border-radius:2px!important}
#platform table{border-collapse:collapse}
#platform th{letter-spacing:.06em;text-transform:uppercase;font-size:11px}

/* Tema escuro mais claro e legível, sem perder contraste. */
html[data-theme="dark"],[data-theme="dark"]{--bg:#151c24;--surface:#202a35;--surface2:#283442;--line:#3b4a5b;--ink:#f2f6fa;--ink2:#c5d0dc;--ink3:#a8b6c5;--side:#101720;--sideActive:#253242;--shadow:0 1px 2px rgba(0,0,0,.25),0 8px 24px rgba(0,0,0,.20)}
[data-theme="dark"] #platform .panel,[data-theme="dark"] #platform .card,[data-theme="dark"] #platform .pccLiveCard,[data-theme="dark"] #platform .pccStation,[data-theme="dark"] #platform .mx-card,[data-theme="dark"] #financeiro .costSummaryItem{box-shadow:0 10px 28px rgba(0,0,0,.18)!important}
[data-theme="dark"] #financeiro .costPanel{background:var(--surface,#202a35)!important}
[data-theme="dark"] #tributario .dreTable [role="row"].result{background:#253b55!important}

@media(max-width:760px){#platform .sectionHead,#platform .financeHeader,#platform .securityHead{padding-bottom:13px;margin-bottom:16px}#financeiro .costSummaryItem{padding:20px!important}#platform .panel,#platform .card,#platform .pccLiveCard,#platform .pccStation{border-radius:3px!important}}


/* no-bubbles-v214.css */
/* Charge Control v214 — remove superfícies cinza arredondadas herdadas. */

/* Cabeçalhos devem pertencer à página, nunca parecer um balão independente. */
#platform .sectionHead,
#platform .financePanelHead,
#platform .financeHeader,
#platform .securityHead,
#platform .costSectionHead,
#platform .mosaicHead,
#platform .vipDirectoryHead{
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#platform #financeiro .costPanel .costSectionHead{
  display:block!important;
  margin:0 0 24px!important;
  padding:0 0 16px!important;
  border:0!important;
  border-bottom:1px solid var(--line,#dce5ee)!important;
}
#platform #financeiro .costPanel .costSectionHead::before,
#platform #financeiro .costPanel .costSectionHead::after{display:none!important}

/* Avisos informativos passam a usar apenas uma marca lateral. */
#platform .notice,
#platform .financeState,
#platform .securityNote,
#platform .vipFreeAccessBanner,
#platform .vipNote,
#platform .customerPartial{
  background:transparent!important;
  border:0!important;
  border-left:3px solid #1265eb!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:10px 0 10px 16px!important;
}

/* Details e accordions: linhas editoriais, sem caixas infladas. */
#platform details.panel,
#platform .collapsiblePanel,
#platform .inlineHistory,
#platform .customerSmart{
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--line,#dce5ee)!important;
  border-bottom:1px solid var(--line,#dce5ee)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#platform details.panel>summary,
#platform .collapsiblePanel>summary,
#platform .inlineHistory>summary,
#platform .customerSmart>summary,
#platform details[open]>summary{
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#platform .collapsiblePanel>summary::after,
#platform .inlineHistory>summary::after{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding-inline:0!important;
}

/* Clientes: superfícies brancas retas e tabela contínua. */
#platform #clientes .customerKpis .card{
  background:var(--surface,#fff)!important;
  border-radius:3px!important;
  box-shadow:0 7px 20px rgba(15,35,64,.055)!important;
}
#platform #clientes .customerFilters{background:transparent!important}
#platform #clientes .customerFilters input,
#platform #clientes .customerFilters select,
#platform #clientes .customerSmart input,
#platform #clientes .customerSmart select{
  background:var(--surface,#fff)!important;
  border-color:var(--line,#dce5ee)!important;
  border-radius:3px!important;
  box-shadow:none!important;
}
#platform #clientes .customerSmart{padding:14px 0!important}
#platform #clientes .customerTableWrap{
  background:var(--surface,#fff)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#platform #clientes .customerTable th{
  background:var(--surface,#fff)!important;
  border-bottom:2px solid var(--line,#dce5ee)!important;
}

/* VIP: módulos operacionais em sequência, sem grandes cápsulas. */
#platform #cadastrovip .vipSnapshot{border-radius:3px!important}
#platform #cadastrovip .vipSnapshot>div{border-radius:0!important}
#platform #cadastrovip .vipEnroll,
#platform #cadastrovip .vipDevice,
#platform #cadastrovip .vipDirectory,
#platform #cadastrovip .vipNote,
#platform #cadastrovip .farolandiaSecurity{
  border-radius:3px!important;
}
body[data-pcc-role="client_owner"] #platform #cadastrovip .vipDevice,
body[data-pcc-role="client_owner"] #platform #cadastrovip .vipDirectory{
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--line,#dce5ee)!important;
  border-bottom:1px solid var(--line,#dce5ee)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:18px 0!important;
}
body[data-pcc-role="client_owner"] #platform #cadastrovip .vipDirectory{margin-top:14px!important}
#platform #cadastrovip .vipOwnerToggle{background:transparent!important;border-radius:0!important}
#platform #cadastrovip .vipOwnerBody.expanded{background:transparent!important}

/* Formulários e seletores deixam de usar o cinza opaco do template anterior. */
html[data-theme="light"] #platform input,
html[data-theme="light"] #platform select,
html[data-theme="light"] #platform textarea,
html[data-theme="light"] #platform .btn:not(.primary){
  background:#fff!important;
  border-color:#d3dde7!important;
  border-radius:3px!important;
  box-shadow:none!important;
}

/* No escuro, mantém a nova paleta mais clara sem blocos apagados. */
html[data-theme="dark"] #platform .sectionHead,
html[data-theme="dark"] #platform .financePanelHead,
html[data-theme="dark"] #platform .costSectionHead,
html[data-theme="dark"] #platform details>summary,
html[data-theme="dark"] #platform .customerSmart,
html[data-theme="dark"] #platform .vipDevice,
html[data-theme="dark"] #platform .vipDirectory{background:transparent!important}
html[data-theme="dark"] #platform input,
html[data-theme="dark"] #platform select,
html[data-theme="dark"] #platform textarea{background:var(--surface,#202a35)!important}

@media(max-width:760px){
  #platform #financeiro .costPanel .costSectionHead{margin-bottom:18px!important;padding-bottom:13px!important}
  body[data-pcc-role="client_owner"] #platform #cadastrovip .vipDevice,
  body[data-pcc-role="client_owner"] #platform #cadastrovip .vipDirectory{padding:16px 0!important}
}


/* premium-fixes-v215.css */
/* Charge Control v215 — revisão de qualidade premium orientada pelas telas reais. */

/* Nota Fiscal: hierarquia limpa, formulários em largura integral e sem placas cinza. */
#platform #notafiscal{min-width:0;overflow:clip}
#platform #notafiscal .taxOverview{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px!important;
}
#platform #notafiscal .taxOverview>.panel,
#platform #notafiscal .taxFoundation,
#platform #notafiscal .taxFoundation>*{min-width:0;max-width:none!important;width:100%}
#platform #notafiscal .taxFoundation{grid-template-columns:minmax(0,1fr)!important}
#platform #notafiscal .taxIssuerPanel{
  margin-top:24px!important;
  padding:24px 0 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--line,#dce5ee)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#platform #notafiscal .invoicePanel form,
#platform #notafiscal .taxIssuerPanel form{width:100%!important;max-width:none!important}
#platform #notafiscal .invoiceFieldset{
  margin:0!important;
  padding:24px 0!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--line,#dce5ee)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#platform #notafiscal .invoiceFieldset:first-of-type{border-top:0!important;padding-top:14px!important}
#platform #notafiscal .invoiceFieldset legend{
  padding:0 14px 0 0!important;
  color:var(--ink,#15253c)!important;
  background:transparent!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#platform #notafiscal .invoiceFormGrid,
#platform #notafiscal .taxFormPair{
  width:100%!important;
  max-width:none!important;
  gap:18px 24px!important;
}
#platform #notafiscal .invoiceFormGrid label,
#platform #notafiscal .taxFormPair label{min-width:0!important}
#platform #notafiscal .invoiceFormGrid input,
#platform #notafiscal .invoiceFormGrid select,
#platform #notafiscal .invoiceFormGrid textarea{
  min-height:48px!important;
  background:var(--surface,#fff)!important;
  border:1px solid var(--line,#dce5ee)!important;
  border-radius:3px!important;
  box-shadow:none!important;
}
#platform #notafiscal .invoiceFormGrid textarea{min-height:112px!important}
#platform #notafiscal .invoiceActions{padding-top:8px!important}
#platform #notafiscal #taxDraftSave,
#platform #notafiscal #invoiceRulesSave,
#platform #notafiscal #invoicePrepareSave{width:auto!important;min-width:210px!important;justify-self:start!important}

/* KPIs fiscais: um único acento, geometrias firmes e status discreto. */
#platform #notafiscal .grid.three{align-items:stretch!important}
#platform #notafiscal .grid.three>.card{
  min-width:0!important;
  min-height:166px!important;
  padding:28px 30px!important;
  border:1px solid var(--line,#dce5ee)!important;
  border-left:3px solid #1265eb!important;
  border-radius:3px!important;
  box-shadow:0 10px 26px rgba(15,35,64,.07)!important;
  overflow:visible!important;
}
#platform #notafiscal .grid.three>.card::before,
#platform #notafiscal .grid.three>.card::after{display:none!important}
#platform #notafiscal .grid.three .big{font-size:clamp(30px,3vw,42px)!important;line-height:1.06!important;overflow-wrap:anywhere}
#platform #notafiscal .statusTag{
  align-self:center!important;
  min-height:auto!important;
  padding:6px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#platform #notafiscal .statusTag::before{content:"";width:8px;height:8px;border-radius:50%;background:#0a9d70;flex:0 0 auto}

/* Cards de informação fiscal sem cartões dentro de cartões. */
#platform #notafiscal .taxProfilePanel,
#platform #notafiscal .taxOverview>.panel{
  border-radius:3px!important;
  background:var(--surface,#fff)!important;
}
#platform #notafiscal .stackList>*{
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--line,#dce5ee)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:16px 0!important;
}

/* VIP: contém todo o conteúdo na largura útil e elimina cortes laterais. */
#platform #cadastrovip{min-width:0;max-width:100%;overflow:clip}
#platform #cadastrovip .sectionHead,
#platform #cadastrovip .vipSnapshot,
#platform #cadastrovip .vipLayout,
#platform #cadastrovip .vipOperations,
#platform #cadastrovip .vipMessage,
#platform #cadastrovip .vipFreeAccessBanner{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
#platform #cadastrovip .vipSnapshot{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  overflow:hidden!important;
}
#platform #cadastrovip .vipSnapshot>div{
  min-width:0!important;
  padding:24px 30px!important;
  overflow:hidden!important;
}
#platform #cadastrovip .vipSnapshot strong,
#platform #cadastrovip .vipSnapshot small,
#platform #cadastrovip .vipFreeAccessBanner,
#platform #cadastrovip .vipNote p{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
#platform #cadastrovip .vipFreeAccessBanner{line-height:1.55!important}

/* Payback: rótulos ficam dentro da área do gráfico. */
#platform #financeiro .paybackChart{overflow:hidden!important}
#platform #financeiro .paybackCrossingLabel{font-size:11px!important;font-weight:800!important}

/* Tema escuro: formulários distinguíveis, sem cinza apagado. */
html[data-theme="dark"] #platform #notafiscal .invoiceFormGrid input,
html[data-theme="dark"] #platform #notafiscal .invoiceFormGrid select,
html[data-theme="dark"] #platform #notafiscal .invoiceFormGrid textarea{background:#273442!important;border-color:#455669!important}

@media(max-width:980px){
  #platform #notafiscal .grid.three{grid-template-columns:minmax(0,1fr)!important}
  #platform #notafiscal .grid.three>.card{min-height:auto!important}
  #platform #cadastrovip .vipSnapshot{grid-template-columns:minmax(0,1fr)!important}
  #platform #cadastrovip .vipSnapshot>div{border-left:3px solid #1265eb!important;border-top:1px solid var(--line,#dce5ee)!important}
  #platform #cadastrovip .vipSnapshot>div:first-child{border-top:0!important}
}
@media(max-width:760px){
  #platform #notafiscal .invoiceFormGrid,
  #platform #notafiscal .taxFormPair{grid-template-columns:minmax(0,1fr)!important}
  #platform #notafiscal #taxDraftSave,
  #platform #notafiscal #invoiceRulesSave,
  #platform #notafiscal #invoicePrepareSave{width:100%!important;min-width:0!important}
  #platform #cadastrovip .vipSnapshot>div{padding:20px!important}
}


/* hierarchy-v216.css */
/* Charge Control v216 — hierarquia de perfil, DRE e eixos financeiros. */

/* Perfil Oficial fechado por padrão, com resumo útil sempre visível. */
#platform #notafiscal details.taxProfilePanel{
  padding:0!important;
  overflow:hidden!important;
  background:var(--surface,#fff)!important;
  border:1px solid var(--line,#dce5ee)!important;
  border-radius:3px!important;
  box-shadow:0 8px 24px rgba(15,35,64,.05)!important;
}
#platform #notafiscal .taxProfileSummary{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:24px!important;
  min-height:94px!important;
  padding:20px 24px!important;
  list-style:none!important;
  cursor:pointer!important;
  background:transparent!important;
  border:0!important;
}
#platform #notafiscal .taxProfileSummary::-webkit-details-marker{display:none}
#platform #notafiscal .taxProfileSummary .section{margin:5px 0 0!important}
#platform #notafiscal #taxProfileSummaryMeta{
  max-width:520px!important;
  padding-right:34px!important;
  color:var(--ink2,#52657a)!important;
  font-size:13px!important;
  line-height:1.45!important;
  text-align:right!important;
  overflow-wrap:anywhere!important;
}
#platform #notafiscal .taxProfileSummary::after{
  content:"+"!important;
  position:absolute!important;
  right:24px!important;
  color:#1265eb!important;
  font-size:24px!important;
  font-weight:500!important;
  line-height:1!important;
}
#platform #notafiscal details.taxProfilePanel[open] .taxProfileSummary::after{content:"−"!important}
#platform #notafiscal details.taxProfilePanel[open] .taxProfileSummary{border-bottom:1px solid var(--line,#dce5ee)!important}
#platform #notafiscal .taxProfileBody{padding:22px 24px 28px!important}
#platform #notafiscal .taxProfileBody .taxIssuerPanel{margin-top:20px!important}

/* DRE: ação, mensagem e resultado ocupam níveis distintos. */
#platform #tributario .dreInputs .costActions{
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px 20px!important;
  margin:22px 0 10px!important;
}
#platform #tributario #dreSave{
  min-height:48px!important;
  min-width:230px!important;
  margin:0!important;
}
#platform #tributario #dreSaveStatus{
  display:block!important;
  min-width:0!important;
  color:var(--ink2,#52657a)!important;
  font-size:13px!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}
#platform #tributario .dreStatus{
  margin:14px 0 0!important;
  padding:10px 0 10px 15px!important;
  background:transparent!important;
  border:0!important;
  border-left:3px solid #c88724!important;
  border-radius:0!important;
  color:var(--ink2,#52657a)!important;
  box-shadow:none!important;
}
#platform #tributario .dreCaveat{max-width:100%!important;overflow-wrap:anywhere!important}

/* Eixo do payback: reserva visual para as extremidades. */
#platform #financeiro .paybackMonthLabel{font-size:10px!important;font-weight:650!important}

@media(max-width:760px){
  #platform #notafiscal .taxProfileSummary{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:18px 20px!important}
  #platform #notafiscal #taxProfileSummaryMeta{max-width:none!important;padding-right:28px!important;text-align:left!important}
  #platform #notafiscal .taxProfileSummary::after{right:20px!important}
  #platform #notafiscal .taxProfileBody{padding:18px 20px 22px!important}
  #platform #tributario .dreInputs .costActions{grid-template-columns:minmax(0,1fr)!important}
  #platform #tributario #dreSave{width:100%!important;min-width:0!important}
}


/* hierarchy-v217.css */
/* Charge Control v217 — resumo fiscal compacto e hierarquia corrigida. */

#platform #notafiscal details.taxProfilePanel{
  min-height:0!important;
}

#platform #notafiscal .taxProfileSummary{
  display:grid!important;
  grid-template-columns:minmax(220px,.72fr) minmax(300px,1.28fr) auto!important;
  align-items:center!important;
  gap:18px 28px!important;
  min-height:88px!important;
  padding:18px 24px!important;
}

/* O marcador numerado pertence aos passos de emissão, não ao perfil. */
#platform #notafiscal .taxProfileSummary::before{
  content:none!important;
  display:none!important;
}

#platform #notafiscal .taxProfileSummaryLead{
  min-width:0!important;
}

#platform #notafiscal .taxProfileSummaryLead .small{
  margin:0 0 6px!important;
}

#platform #notafiscal .taxProfileSummaryLead .section{
  margin:0!important;
  font-size:18px!important;
  line-height:1.25!important;
}

#platform #notafiscal .taxProfileSummaryMeta{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  text-align:left!important;
}

#platform #notafiscal .taxProfileSummaryMeta strong{
  color:var(--ink,#17212b)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}

#platform #notafiscal .taxProfileSummaryMeta span{
  color:var(--ink2,#52657a)!important;
  font-size:12px!important;
  font-weight:550!important;
  line-height:1.4!important;
}

#platform #notafiscal .taxProfileSummary::after{
  content:"Abrir"!important;
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0 0 0 20px!important;
  border:0!important;
  border-left:1px solid var(--line,#dce5ee)!important;
  border-radius:0!important;
  color:#1265eb!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:24px!important;
  transform:none!important;
}

#platform #notafiscal details.taxProfilePanel[open] .taxProfileSummary::after{
  content:"Ocultar"!important;
  transform:none!important;
}

@media(max-width:760px){
  #platform #notafiscal .taxProfileSummary{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px 16px!important;
    min-height:0!important;
    padding:17px 20px!important;
  }
  #platform #notafiscal .taxProfileSummaryLead{grid-column:1;grid-row:1}
  #platform #notafiscal .taxProfileSummaryMeta{grid-column:1/-1;grid-row:2}
  #platform #notafiscal .taxProfileSummary::after{grid-column:2;grid-row:1;padding-left:14px!important}
}


/* hierarchy-v218.css */
/* Charge Control v218 — documentos fiscais junto ao perfil oficial. */

#platform #notafiscal #taxDocumentsPanel>.invoiceDisclosure::before{
  content:""!important;
  background-color:var(--surface2,#f5f7fa)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231265eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3.5h7l3 3V20.5H7z'/%3E%3Cpath d='M14 3.5v4h3M9.5 12h5M9.5 15.5h5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:18px 18px!important;
}

#platform #notafiscal .taxFoundation{
  margin-bottom:0!important;
}


/* hierarchy-v219.css */
/* Charge Control v219 — contagem fiscal exata e detalhamento dos bloqueios. */

#platform #notafiscal .taxDeliveryTooltip .deliverySubrow{
  margin:5px 0!important;
  padding-left:12px!important;
  color:var(--ink2,#52657a)!important;
  font-size:13px!important;
}

#platform #notafiscal .taxDeliveryTooltip .deliverySubrow b{
  color:var(--ink,#17212b)!important;
}


/* login-readability-v220.css */
/* Charge Control v220 — respiro do título e contraste da orientação de acesso. */

#loginScreen .login-brand h2{
  line-height:1.12!important;
}

#loginScreen .loginAccess #login>p{
  color:#465568!important;
  font-weight:500!important;
}

[data-theme="dark"] #loginScreen .loginAccess #login>p{
  color:#c7d0dc!important;
}

/* Cards usam somente o contorno neutro; as antigas faixas azuis eram decorativas. */
#platform .card::before,
#platform .card::after,
#platform .pccLiveCard::after,
#platform .pccStation::after,
#platform #financeiro .paybackKpis>div::before{
  content:none!important;
  display:none!important;
}

#platform .card,
#platform .pccLiveCard,
#platform .pccStation,
#platform #financeiro .costSummaryItem,
#platform #tributario .taxRegimePanel,
#platform #notafiscal .grid.three>.card,
#platform #cadastrovip .vipSnapshot>div{
  border-left:1px solid var(--line,#dce5ee)!important;
}

@media(max-width:620px){
  #loginScreen .login-brand h2{
    line-height:1.16!important;
  }
}


/* aud-x46.css */
/* AUD-X46 — somente barras temporais, acabamento de números e leitura em espaços estreitos. */
#financeiro .financeBarCurrent{fill:var(--cc-data-revenue)}
#financeiro .financeBarCurrent.isPartial{fill:url(#financeBarHatch);stroke:var(--cc-data-revenue);stroke-width:1}
#financeiro .financePreviousMarkerOutline{stroke:var(--cc-surface-1);stroke-width:4;stroke-linecap:round}
#financeiro .financePreviousMarker{stroke:var(--cc-text-secondary);stroke-width:2;stroke-linecap:round}
#financeiro .financeTotalLabel{fill:var(--cc-text-primary);font:600 12px var(--cc-font-sans)}
#financeiro .financePoint{fill:transparent;cursor:crosshair}
#financeiro .financeChartLegend .financeLegendPartial{
  width:14px;
  height:10px;
  border:1px solid var(--cc-data-revenue);
  border-radius:0;
  background:repeating-linear-gradient(135deg,var(--cc-data-revenue) 0 1px,var(--cc-surface-1) 1px 4px);
}

#inteligencia .vp-spark-bar{fill:var(--cc-data-revenue)}
#inteligencia .vp-spark-bar.is-partial{fill:url(#vpBarHatch);stroke:var(--cc-data-revenue);stroke-width:1}
#inteligencia .vp-spark-hit{fill:transparent;cursor:crosshair}

#financeiro .paybackKpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
#financeiro .paybackKpis>div{container-type:inline-size}
#financeiro .paybackKpis strong{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:clamp(16px,11.5cqi,23px)!important;
}

#financeiro .financeUnitLines>div{flex-wrap:nowrap!important;min-width:0}
#financeiro .financeUnitLines span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#financeiro .financeUnitLines strong{flex:0 0 auto;white-space:nowrap!important;overflow-wrap:normal!important}

@media(max-width:420px){
  #financeiro .paybackKpis{grid-template-columns:minmax(0,1fr)!important}
}

/* v239 — painel executivo interativo do ambiente demonstrativo. */
#platform .pccDemoOverview{margin:0 0 30px;border-top:1px solid var(--cc-border-default);padding-top:24px}
#platform .pccDemoOverview[hidden]{display:none!important}
#platform .pccDemoOverviewHead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
#platform .pccDemoOverviewHead h2{margin:3px 0 5px;font:600 clamp(22px,3vw,32px)/1.15 var(--cc-font-display);color:var(--cc-text-primary)}
#platform .pccDemoOverviewHead p{margin:0;color:var(--cc-text-secondary);font-size:13px}
#platform .pccDemoEyebrow{display:block;color:var(--cc-brand-fg);font-size:10px;font-weight:750;letter-spacing:.14em}
#platform .pccDemoControls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#platform .pccDemoControls label{display:grid;gap:5px;color:var(--cc-text-secondary);font-size:11px;font-weight:650}
#platform .pccDemoControls select{min-height:40px;padding:7px 34px 7px 11px;border:1px solid var(--cc-border-default);border-radius:4px;background:var(--cc-surface-1);color:var(--cc-text-primary);font:inherit}
#platform .pccDemoPeriods,#platform .pccDemoViewToggle{display:flex;gap:2px;border:1px solid var(--cc-border-default);border-radius:4px;padding:3px;background:transparent}
#platform .pccDemoPeriods button,#platform .pccDemoViewToggle button,#platform .pccDemoRoutes button{min-height:34px;border:0;border-radius:2px;padding:6px 11px;background:transparent;color:var(--cc-text-secondary);font:600 12px var(--cc-font-sans);cursor:pointer}
#platform .pccDemoPeriods button[aria-pressed="true"],#platform .pccDemoViewToggle button[aria-pressed="true"]{background:var(--cc-brand-fg);color:#fff}
#platform .pccDemoKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
#platform .pccDemoKpis article{min-width:0;border:1px solid var(--cc-border-default);border-radius:4px;background:var(--cc-surface-1);padding:17px 18px;box-shadow:0 8px 24px rgba(15,35,64,.055)}
#platform .pccDemoKpis span{display:block;color:var(--cc-text-secondary);font-size:11px;font-weight:650}
#platform .pccDemoKpis strong{display:block;margin-top:8px;color:var(--cc-text-primary);font:600 clamp(20px,2.2vw,28px)/1.1 var(--cc-font-sans);letter-spacing:-.035em;white-space:nowrap}
#platform .pccDemoKpis small{display:block;min-height:2.7em;margin-top:7px;color:var(--cc-text-secondary);font-size:11px;line-height:1.35}
#platform .pccDemoTrend{border:1px solid var(--cc-border-default);border-radius:4px;background:var(--cc-surface-1);padding:18px;box-shadow:0 8px 24px rgba(15,35,64,.055)}
#platform .pccDemoTrendHead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
#platform .pccDemoTrendHead>div:first-child{display:grid;gap:4px}
#platform .pccDemoTrendHead strong{color:var(--cc-text-primary);font-size:15px}
#platform .pccDemoTrendHead small{color:var(--cc-text-secondary);font-size:11px}
#platform .pccDemoChart{overflow-x:auto;overscroll-behavior-inline:contain}
#platform .pccDemoChart svg{display:block;min-width:760px;width:100%;height:auto}
#platform .pccDemoGrid{stroke:var(--cc-border-default);stroke-width:1}
#platform .pccDemoAxis{fill:var(--cc-text-secondary);font:500 11px var(--cc-font-sans)}
#platform .pccDemoBar{transition:opacity .16s,filter .16s}
#platform .pccDemoBar{stroke:color-mix(in srgb,currentColor 12%,transparent);stroke-width:.5;filter:drop-shadow(0 3px 5px rgba(18,101,243,.14)) saturate(1.16)}
#platform .pccDemoChart g:focus .pccDemoBar,#platform .pccDemoChart g:hover .pccDemoBar{filter:brightness(1.1) saturate(1.25) drop-shadow(0 4px 7px rgba(18,101,243,.22));opacity:.94}
#platform .pccDemoChart g:focus{outline:none}
#platform .pccDemoTable{overflow-x:auto}
#platform .pccDemoTable table{width:100%;border-collapse:collapse;color:var(--cc-text-primary);font-size:12px}
#platform .pccDemoTable caption{text-align:left;padding:8px 0;color:var(--cc-text-secondary)}
#platform .pccDemoTable th,#platform .pccDemoTable td{padding:10px 9px;border-bottom:1px solid var(--cc-border-default);text-align:right;white-space:nowrap}
#platform .pccDemoTable th:first-child,#platform .pccDemoTable td:first-child{text-align:left}
#platform .pccDemoRoutes{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:15px 0;border-bottom:1px solid var(--cc-border-default)}
#platform .pccDemoRoutes>div:first-child{display:grid;gap:3px}
#platform .pccDemoRoutes strong{color:var(--cc-text-primary);font-size:13px}
#platform .pccDemoRoutes span{color:var(--cc-text-secondary);font-size:11px}
#platform .pccDemoRoutes>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
#platform .pccDemoRoutes button{border:1px solid var(--cc-border-default);background:var(--cc-surface-1);color:var(--cc-text-primary)}
#platform .pccDemoRoutes button:hover{border-color:var(--cc-brand-fg);color:var(--cc-brand-fg)}
[data-theme="dark"] #platform .pccDemoKpis article,[data-theme="dark"] #platform .pccDemoTrend{box-shadow:0 10px 28px rgba(0,0,0,.16)}
body[data-demo-viewer="true"] #financeiro{--cc-data-revenue:#1265f3}
body[data-demo-viewer="true"] #financeiro .financeBarCurrent{fill:#1265f3;stroke:#0b4fc2;stroke-width:.75;filter:drop-shadow(0 3px 5px rgba(18,101,243,.18))}
body[data-demo-viewer="true"] #financeiro .financeBarCurrent.isPartial{fill:url(#financeBarHatch);stroke:#1265f3;stroke-width:1.5}
body[data-demo-viewer="true"] #financeiro .financePreviousMarkerOutline{stroke:var(--cc-surface-1);stroke-width:5}
body[data-demo-viewer="true"] #financeiro .financePreviousMarker{stroke:#f97316;stroke-width:3}
body[data-demo-viewer="true"] #financeiro .financeChartLegend .financeLegendPrior{border-top-color:#f97316}
body[data-demo-viewer="true"] #financeiro .stationFinance .v81-area{fill:color-mix(in srgb,var(--demo-series-color) 20%,transparent)}
body[data-demo-viewer="true"] #financeiro .stationFinance .v81-current{stroke:var(--demo-series-color);stroke-width:3.5;filter:drop-shadow(0 2px 3px color-mix(in srgb,var(--demo-series-color) 30%,transparent))}
body[data-demo-viewer="true"] #financeiro .stationFinance .v81-current-dot,body[data-demo-viewer="true"] #financeiro .stationFinance .v81-spark-dot{fill:var(--demo-series-color);stroke:var(--cc-surface-1);stroke-width:2}
@media(max-width:1000px){#platform .pccDemoKpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#platform .pccDemoOverviewHead{align-items:stretch;flex-direction:column}#platform .pccDemoControls{justify-content:flex-start}#platform .pccDemoKpis{grid-template-columns:1fr}#platform .pccDemoRoutes{align-items:flex-start;flex-direction:column}#platform .pccDemoRoutes>div:last-child{justify-content:flex-start}#platform .pccDemoTrend{padding:14px}#platform .pccDemoTrendHead{align-items:flex-start;flex-direction:column}}


/* Oito unidades fictícias: um canal ilustrativo por unidade. */
#seguranca.demoSecurity .securityGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#seguranca.demoSecurity .securitySite{min-width:0;padding:16px}
#seguranca.demoSecurity .securitySite h3{font-size:16px;line-height:1.3;min-height:42px}
#seguranca.demoSecurity .cameraChannel{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin-top:12px}
#seguranca.demoSecurity .cameraChannel>span{font-size:12px}
#seguranca.demoSecurity .watchCamera{align-self:flex-start}
@media(max-width:1250px){#seguranca.demoSecurity .securityGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#seguranca.demoSecurity .securityGrid{grid-template-columns:1fr}}
/* Paleta própria de cada unidade demonstrativa, em toda a jornada. */
body[data-demo-viewer="true"] #financeiro .stationFinance{box-shadow:inset 4px 0 0 var(--demo-site-color),0 8px 24px rgba(15,35,64,.065)!important}
body[data-demo-viewer="true"] #financeiro .stationFinance:hover,body[data-demo-viewer="true"] #financeiro .stationFinance:focus-visible{border-color:var(--demo-site-color)!important}
body[data-demo-viewer="true"] #financeiro .stationFinance strong{color:var(--demo-site-color)}
body[data-demo-viewer="true"] #operacao #liveOperations .row{border-left:4px solid var(--demo-site-color)!important}
body[data-demo-viewer="true"] #statusmvp .statusStation{border-left:4px solid var(--demo-site-color)!important}
body[data-demo-viewer="true"] #visao .overviewStatusRow{border-left:4px solid var(--demo-site-color);padding-left:12px}
#seguranca.demoSecurity .securitySite{border-top:4px solid var(--demo-site-color)!important}
#seguranca.demoSecurity .securitySite h3{color:var(--demo-site-color)}
.connectorState.available{color:#087a51;background:#e6f6ed;border-radius:4px;padding:3px 6px}
body[data-demo-viewer="true"] #visao .pccStation{border-left:4px solid var(--demo-site-color)!important}
#seguranca.demoSecurity .cameraChannel{background:color-mix(in srgb,var(--demo-site-color) 6%,var(--cc-surface-1,#fff));border-color:color-mix(in srgb,var(--demo-site-color) 28%,var(--cc-border-default,#dce5ee))}
#seguranca.demoSecurity .cameraChannel iframe{aspect-ratio:16/9;min-height:150px}
#seguranca.demoSecurity .watchCamera{margin-right:7px}

/* Indicador ambiental na Visão geral efetivamente exibida pelo ui-v2. */
#platform #visao .pccLive>.pccImpactCard{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head value" "stats caption" "source source" "method method";align-items:center;gap:4px 24px;min-height:0;margin:0 0 20px;padding:20px 24px;background:linear-gradient(120deg,#e7f8ee,#f7fdf9 65%,#e5f4fb)!important;border:2px solid #82cba1!important;border-radius:var(--radius-lg)!important;box-shadow:0 8px 24px rgba(20,110,65,.10)!important;color:#164a34!important}
#platform #visao .pccImpactCard .impactHeading{grid-area:head;min-width:0}
#platform #visao .pccImpactCard .impactHeading h2{font-size:clamp(18px,2vw,25px)}
#platform #visao .pccImpactCard .impactValue{grid-area:value;margin:0;text-align:right;font-size:clamp(30px,3.6vw,52px)}
#platform #visao .pccImpactCard .impactCaption{grid-area:caption;text-align:right}
#platform #visao .pccImpactCard .impactStats{grid-area:stats;margin:6px 0 0}
#platform #visao .pccImpactCard .impactSource{grid-area:source;margin:9px 0 0}
#platform #visao .pccImpactCard .impactMethod{grid-area:method;margin:2px 0 0}
[data-theme="dark"] #platform #visao .pccLive>.pccImpactCard{background:linear-gradient(120deg,#103728,#173c35)!important;border-color:#438861!important;color:#d7f4e4!important}
@media(max-width:720px){#platform #visao .pccLive>.pccImpactCard{grid-template-columns:1fr;grid-template-areas:"head" "value" "caption" "stats" "source" "method";padding:18px}#platform #visao .pccImpactCard .impactValue,#platform #visao .pccImpactCard .impactCaption{text-align:left}}

/* Resumo ambiental compacto, ao lado de Atualizar. */
#visao .pccLiveHead .pccHeadActions{flex-wrap:wrap;justify-content:flex-end}
#visao .pccImpactPill{position:relative;flex:none;z-index:5}
#visao .pccImpactPill summary{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:10px;width:182px;min-height:48px;padding:0 10px 0 0;list-style:none;cursor:pointer;border:1px solid #d6e4d9;border-radius:0;background:#fff!important;color:#174937;transition:background .16s,border-color .16s}
#visao .pccImpactPill summary::-webkit-details-marker{display:none}
#visao .pccImpactPill summary:hover,#visao .pccImpactPill[open] summary{background:#f9fcfa!important;border-color:#9fc8ae}
#visao .pccImpactPill summary:focus-visible{outline:2px solid #117a4c;outline-offset:3px}
#visao .pccImpactMark{display:grid;place-items:center;width:48px;height:46px;flex:none;background:#eaf7ee}
#visao .pccImpactLeafEsg{display:block;width:42px;height:34px;flex:none;overflow:visible;filter:drop-shadow(0 0 5px rgba(30,218,101,.68)) drop-shadow(0 0 9px rgba(30,218,101,.34));animation:pccEsgGlow 3.2s ease-in-out infinite}
#visao .pccImpactLeafEsg .pccLeafBody{fill:#1eb45d;stroke:#0b9348;stroke-width:1}
#visao .pccImpactLeafEsg .pccLeafMidrib{fill:none;stroke:#e5ffea;stroke-width:1.5;stroke-linecap:round}
#visao .pccImpactLeafEsg .pccLeafVeins{fill:none;stroke:#c4ffd5;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
#visao .pccImpactLeafEsg .pccLeafSheen{fill:none;stroke:#86eda5;stroke-opacity:.65;stroke-width:1.1;stroke-linecap:round}
@keyframes pccEsgGlow{50%{filter:drop-shadow(0 0 7px rgba(30,218,101,.82)) drop-shadow(0 0 13px rgba(30,218,101,.46))}}
@media(prefers-reduced-motion:reduce){#visao .pccImpactLeafEsg{animation:none}}
#visao .pccImpactText{display:block;min-width:0;line-height:1.15}
#visao .pccImpactText small{display:block;color:#4f7463;font-size:10px;font-weight:600;white-space:nowrap}
#visao .pccImpactText strong{display:block;margin-top:2px;color:#174937;font-family:var(--cc-font-sans);font-size:16px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
#visao .pccImpactDetail{position:absolute;top:calc(100% + 8px);right:0;box-sizing:border-box;width:min(360px,calc(100vw - 32px));padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 14px 32px rgba(17,37,41,.18);color:var(--ink);font-size:12px;line-height:1.5}
#visao .pccImpactDetail p{margin:0 0 10px;font-size:12px;color:var(--ink2)}
#visao .pccImpactDetail p:last-child{margin-bottom:0}
#visao .pccImpactDetail strong{color:var(--ink)}
#visao .pccImpactDetail a{color:#0b7650;text-decoration:underline}
[data-theme="dark"] #platform #visao .pccImpactPill summary{background:#13251b!important;border-color:#355944;color:#d7f4e4}
[data-theme="dark"] #platform #visao .pccImpactPill summary:hover,[data-theme="dark"] #platform #visao .pccImpactPill[open] summary{background:#1a3224!important}
[data-theme="dark"] #visao .pccImpactMark{background:#1b3b2a}
[data-theme="dark"] #visao .pccImpactLeafEsg .pccLeafBody{fill:#40d782;stroke:#29ae69}
[data-theme="dark"] #visao .pccImpactText small{color:#c0dccc}
[data-theme="dark"] #visao .pccImpactText strong{color:#d7f4e4}
@media(max-width:850px){#visao .pccLiveHead{flex-direction:column;align-items:stretch}#visao .pccLiveHead .pccHeadActions{display:flex;justify-content:flex-start;gap:8px;width:100%}#visao .pccLiveHead time{display:none}}
@media(max-width:390px){#visao .pccImpactPill summary{width:182px}#visao .pccLiveHead #pccRefresh{padding-left:10px;padding-right:10px;font-size:13px}}
