﻿@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700;14..32,800&display=swap');

:root{
  --adm-font-sans:"Inter","Plus Jakarta Sans","Segoe UI",system-ui,sans-serif;
  --primary:#1d4ed8;
  --primary-rgb:29,78,216;
  --premium:#1e3a8a;
  --premium-rgb:30,58,138;
  --support:#dbeafe;
  --support-rgb:219,234,254;
  --aqua:#10b981;
  --aqua-rgb:16,185,129;
  --offwhite:#f5f7fb;
  --warm:#fef9ee;
  --bg:#f5f7fb;
  --text:#0f172a;
  --muted:#64748b;
  --border:#dde4ee;
  --border-soft:#eaf0f7;
  --shadow:0 1px 3px rgba(15,23,42,.06),0 4px 16px rgba(15,23,42,.06);
  --radius-xs:6px;
  --radius-sm:9px;
  --radius:13px;
  --radius-lg:18px;
  --body-bg:var(--bg);
  --surface:#ffffff;
  --surface-strong:#ffffff;
  --surface-side:#ffffff;
  --field-bg:#f8fafc;
  --field-bg-2:#eef2f7;
  --hover:#edf1f7;
  --nav-accent:#2563eb;
  --nav-accent-soft:rgba(37,99,235,.08);
  --nav-accent-border:rgba(37,99,235,.40);
  --nav-ink:#475569;
  --nav-title:#1e293b;
  --nav-surface:rgba(0,0,0,.04);
  --nav-surface-strong:rgba(0,0,0,.07);
  --nav-group-border:rgba(0,0,0,.08);
  --nav-group-label:#94a3b8;
  --nav-caret:rgba(0,0,0,.25);
  --nav-bg:var(--surface-side);
  --nav-shadow:0 4px 24px rgba(0,0,0,.08);
  /* Cores semânticas adicionais */
  --purple:#7c3aed;
  --whatsapp:#25d366;
  --danger:#ef4444;
  --success:#16a34a;
  --warning:#d97706;
  --indigo:#6366f1;
  --success-dark:#15803d;
  --danger-dark:#b91c1c;
  --border-fin:rgba(148,163,184,.22);
  --dre-header:#1e3a5f;
  /* Escala tipográfica */
  --text-2xs:11px;
  --text-xs:12px;
  --text-sm:13px;
  --text-body-sm:14px;
  --text-body:14px;
  --text-md:14px;
  --text-lg:15px;
  --text-xl:20px;
  --text-2xl:24px;
}

html[data-theme="dark"]{
  --bg:#0f172a;
  --text:#e2e8f0;
  --muted:#94a3b8;
  --border:#1e293b;
  --border-soft:#1e293b;
  --shadow:0 1px 3px rgba(0,0,0,.22),0 4px 16px rgba(0,0,0,.18);
  --body-bg:var(--bg);
  --surface:#1e293b;
  --surface-strong:#263354;
  --surface-side:#020c1b;
  --field-bg:rgba(255,255,255,.04);
  --field-bg-2:rgba(255,255,255,.07);
  --hover:rgba(255,255,255,.05);
  --nav-accent:#60a5fa;
  --nav-accent-soft:rgba(96,165,250,.14);
  --nav-accent-border:rgba(96,165,250,.25);
  --nav-ink:#94a3b8;
  --nav-title:#f1f5f9;
  --nav-surface:rgba(255,255,255,.04);
  --nav-surface-strong:rgba(255,255,255,.08);
  --nav-group-border:rgba(255,255,255,.08);
  --nav-shadow:0 4px 24px rgba(0,0,0,.32);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--adm-font-sans);
  font-size:var(--text-md);
  line-height:1.45;
  background:var(--body-bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.adm input,.adm select,.adm textarea,.adm button{font-family:var(--adm-font-sans)}
a{color:inherit;text-decoration:none}
.adm-muted{color:var(--muted);font-size:var(--text-sm)}
.adm-right{text-align:right}

/* ============================================================ LOGIN */
.login-wrap{display:flex;width:100%;height:100vh;overflow:hidden}
.login-cover{
  flex:0 0 70%;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#0d1b2e 0%,#1e3a8a 100%);
}
.login-cover img{width:100%;height:100%;object-fit:cover;display:block}
.login-cover.no-image{background:linear-gradient(160deg,#0d1b2e 0%,#1e3a8a 100%)}
.login-panel{
  flex:1;display:flex;align-items:center;justify-content:center;
  background:var(--surface);padding:32px 28px;overflow-y:auto;
}
.login-inner{width:100%;max-width:320px}
.login-logo{height:36px;width:auto;margin-bottom:28px;display:block}
.login-title{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.025em;color:var(--text);margin-bottom:4px}
.login-sub{font-size:var(--text-body-sm);color:var(--muted);margin-bottom:24px}
.login-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--muted);margin:16px 0 6px}
.login-input{
  width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);
  background:var(--field-bg);color:var(--text);
  padding:11px 12px;outline:none;font-size:var(--text-md);font-family:var(--adm-font-sans);
  transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box;
}
.login-input:focus{
  border-color:rgba(var(--primary-rgb),.5);
  box-shadow:0 0 0 3px rgba(var(--primary-rgb),.10);background:var(--surface);
}
.login-btn{
  width:100%;margin-top:20px;border:0;background:var(--primary);color:#fff;
  padding:12px;border-radius:var(--radius-sm);font-weight:700;font-size:var(--text-md);
  cursor:pointer;letter-spacing:.01em;font-family:var(--adm-font-sans);
  transition:filter .14s,transform .1s;
}
.login-btn:hover{filter:brightness(.92)}
.login-btn:active{transform:translateY(1px)}
.login-hint{margin-top:20px;text-align:center;font-size:var(--text-sm);color:var(--muted)}
.login-hint a{color:var(--primary);text-decoration:none}
.login-hint a:hover{text-decoration:underline}
.login-messages{margin:12px 0}
.login-badge{
  background:rgba(239,68,68,.09);border:1px solid rgba(239,68,68,.2);
  color:var(--danger);border-radius:var(--radius-sm);
  padding:8px 12px;font-size:var(--text-sm);font-weight:500;
}
@media(max-width:768px){
  .login-cover{display:none}
  .login-panel{padding:32px 20px;min-height:100vh}
}

/* ============================================================ LAYOUT */
.adm,body[data-route]{min-height:100vh}
.adm-layout{
  display:block;
  min-height:100vh;width:100%;
}
.adm-side{
  position:fixed;left:0;top:0;height:100vh;width:252px;
  background:var(--surface-side);
  border-right:1px solid var(--nav-group-border);
  padding:16px 12px 12px;display:flex;flex-direction:column;z-index:100;
  overflow:hidden;
}
.adm-brand{
  display:flex;align-items:center;gap:10px;
  padding:6px 8px 16px;
  border-bottom:1px solid var(--nav-group-border);
  margin-bottom:12px;
}
.adm-brand img{height:32px;width:auto}

/* NAV */
.adm-nav{
  display:flex;flex-direction:column;gap:2px;
  flex:1;min-height:0;overflow-y:auto;
  padding-right:0;
  scrollbar-width:thin;
  scrollbar-color:var(--nav-surface-strong) transparent;
}
.adm-nav::-webkit-scrollbar{width:3px}
.adm-nav::-webkit-scrollbar-track{background:transparent}
.adm-nav::-webkit-scrollbar-thumb{background:var(--nav-surface-strong);border-radius:999px}
.adm-nav::-webkit-scrollbar-thumb:hover{background:var(--nav-group-border)}
.adm-side{
  scrollbar-width:thin;
  scrollbar-color:var(--nav-surface-strong) transparent;
}
.adm-side::-webkit-scrollbar{width:3px}
.adm-side::-webkit-scrollbar-track{background:transparent}
.adm-side::-webkit-scrollbar-thumb{background:var(--nav-surface-strong);border-radius:999px}

.adm-link{
  display:flex;width:100%;align-items:center;justify-content:flex-start;gap:9px;
  border:1px solid transparent;background:transparent;color:var(--nav-ink);
  padding:7px 9px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;
  font-size:var(--text-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  min-height:34px;line-height:1.2;
  transition:background-color .14s,color .14s,border-color .14s;
}
/* Sub-itens dentro de grupos: indentação + marcador de ponto */
.adm-group-links .adm-link{
  padding:5px 8px 5px 14px;font-size:var(--text-sm);min-height:30px;border-radius:var(--radius-sm);
}
.adm-group-links .adm-link::before{
  content:"";width:4px;height:4px;border-radius:999px;
  background:rgba(148,163,184,.32);flex:0 0 auto;margin-left:6px;
}
.adm-group-links .adm-link.is-active::before{background:var(--nav-accent)}
.adm-link.adm-link-sub{
  padding:6px 8px 6px 22px;font-size:var(--text-sm);font-weight:500;
  min-height:30px;border-radius:var(--radius-sm);color:var(--nav-ink);
}
.adm-link.adm-link-sub::before{
  content:"";width:5px;height:5px;border-radius:999px;
  background:rgba(148,163,184,.40);flex:0 0 auto;
}
.adm-side .adm-link .adm-badge{margin-left:auto;font-size:var(--text-2xs);padding:2px 7px;border-radius:999px}
.adm-link:hover{background:var(--nav-surface);color:var(--nav-title)}
.adm-link.is-active{
  background:var(--nav-accent-soft);border-color:transparent;
  color:var(--nav-accent);font-weight:600;
  box-shadow:inset 2px 0 0 var(--nav-accent-border);
}
.adm-link.adm-link-sub.is-active{
  background:var(--nav-accent-soft);border-color:var(--nav-accent-border);color:var(--nav-accent);
}
.adm-link.adm-link-sub.is-active::before{background:var(--nav-accent)}
.adm-link.is-parent-active{background:var(--nav-surface);color:var(--nav-title);font-weight:600}
.adm-link-home{
  margin-bottom:10px;padding:9px 10px;font-size:var(--text-body-sm);font-weight:700;border-radius:var(--radius-sm);
  background:var(--nav-surface);border-color:var(--nav-group-border);color:var(--nav-title);
}
/* Grupos: mais respiro entre seções */
.adm-group{margin-top:14px;padding-top:10px;border-top:1px solid var(--nav-group-border);position:relative}
.adm-group-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:3px 8px 7px;border:0;background:transparent;cursor:pointer;text-align:left;
  border-radius:var(--radius-xs);transition:background .12s;
  color:var(--nav-ink);
}
.adm-group-toggle:hover{background:var(--nav-surface)}
.adm-group-toggle:hover .adm-group-title{color:var(--nav-ink)}
.adm-group-toggle:hover .adm-group-caret{border-color:var(--nav-caret)}
.adm-group-title{
  font-size:var(--text-2xs);color:var(--nav-group-label);letter-spacing:.10em;
  text-transform:uppercase;font-weight:700;flex:1;
  transition:color .14s;
}
.adm-group-caret{
  width:6px;height:6px;
  border-right:1.5px solid var(--nav-caret);
  border-bottom:1.5px solid var(--nav-caret);
  transform:rotate(-45deg);
  transition:transform .18s,border-color .14s;flex:0 0 auto;margin-right:2px;
}
.adm-group-links{
  display:flex;flex-direction:column;gap:1px;padding:0 0 4px;
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .24s ease,opacity .18s ease;
}
/* ── Submenu: abre apenas no clique (is-open via JS) ── */
.adm-group.is-open .adm-group-links{max-height:600px;opacity:1;transition-delay:0s}
.adm-group.is-open .adm-group-caret{transform:rotate(45deg);border-color:var(--nav-accent)}
.adm-group.is-open .adm-group-title,.adm-group.is-active .adm-group-title{color:var(--nav-group-label)}
/* Mobile: mesma lógica, caret padrão para baixo */
@media(max-width:820px){
  .adm-group-caret{transform:rotate(45deg)}
  .adm-group.is-open .adm-group-caret{transform:rotate(225deg);margin-top:4px}
}

/* ── Ícones de navegação ── */
.adm-nav-icon{
  width:16px;height:16px;flex-shrink:0;
  stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  opacity:.72;transition:opacity .14s;
}
.adm-link:hover .adm-nav-icon,
.adm-link.is-active .adm-nav-icon,
.adm-group-toggle:hover .adm-nav-icon,
.adm-group:hover .adm-group-toggle .adm-nav-icon{opacity:1}
.adm-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── Botão de colapso ── */
.adm-collapse-btn{
  position:fixed;top:14px;left:228px;z-index:200;
  width:26px;height:26px;border-radius:var(--radius-xs);
  background:var(--nav-surface);
  border:1px solid var(--nav-group-border);
  color:var(--nav-ink);
  display:none; /* mostrado apenas no desktop via media query abaixo */
  align-items:center;justify-content:center;
  cursor:pointer;padding:0;
  transition:background .14s,color .14s,border-color .14s,left .24s cubic-bezier(.4,0,.2,1);
}
.adm-collapse-btn svg{transition:transform .22s ease}
.adm-collapse-btn:hover{background:var(--nav-surface-strong);color:var(--nav-title);border-color:var(--nav-caret)}

/* ── Sidebar compacto (desktop ≥821px) ── */
@media(min-width:821px){
  .adm-collapse-btn{display:flex}
  .adm-side{transition:width .24s cubic-bezier(.4,0,.2,1)}
  .adm-main{transition:margin-left .24s cubic-bezier(.4,0,.2,1)}
  .adm-side.is-compact{width:58px}
  .adm-main.is-compact{margin-left:58px}

  .adm-side.is-compact{padding:16px 8px 12px}
  .adm-layout.is-compact .adm-collapse-btn{left:16px}
  .adm-side.is-compact .adm-brand{
    padding:44px 0 16px;justify-content:center;overflow:hidden;
  }
  .adm-side.is-compact .adm-brand img{
    max-width:none;width:30px;height:30px;object-fit:contain;
  }
  .adm-side.is-compact .adm-group-title,
  .adm-side.is-compact .adm-group-caret,
  .adm-side.is-compact .adm-nav-label,
  .adm-side.is-compact .adm-weemobi-footer{display:none}
  .adm-side.is-compact .adm-link{padding:8px;justify-content:center;min-height:38px}
  .adm-side.is-compact .adm-link-home{padding:9px;margin-bottom:4px}
  .adm-side.is-compact .adm-group-toggle{padding:8px;justify-content:center;min-height:38px}
  /* No compact mode: inline submenus escondidos — flyout JS cuida */
  .adm-side.is-compact .adm-group-links,
  .adm-side.is-compact .adm-group.is-open .adm-group-links{
    max-height:0!important;opacity:0!important;
    pointer-events:none;transition-delay:0s!important;
  }

  /* ── Flyout panel (modo compacto) — flat e próximo ── */
  .adm-nav-flyout{
    position:fixed;z-index:600;
    background:var(--surface-side);
    border:1px solid rgba(255,255,255,.10);
    border-radius:var(--radius-sm);
    box-shadow:0 4px 24px rgba(0,0,0,.45);
    padding:4px;min-width:180px;
    opacity:0;pointer-events:none;
    transform:translateX(-6px);
    transition:opacity .14s ease,transform .14s ease;
    margin-left:2px;
  }
  .adm-nav-flyout.is-visible{opacity:1;pointer-events:auto;transform:translateX(0)}
  .adm-nav-flyout-title{
    font-size:var(--text-2xs);font-weight:700;letter-spacing:.1em;
    text-transform:uppercase;color:rgba(148,163,184,.45);
    padding:5px 9px 5px;
  }
  .adm-nav-flyout .adm-link{
    font-size:var(--text-sm);padding:6px 10px;border-radius:var(--radius-xs);
    color:var(--nav-ink);display:block;white-space:nowrap;
  }
  .adm-nav-flyout .adm-link:hover{background:rgba(255,255,255,.07);color:var(--nav-title)}
  .adm-nav-flyout .adm-link.is-active{
    background:var(--nav-accent-soft);border:1px solid var(--nav-accent-border);
    color:var(--nav-accent);font-weight:600;
  }

  /* ── Tooltip para links individuais (Dashboard, Sair) ── */
  .adm-nav-tooltip{
    position:fixed;z-index:600;
    background:var(--surface-side);color:#e2e8f0;
    border:1px solid rgba(255,255,255,.10);
    border-radius:var(--radius-xs);padding:4px 10px;
    font-size:var(--text-sm);font-weight:500;
    box-shadow:0 4px 16px rgba(0,0,0,.4);
    opacity:0;pointer-events:none;
    transform:translateX(-4px);
    transition:opacity .12s ease,transform .12s ease;
    white-space:nowrap;
    margin-left:2px;
  }
  .adm-nav-tooltip.is-visible{opacity:1;transform:translateX(0)}
}

.adm-spacer{flex:1}
.adm-logout{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:var(--nav-ink);
  margin-top:8px;
  transition:background .14s,border-color .14s,color .14s;
}
.adm-logout:hover{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.22);color:#fca5a5}

/* ============================================================ MAIN */
.adm-main{padding:10px 16px 28px;min-width:0;position:relative;z-index:1;margin-left:252px}
.adm-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:10px 14px;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.04);
}
.adm-top-right{display:flex;align-items:center;gap:8px}

/* ── Page Hero — título padronizado de página ── */
.adm-page-hero{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:0;margin-bottom:4px;
}
.adm-page-hero-body{flex:1;min-width:0}
.adm-page-hero-title{
  font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;
  color:var(--text);line-height:1.2;margin:0;
}
.adm-page-hero-sub{font-size:var(--text-sm);color:var(--muted);margin-top:2px}
.adm-page-hero-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
@media(max-width:640px){
  .adm-page-hero{flex-direction:column;align-items:flex-start;gap:8px}
  .adm-page-hero-actions{width:100%}
}
.adm-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.adm-icon-fallback{display:inline-block;font-size:16px;line-height:1}
html.wh-adm-js .adm-icon-fallback{display:none}
html:not(.wh-adm-js) .adm-icon{display:none}
.adm-page-title{font-weight:700;letter-spacing:-.02em;font-size:var(--text-md)}
.adm-visit{
  border:1.5px solid var(--border);background:var(--field-bg);
  padding:7px 11px;border-radius:var(--radius-sm);color:var(--text);font-weight:600;font-size:var(--text-sm);
  transition:background .14s,border-color .14s;
}
.adm-visit:hover{background:var(--field-bg-2);border-color:#cbd5e1}

.adm-content{margin-top:10px;display:flex;flex-direction:column;gap:20px;max-width:1400px;margin-left:auto;margin-right:auto}
.adm-content>*{margin-top:0!important}
.adm-content>.adm-card{margin:0!important}

/* ============================================================ CARDS */
.adm-card{
  background:var(--surface);
  border-radius:var(--radius);padding:20px 24px;
  box-shadow:0 1px 3px rgba(15,23,42,.07),0 4px 20px rgba(15,23,42,.09);
}
html[data-theme="dark"] .adm-card{
  box-shadow:none;border:1px solid var(--border);
}
.adm-card-title{font-weight:700;letter-spacing:-.015em;margin-bottom:6px;font-size:var(--text-body-sm)}
.adm-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.adm-toolbar{display:flex;gap:8px;align-items:center;margin-top:10px}
.adm-toolbar input{
  flex:1;border-radius:var(--radius-sm);border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);
  padding:8px 11px;outline:none;font-size:var(--text-sm);
  transition:border-color .14s,box-shadow .14s;
}
.adm-toolbar input:focus{
  border-color:rgba(var(--primary-rgb),.45);
  box-shadow:0 0 0 3px rgba(var(--primary-rgb),.10);
  background:var(--surface);
}
.adm-actions{
  display:flex;gap:8px;flex-wrap:nowrap;
  overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;
  white-space:nowrap;margin-top:10px;
}
.adm-card-head .adm-actions{margin-top:0}
.adm-actions>*{flex:0 0 auto}

/* ============================================================ BUTTONS */
.adm-btn{
  border:0;
  background:linear-gradient(180deg,#2d72f0,var(--primary));
  box-shadow:0 1px 3px rgba(29,78,216,.18),0 4px 12px rgba(29,78,216,.22);
  color:#fff;
  padding:8px 14px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-size:var(--text-sm);
  transition:filter .14s,transform .1s,box-shadow .14s;letter-spacing:.01em;
}
.adm-btn:hover{filter:brightness(.94);box-shadow:0 2px 6px rgba(29,78,216,.22),0 6px 18px rgba(29,78,216,.26)}
.adm-btn:active{transform:translateY(1px)}
.adm-btn-ghost{
  background:var(--surface);border:1.5px solid var(--border);color:var(--text);
  transition:background .14s,border-color .14s;
}
.adm-btn-ghost:hover{background:var(--field-bg-2);border-color:#cbd5e1}
.adm-btn-danger{background:#dc2626;color:#fff}
.adm-btn-danger:hover{filter:brightness(.9)}
.adm-btn-success{background:var(--success);color:#fff}
.adm-btn-success:hover{filter:brightness(.9)}
.adm-btn-purple{background:var(--indigo);color:#fff}
.adm-btn-purple:hover{filter:brightness(.9)}
.adm-btn-sm{padding:5px 11px;font-size:var(--text-sm);border-radius:var(--radius-sm)}
.adm-btn-lg{padding:12px 28px;font-size:var(--text-md)}
.adm-btn-ghost-danger{background:var(--surface);border:1.5px solid var(--border);color:var(--danger)}
.adm-btn-ghost-danger:hover{background:rgba(239,68,68,.06);border-color:var(--danger)}

@keyframes adm-spin{to{transform:rotate(360deg)}}
.adm-btn.is-loading{cursor:not-allowed;pointer-events:none;opacity:.75;position:relative}
.adm-btn.is-loading::after{
  content:'';display:inline-block;
  width:13px;height:13px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  animation:adm-spin .65s linear infinite;
  vertical-align:middle;margin-left:7px;flex-shrink:0;
}
.adm-btn-ghost.is-loading::after{border-color:rgba(0,0,0,.2);border-top-color:var(--text)}

@keyframes adm-skeleton-shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.adm-skeleton{
  border-radius:var(--radius-xs);height:14px;
  background:linear-gradient(90deg,var(--border) 25%,var(--field-bg-2) 50%,var(--border) 75%);
  background-size:800px 100%;
  animation:adm-skeleton-shimmer 1.4s ease-in-out infinite;
  display:block;
}

.adm-msg{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);border-left:4px solid var(--border);background:var(--card-bg);margin-bottom:10px;font-size:var(--text-md)}
.adm-msg-icon{flex-shrink:0;font-weight:700;font-size:var(--text-body-sm);margin-top:1px}
.adm-msg-success{border-left-color:#16a34a;background:rgba(22,163,74,.07)}
.adm-msg-success .adm-msg-icon{color:#16a34a}
.adm-msg-error{border-left-color:var(--danger,#ef4444);background:rgba(239,68,68,.07)}
.adm-msg-error .adm-msg-icon{color:var(--danger,#ef4444)}
.adm-msg-warning{border-left-color:#d97706;background:rgba(217,119,6,.07)}
.adm-msg-warning .adm-msg-icon{color:#d97706}
.adm-msg-info{border-left-color:#3b82f6;background:rgba(59,130,246,.07)}
.adm-msg-info .adm-msg-icon{color:#3b82f6}

.adm-mini{
  border:1.5px solid var(--border);background:var(--surface);
  color:var(--text);padding:5px 9px;border-radius:var(--radius-sm);
  cursor:pointer;font-size:var(--text-xs);font-weight:600;
  transition:background .14s,border-color .14s;
}
.adm-mini:hover{background:var(--field-bg-2);border-color:#cbd5e1}
.adm-table td .adm-mini+.adm-mini{margin-left:5px}
.adm-mini-danger{
  border-color:rgba(239,68,68,.30);color:rgba(220,38,38,.88);background:rgba(239,68,68,.04);
}
.adm-mini-danger:hover{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.50)}
html[data-theme="dark"] .adm-mini-danger{color:#fca5a5;background:transparent}

/* ============================================================ TABLES */
.adm-table-wrap{overflow:auto;margin-top:14px}
.adm-table{width:100%;border-collapse:separate;border-spacing:0 4px}
.adm-table th{
  text-align:left;font-size:var(--text-xs);color:var(--muted);font-weight:700;
  padding:0 12px 8px;letter-spacing:.04em;text-transform:uppercase;
}
.adm-table td{
  background:var(--field-bg);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:9px 12px;font-size:var(--text-body-sm);
}
.adm-table tr td:first-child{
  border-left:1px solid var(--border);
  border-top-left-radius:8px;border-bottom-left-radius:8px;
}
.adm-table tr td:last-child{
  border-right:1px solid var(--border);
  border-top-right-radius:8px;border-bottom-right-radius:8px;
}
.adm-table tr.adm-row-click td{cursor:pointer}
.adm-table tr.adm-row-click:hover td{background:var(--hover);border-color:#cbd5e1}
.adm-table tr.is-muted td{opacity:.50}
.adm-table tr.is-overdue td{background:rgba(239,68,68,.04)}
.adm-table tr.is-overdue td:first-child{box-shadow:inset 3px 0 0 rgba(239,68,68,.40)}
html[data-theme="dark"] .adm-table tr.is-overdue td{background:rgba(239,68,68,.08)}
html[data-theme="dark"] .adm-table tr.is-overdue td:first-child{box-shadow:inset 3px 0 0 rgba(239,68,68,.45)}

/* ============================================================ GRIDS */
.adm-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.adm-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

/* ============================================================ BADGES */
.adm-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:var(--text-xs);font-weight:600;
  padding:3px 8px;border-radius:999px;
  border:0;background:var(--field-bg-2);color:var(--muted);
}
/* outlined — para tags de origem (instagram, facebook, site) */
.adm-badge-outline{
  border:1px solid var(--border);background:transparent;color:var(--muted);
}
.adm-badge.hot{background:#ef4444;color:#fff}
.adm-badge.warn{background:#d97706;color:#fff}
.adm-badge.ok{background:#16a34a;color:#fff}
.adm-badge-danger{background:#ef4444;color:#fff}
.adm-badge-warning{background:#d97706;color:#fff}
.adm-badge-success{background:#16a34a;color:#fff}
html[data-theme="dark"] .adm-badge{background:rgba(255,255,255,.08);color:var(--muted)}

/* ============================================================ LIST / ITEMS */
.adm-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.adm-item{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:var(--radius);
  border:1px solid var(--border);background:var(--surface);
  transition:border-color .14s,box-shadow .14s;
}
.adm-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.adm-item-title{font-weight:700;font-size:var(--text-body-sm)}
.adm-item-sub{font-size:var(--text-sm);color:var(--muted);margin-top:3px}
.adm-item-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.adm-card-kpi{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-bottom:6px}
.adm-card .adm-card-title{margin-bottom:6px}

/* ============================================================ META KPI */
.meta-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.meta-kpi-card{padding:14px 16px;min-height:88px;display:flex;flex-direction:column;justify-content:space-between}
.meta-kpi-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.meta-kpi-value{font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1}
.meta-integration-list,.meta-event-list,.meta-failure-list{display:flex;flex-direction:column;gap:10px}
.meta-integration-card,.meta-event-card,.meta-failure-card{
  border:1px solid var(--border);background:var(--field-bg);border-radius:var(--radius);padding:12px 14px;
}
.meta-integration-card{background:var(--surface)}
.meta-integration-head,.meta-event-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.meta-integration-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.meta-integration-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.meta-integration-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}
.meta-integration-field{
  display:flex;flex-direction:column;gap:4px;padding:10px 12px;
  border:1px solid var(--border);background:var(--field-bg);border-radius:var(--radius-sm);min-width:0;
}
.meta-integration-label{font-size:var(--text-2xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.meta-error-box{
  margin-top:12px;border:1px solid rgba(239,68,68,.18);
  background:rgba(239,68,68,.04);border-radius:var(--radius-sm);padding:0 12px 12px;
}
.meta-error-box summary{cursor:pointer;list-style:none;font-size:var(--text-sm);font-weight:700;color:var(--text);padding:12px 0 0}
.meta-error-box summary::-webkit-details-marker{display:none}
.meta-error-text{margin-top:10px;font-size:var(--text-sm);color:var(--muted);line-height:1.5;word-break:break-word}
.meta-event-card,.meta-failure-card{padding:12px}
.meta-event-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 14px;font-size:var(--text-sm);color:var(--muted)}

/* ============================================================ FORMS */
.adm-form label{display:block;margin:10px 0 5px;font-size:var(--text-xs);color:var(--muted);font-weight:600;letter-spacing:.01em}
.adm-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.adm-label-row .adm-mini{margin:0;padding:3px 9px;border-radius:999px;font-size:var(--text-xs);line-height:1}
.adm-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.adm-form-grid.is-filter{grid-template-columns:repeat(8,minmax(90px,1fr));align-items:end;gap:8px}
.adm-form-grid.is-filter label{margin:0 0 5px}
.adm-form-grid.is-filter input,.adm-form-grid.is-filter select{padding:7px 9px;border-radius:var(--radius-sm)}
.adm-form-grid.is-filter.is-compact{gap:7px}
.adm-form-grid.is-filter.is-compact label{font-size:var(--text-xs);margin:0 0 4px}
.adm-form-grid.is-filter.is-compact input,.adm-form-grid.is-filter.is-compact select{padding:6px 9px;border-radius:var(--radius-xs)}
@media(max-width:1100px){
  .adm-form-grid.is-filter{grid-template-columns:repeat(3,1fr)}
  .meta-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meta-integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .adm-form-grid.is-filter{grid-template-columns:repeat(2,1fr)}
  .meta-kpi-grid{grid-template-columns:1fr}
  .meta-integration-head,.meta-event-top{flex-direction:column;align-items:flex-start}
  .meta-integration-actions{justify-content:flex-start}
  .meta-integration-grid{grid-template-columns:1fr}
}
.adm-details-summary{cursor:pointer;font-weight:700;list-style:none}
.adm-details-summary::-webkit-details-marker{display:none}
.adm-details-summary:before{content:'▸';display:inline-block;margin-right:8px;opacity:.55}
details[open]>.adm-details-summary:before{content:'▾'}
.adm-col-2{grid-column:1/-1}
.adm-form-grid input,.adm-form-grid select,.adm-form-grid textarea{
  width:100%;border-radius:var(--radius-sm);border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);
  padding:10px 12px;outline:none;font-size:var(--text-sm);font-weight:500;line-height:1.4;
  transition:border-color .14s,box-shadow .14s,background .14s;
}
.adm-form-grid textarea{min-height:88px;resize:vertical;line-height:1.5}
.adm-input-readonly{
  display:block;width:100%;padding:8px 10px;border-radius:var(--radius-sm);
  border:1.5px solid var(--border);background:var(--field-bg-2);color:var(--muted);
  font-size:var(--text-sm);font-weight:500;line-height:1.4;user-select:text;
}
.adm-checks{display:flex;gap:12px;flex-wrap:wrap}
.adm-checks label{margin:0;font-weight:600;color:var(--muted)}
.adm-row{display:flex;align-items:center;gap:10px;margin-top:8px}
.adm-segment{display:flex;gap:7px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.adm-segment .adm-mini{margin:0;flex:0 0 auto}
.adm-segment .adm-mini.is-active{background:var(--support);color:var(--premium);border-color:rgba(var(--primary-rgb),.25)}
.adm-inline-panel{margin-top:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface)}
.adm-pre{
  margin:0;white-space:pre-wrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Courier New",monospace;
  font-size:var(--text-sm);line-height:1.45;padding:12px;border-radius:var(--radius-sm);
  border:1px solid var(--border);background:var(--field-bg);color:var(--text);
}
.adm-icon-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  min-width:38px;border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);
  padding:7px 9px;border-radius:var(--radius-sm);cursor:pointer;
  transition:background .14s,border-color .14s;
}
.adm-icon-btn:hover{background:var(--field-bg-2);border-color:#cbd5e1}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Courier New",monospace;font-size:var(--text-sm)}

/* ============================================================ MODAL */
.adm-modal{position:fixed;top:52px;left:0;right:0;bottom:0;display:none;z-index:1000}
.adm-modal[aria-hidden="true"]{display:none!important}
.adm-modal.is-open,.adm-modal[aria-hidden="false"]{display:block!important}
.adm-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.60)}
.adm-modal-card{
  position:relative;
  width:min(1040px,calc(100% - 24px));
  max-height:calc(100% - 24px);
  margin:12px auto;overflow:auto;
  background:var(--surface-strong);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 24px 64px rgba(0,0,0,.18);
}
.adm-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 16px;border-bottom:1px solid var(--border);
  position:sticky;top:0;background:var(--surface-strong);
  backdrop-filter:saturate(180%) blur(10px);
}
.adm-modal-title{font-weight:700;font-size:var(--text-md);letter-spacing:-.015em}
.adm-modal-body{padding:14px 16px}
.adm-modal-body label{display:block;margin:10px 0 5px;font-size:var(--text-xs);color:var(--muted);font-weight:600}
.adm-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.adm-modal-body textarea{
  width:100%;border-radius:var(--radius-sm);border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);
  padding:12px 14px;outline:none;min-height:120px;resize:vertical;
  font-size:var(--text-body-sm);font-weight:500;line-height:1.5;
  transition:border-color .14s,box-shadow .14s;
}
.adm-modal-body textarea::placeholder{color:rgba(100,116,139,.65)}
html[data-theme="dark"] .adm-modal-body textarea::placeholder{color:rgba(148,163,184,.55)}

/* ============================================================ KANBAN */
.adm-kanban{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);
  gap:10px;overflow:auto;padding:4px 2px;margin-top:10px;
}
.adm-col{
  background:var(--field-bg);border:1px solid var(--border);
  border-radius:var(--radius);min-height:440px;display:flex;flex-direction:column;
}
.adm-col-head{
  padding:10px 12px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;
}
.adm-col-title{font-weight:700;font-size:var(--text-body-sm)}
.adm-col-body{padding:10px;display:flex;flex-direction:column;gap:8px;flex:1}

.adm-card-mini{
  border:1px solid var(--border);background:var(--surface);
  border-radius:var(--radius-sm);padding:10px 32px 10px 12px;
  cursor:grab;box-shadow:0 1px 3px rgba(15,23,42,.05);
  border-left:3px solid transparent;position:relative;
  transition:transform .12s,box-shadow .12s;
}
.adm-card-mini:hover{box-shadow:0 4px 14px rgba(15,23,42,.10)}
.adm-card-mini-title{font-weight:700;margin-bottom:6px;font-size:var(--text-body-sm)}
.adm-card-mini-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.adm-card-mini-head .adm-card-mini-title{margin-bottom:0;line-height:1.25}
.adm-card-mini-head .adm-badge{flex-shrink:0}
.adm-card-mini-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.adm-kanban .adm-card-mini .adm-item-sub{line-height:1.35}
.adm-card-mini.c-ok{border-left-color:rgba(16,185,129,.70)}
.adm-card-mini.c-warn{border-left-color:rgba(245,158,11,.80)}
.adm-card-mini.c-hot{border-left-color:rgba(239,68,68,.80)}

.adm-kanban .adm-col{border-color:var(--border)}
html[data-theme="dark"] .adm-kanban .adm-col{background:rgba(255,255,255,.02)}
html[data-theme="dark"] .adm-kanban .adm-col-head{background:rgba(255,255,255,.03)}
.adm-kanban .adm-card-mini{border-left-width:3px}
.adm-kanban .adm-badge{
  font-weight:600;border-color:var(--border);font-size:var(--text-xs);padding:3px 7px;
  background:var(--field-bg);color:var(--muted);
}
html[data-theme="dark"] .adm-kanban .adm-badge{background:rgba(255,255,255,.04)}
.adm-kanban .adm-badge.ok{border-color:rgba(16,185,129,.22);background:rgba(16,185,129,.07);color:rgba(4,120,87,.90)}
.adm-kanban .adm-badge.warn{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.07);color:rgba(146,64,14,.90)}
.adm-kanban .adm-badge.hot{border-color:rgba(239,68,68,.22);background:rgba(239,68,68,.07);color:rgba(185,28,28,.90)}
html[data-theme="dark"] .adm-kanban .adm-badge.ok{color:#6ee7b7}
html[data-theme="dark"] .adm-kanban .adm-badge.warn{color:#fcd34d}
html[data-theme="dark"] .adm-kanban .adm-badge.hot{color:#fca5a5}

.adm-kanban{transition:opacity 140ms ease,filter 140ms ease}
.adm-kanban.is-syncing{opacity:.98;filter:saturate(.98)}
.adm-kanban .adm-card-mini{transition:transform 140ms ease,box-shadow 140ms ease,opacity 120ms ease}
.adm-kanban .adm-card-mini.is-dragging{
  opacity:.80;transform:translateY(-2px) scale(1.01);
  box-shadow:0 12px 28px rgba(15,23,42,.14);cursor:grabbing;will-change:transform;
}
.adm-kanban .adm-card-mini.is-dropped-local{opacity:.90;pointer-events:none}
.adm-kanban .adm-card-mini.is-drop-in{animation:admDropInSoft 140ms ease-out}
.adm-card-open{
  position:absolute;top:7px;right:7px;
  width:20px;height:20px;border-radius:5px;
  border:1px solid transparent;background:transparent;
  display:flex;align-items:center;justify-content:center;padding:0;
  color:var(--muted);opacity:.55;cursor:pointer;transition:opacity .12s,background .12s;
}
.adm-card-mini:hover .adm-card-open{opacity:1}
.adm-card-open:hover{background:var(--field-bg-2);border-color:var(--border);color:var(--text)}
html[data-theme="dark"] .adm-card-open:hover{background:rgba(255,255,255,.07)}
.adm-card-open svg{width:12px;height:12px;display:block}
@keyframes admDropInSoft{from{opacity:.90;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.adm-kanban .adm-col-body{position:relative}
.adm-kanban .adm-col-body.is-drop-target{
  background:rgba(var(--support-rgb),.22);
  box-shadow:inset 0 0 0 1.5px rgba(var(--primary-rgb),.18);border-radius:var(--radius-sm);
}

/* ============================================================ TABS */
.adm-tabs{
  display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:thin;white-space:nowrap;
  padding:6px;border:1px solid var(--border);border-radius:var(--radius);
  background:var(--field-bg);margin-top:10px;
}
.adm-tabs .adm-tab{flex:0 0 auto}
.adm-tab{
  border:1px solid transparent;background:transparent;color:var(--muted);
  padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--text-sm);
  transition:background .14s,color .14s,border-color .14s;
}
.adm-tab:hover{background:var(--surface);color:var(--text);border-color:var(--border)}
.adm-tab.is-active{
  background:var(--surface);border-color:var(--border);
  color:var(--primary);box-shadow:0 1px 3px rgba(15,23,42,.07);
}
.adm-tabpane{display:none}
.adm-tabpane.is-active{display:block}
/* <a> dentro de adm-tabs funciona igual a <button> */
.adm-tabs a.adm-tab{text-decoration:none;display:inline-flex;align-items:center}

/* ============================================================ SPLIT / PANEL */
.adm-split{display:grid;grid-template-columns:340px 1fr;gap:12px}
.adm-panel{border:1px solid var(--border);background:var(--field-bg);border-radius:var(--radius);padding:14px}
.adm-panel h3{margin:0 0 10px;font-size:var(--text-body-sm);font-weight:700}
.adm-panel label{display:block;margin:10px 0 5px;font-size:var(--text-xs);color:var(--muted)}
.adm-panel input,.adm-panel select,.adm-panel textarea{
  width:100%;border-radius:var(--radius-sm);border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);padding:9px 11px;outline:none;
  transition:border-color .14s,box-shadow .14s;
}
.adm-panel textarea{resize:vertical}

.adm-inline{display:flex;gap:8px;align-items:center}
.adm-inline select{flex:1}
.adm-inline-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;flex:0 0 auto}
.adm-inline-icon .adm-icon{display:block}
.adm-chips{display:flex;flex-wrap:wrap;gap:7px}
.adm-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 10px;border-radius:999px;
  border:1px solid var(--border);background:var(--surface);
  font-size:var(--text-sm);font-weight:600;cursor:pointer;user-select:none;
}
.adm-chip input{margin:0}
.adm-chip-x{border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:700;padding:0 2px;line-height:1}
.adm-chip-x:hover{color:var(--text)}
.adm-next{
  border:1.5px dashed rgba(var(--primary-rgb),.24);
  background:rgba(var(--support-rgb),.35);
  border-radius:var(--radius);padding:10px 12px;
}
.adm-next-title{font-size:var(--text-xs);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.adm-next-text{margin-top:4px;font-weight:700;font-size:var(--text-sm)}
.adm-quickbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* ============================================================ TIMELINE */
.adm-timeline{display:flex;flex-direction:column;gap:8px}
.adm-tl-item{
  border:1px solid var(--border);background:var(--surface);
  border-radius:var(--radius);padding:12px;display:flex;gap:12px;
  transition:border-color .14s;
}
.adm-tl-item:hover{border-color:#cbd5e1}
.adm-tl-ico{
  width:36px;height:36px;border-radius:var(--radius);
  border:1px solid var(--border);background:var(--field-bg);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--text);
}
.adm-tl-main{flex:1}
.adm-tl-title{font-weight:700;margin-bottom:4px;font-size:var(--text-body-sm)}
.adm-tl-sub{color:var(--muted);font-size:var(--text-sm);display:flex;flex-wrap:wrap;gap:8px}

/* ============================================================ CALENDAR */
.adm-calendar{margin-top:10px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);overflow:hidden}
.adm-cal-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface);
}
.adm-cal-title{font-weight:700;letter-spacing:-.02em}
.adm-cal-actions{display:flex;gap:8px;flex-wrap:wrap}
.adm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.adm-cal-dow{
  padding:9px 8px;font-size:var(--text-xs);color:var(--muted);
  text-transform:uppercase;letter-spacing:.06em;font-weight:600;
  border-bottom:1px solid var(--border);background:var(--field-bg);
}
.adm-cal-cell{
  min-height:88px;padding:9px 9px 10px;
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  cursor:pointer;position:relative;transition:background .12s;
}
.adm-cal-cell:nth-child(7n){border-right:0}
.adm-cal-cell:hover{background:var(--hover)}
.adm-cal-cell.is-out{opacity:.38}
.adm-cal-daynum{font-weight:700;font-size:var(--text-sm)}
.adm-cal-dots{position:absolute;left:9px;bottom:9px;display:flex;gap:5px}
.adm-dot{width:7px;height:7px;border-radius:999px;background:rgba(var(--primary-rgb),.65)}
.adm-dot.atv{background:rgba(var(--aqua-rgb),.75)}
.adm-dot.vis{background:rgba(var(--primary-rgb),.65)}
.adm-cal-count{position:absolute;right:9px;bottom:8px;font-size:var(--text-xs);color:var(--muted);font-weight:700}
.adm-daypanel{margin-top:12px}
.adm-daypanel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.adm-daypanel-title{font-weight:700}
.adm-daypanel .adm-item{margin-bottom:8px}

/* ============================================================ CRM FUNIL CONFIG */
.adm-funil-rows{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.adm-funil-row{
  display:grid;grid-template-columns:40px 1.4fr 140px 170px 180px;gap:10px;align-items:end;
  padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);
}
.adm-funil-row label{display:block;font-size:var(--text-xs);color:var(--muted);margin:0 0 5px}
.adm-funil-row input,.adm-funil-row select{width:100%}
.adm-funil-drag{
  width:40px;height:40px;border-radius:var(--radius-sm);background:var(--support);
  display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--primary);
}
.adm-funil-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}
@media(max-width:900px){.adm-funil-row{grid-template-columns:40px 1fr}.adm-funil-actions{justify-content:flex-start}}

/* ============================================================ UNITS */
.adm-units{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.adm-unit{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:14px}
.adm-unit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.adm-unit-title{font-weight:700;letter-spacing:-.015em}
.adm-unit-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.adm-unit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.adm-unit-grid .adm-field label{display:block;font-size:var(--text-xs);color:var(--muted);margin:0 0 5px}
.adm-unit-media{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}
.adm-unit-media-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.adm-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.adm-thumb{width:96px;height:64px;border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden;position:relative;background:var(--field-bg)}
.adm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.adm-thumb.is-cover{outline:2px solid rgba(var(--primary-rgb),.60)}
.adm-thumb-actions{position:absolute;top:5px;right:5px;display:flex;gap:5px}
.adm-thumb-btn{width:22px;height:22px;border-radius:var(--radius-xs);border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;line-height:1}
html[data-theme="dark"] .adm-thumb-btn{background:rgba(20,23,30,.85);border-color:rgba(255,255,255,.12)}
.adm-unit-msg{margin-top:8px}
.adm-variacoes{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}
.adm-variacoes-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.adm-variacoes-title{font-weight:700}
.adm-variacoes-sub{font-size:var(--text-sm);color:var(--muted)}
.adm-variacoes-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:10px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.adm-variacoes-table th,.adm-variacoes-table td{padding:10px;border-bottom:1px solid var(--border);font-size:var(--text-sm);vertical-align:top}
.adm-variacoes-table th{color:var(--muted);font-weight:700;background:var(--field-bg)}
.adm-variacoes-table tr:last-child td{border-bottom:0}
.adm-variacoes-table input,.adm-variacoes-table select{width:100%;min-width:90px}
.adm-var-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.adm-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm);color:var(--muted)}

/* ============================================================ RESPONSIVE MAIN */
@media(max-width:820px){
  .adm-split{grid-template-columns:1fr}
  .adm,body[data-route]{display:block}
  .adm-layout{grid-template-columns:1fr}
  .adm-layout::before{display:none}
  .adm-side{
    position:relative;top:0;height:auto;
    background:var(--surface-side);
    border-bottom:1px solid rgba(255,255,255,.07);padding:12px;
  }
  .adm-main{padding:8px 10px 24px}
  .adm-grid-3{grid-template-columns:1fr}
  .adm-grid-2{grid-template-columns:1fr}
  .adm-form-grid{grid-template-columns:1fr}
  .adm-unit-grid{grid-template-columns:1fr 1fr}
  .adm-group{padding:8px 6px 6px}
}

/* ============================================================ UNIT GROUPS + MEDIA */
.adm-unit-group{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.adm-unit-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.adm-unit-group-title{font-weight:700}
.adm-unit-group-body{display:flex;flex-direction:column;gap:12px}
.adm-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
@media(max-width:960px){.adm-media-grid{grid-template-columns:1fr}}
.adm-media-block{padding:10px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface)}
.adm-video-row{display:flex;gap:8px;align-items:center;margin-top:10px}
.adm-video-row .adm-video-url{flex:1}
.adm-video-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.adm-video-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.adm-video-label{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.adm-video-actions{display:flex;gap:8px}

/* ============================================================ CHECKLIST */
.adm-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px}
.adm-check{display:flex;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.adm-check input{margin:0}
.adm-section{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface);margin-top:12px}
.adm-section h3{margin:0 0 8px;font-size:var(--text-md);font-weight:700}
.adm-mini.is-active{background:var(--support);color:var(--premium);border-color:rgba(var(--primary-rgb),.28)}

/* ============================================================ STANDALONE INPUT */
.adm-input{
  border-radius:var(--radius-sm);border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);
  padding:8px 10px;outline:none;font-size:var(--text-sm);
  transition:border-color .14s,box-shadow .14s;
}
.adm-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-light);margin-bottom:4px}
.adm-textarea{
  border-radius:var(--radius-sm);border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);
  padding:8px 10px;outline:none;font-size:var(--text-sm);
  resize:vertical;min-height:72px;width:100%;
  transition:border-color .14s,box-shadow .14s;
  font-family:inherit;
}

/* ============================================================ MULTI-SELECT */
.adm-mselect{position:relative}
.adm-mselect.is-open{z-index:3500}
.adm-mselect-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;cursor:pointer;text-align:left;appearance:none}
.adm-mselect-btn:after{content:'▾';opacity:.55;font-size:var(--text-xs)}
.adm-mselect.is-open .adm-mselect-btn:after{transform:rotate(180deg)}
.adm-mselect-menu{
  position:absolute;top:calc(100% + 5px);left:0;right:0;
  min-width:240px;max-height:280px;overflow:auto;
  border:1px solid var(--border);background:var(--surface);
  border-radius:var(--radius);box-shadow:0 8px 32px rgba(0,0,0,.10);
  padding:5px;display:none;z-index:3501;
}
html[data-theme="dark"] .adm-mselect-menu{background:var(--surface-strong)}
.adm-mselect.is-open .adm-mselect-menu{display:block;animation:admFadeIn .12s ease-out}
.adm-mselect-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;user-select:none;font-size:var(--text-body-sm);color:var(--text)}
.adm-mselect-item:hover{background:var(--hover)}
html[data-theme="dark"] .adm-mselect-item:hover{background:rgba(255,255,255,.05)}
.adm-mselect-item input{margin:0}
.adm-mselect-sep{height:1px;background:var(--border);margin:5px 4px}
@keyframes admFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* ============================================================ TYPOGRAPHY PASS */
.adm-page-title,.adm-card-title,.adm-item-title,.adm-modal-title,
.adm-col-title,.adm-card-mini-title,.adm-cal-title,.adm-daypanel-title{
  font-weight:700;letter-spacing:-.015em;
}
.adm-btn,.adm-mini,.adm-tab,.adm-visit,.adm-label-row .adm-mini,.adm-details-summary{font-weight:600}
.adm-badge,.adm-link.is-active{font-weight:600}
.adm-card-kpi{font-size:26px;font-weight:800;letter-spacing:-.03em}

/* ============================================================ UPLOAD */
.adm-upload-row{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.adm-upload-preview{
  width:200px;height:110px;border-radius:var(--radius);
  border:1px solid var(--border);background:var(--field-bg);
  overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.adm-upload-preview img{width:100%;height:100%;object-fit:cover;display:block}
.adm-upload-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* ============================================================ EDITOR */
.adm-editor-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}
.adm-wys-toolbar{border:1px solid var(--border);background:var(--field-bg);padding:10px;border-radius:var(--radius)}
.adm-wys-editor{
  min-height:260px;border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);
  border-radius:var(--radius);padding:12px 14px;outline:none;overflow:auto;
  line-height:1.6;font-size:var(--text-body-sm);
  transition:border-color .14s,box-shadow .14s;
}
.adm-wys-editor:empty:before{content:attr(data-placeholder);color:rgba(100,116,139,.60)}
.adm-wys-editor p{margin:0 0 10px}
.adm-wys-editor h2{margin:14px 0 10px;letter-spacing:-.015em}
.adm-wys-editor ul,.adm-wys-editor ol{margin:0 0 12px 18px}
.adm-wys-editor a{color:var(--primary);text-decoration:underline}

/* ============================================================ FUNIL TABS */
.adm-funnels-tabs-wrap{position:relative}
.adm-funnels-tabs{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:4px 2px;scrollbar-width:thin}
.adm-funnels-tabs::-webkit-scrollbar{height:5px}
.adm-funnels-tabs::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:999px}
.adm-funnel-tab{
  display:inline-flex;align-items:center;gap:7px;padding:6px 10px;
  border:1px solid var(--border);background:var(--surface);
  border-radius:var(--radius-sm);font-size:var(--text-body-sm);cursor:pointer;user-select:none;
  transition:background .14s,border-color .14s;
}
.adm-funnel-tab:hover{background:var(--field-bg-2);border-color:#cbd5e1}
.adm-funnel-tab.is-active{border-color:rgba(var(--primary-rgb),.35);background:rgba(var(--support-rgb),.50);color:var(--premium)}
.adm-funnels-tabs-wrap--config .adm-funnel-tab{position:relative}
.adm-funnels-tabs-wrap--config .adm-funnel-tab.is-active{
  border-color:rgba(var(--primary-rgb),.35);background:rgba(var(--support-rgb),.50);
  box-shadow:0 1px 0 rgba(var(--primary-rgb),.14);
}
.adm-funnels-tabs-wrap--config .adm-funnel-tab.is-active:after{
  content:'';position:absolute;left:10px;right:10px;bottom:-5px;
  height:2px;border-radius:999px;background:rgba(var(--primary-rgb),.55);
}
.adm-funnel-tab-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:17px;padding:0 5px;border-radius:999px;
  border:1px solid rgba(0,0,0,.10);background:rgba(0,0,0,.03);
  font-size:var(--text-xs);line-height:17px;font-variant-numeric:tabular-nums;opacity:.70;
}
.adm-funnel-tab.is-active .adm-funnel-tab-badge{opacity:.90;border-color:rgba(0,0,0,.16);background:rgba(0,0,0,.04)}

.adm-lead-fc-list{display:flex;flex-direction:column;gap:7px}
.adm-lead-fc-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);
  text-decoration:none;color:inherit;background:var(--surface);
  transition:border-color .14s,box-shadow .14s;
}
.adm-lead-fc-item:hover{border-color:rgba(var(--primary-rgb),.28);box-shadow:0 2px 10px rgba(var(--primary-rgb),.07)}
.adm-lead-fc-title{font-weight:700}
.adm-lead-fc-meta{font-size:var(--text-sm);opacity:.68;margin-top:2px}
.adm-lead-fc-right{display:flex;align-items:center;gap:6px;white-space:nowrap}

/* ============================================================ TOAST */
.adm-toast{position:fixed;top:14px;right:14px;z-index:9999;display:flex;flex-direction:column;gap:7px;pointer-events:none}
.adm-toast-item{
  pointer-events:auto;max-width:340px;
  border:1px solid var(--border);background:var(--surface);
  border-radius:var(--radius);padding:10px 14px;
  box-shadow:0 8px 28px rgba(0,0,0,.12);font-size:var(--text-body-sm);
  opacity:0;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease;
}
.adm-toast-item.is-show{opacity:1;transform:translateY(0)}
.adm-toast-item.is-err{border-color:rgba(220,38,38,.28);background:#fff1f1}

/* Fade edges on funnel tabs */
.adm-funnels-tabs-wrap:before,.adm-funnels-tabs-wrap:after{
  content:'';position:absolute;top:0;bottom:0;width:24px;pointer-events:none;opacity:0;transition:opacity .15s;
}
.adm-funnels-tabs-wrap:before{left:0;background:linear-gradient(to right,var(--surface),rgba(255,255,255,0))}
.adm-funnels-tabs-wrap:after{right:0;background:linear-gradient(to left,var(--surface),rgba(255,255,255,0))}
.adm-funnels-tabs-wrap.has-left-fade:before{opacity:1}
.adm-funnels-tabs-wrap.has-right-fade:after{opacity:1}

/* ============================================================ LEAD PICKER */
.adm-lead-picker{max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);padding:5px;background:var(--surface)}
.adm-lead-picker-item{
  width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 12px;background:var(--surface);cursor:pointer;margin:5px 0;
  transition:transform .08s,box-shadow .08s,border-color .1s;
}
.adm-lead-picker-item:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.09);border-color:#cbd5e1}
.adm-lead-picker-item.is-disabled{opacity:.50;cursor:not-allowed}
.adm-lead-picker-item.is-disabled:hover{transform:none;box-shadow:none}
.adm-lead-picker-row{display:flex;gap:10px;align-items:center;justify-content:space-between}
.adm-lead-picker-badge{font-size:var(--text-xs);padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--field-bg);color:var(--muted)}
.adm-lead-picker-name{font-weight:700}
.adm-lead-picker-meta{font-size:var(--text-sm);color:var(--muted);margin-top:3px}

/* CRM config helpers */
.adm-chip-row{display:flex;gap:8px;flex-wrap:wrap}
.adm-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(max-width:980px){.adm-check-grid{grid-template-columns:1fr}}

/* ============================================================ FILTER BREAKPOINTS */
@media(max-width:1400px){.adm-form-grid.is-filter{grid-template-columns:repeat(6,minmax(100px,1fr))}}
@media(max-width:1180px){
  .adm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adm-form-grid.is-filter{grid-template-columns:repeat(4,minmax(100px,1fr))}
}
@media(max-width:820px){
  .adm-main{padding:6px 10px 24px}
  .adm-form-grid,.adm-form-grid.is-filter{grid-template-columns:1fr}
}

/* ============================================================ FOCUS STATES */
.adm-form-grid input:focus-visible,
.adm-form-grid select:focus-visible,
.adm-form-grid textarea:focus-visible,
.adm-modal-body input:focus-visible,
.adm-modal-body select:focus-visible,
.adm-modal-body textarea:focus-visible,
.adm-panel input:focus-visible,
.adm-panel select:focus-visible,
.adm-panel textarea:focus-visible,
.adm-login input:focus-visible,
.adm-login select:focus-visible,
.adm-toolbar input:focus-visible{
  border-color:rgba(var(--primary-rgb),.55);
  box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12);
  background:var(--surface);outline:none;
}
html[data-theme="dark"] .adm-form-grid input:focus-visible,
html[data-theme="dark"] .adm-form-grid select:focus-visible,
html[data-theme="dark"] .adm-form-grid textarea:focus-visible,
html[data-theme="dark"] .adm-modal-body input:focus-visible,
html[data-theme="dark"] .adm-modal-body select:focus-visible,
html[data-theme="dark"] .adm-modal-body textarea:focus-visible{
  border-color:rgba(var(--aqua-rgb),.55);
  box-shadow:0 0 0 3px rgba(var(--aqua-rgb),.12);
}
.adm-btn:focus-visible,
.adm-btn-ghost:focus-visible,
.adm-mini:focus-visible,
.adm-tab:focus-visible,
.adm-link:focus-visible,
.adm-icon-btn:focus-visible{
  outline:2px solid rgba(var(--primary-rgb),.55);
  outline-offset:2px;
}

/* ============================================================ FORM VALIDATION */
.adm-form-grid input.is-error,
.adm-form-grid select.is-error,
.adm-form-grid textarea.is-error,
.adm-modal-body input.is-error,
.adm-modal-body select.is-error,
.adm-modal-body textarea.is-error{
  border-color:rgba(239,68,68,.55);background:rgba(239,68,68,.04);
  box-shadow:0 0 0 3px rgba(239,68,68,.09);
}
.adm-form-grid input.is-valid,
.adm-form-grid select.is-valid,
.adm-form-grid textarea.is-valid{border-color:rgba(16,185,129,.45);background:rgba(16,185,129,.03)}
.adm-field-error{font-size:var(--text-xs);color:rgba(220,38,38,.90);margin-top:4px;font-weight:600;display:block}
html[data-theme="dark"] .adm-field-error{color:rgba(252,165,165,.90)}

/* ============================================================ EMPTY STATE */
.adm-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:56px 24px;text-align:center;gap:12px;color:var(--muted);
}
.adm-empty-icon{width:44px;height:44px;opacity:.22;flex:0 0 auto}
.adm-empty-title{font-size:var(--text-md);font-weight:700;color:var(--text);opacity:.48;margin:0}
.adm-empty-sub{font-size:var(--text-sm);opacity:.68;margin:0;max-width:300px;line-height:1.55}
.adm-empty .adm-btn{margin-top:4px;opacity:.80}

/* ============================================================ ADM-DIALOG (confirm / alert) */
.adm-dialog{
  position:fixed;inset:0;z-index:9000;display:none;align-items:center;
  justify-content:center;padding:16px;
}
.adm-dialog.is-open{display:flex!important}
.adm-dialog-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.adm-dialog-card{
  position:relative;background:var(--surface-strong);border-radius:var(--radius-lg);
  box-shadow:0 24px 64px rgba(0,0,0,.22);width:min(420px,100%);
  padding:28px 24px 24px;animation:admDialogIn .17s ease;
}
@keyframes admDialogIn{
  from{opacity:0;transform:scale(.93)}
  to  {opacity:1;transform:scale(1)}
}
.adm-dialog-icon{
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;margin:0 auto 14px;font-size:var(--text-2xl);flex-shrink:0;
}
.adm-dialog-icon.is-danger{background:rgba(220,38,38,.10);color:#dc2626}
.adm-dialog-icon.is-warn  {background:rgba(245,158,11,.10);color:#d97706}
.adm-dialog-icon.is-info  {background:rgba(var(--primary-rgb),.10);color:var(--primary)}
.adm-dialog-title{font-size:var(--text-lg);font-weight:700;text-align:center;margin-bottom:7px;color:var(--text)}
.adm-dialog-msg  {font-size:var(--text-body-sm);color:var(--muted);text-align:center;line-height:1.6;margin-bottom:20px;white-space:pre-line}
.adm-dialog-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.adm-dialog-actions .adm-btn{min-width:90px}
html[data-theme="dark"] .adm-dialog-card{background:var(--surface-strong)}

/* ============================================================ DARK MODE OVERRIDES */
html[data-theme="dark"] .adm-lead-picker{background:var(--surface-strong);border-color:var(--border)}
html[data-theme="dark"] .adm-lead-picker-item{background:var(--surface);border-color:var(--border);color:var(--text)}
html[data-theme="dark"] .adm-lead-picker-item:hover{background:var(--hover);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.20)}
html[data-theme="dark"] .adm-lead-picker-badge{border-color:var(--border);background:var(--field-bg);color:var(--muted)}
html[data-theme="dark"] .adm-lead-picker-meta{color:var(--muted)}
html[data-theme="dark"] .adm-lead-fc-item{background:var(--surface);border-color:var(--border);color:var(--text)}
html[data-theme="dark"] .adm-lead-fc-item:hover{border-color:rgba(var(--primary-rgb),.32);box-shadow:0 2px 10px rgba(0,0,0,.20)}
html[data-theme="dark"] .adm-funnel-tab{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09);color:var(--text)}
html[data-theme="dark"] .adm-funnel-tab:hover{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .adm-funnel-tab.is-active{background:rgba(var(--primary-rgb),.20);border-color:rgba(var(--primary-rgb),.35)}
html[data-theme="dark"] .adm-toast-item{background:var(--surface-strong);border-color:var(--border);color:var(--text);box-shadow:0 8px 28px rgba(0,0,0,.28)}
html[data-theme="dark"] .adm-toast-item.is-err{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
html[data-theme="dark"] .adm-chip{border-color:var(--border);background:var(--field-bg);color:var(--text)}
html[data-theme="dark"] .adm-check{border-color:var(--border);background:var(--field-bg);color:var(--text)}
html[data-theme="dark"] .adm-funnels-tabs-wrap:before{background:linear-gradient(to right,var(--surface),rgba(30,41,59,0))}
html[data-theme="dark"] .adm-funnels-tabs-wrap:after{background:linear-gradient(to left,var(--surface),rgba(30,41,59,0))}

/* CRM modal badge overrides */
.adm-modal--crm .adm-badge{font-weight:600;border-color:var(--border);background:var(--field-bg);color:var(--muted)}
html[data-theme="dark"] .adm-modal--crm .adm-badge{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:rgba(255,255,255,.72)}
.adm-modal--crm .adm-badge.ok{border-color:rgba(16,185,129,.22);background:rgba(16,185,129,.07);color:rgba(4,120,87,.90)}
.adm-modal--crm .adm-badge.warn{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.07);color:rgba(146,64,14,.90)}
.adm-modal--crm .adm-badge.hot{border-color:rgba(239,68,68,.22);background:rgba(239,68,68,.07);color:rgba(185,28,28,.90)}
html[data-theme="dark"] .adm-modal--crm .adm-badge.ok{color:#6ee7b7}
html[data-theme="dark"] .adm-modal--crm .adm-badge.warn{color:#fcd34d}
html[data-theme="dark"] .adm-modal--crm .adm-badge.hot{color:#fca5a5}

/* Financeiro — action buttons (.fin-action-btn) */
.fin-action-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--border-fin);background:var(--surface);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;transition:.15s ease;flex-shrink:0}
.fin-action-btn:hover{box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateY(-1px);border-color:rgba(30,41,59,.3)}
.fin-action-btn.is-primary{background:var(--premium);color:#fff;border-color:var(--premium)}
.fin-action-btn.is-primary:hover{background:#1e3a8a;border-color:#1e3a8a}
.fin-action-btn.is-danger{color:var(--danger-dark);background:rgba(254,242,242,.92);border-color:rgba(248,113,113,.25)}
.fin-action-btn.is-danger:hover{background:rgba(254,226,226,.95)}
.fin-action-btn.is-muted{color:var(--muted);background:var(--offwhite)}
.fin-action-btn.is-success{background:var(--success-dark);color:#fff;border-color:var(--success-dark)}
.fin-action-btn.is-success:hover{background:#166534;border-color:#166534}
html[data-theme="dark"] .fin-action-btn{background:var(--surface);border-color:var(--border)}
html[data-theme="dark"] .fin-action-btn.is-danger{background:rgba(239,68,68,.12);color:#fca5a5;border-color:rgba(239,68,68,.3)}
html[data-theme="dark"] .fin-action-btn.is-danger:hover{background:rgba(239,68,68,.20)}
.fin-modal-actions .fin-action-btn{width:auto;height:auto;padding:7px 14px;border-radius:var(--radius-sm);font-size:var(--text-body-sm);font-weight:600}

/* CRM negociação — action buttons (.neg-action-btn) */
.neg-action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:var(--radius-sm);font-size:var(--text-body-sm);font-weight:600;cursor:pointer;border:1px solid var(--border);margin-bottom:6px;transition:all .15s;background:none;color:var(--text);letter-spacing:.01em}
.neg-action-btn:last-child{margin-bottom:0}
.neg-action-btn.mover{color:var(--muted);font-size:var(--text-sm)}
.neg-action-btn.mover:hover{border-color:var(--primary);color:var(--primary);background:rgba(var(--primary-rgb),.04)}
.neg-action-btn.ganhar{border-color:#16a34a;color:#16a34a}
.neg-action-btn.ganhar:hover{background:#16a34a;color:#fff}
.neg-action-btn.perder{border-color:#dc2626;color:#dc2626}
.neg-action-btn.perder:hover{background:#dc2626;color:#fff}
.neg-action-btn:disabled{opacity:.4;cursor:not-allowed}

/* Settings — funil small buttons (.fn-btn-sm) */
.fn-btn-sm{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:5px;color:var(--muted);transition:background .12s,color .12s}
.fn-btn-sm:hover{background:var(--border);color:var(--text)}
.fn-btn-sm.danger:hover{background:#fee2e2;color:#dc2626}

/* CRM kanban — neg action modifier (.crm-neg-action-btn) */
.crm-neg-action-btn{padding:7px 12px;font-size:var(--text-xs);min-height:34px;border-radius:999px}

/* Temperatura dot (substitui emojis 🔴🟡🔵) */
.adm-temp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-right:4px;vertical-align:middle}
.adm-temp-dot.quente{background:#ef4444}
.adm-temp-dot.morno{background:#f59e0b}
.adm-temp-dot.frio{background:#3b82f6}

/* Table sort headers */
.adm-th-sort{background:none;border:none;cursor:pointer;font:inherit;font-weight:600;color:inherit;padding:0;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.adm-th-sort:hover{color:var(--primary)}
.adm-th-sort .sort-icon{font-size:var(--text-2xs);color:var(--muted);opacity:.5;user-select:none}
.adm-th-sort.is-sorted{color:var(--primary)}
.adm-th-sort.is-sorted .sort-icon{opacity:1;color:var(--primary)}

/* Lead detail — underline tab system (.ld-tab-*) */
.ld-tabs-bar{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:14px;margin-top:14px}
.ld-tab-btn{padding:9px 18px;font-size:var(--text-body-sm);font-weight:600;cursor:pointer;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--muted);transition:color .14s,border-color .14s}
.ld-tab-btn:hover{color:var(--text)}
.ld-tab-btn.is-active{color:var(--primary);border-bottom-color:var(--primary)}
.ld-tab-content{display:none}
.ld-tab-content.is-active{display:block}

/* Multi-select widget (.ms-*) */
.ms-wrap{position:relative}
.ms-box{min-height:38px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--field-bg);padding:4px 8px;cursor:pointer;display:flex;flex-wrap:wrap;gap:4px;align-items:center;user-select:none}
.ms-box.open{border-color:var(--primary)}
.ms-placeholder{color:var(--muted);font-size:var(--text-body-sm);line-height:30px}
.ms-chip{display:inline-flex;align-items:center;gap:4px;background:var(--primary);color:#fff;border-radius:4px;padding:2px 7px;font-size:var(--text-sm);line-height:1.6}
.ms-chip button{background:none;border:none;color:#fff;padding:0;cursor:pointer;font-size:var(--text-md);line-height:1;opacity:.8}
.ms-chip button:hover{opacity:1}
.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px rgba(0,0,0,.18);overflow:hidden;display:none}
.ms-dropdown.open{display:block}
.ms-list{max-height:200px;overflow-y:auto;padding:4px 0}
.ms-item{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;font-size:var(--text-body-sm);color:var(--text)}
.ms-item:hover{background:var(--hover)}
.ms-item.selected{color:var(--primary)}
.ms-item input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;flex-shrink:0}
.ms-empty{padding:12px;text-align:center;color:var(--muted);font-size:var(--text-body-sm)}

/* ── Dashboard ──────────────────────────────────────────── */
.db-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:820px){.db-grid-2{grid-template-columns:1fr}}
.db-grid-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(min-width:1200px){.db-grid-kpi{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.db-grid-kpi{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.db-grid-kpi{grid-template-columns:1fr}}
.db-tab{font-size:var(--text-sm)!important;padding:5px 12px!important;border-radius:var(--radius-xs)!important;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.db-tab.is-active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
.db-delta{display:inline-block;font-size:var(--text-2xs);font-weight:700;border-radius:var(--radius);padding:2px 6px;margin-left:5px;vertical-align:middle}
.db-delta.up{background:rgba(16,185,129,.12);color:var(--success)}
.db-delta.dn{background:rgba(239,68,68,.10);color:var(--danger)}
.db-delta.eq{background:var(--surface-alt,#f1f5f9);color:var(--muted)}
.db-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:box-shadow .15s}
.db-kpi:hover{box-shadow:0 2px 12px rgba(0,0,0,.07)}
.db-kpi-icon{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.db-kpi-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:3px}
.db-kpi-value{font-size:1.45rem;font-weight:800;color:var(--text);line-height:1.1}
.db-kpi-sub{font-size:var(--text-xs);color:var(--muted);margin-top:4px}
.db-fv2{display:flex;overflow-x:auto;padding:4px 0 16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.db-fv2-item{flex:1;min-width:86px;padding:18px 30px 18px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;transition:filter .18s;cursor:default}
.db-fv2-item:not(:first-child){margin-left:-18px;padding-left:30px}
.db-fv2-item:hover{filter:brightness(1.1)}
.db-fv2-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;opacity:.85;margin-bottom:5px;line-height:1.3;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-fv2-count{font-size:1.6rem;font-weight:800;line-height:1;margin-bottom:5px}
.db-fv2-badge{font-size:.64rem;font-weight:700;background:rgba(0,0,0,.22);border-radius:12px;padding:2px 8px;white-space:nowrap}
.db-alert-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.db-alert-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-alt,#f8fafc)}
.db-alert-icon{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--field-bg,#f1f5f9);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}
.db-alert-label{font-size:var(--text-sm);font-weight:700;color:var(--muted);flex:1;min-width:0}
.db-alert-card.is-danger{border-color:rgba(239,68,68,.25)}
.db-alert-card.is-danger .db-alert-head{background:rgba(239,68,68,.04)}
.db-alert-card.is-danger .db-alert-icon{background:rgba(239,68,68,.10);color:var(--danger)}
.db-alert-card.is-danger .db-alert-label{color:var(--danger)}
.db-alert-card.is-warning{border-color:rgba(245,158,11,.30)}
.db-alert-card.is-warning .db-alert-head{background:rgba(245,158,11,.04)}
.db-alert-card.is-warning .db-alert-icon{background:rgba(245,158,11,.12);color:var(--warning)}
.db-alert-card.is-warning .db-alert-label{color:var(--warning)}
.db-alert-card.is-success{border-color:rgba(16,185,129,.28)}
.db-alert-card.is-success .db-alert-head{background:rgba(16,185,129,.04)}
.db-alert-card.is-success .db-alert-icon{background:rgba(16,185,129,.12);color:var(--success)}
.db-alert-card.is-success .db-alert-label{color:var(--success)}
.db-alert-badge{border-radius:12px;padding:2px 8px;font-size:var(--text-xs);font-weight:700;white-space:nowrap;background:var(--danger);color:#fff}
.db-alert-card.is-warning .db-alert-badge{background:var(--warning)}
.db-alert-card.is-success .db-alert-badge{background:var(--success)}
.db-alert-tag{border-radius:var(--radius-sm);padding:2px 7px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;flex-shrink:0;background:rgba(239,68,68,.12);color:var(--danger)}
.db-alert-card.is-warning .db-alert-tag{background:rgba(245,158,11,.15);color:var(--warning)}
.db-alert-card.is-success .db-alert-tag{background:rgba(16,185,129,.12);color:var(--success)}
.db-skel{background:var(--border);border-radius:var(--radius-xs);animation:db-pulse 1.5s ease-in-out infinite}
@keyframes db-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.db-empty{color:var(--muted);font-size:var(--text-body-sm);text-align:center;padding:28px 0}
.db-chart-wrap{position:relative;height:210px}

/* ── Lead Select (ls-*) ─────────────────────────────────── */
.ls-wrap{position:relative}
.ls-input{width:100%;box-sizing:border-box}
.ls-dropdown{position:absolute;z-index:9999;left:0;right:0;top:100%;margin-top:2px;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 16px rgba(0,0,0,.12);max-height:220px;overflow-y:auto;display:none}
.ls-dropdown.open{display:block}
.ls-item{padding:8px 12px;cursor:pointer;font-size:var(--text-body-sm);border-bottom:1px solid var(--border-soft,#f1f5f9)}
.ls-item:last-child{border-bottom:none}
.ls-item:hover,.ls-item.active{background:var(--primary-soft,rgba(99,102,241,.08))}
.ls-item-name{font-weight:600;color:var(--text)}
.ls-item-sub{color:var(--muted);font-size:var(--text-sm);margin-top:1px}
.ls-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;min-height:0}
.ls-pill{display:inline-flex;align-items:center;gap:4px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25);color:var(--indigo);border-radius:20px;padding:2px 8px 2px 10px;font-size:var(--text-body-sm);font-weight:500}
.ls-pill button{background:none;border:none;cursor:pointer;color:inherit;padding:0;line-height:1;font-size:var(--text-md);opacity:.7}
.ls-pill button:hover{opacity:1}
.ls-empty{padding:10px 12px;color:var(--muted);font-size:var(--text-body-sm);text-align:center}

/* ── Map pulse marker ─────────────────────────────────────── */
.map-pulse-wrap{position:relative;width:22px;height:22px}
.map-pulse-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:var(--primary,#2563eb);border:2.5px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35);z-index:2}
.map-pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border:2px solid var(--primary,#2563eb);border-radius:50%;animation:mapPulse 2s ease-out infinite;opacity:0;pointer-events:none}
@keyframes mapPulse{0%{transform:translate(-50%,-50%) scale(.35);opacity:.85}100%{transform:translate(-50%,-50%) scale(1.4);opacity:0}}

/* ── Base layout/topbar (moved from base.html) ── */
/* Critical admin layout fallback */
    .adm-layout { display:block; min-height:100vh; width:100%; }
    .adm-side {
      position:fixed; left:0; top:0; height:100vh; width:252px;
      background:var(--surface-side); z-index:100;
    }
    .adm-main { margin-left:252px; min-width:0; }
    body.adm, body[data-route] { display:block; min-height:100vh; }
    @media (max-width: 820px) {
      /* Sidebar completamente escondida no mobile */
      .adm-side { display:none !important; }
      .adm-main { margin-left:0 !important; }
      body.adm, body[data-route] { display:block !important; }

      /* Header mobile compacto */
      .adm-top { padding:8px 12px; }
      .adm-page-title { font-size:var(--text-lg); }
      .adm-hamburger { display:none; } /* sem hamburger no header */

      /* Espaço para bottom nav */
      .adm-content { padding:0 10px 72px; }

      /* Menu sheet (slide de baixo) */
      .adm-menu-sheet {
        position:fixed; bottom:0; left:0; right:0; z-index:500;
        background:var(--surface); border-radius:18px 18px 0 0;
        border-top:1px solid var(--border);
        box-shadow:0 -8px 32px rgba(0,0,0,.18);
        transform:translateY(100%);
        transition:transform .26s cubic-bezier(.4,0,.2,1);
        max-height:85vh; overflow-y:auto;
        padding:0 0 env(safe-area-inset-bottom,0px);
      }
      .adm-menu-sheet.is-open { transform:translateY(0); }
      .adm-menu-sheet-handle {
        width:40px; height:4px; border-radius:99px;
        background:var(--border); margin:10px auto 4px;
      }
      .adm-menu-sheet-link {
        display:flex; align-items:center; gap:12px;
        padding:13px 20px; font-size:var(--text-md); font-weight:500;
        color:var(--text); text-decoration:none; border-radius:var(--radius);
        margin:0 8px 2px; transition:background .12s;
      }
      .adm-menu-sheet-link:hover, .adm-menu-sheet-link.is-active {
        background:rgba(var(--primary-rgb),.10); color:var(--primary);
      }
      .adm-menu-sheet-title {
        font-size:var(--text-2xs); font-weight:700; letter-spacing:.08em;
        text-transform:uppercase; color:var(--muted);
        padding:10px 20px 4px;
      }
      .adm-menu-sheet-overlay {
        display:none; position:fixed; inset:0; z-index:499;
        background:rgba(0,0,0,.40);
      }
      .adm-menu-sheet-overlay.is-open { display:block; }

      /* Bottom navigation */
      .adm-bottom-nav {
        display:flex; position:fixed; bottom:0; left:0; right:0;
        height:58px; background:var(--surface); border-top:1px solid var(--border);
        z-index:300; padding:0 4px;
        padding-bottom:env(safe-area-inset-bottom,0px);
      }
      .adm-bn-item {
        flex:1; display:flex; flex-direction:column; align-items:center;
        justify-content:center; gap:2px; text-decoration:none;
        color:var(--muted); border:0; background:transparent; cursor:pointer;
        padding:6px 2px; border-radius:var(--radius);
        transition:color .14s, background .14s;
        font-size:var(--text-2xs); font-weight:600; letter-spacing:.02em;
      }
      .adm-bn-item svg { width:21px; height:21px; flex-shrink:0; }
      .adm-bn-item:hover, .adm-bn-item.is-active { color:var(--primary); }
      .adm-bn-item.is-active { background:rgba(var(--primary-rgb),.08); }
    }
    @media (min-width: 821px) {
      .adm-hamburger { display:none; }
      .adm-bottom-nav { display:none; }
      .adm-menu-sheet, .adm-menu-sheet-overlay { display:none !important; }
    }
    /* ── Compact sidebar — estado do <head>, antes do body renderizar ──
       html.wh-nav-compact é adicionado pelo script acima quando localStorage='1'.
       adm.js (defer) remove essa classe e aplica is-compact nos elementos. */
    html.wh-nav-compact .adm-side {
      width:58px !important;
      padding:16px 8px 12px !important;
    }
    html.wh-nav-compact .adm-main { margin-left:58px !important; }
    html.wh-nav-compact .adm-side .adm-group-title,
    html.wh-nav-compact .adm-side .adm-group-caret,
    html.wh-nav-compact .adm-side .adm-nav-label,
    html.wh-nav-compact .adm-side .adm-weemobi-footer { display:none !important; }
    html.wh-nav-compact .adm-side .adm-link,
    html.wh-nav-compact .adm-side .adm-group-toggle {
      padding:8px !important; justify-content:center !important; min-height:38px !important;
    }
    html.wh-nav-compact .adm-side .adm-group-links {
      max-height:0 !important; opacity:0 !important; pointer-events:none !important;
    }

/* ── Topbar unificada (ambos os layouts) ── */
    .adm-topbar {
      position:fixed;top:0;left:0;right:0;height:52px;
      background:var(--nav-bg,#1e2535);z-index:200;
      display:flex;align-items:center;padding:0 14px;gap:0;
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    /* Sidebar: ajusta posição/altura para iniciar abaixo da topbar */
    .adm-layout--sidebar .adm-side { top:52px !important; height:calc(100vh - 52px) !important; }
    .adm-layout--sidebar .adm-main { margin-top:52px; }
    /* compact sidebar com topbar */
    html.wh-nav-compact .adm-layout--sidebar .adm-side { top:52px !important; height:calc(100vh - 52px) !important; }
    /* Topnav: sem sidebar, sem header de página */
    .adm-layout--topnav .adm-side { display:none !important; }
    .adm-layout--topnav .adm-main { margin-left:0 !important; margin-top:52px; }
    .adm-layout--topnav .adm-top { display:none !important; }

    /* Logo na topbar */
    .adm-topbar-logo {
      flex-shrink:0;display:flex;align-items:center;gap:8px;
      color:#fff;text-decoration:none;
    }
    .adm-topbar-logo-icon {
      width:28px;height:28px;background:var(--primary);border-radius:var(--radius-sm);
      display:flex;align-items:center;justify-content:center;font-size:var(--text-md);font-weight:900;color:#fff;flex-shrink:0;
    }
    .adm-topbar-logo-text { font-weight:800;font-size:1rem;letter-spacing:-.015em;color:var(--nav-title,#fff); }
    .adm-topbar-logo--topnav { margin-right:16px; }
    .adm-topbar-logo--sidebar { margin-right:8px; }

    /* Nav items inline (topnav only) */
    .adm-topbar-nav { display:flex;align-items:center;gap:0;height:52px; }
    .adm-topbar-nav-item {
      position:relative;display:flex;align-items:center;gap:5px;
      padding:0 11px;height:100%;cursor:pointer;
      color:var(--nav-ink);font-size:var(--text-body-sm);font-weight:500;
      text-decoration:none;border:none;background:none;
      transition:color .13s;white-space:nowrap;
      border-bottom:2px solid transparent;user-select:none;
    }
    .adm-topbar-nav-item:hover { color:var(--nav-title); }
    .adm-topbar-nav-item.is-active { color:var(--nav-accent);border-bottom-color:var(--nav-accent); }
    .adm-topbar-nav-item svg { opacity:.7;flex-shrink:0; }
    .adm-topbar-nav-item:hover svg,.adm-topbar-nav-item.is-active svg { opacity:1; }
    .adm-topbar-nav-caret { font-size:.6rem;opacity:.45;margin-left:2px;transition:transform .13s;flex-shrink:0; }
    .adm-topbar-nav-item:hover .adm-topbar-nav-caret { transform:rotate(180deg); opacity:.8; }
    /* Link clicável dentro do item com dropdown */
    .adm-topbar-nav-link {
      display:flex;align-items:center;gap:5px;color:inherit;text-decoration:none;flex:1;
    }
    /* Dropdown — abre no hover */
    .adm-topbar-nav-dd {
      position:absolute;top:100%;left:0;
      background:#fff;border:1px solid var(--border);border-radius:var(--radius);
      box-shadow:0 8px 28px rgba(0,0,0,.12);min-width:164px;z-index:400;
      display:none;padding:5px;
      animation:ddIn .13s ease;
    }
    .adm-topbar-nav-item:hover .adm-topbar-nav-dd { display:block; }
    @keyframes ddIn { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
    .adm-topbar-dd-link {
      display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:var(--radius-sm);
      font-size:var(--text-body-sm);color:var(--text);text-decoration:none;transition:background .1s;
    }
    .adm-topbar-dd-link:hover { background:rgba(var(--primary-rgb),.07); }
    .adm-topbar-dd-link.is-active { background:rgba(var(--primary-rgb),.10);color:var(--primary);font-weight:600; }
    .adm-topbar-dd-sep { height:1px;background:var(--border);margin:3px 4px; }

    /* Busca */
    .adm-topbar-search { flex:1;max-width:280px;margin:0 12px;position:relative; }
    .adm-topbar-search input {
      width:100%;background:rgba(0,0,0,.025);
      border:1px solid rgba(0,0,0,.07);
      border-radius:var(--radius-sm);padding:5px 10px 5px 30px;font-size:var(--text-xs);
      color:var(--nav-ink);outline:none;transition:background .15s,border-color .15s;
    }
    .adm-topbar-search input::placeholder { color:var(--nav-group-label);font-size:var(--text-xs); }
    .adm-topbar-search input:focus { background:#fff;border-color:var(--nav-accent-border);box-shadow:0 0 0 3px rgba(37,99,235,.08); }
    .adm-topbar-search-icon { position:absolute;left:9px;top:50%;transform:translateY(-50%);opacity:.35;pointer-events:none;color:var(--nav-ink); }
    /* Dropdown de busca */
    .adm-search-dd {
      position:absolute;top:calc(100% + 6px);left:0;right:0;
      background:#fff;border:1px solid var(--border);border-radius:var(--radius);
      box-shadow:0 8px 28px rgba(0,0,0,.13);z-index:600;display:none;max-height:360px;overflow-y:auto;
    }
    .adm-search-dd.is-open { display:block;animation:ddIn .13s ease; }
    .adm-search-dd-section { padding:6px 8px 2px;font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em; }
    .adm-search-dd-item {
      display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:var(--radius-sm);margin:1px 4px;
      text-decoration:none;color:var(--text);font-size:var(--text-body-sm);transition:background .1s;cursor:pointer;
    }
    .adm-search-dd-item:hover { background:rgba(var(--primary-rgb),.07); }
    .adm-search-dd-icon { width:26px;height:26px;border-radius:var(--radius-xs);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-body-sm); }
    .adm-search-dd-main { font-weight:600;line-height:1.2; }
    .adm-search-dd-sub { font-size:.74rem;color:var(--muted); }
    .adm-search-dd-empty { padding:16px 14px;text-align:center;font-size:var(--text-body-sm);color:var(--muted); }

    /* Botões de ação na topbar */
    .adm-tb-actions { display:flex;align-items:center;gap:3px;margin-left:8px; }
    .adm-tb-btn {
      position:relative;width:34px;height:34px;border-radius:var(--radius-sm);
      background:var(--nav-surface);
      border:1px solid var(--nav-group-border);
      display:flex;align-items:center;justify-content:center;cursor:pointer;
      color:var(--nav-ink);transition:background .14s,color .14s;flex-shrink:0;
    }
    .adm-tb-btn:hover { background:var(--nav-surface);color:var(--nav-title); }
    .adm-tb-badge {
      position:absolute;top:3px;right:3px;min-width:15px;height:15px;padding:0 3px;
      border-radius:99px;background:#ef4444;border:1.5px solid var(--nav-bg,#1e2535);
      font-size:var(--text-2xs);font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;
    }
    .adm-tb-divider { width:1px;height:22px;background:var(--nav-group-border);margin:0 5px; }
    .adm-tb-versite {
      font-size:var(--text-sm);font-weight:600;color:var(--nav-ink);text-decoration:none;
      padding:5px 9px;border-radius:var(--radius-sm);border:1px solid var(--nav-group-border);
      white-space:nowrap;transition:background .14s,color .14s;
    }
    .adm-tb-versite:hover { background:var(--nav-surface);color:var(--nav-title); }

    /* Painéis flutuantes (notificações / suporte) */
    .adm-tb-panel-wrap { position:relative; }
    .adm-tb-panel {
      position:absolute;top:calc(100% + 8px);right:0;
      background:#fff;border:1px solid var(--border);border-radius:12px;
      box-shadow:0 8px 32px rgba(0,0,0,.14);z-index:500;
      display:none;animation:pmenuIn .14s ease;
    }
    .adm-tb-panel.is-open { display:block; }
    .adm-tb-panel--notif { width:360px; }
    .adm-tb-panel--support { min-width:180px;padding:6px; }
    .adm-tb-panel-head {
      display:flex;align-items:center;justify-content:space-between;
      padding:11px 14px 8px;border-bottom:1px solid var(--border);
    }
    .adm-tb-panel-head strong { font-size:var(--text-md);font-weight:700;color:var(--text); }
    .adm-tb-panel-head a { font-size:var(--text-sm);color:var(--primary);text-decoration:none;cursor:pointer; }
    .adm-tb-notif-item {
      display:flex;align-items:flex-start;gap:10px;padding:10px 14px;
      border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;
      text-decoration:none;border-left:4px solid transparent;
    }
    .adm-tb-notif-item:last-child { border-bottom:none; }
    .adm-tb-notif-item:hover { background:var(--bg,#f1f5f9); }
    .adm-tb-notif-item.is-unread { background:rgba(var(--primary-rgb),.04); }
    .adm-tb-notif-icon {
      width:24px;height:24px;display:flex;align-items:center;
      justify-content:center;flex-shrink:0;font-size:1.1rem;margin-top:1px;
    }
    .adm-tb-notif-body { flex:1;min-width:0; }
    .adm-tb-notif-title { font-size:var(--text-body-sm);font-weight:600;color:var(--text);line-height:1.3; }
    .adm-tb-notif-desc { font-size:var(--text-sm);color:var(--muted);margin-top:1px;line-height:1.4; }
    .adm-tb-notif-foot { display:flex;align-items:center;justify-content:space-between;margin-top:3px; }
    .adm-tb-notif-time { font-size:.71rem;color:var(--muted); }
    .adm-tb-notif-dismiss {
      font-size:var(--text-xs);color:var(--muted);background:none;border:none;cursor:pointer;
      padding:1px 4px;border-radius:4px;line-height:1;opacity:.6;
    }
    .adm-tb-notif-dismiss:hover { background:rgba(0,0,0,.08);opacity:1; }
    .adm-tb-notif-go {
      font-size:var(--text-xs);color:var(--primary,#2563eb);text-decoration:none;
      padding:1px 5px;border-radius:4px;line-height:1;opacity:.7;font-weight:700;
    }
    .adm-tb-notif-go:hover { opacity:1;background:rgba(37,99,235,.08); }
    .adm-tb-notif-empty { padding:24px 14px;text-align:center;font-size:var(--text-body-sm);color:var(--muted); }
    .adm-tb-support-link {
      display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);
      font-size:var(--text-body-sm);color:var(--text);text-decoration:none;transition:background .1s;
    }
    .adm-tb-support-link:hover { background:rgba(var(--primary-rgb),.07); }

    /* Avatar dropdown */
    .adm-avatar-wrap { position:relative; }
    .adm-avatar-btn { position:relative;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%; }
    .adm-avatar-btn:hover { opacity:.85; }
    .adm-profile-menu {
      position:absolute;top:calc(100% + 10px);right:0;
      background:var(--card-bg,#fff);border:1px solid var(--border);
      border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.14);
      min-width:210px;z-index:500;
    }
    @keyframes pmenuIn { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
    .adm-pmenu-item {
      display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--text-body-sm);
      color:var(--text);text-decoration:none;background:none;border:none;cursor:pointer;
      width:100%;text-align:left;transition:background .1s;
    }
    .adm-pmenu-item:hover,.adm-pmenu-item.is-active { background:rgba(var(--primary-rgb),.08); }

    /* Switcher de perfil */
    .adm-tb-btn--impersonating { background:#f59e0b !important; border-color:#d97706 !important; color:#78350f !important; }
    .adm-tb-btn--impersonating:hover { background:#d97706 !important; }
    .switcher-user-item {
      display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:var(--radius-sm);
      cursor:pointer;font-size:var(--text-body-sm);transition:background .1s;
    }
    .switcher-user-item:hover { background:rgba(var(--primary-rgb),.07); }
    .switcher-user-item.is-current { background:rgba(var(--primary-rgb),.12);font-weight:700; }
    .switcher-role-badge {
      font-size:.67rem;font-weight:700;padding:1px 5px;border-radius:4px;
      background:rgba(var(--primary-rgb),.12);color:var(--primary);white-space:nowrap;
    }
    .switcher-group-title { font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 9px 2px; }

.adm-bio-mobile-only{display:none}@media(max-width:640px){.adm-bio-mobile-only{display:flex}}

.adm-side { top:84px !important; height:calc(100vh - 84px) !important; }
    .adm-layout--topnav .adm-main, .adm-layout--sidebar .adm-main { margin-top:84px !important; }

/* ── usuarios_list.html ── */
.adm-mini-danger { color:#dc2626 !important; border-color:rgba(220,38,38,.3) !important; }
.adm-mini-danger:hover { background:rgba(220,38,38,.06) !important; }
.del-dep-row { margin-bottom:10px; }
.del-dep-row label { display:block;font-size:var(--text-xs);font-weight:600;color:var(--text,#374151);margin-bottom:4px; }
.del-dep-sel { width:100%;padding:6px 8px;border:1px solid var(--border,#d1d5db);border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--text,#111827);background:var(--field-bg,#fff); }

/* ── lgpd_not_found.html ── */
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #f1f5f9; display: flex; align-items: center; justify-content: center; min-height: 100vh; }
    .card { background: #fff; border-radius: 16px; padding: 40px 32px; text-align: center; max-width: 400px; box-shadow: 0 4px 24px rgba(0,0,0,.08); }
    h1 { font-size: 20px; color: #1e293b; margin-bottom: 8px; }
    p { color: #64748b; font-size: var(--text-md); }
