/* DMImobi Admin v225 — correção de autenticação, layout e acabamento visual */

:root{
  --adm-bg:#f5f7fb;
  --adm-surface:#ffffff;
  --adm-surface-soft:#f8fafc;
  --adm-border:#e4eaf2;
  --adm-border-strong:#d7e0eb;
  --adm-text:#17263b;
  --adm-muted:#6b778b;
  --adm-navy:#0b2d58;
  --adm-navy-2:#133f73;
  --adm-gold:#d5bd72;
  --adm-gold-soft:#f7f0d9;
  --adm-green:#16845b;
  --adm-red:#c34848;
  --adm-orange:#bd7418;
  --adm-radius:18px;
  --adm-radius-sm:12px;
  --adm-shadow:0 12px 34px rgba(18,45,79,.08);
  --adm-shadow-soft:0 4px 16px rgba(18,45,79,.055);
}

/* =========================================================
   AUTENTICAÇÃO: nenhum conteúdo administrativo antes do login
   ========================================================= */
body.admin-entry.auth-pending{
  overflow:hidden!important;
  background:#081f3f!important;
}
body.admin-entry.auth-pending .admin-topbar,
body.admin-entry.auth-pending .admin-topnav,
body.admin-entry.auth-pending .admin-sidebar-footer-v225,
body.admin-entry.auth-pending .main,
body.admin-entry.auth-pending main,
body.admin-entry.auth-pending .bottom-nav,
body.admin-entry.auth-pending .fab,
body.admin-entry.auth-pending .pmenu,
body.admin-entry.auth-pending .pmenu-bg,
body.admin-entry.auth-pending .header,
body.admin-entry.auth-pending .dk-side{
  visibility:hidden!important;
  pointer-events:none!important;
}
body.admin-entry #loginOverlay{
  z-index:99999!important;
}
body.admin-entry.auth-pending #loginOverlay{
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Login totalmente isolado do painel */
body.admin-entry .login-ov{
  inset:0!important;
  width:100vw!important;
  min-height:100dvh!important;
  padding:clamp(24px,4vw,58px)!important;
  grid-template-columns:minmax(300px,1fr) minmax(360px,480px)!important;
  align-items:center!important;
  gap:clamp(36px,7vw,110px)!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 14% 16%,rgba(212,192,133,.20),transparent 24rem),
    radial-gradient(circle at 88% 82%,rgba(39,100,164,.28),transparent 30rem),
    linear-gradient(135deg,#061a36 0%,#0b2d58 54%,#123f75 100%)!important;
}
body.admin-entry .login-ov::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to right,#000,transparent 72%);
}
body.admin-entry .login-top,
body.admin-entry .login-form{position:relative;z-index:1;}
body.admin-entry .login-top{
  max-width:610px!important;
  padding:0!important;
  text-align:left!important;
  align-self:center!important;
}
body.admin-entry .login-top>div{
  text-align:left!important;
  margin:0 0 28px!important;
}
body.admin-entry .login-top img{
  height:66px!important;
  width:auto!important;
  max-width:min(310px,80vw)!important;
  object-fit:contain!important;
}
body.admin-entry .login-top h2{
  margin:0 0 12px!important;
  max-width:560px;
  font-size:clamp(36px,5vw,66px)!important;
  line-height:1.02!important;
  letter-spacing:-2.2px!important;
  color:#fff!important;
  font-weight:800!important;
}
body.admin-entry .login-top p{
  max-width:520px;
  font-size:16px!important;
  line-height:1.65!important;
  color:rgba(255,255,255,.70)!important;
}
body.admin-entry .login-form{
  width:100%!important;
  min-height:0!important;
  padding:34px!important;
  gap:14px!important;
  justify-content:flex-start!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 34px 90px rgba(0,0,0,.30)!important;
  backdrop-filter:blur(18px);
  color:var(--adm-text)!important;
}
body.admin-entry .login-form::before{
  content:"Acesso administrativo";
  display:block;
  margin-bottom:4px;
  color:var(--adm-text);
  font-size:22px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.5px;
}
body.admin-entry .login-form::after{
  content:"Ambiente protegido pelo Supabase Auth";
  display:block;
  order:-1;
  margin-bottom:2px;
  color:var(--adm-muted);
  font-size:12px;
}
body.admin-entry .login-form .lfield{
  min-height:50px!important;
  padding:0 15px!important;
  border:1px solid var(--adm-border-strong)!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
body.admin-entry .login-form .lfield:focus-within{
  border-color:#2c6097!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(44,96,151,.11)!important;
}
body.admin-entry .login-form .lfield input{
  color:var(--adm-text)!important;
  font-size:14px!important;
}
body.admin-entry .login-form .lfield input::placeholder{color:#9aa5b5!important;}
body.admin-entry .login-form #googleBtn{
  min-height:50px!important;
  border:1px solid var(--adm-border-strong)!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
body.admin-entry .login-form #loginBtn{
  min-height:50px!important;
  border:none!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,var(--adm-gold),#e0c873)!important;
  color:#102a4d!important;
  font-size:14px!important;
  font-weight:850!important;
  box-shadow:0 10px 24px rgba(184,148,45,.24)!important;
}
body.admin-entry .login-form #googleBox>div{color:#8994a5!important;}
body.admin-entry .login-form #googleBox>div>div{background:#e2e8f0!important;}
body.admin-entry .login-form .login-foot{color:#728095!important;border-color:#e7ebf1!important;}
body.admin-entry .login-form #loginToggleEsqueci{color:#456586!important;}
body.admin-entry .login-form #loginToggleAcao{color:#0c4f8d!important;}
body.admin-entry .login-form #loginErro{
  padding:10px 12px!important;
  border:1px solid #f0caca!important;
  border-radius:11px!important;
  background:#fff2f2!important;
  color:#a53c3c!important;
  text-align:left!important;
  line-height:1.45!important;
}

/* =========================================================
   DESKTOP: shell moderno
   ========================================================= */
@media (min-width:1024px){
  :root{
    --adm225-header:72px;
    --adm225-sidebar:248px;
  }
  html,body.admin-entry{background:var(--adm-bg)!important;}
  body.admin-entry.auth-ready{
    min-height:100vh;
    color:var(--adm-text)!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  }
  body.admin-entry .admin-topbar,
  body.admin-entry .dk-top.admin-topbar{
    height:var(--adm225-header)!important;
    min-height:var(--adm225-header)!important;
    padding:0 24px!important;
    gap:20px!important;
    background:#fff!important;
    border-bottom:1px solid var(--adm-border)!important;
    box-shadow:0 4px 18px rgba(21,48,79,.055)!important;
    color:var(--adm-text)!important;
  }
  body.admin-entry .admin-brand{
    min-width:calc(var(--adm225-sidebar) - 22px)!important;
    max-width:calc(var(--adm225-sidebar) - 22px)!important;
    gap:10px!important;
  }
  body.admin-entry .admin-brand img{height:34px!important;max-width:150px!important;filter:none!important;}
  body.admin-entry .admin-brand-divider{background:#d7dfeb!important;opacity:1!important;}
  body.admin-entry .admin-brand-label{color:#9a7f2f!important;font-weight:850!important;}
  .admin-context-v225{display:flex!important;min-width:190px!important;}
  .admin-context-v225 span{color:#8793a4!important;font-size:9px!important;}
  .admin-context-v225 b{color:var(--adm-text)!important;font-size:14px!important;}
  body.admin-entry .admin-top-actions{gap:8px!important;}
  body.admin-entry .admin-icon-btn{
    width:40px!important;height:40px!important;
    border:1px solid var(--adm-border)!important;
    border-radius:12px!important;
    background:#f8fafc!important;
    color:#335474!important;
    box-shadow:none!important;
  }
  body.admin-entry .admin-icon-btn:hover{background:#eef3f8!important;border-color:#cfd9e5!important;transform:translateY(-1px);}
  body.admin-entry .admin-user{
    min-width:208px!important;
    padding:5px 9px 5px 5px!important;
    border:1px solid var(--adm-border)!important;
    border-radius:14px!important;
    background:#f8fafc!important;
    color:var(--adm-text)!important;
  }
  body.admin-entry .admin-user:hover{background:#f1f5f9!important;}
  body.admin-entry .admin-user .dk-user-av{
    width:40px!important;height:40px!important;
    background:linear-gradient(135deg,#d8c078,#b99b42)!important;
    color:#102b50!important;
    box-shadow:none!important;
  }
  body.admin-entry .admin-user .dk-user-nome{color:var(--adm-text)!important;font-size:12px!important;}
  body.admin-entry .admin-user .dk-user-sub{color:#8a7431!important;font-size:9px!important;}
  body.admin-entry .admin-chevron{color:#78869a!important;}

  /* Sidebar */
  body.admin-entry .admin-topnav,
  body.admin-entry .admin-nav{
    top:var(--adm225-header)!important;
    width:var(--adm225-sidebar)!important;
    padding:24px 14px 104px!important;
    gap:5px!important;
    background:linear-gradient(180deg,#0a2a53 0%,#082343 100%)!important;
    border-right:none!important;
    box-shadow:8px 0 30px rgba(11,35,67,.07)!important;
  }
  body.admin-entry .admin-topnav::before{
    padding:0 12px 10px!important;
    color:rgba(255,255,255,.36)!important;
    font-size:9px!important;
    letter-spacing:1.5px!important;
  }
  body.admin-entry .admin-nav-btn,
  body.admin-entry .admin-nav-btn:nth-child(n){
    min-height:44px!important;
    padding:0 12px!important;
    gap:11px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    background:transparent!important;
    color:rgba(255,255,255,.72)!important;
    font-size:12px!important;
    font-weight:650!important;
  }
  body.admin-entry .admin-nav-btn:hover{
    transform:none!important;
    background:rgba(255,255,255,.065)!important;
    color:#fff!important;
  }
  body.admin-entry .admin-nav-btn.active,
  body.admin-entry .admin-nav-btn.on,
  body.admin-entry .admin-nav-btn[aria-current="page"]{
    background:linear-gradient(135deg,#e4d18c,#ceb15b)!important;
    color:#0a2a53!important;
    border-color:rgba(255,255,255,.08)!important;
    box-shadow:0 8px 18px rgba(0,0,0,.14)!important;
  }
  body.admin-entry .admin-nav-btn.active::after,
  body.admin-entry .admin-nav-btn[aria-current="page"]::after{display:none!important;}
  .admin-nav-ic-v225{
    display:grid!important;
    place-items:center!important;
    width:26px!important;height:26px!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.065)!important;
    font-size:14px!important;
  }
  body.admin-entry .admin-nav-btn.active .admin-nav-ic-v225{background:rgba(10,42,83,.10)!important;}
  .admin-sidebar-footer-v225{
    left:14px!important;
    bottom:16px!important;
    width:calc(var(--adm225-sidebar) - 28px)!important;
    padding:13px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.045)!important;
  }

  /* Main */
  body.admin-entry .main,
  body.admin-entry main{
    margin:var(--adm225-header) 0 0 var(--adm225-sidebar)!important;
    width:calc(100% - var(--adm225-sidebar))!important;
    min-height:calc(100vh - var(--adm225-header))!important;
    background:
      radial-gradient(circle at 92% 0,rgba(213,189,114,.10),transparent 24rem),
      var(--adm-bg)!important;
  }
  body.admin-entry .page{
    width:100%!important;
    max-width:none!important;
    min-height:calc(100vh - var(--adm225-header))!important;
    margin:0!important;
    padding:32px clamp(28px,3.5vw,58px) 58px!important;
    background:transparent!important;
  }
  body.admin-entry .page>*{max-width:1500px!important;}

  /* Page headings */
  body.admin-entry .subpage-top,
  body.admin-entry .admin-compact-head,
  body.admin-entry .admin-section-head,
  body.admin-entry .finance-page-head,
  body.admin-entry .billing-head{
    min-height:0!important;
    margin:0 auto 24px!important;
    padding:0!important;
    border:none!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.admin-entry .admin-page-eyebrow{
    margin-bottom:7px!important;
    color:#9a7e2b!important;
    font-size:10px!important;
    font-weight:850!important;
    letter-spacing:1.55px!important;
  }
  body.admin-entry .subpage-title{
    color:var(--adm-text)!important;
    font-size:30px!important;
    line-height:1.1!important;
    letter-spacing:-1px!important;
    font-weight:800!important;
  }
  body.admin-entry .admin-page-subtitle{
    margin-top:7px!important;
    color:var(--adm-muted)!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
  body.admin-entry .section-title{
    margin:24px auto 12px!important;
    color:#263951!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:.01em!important;
  }

  /* Cards: common modern surface */
  body.admin-entry .command-overview,
  body.admin-entry .command-panel,
  body.admin-entry .adm-bar,
  body.admin-entry .adm-health-card,
  body.admin-entry .adm-ad,
  body.admin-entry .users-overview,
  body.admin-entry .plans-overview,
  body.admin-entry .finance-command,
  body.admin-entry .finance-widget,
  body.admin-entry .referral-command,
  body.admin-entry .referral-settings-card,
  body.admin-entry .site-control-hero,
  body.admin-entry .ops-panel,
  body.admin-entry .support-filters,
  body.admin-entry .platform-health-card,
  body.admin-entry .billing-notice,
  body.admin-entry .billing-tabs,
  body.admin-entry .billing-panel{
    border:1px solid var(--adm-border)!important;
    border-radius:var(--adm-radius)!important;
    background:var(--adm-surface)!important;
    box-shadow:var(--adm-shadow-soft)!important;
  }

  /* Dashboard */
  #page-admin .command-center-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;}
  #page-admin .command-sync{
    padding:8px 11px!important;
    border:1px solid #dbe7df!important;
    border-radius:999px!important;
    background:#f3faf6!important;
    color:#39735a!important;
    font-size:11px!important;
  }
  #page-admin .admin-finance-hero{
    position:relative!important;
    overflow:hidden!important;
    min-height:174px!important;
    margin:0 auto 14px!important;
    padding:27px 30px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:22px!important;
    background:
      radial-gradient(circle at 88% 10%,rgba(213,189,114,.32),transparent 15rem),
      linear-gradient(135deg,#092651 0%,#0f3b6c 100%)!important;
    box-shadow:0 20px 42px rgba(9,39,83,.18)!important;
  }
  #page-admin .admin-finance-hero::after{
    content:"";position:absolute;right:-60px;bottom:-100px;width:300px;height:300px;border:50px solid rgba(255,255,255,.035);border-radius:50%;
  }
  #page-admin .admin-finance-hero .aht{color:rgba(255,255,255,.72)!important;font-size:12px!important;}
  #page-admin .admin-finance-hero .aht span{color:#ead58f!important;}
  #page-admin .admin-finance-hero .ahm{margin-top:12px!important;color:#fff!important;font-size:44px!important;letter-spacing:-1.6px!important;}
  #page-admin .admin-finance-hero .ahs{color:rgba(255,255,255,.66)!important;font-size:12px!important;}
  #page-admin .admin-hero-badge{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.14)!important;color:#ead58f!important;}
  #page-admin .admin-finance-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    margin:0 auto 14px!important;
  }
  #page-admin .admin-finance-card,
  #page-admin .command-metric,
  #page-admin .adm-kpi{
    min-height:112px!important;
    padding:18px!important;
    border:1px solid var(--adm-border)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:var(--adm-shadow-soft)!important;
  }
  #page-admin .admin-finance-card span,
  #page-admin .command-metric span,
  #page-admin .adm-kpi .kl{color:var(--adm-muted)!important;font-size:11px!important;}
  #page-admin .admin-finance-card b,
  #page-admin .command-metric b,
  #page-admin .adm-kpi .kn{margin-top:8px!important;color:var(--adm-text)!important;font-size:23px!important;letter-spacing:-.5px!important;}
  #page-admin .admin-finance-card small,
  #page-admin .command-metric small{color:#97a1b0!important;font-size:10px!important;}
  #page-admin .admin-finance-card.danger{background:#fff8f7!important;border-color:#f0d9d5!important;}
  #page-admin .command-overview{padding:20px!important;margin:0 auto 14px!important;}
  #page-admin .command-widget-head{margin-bottom:14px!important;}
  #page-admin .command-widget-head span{color:#9a7e2b!important;font-size:9px!important;letter-spacing:1.2px!important;}
  #page-admin .command-widget-head b{color:var(--adm-text)!important;font-size:16px!important;}
  #page-admin .command-widget-head button,
  body.admin-entry .command-refresh{
    min-height:34px!important;padding:0 12px!important;border:1px solid var(--adm-border)!important;border-radius:10px!important;background:#f8fafc!important;color:#315675!important;
  }
  #page-admin .command-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
  #page-admin .command-growth-grid,
  #page-admin .command-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0 auto 14px!important;}
  #page-admin .command-panel{padding:20px!important;min-height:200px!important;}
  #page-admin .command-mini-grid{gap:10px!important;}
  #page-admin .command-mini-grid>div{
    padding:13px!important;border:1px solid #edf1f5!important;border-radius:13px!important;background:#fafbfd!important;
  }
  #page-admin .adm-kpis{gap:12px!important;margin:0 auto 12px!important;}
  #page-admin .adm-kpi{display:flex!important;flex-direction:column!important;justify-content:center!important;}
  #page-admin .adm-kpi .ki{display:none!important;}
  #page-admin .adm-bar{padding:20px!important;margin:0 auto 14px!important;}
  #page-admin .bwrap{height:8px!important;border-radius:999px!important;background:#edf1f6!important;}
  #page-admin .bfill{border-radius:999px!important;}
  #page-admin .adm-atalhos{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin:0 auto!important;}
  #page-admin .adm-atalho{
    min-height:82px!important;padding:15px!important;border:1px solid var(--adm-border)!important;border-radius:15px!important;background:#fff!important;box-shadow:var(--adm-shadow-soft)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  }
  #page-admin .adm-atalho:hover{transform:translateY(-2px)!important;border-color:#cdd8e5!important;box-shadow:var(--adm-shadow)!important;}
  #page-admin .adm-atalho .aic{font-size:21px!important;}
  #page-admin .adm-health-card{padding:20px!important;margin:0 auto!important;}

  /* Users */
  #page-admusuarios .users-overview{padding:0!important;overflow:hidden!important;margin:0 auto 16px!important;}
  #page-admusuarios .users-overview-main{
    padding:24px!important;background:linear-gradient(135deg,#0a2b56,#124576)!important;color:#fff!important;
  }
  #page-admusuarios .users-overview-grid{padding:16px!important;gap:10px!important;background:#fff!important;}
  #page-admusuarios .users-overview-grid>div{padding:14px!important;border:1px solid #edf1f5!important;border-radius:13px!important;background:#fafbfd!important;}
  #page-admusuarios .users-modern-shell{padding:20px!important;margin:0 auto!important;}
  #page-admusuarios .adm-uhead{display:flex!important;align-items:center!important;gap:10px!important;padding:0 0 16px!important;border:none!important;background:transparent!important;}
  #page-admusuarios .adm-novousr{padding:18px!important;border:1px solid var(--adm-border)!important;border-radius:15px!important;background:#f8fafc!important;}
  #page-admusuarios #admUsersList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
  #page-admusuarios .adm-urow{
    min-height:190px!important;margin:0!important;padding:18px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;
  }
  #page-admusuarios .adm-urow:hover{border-color:#cbd6e3!important;box-shadow:var(--adm-shadow-soft)!important;}
  #page-admusuarios .adm-uname{color:var(--adm-text)!important;font-size:15px!important;font-weight:800!important;}
  #page-admusuarios .adm-umail{color:var(--adm-muted)!important;font-size:11px!important;}
  #page-admusuarios .adm-unums{padding-left:12px!important;color:#607086!important;font-size:11px!important;}
  #page-admusuarios .adm-uline,
  #page-admusuarios .adm-uexpand{grid-column:1/-1!important;}

  /* Plans */
  #page-admplanos .plans-overview{padding:0!important;overflow:hidden!important;margin:0 auto 16px!important;}
  #page-admplanos .plans-overview-head{padding:22px 24px!important;background:linear-gradient(135deg,#0a2b56,#124576)!important;color:#fff!important;}
  #page-admplanos .plans-overview-grid{padding:16px!important;gap:10px!important;background:#fff!important;}
  #page-admplanos .plans-overview-grid>div{padding:14px!important;border:1px solid #edf1f5!important;border-radius:13px!important;background:#fafbfd!important;}
  #page-admplanos .plans-modern-shell{padding:20px!important;margin:0 auto!important;}
  #page-admplanos .plans-shell-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:16px!important;}
  #page-admplanos .plans-admin-list,
  #page-admbilling .billing-plan-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
  #page-admplanos .plan-admin-card,
  #page-admbilling .billing-plan-card{
    margin:0!important;padding:20px!important;border:1px solid var(--adm-border)!important;border-radius:17px!important;background:#fff!important;box-shadow:none!important;
  }
  #page-admplanos .plan-admin-card:hover,
  #page-admbilling .billing-plan-card:hover{border-color:#c9d5e2!important;box-shadow:var(--adm-shadow-soft)!important;}

  /* Billing */
  #page-admbilling .billing-shell{max-width:1500px!important;margin:0 auto!important;}
  #page-admbilling .billing-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;}
  #page-admbilling .billing-notice{padding:13px 15px!important;margin-bottom:14px!important;}
  #page-admbilling .billing-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:14px!important;}
  #page-admbilling .billing-kpis article{padding:18px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--adm-shadow-soft)!important;}
  #page-admbilling .billing-tabs{display:flex!important;gap:7px!important;padding:7px!important;margin-bottom:14px!important;}
  #page-admbilling .billing-tabs button{min-height:38px!important;padding:0 14px!important;border-radius:10px!important;color:#5d6b7e!important;}
  #page-admbilling .billing-tabs button.active{background:#0c315e!important;color:#fff!important;box-shadow:0 6px 16px rgba(12,49,94,.18)!important;}
  #page-admbilling .billing-panel{padding:20px!important;}
  #page-admbilling .billing-table-wrap{overflow:auto!important;border:1px solid var(--adm-border)!important;border-radius:14px!important;}
  #page-admbilling .billing-table{min-width:840px!important;border-collapse:separate!important;border-spacing:0!important;}
  #page-admbilling .billing-table th{position:sticky;top:0;background:#f7f9fc!important;color:#617086!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.7px;}
  #page-admbilling .billing-table td{border-top:1px solid #edf1f5!important;color:#35475f!important;}
  #page-admbilling .gateway-grid{gap:14px!important;}

  /* Finance */
  #page-admfinanceiro .finance-command{overflow:hidden!important;padding:0!important;margin:0 auto 14px!important;}
  #page-admfinanceiro .finance-command-main{padding:27px!important;background:linear-gradient(135deg,#0a2b56,#124576)!important;color:#fff!important;}
  #page-admfinanceiro .finance-command-main span,
  #page-admfinanceiro .finance-command-main small{color:rgba(255,255,255,.68)!important;}
  #page-admfinanceiro .finance-command-main b{color:#fff!important;font-size:39px!important;letter-spacing:-1.2px!important;}
  #page-admfinanceiro .finance-command-grid{padding:16px!important;gap:10px!important;background:#fff!important;}
  #page-admfinanceiro .finance-command-grid article{padding:14px!important;border:1px solid #edf1f5!important;border-radius:13px!important;background:#fafbfd!important;}
  #page-admfinanceiro .finance-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 auto 14px!important;}
  #page-admfinanceiro .finance-kpi{padding:18px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--adm-shadow-soft)!important;}
  #page-admfinanceiro .finance-widget{padding:20px!important;margin:0 auto 14px!important;}
  #page-admfinanceiro .finance-sub-card{padding:15px!important;border:1px solid var(--adm-border)!important;border-radius:14px!important;background:#fff!important;}
  #page-admfinanceiro .finance-disclaimer{max-width:1500px!important;margin:0 auto!important;padding:13px 15px!important;border:1px solid #dce6ef!important;border-radius:13px!important;background:#f6f9fc!important;color:#65758a!important;}

  /* Ads */
  #page-admpublicidade .subpage-top{display:block!important;}
  #page-admpublicidade>.adm-ad{padding:22px!important;margin:0 auto!important;}
  #page-admpublicidade .ads-dashboard{margin:16px 0!important;padding:18px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#f8fafc!important;}
  #page-admpublicidade .ads-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;}
  #page-admpublicidade .ads-kpi{padding:14px!important;border:1px solid #e8edf3!important;border-radius:13px!important;background:#fff!important;}
  #page-admpublicidade .ads-campaign-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  #page-admpublicidade .ad-campaign-card{margin:0!important;padding:17px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;}

  /* Referral */
  #page-admindicacao .referral-command{overflow:hidden!important;padding:0!important;margin:0 auto 14px!important;}
  #page-admindicacao .referral-command-head{padding:22px!important;background:linear-gradient(135deg,#0a2b56,#124576)!important;color:#fff!important;}
  #page-admindicacao .referral-command-grid{padding:16px!important;gap:10px!important;background:#fff!important;}
  #page-admindicacao .referral-command-grid>div{padding:14px!important;border:1px solid #edf1f5!important;border-radius:13px!important;background:#fafbfd!important;}
  #page-admindicacao .referral-balance-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 auto 14px!important;}
  #page-admindicacao .referral-balance-card{padding:18px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--adm-shadow-soft)!important;}
  #page-admindicacao .referral-note{max-width:1500px!important;margin:0 auto 14px!important;padding:12px 14px!important;border-radius:12px!important;background:#fff8e7!important;border:1px solid #eadcae!important;color:#7d6829!important;}
  #page-admindicacao .referral-settings-card{padding:20px!important;margin:0 auto!important;}

  /* Site / Support / Config */
  #page-admsite .site-control-hero,
  #page-admsuporte .support-filters,
  #page-admconfig .platform-health-card,
  #page-admconfig .ops-panel,
  #page-admsite .ops-panel{padding:20px!important;margin:0 auto 14px!important;}
  #page-admsite .site-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0 auto 14px!important;}
  #page-admsite .site-mode-card{padding:20px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--adm-shadow-soft)!important;}
  #page-admsite .site-mode-card.active{border-color:#c8ad55!important;box-shadow:0 0 0 3px rgba(200,173,85,.13)!important;}
  #page-admsuporte .support-kpi-grid,
  #page-admconfig .platform-health-grid,
  #page-admconfig .admin-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 auto 14px!important;}
  #page-admsuporte .support-kpi-grid>*,
  #page-admconfig .platform-health-grid>*,
  #page-admconfig .admin-tool-grid>*{padding:18px!important;border:1px solid var(--adm-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--adm-shadow-soft)!important;}
  #page-admsuporte .support-ticket-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:1500px!important;margin:0 auto!important;}

  /* Controls */
  body.admin-entry input,
  body.admin-entry select,
  body.admin-entry textarea{
    min-height:42px!important;
    border:1px solid var(--adm-border-strong)!important;
    border-radius:11px!important;
    background:#fff!important;
    color:var(--adm-text)!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:13px!important;
  }
  body.admin-entry textarea{min-height:96px!important;}
  body.admin-entry input:focus,
  body.admin-entry select:focus,
  body.admin-entry textarea:focus{
    border-color:#2d679e!important;
    box-shadow:0 0 0 4px rgba(45,103,158,.10)!important;
    outline:none!important;
  }
  body.admin-entry .adm-adbtn,
  body.admin-entry .billing-btn,
  body.admin-entry .finance-export-btn,
  body.admin-entry .referral-save-btn,
  body.admin-entry .plan-add-btn,
  body.admin-entry .adm-mini{
    min-height:39px!important;
    padding:0 14px!important;
    border:1px solid #d3dde8!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#244767!important;
    font-size:12px!important;
    font-weight:750!important;
    box-shadow:none!important;
  }
  body.admin-entry .adm-adbtn:hover,
  body.admin-entry .billing-btn:hover,
  body.admin-entry .finance-export-btn:hover{background:#f1f5f9!important;border-color:#c5d2df!important;transform:translateY(-1px);}
  body.admin-entry .billing-btn.primary,
  body.admin-entry .referral-save-btn,
  body.admin-entry .plan-add-btn{
    background:#0c315e!important;
    border-color:#0c315e!important;
    color:#fff!important;
  }
  body.admin-entry .vw-toggle,
  body.admin-entry .finance-filter{
    min-height:34px!important;
    padding:0 12px!important;
    border:1px solid var(--adm-border)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#617087!important;
  }
  body.admin-entry .vw-toggle.on,
  body.admin-entry .finance-filter.active{
    background:#0c315e!important;
    border-color:#0c315e!important;
    color:#fff!important;
  }

  .data-source-note{display:block!important;margin-top:3px!important;color:#8c99aa!important;font-size:9px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;}
  .data-warning{margin-bottom:12px;padding:10px 12px;border:1px solid #ecd8a3;border-radius:11px;background:#fff8e7;color:#765f24;font-size:11px;line-height:1.45;}
  .metric-source-error{color:#a24b4b!important;}
}

@media (min-width:1024px) and (max-width:1250px){
  #page-admin .admin-finance-grid,
  #page-admin .command-metric-grid,
  #page-admfinanceiro .finance-kpi-grid,
  #page-admbilling .billing-kpis,
  #page-admsuporte .support-kpi-grid,
  #page-admconfig .platform-health-grid,
  #page-admconfig .admin-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #page-admin .adm-atalhos{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  #page-admplanos .plans-admin-list,
  #page-admbilling .billing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media (max-width:1023px){
  body.admin-entry .login-ov,
  body.admin-entry.auth-pending #loginOverlay{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    gap:20px!important;
    padding:24px!important;
  }
  body.admin-entry .login-top{display:none!important;}
  body.admin-entry .login-form{max-width:460px!important;margin:auto!important;padding:26px!important;}
}
