@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

body.caio-emerald-ui{
  --emerald-900:#072b16;
  --emerald-850:#0a361c;
  --emerald-800:#0d4724;
  --emerald-700:#14662f;
  --emerald-600:#1d8a40;
  --emerald-500:#31b35b;
  --emerald-100:#ecf9ef;
  --ink-900:#162233;
  --ink-700:#4c5d72;
  --line:#dfe9e2;
  --panel:#ffffff;
  --panel-soft:#f8fbf8;
  --shadow:0 22px 52px rgba(20, 42, 27, .08);
  --shadow-soft:0 14px 32px rgba(20, 42, 27, .06);
  background:linear-gradient(180deg,#f3f7f2 0%,#eef4ef 100%) !important;
  color:var(--ink-900);
  font-family:"Plus Jakarta Sans","Segoe UI",sans-serif !important;
}

body.caio-emerald-ui,
body.caio-emerald-ui button,
body.caio-emerald-ui input,
body.caio-emerald-ui select,
body.caio-emerald-ui textarea{
  font-family:"Plus Jakarta Sans","Segoe UI",sans-serif !important;
}

body.caio-emerald-ui #appShell{
  grid-template-columns:248px minmax(0,1fr) !important;
  background:transparent !important;
}

body.caio-emerald-ui .sidebar{
  width:248px !important;
  min-width:248px !important;
  max-width:248px !important;
  background:
    radial-gradient(circle at top left,rgba(74,211,115,.18),transparent 34%),
    linear-gradient(180deg,#083114 0%,#06250f 100%) !important;
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:24px 0 44px rgba(4,20,10,.22);
}

body.caio-emerald-ui .sidebar-top{
  padding:22px 18px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.caio-emerald-ui .brand-mini{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-height:0 !important;
}

body.caio-emerald-ui .brand-logo-shell{
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.12);
  display:grid;
  place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

body.caio-emerald-ui .brand-logo{
  max-width:40px;
  max-height:40px;
  object-fit:contain;
}

body.caio-emerald-ui .brand-copy strong{
  display:block;
  color:#111827;
  font-size:15px;
  font-weight:800;
  line-height:1.1;
}

body.caio-emerald-ui .brand-copy small{
  display:block;
  margin-top:4px;
  color:rgba(226,241,232,.76);
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body.caio-emerald-ui .sidebar .grouped-nav,
body.caio-emerald-ui .sidebar .nav{
  padding:14px 12px 18px !important;
  gap:7px !important;
}

body.caio-emerald-ui .sidebar [data-page],
body.caio-emerald-ui .sidebar .menu-group-toggle{
  min-height:46px !important;
  border-radius:16px !important;
  gap:12px !important;
  color:#ecfff1 !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:-.01em;
}

body.caio-emerald-ui .sidebar [data-page]::before,
body.caio-emerald-ui .sidebar .menu-group-toggle::before{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  min-width:20px;
  color:rgba(237,255,241,.96);
  font-size:15px;
  line-height:1;
  content:"•";
}

body.caio-emerald-ui .sidebar [data-page="dashboard"]::before{content:"▦";}
body.caio-emerald-ui .sidebar [data-page="analitico"]::before{content:"◔";}
body.caio-emerald-ui .sidebar [data-page="protocolos"]::before{content:"⌘";}
body.caio-emerald-ui .sidebar [data-page="demandas"]::before{content:"✦";}
body.caio-emerald-ui .sidebar [data-page="mapa"]::before{content:"⌖";}
body.caio-emerald-ui .sidebar [data-page="cidadaos"]::before{content:"◎";}
body.caio-emerald-ui .sidebar [data-page="cad_pessoas"]::before{content:"◌";}
body.caio-emerald-ui .sidebar [data-page="agenda"]::before{content:"◷";}
body.caio-emerald-ui .sidebar [data-page="campanha"]::before{content:"✳";}
body.caio-emerald-ui .sidebar [data-page="portal"]::before{content:"◫";}
body.caio-emerald-ui .sidebar [data-page="portais"]::before{content:"⊞";}
body.caio-emerald-ui .sidebar [data-page="usuarios"]::before{content:"☻";}
body.caio-emerald-ui .sidebar [data-page="configuracoes"]::before{content:"⚙";}
body.caio-emerald-ui .sidebar .menu-group[data-menu-group="atendimentos"] .menu-group-toggle::before{content:"◍";}
body.caio-emerald-ui .sidebar .menu-group[data-menu-group="documentos"] .menu-group-toggle::before{content:"▤";}
body.caio-emerald-ui .sidebar .menu-group[data-menu-group="legislativo"] .menu-group-toggle::before{content:"⚖";}

body.caio-emerald-ui .sidebar [data-page]:hover,
body.caio-emerald-ui .sidebar .menu-group-toggle:hover{
  background:rgba(255,255,255,.08) !important;
}

body.caio-emerald-ui .sidebar [data-page].active{
  background:linear-gradient(135deg,#2ca94f,#43cb73) !important;
  color:#111827 !important;
  box-shadow:0 18px 30px rgba(31,158,74,.26) !important;
}

body.caio-emerald-ui .sidebar .menu-group{
  background:rgba(255,255,255,.03) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

body.caio-emerald-ui .sidebar .menu-group-toggle{
  background:rgba(255,255,255,.04) !important;
}

body.caio-emerald-ui .sidebar .nav-subitem{
  margin-left:6px;
  border-radius:14px !important;
  color:rgba(230,247,235,.9) !important;
  font-size:13px !important;
}

body.caio-emerald-ui .sidebar .nav-subitem.active{
  background:rgba(64,199,108,.2) !important;
  color:#111827 !important;
}

body.caio-emerald-ui .sidebar-foot{
  padding:12px 14px 18px !important;
}

body.caio-emerald-ui .user-card{
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)) !important;
  color:#111827 !important;
  box-shadow:none !important;
}

body.caio-emerald-ui .user-card strong,
body.caio-emerald-ui .user-card small{
  color:#111827 !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed #appShell{
  grid-template-columns:92px minmax(0,1fr) !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar{
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .brand-copy,
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar-foot{
  display:none !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar [data-page],
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-toggle{
  justify-content:center !important;
  font-size:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar [data-page]::before,
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-toggle::before{
  margin:0 !important;
  font-size:18px !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-toggle span:first-child,
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-chevron,
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-items{
  display:none !important;
}

body.caio-emerald-ui .main{
  background:transparent !important;
  padding:18px 18px 26px !important;
}

body.caio-emerald-ui .topbar{
  min-height:86px;
  padding:18px 24px !important;
  border-radius:26px !important;
  border:1px solid rgba(20,60,32,.08) !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

body.caio-emerald-ui .top-left{
  align-items:center !important;
  gap:16px !important;
}

body.caio-emerald-ui .topbar-menu-trigger{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--emerald-800);
  font-size:18px;
  font-weight:800;
  box-shadow:var(--shadow-soft);
  cursor:pointer;
}

body.caio-emerald-ui .page-chip{
  background:var(--emerald-100) !important;
  color:var(--emerald-700) !important;
  font-weight:800 !important;
  border:1px solid #d4ead8 !important;
}

body.caio-emerald-ui .title-group h2{
  font-size:20px !important;
  color:#1a241d !important;
  font-weight:800 !important;
}

body.caio-emerald-ui .live-date{
  color:#6b7d70 !important;
  font-weight:600 !important;
}

body.caio-emerald-ui .top-right{
  gap:12px !important;
}

body.caio-emerald-ui .search-shell{
  min-width:min(360px,42vw);
  padding:0 14px;
  border-radius:18px !important;
  border:1px solid var(--line) !important;
  background:#fff !important;
  box-shadow:var(--shadow-soft);
}

body.caio-emerald-ui .search-input{
  min-height:48px;
  font-size:14px;
}

body.caio-emerald-ui .topbar-tools{
  display:flex;
  gap:10px;
}

body.caio-emerald-ui .topbar-tool{
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--emerald-700);
  font-size:18px;
  box-shadow:var(--shadow-soft);
}

body.caio-emerald-ui .topbar-profile{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 12px 8px 8px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-soft);
}

body.caio-emerald-ui .topbar-profile .user-avatar{
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#1f9f4e,#4ccf79) !important;
  color:#111827 !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

body.caio-emerald-ui .topbar-profile-copy strong{
  display:block;
  color:var(--ink-900);
  font-size:14px;
  font-weight:800;
}

body.caio-emerald-ui .topbar-profile-copy small{
  display:block;
  color:#6e7b72;
  font-size:12px;
  font-weight:600;
}

body.caio-emerald-ui .topbar-profile-chevron{
  color:#617064;
  font-size:12px;
  margin-left:2px;
}

body.caio-emerald-ui .premium-content,
body.caio-emerald-ui .content{
  padding-top:18px !important;
}

body.caio-emerald-ui .card,
body.caio-emerald-ui .atd-form-card,
body.caio-emerald-ui .atd-list-card,
body.caio-emerald-ui .atd-side-card,
body.caio-emerald-ui .atd-follow-card{
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(20,60,32,.08) !important;
  border-radius:24px !important;
  box-shadow:var(--shadow-soft) !important;
}

body.caio-emerald-ui .card-head,
body.caio-emerald-ui .atd-section-head,
body.caio-emerald-ui .analytics-card-head{
  margin-bottom:18px !important;
}

body.caio-emerald-ui h3,
body.caio-emerald-ui h4{
  color:var(--ink-900) !important;
}

body.caio-emerald-ui .btn{
  border-radius:16px !important;
  min-height:44px;
  font-weight:800 !important;
  letter-spacing:-.01em;
  box-shadow:none !important;
}

body.caio-emerald-ui .btn-primary{
  border-color:var(--emerald-600) !important;
  background:linear-gradient(135deg,#1d8a40,#39bf65) !important;
  color:#111827 !important;
}

body.caio-emerald-ui .btn-soft{
  border:1px solid #d7e7dc !important;
  background:#fff !important;
  color:var(--emerald-700) !important;
}

body.caio-emerald-ui .btn-danger{
  border:1px solid #ffd6d1 !important;
  background:#fff4f3 !important;
  color:#c63f32 !important;
}

body.caio-emerald-ui input,
body.caio-emerald-ui select,
body.caio-emerald-ui textarea{
  border-radius:16px !important;
  border:1px solid #d6e2d9 !important;
  background:#fff !important;
  color:var(--ink-900) !important;
  box-shadow:none !important;
}

body.caio-emerald-ui input:focus,
body.caio-emerald-ui select:focus,
body.caio-emerald-ui textarea:focus{
  outline:none !important;
  border-color:#6ab781 !important;
  box-shadow:0 0 0 4px rgba(49,179,91,.12) !important;
}

body.caio-emerald-ui .table-wrap,
body.caio-emerald-ui .analytics-table-wrap{
  border:1px solid #e1e8e2;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
}

body.caio-emerald-ui table{
  width:100%;
  border-collapse:collapse;
}

body.caio-emerald-ui thead th{
  background:#f1f6f1;
  color:#5e6c61;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:14px 16px;
}

body.caio-emerald-ui tbody td{
  padding:14px 16px;
  border-top:1px solid #edf1ed;
  color:#243225;
  font-size:13px;
}

body.caio-emerald-ui tbody tr:hover{
  background:#fbfdfb;
}

body.caio-emerald-ui .tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  font-weight:800;
  font-size:11px;
  border:1px solid transparent;
}

body.caio-emerald-ui .tag.urgente{background:#fff1f0;color:#cf3d31;border-color:#ffd5d0;}
body.caio-emerald-ui .tag.em-analise{background:#fff7df;color:#c17a07;border-color:#ffe39b;}
body.caio-emerald-ui .tag.em-andamento{background:#eef5ff;color:#2f6fda;border-color:#d3e4ff;}
body.caio-emerald-ui .tag.resolvido{background:#edf9ef;color:#198a41;border-color:#d8efd9;}
body.caio-emerald-ui .tag.recebido{background:#edf9ef;color:#198a41;border-color:#d8efd9;}

body.caio-emerald-ui .stack{
  display:grid;
  gap:12px;
}

body.caio-emerald-ui .stack-item{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid #e1e8e2;
  background:#fff;
}

body.caio-emerald-ui .stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

body.caio-emerald-ui .stats-grid .stat{
  position:relative;
  padding:18px 18px 18px 98px !important;
  overflow:hidden;
}

body.caio-emerald-ui .stats-grid .stat::before{
  position:absolute;
  left:22px;
  top:22px;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#111827;
  font-size:25px;
  font-weight:800;
  content:"•";
}

body.caio-emerald-ui .stats-grid .stat:nth-child(1)::before{content:"☰";background:linear-gradient(135deg,#188a40,#34be61);}
body.caio-emerald-ui .stats-grid .stat:nth-child(2)::before{content:"⚡";background:linear-gradient(135deg,#ff941f,#ffbf52);}
body.caio-emerald-ui .stats-grid .stat:nth-child(3)::before{content:"✓";background:linear-gradient(135deg,#3574db,#5ca2ff);}
body.caio-emerald-ui .stats-grid .stat:nth-child(4)::before{content:"◷";background:linear-gradient(135deg,#7348d9,#9866ff);}

body.caio-emerald-ui .stats-grid .label{
  color:#1c6d32 !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.caio-emerald-ui .stats-grid strong{
  display:block;
  margin-top:8px;
  font-size:22px !important;
  color:#172219 !important;
}

body.caio-emerald-ui .grid-2{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(360px,.9fr);
  gap:18px;
}

body.caio-emerald-ui body[data-caio-page="dashboard"] .quickbar,
body.caio-emerald-ui .quickbar{
  display:none;
}

body.caio-emerald-ui .hero-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:end;
  padding:24px 26px !important;
  background:
    radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(135deg,#0d4724,#1d8a40) !important;
  color:#111827 !important;
}

body.caio-emerald-ui .hero-card strong,
body.caio-emerald-ui .hero-card small{
  color:#111827 !important;
}

body.caio-emerald-ui .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

body.caio-emerald-ui .hero-actions .btn-soft{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#111827 !important;
}

body.caio-emerald-ui .analytics-shell,
body.caio-emerald-ui .kanban-grid{
  gap:18px !important;
}

body.caio-emerald-ui .analytics-sidebar{
  border-radius:22px;
  background:linear-gradient(180deg,#0b341a,#0e4422);
  color:#111827;
  padding:20px;
  box-shadow:var(--shadow);
}

body.caio-emerald-ui .analytics-filter-link{
  border-radius:14px !important;
}

body.caio-emerald-ui .atd-shell{
  --atd-blue:#1d8a40 !important;
  --atd-blue-2:#39bf65 !important;
  --atd-ink:#162233 !important;
  --atd-line:#dce9dd !important;
  --atd-soft:#f8fbf8 !important;
  --atd-warm:#c17a07 !important;
}

body.caio-emerald-ui #atendimentos .atd-hero{
  background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 36%),linear-gradient(135deg,#0e4c25,#1d8a40 74%) !important;
}

body.caio-emerald-ui #atendimentos .atd-guide-step b,
body.caio-emerald-ui #atendimentos .atd-tab-btn.active{
  background:linear-gradient(135deg,#1d8a40,#39bf65) !important;
  border-color:#1d8a40 !important;
}

body.caio-emerald-ui #atendimentos .atd-chip,
body.caio-emerald-ui #atendimentos .atd-table-code,
body.caio-emerald-ui #atendimentos .atd-item-protocol{
  background:#edf8ef !important;
  color:#1d8a40 !important;
}

body.caio-emerald-ui #atendimentos .atd-person-item span{
  background:#edf8ef !important;
  color:#1d8a40 !important;
}

body.caio-emerald-ui #atendimentos .atd-table tbody tr.selected{
  box-shadow:inset 4px 0 0 #1d8a40 !important;
}

body.caio-emerald-ui #usuarios .card,
body.caio-emerald-ui .permissions-shell .card{
  border-radius:22px !important;
}

@media (max-width:1280px){
  body.caio-emerald-ui .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.caio-emerald-ui .grid-2{grid-template-columns:1fr;}
}

@media (max-width:1100px){
  body.caio-emerald-ui #appShell{grid-template-columns:228px minmax(0,1fr) !important;}
  body.caio-emerald-ui .sidebar{width:228px !important;min-width:228px !important;max-width:228px !important;}
  body.caio-emerald-ui .search-shell{min-width:0;width:100%;}
}

@media (max-width:860px){
  body.caio-emerald-ui .main{padding:12px !important;}
  body.caio-emerald-ui .topbar{padding:16px !important;border-radius:22px !important;}
  body.caio-emerald-ui .topbar,
  body.caio-emerald-ui .top-left,
  body.caio-emerald-ui .top-right{display:grid !important;grid-template-columns:1fr;gap:12px !important;}
  body.caio-emerald-ui .topbar-profile{justify-content:flex-start;}
  body.caio-emerald-ui .stats-grid{grid-template-columns:1fr;}
  body.caio-emerald-ui .hero-card{grid-template-columns:1fr;}
}

body.caio-emerald-ui #appShell{
  grid-template-columns:264px minmax(0,1fr) !important;
}

body.caio-emerald-ui .sidebar{
  width:264px !important;
  min-width:264px !important;
  max-width:264px !important;
}

body.caio-emerald-ui .sidebar .menu-group-toggle span:first-child{
  display:block;
  flex:1;
  min-width:0;
}

body.caio-emerald-ui .sidebar [data-page]::before,
body.caio-emerald-ui .sidebar .menu-group-toggle::before{
  content:"\2022";
}

body.caio-emerald-ui .sidebar [data-page="dashboard"]::before{content:"\25A6";}
body.caio-emerald-ui .sidebar [data-page="analitico"]::before{content:"\25D4";}
body.caio-emerald-ui .sidebar [data-page="protocolos"]::before{content:"\2318";}
body.caio-emerald-ui .sidebar [data-page="demandas"]::before{content:"\2726";}
body.caio-emerald-ui .sidebar [data-page="mapa"]::before{content:"\2316";}
body.caio-emerald-ui .sidebar [data-page="cidadaos"]::before{content:"\25CE";}
body.caio-emerald-ui .sidebar [data-page="cad_pessoas"]::before{content:"\25CC";}
body.caio-emerald-ui .sidebar [data-page="agenda"]::before{content:"\25F7";}
body.caio-emerald-ui .sidebar [data-page="campanha"]::before{content:"\2733";}
body.caio-emerald-ui .sidebar [data-page="portal"]::before{content:"\25AB";}
body.caio-emerald-ui .sidebar [data-page="portais"]::before{content:"\229E";}
body.caio-emerald-ui .sidebar [data-page="usuarios"]::before{content:"\263B";}
body.caio-emerald-ui .sidebar [data-page="configuracoes"]::before{content:"\2699";}
body.caio-emerald-ui .sidebar .menu-group[data-menu-group="atendimentos"] .menu-group-toggle::before{content:"\25CD";}
body.caio-emerald-ui .sidebar .menu-group[data-menu-group="documentos"] .menu-group-toggle::before{content:"\25A4";}
body.caio-emerald-ui .sidebar .menu-group[data-menu-group="legislativo"] .menu-group-toggle::before{content:"\2696";}

body.caio-emerald-ui .card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

body.caio-emerald-ui .card-head-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid #d8e6dc;
  background:#fff;
  color:var(--emerald-700);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}

body.caio-emerald-ui .stats-grid .stat::before{
  content:"\2022";
}

body.caio-emerald-ui .stats-grid .stat:nth-child(1)::before{content:"\2630";}
body.caio-emerald-ui .stats-grid .stat:nth-child(2)::before{content:"\26A1";}
body.caio-emerald-ui .stats-grid .stat:nth-child(3)::before{content:"\2713";}
body.caio-emerald-ui .stats-grid .stat:nth-child(4)::before{content:"\25F7";}

body.caio-emerald-ui #dashboard .card{
  padding:22px 24px !important;
}

body.caio-emerald-ui #kpiBox{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

body.caio-emerald-ui #kpiBox .stack-item{
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid #dce8df;
  background:linear-gradient(180deg,#ffffff,#f9fcf9);
}

body.caio-emerald-ui #kpiBox .stack-item strong{
  display:block;
  font-size:29px;
  line-height:1;
  color:var(--ink-900);
}

body.caio-emerald-ui #kpiBox .stack-item small{
  display:block;
  margin-top:8px;
  color:#67766c;
  font-size:12px;
  font-weight:700;
}

body.caio-emerald-ui #beforeAfterList .stack-item{
  display:grid;
  gap:12px;
}

body.caio-emerald-ui #beforeAfterList .foto-preview{
  width:100%;
  min-height:120px;
  border-radius:18px;
  border:1px solid #d9e5dc;
  object-fit:cover;
}

body.caio-emerald-ui .dashboard-insights-grid .card{
  min-height:100%;
}

body.caio-emerald-ui .dashboard-map-card{
  margin-bottom:20px;
}

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

body.caio-emerald-ui .dashboard-map-summary .stack-item{
  padding:16px 18px;
  border-radius:20px;
  border:1px solid #dce8df;
  background:linear-gradient(180deg,#ffffff,#f8fcf8);
}

body.caio-emerald-ui .dashboard-map-summary .stack-item strong{
  display:block;
  font-size:24px;
  line-height:1;
  color:var(--ink-900);
}

body.caio-emerald-ui .dashboard-map-summary .stack-item small{
  display:block;
  margin-top:8px;
  color:#67766c;
  font-size:12px;
  font-weight:700;
}

body.caio-emerald-ui .dashboard-map-preview-panel{
  position:relative;
  height:340px;
  min-height:340px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid #dbe8dd;
  background:#dcebe0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.48),0 16px 34px rgba(14,53,27,.08);
}

body.caio-emerald-ui #dashboardMapPreview{
  width:100%;
  height:100%;
}

body.caio-emerald-ui .dashboard-map-empty{
  position:absolute;
  inset:18px;
  display:none;
  place-items:center;
  text-align:center;
  padding:18px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,252,248,.9));
  border:1px dashed #b8d4be;
  color:#4b6252;
  font-weight:700;
  z-index:450;
  pointer-events:none;
}

body.caio-emerald-ui .dashboard-map-legend{
  margin-top:14px !important;
}

body.caio-emerald-ui .dashboard-chart-shell{
  position:relative;
  height:280px;
  min-height:280px;
}

body.caio-emerald-ui .dashboard-chart-shell canvas{
  width:100% !important;
  height:100% !important;
}

body.caio-emerald-ui #dashboardBaseStats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

body.caio-emerald-ui #dashboardBaseStats .stack-item{
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid #dce8df;
  background:linear-gradient(180deg,#ffffff,#f9fcf9);
}

body.caio-emerald-ui #dashboardBaseStats .stack-item strong{
  display:block;
  font-size:24px;
  line-height:1;
  color:var(--ink-900);
}

body.caio-emerald-ui #dashboardBaseStats .stack-item small{
  display:block;
  margin-top:8px;
  color:#67766c;
  font-size:12px;
  font-weight:700;
}

body.caio-emerald-ui .dashboard-bairro-item{
  display:grid;
  gap:10px;
}

body.caio-emerald-ui .dashboard-bairro-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

body.caio-emerald-ui .dashboard-bairro-head span{
  color:#6f8475;
  font-size:12px;
  font-weight:900;
}

body.caio-emerald-ui .dashboard-bairro-bar{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#edf6ef;
  overflow:hidden;
}

body.caio-emerald-ui .dashboard-bairro-fill{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1d8a40,#43cb73);
}

body.caio-emerald-ui #atendimentos .atd-view-btn.active,
body.caio-emerald-ui #atendimentos .atd-view-btn span{
  background:#edf8ef !important;
  color:#1d8a40 !important;
  border-color:#bfe1c8 !important;
}

body.caio-emerald-ui #atendimentos .atd-view-btn.active{
  box-shadow:0 18px 34px rgba(29,138,64,.14) !important;
}

body.caio-emerald-ui #atendimentos .atd-stat-card{
  background:linear-gradient(180deg,#ffffff,#f8fcf8) !important;
  border-color:#dbe8dd !important;
}

body.caio-emerald-ui #atendimentos .atd-toolbar{
  border-color:#dce8df !important;
  background:linear-gradient(180deg,#ffffff,#f8fcf8) !important;
}

body.caio-emerald-ui #atendimentos .atd-table-shell{
  border-color:#dce8df !important;
  box-shadow:0 18px 42px rgba(18,45,27,.06) !important;
}

body.caio-emerald-ui #atendimentos .atd-table thead th{
  background:#f2f7f2 !important;
  color:#607064 !important;
  border-bottom-color:#dce8df !important;
}

body.caio-emerald-ui #atendimentos .atd-table tbody td{
  border-bottom-color:#edf3ee !important;
  color:#2c382f !important;
}

body.caio-emerald-ui #atendimentos .atd-guide-card,
body.caio-emerald-ui #atendimentos .atd-form-card,
body.caio-emerald-ui #atendimentos .atd-list-card,
body.caio-emerald-ui #atendimentos .atd-follow-card{
  background:linear-gradient(180deg,#ffffff,#fbfdfb) !important;
  border-color:#dce8df !important;
}

@media (max-width:1100px){
  body.caio-emerald-ui #appShell{grid-template-columns:236px minmax(0,1fr) !important;}
  body.caio-emerald-ui .sidebar{width:236px !important;min-width:236px !important;max-width:236px !important;}
}

@media (max-width:720px){
  body.caio-emerald-ui #kpiBox{grid-template-columns:1fr;}
  body.caio-emerald-ui #dashboardBaseStats{grid-template-columns:1fr;}
  body.caio-emerald-ui .dashboard-map-summary{grid-template-columns:1fr 1fr;}
}

@media (max-width:760px){
  body.caio-emerald-ui .dashboard-map-summary{grid-template-columns:1fr;}
  body.caio-emerald-ui .dashboard-map-preview-panel{
    height:280px;
    min-height:280px;
  }
}

body.caio-emerald-ui #appShell{
  grid-template-columns:252px minmax(0,1fr) !important;
}

body.caio-emerald-ui .sidebar{
  width:252px !important;
  min-width:252px !important;
  max-width:252px !important;
}

body.caio-emerald-ui .brand-mini{
  align-items:flex-start !important;
  gap:12px !important;
}

body.caio-emerald-ui .brand-copy{
  flex:1 1 auto;
  min-width:0;
  max-width:116px;
  padding-top:2px;
}

body.caio-emerald-ui .brand-copy strong{
  font-size:13px !important;
  line-height:1.08 !important;
  letter-spacing:-.02em;
}

body.caio-emerald-ui .brand-copy small{
  font-size:10px !important;
  line-height:1.15 !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  word-break:break-word;
}

body.caio-emerald-ui .sidebar .menu-group-toggle{
  align-items:flex-start !important;
  min-height:44px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

body.caio-emerald-ui .sidebar .menu-group-toggle span:first-child{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.14 !important;
}

body.caio-emerald-ui .sidebar .nav-item,
body.caio-emerald-ui .sidebar .nav-subitem{
  min-height:40px !important;
}

body.caio-emerald-ui .sidebar .menu-group-items{
  gap:5px !important;
}

body.caio-emerald-ui .sidebar .menu-group + .menu-group{
  margin-top:2px !important;
}

body.caio-emerald-ui .stats-grid .stat{
  position:relative;
  overflow:hidden;
  min-height:124px;
  padding:22px 22px 22px 76px !important;
  border-color:#dbe8dd !important;
  background:linear-gradient(180deg,#ffffff,#f8fcf8) !important;
}

body.caio-emerald-ui .stats-grid .stat::before{
  position:absolute;
  left:18px;
  top:18px;
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111827;
  font-size:18px !important;
  box-shadow:0 16px 26px rgba(14,53,27,.12);
}

body.caio-emerald-ui .stats-grid .stat:nth-child(1)::before{background:linear-gradient(135deg,#1d8a40,#43cb73);}
body.caio-emerald-ui .stats-grid .stat:nth-child(2)::before{background:linear-gradient(135deg,#ff9f1c,#ffbf47);}
body.caio-emerald-ui .stats-grid .stat:nth-child(3)::before{background:linear-gradient(135deg,#3b82f6,#60a5fa);}
body.caio-emerald-ui .stats-grid .stat:nth-child(4)::before{background:linear-gradient(135deg,#7c3aed,#a855f7);}

body.caio-emerald-ui .stats-grid .stat .label{
  color:#587063 !important;
}

body.caio-emerald-ui .stats-grid .stat small{
  color:#66766c !important;
}

body.caio-emerald-ui .map-legend{
  gap:12px !important;
  margin-top:16px !important;
}

body.caio-emerald-ui .legend-pill{
  background:linear-gradient(180deg,#ffffff,#f8fcf8) !important;
  border:1px solid #dbe8dd !important;
  color:#203127 !important;
  box-shadow:0 12px 26px rgba(14,53,27,.06) !important;
}

body.caio-emerald-ui #mainMap{
  background:#dcebe0 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 16px 34px rgba(14,53,27,.08) !important;
}

body.caio-emerald-ui .sidebar-top{
  padding:14px 14px 10px !important;
}

body.caio-emerald-ui .brand-mini{
  display:block !important;
}

body.caio-emerald-ui .brand-logo-shell{
  width:100% !important;
  min-height:82px !important;
  height:auto !important;
  padding:16px 18px !important;
  border-radius:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

body.caio-emerald-ui .brand-logo{
  width:100% !important;
  max-width:148px !important;
  max-height:58px !important;
  height:auto !important;
}

body.caio-emerald-ui .brand-copy{
  display:none !important;
}

body.caio-emerald-ui .stats-grid .stat{
  display:grid !important;
  align-content:flex-start !important;
  row-gap:6px !important;
  min-height:126px !important;
  padding:24px 24px 22px 98px !important;
}

body.caio-emerald-ui .stats-grid .stat::before{
  left:22px;
  top:22px;
  width:38px;
  height:38px;
  border-radius:13px;
  font-size:17px !important;
}

body.caio-emerald-ui .stats-grid .stat .label,
body.caio-emerald-ui .stats-grid .stat strong,
body.caio-emerald-ui .stats-grid .stat small{
  position:relative;
  z-index:1;
  margin:0 !important;
}

body.caio-emerald-ui .stats-grid .stat .label{
  padding-top:2px;
}

body.caio-emerald-ui.caio-sidebar-collapsed #appShell{
  grid-template-columns:252px minmax(0,1fr) !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar{
  width:252px !important;
  min-width:252px !important;
  max-width:252px !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .brand-logo-shell{
  width:100% !important;
  min-height:82px !important;
  height:auto !important;
  padding:16px 18px !important;
  border-radius:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .brand-logo{
  width:100% !important;
  max-width:148px !important;
  max-height:58px !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar-foot{
  display:block !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar [data-page],
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-toggle{
  justify-content:flex-start !important;
  font-size:14px !important;
  padding-left:12px !important;
  padding-right:12px !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar [data-page]::before,
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-toggle::before{
  margin-right:12px !important;
  font-size:15px !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-toggle span:first-child,
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-chevron,
body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group-items{
  display:block !important;
}

body.caio-emerald-ui.caio-sidebar-collapsed .sidebar .menu-group.open .menu-group-items{
  display:flex !important;
}


/* =========================================================
   VITOR 2026-05-20 — DESIGN MAIS MODERNO / MENOS REDONDO
   Mantém lógica, Firebase, rotas e módulos. Apenas visual.
   ========================================================= */
:root{
  --vp-radius-xs:6px;
  --vp-radius-sm:8px;
  --vp-radius-md:10px;
  --vp-radius-lg:12px;
  --vp-radius-xl:14px;
  --vp-radius-card:14px;
  --vp-green:#079447;
  --vp-green-2:#00b35c;
  --vp-dark:#022816;
  --vp-dark-2:#04351e;
  --vp-border:rgba(15,47,34,.11);
  --vp-shadow:0 18px 48px rgba(2,18,12,.08);
  --vp-shadow-soft:0 10px 28px rgba(2,18,12,.06);
}

html,body{background:#f5f8f6!important;}
body.caio-emerald-ui,
body.caio-authenticated{
  background:
    radial-gradient(circle at 18% 0%, rgba(0,179,92,.075), transparent 32%),
    radial-gradient(circle at 92% 12%, rgba(0,148,71,.055), transparent 28%),
    #f5f8f6!important;
}

/* Menos arredondado em todo o sistema */
.card,.panel,.box,.modal,.modal-content,.dialog,.drawer,
.stat-card,.metric-card,.dash-card,.content-card,.data-card,
.table-card,.list-card,.form-card,.timeline-card,
.protocol-card,.protocolo-card,.atd-card,.atd-modal,.atd-panel,
.people-workspace,#cpRealModal,#cpPopupCard,
input,select,textarea,.form-control,.search-input,
.btn,button,.badge,.pill,.chip,.tag,
.nav-item,.nav-subitem,.menu-group,.menu-group-toggle,.menu-group-items,
.sidebar-card,.user-card,.support-card,
[class*="card"],[class*="Card"],[class*="modal"],[class*="Modal"],[class*="panel"],[class*="Panel"]{
  border-radius:var(--vp-radius-card)!important;
}

/* Elementos pequenos ficam mais quadrados */
.icon-btn,.avatar,.btn-icon,.status-dot,.count-badge,
.nav-icon,.menu-icon,.tab,.tabs button,.tab-btn,
.badge,.pill,.chip,.tag{
  border-radius:var(--vp-radius-sm)!important;
}

/* Sidebar premium mais reta */
.sidebar,.app-sidebar,#sidebar,.side-menu,.caio-sidebar{
  background:
    linear-gradient(180deg, rgba(3,54,28,.98), rgba(0,28,18,.99))!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  box-shadow:18px 0 60px rgba(0,22,12,.16)!important;
}
.sidebar .nav-item,.sidebar .nav-subitem,
.side-menu .nav-item,.side-menu .nav-subitem,
.menu-group-toggle{
  min-height:42px!important;
  border-radius:10px!important;
  letter-spacing:.02em!important;
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease, border-color .16s ease!important;
}
.sidebar .nav-item:hover,.sidebar .nav-subitem:hover,
.side-menu .nav-item:hover,.side-menu .nav-subitem:hover,
.menu-group-toggle:hover{
  transform:translateX(3px)!important;
  background:rgba(255,255,255,.08)!important;
}
.sidebar .nav-item.active,.sidebar .nav-subitem.active,
.side-menu .nav-item.active,.side-menu .nav-subitem.active,
.menu-group.open>.menu-group-toggle{
  background:linear-gradient(135deg,#0aae58,#087a41)!important;
  box-shadow:0 10px 24px rgba(0,179,92,.22)!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.sidebar .menu-group-items{
  border-radius:10px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.055)!important;
  padding:7px!important;
}
.sidebar .user-card,.sidebar .support-card{
  border-radius:12px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  backdrop-filter:blur(14px)!important;
}

/* Conteúdo: cards mais alinhados, menos jogados */
.main,.main-content,#mainContent,.content,.page,.page-content{
  background:transparent!important;
}
.page.active,.page.is-active{
  animation:vpSquarePageIn .24s cubic-bezier(.2,.8,.2,1) both!important;
}
@keyframes vpSquarePageIn{
  from{opacity:.72;transform:translateY(8px) scale(.997);filter:blur(.5px)}
  to{opacity:1;transform:none;filter:none}
}
.card,.panel,.content-card,.data-card,.table-card,.protocol-card,.atd-card,
[class*="card"],[class*="Card"]{
  border:1px solid var(--vp-border)!important;
  box-shadow:var(--vp-shadow-soft)!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(10px)!important;
}
.card:hover,.content-card:hover,.data-card:hover,.protocol-card:hover,.atd-card:hover{
  box-shadow:var(--vp-shadow)!important;
}

/* Cabeçalhos e barras */
.topbar,.top-bar,.header,.app-header,.page-header{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(16px)!important;
  border-bottom:1px solid rgba(15,47,34,.08)!important;
  box-shadow:0 8px 28px rgba(2,18,12,.04)!important;
}
.page-title,h1,h2,h3{
  letter-spacing:-.035em!important;
}

/* Abas mais modernas e retas */
.tabs,.tab-list,.segmented,.nav-tabs{
  gap:8px!important;
  border-bottom:1px solid rgba(15,47,34,.10)!important;
}
.tabs button,.tab,.tab-btn,.nav-tabs button{
  border-radius:8px 8px 0 0!important;
  padding:11px 16px!important;
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}
.tabs button.active,.tab.active,.tab-btn.active,.nav-tabs button.active{
  background:rgba(0,179,92,.10)!important;
  color:#05733a!important;
  box-shadow:inset 0 -2px 0 #08a84f!important;
}

/* Botões mais quadrados e premium */
.btn,button:not(.unstyled){
  border-radius:10px!important;
  font-weight:800!important;
  box-shadow:0 8px 20px rgba(2,18,12,.06)!important;
}
.btn:hover,button:not(.unstyled):hover{
  transform:translateY(-1px);
}
.btn-primary,.primary,.btn-success,[class*="success"]{
  background:linear-gradient(135deg,#08a84f,#05733a)!important;
  border-color:rgba(5,115,58,.25)!important;
}
.btn-danger,.danger,[class*="danger"]{
  background:linear-gradient(135deg,#f04444,#dc2626)!important;
}

/* Tabelas/listas */
table,.table{
  border-collapse:separate!important;
  border-spacing:0!important;
}
th:first-child{border-top-left-radius:8px!important}th:last-child{border-top-right-radius:8px!important}
tr,td,th{transition:background .14s ease!important;}
tbody tr:hover td{background:rgba(0,179,92,.035)!important;}

/* Modais: quadrado elegante */
.modal,.modal-content,.dialog,.atd-modal,#cpRealModal,#cpPopupCard{
  border-radius:16px!important;
  border:1px solid rgba(15,47,34,.12)!important;
  box-shadow:0 34px 100px rgba(0,18,10,.22)!important;
}
.modal-backdrop,.backdrop,#cpRealBackdrop,#cpPopupBackdrop{
  backdrop-filter:blur(9px)!important;
}

/* Inputs */
input,select,textarea,.form-control,.search-input{
  border-radius:9px!important;
  border:1px solid rgba(15,47,34,.13)!important;
  transition:border-color .14s ease, box-shadow .14s ease, background .14s ease!important;
}
input:focus,select:focus,textarea:focus,.form-control:focus,.search-input:focus{
  border-color:rgba(0,179,92,.55)!important;
  box-shadow:0 0 0 4px rgba(0,179,92,.10)!important;
  outline:none!important;
}

/* Scrollbar fina */
*{scrollbar-width:thin;scrollbar-color:rgba(0,103,52,.50) rgba(0,0,0,.05)}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:rgba(0,0,0,.04);border-radius:8px}
*::-webkit-scrollbar-thumb{background:rgba(0,103,52,.50);border-radius:8px}
*::-webkit-scrollbar-thumb:hover{background:rgba(0,103,52,.70)}

/* VG FISCALIZA: menos redondo também */
.portal-card,.portal-section,.portal-box,.request-card,.solicitacao-card,
.hero-card,.cookie-banner,.site-loader .loader-card{
  border-radius:14px!important;
}

@media (max-width:900px){
  .card,.panel,.modal,.modal-content,[class*="card"],[class*="Card"]{border-radius:12px!important;}
  .sidebar .nav-item,.sidebar .nav-subitem,.menu-group-toggle{border-radius:9px!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;
 }
}


/* =========================================================
   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;
  }
}
