
/* =========================================================
   CAIO - DASHBOARD EXECUTIVO DARK
   Camada visual final. Não altera IDs, funções, Firebase,
   rotas nem data-attributes. Apenas reskin CSS.
========================================================= */

:root{
  --exec-bg:#020704;
  --exec-bg-2:#06120b;
  --exec-surface:rgba(5,16,10,.76);
  --exec-surface-2:rgba(8,25,15,.72);
  --exec-surface-3:rgba(10,34,20,.68);
  --exec-line:rgba(111,255,174,.16);
  --exec-line-strong:rgba(111,255,174,.28);
  --exec-text:#f7fff9;
  --exec-muted:rgba(226,255,236,.66);
  --exec-green:#35f27e;
  --exec-green-2:#12a855;
  --exec-yellow:#f7b733;
  --exec-red:#ff4747;
  --exec-blue:#38a3ff;
  --exec-purple:#9b5cff;
}

html,
html body.caio-emerald-ui{
  background:
    radial-gradient(circle at 55% -10%, rgba(55,255,135,.16), transparent 34%),
    radial-gradient(circle at 90% 18%, rgba(0,255,120,.07), transparent 28%),
    linear-gradient(180deg,#010503 0%, #05110a 44%, #020704 100%) !important;
  color:var(--exec-text)!important;
}

/* fundo geral do app */
body.caio-emerald-ui #appShell,
body.caio-emerald-ui .main,
body.caio-emerald-ui .content,
body.caio-emerald-ui .premium-content,
body.caio-emerald-ui .page{
  background:transparent!important;
  color:var(--exec-text)!important;
}

body.caio-emerald-ui #appShell::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 42% 0%, rgba(59,255,134,.09), transparent 28%),
    linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 14px);
  opacity:.95;
}

body.caio-emerald-ui #appShell > *{
  position:relative;
  z-index:1;
}

/* Sidebar premium */
body.caio-emerald-ui .sidebar{
  background:
    radial-gradient(circle at 50% 0%, rgba(45,255,130,.14), transparent 32%),
    linear-gradient(180deg, rgba(2,14,8,.98), rgba(1,8,5,.98))!important;
  border-right:1px solid rgba(96,255,170,.16)!important;
  box-shadow:24px 0 70px rgba(0,0,0,.35)!important;
  color:#111827!important;
}

body.caio-emerald-ui .brand-logo-shell,
body.caio-emerald-ui .brand-mini,
body.caio-emerald-ui .sidebar .user-card{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(124,255,184,.16)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08), 0 18px 40px rgba(0,0,0,.24)!important;
}

body.caio-emerald-ui .nav-item,
body.caio-emerald-ui .nav-subitem,
body.caio-emerald-ui .menu-group-toggle{
  color:rgba(244,255,247,.82)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  transition:background .2s ease, border-color .2s ease, transform .2s ease, color .2s ease!important;
}

body.caio-emerald-ui .nav-item:hover,
body.caio-emerald-ui .nav-subitem:hover,
body.caio-emerald-ui .menu-group-toggle:hover{
  background:rgba(52,255,130,.08)!important;
  border-color:rgba(96,255,170,.14)!important;
  color:#111827!important;
  transform:translateX(2px)!important;
}

body.caio-emerald-ui .nav-item.active,
body.caio-emerald-ui .nav-subitem.active,
body.caio-emerald-ui .menu-group.open > .menu-group-toggle{
  background:linear-gradient(135deg,rgba(17,160,74,.95),rgba(55,255,132,.78))!important;
  color:#111827!important;
  border-color:rgba(108,255,180,.38)!important;
  box-shadow:0 16px 40px rgba(0,255,120,.18)!important;
}

body.caio-emerald-ui .sidebar strong,
body.caio-emerald-ui .sidebar small,
body.caio-emerald-ui .sidebar span{
  color:inherit!important;
}

/* Topbar */
body.caio-emerald-ui .topbar,
body.caio-emerald-ui .premium-topbar,
body.caio-emerald-ui header.topbar{
  background:rgba(4,14,8,.72)!important;
  border:1px solid rgba(115,255,180,.16)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.30)!important;
  color:var(--exec-text)!important;
}

body.caio-emerald-ui .topbar h1,
body.caio-emerald-ui .topbar h2,
body.caio-emerald-ui .topbar strong{
  color:#111827!important;
}

body.caio-emerald-ui .live-date,
body.caio-emerald-ui .topbar span,
body.caio-emerald-ui .topbar small{
  color:var(--exec-muted)!important;
}

body.caio-emerald-ui .page-chip{
  background:rgba(49,255,133,.10)!important;
  color:#54ff9b!important;
  border:1px solid rgba(83,255,152,.22)!important;
}

/* REMOVE VISUALMENTE O BLOCO GRANDE "DASHBOARD EXECUTIVO" */
body.caio-emerald-ui #dashboardTopHero,
body.caio-emerald-ui .dashboard-top-hero{
  display:none!important;
}

/* Dashboard layout */
body.caio-emerald-ui #dashboard{
  display:block!important;
  padding-top:4px!important;
}

body.caio-emerald-ui #dashboard::before{
  content:"Central de comando do mandato";
  display:block;
  margin:4px 0 8px;
  color:#111827;
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.055em;
  font-weight:900;
}

body.caio-emerald-ui #dashboard::after{
  content:"Visão executiva das demandas, bairros, urgências e atuação territorial.";
  display:block;
  margin:-2px 0 22px;
  color:rgba(226,255,236,.68);
  font-size:15px;
}

/* cards gerais */
body.caio-emerald-ui .card,
body.caio-emerald-ui .panel,
body.caio-emerald-ui .analytics-card,
body.caio-emerald-ui .table-wrap,
body.caio-emerald-ui .form-card,
body.caio-emerald-ui .content-card,
body.caio-emerald-ui .data-card,
body.caio-emerald-ui .metric-card,
body.caio-emerald-ui .modal-content{
  background:linear-gradient(180deg, rgba(8,22,13,.78), rgba(3,12,7,.70))!important;
  color:var(--exec-text)!important;
  border:1px solid var(--exec-line)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(16px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(130%)!important;
}

body.caio-emerald-ui .card h1,
body.caio-emerald-ui .card h2,
body.caio-emerald-ui .card h3,
body.caio-emerald-ui .card h4,
body.caio-emerald-ui .card strong,
body.caio-emerald-ui .panel h1,
body.caio-emerald-ui .panel h2,
body.caio-emerald-ui .panel h3,
body.caio-emerald-ui .panel strong,
body.caio-emerald-ui th,
body.caio-emerald-ui td{
  color:var(--exec-text)!important;
}

body.caio-emerald-ui .card p,
body.caio-emerald-ui .card span,
body.caio-emerald-ui .card small,
body.caio-emerald-ui .panel p,
body.caio-emerald-ui .panel span,
body.caio-emerald-ui .panel small,
body.caio-emerald-ui .muted,
body.caio-emerald-ui .subtext{
  color:var(--exec-muted)!important;
}

/* Stats do topo */
body.caio-emerald-ui .stats-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  margin-bottom:18px!important;
}

body.caio-emerald-ui .stat{
  min-height:132px!important;
  border-radius:22px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 92% 18%, rgba(53,242,126,.16), transparent 28%),
    linear-gradient(180deg, rgba(7,23,13,.82), rgba(3,12,7,.72))!important;
}

body.caio-emerald-ui .stat::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--exec-green);
  box-shadow:0 0 18px rgba(53,242,126,.8);
}

body.caio-emerald-ui .stat:nth-child(2)::before{background:var(--exec-yellow);box-shadow:0 0 18px rgba(247,183,51,.65);}
body.caio-emerald-ui .stat:nth-child(3)::before{background:var(--exec-blue);box-shadow:0 0 18px rgba(56,163,255,.65);}
body.caio-emerald-ui .stat:nth-child(4)::before{background:var(--exec-purple);box-shadow:0 0 18px rgba(155,92,255,.65);}

body.caio-emerald-ui .stat .label{
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:rgba(219,255,232,.70)!important;
  font-size:12px!important;
  font-weight:900!important;
}

body.caio-emerald-ui .stat strong{
  color:#111827!important;
  font-size:30px!important;
  line-height:1!important;
  margin-top:10px!important;
}

body.caio-emerald-ui .stat small{
  color:rgba(226,255,236,.64)!important;
}

/* Botões */
body.caio-emerald-ui .btn-primary,
body.caio-emerald-ui button.btn-primary{
  background:linear-gradient(135deg,#159746,#36f27b)!important;
  color:#111827!important;
  border-color:rgba(87,255,156,.32)!important;
  box-shadow:0 16px 38px rgba(0,255,120,.20)!important;
}

body.caio-emerald-ui .btn-soft,
body.caio-emerald-ui .card-head-action,
body.caio-emerald-ui .topbar button{
  background:rgba(255,255,255,.045)!important;
  color:#dcfce7!important;
  border:1px solid rgba(115,255,180,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}

/* Mapa preview estilo command center */
body.caio-emerald-ui .dashboard-map-card{
  border-radius:24px!important;
  padding:18px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 35% 0%, rgba(45,255,130,.10), transparent 38%),
    linear-gradient(180deg, rgba(5,17,10,.84), rgba(2,9,5,.78))!important;
}

body.caio-emerald-ui .dashboard-map-card .card-head{
  min-height:64px!important;
  padding:4px 4px 14px!important;
  margin-bottom:0!important;
  border-bottom:1px solid rgba(115,255,180,.10)!important;
  background:transparent!important;
}

body.caio-emerald-ui .dashboard-map-card .card-head h3{
  font-size:22px!important;
  letter-spacing:-.035em!important;
  color:#111827!important;
}

body.caio-emerald-ui .dashboard-map-summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:14px 0 14px!important;
}

body.caio-emerald-ui .dashboard-map-summary .stack-item{
  position:relative!important;
  overflow:hidden!important;
  min-height:84px!important;
  padding:14px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025))!important;
  border:1px solid rgba(115,255,180,.14)!important;
  color:#111827!important;
}

body.caio-emerald-ui .dashboard-map-summary .stack-item::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:#35f27e;
  box-shadow:0 0 14px rgba(53,242,126,.8);
}

body.caio-emerald-ui .dashboard-map-summary .stack-item:nth-child(2)::before{background:#1fb6ff;}
body.caio-emerald-ui .dashboard-map-summary .stack-item:nth-child(3)::before{background:#ff8744;}
body.caio-emerald-ui .dashboard-map-summary .stack-item:nth-child(4)::before{background:#9b5cff;}

body.caio-emerald-ui .dashboard-map-summary .stack-item strong{
  color:#111827!important;
  font-size:26px!important;
}

body.caio-emerald-ui .dashboard-map-summary .stack-item small{
  color:rgba(226,255,236,.68)!important;
}

body.caio-emerald-ui .dashboard-map-preview-panel{
  position:relative!important;
  display:block!important;
  min-height:520px!important;
  height:520px!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:
    linear-gradient(90deg, rgba(0,255,120,.055) 1px, transparent 1px),
    linear-gradient(rgba(0,255,120,.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 45%, rgba(36,255,132,.12), transparent 34%),
    #06130c!important;
  background-size:44px 44px,44px 44px,100% 100%,100% 100%!important;
  border:1px solid rgba(115,255,180,.20)!important;
  box-shadow:inset 0 0 90px rgba(0,255,120,.05), 0 24px 70px rgba(0,0,0,.28)!important;
}

body.caio-emerald-ui .dashboard-map-preview-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%, transparent 0 32%, rgba(0,0,0,.20) 58%, rgba(0,0,0,.42) 100%),
    linear-gradient(115deg, rgba(255,255,255,.015) 0 1px, transparent 1px 14px);
  opacity:.8;
}

body.caio-emerald-ui #dashboardMapPreview,
body.caio-emerald-ui #dashboardMapPreview .leaflet-container{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:520px!important;
  background:#06130c!important;
}

body.caio-emerald-ui #dashboardMapPreview .leaflet-tile{
  filter:invert(1) hue-rotate(145deg) saturate(.72) brightness(.52) contrast(1.12)!important;
}

body.caio-emerald-ui #dashboardMapPreview .leaflet-control-zoom a{
  background:rgba(3,12,7,.80)!important;
  color:#111827!important;
  border-color:rgba(115,255,180,.18)!important;
}

body.caio-emerald-ui .leaflet-popup-content-wrapper,
body.caio-emerald-ui .leaflet-popup-tip{
  background:rgba(4,16,9,.95)!important;
  color:#111827!important;
  border:1px solid rgba(115,255,180,.20)!important;
  box-shadow:0 20px 50px rgba(0,0,0,.38)!important;
}

body.caio-emerald-ui .map-legend,
body.caio-emerald-ui .dashboard-map-legend{
  margin-top:12px!important;
  padding:10px 12px!important;
  border-radius:999px!important;
  width:max-content!important;
  max-width:100%!important;
  background:rgba(3,12,7,.62)!important;
  border:1px solid rgba(115,255,180,.16)!important;
}

body.caio-emerald-ui .dashboard-map-empty{
  z-index:4!important;
  background:rgba(2,9,5,.72)!important;
  color:rgba(226,255,236,.70)!important;
  border:1px solid rgba(115,255,180,.14)!important;
  backdrop-filter:blur(10px)!important;
}

/* Marcadores Leaflet neon */
.caio-map-pin{
  width:22px;
  height:22px;
  border-radius:50%;
  position:relative;
  background:var(--pin-color,#35f27e);
  border:3px solid rgba(255,255,255,.92);
  box-shadow:
    0 0 0 7px color-mix(in srgb, var(--pin-color,#35f27e) 22%, transparent),
    0 0 24px color-mix(in srgb, var(--pin-color,#35f27e) 82%, transparent),
    0 14px 30px rgba(0,0,0,.38);
}
.caio-map-pin::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--pin-color,#35f27e) 55%, transparent);
  animation:caioPinPulse 1.9s ease-out infinite;
}

@keyframes caioPinPulse{
  0%{transform:scale(.65);opacity:.85}
  100%{transform:scale(1.45);opacity:0}
}

/* tabelas e listas */
body.caio-emerald-ui table,
body.caio-emerald-ui thead,
body.caio-emerald-ui tbody,
body.caio-emerald-ui tr{
  background:transparent!important;
  color:var(--exec-text)!important;
}

body.caio-emerald-ui th{
  background:rgba(53,242,126,.07)!important;
  color:rgba(226,255,236,.76)!important;
  border-color:rgba(115,255,180,.10)!important;
}

body.caio-emerald-ui td{
  border-color:rgba(115,255,180,.07)!important;
  color:rgba(247,255,249,.84)!important;
}

body.caio-emerald-ui input,
body.caio-emerald-ui select,
body.caio-emerald-ui textarea{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(115,255,180,.16)!important;
  color:#111827!important;
}

body.caio-emerald-ui input::placeholder,
body.caio-emerald-ui textarea::placeholder{
  color:rgba(226,255,236,.45)!important;
}

/* gráficos */
body.caio-emerald-ui .dashboard-chart-shell{
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(115,255,180,.10)!important;
  border-radius:18px!important;
}

/* animações leves */
body.caio-emerald-ui .card,
body.caio-emerald-ui .stat,
body.caio-emerald-ui .dashboard-map-card{
  animation:execFadeUp .32s ease both;
}

@keyframes execFadeUp{
  from{opacity:.72;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width:1200px){
  body.caio-emerald-ui .stats-grid,
  body.caio-emerald-ui .dashboard-map-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:720px){
  body.caio-emerald-ui #dashboard::before{font-size:27px}
  body.caio-emerald-ui .stats-grid,
  body.caio-emerald-ui .dashboard-map-summary{
    grid-template-columns:1fr!important;
  }
  body.caio-emerald-ui .dashboard-map-preview-panel,
  body.caio-emerald-ui #dashboardMapPreview{
    min-height:420px!important;
    height:420px!important;
  }
}

/* =========================================================
   CODEX FINAL - CENTRAL DE COMANDO CINEMATOGRAFICA
   Camada final visual, sem tocar em Firebase/rotas/listeners.
========================================================= */

:root{
  --cc-bg-0:#000302;
  --cc-bg-1:#020806;
  --cc-bg-2:#06130c;
  --cc-panel:rgba(5,16,10,.74);
  --cc-panel-2:rgba(7,24,14,.68);
  --cc-panel-3:rgba(11,35,21,.58);
  --cc-line:rgba(118,255,178,.15);
  --cc-line-strong:rgba(118,255,178,.30);
  --cc-text:#f7fff9;
  --cc-muted:rgba(226,255,236,.68);
  --cc-dim:rgba(226,255,236,.48);
  --cc-green:#31f47d;
  --cc-green-2:#13aa59;
  --cc-yellow:#ffb632;
  --cc-blue:#38a3ff;
  --cc-red:#ff4b4b;
  --cc-purple:#9c5cff;
  --cc-radius:18px;
  --cc-shadow:0 28px 90px rgba(0,0,0,.38);
}

html,
body.caio-emerald-ui{
  min-height:100%;
  color-scheme:dark;
  background:
    radial-gradient(circle at 18% 16%, rgba(49,244,125,.13), transparent 25%),
    radial-gradient(circle at 82% 6%, rgba(49,244,125,.10), transparent 28%),
    radial-gradient(circle at 72% 82%, rgba(0,133,74,.12), transparent 32%),
    linear-gradient(180deg, var(--cc-bg-0) 0%, var(--cc-bg-2) 54%, var(--cc-bg-0) 100%)!important;
  color:var(--cc-text)!important;
}

body.caio-emerald-ui{
  font-family:"Aptos","Segoe UI",system-ui,-apple-system,sans-serif!important;
  letter-spacing:-.012em;
}

body.caio-emerald-ui::before,
body.caio-emerald-ui::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
}

body.caio-emerald-ui::before{
  background:
    linear-gradient(90deg, rgba(49,244,125,.035) 1px, transparent 1px),
    linear-gradient(rgba(49,244,125,.030) 1px, transparent 1px);
  background-size:74px 74px;
  mask-image:radial-gradient(circle at 52% 34%, #000 0 28%, transparent 72%);
  opacity:.42;
}

body.caio-emerald-ui::after{
  background:
    radial-gradient(circle at center, transparent 0 48%, rgba(0,0,0,.48) 100%),
    linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 13px);
  opacity:.64;
}

body.caio-emerald-ui #appShell,
body.caio-emerald-ui .app-shell,
body.caio-emerald-ui .main,
body.caio-emerald-ui main,
body.caio-emerald-ui .content,
body.caio-emerald-ui .premium-content,
body.caio-emerald-ui .page,
body.caio-emerald-ui .page.active,
body.caio-emerald-ui .workspace,
body.caio-emerald-ui .layout-main{
  background:transparent!important;
  color:var(--cc-text)!important;
}

/* Sidebar como cockpit */
body.caio-emerald-ui .sidebar{
  background:
    radial-gradient(circle at 30% 0%, rgba(49,244,125,.16), transparent 26%),
    radial-gradient(circle at 120% 54%, rgba(49,244,125,.10), transparent 30%),
    linear-gradient(180deg, rgba(2,16,9,.96), rgba(0,7,4,.98))!important;
  border-right:1px solid rgba(96,255,170,.20)!important;
  box-shadow:28px 0 80px rgba(0,0,0,.42), inset -1px 0 0 rgba(255,255,255,.03)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
}

body.caio-emerald-ui .sidebar-top{
  border-bottom:1px solid rgba(118,255,178,.10)!important;
}

body.caio-emerald-ui .brand-logo-shell,
body.caio-emerald-ui .brand-mini{
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.030))!important;
  border:1px solid rgba(118,255,178,.18)!important;
  border-radius:18px!important;
  box-shadow:0 22px 52px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08)!important;
}

body.caio-emerald-ui .nav-item,
body.caio-emerald-ui .nav-subitem,
body.caio-emerald-ui .menu-group-toggle{
  min-height:42px!important;
  border-radius:14px!important;
  color:rgba(246,255,249,.84)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  text-shadow:0 1px 18px rgba(49,244,125,.08)!important;
}

body.caio-emerald-ui .nav-item:hover,
body.caio-emerald-ui .nav-subitem:hover,
body.caio-emerald-ui .menu-group-toggle:hover{
  background:rgba(49,244,125,.075)!important;
  border-color:rgba(118,255,178,.14)!important;
  color:#111827!important;
  transform:translateX(2px)!important;
}

body.caio-emerald-ui .nav-item.active,
body.caio-emerald-ui .nav-subitem.active,
body.caio-emerald-ui .menu-group.open > .menu-group-toggle{
  background:linear-gradient(135deg, rgba(15,143,69,.98), rgba(49,244,125,.78))!important;
  border-color:rgba(147,255,196,.44)!important;
  color:#111827!important;
  box-shadow:0 14px 44px rgba(49,244,125,.22), inset 0 1px 0 rgba(255,255,255,.18)!important;
}

body.caio-emerald-ui .menu-group{
  background:rgba(255,255,255,.028)!important;
  border:1px solid rgba(118,255,178,.10)!important;
  border-radius:16px!important;
}

body.caio-emerald-ui .sidebar-foot,
body.caio-emerald-ui .sidebar .user-card{
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.030))!important;
  border:1px solid rgba(118,255,178,.16)!important;
  border-radius:18px!important;
}

/* Topbar cockpit */
body.caio-emerald-ui .topbar,
body.caio-emerald-ui .premium-topbar,
body.caio-emerald-ui header.topbar{
  min-height:74px!important;
  background:linear-gradient(180deg, rgba(6,17,11,.78), rgba(3,10,6,.68))!important;
  border:1px solid rgba(118,255,178,.16)!important;
  border-radius:20px!important;
  box-shadow:var(--cc-shadow), inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(22px) saturate(138%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(138%)!important;
}

body.caio-emerald-ui .topbar .page-chip,
body.caio-emerald-ui .page-chip{
  background:rgba(49,244,125,.10)!important;
  border:1px solid rgba(118,255,178,.26)!important;
  color:#7dffb2!important;
  box-shadow:0 0 28px rgba(49,244,125,.10)!important;
}

body.caio-emerald-ui .user-menu,
body.caio-emerald-ui .user-profile,
body.caio-emerald-ui .topbar .user-card,
body.caio-emerald-ui .caio-top-action,
body.caio-emerald-ui .topbar button{
  background:rgba(255,255,255,.050)!important;
  border:1px solid rgba(118,255,178,.16)!important;
  color:#f7fff9!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

body.caio-emerald-ui .user-avatar,
body.caio-emerald-ui #topbarAvatar{
  background:linear-gradient(135deg,#0fb35b,#35f27e)!important;
  color:#111827!important;
  box-shadow:0 16px 38px rgba(49,244,125,.22)!important;
}

/* Cards dark glass em todo o sistema */
body.caio-emerald-ui .card,
body.caio-emerald-ui .panel,
body.caio-emerald-ui .analytics-card,
body.caio-emerald-ui .table-wrap,
body.caio-emerald-ui .form-card,
body.caio-emerald-ui .content-card,
body.caio-emerald-ui .data-card,
body.caio-emerald-ui .metric-card,
body.caio-emerald-ui .list-card,
body.caio-emerald-ui .section-card,
body.caio-emerald-ui .page-card,
body.caio-emerald-ui .box,
body.caio-emerald-ui .stack-item,
body.caio-emerald-ui .modal-content{
  background:linear-gradient(180deg, rgba(9,22,14,.78), rgba(3,10,6,.72))!important;
  border:1px solid var(--cc-line)!important;
  color:var(--cc-text)!important;
  box-shadow:0 22px 68px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(16px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(130%)!important;
}

body.caio-emerald-ui .card:hover,
body.caio-emerald-ui .metric-card:hover,
body.caio-emerald-ui .analytics-card:hover{
  border-color:rgba(118,255,178,.24)!important;
  box-shadow:0 28px 86px rgba(0,0,0,.38), 0 0 44px rgba(49,244,125,.07), inset 0 1px 0 rgba(255,255,255,.06)!important;
}

body.caio-emerald-ui h1,
body.caio-emerald-ui h2,
body.caio-emerald-ui h3,
body.caio-emerald-ui h4,
body.caio-emerald-ui h5,
body.caio-emerald-ui h6,
body.caio-emerald-ui strong,
body.caio-emerald-ui b,
body.caio-emerald-ui label,
body.caio-emerald-ui th{
  color:var(--cc-text)!important;
}

body.caio-emerald-ui p,
body.caio-emerald-ui small,
body.caio-emerald-ui .muted,
body.caio-emerald-ui .subtext,
body.caio-emerald-ui .hint,
body.caio-emerald-ui .breadcrumb,
body.caio-emerald-ui .breadcrumb *{
  color:var(--cc-muted)!important;
}

/* Hero executivo: escuro em vez de banner verde */
body.caio-emerald-ui #dashboardTopHero,
body.caio-emerald-ui .dashboard-top-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px)!important;
  gap:18px!important;
  min-height:280px!important;
  padding:26px!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 70% 14%, rgba(49,244,125,.15), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(49,244,125,.10), transparent 36%),
    linear-gradient(135deg, rgba(6,20,12,.86), rgba(1,7,4,.82))!important;
  border:1px solid rgba(118,255,178,.18)!important;
  box-shadow:0 30px 100px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.045)!important;
  animation:ccFadeRise .42s cubic-bezier(.16,1,.3,1) both!important;
}

body.caio-emerald-ui #dashboardTopHero::before,
body.caio-emerald-ui .dashboard-top-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(49,244,125,.05) 1px, transparent 1px),
    linear-gradient(rgba(49,244,125,.045) 1px, transparent 1px),
    radial-gradient(circle at 78% 28%, rgba(49,244,125,.18), transparent 18%);
  background-size:56px 56px,56px 56px,100% 100%;
  opacity:.98;
}

body.caio-emerald-ui .dashboard-hero-chip{
  width:max-content!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(49,244,125,.08)!important;
  border:1px solid rgba(118,255,178,.20)!important;
  color:#9dffc4!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

body.caio-emerald-ui .dashboard-hero-title{
  max-width:880px!important;
  color:#111827!important;
  font-size:clamp(34px,3.2vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.065em!important;
  text-shadow:0 22px 60px rgba(0,0,0,.44)!important;
}

body.caio-emerald-ui .dashboard-hero-title strong,
body.caio-emerald-ui .dashboard-hero-title span{
  color:var(--cc-green)!important;
}

body.caio-emerald-ui .dashboard-hero-subtitle{
  max-width:780px!important;
  color:rgba(235,255,241,.78)!important;
  font-size:15px!important;
}

body.caio-emerald-ui .dashboard-hero-highlights{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}

body.caio-emerald-ui .dashboard-hero-highlights .stack-item,
body.caio-emerald-ui .dashboard-hero-side-card{
  background:linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.025))!important;
  border:1px solid rgba(118,255,178,.13)!important;
  border-radius:16px!important;
}

body.caio-emerald-ui .dashboard-hero-side{
  display:grid!important;
  gap:12px!important;
}

body.caio-emerald-ui .dashboard-hero-side-card{
  position:relative!important;
  overflow:hidden!important;
  padding:16px!important;
  min-height:86px!important;
}

body.caio-emerald-ui .dashboard-hero-side-card::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:76px;
  height:76px;
  transform:translateY(-50%);
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(49,244,125,.92) 0 5px, transparent 7px),
    repeating-radial-gradient(circle, rgba(49,244,125,.34) 0 2px, transparent 2px 16px);
  opacity:.42;
  animation:ccRadarPulse 4.8s ease-in-out infinite;
}

/* Cards numericos */
body.caio-emerald-ui .stats-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}

body.caio-emerald-ui .stat,
body.caio-emerald-ui .metric-card{
  min-height:128px!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 88% 22%, rgba(49,244,125,.18), transparent 24%),
    linear-gradient(180deg, rgba(9,22,14,.78), rgba(3,10,6,.72))!important;
}

body.caio-emerald-ui .stat::after{
  content:"";
  position:absolute;
  right:22px;
  top:22px;
  width:42px;
  height:42px;
  border-radius:12px;
  background:linear-gradient(135deg, var(--cc-green-2), var(--cc-green));
  box-shadow:0 16px 42px rgba(49,244,125,.24);
  opacity:.82;
}

body.caio-emerald-ui .stat:nth-child(2)::after{background:linear-gradient(135deg,#d88400,var(--cc-yellow));}
body.caio-emerald-ui .stat:nth-child(3)::after{background:linear-gradient(135deg,#126ee8,var(--cc-blue));}
body.caio-emerald-ui .stat:nth-child(4)::after{background:linear-gradient(135deg,#7338ee,var(--cc-purple));}

/* Mapa central tatico */
body.caio-emerald-ui .dashboard-map-card{
  border-radius:22px!important;
  padding:18px!important;
  background:
    radial-gradient(circle at 50% 0%, rgba(49,244,125,.12), transparent 34%),
    linear-gradient(180deg, rgba(5,16,10,.82), rgba(0,6,4,.76))!important;
}

body.caio-emerald-ui .dashboard-map-preview-panel,
body.caio-emerald-ui #dashboardMapPreviewPanel{
  min-height:560px!important;
  height:560px!important;
  border-radius:20px!important;
  isolation:isolate!important;
  background:
    linear-gradient(90deg, rgba(49,244,125,.07) 1px, transparent 1px),
    linear-gradient(rgba(49,244,125,.06) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(49,244,125,.10), transparent 36%),
    #030c08!important;
  background-size:50px 50px,50px 50px,100% 100%,100% 100%!important;
  box-shadow:inset 0 0 120px rgba(49,244,125,.07), 0 24px 76px rgba(0,0,0,.34)!important;
}

body.caio-emerald-ui .dashboard-map-preview-panel::after,
body.caio-emerald-ui #dashboardMapPreviewPanel::after{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:5;
  pointer-events:none;
  background:conic-gradient(from 0deg, transparent 0 73%, rgba(49,244,125,.14) 82%, transparent 92% 100%);
  opacity:.42;
  animation:ccRadarSweep 11s linear infinite;
  mix-blend-mode:screen;
}

body.caio-emerald-ui #dashboardMapPreview,
body.caio-emerald-ui #dashboardMapPreview .leaflet-container,
body.caio-emerald-ui #mainMap,
body.caio-emerald-ui .leaflet-container{
  background:#030c08!important;
}

body.caio-emerald-ui .leaflet-tile{
  filter:invert(1) hue-rotate(145deg) saturate(.74) brightness(.48) contrast(1.16)!important;
}

body.caio-emerald-ui .leaflet-control,
body.caio-emerald-ui .leaflet-control a{
  background:rgba(3,12,7,.78)!important;
  border-color:rgba(118,255,178,.20)!important;
  color:#111827!important;
}

body.caio-emerald-ui .leaflet-popup-content,
body.caio-emerald-ui .leaflet-popup-content *{
  color:#f7fff9!important;
}

body.caio-emerald-ui .caio-map-pin{
  box-shadow:
    0 0 0 8px color-mix(in srgb, var(--pin-color,#35f27e) 20%, transparent),
    0 0 30px color-mix(in srgb, var(--pin-color,#35f27e) 88%, transparent),
    0 18px 34px rgba(0,0,0,.48)!important;
}

/* Tabelas dark premium */
body.caio-emerald-ui table{
  border-collapse:separate!important;
  border-spacing:0!important;
  color:var(--cc-text)!important;
}

body.caio-emerald-ui thead th{
  background:rgba(49,244,125,.075)!important;
  color:rgba(241,255,245,.82)!important;
  border-bottom:1px solid rgba(118,255,178,.12)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

body.caio-emerald-ui tbody td{
  color:rgba(247,255,249,.86)!important;
  border-bottom:1px solid rgba(118,255,178,.07)!important;
}

body.caio-emerald-ui tbody tr:hover td{
  background:rgba(49,244,125,.045)!important;
}

/* Inputs, filtros e botoes */
body.caio-emerald-ui input,
body.caio-emerald-ui select,
body.caio-emerald-ui textarea,
body.caio-emerald-ui .search-input,
body.caio-emerald-ui .filter-input{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(118,255,178,.16)!important;
  color:#f7fff9!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}

body.caio-emerald-ui input:focus,
body.caio-emerald-ui select:focus,
body.caio-emerald-ui textarea:focus{
  border-color:rgba(49,244,125,.46)!important;
  box-shadow:0 0 0 4px rgba(49,244,125,.10), inset 0 1px 0 rgba(255,255,255,.06)!important;
  outline:0!important;
}

body.caio-emerald-ui .btn-primary,
body.caio-emerald-ui button.btn-primary,
body.caio-emerald-ui .btn-success{
  background:linear-gradient(135deg,#0e8f47,#31f47d)!important;
  color:#111827!important;
  border:1px solid rgba(147,255,196,.38)!important;
  box-shadow:0 18px 42px rgba(49,244,125,.22), inset 0 1px 0 rgba(255,255,255,.18)!important;
}

body.caio-emerald-ui .btn-soft,
body.caio-emerald-ui .btn-secondary,
body.caio-emerald-ui .card-head-action{
  background:rgba(255,255,255,.045)!important;
  color:#dfffe9!important;
  border:1px solid rgba(118,255,178,.16)!important;
}

body.caio-emerald-ui .badge,
body.caio-emerald-ui .status-badge,
body.caio-emerald-ui [class*="badge"]{
  border:1px solid rgba(118,255,178,.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* Modais glass sem quebrar funcionamento */
body.caio-emerald-ui .modal,
body.caio-emerald-ui .modal-backdrop,
body.caio-emerald-ui .atd-modal-backdrop,
body.caio-emerald-ui .protocol-modal-backdrop{
  background:rgba(0,6,4,.70)!important;
  backdrop-filter:blur(12px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(120%)!important;
}

body.caio-emerald-ui .modal-content,
body.caio-emerald-ui .atd-modal,
body.caio-emerald-ui .protocol-modal,
body.caio-emerald-ui .protocol-detail-modal,
body.caio-emerald-ui .view-modal{
  border-radius:20px!important;
  border:1px solid rgba(118,255,178,.18)!important;
  background:linear-gradient(180deg, rgba(9,22,14,.94), rgba(2,9,5,.92))!important;
  color:var(--cc-text)!important;
  box-shadow:0 44px 130px rgba(255,255,255,0.05), 0 0 80px rgba(49,244,125,.10)!important;
}

/* Login cinematografico */
body.login-executive-preview #loginScreen.login-screen,
body.caio-emerald-ui .login-screen,
body.caio-emerald-ui #loginScreen{
  background:
    linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,18,9,.42), rgba(0,55,24,.20)),
    radial-gradient(circle at 52% 2%, rgba(89,255,151,.22), transparent 36%),
    url("../img/login-preview-bg-real.jpg") center/cover no-repeat!important;
}

body.login-executive-preview #loginScreen.login-screen::after,
body.caio-emerald-ui .login-screen::after{
  opacity:.34!important;
  animation:ccGlowBreath 9s ease-in-out infinite!important;
}

body.login-executive-preview #loginScreen .login-card.login-card-premium,
body.caio-emerald-ui .login-card,
body.caio-emerald-ui .login-box{
  background:linear-gradient(180deg, rgba(8,22,14,.78), rgba(1,8,5,.70))!important;
  border:1px solid rgba(147,255,196,.34)!important;
  box-shadow:0 46px 140px rgba(0,0,0,.58), 0 0 90px rgba(49,244,125,.14), inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(26px) saturate(140%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(140%)!important;
}

/* Preserva documentos oficiais A4/impresso */
body.caio-emerald-ui .oficio-preview,
body.caio-emerald-ui .oficio-document,
body.caio-emerald-ui .oficio-a4,
body.caio-emerald-ui .a4-page,
body.caio-emerald-ui .paper-a4,
body.caio-emerald-ui [contenteditable].oficio-body,
body.caio-emerald-ui #oficioPreview{
  background:#fff!important;
  color:#f3f4f6!important;
  box-shadow:0 28px 70px rgba(0,0,0,.36)!important;
}

body.caio-emerald-ui .oficio-preview *,
body.caio-emerald-ui .oficio-document *,
body.caio-emerald-ui .oficio-a4 *,
body.caio-emerald-ui .a4-page *,
body.caio-emerald-ui .paper-a4 *,
body.caio-emerald-ui #oficioPreview *{
  color:#f3f4f6!important;
}

@keyframes ccFadeRise{
  from{opacity:.70;transform:translateY(10px);filter:blur(6px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}

@keyframes ccRadarSweep{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

@keyframes ccRadarPulse{
  0%,100%{opacity:.34;transform:translateY(-50%) scale(.94)}
  50%{opacity:.98;transform:translateY(-50%) scale(1.06)}
}

@keyframes ccGlowBreath{
  0%,100%{opacity:.26}
  50%{opacity:.48}
}

@media (prefers-reduced-motion:reduce){
  body.caio-emerald-ui *,
  body.caio-emerald-ui *::before,
  body.caio-emerald-ui *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

@media (max-width:1280px){
  body.caio-emerald-ui #dashboardTopHero,
  body.caio-emerald-ui .dashboard-top-hero{
    grid-template-columns:1fr!important;
  }
  body.caio-emerald-ui .dashboard-hero-highlights{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.caio-emerald-ui .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:760px){
  body.caio-emerald-ui .topbar,
  body.caio-emerald-ui .premium-topbar{
    border-radius:16px!important;
  }
  body.caio-emerald-ui .dashboard-hero-highlights,
  body.caio-emerald-ui .stats-grid,
  body.caio-emerald-ui .dashboard-map-summary{
    grid-template-columns:1fr!important;
  }
  body.caio-emerald-ui .dashboard-map-preview-panel,
  body.caio-emerald-ui #dashboardMapPreviewPanel{
    min-height:420px!important;
    height:420px!important;
  }
}

/* ========================================================================
   CODEX FINAL COMMAND CENTER SKIN
   Visual-only layer. It preserves IDs, data attributes, JS listeners,
   Firebase calls, Leaflet and existing routes.
   ======================================================================== */

:root{
  --cmd-bg-0:#020806;
  --cmd-bg-1:#06130e;
  --cmd-panel:rgba(6,18,13,.78);
  --cmd-panel-strong:rgba(8,24,17,.92);
  --cmd-line:rgba(89,255,154,.17);
  --cmd-line-strong:rgba(89,255,154,.34);
  --cmd-green:#22d56c;
  --cmd-green-2:#0d8f49;
  --cmd-text:#f0fff5;
  --cmd-muted:rgba(240,255,245,.68);
  --cmd-soft:rgba(255,255,255,.055);
  --cmd-shadow:0 26px 80px rgba(0,0,0,.48);
  --cmd-glow:0 0 0 1px rgba(89,255,154,.12),0 24px 72px rgba(0,0,0,.46),0 0 54px rgba(35,213,107,.09);
}

html{background:var(--cmd-bg-0);color-scheme:dark}

body.caio-emerald-ui{
  color:var(--cmd-text)!important;
  background:
    radial-gradient(circle at 78% 8%,rgba(35,213,107,.16),transparent 32%),
    radial-gradient(circle at 16% 80%,rgba(14,163,79,.16),transparent 36%),
    linear-gradient(135deg,#020806 0%,#05110d 48%,#081b13 100%)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

body.caio-emerald-ui::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    linear-gradient(rgba(89,255,154,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(89,255,154,.024) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at 52% 36%,#000 0 45%,transparent 82%);
  opacity:.98;
}

body.caio-emerald-ui::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,transparent 0 48%,rgba(0,0,0,.62) 100%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%,rgba(0,0,0,.22));
}

body.caio-emerald-ui #appShell,
body.caio-emerald-ui .app-shell,
body.caio-emerald-ui #mainContent,
body.caio-emerald-ui .main-content{
  background:transparent!important;
}

body.caio-emerald-ui h1,
body.caio-emerald-ui h2,
body.caio-emerald-ui h3,
body.caio-emerald-ui h4,
body.caio-emerald-ui .section-title,
body.caio-emerald-ui .card-title{
  color:var(--cmd-text)!important;
  letter-spacing:-.035em;
}

body.caio-emerald-ui p,
body.caio-emerald-ui small,
body.caio-emerald-ui .muted,
body.caio-emerald-ui .text-muted,
body.caio-emerald-ui .subtitle,
body.caio-emerald-ui .description{
  color:var(--cmd-muted)!important;
}

body.caio-emerald-ui .page-section:not(#oficios),
body.caio-emerald-ui .content-card,
body.caio-emerald-ui .card,
body.caio-emerald-ui .panel,
body.caio-emerald-ui .module-card,
body.caio-emerald-ui .premium-card,
body.caio-emerald-ui .dashboard-card,
body.caio-emerald-ui .analytics-card,
body.caio-emerald-ui .metric-card{
  background:
    linear-gradient(145deg,rgba(255,255,255,.066),rgba(255,255,255,.026)),
    radial-gradient(circle at 92% 4%,rgba(35,213,107,.08),transparent 34%)!important;
  border:1px solid var(--cmd-line)!important;
  box-shadow:var(--cmd-glow)!important;
  color:var(--cmd-text)!important;
  backdrop-filter:blur(22px) saturate(135%);
}

body.caio-emerald-ui .content-card:hover,
body.caio-emerald-ui .card:hover,
body.caio-emerald-ui .dashboard-card:hover,
body.caio-emerald-ui .metric-card:hover{
  border-color:rgba(89,255,154,.29)!important;
  box-shadow:0 0 0 1px rgba(89,255,154,.16),0 30px 88px rgba(0,0,0,.5),0 0 58px rgba(35,213,107,.12)!important;
}

/* Sidebar premium dark glass */
body.caio-emerald-ui .sidebar{
  background:
    radial-gradient(circle at 50% 4%,rgba(35,213,107,.18),transparent 28%),
    linear-gradient(180deg,rgba(2,19,11,.97),rgba(1,12,8,.985))!important;
  border-right:1px solid rgba(89,255,154,.16)!important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.035),18px 0 56px rgba(0,0,0,.35)!important;
  backdrop-filter:blur(28px);
}

body.caio-emerald-ui .sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(89,255,154,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(89,255,154,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg,#000 0,transparent 88%);
  opacity:.95;
}

body.caio-emerald-ui .sidebar-top,
body.caio-emerald-ui .sidebar-footer,
body.caio-emerald-ui .user-card,
body.caio-emerald-ui .brand-logo-shell{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(89,255,154,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 42px rgba(0,0,0,.25)!important;
}

body.caio-emerald-ui .sidebar .nav-item,
body.caio-emerald-ui .sidebar .nav-link,
body.caio-emerald-ui .sidebar .nav-subitem,
body.caio-emerald-ui .menu-group-toggle,
body.caio-emerald-ui .sidebar a{
  color:rgba(238,255,244,.88)!important;
  text-shadow:0 1px 14px rgba(0,0,0,.46);
  transition:background .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease;
}

body.caio-emerald-ui .sidebar .nav-item:hover,
body.caio-emerald-ui .sidebar .nav-link:hover,
body.caio-emerald-ui .sidebar .nav-subitem:hover,
body.caio-emerald-ui .menu-group-toggle:hover{
  color:#111827!important;
  background:rgba(35,213,107,.13)!important;
  box-shadow:inset 0 0 0 1px rgba(89,255,154,.13),0 14px 36px rgba(0,0,0,.2);
  transform:translateX(2px);
}

body.caio-emerald-ui .sidebar .nav-item.active,
body.caio-emerald-ui .sidebar .nav-link.active,
body.caio-emerald-ui .sidebar .nav-subitem.active,
body.caio-emerald-ui .menu-group.open>.menu-group-toggle,
body.caio-emerald-ui .menu-group-toggle.active{
  color:#111827!important;
  background:linear-gradient(135deg,rgba(35,213,107,.94),rgba(13,128,67,.84))!important;
  box-shadow:0 0 0 1px rgba(113,255,168,.23),0 18px 48px rgba(35,213,107,.23)!important;
}

body.caio-emerald-ui .sidebar .nav-icon,
body.caio-emerald-ui .sidebar svg,
body.caio-emerald-ui .sidebar i{
  color:currentColor!important;
  filter:drop-shadow(0 0 12px rgba(89,255,154,.13));
}

body.caio-emerald-ui .sidebar-scroll,
body.caio-emerald-ui .sidebar nav{scrollbar-color:rgba(89,255,154,.36) transparent}
body.caio-emerald-ui .sidebar-scroll::-webkit-scrollbar,
body.caio-emerald-ui .sidebar nav::-webkit-scrollbar{width:7px}
body.caio-emerald-ui .sidebar-scroll::-webkit-scrollbar-thumb,
body.caio-emerald-ui .sidebar nav::-webkit-scrollbar-thumb{background:rgba(89,255,154,.32);border-radius:999px}

/* Topbar */
body.caio-emerald-ui .topbar,
body.caio-emerald-ui .premium-topbar,
body.caio-emerald-ui .glass-topbar,
body.caio-emerald-ui .page-header{
  background:
    linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.034)),
    radial-gradient(circle at 80% 0%,rgba(35,213,107,.105),transparent 32%)!important;
  border:1px solid rgba(89,255,154,.16)!important;
  box-shadow:var(--cmd-glow)!important;
  color:var(--cmd-text)!important;
  backdrop-filter:blur(24px) saturate(145%);
}

body.caio-emerald-ui .topbar input,
body.caio-emerald-ui .topbar .search-input,
body.caio-emerald-ui .global-search,
body.caio-emerald-ui .search-box input{
  background:rgba(0,0,0,.28)!important;
  border:1px solid rgba(89,255,154,.18)!important;
  color:var(--cmd-text)!important;
}

body.caio-emerald-ui .topbar input::placeholder,
body.caio-emerald-ui input::placeholder,
body.caio-emerald-ui textarea::placeholder{color:rgba(240,255,245,.42)!important}

body.caio-emerald-ui .topbar button,
body.caio-emerald-ui .topbar .icon-btn,
body.caio-emerald-ui .header-action,
body.caio-emerald-ui .user-menu{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(89,255,154,.16)!important;
  color:var(--cmd-text)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}

body.caio-emerald-ui .page-chip,
body.caio-emerald-ui .topbar .page-chip{
  color:#bdfbd2!important;
  background:rgba(35,213,107,.12)!important;
  border-color:rgba(89,255,154,.2)!important;
}

/* Dashboard: restore executive command hero as dark glass, not a green banner */
body.caio-emerald-ui #dashboard::before,
body.caio-emerald-ui #dashboard::after{
  content:none!important;
  display:none!important;
}

body.caio-emerald-ui #dashboardTopHero,
body.caio-emerald-ui .dashboard-top-hero{
  display:grid!important;
  position:relative;
  grid-template-columns:minmax(0,1fr) minmax(290px,31%);
  gap:18px;
  padding:clamp(20px,2vw,28px)!important;
  margin-bottom:18px!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 22%,rgba(35,213,107,.19),transparent 31%),
    radial-gradient(circle at 9% 12%,rgba(56,217,200,.08),transparent 28%),
    linear-gradient(135deg,rgba(7,19,14,.88),rgba(2,9,7,.93))!important;
  border:1px solid rgba(89,255,154,.17)!important;
  box-shadow:var(--cmd-glow)!important;
  backdrop-filter:blur(24px) saturate(140%);
}

body.caio-emerald-ui #dashboardTopHero::before,
body.caio-emerald-ui .dashboard-top-hero::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    linear-gradient(rgba(89,255,154,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(89,255,154,.025) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(circle at 65% 45%,#000 0 42%,transparent 86%);
}

body.caio-emerald-ui #dashboardTopHero::after,
body.caio-emerald-ui .dashboard-top-hero::after{
  content:"";
  position:absolute;
  width:42%;
  height:170%;
  top:-35%;
  left:-18%;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(89,255,154,.075),transparent);
  transform:rotate(18deg);
  animation:commandScan 11s ease-in-out infinite;
}

@keyframes commandScan{
  0%,100%{transform:translateX(-32%) rotate(18deg);opacity:.08}
  48%{transform:translateX(235%) rotate(18deg);opacity:.23}
}

body.caio-emerald-ui .dashboard-hero-main,
body.caio-emerald-ui .dashboard-hero-side{position:relative;z-index:1}

body.caio-emerald-ui .dashboard-hero-chip{
  color:#dfffea!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(89,255,154,.2)!important;
  letter-spacing:.08em;
}

body.caio-emerald-ui .dashboard-hero-title,
body.caio-emerald-ui #dashboardHeroTitle{
  color:#111827!important;
  font-size:clamp(2rem,3.2vw,4rem)!important;
  line-height:.98!important;
  max-width:1050px;
  text-shadow:0 22px 70px rgba(0,0,0,.54);
}

body.caio-emerald-ui .dashboard-hero-title strong,
body.caio-emerald-ui #dashboardHeroTitle strong,
body.caio-emerald-ui #dashboardHeroTitle .accent{
  color:#25ef79!important;
  text-shadow:0 0 34px rgba(35,239,121,.28);
}

body.caio-emerald-ui .dashboard-hero-subtitle,
body.caio-emerald-ui #dashboardHeroSubtitle,
body.caio-emerald-ui #dashboardHeroHighlights{color:rgba(239,255,246,.78)!important}

body.caio-emerald-ui .dashboard-hero-side-card,
body.caio-emerald-ui .dashboard-hero-spotlight{
  background:rgba(0,0,0,.25)!important;
  border:1px solid rgba(89,255,154,.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 40px rgba(0,0,0,.23)!important;
}

body.caio-emerald-ui .btn-primary,
body.caio-emerald-ui button.primary,
body.caio-emerald-ui .dashboard-hero-actions .btn,
body.caio-emerald-ui .dashboard-hero-actions button{
  background:linear-gradient(135deg,#22c761,#087a3b)!important;
  border:1px solid rgba(139,255,183,.25)!important;
  color:#111827!important;
  box-shadow:0 18px 42px rgba(35,213,107,.18),inset 0 1px 0 rgba(255,255,255,.12)!important;
}

/* Metrics */
body.caio-emerald-ui .stats-grid,
body.caio-emerald-ui .metrics-grid,
body.caio-emerald-ui .kpi-grid{gap:18px!important}

body.caio-emerald-ui .stat-card,
body.caio-emerald-ui .kpi-card,
body.caio-emerald-ui .mini-stat,
body.caio-emerald-ui .summary-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 18%,rgba(35,213,107,.15),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.028))!important;
  border:1px solid rgba(89,255,154,.16)!important;
  color:var(--cmd-text)!important;
  box-shadow:var(--cmd-glow)!important;
}

body.caio-emerald-ui .stat-card::before,
body.caio-emerald-ui .kpi-card::before,
body.caio-emerald-ui .mini-stat::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 34%);
  opacity:.48;
}

body.caio-emerald-ui .stat-value,
body.caio-emerald-ui .stat-card .value,
body.caio-emerald-ui .kpi-value,
body.caio-emerald-ui .metric-number{
  color:#111827!important;
  text-shadow:0 0 30px rgba(35,213,107,.15);
}

body.caio-emerald-ui .stat-label,
body.caio-emerald-ui .stat-card .label,
body.caio-emerald-ui .kpi-label,
body.caio-emerald-ui .metric-label{
  color:rgba(237,253,243,.68)!important;
  letter-spacing:.04em;
}

body.caio-emerald-ui .stat-icon,
body.caio-emerald-ui .metric-icon,
body.caio-emerald-ui .kpi-icon{
  background:linear-gradient(135deg,rgba(35,213,107,.96),rgba(9,116,59,.92))!important;
  color:#111827!important;
  box-shadow:0 18px 40px rgba(35,213,107,.22),0 0 0 1px rgba(155,255,195,.18)!important;
}

/* Tactical maps */
body.caio-emerald-ui #dashboardMapPreviewPanel,
body.caio-emerald-ui .dashboard-map-card,
body.caio-emerald-ui .map-panel,
body.caio-emerald-ui .map-shell,
body.caio-emerald-ui .map-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 52% 42%,rgba(35,213,107,.13),transparent 38%),
    linear-gradient(145deg,rgba(4,14,10,.88),rgba(2,8,6,.94))!important;
  border-color:rgba(89,255,154,.18)!important;
  box-shadow:var(--cmd-glow)!important;
}

body.caio-emerald-ui #dashboardMapPreviewPanel::before,
body.caio-emerald-ui .map-shell::before,
body.caio-emerald-ui .map-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(rgba(89,255,154,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(89,255,154,.04) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,transparent 0 48%,rgba(0,0,0,.34) 100%);
  background-size:62px 62px,62px 62px,auto;
  opacity:.62;
  mix-blend-mode:screen;
}

body.caio-emerald-ui #dashboardMapPreviewPanel::after,
body.caio-emerald-ui .map-shell::after,
body.caio-emerald-ui .map-card::after{
  content:"";
  position:absolute;
  width:44%;
  height:44%;
  right:7%;
  top:12%;
  z-index:2;
  pointer-events:none;
  border-radius:999px;
  border:1px solid rgba(89,255,154,.14);
  box-shadow:inset 0 0 28px rgba(35,213,107,.08),0 0 38px rgba(35,213,107,.07);
  background:repeating-radial-gradient(circle,rgba(89,255,154,.11) 0 1px,transparent 1px 38px);
  opacity:.24;
  animation:commandRadarPulse 7.5s ease-in-out infinite;
}

@keyframes commandRadarPulse{
  0%,100%{transform:scale(.96);opacity:.17}
  50%{transform:scale(1.04);opacity:.30}
}

body.caio-emerald-ui #dashboardMapPreview,
body.caio-emerald-ui #mainMap,
body.caio-emerald-ui #map,
body.caio-emerald-ui .leaflet-container{
  background:#030a08!important;
  border-color:rgba(89,255,154,.18)!important;
}

body.caio-emerald-ui .leaflet-tile{
  filter:brightness(.66) contrast(1.22) saturate(.82) hue-rotate(66deg)!important;
}

body.caio-emerald-ui .leaflet-overlay-pane svg path,
body.caio-emerald-ui .leaflet-interactive{
  filter:drop-shadow(0 0 8px rgba(35,213,107,.28));
}

body.caio-emerald-ui .leaflet-control-zoom a,
body.caio-emerald-ui .leaflet-control-attribution,
body.caio-emerald-ui .leaflet-popup-content-wrapper,
body.caio-emerald-ui .leaflet-popup-tip{
  background:rgba(4,18,12,.94)!important;
  border-color:rgba(89,255,154,.18)!important;
  color:var(--cmd-text)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.38)!important;
}

body.caio-emerald-ui .caio-map-pin,
body.caio-emerald-ui .map-marker,
body.caio-emerald-ui .leaflet-marker-icon:not(.go-map-custom-marker){
  filter:drop-shadow(0 0 10px rgba(35,213,107,.45)) drop-shadow(0 16px 28px rgba(0,0,0,.46));
}

body.caio-emerald-ui .leaflet-marker-icon.go-map-custom-marker{
  filter:none!important;
  box-shadow:none!important;
}

body.caio-emerald-ui .map-legend,
body.caio-emerald-ui .dashboard-map-legend{
  background:rgba(2,10,7,.74)!important;
  border:1px solid rgba(89,255,154,.16)!important;
  color:var(--cmd-text)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(18px);
}

/* Tables, forms and modals */
body.caio-emerald-ui table:not(.oficio-table),
body.caio-emerald-ui .data-table,
body.caio-emerald-ui .table-card{
  background:rgba(4,14,10,.58)!important;
  color:var(--cmd-text)!important;
  border-color:rgba(89,255,154,.14)!important;
}

body.caio-emerald-ui table:not(.oficio-table) thead,
body.caio-emerald-ui .data-table thead{background:rgba(35,213,107,.10)!important}

body.caio-emerald-ui table:not(.oficio-table) th,
body.caio-emerald-ui .data-table th{
  color:rgba(225,255,235,.8)!important;
  border-color:rgba(89,255,154,.12)!important;
}

body.caio-emerald-ui table:not(.oficio-table) td,
body.caio-emerald-ui .data-table td{
  color:rgba(242,255,246,.9)!important;
  border-color:rgba(89,255,154,.09)!important;
}

body.caio-emerald-ui table:not(.oficio-table) tr:hover td,
body.caio-emerald-ui .data-table tr:hover td{background:rgba(35,213,107,.055)!important}

body.caio-emerald-ui input,
body.caio-emerald-ui select,
body.caio-emerald-ui textarea{
  background:rgba(2,10,7,.7)!important;
  border-color:rgba(89,255,154,.16)!important;
  color:var(--cmd-text)!important;
}

body.caio-emerald-ui input:focus,
body.caio-emerald-ui select:focus,
body.caio-emerald-ui textarea:focus{
  border-color:rgba(89,255,154,.45)!important;
  box-shadow:0 0 0 4px rgba(35,213,107,.10)!important;
}

body.caio-emerald-ui .modal-content,
body.caio-emerald-ui .modal-card,
body.caio-emerald-ui .drawer,
body.caio-emerald-ui .dialog{
  background:linear-gradient(145deg,rgba(6,20,14,.96),rgba(2,9,7,.97))!important;
  border:1px solid rgba(89,255,154,.18)!important;
  color:var(--cmd-text)!important;
  box-shadow:0 40px 120px rgba(0,0,0,.62),0 0 80px rgba(35,213,107,.12)!important;
  backdrop-filter:blur(26px) saturate(150%);
}

body.caio-emerald-ui .modal-backdrop,
body.caio-emerald-ui .overlay,
body.caio-emerald-ui .drawer-backdrop{
  background:rgba(0,0,0,.7)!important;
  backdrop-filter:blur(10px) saturate(120%);
}

/* Login cinematic */
body.caio-emerald-ui .login-screen,
body.caio-emerald-ui #loginScreen{
  position:relative;
  background:
    radial-gradient(circle at 70% 24%,rgba(35,213,107,.19),transparent 34%),
    radial-gradient(circle at 15% 78%,rgba(9,121,62,.2),transparent 38%),
    linear-gradient(135deg,rgba(0,0,0,.78),rgba(2,12,8,.9)),
    url("../img/login-preview-bg-real.jpg") center/cover no-repeat!important;
  color:var(--cmd-text)!important;
  overflow:hidden;
}

body.caio-emerald-ui .login-screen::before,
body.caio-emerald-ui #loginScreen::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,transparent 0 46%,rgba(0,0,0,.68) 100%),
    linear-gradient(rgba(89,255,154,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(89,255,154,.018) 1px,transparent 1px);
  background-size:auto,64px 64px,64px 64px;
  opacity:.9;
}

body.caio-emerald-ui .login-card,
body.caio-emerald-ui .login-card-premium{
  background:linear-gradient(145deg,rgba(8,22,16,.83),rgba(1,8,6,.79))!important;
  border:1px solid rgba(89,255,154,.22)!important;
  box-shadow:0 40px 120px rgba(0,0,0,.58),0 0 90px rgba(35,213,107,.14)!important;
  color:var(--cmd-text)!important;
  backdrop-filter:blur(28px) saturate(145%);
  animation:loginCardEnter .75s ease both,commandBreath 8s ease-in-out infinite;
}

@keyframes loginCardEnter{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes commandBreath{
  0%,100%{box-shadow:0 40px 120px rgba(0,0,0,.58),0 0 70px rgba(35,213,107,.1)}
  50%{box-shadow:0 44px 126px rgba(0,0,0,.62),0 0 96px rgba(35,213,107,.17)}
}

body.caio-emerald-ui .login-card input,
body.caio-emerald-ui .login-card-premium input{
  background:rgba(0,0,0,.33)!important;
  border:1px solid rgba(89,255,154,.2)!important;
  color:#111827!important;
}

body.caio-emerald-ui .login-card button,
body.caio-emerald-ui .login-card-premium button,
body.caio-emerald-ui .login-submit{
  background:linear-gradient(135deg,#21d36a,#078542)!important;
  border:1px solid rgba(156,255,195,.28)!important;
  color:#111827!important;
  box-shadow:0 20px 54px rgba(35,213,107,.24),inset 0 1px 0 rgba(255,255,255,.18)!important;
}

body.caio-emerald-ui .cinema-particles span{
  background:rgba(87,255,154,.62)!important;
  box-shadow:0 0 18px rgba(87,255,154,.42);
  animation-duration:14s!important;
}

/* Keep official A4 documents printable and readable */
body.caio-emerald-ui #oficioPreview,
body.caio-emerald-ui .oficio-preview,
body.caio-emerald-ui .oficio-a4,
body.caio-emerald-ui .oficio-document,
body.caio-emerald-ui .document-a4,
body.caio-emerald-ui .paper-a4,
body.caio-emerald-ui .a4-page,
body.caio-emerald-ui .word-page{
  background:#fff!important;
  color:#f3f4f6!important;
  border-color:rgba(17,24,39,.1)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
  backdrop-filter:none!important;
}

body.caio-emerald-ui #oficioPreview *,
body.caio-emerald-ui .oficio-preview *,
body.caio-emerald-ui .oficio-a4 *,
body.caio-emerald-ui .oficio-document *,
body.caio-emerald-ui .document-a4 *,
body.caio-emerald-ui .paper-a4 *,
body.caio-emerald-ui .a4-page *,
body.caio-emerald-ui .word-page *{
  color:inherit!important;
  text-shadow:none!important;
}

body.caio-emerald-ui #oficios .content-card,
body.caio-emerald-ui .oficios-editor-panel{
  background:
    linear-gradient(145deg,rgba(255,255,255,.066),rgba(255,255,255,.026)),
    radial-gradient(circle at 92% 8%,rgba(35,213,107,.07),transparent 30%)!important;
  color:var(--cmd-text)!important;
  border-color:rgba(89,255,154,.16)!important;
}

/* Smooth page transitions */
body.caio-emerald-ui .page-section.is-active,
body.caio-emerald-ui .page-section.active,
body.caio-emerald-ui .view-active{
  animation:commandPageIn .42s ease both;
}

@keyframes commandPageIn{
  from{opacity:.001;transform:translateY(8px);filter:blur(5px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}

@media (max-width:1180px){
  body.caio-emerald-ui #dashboardTopHero,
  body.caio-emerald-ui .dashboard-top-hero{grid-template-columns:1fr!important}
  body.caio-emerald-ui .dashboard-hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  body.caio-emerald-ui .topbar,
  body.caio-emerald-ui .premium-topbar,
  body.caio-emerald-ui .glass-topbar{border-radius:20px!important}
  body.caio-emerald-ui #dashboardTopHero,
  body.caio-emerald-ui .dashboard-top-hero{padding:18px!important}
  body.caio-emerald-ui .dashboard-hero-side{grid-template-columns:1fr}
  body.caio-emerald-ui .dashboard-hero-title,
  body.caio-emerald-ui #dashboardHeroTitle{font-size:clamp(1.8rem,10vw,2.6rem)!important}
}

@media print{
  body.caio-emerald-ui{background:#fff!important}
  body.caio-emerald-ui #oficioPreview,
  body.caio-emerald-ui .oficio-preview,
  body.caio-emerald-ui .oficio-a4,
  body.caio-emerald-ui .oficio-document,
  body.caio-emerald-ui .document-a4,
  body.caio-emerald-ui .paper-a4,
  body.caio-emerald-ui .a4-page,
  body.caio-emerald-ui .word-page{
    background:#fff!important;
    color:#000!important;
    box-shadow:none!important;
  }
}

/* ========================================================================
   DASHBOARD EXECUTIVO DARK FUTURISTIC - V2
   Stronger visual pass to match the command-center reference.
   ======================================================================== */

body.caio-emerald-ui{
  --surface-black:rgba(2,9,7,.78);
  --surface-deep:rgba(1,7,5,.92);
  --surface-glass:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.022));
  --neon-ring:0 0 0 1px rgba(92,255,157,.16),0 28px 90px rgba(0,0,0,.48),0 0 70px rgba(29,211,102,.12);
  --neon-inner:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 44px rgba(35,213,107,.035);
}

body.caio-emerald-ui .main{
  background:
    radial-gradient(circle at 70% 8%,rgba(30,210,105,.13),transparent 30%),
    radial-gradient(circle at 12% 68%,rgba(30,210,105,.09),transparent 32%),
    linear-gradient(135deg,rgba(1,8,5,.96),rgba(4,15,10,.98))!important;
}

body.caio-emerald-ui .premium-content,
body.caio-emerald-ui .content{
  background:
    radial-gradient(circle at 50% 0%,rgba(34,213,108,.08),transparent 28%),
    linear-gradient(180deg,rgba(3,12,8,.48),rgba(2,10,7,.68))!important;
  border:1px solid rgba(89,255,154,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

body.caio-emerald-ui .topbar.glass-topbar,
body.caio-emerald-ui .premium-topbar{
  min-height:82px;
  padding:18px 22px!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 70% 0%,rgba(35,213,107,.09),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.068),rgba(255,255,255,.028))!important;
}

body.caio-emerald-ui .top-right::before{
  content:"●  Ao vivo";
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:38px;
  padding:0 16px;
  margin-right:10px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(89,255,154,.16);
  color:#eaffef;
  font-weight:800;
  font-size:.82rem;
  box-shadow:0 0 0 1px rgba(35,213,107,.08),0 14px 34px rgba(0,0,0,.28);
  text-shadow:0 0 14px rgba(35,213,107,.28);
  animation:liveGlow 4.4s ease-in-out infinite;
}

@keyframes liveGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(35,213,107,.08),0 14px 34px rgba(0,0,0,.28)}
  50%{box-shadow:0 0 0 1px rgba(35,213,107,.24),0 14px 34px rgba(0,0,0,.28),0 0 24px rgba(35,213,107,.18)}
}

body.caio-emerald-ui .user-avatar,
body.caio-emerald-ui #topbarAvatar{
  background:linear-gradient(135deg,#27e476,#0b8c46)!important;
  color:#111827!important;
  box-shadow:0 18px 42px rgba(35,213,107,.24),0 0 0 1px rgba(176,255,205,.24)!important;
}

body.caio-emerald-ui .sidebar{
  width:270px;
}

body.caio-emerald-ui .brand-logo-shell img,
body.caio-emerald-ui .logo img{
  filter:drop-shadow(0 0 18px rgba(37,239,121,.18));
}

body.caio-emerald-ui #dashboard.page.active,
body.caio-emerald-ui #dashboard{
  display:grid!important;
  grid-template-columns:minmax(210px,300px) minmax(420px,1fr) minmax(320px,430px);
  gap:18px;
  align-items:stretch;
  color:var(--cmd-text)!important;
}

body.caio-emerald-ui #dashboardTopHero{
  grid-column:1 / -1;
  min-height:354px;
  align-items:stretch;
}

body.caio-emerald-ui #dashboardTopHero .dashboard-hero-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:300px;
}

body.caio-emerald-ui #dashboardHeroTitle{
  margin:22px 0 10px!important;
  max-width:980px;
}

body.caio-emerald-ui #dashboardHeroSubtitle{
  max-width:930px;
  font-size:1rem!important;
}

body.caio-emerald-ui #dashboardHeroHighlights{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:22px!important;
}

body.caio-emerald-ui #dashboardHeroHighlights>*,
body.caio-emerald-ui .dashboard-hero-highlight,
body.caio-emerald-ui .dashboard-hero-metric{
  min-height:132px;
  padding:18px!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 88% 20%,rgba(35,213,107,.12),transparent 32%),
    rgba(255,255,255,.045)!important;
  border:1px solid rgba(89,255,154,.16)!important;
  box-shadow:var(--neon-inner),0 16px 44px rgba(0,0,0,.22)!important;
}

body.caio-emerald-ui .dashboard-hero-side{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}

body.caio-emerald-ui .dashboard-hero-side-card{
  min-height:108px;
  padding:18px 20px!important;
}

body.caio-emerald-ui .dashboard-hero-side-card h4{
  font-size:1.05rem!important;
  margin-bottom:8px!important;
}

body.caio-emerald-ui .dashboard-hero-side-card:first-child{
  position:relative;
  overflow:hidden;
}

body.caio-emerald-ui .dashboard-hero-side-card:first-child::before{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  width:76px;
  height:76px;
  border-radius:50%;
  border:1px solid rgba(35,213,107,.26);
  background:
    radial-gradient(circle,rgba(35,213,107,.86) 0 5px,transparent 6px),
    repeating-radial-gradient(circle,rgba(35,213,107,.22) 0 1px,transparent 1px 16px);
  box-shadow:0 0 34px rgba(35,213,107,.18);
  opacity:.92;
  animation:radarBreath 5.5s ease-in-out infinite;
}

@keyframes radarBreath{
  0%,100%{transform:scale(.95);opacity:.72}
  50%{transform:scale(1.04);opacity:1}
}

body.caio-emerald-ui .dashboard-hero-actions{
  margin-top:22px!important;
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap;
}

body.caio-emerald-ui .dashboard-hero-actions .btn,
body.caio-emerald-ui .btn{
  min-height:44px;
  border-radius:11px!important;
  font-weight:900!important;
  letter-spacing:-.01em;
}

body.caio-emerald-ui #dashboard>.stats-grid{
  grid-column:1;
  grid-row:2;
  display:flex!important;
  flex-direction:column;
  gap:12px!important;
}

body.caio-emerald-ui #dashboard>.stats-grid .stat{
  min-height:104px;
  padding:17px 18px!important;
  border-radius:16px!important;
}

body.caio-emerald-ui #dashboard>.stats-grid .stat .label{
  font-size:.78rem!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.caio-emerald-ui #dashboard>.stats-grid .stat strong{
  font-size:clamp(1.9rem,2.2vw,2.6rem)!important;
  line-height:1!important;
}

body.caio-emerald-ui #dashboard>.stats-grid .stat::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:16px;
  width:100px;
  height:42px;
  opacity:.98;
  background:
    linear-gradient(90deg,transparent 0 6%,rgba(35,213,107,.56) 6% 10%,transparent 10% 18%,rgba(35,213,107,.38) 18% 23%,transparent 23% 32%,rgba(35,213,107,.8) 32% 38%,transparent 38% 48%,rgba(35,213,107,.48) 48% 54%,transparent 54% 66%,rgba(35,213,107,.72) 66% 72%,transparent 72% 82%,rgba(35,213,107,.42) 82% 88%,transparent 88%);
  filter:drop-shadow(0 0 12px rgba(35,213,107,.22));
  mask-image:linear-gradient(to top,#000 0 74%,transparent 100%);
}

body.caio-emerald-ui #dashboard>.dashboard-map-card{
  grid-column:2;
  grid-row:2;
  min-height:454px;
  padding:18px!important;
  display:flex;
  flex-direction:column;
}

body.caio-emerald-ui #dashboardMapSummary{
  display:none!important;
}

body.caio-emerald-ui #dashboardMapPreviewPanel{
  flex:1 1 auto;
  min-height:375px!important;
  height:100%!important;
  border-radius:18px!important;
  border:1px solid rgba(89,255,154,.18)!important;
}

body.caio-emerald-ui #dashboardMapPreview{
  min-height:375px!important;
  height:100%!important;
}

body.caio-emerald-ui .dashboard-map-empty{
  color:rgba(240,255,245,.65)!important;
  background:rgba(3,12,8,.62)!important;
  border-color:rgba(89,255,154,.14)!important;
}

body.caio-emerald-ui #dashboard>.dashboard-insights-grid:nth-of-type(5){
  grid-column:3;
  grid-row:2;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}

body.caio-emerald-ui #dashboard>.dashboard-insights-grid:nth-of-type(5) .analytics-card{
  min-height:218px;
}

body.caio-emerald-ui .dashboard-chart-shell{
  background:
    radial-gradient(circle at 48% 48%,rgba(35,213,107,.08),transparent 48%),
    rgba(0,0,0,.22)!important;
  border:1px solid rgba(89,255,154,.11)!important;
  border-radius:18px!important;
  box-shadow:inset 0 0 34px rgba(35,213,107,.035)!important;
}

body.caio-emerald-ui .analytics-card-head strong,
body.caio-emerald-ui .card-head h3{
  color:#111827!important;
}

body.caio-emerald-ui .analytics-card-head span{
  color:rgba(240,255,245,.58)!important;
}

body.caio-emerald-ui #dashboard>.grid-2:nth-of-type(3){
  grid-column:1 / span 2;
  grid-row:3;
}

body.caio-emerald-ui #dashboard>.grid-2:nth-of-type(4){
  grid-column:3;
  grid-row:3;
  grid-template-columns:1fr!important;
}

body.caio-emerald-ui #dashboard>.dashboard-insights-grid:nth-of-type(6){
  grid-column:1 / span 2;
  grid-row:4;
}

body.caio-emerald-ui #dashboard>.dashboard-insights-grid:nth-of-type(7){
  grid-column:3;
  grid-row:4;
  grid-template-columns:1fr!important;
}

body.caio-emerald-ui #dashboard>.hero-card{
  grid-column:1 / -1;
  grid-row:5;
  background:
    radial-gradient(circle at 80% 0%,rgba(35,213,107,.22),transparent 34%),
    linear-gradient(135deg,rgba(9,96,48,.78),rgba(2,20,12,.92))!important;
  border-color:rgba(89,255,154,.22)!important;
}

body.caio-emerald-ui .grid-2{
  gap:18px!important;
}

body.caio-emerald-ui .card-head{
  border-bottom:1px solid rgba(89,255,154,.10)!important;
  padding-bottom:12px!important;
  margin-bottom:14px!important;
}

body.caio-emerald-ui .card-head-action{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(89,255,154,.17)!important;
  color:#dffff0!important;
  border-radius:11px!important;
  box-shadow:0 12px 34px rgba(0,0,0,.25)!important;
}

body.caio-emerald-ui .card-head-action:hover{
  background:rgba(35,213,107,.16)!important;
  border-color:rgba(89,255,154,.36)!important;
}

body.caio-emerald-ui .badge,
body.caio-emerald-ui .status-badge,
body.caio-emerald-ui .tag{
  background:rgba(35,213,107,.13)!important;
  color:#cffff0!important;
  border:1px solid rgba(89,255,154,.2)!important;
}

body.caio-emerald-ui .badge.urgent,
body.caio-emerald-ui .status-urgente,
body.caio-emerald-ui .urgente{
  background:rgba(255,70,70,.14)!important;
  color:#ffb5b5!important;
  border-color:rgba(255,70,70,.32)!important;
  box-shadow:0 0 18px rgba(255,70,70,.12);
}

body.caio-emerald-ui .badge.warning,
body.caio-emerald-ui .em-analise,
body.caio-emerald-ui .status-atencao{
  background:rgba(246,173,39,.14)!important;
  color:#ffd98a!important;
  border-color:rgba(246,173,39,.32)!important;
  box-shadow:0 0 18px rgba(246,173,39,.12);
}

body.caio-emerald-ui .badge.info,
body.caio-emerald-ui .status-resolvido,
body.caio-emerald-ui .resolvido{
  background:rgba(47,131,255,.14)!important;
  color:#bcd5ff!important;
  border-color:rgba(47,131,255,.32)!important;
  box-shadow:0 0 18px rgba(47,131,255,.12);
}

body.caio-emerald-ui table{
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden;
  border-radius:16px!important;
}

body.caio-emerald-ui thead th{
  background:rgba(35,213,107,.075)!important;
}

body.caio-emerald-ui tbody tr{
  transition:background .22s ease,transform .22s ease;
}

body.caio-emerald-ui tbody tr:hover{
  transform:translateY(-1px);
}

body.caio-emerald-ui .stack>*{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(89,255,154,.12)!important;
  color:var(--cmd-text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 34px rgba(0,0,0,.18)!important;
}

body.caio-emerald-ui .stack>* strong{
  color:#111827!important;
}

body.caio-emerald-ui #dashboardBairroRank>*,
body.caio-emerald-ui #dashboardAgendaList>*,
body.caio-emerald-ui #dashboardBaseStats>*,
body.caio-emerald-ui #beforeAfterList>*{
  background:rgba(255,255,255,.05)!important;
  border:1px solid rgba(89,255,154,.14)!important;
}

body.caio-emerald-ui .leaflet-marker-icon:not(.go-map-custom-marker)::after,
body.caio-emerald-ui .caio-map-pin::after{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(35,213,107,.26),transparent 62%);
  z-index:-1;
  animation:pinHalo 2.9s ease-in-out infinite;
}

@keyframes pinHalo{
  0%,100%{transform:scale(.84);opacity:.42}
  50%{transform:scale(1.18);opacity:.12}
}

body.caio-emerald-ui .map-legend .legend-item,
body.caio-emerald-ui .dashboard-map-legend .legend-item{
  color:rgba(240,255,245,.82)!important;
}

body.caio-emerald-ui .map-legend .dot,
body.caio-emerald-ui .dashboard-map-legend .dot{
  box-shadow:0 0 14px currentColor;
}

body.caio-emerald-ui canvas{
  filter:drop-shadow(0 0 14px rgba(35,213,107,.08));
}

body.caio-emerald-ui button,
body.caio-emerald-ui .btn,
body.caio-emerald-ui a.btn{
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease!important;
}

body.caio-emerald-ui button:hover,
body.caio-emerald-ui .btn:hover,
body.caio-emerald-ui a.btn:hover{
  transform:translateY(-1px);
}

body.caio-emerald-ui .btn-soft,
body.caio-emerald-ui button:not(.btn-primary):not(.primary){
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(89,255,154,.16)!important;
  color:#e7ffef!important;
}

body.caio-emerald-ui .btn-soft:hover,
body.caio-emerald-ui button:not(.btn-primary):not(.primary):hover{
  background:rgba(35,213,107,.12)!important;
  border-color:rgba(89,255,154,.32)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.26),0 0 26px rgba(35,213,107,.12)!important;
}

@media (max-width:1440px){
  body.caio-emerald-ui #dashboard.page.active,
  body.caio-emerald-ui #dashboard{
    grid-template-columns:minmax(190px,260px) minmax(390px,1fr) minmax(300px,380px);
  }
}

@media (max-width:1180px){
  body.caio-emerald-ui #dashboard.page.active,
  body.caio-emerald-ui #dashboard{
    grid-template-columns:1fr!important;
  }
  body.caio-emerald-ui #dashboard>*{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.caio-emerald-ui #dashboard>.stats-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.caio-emerald-ui #dashboardHeroHighlights{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:720px){
  body.caio-emerald-ui .top-right::before{display:none}
  body.caio-emerald-ui #dashboard>.stats-grid,
  body.caio-emerald-ui #dashboardHeroHighlights{
    grid-template-columns:1fr!important;
  }
  body.caio-emerald-ui #dashboardMapPreviewPanel,
  body.caio-emerald-ui #dashboardMapPreview{
    min-height:320px!important;
  }
}

/* ========================================================================
   HARD DARK GLASS OVERRIDE - no white panels in the app shell/dashboard.
   This is intentionally very specific to beat old light CSS without
   changing JS, IDs, Firebase, Leaflet or routes.
   ======================================================================== */

html body.caio-emerald-ui #appShell,
html body.caio-emerald-ui #appShell .main,
html body.caio-emerald-ui #appShell .main .content,
html body.caio-emerald-ui #appShell .main .premium-content{
  background:
    radial-gradient(circle at 72% 4%,rgba(28,210,102,.14),transparent 31%),
    radial-gradient(circle at 10% 82%,rgba(28,210,102,.10),transparent 34%),
    linear-gradient(135deg,#010504 0%,#03100b 46%,#06170f 100%)!important;
  background-color:#020806!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios){
  background:transparent!important;
  color:#f2fff6!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active{
  background:
    radial-gradient(circle at 58% 12%,rgba(35,213,107,.105),transparent 35%),
    linear-gradient(135deg,rgba(1,7,5,.22),rgba(3,14,9,.48))!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active > .stats-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-column:1 / -1!important;
  grid-row:auto!important;
  gap:18px!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active > .dashboard-map-card{
  grid-column:1 / span 2!important;
  grid-row:auto!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active > .grid-2,
html body.caio-emerald-ui #appShell .main .content #dashboard.page.active > .dashboard-insights-grid{
  grid-column:auto!important;
  grid-row:auto!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .card,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .panel,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .content-card,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .module-card,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .analytics-card,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .table-wrap,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .dashboard-chart-shell,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .stack > *,
html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card,
html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat,
html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .stats-grid > .card.stat,
html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .dashboard-map-card{
  background:
    radial-gradient(circle at 86% 8%,rgba(41,235,118,.115),transparent 33%),
    linear-gradient(145deg,rgba(255,255,255,.068),rgba(255,255,255,.018)),
    rgba(2,9,7,.86)!important;
  background-color:rgba(2,9,7,.86)!important;
  border:1px solid rgba(94,255,159,.18)!important;
  color:#f4fff7!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    inset 0 0 54px rgba(35,213,107,.035),
    0 26px 86px rgba(0,0,0,.52),
    0 0 64px rgba(35,213,107,.085)!important;
  backdrop-filter:blur(24px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(145%)!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat{
  min-height:138px!important;
  padding:22px 24px!important;
  border-radius:18px!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,rgba(255,255,255,.09),transparent 36%),
    radial-gradient(circle at 92% 18%,rgba(34,213,108,.16),transparent 25%);
  opacity:.95;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat .label,
html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat span,
html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat small{
  color:rgba(231,255,239,.74)!important;
  position:relative;
  z-index:1;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat strong{
  color:#ffffff!important;
  position:relative;
  z-index:1;
  font-size:clamp(2rem,2.7vw,3.1rem)!important;
  text-shadow:0 0 26px rgba(35,213,107,.18)!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat .label{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

html body.caio-emerald-ui #appShell .main .content #dashboard.page.active .card.stat .label::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#24ef79;
  box-shadow:0 0 16px rgba(36,239,121,.72);
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .card *,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .panel *,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) .content-card *{
  border-color:rgba(94,255,159,.14);
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) h1,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) h2,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) h3,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) h4,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) strong{
  color:#ffffff!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) p,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) small,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) span:not(.badge):not(.status-badge):not(.tag){
  color:rgba(233,255,240,.72)!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) input,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) select,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) textarea{
  background:rgba(0,0,0,.32)!important;
  background-color:rgba(0,0,0,.32)!important;
  border:1px solid rgba(94,255,159,.20)!important;
  color:#f4fff7!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) table,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) thead,
html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) tbody{
  background:rgba(2,9,7,.68)!important;
  background-color:rgba(2,9,7,.68)!important;
  color:#f4fff7!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) th{
  background:rgba(35,213,107,.10)!important;
  background-color:rgba(35,213,107,.10)!important;
  color:rgba(234,255,241,.82)!important;
  border-color:rgba(94,255,159,.12)!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) td{
  background:rgba(2,9,7,.34)!important;
  background-color:rgba(2,9,7,.34)!important;
  color:rgba(244,255,247,.88)!important;
  border-color:rgba(94,255,159,.09)!important;
}

html body.caio-emerald-ui #appShell .main .content .page:not(#oficios) tr:hover td{
  background:rgba(35,213,107,.07)!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboardMapPreviewPanel,
html body.caio-emerald-ui #appShell .main .content #dashboardMapPreview,
html body.caio-emerald-ui #appShell .main .content #mainMap,
html body.caio-emerald-ui #appShell .main .content #map,
html body.caio-emerald-ui #appShell .main .content .leaflet-container{
  background:#020806!important;
  background-color:#020806!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboardMapPreviewPanel{
  border:1px solid rgba(94,255,159,.22)!important;
  box-shadow:
    inset 0 0 60px rgba(35,213,107,.05),
    0 28px 90px rgba(255,255,255,0.05),
    0 0 70px rgba(35,213,107,.12)!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboardMapPreviewPanel .leaflet-tile,
html body.caio-emerald-ui #appShell .main .content .leaflet-tile{
  filter:brightness(.48) contrast(1.38) saturate(.78) hue-rotate(72deg)!important;
}

html body.caio-emerald-ui #appShell .main .content #dashboardMapPreviewPanel::before{
  background:
    linear-gradient(rgba(94,255,159,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(94,255,159,.048) 1px,transparent 1px),
    radial-gradient(circle at 52% 52%,transparent 0 45%,rgba(0,0,0,.52) 100%)!important;
  background-size:58px 58px,58px 58px,auto!important;
}

/* Re-apply printable document safety after the hard override. */
html body.caio-emerald-ui #oficioPreview,
html body.caio-emerald-ui .oficio-preview,
html body.caio-emerald-ui .oficio-a4,
html body.caio-emerald-ui .oficio-document,
html body.caio-emerald-ui .document-a4,
html body.caio-emerald-ui .paper-a4,
html body.caio-emerald-ui .a4-page,
html body.caio-emerald-ui .word-page{
  background:#fff!important;
  background-color:#111827!important;
  color:#f3f4f6!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* ========================================================================
   GLOBAL DARK NEON DESIGN SYSTEM - V5
   Single source of visual truth for the whole system. This block is
   intentionally global and visual-only: no routes, Firebase, IDs or events.
   ======================================================================== */

:root{
  --bg-primary:#050505;
  --bg-secondary:#07110b;
  --bg-tertiary:#081510;
  --bg-elevated:#0b1812;
  --glass-bg:linear-gradient(145deg,rgba(255,255,255,.072),rgba(255,255,255,.022)),rgba(3,12,8,.86);
  --glass-bg-strong:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.028)),rgba(2,9,7,.94);
  --glass-bg-soft:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.016)),rgba(4,14,10,.72);
  --border-neon:rgba(92,255,157,.18);
  --border-neon-strong:rgba(92,255,157,.34);
  --glow-green:0 0 0 1px rgba(92,255,157,.14),0 28px 90px rgba(0,0,0,.52),0 0 74px rgba(29,211,102,.11);
  --glow-green-soft:0 0 0 1px rgba(92,255,157,.10),0 18px 52px rgba(0,0,0,.42),0 0 34px rgba(29,211,102,.07);
  --inner-glass:inset 0 1px 0 rgba(255,255,255,.075),inset 0 0 48px rgba(35,213,107,.035);
  --text-primary:#f5fff7;
  --text-secondary:rgba(238,255,244,.74);
  --text-muted:rgba(238,255,244,.54);
  --neon-green:#24ef79;
  --neon-green-2:#16b95c;
  --neon-red:#ff4d4d;
  --neon-yellow:#f6ad27;
  --neon-blue:#2f83ff;
  --neon-purple:#8e5cff;
}

html body.caio-emerald-ui,
html body.caio-emerald-ui.caio-emerald-ui{
  background:
    radial-gradient(circle at 74% 6%,rgba(36,239,121,.14),transparent 30%),
    radial-gradient(circle at 14% 88%,rgba(19,171,85,.12),transparent 34%),
    radial-gradient(circle at 52% 44%,rgba(36,239,121,.045),transparent 44%),
    linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 46%,var(--bg-tertiary) 100%)!important;
  background-color:var(--bg-primary)!important;
  color:var(--text-primary)!important;
}

html body.caio-emerald-ui *{
  scrollbar-color:rgba(92,255,157,.42) rgba(0,0,0,.18);
}

html body.caio-emerald-ui *::-webkit-scrollbar{width:9px;height:9px}
html body.caio-emerald-ui *::-webkit-scrollbar-track{background:rgba(0,0,0,.18)}
html body.caio-emerald-ui *::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(36,239,121,.46),rgba(13,120,62,.62));
  border-radius:999px;
  border:2px solid rgba(0,0,0,.2);
}

html body.caio-emerald-ui #appShell,
html body.caio-emerald-ui .app-shell,
html body.caio-emerald-ui .main,
html body.caio-emerald-ui main,
html body.caio-emerald-ui .content,
html body.caio-emerald-ui .premium-content,
html body.caio-emerald-ui .page,
html body.caio-emerald-ui .page.active,
html body.caio-emerald-ui .page-content,
html body.caio-emerald-ui .workspace,
html body.caio-emerald-ui .container,
html body.caio-emerald-ui .container-fluid,
html body.caio-emerald-ui .app-main{
  background:
    radial-gradient(circle at 75% 0%,rgba(36,239,121,.10),transparent 34%),
    radial-gradient(circle at 8% 92%,rgba(20,160,80,.08),transparent 35%),
    linear-gradient(135deg,rgba(2,8,6,.86),rgba(5,16,11,.94))!important;
  background-color:#020806!important;
  color:var(--text-primary)!important;
}

html body.caio-emerald-ui #appShell .content,
html body.caio-emerald-ui #appShell .premium-content,
html body.caio-emerald-ui #appShell .page,
html body.caio-emerald-ui .main .content{
  border-color:rgba(92,255,157,.08)!important;
}

html body.caio-emerald-ui :is(
  .card,.panel,.box,.tile,.widget,.surface,.module,.module-card,.content-card,.section-card,.page-card,.metric-card,.analytics-card,
  .stats-card,.summary-card,.protocol-card,.timeline-card,.list-card,.filter-card,.form-card,.data-card,.info-card,.hero-card,
  .dashboard-card,.dashboard-map-card,.dashboard-top-hero,.dashboard-hero-side-card,.dashboard-hero-spotlight,.dashboard-chart-shell,
  .table-wrap,.table-card,.toolbar,.filters,.filter-bar,.filter-panel,.search-box,.actions-bar,.command-bar,.upload-card,
  .calendar-card,.event-card,.whatsapp-card,.contact-card,.person-card,.citizen-card,.crm-card,.map-panel,.map-shell,.map-card,
  .modal-content,.modal-card,.dialog,.drawer,.drawer-content,.offcanvas,.popup,.popover,.dropdown-menu,.menu-panel,
  .stack-item,.rank-item,.list-item,.timeline-item,.record-item,.history-item,.notification-item
):not(.oficio-preview):not(.oficio-a4):not(.oficio-document):not(.document-a4):not(.paper-a4):not(.a4-page):not(.word-page):not(.nav-item):not(.nav-subitem):not(.menu-group):not(.menu-group-toggle):not(.menu-title-safe):not(.caio-menu-label):not(.caio-menu-icon):not(.menu-chevron){
  background:var(--glass-bg)!important;
  background-color:rgba(3,12,8,.86)!important;
  border:1px solid var(--border-neon)!important;
  color:var(--text-primary)!important;
  box-shadow:var(--inner-glass),var(--glow-green-soft)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
}

html body.caio-emerald-ui :is(
  [class*="card"],[class*="Card"],[class*="panel"],[class*="Panel"],[class*="box"],[class*="Box"],
  [class*="surface"],[class*="Surface"],[class*="container"],[class*="Container"],
  [class*="bg-white"],[class*="bg-gray"],[class*="bg-slate"],[class*="bg-zinc"],[class*="bg-neutral"]
):not(.oficio-preview):not(.oficio-a4):not(.oficio-document):not(.document-a4):not(.paper-a4):not(.a4-page):not(.word-page):not(.login-card):not(.login-card-premium){
  background:var(--glass-bg)!important;
  background-color:rgba(3,12,8,.86)!important;
  border-color:var(--border-neon)!important;
  color:var(--text-primary)!important;
}

html body.caio-emerald-ui :is(
  [style*="background:#fff"],[style*="background: #fff"],[style*="background-color:#111827"],[style*="background-color:#111827"],
  [style*="background:white"],[style*="background: white"],[style*="background-color:white"],[style*="background-color: white"],
  [style*="background: rgb(255"],[style*="background-color: rgb(255"]
):not(.oficio-preview):not(.oficio-a4):not(.oficio-document):not(.document-a4):not(.paper-a4):not(.a4-page):not(.word-page){
  background:var(--glass-bg)!important;
  background-color:rgba(3,12,8,.88)!important;
  color:var(--text-primary)!important;
}

html body.caio-emerald-ui :is(h1,h2,h3,h4,h5,h6,.title,.page-title,.section-title,.card-title,strong,b,label,legend,th){
  color:#ffffff!important;
  text-shadow:0 0 28px rgba(36,239,121,.07);
}

html body.caio-emerald-ui :is(p,small,span,td,li,dd,dt,.subtitle,.description,.muted,.text-muted,.hint,.help-text){
  color:var(--text-secondary)!important;
}

html body.caio-emerald-ui a:not(.btn){
  color:#bdfbd2!important;
}

html body.caio-emerald-ui :is(.card,.panel,.content-card,.module-card,.section-card,.analytics-card,.metric-card,.table-wrap,.filter-bar,.list-item,.stack-item):hover{
  border-color:var(--border-neon-strong)!important;
  box-shadow:var(--inner-glass),0 28px 90px rgba(0,0,0,.54),0 0 70px rgba(36,239,121,.14)!important;
}

/* Forms, filters and controls */
html body.caio-emerald-ui :is(input,select,textarea,.input,.select,.textarea,.form-control,.form-select,.search-input){
  background:linear-gradient(145deg,rgba(255,255,255,.048),rgba(255,255,255,.018)),rgba(0,0,0,.36)!important;
  background-color:rgba(0,0,0,.36)!important;
  border:1px solid rgba(92,255,157,.22)!important;
  color:var(--text-primary)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 34px rgba(0,0,0,.22)!important;
}

html body.caio-emerald-ui :is(input,select,textarea,.input,.select,.textarea,.form-control,.form-select,.search-input):focus{
  border-color:rgba(92,255,157,.54)!important;
  outline:none!important;
  box-shadow:0 0 0 4px rgba(36,239,121,.12),0 0 34px rgba(36,239,121,.12)!important;
}

html body.caio-emerald-ui :is(input,textarea)::placeholder{color:rgba(238,255,244,.44)!important}

html body.caio-emerald-ui select option,
html body.caio-emerald-ui option,
html body.caio-emerald-ui optgroup{
  background:#07110b!important;
  color:var(--text-primary)!important;
}

html body.caio-emerald-ui input[type="file"]::file-selector-button{
  background:rgba(36,239,121,.16)!important;
  border:1px solid rgba(92,255,157,.28)!important;
  color:#eaffef!important;
  border-radius:10px;
}

/* Buttons */
html body.caio-emerald-ui :is(button,.btn,a.btn,.button,[role="button"]):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out){
  border:1px solid rgba(92,255,157,.20)!important;
  color:#f5fff7!important;
  background:linear-gradient(145deg,rgba(255,255,255,.062),rgba(255,255,255,.018)),rgba(3,12,8,.82)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 42px rgba(0,0,0,.28)!important;
}

html body.caio-emerald-ui :is(.btn-primary,.primary,button.primary,.button-primary,[data-variant="primary"]){
  background:linear-gradient(135deg,#24d66e,#087a3b)!important;
  border-color:rgba(166,255,199,.30)!important;
  color:#111827!important;
  box-shadow:0 20px 58px rgba(36,239,121,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
}

html body.caio-emerald-ui :is(button,.btn,a.btn,.button,[role="button"]):hover{
  transform:translateY(-1px);
  border-color:rgba(92,255,157,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 20px 58px rgba(0,0,0,.34),0 0 34px rgba(36,239,121,.13)!important;
}

html body.caio-emerald-ui :is(.btn-danger,.danger,.delete,.excluir,[data-action="delete"]){
  background:linear-gradient(145deg,rgba(255,77,77,.20),rgba(255,77,77,.08)),rgba(20,4,4,.86)!important;
  border-color:rgba(255,77,77,.36)!important;
  color:#ffd0d0!important;
}

html body.caio-emerald-ui :is(.btn-warning,.warning,.edit,.editar,[data-action="edit"]){
  background:linear-gradient(145deg,rgba(246,173,39,.22),rgba(246,173,39,.08)),rgba(20,13,4,.86)!important;
  border-color:rgba(246,173,39,.38)!important;
  color:#ffe2a4!important;
}

html body.caio-emerald-ui :is(.btn-info,.info,.view,.visualizar,[data-action="view"]){
  background:linear-gradient(145deg,rgba(47,131,255,.20),rgba(47,131,255,.08)),rgba(4,9,20,.86)!important;
  border-color:rgba(47,131,255,.36)!important;
  color:#cfe0ff!important;
}

/* Tables */
html body.caio-emerald-ui :is(table,.data-table){
  background:rgba(3,12,8,.70)!important;
  border:1px solid rgba(92,255,157,.14)!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  color:var(--text-primary)!important;
}

html body.caio-emerald-ui thead,
html body.caio-emerald-ui thead tr,
html body.caio-emerald-ui thead th{
  background:linear-gradient(180deg,rgba(36,239,121,.12),rgba(36,239,121,.055))!important;
  background-color:rgba(36,239,121,.08)!important;
  color:rgba(244,255,247,.88)!important;
  border-color:rgba(92,255,157,.13)!important;
}

html body.caio-emerald-ui tbody,
html body.caio-emerald-ui tbody tr,
html body.caio-emerald-ui tbody td{
  background:rgba(2,9,7,.34)!important;
  background-color:rgba(2,9,7,.34)!important;
  color:rgba(244,255,247,.88)!important;
  border-color:rgba(92,255,157,.085)!important;
}

html body.caio-emerald-ui tbody tr:hover td{
  background:rgba(36,239,121,.075)!important;
  color:#111827!important;
}

/* Badges and status pills */
html body.caio-emerald-ui :is(.badge,.tag,.pill,.chip,.status,.status-badge,[class*="badge"],[class*="Badge"]){
  background:rgba(36,239,121,.13)!important;
  border:1px solid rgba(92,255,157,.22)!important;
  color:#d7ffe5!important;
  box-shadow:0 0 18px rgba(36,239,121,.08)!important;
}

html body.caio-emerald-ui :is(.urgent,.urgente,.atrasado,.erro,.error,.danger,.status-danger){
  background:rgba(255,77,77,.14)!important;
  border-color:rgba(255,77,77,.34)!important;
  color:#ffc7c7!important;
  box-shadow:0 0 20px rgba(255,77,77,.12)!important;
}

html body.caio-emerald-ui :is(.warning,.pendente,.em-analise,.status-warning,.atencao){
  background:rgba(246,173,39,.14)!important;
  border-color:rgba(246,173,39,.34)!important;
  color:#ffdc8e!important;
  box-shadow:0 0 20px rgba(246,173,39,.12)!important;
}

html body.caio-emerald-ui :is(.success,.resolvido,.finalizado,.enviado,.status-success){
  background:rgba(36,239,121,.14)!important;
  border-color:rgba(92,255,157,.34)!important;
  color:#c9ffdc!important;
}

html body.caio-emerald-ui :is(.info,.recebido,.visualizado,.status-info){
  background:rgba(47,131,255,.14)!important;
  border-color:rgba(47,131,255,.34)!important;
  color:#c8dcff!important;
}

/* Modals and overlays */
html body.caio-emerald-ui :is(.modal,.modal-overlay,.modal-backdrop,.overlay,.drawer-backdrop,.popup-backdrop){
  background:rgba(0,0,0,.72)!important;
  backdrop-filter:blur(12px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(125%)!important;
}

html body.caio-emerald-ui :is(.modal-content,.modal-card,.dialog,.drawer,.drawer-content,.popup,.popover){
  background:var(--glass-bg-strong)!important;
  background-color:rgba(2,9,7,.95)!important;
  border:1px solid rgba(92,255,157,.22)!important;
  color:var(--text-primary)!important;
  box-shadow:0 44px 130px rgba(0,0,0,.70),0 0 90px rgba(36,239,121,.13)!important;
}

/* Sidebar and headers */
html body.caio-emerald-ui :is(.sidebar,.side-menu,.navigation){
  background:
    radial-gradient(circle at 50% 4%,rgba(36,239,121,.16),transparent 26%),
    linear-gradient(180deg,rgba(1,17,9,.98),rgba(1,8,5,.995))!important;
  border-color:rgba(92,255,157,.16)!important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.04),20px 0 62px rgba(0,0,0,.36)!important;
}

html body.caio-emerald-ui :is(.topbar,.page-header,.header,.section-header,.card-head,.toolbar){
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),rgba(3,12,8,.80)!important;
  background-color:rgba(3,12,8,.80)!important;
  border-color:rgba(92,255,157,.15)!important;
  color:var(--text-primary)!important;
}

html body.caio-emerald-ui :is(.nav-item,.nav-link,.nav-subitem,.menu-group-toggle,.sidebar a){
  color:rgba(244,255,247,.88)!important;
}

html body.caio-emerald-ui :is(.nav-item.active,.nav-link.active,.nav-subitem.active,.menu-group-toggle.active,.menu-group.open > .menu-group-toggle){
  background:linear-gradient(135deg,rgba(36,239,121,.88),rgba(7,126,61,.78))!important;
  color:#111827!important;
  border-color:rgba(166,255,199,.26)!important;
  box-shadow:0 0 0 1px rgba(92,255,157,.22),0 18px 50px rgba(36,239,121,.20)!important;
}

/* Leaflet and maps */
html body.caio-emerald-ui :is(.leaflet-container,#dashboardMapPreview,#dashboardMapPreviewPanel,#mainMap,#map,.map-container){
  background:#020806!important;
  background-color:#020806!important;
  border-color:rgba(92,255,157,.20)!important;
}

html body.caio-emerald-ui .leaflet-tile{
  filter:brightness(.48) contrast(1.38) saturate(.78) hue-rotate(72deg)!important;
}

html body.caio-emerald-ui :is(.leaflet-control,.leaflet-control-zoom a,.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-control-attribution){
  background:rgba(2,9,7,.92)!important;
  background-color:rgba(2,9,7,.92)!important;
  border-color:rgba(92,255,157,.18)!important;
  color:var(--text-primary)!important;
  box-shadow:0 16px 46px rgba(0,0,0,.38)!important;
}

html body.caio-emerald-ui :is(.map-legend,.dashboard-map-legend,.legend){
  background:rgba(2,9,7,.78)!important;
  border:1px solid rgba(92,255,157,.18)!important;
  color:var(--text-primary)!important;
  box-shadow:0 18px 58px rgba(0,0,0,.42),0 0 34px rgba(36,239,121,.09)!important;
  backdrop-filter:blur(18px)!important;
}

html body.caio-emerald-ui :is(.caio-map-pin,.map-marker,.leaflet-marker-icon){
  filter:drop-shadow(0 0 12px rgba(36,239,121,.44)) drop-shadow(0 18px 30px rgba(255,255,255,0.05))!important;
}

html body.caio-emerald-ui .leaflet-marker-icon.go-map-custom-marker,
body.caio-emerald-ui .leaflet-marker-icon.go-map-custom-marker{
  filter:none!important;
  box-shadow:none!important;
}

html body.caio-emerald-ui .leaflet-marker-icon.go-map-custom-marker::before,
html body.caio-emerald-ui .leaflet-marker-icon.go-map-custom-marker::after,
body.caio-emerald-ui .leaflet-marker-icon.go-map-custom-marker::before,
body.caio-emerald-ui .leaflet-marker-icon.go-map-custom-marker::after{
  content:none!important;
  display:none!important;
}

/* Calendar, users, protocols, atendimentos, whatsapp and portal common blocks */
html body.caio-emerald-ui :is(
  .calendar-grid,.calendar-day,.event-list,.event-row,.user-row,.permission-row,.protocol-row,.atendimento-row,.demand-row,
  .whatsapp-panel,.whatsapp-queue,.contact-row,.message-row,.portal-card,.portal-section,.portal-panel,.public-card,.people-list,.person-row
){
  background:var(--glass-bg)!important;
  background-color:rgba(3,12,8,.84)!important;
  border:1px solid rgba(92,255,157,.16)!important;
  color:var(--text-primary)!important;
  box-shadow:var(--inner-glass),0 14px 42px rgba(0,0,0,.30)!important;
}

/* Final A4/oficio protection, kept after every global rule. */
html body.caio-emerald-ui #oficioPreview,
html body.caio-emerald-ui #oficioPreview *,
html body.caio-emerald-ui .oficio-preview,
html body.caio-emerald-ui .oficio-preview *,
html body.caio-emerald-ui .oficio-a4,
html body.caio-emerald-ui .oficio-a4 *,
html body.caio-emerald-ui .oficio-document,
html body.caio-emerald-ui .oficio-document *,
html body.caio-emerald-ui .document-a4,
html body.caio-emerald-ui .document-a4 *,
html body.caio-emerald-ui .paper-a4,
html body.caio-emerald-ui .paper-a4 *,
html body.caio-emerald-ui .a4-page,
html body.caio-emerald-ui .a4-page *,
html body.caio-emerald-ui .word-page,
html body.caio-emerald-ui .word-page *{
  background-color:#111827!important;
  color:#f3f4f6!important;
  text-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html body.caio-emerald-ui #oficioPreview,
html body.caio-emerald-ui .oficio-preview,
html body.caio-emerald-ui .oficio-a4,
html body.caio-emerald-ui .oficio-document,
html body.caio-emerald-ui .document-a4,
html body.caio-emerald-ui .paper-a4,
html body.caio-emerald-ui .a4-page,
html body.caio-emerald-ui .word-page{
  background:#fff!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
}

/* ========================================================================
   GLOBAL DARK NEON HARDENING - V6
   Final visual safety net for legacy pages that still carry white/blue UI.
   This remains CSS-only and intentionally avoids changing any behavior.
   ======================================================================== */

html body.caio-emerald-ui{
  --primary:#24ef79!important;
  --primary-600:#12a856!important;
  --primary-700:#087a3b!important;
  --accent:#24ef79!important;
  --blue:#24ef79!important;
  --brand:#24ef79!important;
  --surface:#06120d!important;
  --surface-2:#081510!important;
  --surface-3:#0b1812!important;
  --card:#06120d!important;
  --panel:#06120d!important;
  --white:rgba(5,18,13,.88)!important;
  --gray-50:#081510!important;
  --gray-100:#0b1812!important;
  --gray-200:rgba(92,255,157,.13)!important;
  --gray-700:rgba(238,255,244,.74)!important;
  --gray-900:#f5fff7!important;
  --text:#f5fff7!important;
  --muted:rgba(238,255,244,.58)!important;
}

html body.caio-emerald-ui::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 18%,rgba(36,239,121,.10),transparent 28%),
    radial-gradient(circle at 80% 0%,rgba(36,239,121,.12),transparent 34%),
    radial-gradient(circle at 52% 84%,rgba(15,135,70,.09),transparent 38%),
    linear-gradient(135deg,#050505,#07110b 48%,#0b1812);
}

html body.caio-emerald-ui::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(rgba(92,255,157,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,255,157,.020) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,transparent 0 44%,rgba(0,0,0,.28) 76%,rgba(0,0,0,.58) 100%);
  background-size:72px 72px,72px 72px,100% 100%;
  opacity:.65;
}

html body.caio-emerald-ui #appShell,
html body.caio-emerald-ui #appShell > :not(.sidebar),
html body.caio-emerald-ui .main-content,
html body.caio-emerald-ui .app-content,
html body.caio-emerald-ui .page-shell,
html body.caio-emerald-ui .page-body,
html body.caio-emerald-ui .module-content,
html body.caio-emerald-ui .workspace-body{
  background:
    radial-gradient(circle at 78% 4%,rgba(36,239,121,.09),transparent 28%),
    linear-gradient(135deg,rgba(2,8,6,.94),rgba(7,17,11,.98))!important;
  background-color:#020806!important;
  color:#f5fff7!important;
}

html body.caio-emerald-ui #appShell :is(
  .row,.grid,.grid-row,.cards,.cards-grid,.stats-grid,.summary-grid,.kpi-grid,.dashboard-grid,.analytics-grid,
  .form-grid,.filters-grid,.toolbar-grid,.list-grid,.content-grid,.kanban,.kanban-column,.tab-content,.tabs-content
){
  background:transparent!important;
  color:#f5fff7!important;
}

html body.caio-emerald-ui #appShell :is(
  .kpi,.kpi-card,.kpi-box,.kpi-item,.stat-card,.stat-box,.stat-item,.metric,.metric-box,.metric-item,
  .summary,.summary-box,.summary-item,.indicator,.indicator-card,.quick-card,.quick-action,.shortcut,
  .base-item,.base-card,.bairro-card,.district-card,.district-item,.crm-item,.crm-row,.people-card,
  .permission-box,.permission-card,.permission-tile,.permission-group,.module-box,.module-tile,
  .form-section,.field-group,.field-card,.fieldset,.form-block,.input-group,.upload-zone,.dropzone,
  .table-section,.table-shell,.table-container,.data-panel,.data-grid,.data-row,.data-cell,
  .search-results,.result-card,.empty-state,.alert,.notice,.callout,.toast,.toast-message,
  .tabs,.tab-list,.tab-pane,.tab-panel,.tab-card,.accordion,.accordion-item,.accordion-body,
  .timeline,.history-list,.history-card,.message-card,.chat-card,.chat-panel,.queue-card,.queue-item,
  .calendar-panel,.calendar-wrap,.calendar-container,.fc,.fc-view-harness,.fc-scrollgrid,.fc-daygrid-day,
  .map-wrap,.map-stage,.map-view,.map-box,.map-summary,.map-filter,.legend-card,.chart-card,.chart-box,
  .modal-header,.modal-body,.modal-footer,.drawer-header,.drawer-body,.drawer-footer
):not(.oficio-preview):not(.oficio-a4):not(.oficio-document):not(.document-a4):not(.paper-a4):not(.a4-page):not(.word-page){
  background:
    linear-gradient(145deg,rgba(255,255,255,.064),rgba(255,255,255,.018)),
    rgba(3,12,8,.86)!important;
  background-color:rgba(3,12,8,.86)!important;
  border-color:rgba(92,255,157,.18)!important;
  color:#f5fff7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 70px rgba(0,0,0,.34),0 0 52px rgba(36,239,121,.08)!important;
  backdrop-filter:blur(18px) saturate(142%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(142%)!important;
}

html body.caio-emerald-ui #appShell :is(
  .bg-white,.bg-light,.bg-gray,.bg-gray-50,.bg-gray-100,.bg-slate,.bg-slate-50,.bg-zinc-50,.bg-neutral-50,
  .text-bg-light,.white-card,.light-card,.light-panel,.clean-card,.saas-card,.soft-card,
  [class*="white"],[class*="White"],[class*="light"],[class*="Light"],
  [class*="gray"],[class*="Gray"],[class*="slate"],[class*="Slate"]
):not(.oficio-preview):not(.oficio-a4):not(.oficio-document):not(.document-a4):not(.paper-a4):not(.a4-page):not(.word-page):not(.logo-white):not(.nav-item):not(.nav-subitem):not(.menu-group):not(.menu-group-toggle):not(.menu-title-safe):not(.caio-menu-label):not(.caio-menu-icon):not(.menu-chevron){
  background:
    linear-gradient(145deg,rgba(255,255,255,.058),rgba(255,255,255,.016)),
    rgba(3,12,8,.88)!important;
  background-color:rgba(3,12,8,.88)!important;
  color:#f5fff7!important;
  border-color:rgba(92,255,157,.18)!important;
}

html body.caio-emerald-ui #appShell :is(
  [style*="#fff"],[style*="#FFF"],[style*="#ffffff"],[style*="#FFFFFF"],
  [style*="white"],[style*="rgb(255,255,255)"],[style*="rgb(255, 255, 255)"],
  [style*="#f8fcf9"],[style*="#eef7f0"],[style*="#eef4ef"],[style*="#f8fafc"],
  [style*="#f9fafb"],[style*="#f3f4f6"],[style*="#e5e7eb"],[style*="#f1f5f9"]
):not(.oficio-preview):not(.oficio-a4):not(.oficio-document):not(.document-a4):not(.paper-a4):not(.a4-page):not(.word-page):not(.nav-item):not(.nav-subitem):not(.menu-group):not(.menu-group-toggle):not(.menu-title-safe):not(.caio-menu-label):not(.caio-menu-icon):not(.menu-chevron){
  background:
    linear-gradient(145deg,rgba(255,255,255,.060),rgba(255,255,255,.018)),
    rgba(3,12,8,.90)!important;
  background-color:rgba(3,12,8,.90)!important;
  color:#f5fff7!important;
  border-color:rgba(92,255,157,.18)!important;
}

html body.caio-emerald-ui #appShell :is(.page-header,.topbar,.header-bar,.module-header,.content-header,.subheader){
  background:
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018)),
    rgba(2,9,7,.90)!important;
  background-color:rgba(2,9,7,.90)!important;
  border:1px solid rgba(92,255,157,.16)!important;
  color:#f5fff7!important;
  box-shadow:0 24px 80px rgba(0,0,0,.38),0 0 54px rgba(36,239,121,.08)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
}

html body.caio-emerald-ui #appShell :is(.table-wrap,.table-card,.table-container,.data-table-wrap){
  overflow:hidden;
}

html body.caio-emerald-ui #appShell :is(table,.table,.data-table,.permissions-table,.users-table,.protocols-table,.atendimentos-table){
  background:rgba(2,9,7,.76)!important;
  background-color:rgba(2,9,7,.76)!important;
  border:1px solid rgba(92,255,157,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 70px rgba(0,0,0,.34)!important;
}

html body.caio-emerald-ui #appShell :is(th,.table-head,.table-header){
  background:linear-gradient(180deg,rgba(36,239,121,.16),rgba(36,239,121,.06))!important;
  color:#f5fff7!important;
  border-color:rgba(92,255,157,.14)!important;
}

html body.caio-emerald-ui #appShell :is(td,.table-cell){
  background:rgba(2,9,7,.34)!important;
  color:rgba(245,255,247,.86)!important;
  border-color:rgba(92,255,157,.09)!important;
}

html body.caio-emerald-ui #appShell tr:hover :is(td,.table-cell){
  background:rgba(36,239,121,.09)!important;
  color:#111827!important;
}

html body.caio-emerald-ui #appShell :is(input,select,textarea,.form-control,.form-select,.search-input,.filter-input),
html body.caio-emerald-ui #appShell :is(.select2-selection,.choices,.choices__inner){
  background:rgba(1,8,5,.72)!important;
  background-color:rgba(1,8,5,.72)!important;
  color:#f5fff7!important;
  border:1px solid rgba(92,255,157,.22)!important;
}

html body.caio-emerald-ui #appShell :is(input,select,textarea,.form-control,.form-select,.search-input,.filter-input):disabled{
  background:rgba(255,255,255,.035)!important;
  color:rgba(245,255,247,.48)!important;
}

html body.caio-emerald-ui #appShell :is(.dropdown,.dropdown-content,.dropdown-menu,.select-menu,.autocomplete,.suggestions,.menu-list){
  background:rgba(2,9,7,.96)!important;
  background-color:rgba(2,9,7,.96)!important;
  border:1px solid rgba(92,255,157,.18)!important;
  color:#f5fff7!important;
  box-shadow:0 30px 90px rgba(0,0,0,.54),0 0 48px rgba(36,239,121,.10)!important;
}

html body.caio-emerald-ui #appShell :is(.dropdown-item,.suggestion-item,.menu-option,.option-row):hover{
  background:rgba(36,239,121,.12)!important;
  color:#111827!important;
}

html body.caio-emerald-ui #appShell :is(.btn-light,.btn-secondary,.btn-outline,.outline,.ghost,.filter-btn,.export-btn){
  background:rgba(2,9,7,.78)!important;
  background-color:rgba(2,9,7,.78)!important;
  color:#f5fff7!important;
  border-color:rgba(92,255,157,.22)!important;
}

html body.caio-emerald-ui #appShell :is(.btn-success,.btn-green,.new-btn,.add-btn,.save-btn,.submit-btn){
  background:linear-gradient(135deg,#25d36d,#08783a)!important;
  background-color:#128a45!important;
  color:#111827!important;
  border-color:rgba(166,255,199,.30)!important;
}

html body.caio-emerald-ui #appShell :is(.badge,.tag,.chip,.pill,.status,.status-badge){
  border-radius:999px;
  font-weight:800;
  letter-spacing:.01em;
}

html body.caio-emerald-ui #appShell :is(.leaflet-container,.map-container,.map-preview,.map-canvas,.map-area){
  background:#020806!important;
  box-shadow:inset 0 0 0 1px rgba(92,255,157,.16),inset 0 0 80px rgba(36,239,121,.08),0 24px 90px rgba(0,0,0,.44)!important;
}

html body.caio-emerald-ui #appShell :is(.leaflet-pane,.leaflet-map-pane){
  background:#020806!important;
}

html body.caio-emerald-ui #appShell .leaflet-container::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:450;
  pointer-events:none;
  background:
    linear-gradient(rgba(92,255,157,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,255,157,.032) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,transparent 0 45%,rgba(0,0,0,.25) 78%,rgba(0,0,0,.48) 100%);
  background-size:64px 64px,64px 64px,100% 100%;
  mix-blend-mode:screen;
  opacity:.46;
}

html body.caio-emerald-ui #appShell :is(.fc-theme-standard td,.fc-theme-standard th,.fc-scrollgrid){
  border-color:rgba(92,255,157,.12)!important;
}

html body.caio-emerald-ui #appShell .fc-daygrid-day-number,
html body.caio-emerald-ui #appShell .fc-col-header-cell-cushion{
  color:#f5fff7!important;
}

html body.caio-emerald-ui #appShell :is(.modal-backdrop,.modal-overlay,.overlay,.drawer-backdrop){
  background:rgba(0,0,0,.74)!important;
  backdrop-filter:blur(16px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(120%)!important;
}

html body.caio-emerald-ui #appShell :is(.modal-content,.modal-card,.drawer,.drawer-content,.dialog,.popup){
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.022)),
    rgba(2,9,7,.96)!important;
  background-color:rgba(2,9,7,.96)!important;
  border:1px solid rgba(92,255,157,.24)!important;
  color:#f5fff7!important;
  box-shadow:0 50px 150px rgba(0,0,0,.76),0 0 110px rgba(36,239,121,.16)!important;
}

html body.caio-emerald-ui #appShell :is(.sidebar,.side-menu){
  background:
    radial-gradient(circle at 50% 3%,rgba(36,239,121,.17),transparent 28%),
    linear-gradient(180deg,#03160b,#010805 70%,#000503)!important;
  border-right:1px solid rgba(92,255,157,.18)!important;
}

html body.caio-emerald-ui #appShell .sidebar :is(.menu-section-title,.nav-section-title,.section-label){
  color:rgba(238,255,244,.42)!important;
}

html body.caio-emerald-ui #appShell .sidebar :is(a,button,.nav-item,.nav-link,.menu-item,.menu-group-toggle){
  color:rgba(245,255,247,.88)!important;
}

html body.caio-emerald-ui #appShell .sidebar :is(a:hover,button:hover,.nav-item:hover,.nav-link:hover,.menu-item:hover,.menu-group-toggle:hover){
  background:rgba(36,239,121,.11)!important;
  color:#111827!important;
}

html body.caio-emerald-ui #appShell .sidebar :is(.active,[aria-current="page"],.is-active){
  background:linear-gradient(135deg,rgba(36,239,121,.88),rgba(8,122,58,.78))!important;
  color:#111827!important;
  box-shadow:0 0 0 1px rgba(166,255,199,.22),0 16px 44px rgba(36,239,121,.18)!important;
}

html body.caio-emerald-ui #appShell img:not(.leaflet-tile):not(.oficio-preview img):not(.oficio-a4 img):not(.document-a4 img){
  filter:saturate(1.04) contrast(1.02);
}

html body.caio-emerald-ui #appShell .logo-card,
html body.caio-emerald-ui #appShell .brand-card{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(92,255,157,.16)!important;
}

/* Keep printable/official documents white and legible. */
html body.caio-emerald-ui #appShell :is(#oficioPreview,.oficio-preview,.oficio-a4,.oficio-document,.document-a4,.paper-a4,.a4-page,.word-page),
html body.caio-emerald-ui #appShell :is(#oficioPreview,.oficio-preview,.oficio-a4,.oficio-document,.document-a4,.paper-a4,.a4-page,.word-page) *{
  background-color:#111827!important;
  color:#f3f4f6!important;
  border-color:#e5e7eb!important;
  box-shadow:none!important;
  text-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html body.caio-emerald-ui #appShell :is(#oficioPreview,.oficio-preview,.oficio-a4,.oficio-document,.document-a4,.paper-a4,.a4-page,.word-page){
  background:#fff!important;
  box-shadow:0 28px 80px rgba(0,0,0,.32)!important;
}

/* WhatsApp + Usuarios black command layer - V7
   This stays visual-only and overrides the old white/blue module skins. */
html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell){
  background:
    radial-gradient(circle at 12% 0%,rgba(36,239,121,.12),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(25,164,91,.10),transparent 30%),
    linear-gradient(135deg,#010302 0%,#050b07 42%,#08130d 100%)!important;
  background-color:#010504!important;
  color:#f6fff8!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell)::before{
  opacity:.42!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  .wa-card,.wa-stat,.wa-toast,.wa-modal,.wa-hero-copy,.wa-hero-total,.wa-stage-btn,.wa-stage-summary,
  .wa-stage-pill,.wa-stage-panel,.wa-source-card,.wa-file-zone,.wa-api-card,.wa-api-status,.wa-inline-note,
  .wa-preview,.wa-preview-body,.wa-photo-chip,.wa-filter,.wa-queue,.wa-row,.wa-log,.wa-log div,.wa-empty,
  .users-admin-card,.users-list-card,.users-hero,.users-badge,.users-stat-card,.permission-warning,
  .permissions-shell,.permissions-toolbar,.permissions-counter,.perm-preset-btn,.perm-group,.perm-check,
  .users-list-head,.users-list-toolbar,.table-wrap,.card,.panel,.box,.section,.content-card,.module-card
){
  background:
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022)),
    radial-gradient(circle at top right,rgba(36,239,121,.075),transparent 34%),
    rgba(2,9,7,.88)!important;
  background-color:rgba(2,9,7,.88)!important;
  border:1px solid rgba(92,255,157,.18)!important;
  color:#f6fff8!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 22px 70px rgba(0,0,0,.42),
    0 0 52px rgba(36,239,121,.055)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  .wa-hero-copy,.wa-card,.wa-stat,.wa-row,.wa-source-card,.wa-stage-btn,.wa-stage-pill,
  .users-admin-card,.users-list-card,.users-stat-card,.perm-group,.perm-check
):hover{
  border-color:rgba(123,255,177,.30)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 28px 90px rgba(0,0,0,.52),
    0 0 80px rgba(36,239,121,.10)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  h1,h2,h3,h4,h5,h6,strong,b,.card-head h3,.card-head h4,.users-hero h3,.users-card-head strong,
  .users-panel-title strong,.perm-group-head strong,.perm-check-copy strong,.wa-card h3,.wa-hero-copy h3,
  .wa-stage-btn span,.wa-stage-summary-head strong,.wa-stage-pill strong,.wa-row-main strong,.wa-stat strong,
  .wa-hero-total strong
){
  color:#f7fff9!important;
  text-shadow:0 0 18px rgba(36,239,121,.10)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  p,small,span,label,td,th,li,.muted,.helper,.hint,.wa-card p,.wa-card small,.wa-hero-copy p,
  .wa-stage-btn small,.wa-stage-summary-head p,.wa-stage-pill span,.wa-row-meta,.users-hero p,
  .card-head small,.field small,.users-panel-title small,.perm-group-head small,.perm-check-copy small
){
  color:rgba(235,255,241,.74)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,#waSearch,.wa-field input,.wa-field textarea,.wa-field select,
  .users-search-field,.form-control,.form-select
){
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),
    rgba(1,8,5,.86)!important;
  background-color:rgba(1,8,5,.86)!important;
  border:1px solid rgba(92,255,157,.24)!important;
  color:#f6fff8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 38px rgba(0,0,0,.22)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,#waSearch,.wa-field input,.wa-field textarea,.wa-field select,
  .users-search-field,.form-control,.form-select
)::placeholder{
  color:rgba(235,255,241,.46)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,#waSearch,.wa-field input,.wa-field textarea,.wa-field select,
  .users-search-field,.form-control,.form-select
):focus{
  border-color:rgba(123,255,177,.56)!important;
  box-shadow:0 0 0 4px rgba(36,239,121,.14),0 18px 50px rgba(0,0,0,.30)!important;
  outline:none!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) option{
  background:#020806!important;
  color:#f6fff8!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  .btn,.wa-btn,.wa-stage-btn,.wa-filter,.perm-preset-btn,.btn-soft,.button,.action-btn
){
  border-color:rgba(92,255,157,.22)!important;
  color:#f7fff9!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  .btn-primary,.btn-success,.wa-btn.primary,.wa-filter.active,.wa-stage-btn.active,.btn-green,.save-btn,.submit-btn
){
  background:linear-gradient(135deg,#23d56d,#08783a)!important;
  background-color:#118943!important;
  border-color:rgba(166,255,199,.34)!important;
  color:#111827!important;
  box-shadow:0 18px 48px rgba(36,239,121,.22),inset 0 1px 0 rgba(255,255,255,.16)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  .btn-soft,.perm-preset-btn,.wa-filter:not(.active),.wa-stage-btn:not(.active),.wa-btn.secondary,.btn-outline
){
  background:rgba(2,9,7,.76)!important;
  background-color:rgba(2,9,7,.76)!important;
  border-color:rgba(92,255,157,.22)!important;
  color:rgba(246,255,248,.88)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  .wa-stage-btn b,.wa-preview-top,.perm-check input[type="checkbox"]:checked + .perm-check-indicator,
  .users-kicker,.wa-tag,.tag.green,.badge.green,.pill.green
){
  background:linear-gradient(135deg,rgba(36,239,121,.94),rgba(8,122,58,.88))!important;
  color:#111827!important;
  border-color:rgba(166,255,199,.32)!important;
  box-shadow:0 14px 38px rgba(36,239,121,.20)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) .perm-check-indicator{
  background:rgba(1,8,5,.88)!important;
  border-color:rgba(92,255,157,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  table,.users-table,.permissions-table
){
  background:rgba(2,9,7,.86)!important;
  border-color:rgba(92,255,157,.18)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(th){
  background:linear-gradient(180deg,rgba(36,239,121,.14),rgba(36,239,121,.045))!important;
  color:#f7fff9!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(td){
  background:rgba(2,9,7,.40)!important;
  color:rgba(246,255,248,.84)!important;
  border-color:rgba(92,255,157,.10)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) tbody tr:hover td{
  background:rgba(36,239,121,.10)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(
  .wa-badge,.tag,.badge,.chip,.pill,.wa-api-status
){
  border:1px solid rgba(92,255,157,.18)!important;
  color:#f7fff9!important;
  background:rgba(255,255,255,.055)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(.wa-badge.enviado,.tag.green,.status-ok,.ok){
  background:rgba(36,239,121,.16)!important;
  color:#9cffbd!important;
  border-color:rgba(36,239,121,.30)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(.wa-badge.pendente,.wa-api-status.warn,.warn){
  background:rgba(255,185,46,.15)!important;
  color:#ffd486!important;
  border-color:rgba(255,185,46,.28)!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) :is(.wa-badge.erro,.tag.red,.btn-danger,.danger,.error){
  background:rgba(255,72,72,.13)!important;
  color:#ffaaa5!important;
  border-color:rgba(255,72,72,.30)!important;
}

html body.caio-emerald-ui #appShell #whatsapp .wa-preview{
  background:
    radial-gradient(circle at 12% 18%,rgba(36,239,121,.12),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),
    rgba(1,8,5,.92)!important;
}

html body.caio-emerald-ui #appShell #whatsapp .wa-bubble{
  background:linear-gradient(135deg,#1ea653,#0d7a3c)!important;
  color:#111827!important;
  box-shadow:0 18px 44px rgba(36,239,121,.20)!important;
}

html body.caio-emerald-ui #appShell #whatsapp .wa-divider{
  background:linear-gradient(90deg,rgba(36,239,121,.32),rgba(36,239,121,0))!important;
}

html body.caio-emerald-ui #appShell :is(#whatsapp,.wa-pro-page,#whatsappApp,.wa-shell,#usuarios,.users-page-shell) ::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#36ef83,#08783a)!important;
}

/* Cadastro de Pessoas + login refinement - V8
   Final visual-only layer: black glass surfaces, less heavy login overlay,
   and emerald neon accents without touching behavior. */
html body.caio-emerald-ui.login-executive-preview #loginScreen.login-screen,
html body.caio-emerald-ui.login-executive-preview #loginScreen.login-premium,
html body.caio-emerald-ui #loginScreen.login-screen.login-premium{
  background-color:#06130d!important;
  background-image:
    radial-gradient(circle at 50% 0%,rgba(83,255,150,.26),transparent 34%),
    radial-gradient(circle at 18% 84%,rgba(23,193,99,.16),transparent 30%),
    linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,20,10,.12),rgba(0,56,27,.08)),
    url("../img/login-preview-bg-real.jpg")!important;
  background-position:center top, left bottom, center center, center center!important;
  background-size:cover,cover,cover,cover!important;
}

html body.caio-emerald-ui.login-executive-preview #loginScreen.login-screen::before,
html body.caio-emerald-ui.login-executive-preview #loginScreen.login-premium::before,
html body.caio-emerald-ui #loginScreen.login-screen.login-premium::before{
  opacity:.78!important;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,18,9,.10),rgba(0,52,26,.06)),
    radial-gradient(circle at 50% 0%,rgba(100,255,155,.30),transparent 36%),
    var(--login-bg-image, url("../img/login-preview-bg-real.jpg"))!important;
  filter:saturate(1.14) contrast(1.04) brightness(1.08)!important;
}

html body.caio-emerald-ui.login-executive-preview #loginScreen.login-screen::after,
html body.caio-emerald-ui #loginScreen.login-screen.login-premium::after{
  background:
    radial-gradient(circle at 50% 18%,rgba(73,255,139,.18),transparent 32%),
    radial-gradient(circle at 82% 68%,rgba(23,193,99,.11),transparent 30%),
    linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.38))!important;
  opacity:.72!important;
}

html body.caio-emerald-ui #loginScreen :is(.login-left-preview h2 strong,.login-card h1 span,.login-brand-lock span,.login-feature-title,.login-quick-label,.login-forgot){
  color:#5cff9d!important;
  text-shadow:
    0 0 10px rgba(92,255,157,.48),
    0 0 28px rgba(36,239,121,.28)!important;
}

html body.caio-emerald-ui #loginScreen :is(.login-card,.login-card-premium){
  background:
    linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035)),
    rgba(3,12,8,.74)!important;
  border-color:rgba(123,255,177,.26)!important;
  box-shadow:
    0 42px 120px rgba(0,0,0,.52),
    0 0 90px rgba(36,239,121,.15),
    inset 0 1px 0 rgba(255,255,255,.12)!important;
}

html body.caio-emerald-ui #loginScreen :is(.login-left-preview p,.login-feature-sub,.login-card p){
  color:rgba(241,255,245,.82)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas,
html body.caio-emerald-ui.cad-pessoas-page #cad_pessoas{
  background:
    radial-gradient(circle at 16% 2%,rgba(36,239,121,.12),transparent 28%),
    radial-gradient(circle at 88% 10%,rgba(92,255,157,.08),transparent 34%),
    linear-gradient(135deg,#010403 0%,#06100a 46%,#081711 100%)!important;
  background-color:#010403!important;
  color:#f6fff8!important;
  padding:24px 28px 42px!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  .people-crm-hero,.people-summary-card,.people-flow-card > div,.people-list-top,.people-search-premium,
  .crm-filter-panel,.people-panel,.people-list-card,.people-table-card,.people-profile-panel,.people-workspace,
  .people-card-grid,.people-card-grid-crm,.person-result-card,.person-list-row,.empty-people,.mini-history-item,
  .profile-info,.profile-info.crm-extra,.crm-history-tools,.crm-timeline .mini-history-item,#baseEleitoralBox .stack-item,
  .privacy-note,.people-tabs,.photo-preview-empty,.permission-warning,.card,.panel,.box,.content-card
){
  background:
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022)),
    radial-gradient(circle at top right,rgba(36,239,121,.085),transparent 34%),
    rgba(2,9,7,.88)!important;
  background-color:rgba(2,9,7,.88)!important;
  border:1px solid rgba(92,255,157,.18)!important;
  color:#f6fff8!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 22px 70px rgba(0,0,0,.42),
    0 0 48px rgba(36,239,121,.055)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-crm-hero{
  background:
    radial-gradient(circle at 82% 20%,rgba(92,255,157,.22),transparent 34%),
    linear-gradient(135deg,rgba(8,122,58,.40),rgba(1,10,6,.92) 62%),
    rgba(2,9,7,.92)!important;
  min-height:150px!important;
  overflow:hidden!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-crm-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(92,255,157,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,255,157,.035) 1px,transparent 1px);
  background-size:46px 46px;
  opacity:.30;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  h1,h2,h3,h4,h5,h6,strong,b,.people-crm-hero h2,.people-section-title h3,.people-summary-card strong,
  .person-result-body strong,.person-list-name,.person-list-extra strong,.crm-history-tools strong
){
  color:#f7fff9!important;
  text-shadow:0 0 18px rgba(36,239,121,.10)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  .people-crm-hero h2,.people-crm-hero .eyebrow,.people-crm-hero small,.people-kicker
){
  color:#72ffae!important;
  text-shadow:
    0 0 10px rgba(92,255,157,.40),
    0 0 28px rgba(36,239,121,.22)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  p,small,span,label,li,td,th,.people-crm-hero p,.people-summary-card small,.people-flow-card small,
  .person-result-body small,.person-list-meta,.person-list-extra small,.crm-view-actions,.field .hint
){
  color:rgba(235,255,241,.76)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,.crm-filter-select,.people-search-premium input
){
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),
    rgba(1,8,5,.86)!important;
  background-color:rgba(1,8,5,.86)!important;
  border:1px solid rgba(92,255,157,.24)!important;
  color:#f6fff8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 38px rgba(0,0,0,.22)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,.crm-filter-select,.people-search-premium input
)::placeholder{
  color:rgba(235,255,241,.46)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,.crm-filter-select,.people-search-premium input
):focus{
  border-color:rgba(123,255,177,.56)!important;
  box-shadow:0 0 0 4px rgba(36,239,121,.14),0 18px 50px rgba(0,0,0,.30)!important;
  outline:none!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas option{
  background:#020806!important;
  color:#f6fff8!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.btn,.people-tab,.crm-filter-chip,.pill-soft,.person-list-tags span,.person-badges span,.tag,.badge){
  background:rgba(2,9,7,.78)!important;
  background-color:rgba(2,9,7,.78)!important;
  border:1px solid rgba(92,255,157,.22)!important;
  color:rgba(246,255,248,.90)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.btn-primary,.people-tab.active,.crm-filter-chip.active,.people-action.primary,.person-list-actions .btn-primary){
  background:linear-gradient(135deg,#23d56d,#08783a)!important;
  background-color:#118943!important;
  border-color:rgba(166,255,199,.34)!important;
  color:#111827!important;
  box-shadow:0 18px 48px rgba(36,239,121,.22),inset 0 1px 0 rgba(255,255,255,.16)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.btn-soft,.person-list-actions .btn-soft){
  background:rgba(255,255,255,.055)!important;
  color:#dfffea!important;
  border-color:rgba(92,255,157,.20)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.person-avatar,.person-list-avatar,.metric-icon){
  background:linear-gradient(135deg,#25d36d,#08783a)!important;
  color:#111827!important;
  box-shadow:0 18px 44px rgba(36,239,121,.22)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.person-result-card,.person-list-row){
  min-height:82px!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.person-result-card,.person-list-row):hover{
  transform:translateY(-2px);
  border-color:rgba(123,255,177,.32)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 28px 90px rgba(0,0,0,.52),
    0 0 80px rgba(36,239,121,.10)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.person-result-card::before,.person-list-row::before){
  background:linear-gradient(180deg,#5cff9d,#08783a)!important;
  box-shadow:0 0 18px rgba(92,255,157,.34)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.person-result-card.presidente-bairro::after){
  background:rgba(36,239,121,.14)!important;
  color:#9cffbd!important;
  border-color:rgba(36,239,121,.28)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(table,.table-wrap table){
  background:rgba(2,9,7,.86)!important;
  border-color:rgba(92,255,157,.18)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(th){
  background:linear-gradient(180deg,rgba(36,239,121,.14),rgba(36,239,121,.045))!important;
  color:#f7fff9!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(td){
  background:rgba(2,9,7,.40)!important;
  color:rgba(246,255,248,.84)!important;
  border-color:rgba(92,255,157,.10)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas tbody tr:hover td{
  background:rgba(36,239,121,.10)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas #baseEleitoralBox .stack-item{
  background:
    linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),
    rgba(2,9,7,.86)!important;
  color:#f6fff8!important;
}

@media(max-width:760px){
  html body.caio-emerald-ui #appShell #cad_pessoas{
    padding:16px 14px 32px!important;
  }
}

/* Cadastro de Pessoas + login polish - V9
   Strong final layer for the two screens that still inherited old light CSS. */
html body.caio-emerald-ui.login-executive-preview #loginScreen.login-screen,
html body.caio-emerald-ui.login-executive-preview #loginScreen.login-premium,
html body.caio-emerald-ui #loginScreen.login-screen.login-premium{
  background-color:#07150d!important;
  background-image:
    radial-gradient(circle at 18% 18%,rgba(73,255,145,.28),transparent 28%),
    radial-gradient(circle at 82% 12%,rgba(29,213,105,.20),transparent 34%),
    linear-gradient(90deg,rgba(0,0,0,.30),rgba(0,22,12,.12),rgba(0,60,28,.10)),
    url("../img/login-executive-bg.jpg")!important;
  background-size:auto,auto,auto,cover!important;
  background-position:center!important;
  background-blend-mode:screen,screen,normal,normal!important;
}

html body.caio-emerald-ui.login-executive-preview #loginScreen.login-screen::before,
html body.caio-emerald-ui.login-executive-preview #loginScreen.login-premium::before,
html body.caio-emerald-ui #loginScreen.login-screen.login-premium::before{
  opacity:.66!important;
  filter:saturate(1.12) contrast(1.05) brightness(1.22)!important;
}

html body.caio-emerald-ui.login-executive-preview #loginScreen.login-screen::after,
html body.caio-emerald-ui.login-executive-preview #loginScreen.login-premium::after,
html body.caio-emerald-ui #loginScreen.login-screen.login-premium::after{
  background:
    radial-gradient(circle at 50% 50%,transparent 0 54%,rgba(0,0,0,.34) 100%),
    linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.03) 48%,rgba(0,0,0,.18))!important;
  opacity:.78!important;
}

html body.caio-emerald-ui #loginScreen :is(.login-card,.login-card-premium,.login-box){
  background:
    linear-gradient(145deg,rgba(4,18,10,.76),rgba(1,7,5,.62)),
    rgba(2,10,7,.70)!important;
  border-color:rgba(98,255,157,.30)!important;
  box-shadow:
    0 34px 120px rgba(0,0,0,.58),
    0 0 88px rgba(36,239,121,.13),
    inset 0 1px 0 rgba(255,255,255,.11)!important;
}

html body.caio-emerald-ui #loginScreen :is(
  .login-card h1 span,.login-left-preview h2 strong,.login-brand-lock span,
  .login-feature-title,.login-quick-label,.login-forgot,.login-check,
  label,.login-eyebrow
){
  color:#53ff98!important;
  text-shadow:
    0 0 10px rgba(83,255,152,.58),
    0 0 34px rgba(83,255,152,.24)!important;
}

html body.caio-emerald-ui #loginScreen :is(p,small,.login-muted,.login-feature-copy,.login-card-subtitle){
  color:rgba(235,255,240,.76)!important;
}

html body.caio-emerald-ui #loginScreen :is(input,select,textarea){
  background:rgba(0,8,5,.66)!important;
  border-color:rgba(98,255,157,.26)!important;
  color:#f6fff8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}

html body.caio-emerald-ui #loginScreen :is(input,select,textarea):focus{
  border-color:rgba(83,255,152,.64)!important;
  box-shadow:0 0 0 4px rgba(83,255,152,.14),0 0 30px rgba(83,255,152,.18)!important;
}

html body.caio-emerald-ui.cad-pessoas-page,
html body.caio-emerald-ui.cad-pessoas-page #appShell,
html body.caio-emerald-ui.cad-pessoas-page .main-content,
html body.caio-emerald-ui.cad-pessoas-page main{
  background:
    radial-gradient(circle at 16% -4%,rgba(36,239,121,.14),transparent 30%),
    radial-gradient(circle at 84% 8%,rgba(83,255,152,.10),transparent 28%),
    linear-gradient(135deg,#020605 0%,#06120b 48%,#081811 100%)!important;
  color:#f6fff8!important;
}

html body.caio-emerald-ui.cad-pessoas-page #appShell #cad_pessoas,
html body.caio-emerald-ui #appShell #cad_pessoas{
  background:
    radial-gradient(circle at 12% 0%,rgba(36,239,121,.12),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(83,255,152,.09),transparent 32%),
    linear-gradient(135deg,rgba(1,8,5,.96),rgba(5,21,12,.94))!important;
  color:#f6fff8!important;
  border:1px solid rgba(92,255,157,.13)!important;
  border-radius:28px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 34px 120px rgba(0,0,0,.30)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-crm-hero{
  overflow:hidden!important;
  background:
    radial-gradient(circle at 84% 18%,rgba(92,255,157,.24),transparent 34%),
    linear-gradient(135deg,rgba(3,18,10,.95),rgba(8,44,22,.82) 58%,rgba(23,162,78,.70))!important;
  border:1px solid rgba(92,255,157,.25)!important;
  border-radius:26px!important;
  padding:28px 30px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 28px 90px rgba(0,0,0,.42),
    0 0 80px rgba(36,239,121,.13)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-crm-hero::before{
  content:"";
  position:absolute;
  inset:-30%;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 36%,rgba(255,255,255,.08) 46%,transparent 56%),
    radial-gradient(circle,rgba(83,255,152,.14),transparent 42%);
  opacity:.48;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  .people-summary-grid,.people-flow-card,.people-list-card,.people-list-top,.people-workspace,
  .people-profile-panel,.people-form-card,.people-table-card,.people-panel,.people-search-premium,
  .crm-filter-panel,.crm-view-actions,.card,.panel,.table-wrap
){
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
    rgba(2,10,7,.84)!important;
  background-color:rgba(2,10,7,.84)!important;
  border:1px solid rgba(92,255,157,.17)!important;
  border-radius:22px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 80px rgba(0,0,0,.32)!important;
  backdrop-filter:blur(18px) saturate(1.24)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  margin:16px 0!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-summary-card{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  min-height:74px!important;
  padding:16px 18px!important;
  gap:10px!important;
  background:
    radial-gradient(circle at 92% 16%,rgba(83,255,152,.14),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),
    rgba(2,10,7,.86)!important;
  border:1px solid rgba(92,255,157,.18)!important;
  border-radius:18px!important;
  box-shadow:0 20px 64px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.075)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-flow-card{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .people-flow-card > div{
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
    rgba(2,10,7,.84)!important;
  border:1px solid rgba(92,255,157,.16)!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  color:#f6fff8!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  .person-result-card,.person-list-row,.stack-item,#baseEleitoralBox .stack-item,
  .profile-info,.profile-info.crm-extra,.mini-history-item,.privacy-note,.inline-checks label,
  .photo-preview-empty,.empty-people
){
  background:
    linear-gradient(145deg,rgba(255,255,255,.058),rgba(255,255,255,.018)),
    rgba(1,9,6,.88)!important;
  background-color:rgba(1,9,6,.88)!important;
  border:1px solid rgba(92,255,157,.16)!important;
  color:#f6fff8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 58px rgba(0,0,0,.28)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .person-result-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:16px!important;
  align-items:center!important;
  padding:18px!important;
  border-radius:20px!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas .person-result-card + .person-result-card{
  margin-top:12px!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.metric-icon,.person-avatar,.person-list-avatar,.profile-avatar){
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#2bf57d,#08783a)!important;
  color:#041108!important;
  font-weight:900!important;
  text-shadow:0 0 14px rgba(255,255,255,.20)!important;
  box-shadow:0 18px 48px rgba(36,239,121,.24),0 0 34px rgba(36,239,121,.22)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(h1,h2,h3,h4,h5,h6,strong,b,.person-list-name,.person-result-body strong){
  color:#f7fff9!important;
  text-shadow:none!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.people-crm-hero h2,.people-crm-hero .pill-soft,.people-kicker,.people-section-title h3){
  color:#5cff9d!important;
  text-shadow:0 0 12px rgba(92,255,157,.52),0 0 42px rgba(92,255,157,.20)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(p,small,span,label,li,td,th,.person-result-body small,.person-list-meta,.people-flow-card small){
  color:rgba(237,255,242,.78)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,.crm-filter-select,.people-search-premium input
){
  background:rgba(0,8,5,.76)!important;
  background-color:rgba(0,8,5,.76)!important;
  border:1px solid rgba(92,255,157,.24)!important;
  color:#f6fff8!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,.crm-filter-select,.people-search-premium input
)::placeholder{
  color:rgba(235,255,240,.50)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,.crm-filter-select,.people-search-premium input
):focus{
  outline:none!important;
  border-color:rgba(92,255,157,.70)!important;
  box-shadow:0 0 0 4px rgba(92,255,157,.13),0 0 30px rgba(92,255,157,.16)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas option{
  background:#020806!important;
  color:#f6fff8!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.btn,.people-tab,.crm-filter-chip,.pill-soft,.person-badges span,.person-list-tags span,.tag,.badge){
  background:rgba(255,255,255,.055)!important;
  background-color:rgba(255,255,255,.055)!important;
  border:1px solid rgba(92,255,157,.20)!important;
  color:#eaffef!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.btn-primary,.people-tab.active,.crm-filter-chip.active,.people-action.primary){
  background:linear-gradient(135deg,#27e071,#0a8f45)!important;
  background-color:#119449!important;
  color:#111827!important;
  border-color:rgba(166,255,199,.36)!important;
  box-shadow:0 18px 48px rgba(36,239,121,.24),inset 0 1px 0 rgba(255,255,255,.16)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(.btn-soft){
  background:rgba(246,255,248,.92)!important;
  color:#065427!important;
  border-color:rgba(166,255,199,.28)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(table,.table-wrap table){
  background:rgba(1,9,6,.88)!important;
  border-color:rgba(92,255,157,.18)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(thead,th){
  background:linear-gradient(180deg,rgba(36,239,121,.16),rgba(36,239,121,.055))!important;
  color:#dffff0!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas :is(td){
  background:rgba(1,9,6,.38)!important;
  border-color:rgba(92,255,157,.10)!important;
  color:rgba(246,255,248,.84)!important;
}

html body.caio-emerald-ui #appShell #cad_pessoas tbody tr:hover td{
  background:rgba(36,239,121,.10)!important;
}

@media(max-width:1100px){
  html body.caio-emerald-ui #appShell #cad_pessoas .people-summary-grid,
  html body.caio-emerald-ui #appShell #cad_pessoas .people-flow-card{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  html body.caio-emerald-ui #appShell #cad_pessoas .people-summary-grid,
  html body.caio-emerald-ui #appShell #cad_pessoas .people-flow-card{
    grid-template-columns:1fr!important;
  }

  html body.caio-emerald-ui #appShell #cad_pessoas .person-result-card{
    grid-template-columns:1fr!important;
  }
}


/* === FIX LEGENDA DO MAPA: contraste e leitura === */
.map-legend,
.mapa-legenda,
.legend-map,
.legenda-mapa,
.category-legend,
.categoria-legenda,
#mapLegend,
#mapaLegenda,
.leaflet-control .map-legend,
.leaflet-control .legenda-mapa {
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(15, 82, 43, 0.22) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18) !important;
  color: #0f172a !important;
  backdrop-filter: blur(10px) !important;
}

.map-legend *,
.mapa-legenda *,
.legend-map *,
.legenda-mapa *,
.category-legend *,
.categoria-legenda *,
#mapLegend *,
#mapaLegenda * {
  color: #123524 !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

.map-legend button,
.mapa-legenda button,
.legend-map button,
.legenda-mapa button,
.category-legend button,
.categoria-legenda button,
#mapLegend button,
#mapaLegenda button,
.map-filter-chip,
.category-chip,
.legend-chip,
.categoria-chip {
  background: rgba(255,255,255,0.98) !important;
  color: #0f3d27 !important;
  border: 1px solid rgba(16, 185, 129, 0.24) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.10) !important;
  opacity: 1 !important;
  filter: none !important;
}

.map-legend .dot,
.mapa-legenda .dot,
.legend-dot,
.legenda-dot,
.category-dot,
.categoria-dot {
  opacity: 1 !important;
  filter: none !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.9) !important;
}


/* === FIX GLOBAL: textos escuros em cards, painel e filtros === */
:root {
  --texto-forte-sistema: #f8fafc;
  --texto-normal-sistema: #dbeafe;
  --texto-suave-sistema: #b7c9bd;
}

/* Painel/dashboard/cards */
.dashboard,
.painel,
.panel,
.page,
.main-content,
.content,
.card,
.metric-card,
.stat-card,
.radar-card,
.kpi-card,
.widget,
section[class*="card"],
div[class*="card"] {
  color: var(--texto-normal-sistema) !important;
}

.dashboard h1,
.dashboard h2,
.dashboard h3,
.dashboard h4,
.painel h1,
.painel h2,
.painel h3,
.painel h4,
.panel h1,
.panel h2,
.panel h3,
.panel h4,
.card h1,
.card h2,
.card h3,
.card h4,
.metric-card h1,
.metric-card h2,
.metric-card h3,
.metric-card h4,
.stat-card h1,
.stat-card h2,
.stat-card h3,
.stat-card h4 {
  color: var(--texto-forte-sistema) !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

.dashboard p,
.dashboard span,
.dashboard small,
.dashboard strong,
.painel p,
.painel span,
.painel small,
.painel strong,
.panel p,
.panel span,
.panel small,
.panel strong,
.card p,
.card span,
.card small,
.card strong,
.metric-card p,
.metric-card span,
.metric-card small,
.metric-card strong,
.stat-card p,
.stat-card span,
.stat-card small,
.stat-card strong {
  color: var(--texto-normal-sistema) !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Números grandes dos cards */
.metric-card .value,
.stat-card .value,
.kpi-value,
.card-value,
[class*="numero"],
[class*="valor"],
[class*="count"],
[class*="total"] {
  color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Labels pequenos */
.label,
.badge,
.chip,
.tag,
.pill,
.subtitle,
.text-muted,
.muted,
[class*="subtitle"],
[class*="muted"] {
  color: #c7f9d8 !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Aba mapas: filtros e legenda inferior */
.map-toolbar,
.mapa-toolbar,
.map-filters,
.mapa-filtros,
.filters,
.filtros,
.map-panel,
.mapa-panel,
.map-legend,
.mapa-legenda,
.legend-map,
.legenda-mapa,
.category-legend,
.categoria-legenda {
  color: #0f3d27 !important;
  opacity: 1 !important;
  filter: none !important;
}

.map-toolbar *,
.mapa-toolbar *,
.map-filters *,
.mapa-filtros *,
.filters *,
.filtros *,
.map-panel *,
.mapa-panel *,
.map-legend *,
.mapa-legenda *,
.legend-map *,
.legenda-mapa *,
.category-legend *,
.categoria-legenda * {
  opacity: 1 !important;
  filter: none !important;
}

.map-toolbar input,
.mapa-toolbar input,
.map-toolbar select,
.mapa-toolbar select,
.map-filters input,
.mapa-filtros input,
.map-filters select,
.mapa-filtros select,
.filters input,
.filtros input,
.filters select,
.filtros select {
  color: #f8fafc !important;
  background: rgba(3, 18, 12, .72) !important;
  border-color: rgba(34,197,94,.35) !important;
}

.map-toolbar input::placeholder,
.mapa-toolbar input::placeholder,
.map-filters input::placeholder,
.mapa-filtros input::placeholder,
.filters input::placeholder,
.filtros input::placeholder {
  color: rgba(248,250,252,.72) !important;
}

/* Legenda de categoria embaixo do mapa: chip claro com texto verde escuro */
.map-legend button,
.mapa-legenda button,
.legend-map button,
.legenda-mapa button,
.category-legend button,
.categoria-legenda button,
.map-filter-chip,
.category-chip,
.legend-chip,
.categoria-chip,
[class*="legend"] .chip,
[class*="legenda"] .chip {
  background: rgba(255,255,255,.96) !important;
  color: #0f3d27 !important;
  border: 1px solid rgba(15,61,39,.18) !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

.map-legend button *,
.mapa-legenda button *,
.legend-map button *,
.legenda-mapa button *,
.category-legend button *,
.categoria-legenda button *,
.map-filter-chip *,
.category-chip *,
.legend-chip *,
.categoria-chip * {
  color: #0f3d27 !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Evita que patches antigos deixem texto invisível */
[style*="color: rgb(0, 0, 0)"],
[style*="color:#000"],
[style*="color: #000"],
[style*="color:#020617"],
[style*="color: #020617"],
[style*="color:#0f172a"],
[style*="color: #0f172a"] {
  color: #f8fafc !important;
}


/* FIX APENAS TITULOS DOS PAINEIS */
.dashboard-title,
.panel-title,
.card-title,
.widget-title,
.section-title,
.radar-title,
.titulo-painel,
.titulo-card,
.titulo-dashboard,
[class*="title"],
[class*="titulo"]{
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
}


/* =========================================================
   PAINEL PREMIUM ORGANIZADO - SOMENTE VISUAL
   Mantém Firebase, rotas, login, mapa e lógica intactos.
   ========================================================= */

/* Área geral do painel */
#painel,
.painel,
.dashboard,
.dashboard-page,
.page-dashboard,
[data-page="painel"],
[data-view="painel"] {
  --panel-bg: rgba(4, 18, 13, .76);
  --panel-bg-2: rgba(8, 31, 22, .68);
  --panel-border: rgba(34, 197, 94, .22);
  --panel-border-soft: rgba(255,255,255,.08);
  --panel-text: #f8fafc;
  --panel-muted: rgba(226, 232, 240, .78);
  --panel-green: #22c55e;
  --panel-green-2: #16a34a;
  --panel-blue: #38bdf8;
  --panel-orange: #f59e0b;
  --panel-purple: #a855f7;
  color: var(--panel-text) !important;
}

/* Conteúdo com largura e respiro parecidos com preview */
#painel main,
.painel main,
.dashboard main,
.dashboard-page main,
.page-dashboard main,
#painel .content,
.painel .content,
.dashboard .content,
.dashboard-page .content,
.page-dashboard .content,
#painel .main-content,
.painel .main-content,
.dashboard .main-content {
  max-width: 1680px !important;
  margin: 0 auto !important;
  padding: 18px 24px 32px !important;
}

/* Hero principal do dashboard: duas colunas */
#painel .hero,
.painel .hero,
.dashboard .hero,
#painel .dashboard-hero,
.painel .dashboard-hero,
.dashboard .dashboard-hero,
#painel .executive-panel,
.painel .executive-panel,
.dashboard .executive-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 520px !important;
  gap: 24px !important;
  align-items: stretch !important;
  padding: 24px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 18% 15%, rgba(34,197,94,.18), transparent 34%),
    linear-gradient(135deg, rgba(5,20,14,.92), rgba(2,10,7,.86)) !important;
  border: 1px solid var(--panel-border) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* Caso o hero não tenha classe, aplica no primeiro bloco grande do painel */
#painel > section:first-of-type,
.painel > section:first-of-type,
.dashboard > section:first-of-type,
.dashboard-page > section:first-of-type {
  border-radius: 24px !important;
}

/* Badge "Dashboard" */
#painel .badge,
.painel .badge,
.dashboard .badge,
#painel .eyebrow,
.painel .eyebrow,
.dashboard .eyebrow,
#painel [class*="badge"],
.painel [class*="badge"],
.dashboard [class*="badge"] {
  color: #d1fae5 !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 999px !important;
  padding: 7px 12px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}

/* Títulos brancos e com hierarquia premium */
#painel h1,
.painel h1,
.dashboard h1,
.dashboard-page h1,
.page-dashboard h1 {
  color: #ffffff !important;
  font-size: clamp(34px, 3.1vw, 56px) !important;
  line-height: .98 !important;
  letter-spacing: -0.055em !important;
  font-weight: 900 !important;
  margin: 18px 0 10px !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.42) !important;
}

#painel h2,
#painel h3,
#painel h4,
.painel h2,
.painel h3,
.painel h4,
.dashboard h2,
.dashboard h3,
.dashboard h4 {
  color: #f8fafc !important;
  opacity: 1 !important;
}

/* Descrição/subtitle */
#painel p,
.painel p,
.dashboard p,
.dashboard-page p {
  color: var(--panel-muted) !important;
}

/* Cards pequenos do topo */
#painel .stats,
.painel .stats,
.dashboard .stats,
#painel .metric-row,
.painel .metric-row,
.dashboard .metric-row,
#painel .kpi-row,
.painel .kpi-row,
.dashboard .kpi-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 26px !important;
}

#painel .stat-card,
#painel .metric-card,
#painel .kpi-card,
.painel .stat-card,
.painel .metric-card,
.painel .kpi-card,
.dashboard .stat-card,
.dashboard .metric-card,
.dashboard .kpi-card,
#painel [class*="metric"],
.painel [class*="metric"],
.dashboard [class*="metric"] {
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(34,197,94,.15), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022)) !important;
  border: 1px solid rgba(34,197,94,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 32px rgba(0,0,0,.20) !important;
  padding: 20px !important;
  min-height: 112px !important;
  color: #fff !important;
}

#painel .stat-card strong,
#painel .metric-card strong,
#painel .kpi-card strong,
.painel .stat-card strong,
.painel .metric-card strong,
.painel .kpi-card strong,
.dashboard .stat-card strong,
.dashboard .metric-card strong,
.dashboard .kpi-card strong {
  color: #fff !important;
  font-size: 32px !important;
  font-weight: 900 !important;
}

#painel .stat-card small,
#painel .metric-card small,
#painel .kpi-card small,
.painel .stat-card small,
.painel .metric-card small,
.painel .kpi-card small,
.dashboard .stat-card small,
.dashboard .metric-card small,
.dashboard .kpi-card small {
  color: rgba(226,232,240,.78) !important;
}

/* Botões do hero */
#painel button,
.painel button,
.dashboard button,
#painel .btn,
.painel .btn,
.dashboard .btn {
  border-radius: 12px !important;
  font-weight: 800 !important;
}

#painel .btn-primary,
.painel .btn-primary,
.dashboard .btn-primary,
#painel button.primary,
.painel button.primary,
.dashboard button.primary {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  color: #03120c !important;
  border: 0 !important;
  box-shadow: 0 14px 28px rgba(34,197,94,.22) !important;
}

/* Radar do dia: cards empilhados como preview */
#painel .radar,
.painel .radar,
.dashboard .radar,
#painel .radar-card,
.painel .radar-card,
.dashboard .radar-card,
#painel [class*="radar"],
.painel [class*="radar"],
.dashboard [class*="radar"] {
  border-radius: 18px !important;
  color: #fff !important;
}

#painel .radar-list,
.painel .radar-list,
.dashboard .radar-list,
#painel .side-widgets,
.painel .side-widgets,
.dashboard .side-widgets,
#painel .right-panel,
.painel .right-panel,
.dashboard .right-panel {
  display: grid !important;
  gap: 12px !important;
}

#painel .right-panel > *,
.painel .right-panel > *,
.dashboard .right-panel > *,
#painel .side-widgets > *,
.painel .side-widgets > *,
.dashboard .side-widgets > * {
  border-radius: 16px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  padding: 14px 16px !important;
}

/* Segunda linha de cards grandes */
#painel .summary-grid,
.painel .summary-grid,
.dashboard .summary-grid,
#painel .cards-grid,
.painel .cards-grid,
.dashboard .cards-grid,
#painel .overview-grid,
.painel .overview-grid,
.dashboard .overview-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap: 18px !important;
  margin: 18px 0 !important;
}

/* Área inferior: tabela + mapa lado a lado */
#painel .dashboard-bottom,
.painel .dashboard-bottom,
.dashboard .dashboard-bottom,
#painel .bottom-grid,
.painel .bottom-grid,
.dashboard .bottom-grid,
#painel .content-grid,
.painel .content-grid,
.dashboard .content-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .95fr) minmax(520px, 1.25fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  margin-top: 18px !important;
}

/* Seções de tabela e mapa */
#painel .table-card,
#painel .map-card,
#painel .map-section,
#painel .demand-list,
.painel .table-card,
.painel .map-card,
.painel .map-section,
.painel .demand-list,
.dashboard .table-card,
.dashboard .map-card,
.dashboard .map-section,
.dashboard .demand-list,
#painel section:has(table),
.painel section:has(table),
.dashboard section:has(table) {
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(34,197,94,.10), transparent 28%),
    rgba(4, 18, 13, .82) !important;
  border: 1px solid rgba(34,197,94,.20) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05) !important;
  padding: 16px !important;
  overflow: hidden !important;
}

/* mapa menor no painel, mas bonito */
#painel .leaflet-container,
.painel .leaflet-container,
.dashboard .leaflet-container {
  border-radius: 18px !important;
  min-height: 320px !important;
}

/* Tabela premium */
#painel table,
.painel table,
.dashboard table {
  width: 100% !important;
  border-collapse: collapse !important;
  color: #e5e7eb !important;
  background: transparent !important;
}

#painel th,
.painel th,
.dashboard th {
  color: #d1fae5 !important;
  background: rgba(34,197,94,.16) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  padding: 14px 12px !important;
}

#painel td,
.painel td,
.dashboard td {
  color: #f1f5f9 !important;
  padding: 14px 12px !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
}

/* status pills */
#painel .status,
.painel .status,
.dashboard .status,
#painel [class*="status"],
.painel [class*="status"],
.dashboard [class*="status"] {
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-weight: 900 !important;
}

/* Cabeçalho antigo Mandato/Painel: deixa compacto e limpo */
#painel .topbar,
.painel .topbar,
.dashboard .topbar,
.header-panel,
.panel-header {
  border-radius: 20px !important;
  background: rgba(3, 14, 9, .72) !important;
  border: 1px solid rgba(34,197,94,.18) !important;
}

/* responsivo */
@media (max-width: 1180px) {
  #painel .hero,
  .painel .hero,
  .dashboard .hero,
  #painel .dashboard-hero,
  .painel .dashboard-hero,
  .dashboard .dashboard-hero,
  #painel .executive-panel,
  .painel .executive-panel,
  .dashboard .executive-panel {
    grid-template-columns: 1fr !important;
  }

  #painel .dashboard-bottom,
  .painel .dashboard-bottom,
  .dashboard .dashboard-bottom,
  #painel .bottom-grid,
  .painel .bottom-grid,
  .dashboard .bottom-grid,
  #painel .content-grid,
  .painel .content-grid,
  .dashboard .content-grid {
    grid-template-columns: 1fr !important;
  }

  #painel .summary-grid,
  .painel .summary-grid,
  .dashboard .summary-grid,
  #painel .cards-grid,
  .painel .cards-grid,
  .dashboard .cards-grid,
  #painel .overview-grid,
  .painel .overview-grid,
  .dashboard .overview-grid,
  #painel .stats,
  .painel .stats,
  .dashboard .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  #painel main,
  .painel main,
  .dashboard main {
    padding: 14px !important;
  }

  #painel .summary-grid,
  .painel .summary-grid,
  .dashboard .summary-grid,
  #painel .cards-grid,
  .painel .cards-grid,
  .dashboard .cards-grid,
  #painel .overview-grid,
  .painel .overview-grid,
  .dashboard .overview-grid,
  #painel .stats,
  .painel .stats,
  .dashboard .stats {
    grid-template-columns: 1fr !important;
  }

  #painel h1,
  .painel h1,
  .dashboard h1 {
    font-size: 34px !important;
  }
}


/* FIX TEXTO TRANSFORMA VERDE */
.hero-title .highlight,
.transforma,
.text-gradient,
.highlight-green,
.green-text{
  color:#22c55e !important;
  background:none !important;
  -webkit-text-fill-color:#22c55e !important;
  text-shadow:
    0 0 12px rgba(34,197,94,.25),
    0 0 24px rgba(34,197,94,.12) !important;
  opacity:1 !important;
  filter:none !important;
}

.hero-title .highlight *,
.transforma *,
.text-gradient *{
  color:#22c55e !important;
  -webkit-text-fill-color:#22c55e !important;
}


/* =========================================================
   FIX REAL LOGIN HERO - palavra "transforma." verde puro
   ========================================================= */

/* Título esquerdo do login */
.login-hero h1,
.auth-hero h1,
.login-left h1,
.auth-left h1,
.hero-login h1,
.hero-title,
[class*="login"] h1,
[class*="auth"] h1 {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  background: none !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Qualquer span/strong usado para a palavra transforma */
.login-hero h1 span,
.auth-hero h1 span,
.login-left h1 span,
.auth-left h1 span,
.hero-login h1 span,
.hero-title span,
.login-hero h1 strong,
.auth-hero h1 strong,
.login-left h1 strong,
.auth-left h1 strong,
.hero-login h1 strong,
.hero-title strong,
.transforma,
.text-transforma,
.highlight-transforma,
.hero-title .highlight,
.hero-title .accent,
.hero-title .green,
.text-gradient,
.highlight-green,
.green-text {
  color: #22c55e !important;
  -webkit-text-fill-color: #22c55e !important;
  background: none !important;
  background-image: none !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow:
    0 0 10px rgba(34,197,94,.55),
    0 0 22px rgba(34,197,94,.28) !important;
}

/* Caso exista marcação com gradiente aplicada diretamente */
.login-hero .text-gradient,
.auth-hero .text-gradient,
.login-left .text-gradient,
.auth-left .text-gradient,
.hero-login .text-gradient {
  color: #22c55e !important;
  -webkit-text-fill-color: #22c55e !important;
  background: none !important;
  background-image: none !important;
}

/* Labels verdes dos bullets do login */
.login-feature-title,
.auth-feature-title,
.login-feature strong,
.auth-feature strong,
[class*="feature"] strong {
  color: #22c55e !important;
  -webkit-text-fill-color: #22c55e !important;
}



/* =========================================================
   FIX FINAL LOGIN - frases verdes premium
   ========================================================= */

.transforma,
.text-transforma,
.highlight-transforma,
.hero-title .highlight,
.hero-title .accent,
.hero-title .green {
  color: #22c55e !important;
  -webkit-text-fill-color: #22c55e !important;
  background: none !important;
  background-image: none !important;
  text-shadow:
    0 0 12px rgba(34,197,94,.55),
    0 0 24px rgba(34,197,94,.28) !important;
}

/* Frase inferior */
.quote,
.login-quote,
.hero-quote,
blockquote,
.quote-text,
.login-footer-quote,
[class*="quote"] {
  color: #22c55e !important;
  -webkit-text-fill-color: #22c55e !important;
  text-shadow:
    0 0 10px rgba(34,197,94,.40),
    0 0 18px rgba(34,197,94,.20) !important;
  opacity: 1 !important;
}

/* Ícones/quotes */
.quote-mark,
blockquote::before,
blockquote::after {
  color: #22c55e !important;
}


/* =========================================================
   FIX REAL INSPECIONADO - LOGIN VERDE E SEM OVERLAY NA LETRA
   ========================================================= */

/* Garante que o título do hero não herde gradiente branco/cinza */
.login-transforma-verde,
.login-transforma-verde *,
.login-page .login-transforma-verde,
.auth-page .login-transforma-verde,
.login-screen .login-transforma-verde,
.auth-screen .login-transforma-verde,
body .login-transforma-verde {
  color: #22ff7a !important;
  -webkit-text-fill-color: #22ff7a !important;
  background: transparent !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow:
    0 0 4px rgba(34,255,122,.95),
    0 0 14px rgba(34,255,122,.70),
    0 0 32px rgba(34,255,122,.36) !important;
}

/* Caso a palavra ainda esteja sem span, pega spans/highlights dentro do título esquerdo */
.login-left h1 span,
.auth-left h1 span,
.login-hero h1 span,
.auth-hero h1 span,
.hero-login h1 span,
.login-page h1 span,
.auth-page h1 span,
[class*="login"] h1 span,
[class*="auth"] h1 span,
.transforma,
.text-transforma,
.highlight-transforma {
  color: #22ff7a !important;
  -webkit-text-fill-color: #22ff7a !important;
  background: transparent !important;
  background-image: none !important;
  filter: none !important;
  opacity: 1 !important;
  text-shadow:
    0 0 4px rgba(34,255,122,.95),
    0 0 14px rgba(34,255,122,.70),
    0 0 32px rgba(34,255,122,.36) !important;
}

/* Frase inferior verde brilhando */
.login-quote-verde,
.login-quote-verde *,
.login-quote,
.hero-quote,
.quote-text,
blockquote,
[class*="quote"] {
  color: #22ff7a !important;
  -webkit-text-fill-color: #22ff7a !important;
  background: transparent !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow:
    0 0 4px rgba(34,255,122,.75),
    0 0 14px rgba(34,255,122,.48),
    0 0 28px rgba(34,255,122,.24) !important;
}

/* Remove "máscara/overview" preta que estava passando por cima das letras do login */
.login-page::before,
.login-page::after,
.auth-page::before,
.auth-page::after,
.login-screen::before,
.login-screen::after,
.auth-screen::before,
.auth-screen::after,
.login-bg::before,
.login-bg::after,
.auth-bg::before,
.auth-bg::after,
[class*="login"]::before,
[class*="login"]::after {
  pointer-events: none !important;
}

/* O overlay de foto continua, mas não escurece os textos */
.login-content,
.login-panel,
.login-card,
.auth-card,
.login-left,
.auth-left,
.login-hero,
.auth-hero,
.hero-login {
  position: relative !important;
  z-index: 5 !important;
}

/* Título principal normal branco puro, sem preto em cima */
.login-left h1,
.auth-left h1,
.login-hero h1,
.auth-hero h1,
.hero-login h1,
.login-page h1,
.auth-page h1 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow:
    0 0 10px rgba(255,255,255,.18),
    0 2px 8px rgba(0,0,0,.42) !important;
}


/* =========================================================
   ANALÍTICO PREMIUM - SOMENTE VISUAL
   Corrige contraste, cards brancos e organização dos gráficos
   ========================================================= */

body:has([data-page="analitico"]),
body:has(.analitico),
body:has(.analytics),
body:has(.analytics-page) {
  background: #020b07 !important;
}

/* container da página analítica */
[data-page="analitico"],
.analitico,
.analytics,
.analytics-page,
.page-analitico,
#analitico {
  color: #f8fafc !important;
  --ana-bg: rgba(4, 18, 13, .78);
  --ana-card: rgba(6, 24, 16, .84);
  --ana-border: rgba(34, 197, 94, .22);
  --ana-text: #f8fafc;
  --ana-muted: rgba(226,232,240,.78);
  --ana-green: #22c55e;
  --ana-yellow: #f59e0b;
}

/* hero superior */
[data-page="analitico"] .hero,
.analitico .hero,
.analytics .hero,
.analytics-page .hero,
.page-analitico .hero,
#analitico .hero,
[data-page="analitico"] section:first-of-type,
.analitico section:first-of-type,
.analytics section:first-of-type,
.page-analitico section:first-of-type {
  background:
    radial-gradient(circle at 75% 20%, rgba(34,197,94,.16), transparent 34%),
    linear-gradient(135deg, rgba(7, 28, 19, .94), rgba(2, 10, 7, .92)) !important;
  border: 1px solid var(--ana-border) !important;
  border-radius: 24px !important;
  padding: 28px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* títulos */
[data-page="analitico"] h1,
.analitico h1,
.analytics h1,
.analytics-page h1,
.page-analitico h1,
#analitico h1 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(36px, 3vw, 54px) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
  margin: 12px 0 8px !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.42) !important;
}

[data-page="analitico"] h2,
[data-page="analitico"] h3,
[data-page="analitico"] h4,
.analitico h2,
.analitico h3,
.analitico h4,
.analytics h2,
.analytics h3,
.analytics h4,
.analytics-page h2,
.analytics-page h3,
.analytics-page h4,
.page-analitico h2,
.page-analitico h3,
.page-analitico h4,
#analitico h2,
#analitico h3,
#analitico h4 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.42) !important;
}

[data-page="analitico"] p,
.analitico p,
.analytics p,
.analytics-page p,
.page-analitico p,
#analitico p,
[data-page="analitico"] small,
.analitico small,
.analytics small,
.analytics-page small,
.page-analitico small,
#analitico small {
  color: var(--ana-muted) !important;
  opacity: 1 !important;
}

/* cards do topo: tira branco estourado e deixa premium */
[data-page="analitico"] .card,
[data-page="analitico"] .metric-card,
[data-page="analitico"] .kpi-card,
[data-page="analitico"] .stat-card,
.analitico .card,
.analitico .metric-card,
.analitico .kpi-card,
.analitico .stat-card,
.analytics .card,
.analytics .metric-card,
.analytics .kpi-card,
.analytics .stat-card,
.analytics-page .card,
.analytics-page .metric-card,
.analytics-page .kpi-card,
.analytics-page .stat-card,
.page-analitico .card,
.page-analitico .metric-card,
.page-analitico .kpi-card,
.page-analitico .stat-card,
#analitico .card,
#analitico .metric-card,
#analitico .kpi-card,
#analitico .stat-card {
  background:
    radial-gradient(circle at 92% 10%, rgba(34,197,94,.18), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
  border: 1px solid rgba(34,197,94,.22) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #ffffff !important;
  min-height: 118px !important;
  padding: 20px !important;
  overflow: hidden !important;
}

/* força textos dos cards analíticos */
[data-page="analitico"] .card *,
[data-page="analitico"] .metric-card *,
[data-page="analitico"] .kpi-card *,
[data-page="analitico"] .stat-card *,
.analitico .card *,
.analitico .metric-card *,
.analitico .kpi-card *,
.analitico .stat-card *,
.analytics .card *,
.analytics .metric-card *,
.analytics .kpi-card *,
.analytics .stat-card *,
.analytics-page .card *,
.analytics-page .metric-card *,
.analytics-page .kpi-card *,
.analytics-page .stat-card *,
.page-analitico .card *,
.page-analitico .metric-card *,
.page-analitico .kpi-card *,
.page-analitico .stat-card *,
#analitico .card *,
#analitico .metric-card *,
#analitico .kpi-card *,
#analitico .stat-card * {
  color: inherit !important;
  opacity: 1 !important;
  filter: none !important;
}

[data-page="analitico"] .card strong,
[data-page="analitico"] .metric-card strong,
[data-page="analitico"] .kpi-card strong,
[data-page="analitico"] .stat-card strong,
.analitico .card strong,
.analitico .metric-card strong,
.analitico .kpi-card strong,
.analitico .stat-card strong,
.analytics .card strong,
.analytics .metric-card strong,
.analytics .kpi-card strong,
.analytics .stat-card strong,
.analytics-page .card strong,
.analytics-page .metric-card strong,
.analytics-page .kpi-card strong,
.analytics-page .stat-card strong,
.page-analitico .card strong,
.page-analitico .metric-card strong,
.page-analitico .kpi-card strong,
.page-analitico .stat-card strong,
#analitico .card strong,
#analitico .metric-card strong,
#analitico .kpi-card strong,
#analitico .stat-card strong {
  color: #ffffff !important;
  font-size: 36px !important;
  font-weight: 900 !important;
}

/* grid dos cards do topo */
[data-page="analitico"] .stats,
[data-page="analitico"] .metrics,
[data-page="analitico"] .kpis,
.analitico .stats,
.analitico .metrics,
.analitico .kpis,
.analytics .stats,
.analytics .metrics,
.analytics .kpis,
.analytics-page .stats,
.analytics-page .metrics,
.analytics-page .kpis,
.page-analitico .stats,
.page-analitico .metrics,
.page-analitico .kpis,
#analitico .stats,
#analitico .metrics,
#analitico .kpis {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(140px, 1fr)) !important;
  gap: 14px !important;
  margin: 18px 0 !important;
}

/* painéis dos gráficos */
[data-page="analitico"] .chart-card,
[data-page="analitico"] .chart-panel,
[data-page="analitico"] canvas,
.analitico .chart-card,
.analitico .chart-panel,
.analytics .chart-card,
.analytics .chart-panel,
.analytics-page .chart-card,
.analytics-page .chart-panel,
.page-analitico .chart-card,
.page-analitico .chart-panel,
#analitico .chart-card,
#analitico .chart-panel {
  color: #f8fafc !important;
}

[data-page="analitico"] .chart-card,
[data-page="analitico"] .chart-panel,
[data-page="analitico"] section:has(canvas),
.analitico .chart-card,
.analitico .chart-panel,
.analitico section:has(canvas),
.analytics .chart-card,
.analytics .chart-panel,
.analytics section:has(canvas),
.analytics-page .chart-card,
.analytics-page .chart-panel,
.analytics-page section:has(canvas),
.page-analitico .chart-card,
.page-analitico .chart-panel,
.page-analitico section:has(canvas),
#analitico .chart-card,
#analitico .chart-panel,
#analitico section:has(canvas) {
  background:
    radial-gradient(circle at 95% 8%, rgba(34,197,94,.12), transparent 28%),
    rgba(4, 18, 13, .84) !important;
  border: 1px solid rgba(34,197,94,.22) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05) !important;
  padding: 18px !important;
  overflow: hidden !important;
}

/* grid dos gráficos: linha grande + dois menores */
[data-page="analitico"] .charts-grid,
.analitico .charts-grid,
.analytics .charts-grid,
.analytics-page .charts-grid,
.page-analitico .charts-grid,
#analitico .charts-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  gap: 18px !important;
  align-items: stretch !important;
}

/* corrige legendas dos gráficos e eixos apagados */
[data-page="analitico"] canvas,
.analitico canvas,
.analytics canvas,
.analytics-page canvas,
.page-analitico canvas,
#analitico canvas {
  filter: none !important;
  opacity: 1 !important;
}

/* botões superiores */
[data-page="analitico"] button,
.analitico button,
.analytics button,
.analytics-page button,
.page-analitico button,
#analitico button {
  border-radius: 14px !important;
  font-weight: 800 !important;
  min-height: 46px !important;
}

[data-page="analitico"] .btn-primary,
.analitico .btn-primary,
.analytics .btn-primary,
.analytics-page .btn-primary,
.page-analitico .btn-primary,
#analitico .btn-primary,
[data-page="analitico"] button:first-of-type,
.analitico button:first-of-type,
.analytics button:first-of-type,
.analytics-page button:first-of-type {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  color: #03120c !important;
  border: 0 !important;
  box-shadow: 0 16px 30px rgba(34,197,94,.22) !important;
}

/* remove cards brancos no analítico especificamente */
[data-page="analitico"] [style*="background: white"],
[data-page="analitico"] [style*="background:#fff"],
[data-page="analitico"] [style*="background: #fff"],
.analitico [style*="background: white"],
.analitico [style*="background:#fff"],
.analitico [style*="background: #fff"],
.analytics [style*="background: white"],
.analytics [style*="background:#fff"],
.analytics [style*="background: #fff"],
.analytics-page [style*="background: white"],
.analytics-page [style*="background:#fff"],
.analytics-page [style*="background: #fff"] {
  background:
    radial-gradient(circle at 92% 10%, rgba(34,197,94,.18), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
  color: #ffffff !important;
}

/* responsividade */
@media (max-width: 1280px) {
  [data-page="analitico"] .stats,
  [data-page="analitico"] .metrics,
  [data-page="analitico"] .kpis,
  .analitico .stats,
  .analitico .metrics,
  .analitico .kpis,
  .analytics .stats,
  .analytics .metrics,
  .analytics .kpis,
  .analytics-page .stats,
  .analytics-page .metrics,
  .analytics-page .kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  [data-page="analitico"] .charts-grid,
  .analitico .charts-grid,
  .analytics .charts-grid,
  .analytics-page .charts-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  [data-page="analitico"] .stats,
  [data-page="analitico"] .metrics,
  [data-page="analitico"] .kpis,
  .analitico .stats,
  .analitico .metrics,
  .analitico .kpis,
  .analytics .stats,
  .analytics .metrics,
  .analytics .kpis,
  .analytics-page .stats,
  .analytics-page .metrics,
  .analytics-page .kpis {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   FIX REAL ANALITICO - sobrescreve body.caio-emerald-ui #analitico
   ========================================================= */

body.caio-emerald-ui #analitico,
body.caio-emerald-ui section#analitico.page {
  background: transparent !important;
  color: #f8fafc !important;
}

body.caio-emerald-ui #analitico .analytics-dashboard {
  gap: 20px !important;
}

/* HERO */
body.caio-emerald-ui #analitico .analytics-hero {
  background:
    radial-gradient(circle at 82% 20%, rgba(34,197,94,.18), transparent 34%),
    linear-gradient(135deg, rgba(5, 22, 15, .96), rgba(2, 10, 7, .94)) !important;
  border: 1px solid rgba(34,197,94,.24) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.caio-emerald-ui #analitico .analytics-kicker {
  background: rgba(34,197,94,.16) !important;
  color: #b7f7cc !important;
  border: 1px solid rgba(34,197,94,.18) !important;
}

body.caio-emerald-ui #analitico .analytics-hero h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.42) !important;
}

body.caio-emerald-ui #analitico .analytics-hero p {
  color: rgba(226,232,240,.84) !important;
}

/* KPI CARDS - remove branco de verdade */
body.caio-emerald-ui #analitico .analytics-kpi-card {
  background:
    radial-gradient(circle at 92% 6%, rgba(34,197,94,.18), transparent 31%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  border: 1px solid rgba(34,197,94,.24) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #ffffff !important;
}

body.caio-emerald-ui #analitico .analytics-kpi-card:after {
  background: rgba(34,197,94,.18) !important;
  opacity: .85 !important;
}

body.caio-emerald-ui #analitico .analytics-kpi-card.urgent:after {
  background: rgba(245,158,11,.22) !important;
}

body.caio-emerald-ui #analitico .analytics-kpi-card span {
  color: #b7f7cc !important;
  -webkit-text-fill-color: #b7f7cc !important;
}

body.caio-emerald-ui #analitico .analytics-kpi-card strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.35) !important;
}

body.caio-emerald-ui #analitico .analytics-kpi-card small {
  color: rgba(226,232,240,.76) !important;
}

/* CARDS DOS GRAFICOS */
body.caio-emerald-ui #analitico .analytics-card {
  background:
    radial-gradient(circle at 95% 8%, rgba(34,197,94,.11), transparent 30%),
    linear-gradient(180deg, rgba(8,31,22,.88), rgba(3,13,9,.90)) !important;
  border: 1px solid rgba(34,197,94,.24) !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.caio-emerald-ui #analitico .analytics-card-head {
  background: rgba(0,0,0,.16) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}

body.caio-emerald-ui #analitico .analytics-card-head strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.caio-emerald-ui #analitico .analytics-card-head span,
body.caio-emerald-ui #analitico .analytics-card-head small {
  color: rgba(226,232,240,.72) !important;
  -webkit-text-fill-color: rgba(226,232,240,.72) !important;
}

/* PAINEIS LISTAS / TABELAS */
body.caio-emerald-ui #analitico .analytics-panel,
body.caio-emerald-ui #analitico .analytics-table-card {
  background:
    radial-gradient(circle at 95% 8%, rgba(34,197,94,.11), transparent 30%),
    linear-gradient(180deg, rgba(8,31,22,.88), rgba(3,13,9,.90)) !important;
  border: 1px solid rgba(34,197,94,.24) !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.05) !important;
  color: #f8fafc !important;
}

body.caio-emerald-ui #analitico .analytics-list-row,
body.caio-emerald-ui #analitico .analytics-table-card tr {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.07) !important;
}

body.caio-emerald-ui #analitico .analytics-list-row strong,
body.caio-emerald-ui #analitico .analytics-list-row span,
body.caio-emerald-ui #analitico .analytics-table-card td,
body.caio-emerald-ui #analitico .analytics-table-card th {
  color: #f8fafc !important;
}

/* GRIDS MAIS LIMPOS */
body.caio-emerald-ui #analitico .analytics-kpi-grid {
  grid-template-columns: repeat(6, minmax(145px, 1fr)) !important;
  gap: 14px !important;
}

body.caio-emerald-ui #analitico .analytics-grid-main {
  grid-template-columns: 2fr 1fr 1fr !important;
  gap: 18px !important;
}

body.caio-emerald-ui #analitico .analytics-card.chart-wide {
  grid-column: span 1 !important;
}

body.caio-emerald-ui #analitico .analytics-grid-main .chart-wide:first-child {
  grid-column: span 1 !important;
}

body.caio-emerald-ui #analitico canvas {
  filter: none !important;
  opacity: 1 !important;
}

/* BOTÕES */
body.caio-emerald-ui #analitico .analytics-actions .btn-primary {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  color: #03120c !important;
}

body.caio-emerald-ui #analitico .analytics-actions .btn-soft {
  background: rgba(255,255,255,.94) !important;
  color: #0f3d27 !important;
}

/* MOBILE */
@media (max-width: 1280px) {
  body.caio-emerald-ui #analitico .analytics-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.caio-emerald-ui #analitico .analytics-grid-main {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  body.caio-emerald-ui #analitico .analytics-kpi-grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   FIX ATENDIMENTOS - MODAL VER FICHA PREMIUM
   Remove CSS antigo azul/branco e integra no tema escuro
   ========================================================= */

/* Overlay do modal */
.modal-backdrop,
.ficha-backdrop,
#personModalBackdrop,
#fichaModalBackdrop,
#modalFichaBackdrop,
[class*="modal-backdrop"],
[class*="backdrop"] {
  background: rgba(0, 12, 8, .72) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
}

/* Caixa principal da ficha */
#personModal,
#fichaModal,
#modalFicha,
.person-modal,
.ficha-modal,
.modal-ficha,
.people-modal,
.cadastro-modal,
[class*="ficha"][class*="modal"],
[class*="modal"][class*="ficha"] {
  background:
    radial-gradient(circle at 85% 8%, rgba(34,197,94,.13), transparent 34%),
    linear-gradient(180deg, rgba(6,24,16,.97), rgba(2,10,7,.98)) !important;
  border: 1px solid rgba(34,197,94,.26) !important;
  border-radius: 26px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #f8fafc !important;
  overflow: hidden !important;
}

/* Header azul antigo -> verde premium */
#personModal .modal-header,
#fichaModal .modal-header,
#modalFicha .modal-header,
.person-modal .modal-header,
.ficha-modal .modal-header,
.modal-ficha .modal-header,
.people-modal .modal-header,
.cadastro-modal .modal-header,
[class*="ficha"][class*="modal"] .modal-header,
[class*="modal"][class*="ficha"] .modal-header {
  background:
    linear-gradient(135deg, rgba(34,197,94,.95), rgba(16,185,129,.82)) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  color: #04130d !important;
  padding: 18px 24px !important;
}

#personModal .modal-header *,
#fichaModal .modal-header *,
#modalFicha .modal-header *,
.person-modal .modal-header *,
.ficha-modal .modal-header *,
.modal-ficha .modal-header *,
.people-modal .modal-header *,
.cadastro-modal .modal-header * {
  color: #04130d !important;
  -webkit-text-fill-color: #04130d !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

#personModal .modal-header h1,
#personModal .modal-header h2,
#personModal .modal-header h3,
#personModal .modal-header strong,
#fichaModal .modal-header h1,
#fichaModal .modal-header h2,
#fichaModal .modal-header h3,
#fichaModal .modal-header strong,
#modalFicha .modal-header h1,
#modalFicha .modal-header h2,
#modalFicha .modal-header h3,
#modalFicha .modal-header strong,
.person-modal .modal-header h1,
.person-modal .modal-header h2,
.person-modal .modal-header h3,
.person-modal .modal-header strong,
.ficha-modal .modal-header h1,
.ficha-modal .modal-header h2,
.ficha-modal .modal-header h3,
.ficha-modal .modal-header strong,
.modal-ficha .modal-header h1,
.modal-ficha .modal-header h2,
.modal-ficha .modal-header h3,
.modal-ficha .modal-header strong {
  font-weight: 900 !important;
}

/* Botão fechar */
#personModal .modal-close,
#fichaModal .modal-close,
#modalFicha .modal-close,
.person-modal .modal-close,
.ficha-modal .modal-close,
.modal-ficha .modal-close,
.people-modal .modal-close,
.cadastro-modal .modal-close,
[class*="modal"] .close,
[class*="modal"] .btn-close {
  background: rgba(255,255,255,.16) !important;
  color: #04130d !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
}

/* Corpo interno */
#personModal .modal-body,
#fichaModal .modal-body,
#modalFicha .modal-body,
.person-modal .modal-body,
.ficha-modal .modal-body,
.modal-ficha .modal-body,
.people-modal .modal-body,
.cadastro-modal .modal-body {
  background: transparent !important;
  color: #f8fafc !important;
}

/* Cards internos do modal */
#personModal .card,
#fichaModal .card,
#modalFicha .card,
.person-modal .card,
.ficha-modal .card,
.modal-ficha .card,
.people-modal .card,
.cadastro-modal .card,
#personModal [class*="card"],
#fichaModal [class*="card"],
#modalFicha [class*="card"],
.person-modal [class*="card"],
.ficha-modal [class*="card"],
.modal-ficha [class*="card"] {
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  border: 1px solid rgba(34,197,94,.22) !important;
  border-radius: 20px !important;
  color: #f8fafc !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* Faixas "Dados principais", "Endereço" */
#personModal .section-title,
#fichaModal .section-title,
#modalFicha .section-title,
.person-modal .section-title,
.ficha-modal .section-title,
.modal-ficha .section-title,
#personModal [class*="section"],
#fichaModal [class*="section"],
#modalFicha [class*="section"],
.person-modal [class*="section"],
.ficha-modal [class*="section"],
.modal-ficha [class*="section"] {
  color: #d1fae5 !important;
}

#personModal .form-section-title,
#fichaModal .form-section-title,
#modalFicha .form-section-title,
.person-modal .form-section-title,
.ficha-modal .form-section-title,
.modal-ficha .form-section-title,
#personModal legend,
#fichaModal legend,
#modalFicha legend {
  background: rgba(34,197,94,.12) !important;
  color: #d1fae5 !important;
  border: 1px solid rgba(34,197,94,.20) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

/* Labels */
#personModal label,
#fichaModal label,
#modalFicha label,
.person-modal label,
.ficha-modal label,
.modal-ficha label,
.people-modal label,
.cadastro-modal label {
  color: rgba(226,232,240,.88) !important;
  -webkit-text-fill-color: rgba(226,232,240,.88) !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

/* Inputs/selects/textareas: remove cinza velho */
#personModal input,
#personModal select,
#personModal textarea,
#fichaModal input,
#fichaModal select,
#fichaModal textarea,
#modalFicha input,
#modalFicha select,
#modalFicha textarea,
.person-modal input,
.person-modal select,
.person-modal textarea,
.ficha-modal input,
.ficha-modal select,
.ficha-modal textarea,
.modal-ficha input,
.modal-ficha select,
.modal-ficha textarea,
.people-modal input,
.people-modal select,
.people-modal textarea,
.cadastro-modal input,
.cadastro-modal select,
.cadastro-modal textarea {
  background: rgba(3, 18, 12, .78) !important;
  border: 1px solid rgba(34,197,94,.30) !important;
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 0 rgba(34,197,94,0) !important;
  opacity: 1 !important;
  filter: none !important;
}

#personModal input:focus,
#personModal select:focus,
#personModal textarea:focus,
#fichaModal input:focus,
#fichaModal select:focus,
#fichaModal textarea:focus,
#modalFicha input:focus,
#modalFicha select:focus,
#modalFicha textarea:focus,
.person-modal input:focus,
.person-modal select:focus,
.person-modal textarea:focus,
.ficha-modal input:focus,
.ficha-modal select:focus,
.ficha-modal textarea:focus,
.modal-ficha input:focus,
.modal-ficha select:focus,
.modal-ficha textarea:focus {
  border-color: rgba(34,197,94,.78) !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.16), 0 0 22px rgba(34,197,94,.14) !important;
  outline: none !important;
}

#personModal input::placeholder,
#fichaModal input::placeholder,
#modalFicha input::placeholder,
.person-modal input::placeholder,
.ficha-modal input::placeholder,
.modal-ficha input::placeholder {
  color: rgba(226,232,240,.50) !important;
  -webkit-text-fill-color: rgba(226,232,240,.50) !important;
}

/* Avatar lateral */
#personModal .avatar,
#fichaModal .avatar,
#modalFicha .avatar,
.person-modal .avatar,
.ficha-modal .avatar,
.modal-ficha .avatar,
.people-modal .avatar,
.cadastro-modal .avatar,
#personModal [class*="avatar"],
#fichaModal [class*="avatar"],
#modalFicha [class*="avatar"] {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  color: #04130d !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 16px 36px rgba(34,197,94,.20) !important;
}

/* Tags status no modal */
#personModal .tag,
#personModal .badge,
#fichaModal .tag,
#fichaModal .badge,
#modalFicha .tag,
#modalFicha .badge,
.person-modal .tag,
.person-modal .badge,
.ficha-modal .tag,
.ficha-modal .badge,
.modal-ficha .tag,
.modal-ficha .badge {
  background: rgba(34,197,94,.16) !important;
  color: #d1fae5 !important;
  border: 1px solid rgba(34,197,94,.22) !important;
}

/* Rodapé/botões */
#personModal .modal-footer,
#fichaModal .modal-footer,
#modalFicha .modal-footer,
.person-modal .modal-footer,
.ficha-modal .modal-footer,
.modal-ficha .modal-footer {
  background: rgba(2,10,7,.72) !important;
  border-top: 1px solid rgba(34,197,94,.18) !important;
}

#personModal button,
#fichaModal button,
#modalFicha button,
.person-modal button,
.ficha-modal button,
.modal-ficha button {
  border-radius: 12px !important;
  font-weight: 900 !important;
}

/* Se algum CSS antigo força modal claro */
#personModal [style*="background: white"],
#personModal [style*="background:#fff"],
#personModal [style*="background: #fff"],
#fichaModal [style*="background: white"],
#fichaModal [style*="background:#fff"],
#fichaModal [style*="background: #fff"],
#modalFicha [style*="background: white"],
#modalFicha [style*="background:#fff"],
#modalFicha [style*="background: #fff"] {
  background: rgba(6,24,16,.88) !important;
  color: #f8fafc !important;
}


/* =========================================================
   FICHA CADASTRO/ATENDIMENTOS - OVERRIDE FINAL FORTE
   Escopo somente dos modais reais da ficha.
   ========================================================= */

#cpRealBackdrop,
#cpPopupBackdrop,
#vitorFichaBackdrop,
body.cp-ficha-modal-open::before,
body.cp-real-modal-open::before,
body.cp-popup-open::before,
body.vitor-ficha-open::before {
  background: rgba(0,10,8,.76) !important;
  backdrop-filter: blur(16px) saturate(125%) !important;
}

#cpRealModal,
#cpPopupCard,
#vitorFichaModal,
body.cp-ficha-modal-open #cad_pessoas .people-workspace,
body.cp-modal-open #cad_pessoas .people-workspace {
  background:
    radial-gradient(circle at 88% 6%, rgba(34,197,94,.14), transparent 34%),
    linear-gradient(180deg, rgba(5,22,15,.985), rgba(2,10,7,.99)) !important;
  background-color: #04160f !important;
  border: 1px solid rgba(34,197,94,.30) !important;
  box-shadow: 0 34px 120px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #f8fafc !important;
}

#cpRealHead,
#cpPopupHead,
#vitorFichaHeader,
body.cp-ficha-modal-open .cp-ficha-modal-head,
body.cp-modal-open #cpModalHeader {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  background-color: #22c55e !important;
  color: #03120c !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.22) !important;
}

#cpRealHead *,
#cpPopupHead *,
#vitorFichaHeader *,
body.cp-ficha-modal-open .cp-ficha-modal-head *,
body.cp-modal-open #cpModalHeader * {
  color: #03120c !important;
  -webkit-text-fill-color: #03120c !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

#cpRealClose,
#cpPopupClose,
#vitorFichaClose,
.cp-ficha-modal-close,
.cp-modal-close {
  background: rgba(255,255,255,.22) !important;
  color: #03120c !important;
  -webkit-text-fill-color: #03120c !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}

#cpRealBody,
#cpPopupBody,
#vitorFichaBody,
body.cp-ficha-modal-open #cad_pessoas,
body.cp-modal-open #cad_pessoas {
  background: transparent !important;
  color: #f8fafc !important;
}

.cp-real-layout,
.vf-grid {
  background: transparent !important;
}

.cp-real-profile,
.cp-real-form,
#cpPopupCard .people-profile-panel,
#cpPopupCard .people-form-card,
.vf-side,
.vf-form,
body.cp-ficha-modal-open #cad_pessoas .people-profile-panel,
body.cp-ficha-modal-open #cad_pessoas .people-form-card,
body.cp-modal-open #cad_pessoas .people-profile-panel,
body.cp-modal-open #cad_pessoas .people-form-card,
#cad_pessoas .people-workspace .people-profile-panel,
#cad_pessoas .people-workspace .people-form-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  background-color: rgba(8,31,22,.92) !important;
  border: 1px solid rgba(34,197,94,.24) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #f8fafc !important;
}

#cpRealModal h1,#cpRealModal h2,#cpRealModal h3,#cpRealModal strong,
#cpPopupCard h1,#cpPopupCard h2,#cpPopupCard h3,#cpPopupCard strong,
#vitorFichaModal h1,#vitorFichaModal h2,#vitorFichaModal h3,#vitorFichaModal strong,
body.cp-ficha-modal-open #cad_pessoas h1,
body.cp-ficha-modal-open #cad_pessoas h2,
body.cp-ficha-modal-open #cad_pessoas h3,
body.cp-ficha-modal-open #cad_pessoas strong,
body.cp-modal-open #cad_pessoas h1,
body.cp-modal-open #cad_pessoas h2,
body.cp-modal-open #cad_pessoas h3,
body.cp-modal-open #cad_pessoas strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.42) !important;
}

#cpRealModal p,#cpRealModal small,
#cpPopupCard p,#cpPopupCard small,
#vitorFichaModal p,#vitorFichaModal small,
body.cp-ficha-modal-open #cad_pessoas p,
body.cp-ficha-modal-open #cad_pessoas small,
body.cp-modal-open #cad_pessoas p,
body.cp-modal-open #cad_pessoas small {
  color: rgba(226,232,240,.76) !important;
  -webkit-text-fill-color: rgba(226,232,240,.76) !important;
}

.cp-real-avatar,
.vf-avatar,
#cpPopupCard .profile-avatar,
body.cp-ficha-modal-open #cad_pessoas .profile-avatar,
body.cp-modal-open #cad_pessoas .profile-avatar {
  background: linear-gradient(135deg, #22c55e, #0ea5e9) !important;
  color: #03120c !important;
  -webkit-text-fill-color: #03120c !important;
  box-shadow: 0 16px 36px rgba(34,197,94,.24) !important;
}

.cp-real-badge,
.vf-badge,
#cpPopupCard .tag,
body.cp-ficha-modal-open #cad_pessoas .tag,
body.cp-modal-open #cad_pessoas .tag {
  background: rgba(34,197,94,.15) !important;
  color: #d1fae5 !important;
  -webkit-text-fill-color: #d1fae5 !important;
  border: 1px solid rgba(34,197,94,.24) !important;
}

.cp-real-section-title,
.vf-section,
#cpPopupCard .form-section-title,
#cpPopupCard .section-title,
body.cp-ficha-modal-open #cad_pessoas .form-section-title,
body.cp-ficha-modal-open #cad_pessoas .section-title,
body.cp-modal-open #cad_pessoas .form-section-title,
body.cp-modal-open #cad_pessoas .section-title {
  background: rgba(34,197,94,.13) !important;
  color: #d1fae5 !important;
  -webkit-text-fill-color: #d1fae5 !important;
  border: 1px solid rgba(34,197,94,.22) !important;
  border-radius: 14px !important;
}

#cpRealModal label,
#cpPopupCard label,
#vitorFichaModal label,
body.cp-ficha-modal-open #cad_pessoas label,
body.cp-modal-open #cad_pessoas label {
  color: rgba(226,232,240,.88) !important;
  -webkit-text-fill-color: rgba(226,232,240,.88) !important;
  font-weight: 900 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

#cpRealModal input,#cpRealModal select,#cpRealModal textarea,
#cpPopupCard input,#cpPopupCard select,#cpPopupCard textarea,
#vitorFichaModal input,#vitorFichaModal select,#vitorFichaModal textarea,
body.cp-ficha-modal-open #cad_pessoas input,
body.cp-ficha-modal-open #cad_pessoas select,
body.cp-ficha-modal-open #cad_pessoas textarea,
body.cp-modal-open #cad_pessoas input,
body.cp-modal-open #cad_pessoas select,
body.cp-modal-open #cad_pessoas textarea {
  background: rgba(3,18,12,.86) !important;
  background-color: rgba(3,18,12,.86) !important;
  border: 1px solid rgba(34,197,94,.34) !important;
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  opacity: 1 !important;
  filter: none !important;
}

#cpRealModal input:focus,#cpRealModal select:focus,#cpRealModal textarea:focus,
#cpPopupCard input:focus,#cpPopupCard select:focus,#cpPopupCard textarea:focus,
#vitorFichaModal input:focus,#vitorFichaModal select:focus,#vitorFichaModal textarea:focus,
body.cp-ficha-modal-open #cad_pessoas input:focus,
body.cp-ficha-modal-open #cad_pessoas select:focus,
body.cp-ficha-modal-open #cad_pessoas textarea:focus,
body.cp-modal-open #cad_pessoas input:focus,
body.cp-modal-open #cad_pessoas select:focus,
body.cp-modal-open #cad_pessoas textarea:focus {
  border-color: rgba(34,197,94,.88) !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.16), 0 0 22px rgba(34,197,94,.14) !important;
  outline: none !important;
}

#cpRealFooter,
#vitorFichaFooter,
body.cp-modal-open #cad_pessoas .modal-footer,
body.cp-ficha-modal-open #cad_pessoas .modal-footer {
  background: rgba(2,10,7,.86) !important;
  border-top: 1px solid rgba(34,197,94,.20) !important;
}

.cp-real-btn.soft,
.vf-btn.soft,
#cpPopupCard .btn-soft,
body.cp-ficha-modal-open #cad_pessoas .btn-soft,
body.cp-modal-open #cad_pessoas .btn-soft {
  background: rgba(255,255,255,.08) !important;
  color: #d1fae5 !important;
  border: 1px solid rgba(34,197,94,.24) !important;
}

.cp-real-btn.primary,
.vf-btn.primary,
#cpPopupCard .btn-primary,
body.cp-ficha-modal-open #cad_pessoas .btn-primary,
body.cp-modal-open #cad_pessoas .btn-primary {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  color: #03120c !important;
  -webkit-text-fill-color: #03120c !important;
  border: 0 !important;
  box-shadow: 0 14px 30px rgba(34,197,94,.24) !important;
}


/* =========================================================
   LOADING PREMIUM ENTRE ABAS - FLUIDEZ SEM QUEBRAR LÓGICA
   ========================================================= */

#caioPageTransitionLoader{
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(34,197,94,.16), transparent 28%),
    rgba(0, 10, 8, .42) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .18s ease, visibility .18s ease !important;
}

#caioPageTransitionLoader.is-active{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.caio-loader-card{
  min-width: 220px !important;
  padding: 22px 24px !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(6,24,16,.92), rgba(2,10,7,.96)) !important;
  border: 1px solid rgba(34,197,94,.28) !important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  color: #f8fafc !important;
  transform: translateY(8px) scale(.98) !important;
  transition: transform .18s ease !important;
}

#caioPageTransitionLoader.is-active .caio-loader-card{
  transform: translateY(0) scale(1) !important;
}

.caio-loader-ring{
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  border: 3px solid rgba(34,197,94,.18) !important;
  border-top-color: #22c55e !important;
  box-shadow: 0 0 24px rgba(34,197,94,.24) !important;
  animation: caioLoaderSpin .72s linear infinite !important;
  flex: 0 0 auto !important;
}

.caio-loader-text strong{
  display: block !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
}

.caio-loader-text small{
  display: block !important;
  color: rgba(209,250,229,.72) !important;
  margin-top: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.caio-page-switching .page.active,
body.caio-page-switching main,
body.caio-page-switching .main,
body.caio-page-switching .content,
body.caio-page-switching .main-content{
  transition: opacity .16s ease, filter .16s ease, transform .16s ease !important;
}

body.caio-page-switching .page.active{
  opacity: .55 !important;
  filter: blur(2px) saturate(.92) !important;
  transform: translateY(2px) !important;
}

body.caio-page-lock-clicks .page,
body.caio-page-lock-clicks main,
body.caio-page-lock-clicks .main-content{
  pointer-events: none !important;
}

@keyframes caioLoaderSpin{
  to{ transform: rotate(360deg); }
}

/* mini skeleton para cards que aparecem durante troca */
body.caio-page-switching .card,
body.caio-page-switching .analytics-card,
body.caio-page-switching .metric-card,
body.caio-page-switching .stat-card{
  position: relative;
  overflow: hidden;
}

body.caio-page-switching .card::after,
body.caio-page-switching .analytics-card::after,
body.caio-page-switching .metric-card::after,
body.caio-page-switching .stat-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(34,197,94,.07), transparent);
  transform: translateX(-100%);
  animation: caioShimmer .85s ease infinite;
  pointer-events: none;
}

@keyframes caioShimmer{
  100%{ transform: translateX(100%); }
}


/* =========================================================
   AJUSTE FINO - CADASTRO PESSOAS + SIDEBAR ATENDIMENTOS
   ========================================================= */

/* Ficha cadastro pessoas: remove qualquer texto escuro remanescente */
#cpRealModal,
#cpPopupCard,
#vitorFichaModal,
body.cp-ficha-modal-open #cad_pessoas,
body.cp-modal-open #cad_pessoas {
  color: #f8fafc !important;
}

#cpRealModal *,
#cpPopupCard *,
#vitorFichaModal *,
body.cp-ficha-modal-open #cad_pessoas *,
body.cp-modal-open #cad_pessoas * {
  opacity: 1 !important;
  filter: none !important;
}

#cpRealModal h1,#cpRealModal h2,#cpRealModal h3,#cpRealModal h4,
#cpRealModal strong,#cpRealModal b,
#cpPopupCard h1,#cpPopupCard h2,#cpPopupCard h3,#cpPopupCard h4,
#cpPopupCard strong,#cpPopupCard b,
#vitorFichaModal h1,#vitorFichaModal h2,#vitorFichaModal h3,#vitorFichaModal h4,
#vitorFichaModal strong,#vitorFichaModal b,
body.cp-ficha-modal-open #cad_pessoas h1,
body.cp-ficha-modal-open #cad_pessoas h2,
body.cp-ficha-modal-open #cad_pessoas h3,
body.cp-ficha-modal-open #cad_pessoas h4,
body.cp-ficha-modal-open #cad_pessoas strong,
body.cp-ficha-modal-open #cad_pessoas b,
body.cp-modal-open #cad_pessoas h1,
body.cp-modal-open #cad_pessoas h2,
body.cp-modal-open #cad_pessoas h3,
body.cp-modal-open #cad_pessoas h4,
body.cp-modal-open #cad_pessoas strong,
body.cp-modal-open #cad_pessoas b {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35) !important;
}

#cpRealModal p,#cpRealModal span,#cpRealModal small,#cpRealModal div,
#cpPopupCard p,#cpPopupCard span,#cpPopupCard small,#cpPopupCard div,
#vitorFichaModal p,#vitorFichaModal span,#vitorFichaModal small,#vitorFichaModal div,
body.cp-ficha-modal-open #cad_pessoas p,
body.cp-ficha-modal-open #cad_pessoas span,
body.cp-ficha-modal-open #cad_pessoas small,
body.cp-ficha-modal-open #cad_pessoas div,
body.cp-modal-open #cad_pessoas p,
body.cp-modal-open #cad_pessoas span,
body.cp-modal-open #cad_pessoas small,
body.cp-modal-open #cad_pessoas div {
  color: #e5f7ec !important;
  -webkit-text-fill-color: #e5f7ec !important;
}

/* mantém texto do header verde escuro, como botão premium */
#cpRealHead *, #cpPopupHead *, #vitorFichaHeader *,
body.cp-ficha-modal-open .cp-ficha-modal-head *,
body.cp-modal-open #cpModalHeader * {
  color: #03120c !important;
  -webkit-text-fill-color: #03120c !important;
  text-shadow: none !important;
}

/* labels e textos secundários da ficha */
#cpRealModal label,
#cpPopupCard label,
#vitorFichaModal label,
body.cp-ficha-modal-open #cad_pessoas label,
body.cp-modal-open #cad_pessoas label,
.cp-real-photo label,
.vf-photo label {
  color: rgba(226,232,240,.92) !important;
  -webkit-text-fill-color: rgba(226,232,240,.92) !important;
  font-weight: 900 !important;
}

/* campos continuam brancos no texto */
#cpRealModal input,#cpRealModal select,#cpRealModal textarea,
#cpPopupCard input,#cpPopupCard select,#cpPopupCard textarea,
#vitorFichaModal input,#vitorFichaModal select,#vitorFichaModal textarea,
body.cp-ficha-modal-open #cad_pessoas input,
body.cp-ficha-modal-open #cad_pessoas select,
body.cp-ficha-modal-open #cad_pessoas textarea,
body.cp-modal-open #cad_pessoas input,
body.cp-modal-open #cad_pessoas select,
body.cp-modal-open #cad_pessoas textarea {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

/* Sidebar: remove a coluna/barra verde do grupo Atendimentos */
.sidebar .menu-group,
.grouped-nav .menu-group,
.sidebar [data-group],
.grouped-nav [data-group] {
  background: transparent !important;
  box-shadow: none !important;
}

/* especificamente quando o grupo/linha de Atendimentos estiver ativo/aberto */
.sidebar .menu-group:has([data-page="atendimentos"]),
.grouped-nav .menu-group:has([data-page="atendimentos"]),
.sidebar .menu-group.open:has([data-page="atendimentos"]),
.grouped-nav .menu-group.open:has([data-page="atendimentos"]) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* item Atendimentos: deixa só texto limpo, sem retângulo/coluna */
.sidebar [data-page="atendimentos"],
.grouped-nav [data-page="atendimentos"],
.sidebar button[data-page="atendimentos"],
.grouped-nav button[data-page="atendimentos"],
.sidebar a[data-page="atendimentos"],
.grouped-nav a[data-page="atendimentos"] {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

/* remove pseudo-barras laterais que formavam coluna */
.sidebar [data-page="atendimentos"]::before,
.sidebar [data-page="atendimentos"]::after,
.grouped-nav [data-page="atendimentos"]::before,
.grouped-nav [data-page="atendimentos"]::after,
.sidebar .menu-group:has([data-page="atendimentos"])::before,
.sidebar .menu-group:has([data-page="atendimentos"])::after,
.grouped-nav .menu-group:has([data-page="atendimentos"])::before,
.grouped-nav .menu-group:has([data-page="atendimentos"])::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

/* mantém hover discreto sem coluna */
.sidebar [data-page="atendimentos"]:hover,
.grouped-nav [data-page="atendimentos"]:hover {
  background: rgba(255,255,255,.045) !important;
  border-radius: 12px !important;
}


/* =========================================================
   SIDEBAR HOVER + BARRA VERDE REMOVIDA
   ========================================================= */

/* remove barra/coluna verde lateral dos grupos */
.sidebar .submenu,
.sidebar .menu-dropdown,
.sidebar .group-content,
.sidebar .menu-children,
.sidebar .accordion-content {
  background: rgba(5, 15, 12, 0.55) !important;
  border-left: none !important;
  box-shadow: none !important;
}

/* remove barra lateral/pseudo */
.sidebar .submenu::before,
.sidebar .submenu::after,
.sidebar .menu-dropdown::before,
.sidebar .menu-dropdown::after,
.sidebar .group-content::before,
.sidebar .group-content::after,
.sidebar .menu-children::before,
.sidebar .menu-children::after,
.sidebar .accordion-content::before,
.sidebar .accordion-content::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

/* itens internos */
.sidebar .submenu a,
.sidebar .submenu button,
.sidebar .menu-dropdown a,
.sidebar .menu-dropdown button,
.sidebar .group-content a,
.sidebar .group-content button,
.sidebar .menu-children a,
.sidebar .menu-children button,
.sidebar .accordion-content a,
.sidebar .accordion-content button {
  color: rgba(255,255,255,.92) !important;
  background: transparent !important;
  transition: all .18s ease !important;
  border-radius: 12px !important;
}

/* hover claro premium */
.sidebar .submenu a:hover,
.sidebar .submenu button:hover,
.sidebar .menu-dropdown a:hover,
.sidebar .menu-dropdown button:hover,
.sidebar .group-content a:hover,
.sidebar .group-content button:hover,
.sidebar .menu-children a:hover,
.sidebar .menu-children button:hover,
.sidebar .accordion-content a:hover,
.sidebar .accordion-content button:hover {
  background: rgba(255,255,255,.12) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(120,255,180,.12) inset !important;
}

/* item ativo mais claro */
.sidebar .submenu .active,
.sidebar .menu-dropdown .active,
.sidebar .group-content .active,
.sidebar .menu-children .active,
.sidebar .accordion-content .active {
  background: linear-gradient(90deg, rgba(34,197,94,.22), rgba(34,197,94,.06)) !important;
  color: #ffffff !important;
}

/* corrige dropdown principal */
.sidebar .menu-group,
.sidebar .accordion,
.sidebar .nav-group {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
}

/* hover do botão principal */
.sidebar .menu-group:hover,
.sidebar .accordion:hover,
.sidebar .nav-group:hover {
  background: rgba(255,255,255,.05) !important;
}


/* ===== FINAL PANEL PREMIUM ===== */

.dashboard-hero,
.hero-dashboard,
.painel-hero{
  min-height:320px!important;
  border-radius:32px!important;
  padding:36px!important;
  background:
    radial-gradient(circle at top right, rgba(34,197,94,.12), transparent 30%),
    linear-gradient(180deg,#0d1713,#07100d)!important;
  border:1px solid rgba(255,255,255,.05)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.35)!important;
}

.dashboard-hero h1,
.hero-dashboard h1,
.painel-hero h1{
  font-size:64px!important;
  line-height:.95!important;
  font-weight:900!important;
  letter-spacing:-.06em!important;
  color:#fff!important;
  max-width:760px!important;
}

.dashboard-hero p,
.hero-dashboard p,
.painel-hero p{
  color:rgba(255,255,255,.72)!important;
  font-size:18px!important;
  max-width:680px!important;
}

.dashboard-grid,
.metrics-grid,
.cards-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:22px!important;
}

.metric-card,
.stat-card,
.dashboard-card{
  min-height:170px!important;
  border-radius:28px!important;
  padding:24px!important;
  background:
    radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 30%),
    linear-gradient(180deg,#0f1b16,#08110d)!important;
  border:1px solid rgba(255,255,255,.05)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.28)!important;
}

.metric-card h2,
.stat-card h2,
.dashboard-card h2{
  color:#fff!important;
  font-size:52px!important;
  font-weight:900!important;
  letter-spacing:-.05em!important;
}

.metric-card small,
.stat-card small,
.dashboard-card small{
  color:#8de5ad!important;
  text-transform:uppercase!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}

.map-card,
.dashboard-map-card{
  border-radius:32px!important;
  overflow:hidden!important;
  background:#08110d!important;
  border:1px solid rgba(34,197,94,.14)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.34)!important;
}

.quick-actions,
.acoes-rapidas{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:18px!important;
}

.quick-actions .action-card,
.acoes-rapidas .action-card{
  min-height:150px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 30%),
    linear-gradient(180deg,#111d18,#08110d)!important;
  border:1px solid rgba(255,255,255,.05)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:22px!important;
}

.quick-actions .action-card h3,
.acoes-rapidas .action-card h3{
  color:#fff!important;
  font-size:24px!important;
}

.quick-actions .action-card p,
.acoes-rapidas .action-card p{
  color:rgba(255,255,255,.72)!important;
}

.sidebar a:hover,
.sidebar button:hover{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}

.sidebar .active{
  background:linear-gradient(90deg, rgba(34,197,94,.18), transparent)!important;
}

@media(max-width:1200px){
 .dashboard-grid,
 .metrics-grid,
 .cards-grid{
   grid-template-columns:repeat(2,1fr)!important;
 }
}

@media(max-width:700px){
 .dashboard-grid,
 .metrics-grid,
 .cards-grid,
 .quick-actions,
 .acoes-rapidas{
   grid-template-columns:1fr!important;
 }
 .dashboard-hero h1{
   font-size:42px!important;
 }
}

/* =========================================================
   CODEX 20260522 - POLISH GLOBAL SEGURO
   Somente visual: sidebar, loading, modais e legibilidade.
========================================================= */

html body.caio-emerald-ui{
  --codex-ink:#f7fff9;
  --codex-muted:rgba(226,255,236,.72);
  --codex-soft:rgba(226,255,236,.52);
  --codex-green:#24ef79;
  --codex-line:rgba(116,255,179,.18);
  --codex-panel:rgba(5,17,11,.78);
}

html body.caio-emerald-ui .topbar h1,
html body.caio-emerald-ui .topbar h2,
html body.caio-emerald-ui .topbar h3,
html body.caio-emerald-ui .topbar strong,
html body.caio-emerald-ui .title-group h1,
html body.caio-emerald-ui .title-group h2{
  color:var(--codex-ink)!important;
  -webkit-text-fill-color:var(--codex-ink)!important;
}

html body.caio-emerald-ui .topbar,
html body.caio-emerald-ui .premium-topbar{
  background:linear-gradient(180deg,rgba(4,15,10,.76),rgba(2,9,6,.64))!important;
  border-color:rgba(116,255,179,.14)!important;
  box-shadow:0 20px 62px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05)!important;
}

html body.caio-emerald-ui .sidebar{
  background:
    radial-gradient(circle at 45% 0%, rgba(36,239,121,.12), transparent 30%),
    linear-gradient(180deg,rgba(2,13,8,.96),rgba(1,7,5,.98))!important;
  border-right:1px solid rgba(116,255,179,.14)!important;
  color:var(--codex-ink)!important;
}

html body.caio-emerald-ui .sidebar *,
html body.caio-emerald-ui .grouped-nav *,
html body.caio-emerald-ui .nav *{
  -webkit-text-fill-color:currentColor;
}

html body.caio-emerald-ui .sidebar .menu-group,
html body.caio-emerald-ui .sidebar .menu-group.open,
html body.caio-emerald-ui .grouped-nav .menu-group,
html body.caio-emerald-ui .grouped-nav .menu-group.open,
html body.caio-emerald-ui .sidebar .menu-group-items,
html body.caio-emerald-ui .grouped-nav .menu-group-items{
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

html body.caio-emerald-ui .sidebar .menu-group::before,
html body.caio-emerald-ui .sidebar .menu-group::after,
html body.caio-emerald-ui .grouped-nav .menu-group::before,
html body.caio-emerald-ui .grouped-nav .menu-group::after,
html body.caio-emerald-ui .sidebar .menu-group-items::before,
html body.caio-emerald-ui .sidebar .menu-group-items::after{
  display:none!important;
  content:none!important;
}

html body.caio-emerald-ui .nav-item,
html body.caio-emerald-ui .nav-subitem,
html body.caio-emerald-ui .menu-group-toggle,
html body.caio-emerald-ui .sidebar a,
html body.caio-emerald-ui .sidebar button{
  min-height:42px!important;
  border-radius:12px!important;
  color:rgba(247,255,249,.82)!important;
  background:transparent!important;
  background-color:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  text-shadow:none!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}

html body.caio-emerald-ui .nav-item:hover,
html body.caio-emerald-ui .nav-subitem:hover,
html body.caio-emerald-ui .menu-group-toggle:hover,
html body.caio-emerald-ui .sidebar a:hover,
html body.caio-emerald-ui .sidebar button:hover{
  color:#ffffff!important;
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(116,255,179,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 26px rgba(0,0,0,.18)!important;
  transform:translateX(1px)!important;
}

html body.caio-emerald-ui .nav-item.active,
html body.caio-emerald-ui .nav-subitem.active,
html body.caio-emerald-ui .menu-group.open > .menu-group-toggle{
  color:#ffffff!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:rgba(116,255,179,.16)!important;
  box-shadow:none!important;
}

html body.caio-emerald-ui .menu-group-items{
  margin:4px 0 8px!important;
  padding:0 0 0 10px!important;
  border-left:1px solid rgba(116,255,179,.10)!important;
}

html body.caio-emerald-ui .menu-group-items .nav-subitem{
  min-height:36px!important;
  padding-left:14px!important;
  color:rgba(226,255,236,.70)!important;
}

html body.caio-emerald-ui .sidebar .user-card,
html body.caio-emerald-ui .brand-logo-shell{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(116,255,179,.14)!important;
  color:var(--codex-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}

#caioPageTransitionLoader{
  align-items:flex-start!important;
  justify-content:flex-end!important;
  padding:18px 22px!important;
  background:rgba(0,8,5,.18)!important;
  backdrop-filter:blur(4px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(4px) saturate(112%)!important;
}

.caio-loader-card{
  min-width:0!important;
  padding:10px 13px!important;
  border-radius:999px!important;
  background:rgba(3,16,10,.78)!important;
  border:1px solid rgba(116,255,179,.20)!important;
  box-shadow:0 16px 48px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06)!important;
  gap:10px!important;
}

.caio-loader-ring{
  width:18px!important;
  height:18px!important;
  border-width:2px!important;
}

.caio-loader-text strong{
  font-size:12px!important;
  color:#f7fff9!important;
}

.caio-loader-text small{
  display:none!important;
}

body.caio-page-switching .page.active,
body.caio-tab-loading .page.active{
  opacity:.72!important;
  filter:blur(1.5px) saturate(.96)!important;
  transform:translateY(2px)!important;
}

#caioTabDotLoader{
  background:rgba(0,8,5,.16)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

#caioTabDotLoader .dot-loader{
  width:20px!important;
  height:20px!important;
  border-width:2px!important;
  box-shadow:0 0 22px rgba(36,239,121,.22)!important;
}

#demandaEditBackdrop,
#demandaConfirmBackdrop{
  background:rgba(0,8,5,.62)!important;
  backdrop-filter:blur(18px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(118%)!important;
  animation:codexModalFade .18s ease both!important;
}

#demandaEditModal,
#demandaConfirmModal{
  color:#f7fff9!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(36,239,121,.12),transparent 32%),
    linear-gradient(180deg,rgba(7,22,14,.98),rgba(2,9,6,.99))!important;
  border:1px solid rgba(116,255,179,.24)!important;
  border-radius:24px!important;
  box-shadow:0 34px 120px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.05)!important;
  animation:codexModalIn .22s cubic-bezier(.16,1,.3,1) both!important;
}

#demandaEditModal h1,#demandaEditModal h2,#demandaEditModal h3,
#demandaConfirmModal h1,#demandaConfirmModal h2,#demandaConfirmModal h3{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

#demandaConfirmModal p,
#demandaEditModal small,
#demandaEditModal label{
  color:rgba(226,255,236,.76)!important;
  -webkit-text-fill-color:rgba(226,255,236,.76)!important;
}

.demanda-edit-head{
  background:linear-gradient(135deg,rgba(36,239,121,.18),rgba(36,239,121,.06))!important;
  border-bottom:1px solid rgba(116,255,179,.18)!important;
}

.demanda-edit-head h3,
.demanda-edit-head small{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

#demandaEditClose{
  color:#ffffff!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(116,255,179,.20)!important;
}

.demanda-edit-field input,
.demanda-edit-field textarea,
#demandaEditModal input,
#demandaEditModal textarea,
#demandaEditModal select{
  background:rgba(2,12,8,.78)!important;
  border:1px solid rgba(116,255,179,.22)!important;
  color:#f7fff9!important;
  -webkit-text-fill-color:#f7fff9!important;
}

#demandaConfirmCancel,
#demandaEditCancel{
  background:rgba(255,255,255,.07)!important;
  color:#e9fff0!important;
  border:1px solid rgba(116,255,179,.20)!important;
}

#demandaConfirmOk,
#demandaEditSave{
  background:linear-gradient(135deg,#24ef79,#0c8f49)!important;
  color:#03120c!important;
  -webkit-text-fill-color:#03120c!important;
  border:0!important;
}

#cpRealModal,#cpPopupCard,#vitorFichaModal,
body.cp-ficha-modal-open #cad_pessoas,
body.cp-modal-open #cad_pessoas{
  color:#f7fff9!important;
}

#cpRealModal :is(p,span,small,div,label,strong,b,h1,h2,h3,h4),
#cpPopupCard :is(p,span,small,div,label,strong,b,h1,h2,h3,h4),
#vitorFichaModal :is(p,span,small,div,label,strong,b,h1,h2,h3,h4),
body.cp-ficha-modal-open #cad_pessoas :is(p,span,small,div,label,strong,b,h1,h2,h3,h4),
body.cp-modal-open #cad_pessoas :is(p,span,small,div,label,strong,b,h1,h2,h3,h4){
  color:#f7fff9!important;
  -webkit-text-fill-color:#f7fff9!important;
}

#cpRealModal :is(small,.muted,.subtext),
#cpPopupCard :is(small,.muted,.subtext),
#vitorFichaModal :is(small,.muted,.subtext),
body.cp-ficha-modal-open #cad_pessoas :is(small,.muted,.subtext),
body.cp-modal-open #cad_pessoas :is(small,.muted,.subtext){
  color:rgba(226,255,236,.70)!important;
  -webkit-text-fill-color:rgba(226,255,236,.70)!important;
}

@keyframes codexModalFade{
  from{opacity:0}
  to{opacity:1}
}

@keyframes codexModalIn{
  from{opacity:0;transform:translateY(14px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}


/* =========================================================
   FIX CERTEIRO - PAINEL / MAPA DO TERRITÓRIO
   Alvo real: .dashboard-map-card / #dashboardMapPreviewPanel / #dashboardMapPreview
   ========================================================= */

/* painel vira grid real e a linha do mapa ocupa o espaço vazio */
#dashboard{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

/* estatísticas no topo */
#dashboard > .stats-grid{
  grid-column:1 / -1 !important;
  order:1 !important;
  width:100% !important;
}

/* MAPA GRANDE: pega a classe exata que apareceu no DevTools */
#dashboard > .dashboard-map-card,
#dashboard > .dashboard-card-map,
#dashboard > div.card.dashboard-map-card,
#dashboard > div.card.dashboard-card-map,
#dashboard .dashboard-map-card.dashboard-card-map{
  grid-column:1 / span 7 !important;
  order:2 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:470px !important;
  height:470px !important;
  margin:0 !important;
  padding:18px !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:26px !important;
  overflow:hidden !important;
}

/* Radar fica à direita */
#dashboard > .dashboard-quick-card,
#dashboard > .dashboard-card-radar,
#dashboard > section.card.dashboard-quick-card,
#dashboard > section.card.dashboard-card-radar{
  grid-column:8 / -1 !important;
  order:2 !important;
  width:100% !important;
  max-width:none !important;
  min-height:470px !important;
  height:470px !important;
  margin:0 !important;
}

/* demais seções descem */
#dashboard > .grid-2,
#dashboard > .dashboard-insights-grid{
  grid-column:1 / -1 !important;
  order:3 !important;
  width:100% !important;
}

/* cabeçalho do mapa */
#dashboard .dashboard-map-card .card-head,
#dashboard .dashboard-card-map .card-head{
  flex:0 0 auto !important;
  height:auto !important;
  min-height:56px !important;
  padding:0 0 14px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
}

#dashboard .dashboard-map-card .card-head h3,
#dashboard .dashboard-card-map .card-head h3{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-size:25px !important;
  line-height:1.02 !important;
  max-width:none !important;
}

/* remove resumo/legenda que consome espaço */
#dashboardMapSummary,
#dashboardMapLegend,
#dashboard .dashboard-map-summary,
#dashboard .dashboard-map-legend{
  display:none !important;
}

/* painel do preview ocupa todo o card */
#dashboardMapPreviewPanel,
#dashboard .dashboard-map-preview-panel{
  position:relative !important;
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:380px !important;
  display:block !important;
  border-radius:20px !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#020b08 !important;
  border:1px solid rgba(91,255,166,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 55px rgba(0,0,0,.32) !important;
}

/* iframe real da aba mapa */
#dashboardMapFrame,
#dashboard .dashboard-map-frame,
#dashboardMapPreviewPanel iframe,
#dashboard .dashboard-map-preview-panel iframe{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  border:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:12 !important;
  border-radius:20px !important;
  background:#020b08 !important;
}

/* div antigo não pode cobrir o iframe */
#dashboardMapPreview{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  z-index:1 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* tira placeholders/fake pin que escondiam o mapa */
#dashboardMapEmpty,
#dashboard .dashboard-map-empty{
  display:none !important;
}

#dashboardMapPreviewPanel::before,
#dashboardMapPreviewPanel::after,
#dashboard .dashboard-map-preview-panel::before,
#dashboard .dashboard-map-preview-panel::after{
  display:none !important;
  content:none !important;
}

/* label fica pequeno no canto */
#dashboard .dashboard-map-label,
.dashboard-map-label{
  position:absolute !important;
  left:14px !important;
  bottom:14px !important;
  transform:none !important;
  z-index:30 !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.50) !important;
  border:1px solid rgba(91,255,166,.18) !important;
  backdrop-filter:blur(10px) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-shadow:none !important;
}

/* força mesmo se algum CSS antigo aplicar largura fixa de 200px */
.dashboard-map-card,
.dashboard-card-map{
  max-width:none !important;
}

/* responsivo */
@media(max-width:1180px){
  #dashboard > .dashboard-map-card,
  #dashboard > .dashboard-card-map,
  #dashboard > .dashboard-quick-card,
  #dashboard > .dashboard-card-radar{
    grid-column:1 / -1 !important;
    height:auto !important;
    min-height:420px !important;
  }
}


/* =========================================================
   FIX FINAL - MAPA APARECENDO NO PAINEL
   O painel usa Leaflet próprio no #dashboardMapPreview.
   ========================================================= */

#dashboardMapFrame,
#dashboard .dashboard-map-frame,
#dashboardMapPreviewPanel iframe{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

#dashboardMapPreviewPanel,
#dashboard .dashboard-map-preview-panel{
  position:relative !important;
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:380px !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:20px !important;
  background:#07140f !important;
}

#dashboardMapPreview{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:10 !important;
  pointer-events:auto !important;
  background:#07140f !important;
}

#dashboardMapPreview.leaflet-container,
#dashboardMapPreview .leaflet-container{
  background:#07140f !important;
}

#dashboardMapPreview .leaflet-control-container{
  display:none !important;
}

#dashboardMapEmpty{
  display:none !important;
}

#dashboardMapPreviewPanel::before,
#dashboardMapPreviewPanel::after,
#dashboard .dashboard-map-preview-panel::before,
#dashboard .dashboard-map-preview-panel::after{
  display:none !important;
  content:none !important;
}


/* =========================================================
   FIX DEFINITIVO - PREVIEW DO MAPA APARECENDO NO PAINEL
   Usa iframe OSM isolado para nunca ficar branco/preto.
   ========================================================= */

#dashboard > .dashboard-map-card,
#dashboard > .dashboard-card-map,
#dashboard .dashboard-map-card.dashboard-card-map{
  grid-column:1 / span 7 !important;
  order:2 !important;
  width:100% !important;
  max-width:none !important;
  min-height:470px !important;
  height:470px !important;
  display:flex !important;
  flex-direction:column !important;
}

#dashboardMapPreviewPanel,
#dashboard .dashboard-map-preview-panel{
  position:relative !important;
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:380px !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:20px !important;
  background:#07140f !important;
  border:1px solid rgba(91,255,166,.18) !important;
}

/* iframe final do preview */
#dashboardMapPreviewOSM{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  border:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:50 !important;
  pointer-events:none !important;
  background:#e8efe8 !important;
  filter:saturate(.92) contrast(1.04) brightness(.88) !important;
}

/* esconder tentativas antigas que ficavam branco/preto por cima */
#dashboardMapFrame,
#dashboardMapPreview,
#dashboardMapEmpty,
#dashboard .dashboard-map-frame,
#dashboard .dashboard-map-empty{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

#dashboardMapPreviewPanel::before,
#dashboardMapPreviewPanel::after,
#dashboard .dashboard-map-preview-panel::before,
#dashboard .dashboard-map-preview-panel::after{
  display:none !important;
  content:none !important;
}

.dashboard-map-label{
  position:absolute !important;
  left:14px !important;
  bottom:14px !important;
  z-index:80 !important;
  transform:none !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.58) !important;
  border:1px solid rgba(91,255,166,.18) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-shadow:none !important;
  backdrop-filter:blur(10px) !important;
}

@media(max-width:1180px){
  #dashboard > .dashboard-map-card,
  #dashboard > .dashboard-card-map{
    grid-column:1 / -1 !important;
  }
}


/* =========================================================
   FIX MODAL NOVO ATENDIMENTO - DESIGN PREMIUM
   Escopo: modal/tela "Adicionar atendimento"
   Não altera lógica, eventos ou Firebase.
   ========================================================= */

dialog:has(h2, h3),
.modal:has(h2),
.modal-card:has(h2),
[role="dialog"]:has(h2),
.atendimento-modal,
#atendimentoModal,
#novoAtendimentoModal {
  color:#f8fafc !important;
}

/* Modal que contém "Adicionar atendimento" */
dialog:has(h2:first-child),
dialog:has(h3:first-child),
.modal:has(h2),
[role="dialog"]:has(h2),
#atendimentoModal,
#novoAtendimentoModal {
  max-width:min(1040px,94vw) !important;
  width:min(1040px,94vw) !important;
  max-height:92vh !important;
  overflow:hidden !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 90% 8%, rgba(34,197,94,.14), transparent 32%),
    linear-gradient(180deg, rgba(5,22,15,.99), rgba(2,10,7,.99)) !important;
  border:1px solid rgba(34,197,94,.28) !important;
  box-shadow:0 36px 120px rgba(0,0,0,.66), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color:#f8fafc !important;
}

/* header do modal */
dialog h2:first-child,
dialog h3:first-child,
.modal h2:first-child,
.modal h3:first-child,
[role="dialog"] h2:first-child,
[role="dialog"] h3:first-child,
#atendimentoModal h2:first-child,
#novoAtendimentoModal h2:first-child {
  display:block !important;
  margin:-1px -1px 22px !important;
  padding:22px 28px !important;
  background:linear-gradient(135deg,#22c55e,#16a34a) !important;
  color:#03120c !important;
  -webkit-text-fill-color:#03120c !important;
  font-size:22px !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
  border-radius:28px 28px 0 0 !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
}

/* botão X */
dialog button[aria-label="Fechar"],
dialog .close,
dialog .modal-close,
.modal button[aria-label="Fechar"],
[role="dialog"] button[aria-label="Fechar"],
#atendimentoModal button[aria-label="Fechar"],
#novoAtendimentoModal button[aria-label="Fechar"] {
  position:absolute !important;
  top:18px !important;
  right:22px !important;
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  color:#03120c !important;
  -webkit-text-fill-color:#03120c !important;
  font-size:22px !important;
  font-weight:950 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* corpo interno vira layout limpo */
dialog form,
.modal form,
[role="dialog"] form,
#atendimentoModal form,
#novoAtendimentoModal form {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px 20px !important;
  padding:0 24px 24px !important;
  max-height:calc(92vh - 120px) !important;
  overflow:auto !important;
}

/* títulos de etapas ocupam largura total */
dialog form h3,
dialog form h4,
dialog form > strong,
dialog form > .section-title,
.modal form h3,
.modal form h4,
[role="dialog"] form h3,
[role="dialog"] form h4,
#atendimentoModal form h3,
#atendimentoModal form h4,
#novoAtendimentoModal form h3,
#novoAtendimentoModal form h4 {
  grid-column:1 / -1 !important;
  margin:10px 0 0 !important;
  padding:12px 16px !important;
  border-radius:16px !important;
  background:rgba(34,197,94,.13) !important;
  border:1px solid rgba(34,197,94,.22) !important;
  color:#d1fae5 !important;
  -webkit-text-fill-color:#d1fae5 !important;
  font-size:13px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

/* labels */
dialog label,
.modal label,
[role="dialog"] label,
#atendimentoModal label,
#novoAtendimentoModal label {
  display:block !important;
  color:rgba(226,232,240,.9) !important;
  -webkit-text-fill-color:rgba(226,232,240,.9) !important;
  font-size:12px !important;
  font-weight:900 !important;
  margin:0 0 7px !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}

/* campos */
dialog input,
dialog select,
dialog textarea,
.modal input,
.modal select,
.modal textarea,
[role="dialog"] input,
[role="dialog"] select,
[role="dialog"] textarea,
#atendimentoModal input,
#atendimentoModal select,
#atendimentoModal textarea,
#novoAtendimentoModal input,
#novoAtendimentoModal select,
#novoAtendimentoModal textarea {
  width:100% !important;
  min-height:46px !important;
  border-radius:14px !important;
  background:rgba(3,18,12,.88) !important;
  border:1px solid rgba(34,197,94,.34) !important;
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  padding:11px 13px !important;
  outline:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
  font-size:14px !important;
}

dialog textarea,
.modal textarea,
[role="dialog"] textarea,
#atendimentoModal textarea,
#novoAtendimentoModal textarea {
  min-height:96px !important;
  resize:vertical !important;
}

dialog input:focus,
dialog select:focus,
dialog textarea:focus,
.modal input:focus,
.modal select:focus,
.modal textarea:focus,
[role="dialog"] input:focus,
[role="dialog"] select:focus,
[role="dialog"] textarea:focus {
  border-color:rgba(34,197,94,.9) !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.16),0 0 22px rgba(34,197,94,.14) !important;
}

/* lista de pessoas vinculadas */
dialog .people-list,
dialog .person-list,
dialog .linked-person-list,
dialog [class*="pessoa"],
dialog [class*="vincul"],
.modal .people-list,
.modal .person-list,
[role="dialog"] .people-list,
[role="dialog"] .person-list {
  color:#f8fafc !important;
}

/* botões pequenos de vincular */
dialog button,
.modal button,
[role="dialog"] button {
  border-radius:12px !important;
  font-weight:900 !important;
}

dialog button:not([aria-label="Fechar"]),
.modal button:not([aria-label="Fechar"]),
[role="dialog"] button:not([aria-label="Fechar"]) {
  border:1px solid rgba(34,197,94,.24) !important;
  color:#d1fae5 !important;
  background:rgba(255,255,255,.07) !important;
}

/* botões finais */
dialog button[type="submit"],
dialog .btn-primary,
dialog button:last-child,
.modal button[type="submit"],
.modal .btn-primary,
[role="dialog"] button[type="submit"],
[role="dialog"] .btn-primary,
#atendimentoModal button[type="submit"],
#novoAtendimentoModal button[type="submit"] {
  background:linear-gradient(135deg,#22c55e,#16a34a) !important;
  color:#03120c !important;
  -webkit-text-fill-color:#03120c !important;
  border:0 !important;
  box-shadow:0 14px 30px rgba(34,197,94,.24) !important;
}

/* rodapé branco antigo */
dialog .modal-footer,
.modal .modal-footer,
[role="dialog"] .modal-footer,
#atendimentoModal .modal-footer,
#novoAtendimentoModal .modal-footer {
  grid-column:1 / -1 !important;
  margin:8px -24px -24px !important;
  padding:16px 24px !important;
  background:rgba(2,10,7,.92) !important;
  border-top:1px solid rgba(34,197,94,.20) !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

/* se houver wrappers diretos com texto bagunçado, melhora espaçamento */
dialog form > *,
.modal form > *,
[role="dialog"] form > * {
  min-width:0 !important;
}

/* responsivo */
@media(max-width:760px){
  dialog form,
  .modal form,
  [role="dialog"] form,
  #atendimentoModal form,
  #novoAtendimentoModal form {
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   PAINEL - PREVIEW REAL DA ABA MAPA
   Usa iframe mapa.html?embed=dashboard. Remove imagens/fakes.
   ========================================================= */

#dashboard > .dashboard-map-card,
#dashboard > .dashboard-card-map,
#dashboard .dashboard-map-card.dashboard-card-map{
  grid-column:1 / span 7 !important;
  order:2 !important;
  width:100% !important;
  max-width:none !important;
  min-height:470px !important;
  height:470px !important;
  display:flex !important;
  flex-direction:column !important;
  padding:18px !important;
}

#dashboard > .dashboard-quick-card,
#dashboard > .dashboard-card-radar{
  grid-column:8 / -1 !important;
  order:2 !important;
  min-height:470px !important;
}

#dashboardMapPreviewPanel,
#dashboard .dashboard-map-preview-panel{
  position:relative !important;
  flex:1 1 auto !important;
  width:100% !important;
  min-height:380px !important;
  height:100% !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:20px !important;
  background:#06120d !important;
  border:1px solid rgba(91,255,166,.18) !important;
  isolation:isolate !important;
}

/* remove camadas fake/placeholder */
#dashboardMapVisualFinal,
#dashboardMapPreviewOSM,
#dashboardMapPreview,
#dashboardMapEmpty{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* iframe real da aba mapa */
#dashboardMapFrame,
#dashboard .dashboard-map-frame,
#dashboardMapPreviewPanel > iframe#dashboardMapFrame{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  border:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:50 !important;
  pointer-events:none !important;
  border-radius:20px !important;
  background:#06120d !important;
}

/* tira pseudo-elementos antigos que cobriam o mapa */
#dashboardMapPreviewPanel::before,
#dashboardMapPreviewPanel::after,
#dashboard .dashboard-map-preview-panel::before,
#dashboard .dashboard-map-preview-panel::after{
  display:none !important;
  content:none !important;
}

.dashboard-map-label{
  position:absolute !important;
  left:14px !important;
  bottom:14px !important;
  z-index:80 !important;
  display:inline-flex !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.55) !important;
  border:1px solid rgba(91,255,166,.18) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  backdrop-filter:blur(10px) !important;
}

#dashboardMapSummary,
#dashboardMapLegend{
  display:none !important;
}

@media(max-width:1180px){
  #dashboard > .dashboard-map-card,
  #dashboard > .dashboard-card-map,
  #dashboard > .dashboard-quick-card,
  #dashboard > .dashboard-card-radar{
    grid-column:1 / -1 !important;
  }
}

/* Final topbar cleanup: remove legacy live status from every header. */
body.caio-emerald-ui .top-right::before,
body.caio-emerald-ui .top-right::after,
body.caio-emerald-ui .topbar::before,
body.caio-emerald-ui .topbar::after {
  content: none !important;
  display: none !important;
}
