/* ============================================================
   OMNI SYSTEM — Design System Central
   /assets/omni/omni-theme.css
   Camada de tema única: sobrescreve as variáveis do exz-topbar.css
   e demais telas herdadas, sem alterar a estrutura HTML/JS existente.
   ============================================================ */

:root{
  /* Paleta oficial OMNI SYSTEM */
  --omni-obsidian:      #111318;
  --omni-graphite:       #1B1E26;
  --omni-ivory:          #F6F4EF;
  --omni-copper:         #C88A45;
  --omni-copper-soft:    #E1B477;
  --omni-violet:         #7157D9; /* Inteligência / IA */
  --omni-slate:          #747986;

  /* Funcionais — nunca substituídas pelo branding */
  --omni-success:        #177245;
  --omni-success-bg:     #e6f5ed;
  --omni-warning:        #8a6410;
  --omni-warning-bg:     #fff2cf;
  --omni-danger:         #9c2c2c;
  --omni-danger-bg:      #fdeaea;
  --omni-info:           #4051a3;
  --omni-info-bg:        #eef1ff;

  /* ---- Sobrescreve variáveis do exz-topbar.css (tema claro = padrão) ---- */
  --exz-bg:            var(--omni-ivory);
  --exz-text:          var(--omni-obsidian);
  --exz-muted:         var(--omni-slate);
  --exz-border:        rgba(17,19,24,.08);
  --exz-shadow:        0 10px 30px rgba(17,19,24,.06);

  --exz-accent:        var(--omni-copper);
  --exz-accent-soft:   rgba(200,138,69,.15);
}

html[data-theme="dark"]{
  --exz-bg:            var(--omni-obsidian);
  --exz-text:          var(--omni-ivory);
  --exz-muted:         #a9adaf;
  --exz-border:        rgba(246,244,239,.10);
  --exz-shadow:        0 10px 30px rgba(0,0,0,.35);

  --exz-accent:        var(--omni-copper-soft);
  --exz-accent-soft:   rgba(225,180,119,.18);
}

/* ---- Ícone de acesso ao Painel Gerencial (só master) ---- */
.topbar-gerencial-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  margin-left: 6px;
  border-radius: 10px;
  color: var(--omni-slate);
  text-decoration: none;
}
.topbar-gerencial-icon:hover{
  background: var(--exz-accent-soft);
  color: var(--omni-copper);
}
/* ---- OMNI Intelligence — linguagem visual de IA (violeta) ----
   Usar em qualquer bloco de recomendação/insight/automação.
   Nunca usar violeta para outro significado (ver seção 6 do briefing). */
.omni-intelligence{
  border: 1px solid rgba(113,87,217,.25);
  background: rgba(113,87,217,.08);
  border-radius: var(--exz-radius, 12px);
  padding: 12px 14px;
  color: var(--omni-obsidian);
}
html[data-theme="dark"] .omni-intelligence{ color: var(--omni-ivory); }
.omni-intelligence__label{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  color: var(--omni-violet);
  margin-bottom: 4px;
}

/* Estrutura responsiva compartilhada */
html{min-height:100%;background:var(--exz-bg);color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
body{min-height:100vh;min-height:100dvh;overflow-x:hidden;background:var(--exz-bg);color:var(--exz-text)}
img,svg,video{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
button,input,select,textarea{font:inherit}
input,select,textarea{max-width:100%;min-height:44px}
button,.btn,[role="button"]{min-height:44px}
.table-responsive,.panel{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}
.omni-icon{display:inline-block;flex:0 0 auto;vertical-align:-.2em}
.omni-mobile-overlay{position:fixed;inset:0;z-index:998;background:rgba(17,19,24,.58);backdrop-filter:blur(2px)}
.omni-mobile-overlay[hidden]{display:none}
.topbar-logo{width:auto;max-width:168px;height:42px;object-fit:contain}
.mobile-menu-btn{color:inherit;background:transparent;border:1px solid var(--exz-border);border-radius:10px;padding:8px}
@supports(padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .topbar{padding-top:max(10px,env(safe-area-inset-top))}
}
@media(max-width:900px){
  .topbar{position:sticky;top:0;z-index:1000;min-height:64px;padding-inline:12px}
  .topbar-center{position:fixed;z-index:1001;top:0;bottom:0;left:0;width:min(86vw,340px);height:100vh;height:100dvh;overflow-y:auto;padding:max(76px,calc(60px + env(safe-area-inset-top))) 16px max(24px,env(safe-area-inset-bottom));background:var(--omni-surface);border-right:1px solid var(--omni-border);transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.28)}
  .topbar-center.is-open{transform:translateX(0)}
  .topnav,.topnav-dd{display:block;width:100%}
  .topnav-link,.topnav-dd-btn{display:flex!important;width:100%;min-height:48px;align-items:center;gap:10px;padding:10px 12px;color:var(--omni-text)!important}
  .topnav-dd-menu{position:static!important;width:100%;box-shadow:none!important;margin:2px 0 8px;background:var(--omni-border)!important}
  .nav-short{display:none!important}.nav-full{display:inline!important}
  .topbar-user{display:none}.topbar-right{gap:6px}
  html.omni-menu-open,html.omni-menu-open body{overflow:hidden}
}
@media(max-width:600px){
  main{width:100%;margin:20px auto!important;padding-inline:14px!important}
  .grid2,.grid3,.cards{grid-template-columns:1fr!important}
  .actions,.topbar{flex-wrap:wrap}
  .actions>.btn,.actions>button{flex:1 1 auto;text-align:center}
  .form{padding:16px!important}
  .panel{border-radius:14px!important}
  .modal,.dialog,[role="dialog"]{max-height:calc(100dvh - 24px);overflow-y:auto;padding-bottom:max(16px,env(safe-area-inset-bottom))}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  th,td{white-space:nowrap}
  td.wrap,.wrap,td .muted{white-space:normal}
  .tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch}
  .tabs>*{flex:0 0 auto}
  input,select,textarea{font-size:16px!important}
}

/* ============================================================
   Complemento de consistência global — 23/08/2026
   Unifica os tokens novos e legados sem retirar a base responsiva.
   ============================================================ */
:root,
html[data-theme="light"]{
  color-scheme:light;
  --omni-page:#f6f4ef;
  --omni-surface:#fff;
  --omni-surface-2:#f1eee7;
  --omni-surface-hover:#f8f5ef;
  --omni-input:#fff;
  --omni-text:#111318;
  --omni-text-2:#626874;
  --omni-text-3:#8a8f99;
  --omni-border:#e3ded5;
  --omni-border-strong:#d2cbc0;
  --omni-copper:#c88a45;
  --omni-copper-hover:#b87735;
  --omni-copper-soft:#f2e3d1;
  --omni-shadow-sm:0 4px 14px rgba(17,19,24,.05);
  --omni-shadow:0 12px 34px rgba(17,19,24,.08);
  --omni-focus:0 0 0 3px rgba(200,138,69,.22);
  --exz-bg:var(--omni-page);
  --exz-surface:var(--omni-surface);
  --exz-surface-2:var(--omni-surface-2);
  --exz-surface-hover:var(--omni-surface-hover);
  --exz-header:#111318;
  --exz-header-text:#fff;
  --exz-text:var(--omni-text);
  --exz-muted:var(--omni-text-2);
  --exz-muted-2:var(--omni-text-3);
  --exz-border:var(--omni-border);
  --exz-border-strong:var(--omni-border-strong);
  --exz-shadow:var(--omni-shadow);
  --exz-radius:12px;
  --exz-accent:var(--omni-copper);
  --exz-accent-hover:var(--omni-copper-hover);
  --exz-accent-soft:var(--omni-copper-soft);
  --exz-success:var(--omni-success);
  --exz-success-bg:var(--omni-success-bg);
  --exz-warning:var(--omni-warning);
  --exz-warning-bg:var(--omni-warning-bg);
  --exz-danger:var(--omni-danger);
  --exz-danger-bg:var(--omni-danger-bg);
  --exz-info:var(--omni-info);
  --exz-info-bg:var(--omni-info-bg);
  --bg-main:var(--omni-page);
  --bg-card:var(--omni-surface);
  --bg-hover:var(--omni-surface-hover);
  --bg-input:var(--omni-input);
  --text-primary:var(--omni-text);
  --text-secondary:var(--omni-text-2);
  --text-tertiary:var(--omni-text-3);
  --border-light:var(--omni-border);
  --border-medium:var(--omni-border-strong);
  --gold-primary:var(--omni-copper);
  --gold-soft:var(--omni-copper-soft);
  --gold-hover:var(--omni-copper-hover);
  --shadow:var(--omni-shadow);
}

html[data-theme="dark"]{
  color-scheme:dark;
  --omni-page:#111318;
  --omni-surface:#1b1e26;
  --omni-surface-2:#242832;
  --omni-surface-hover:#292e39;
  --omni-input:#20242d;
  --omni-text:#f6f4ef;
  --omni-text-2:#b3b7c0;
  --omni-text-3:#8e949f;
  --omni-border:rgba(246,244,239,.12);
  --omni-border-strong:rgba(246,244,239,.20);
  --omni-copper:#e1b477;
  --omni-copper-hover:#efc58d;
  --omni-copper-soft:rgba(225,180,119,.16);
  --omni-shadow-sm:0 4px 14px rgba(0,0,0,.20);
  --omni-shadow:0 14px 38px rgba(0,0,0,.34);
  --omni-focus:0 0 0 3px rgba(225,180,119,.26);
  --omni-success:#68c996;
  --omni-success-bg:rgba(23,114,69,.24);
  --omni-warning:#e3bf63;
  --omni-warning-bg:rgba(138,100,16,.26);
  --omni-danger:#ef9292;
  --omni-danger-bg:rgba(156,44,44,.26);
  --omni-info:#9ca9ff;
  --omni-info-bg:rgba(64,81,163,.27);
  --exz-bg:var(--omni-page);
  --exz-surface:var(--omni-surface);
  --exz-surface-2:var(--omni-surface-2);
  --exz-surface-hover:var(--omni-surface-hover);
  --exz-header:#1b1e26;
  --exz-header-text:var(--omni-text);
  --exz-text:var(--omni-text);
  --exz-muted:var(--omni-text-2);
  --exz-muted-2:var(--omni-text-3);
  --exz-border:var(--omni-border);
  --exz-border-strong:var(--omni-border-strong);
  --exz-shadow:var(--omni-shadow);
  --exz-accent:var(--omni-copper);
  --exz-accent-hover:var(--omni-copper-hover);
  --exz-accent-soft:var(--omni-copper-soft);
  --exz-success:var(--omni-success);
  --exz-success-bg:var(--omni-success-bg);
  --exz-warning:var(--omni-warning);
  --exz-warning-bg:var(--omni-warning-bg);
  --exz-danger:var(--omni-danger);
  --exz-danger-bg:var(--omni-danger-bg);
  --exz-info:var(--omni-info);
  --exz-info-bg:var(--omni-info-bg);
  --bg-main:var(--omni-page);
  --bg-card:var(--omni-surface);
  --bg-hover:var(--omni-surface-hover);
  --bg-input:var(--omni-input);
  --text-primary:var(--omni-text);
  --text-secondary:var(--omni-text-2);
  --text-tertiary:var(--omni-text-3);
  --border-light:var(--omni-border);
  --border-medium:var(--omni-border-strong);
  --gold-primary:var(--omni-copper);
  --gold-soft:var(--omni-copper-soft);
  --gold-hover:var(--omni-copper-hover);
  --shadow:var(--omni-shadow);
}

html,body{background:var(--omni-page);color:var(--omni-text)}
.card,.panel,.section,.form,.table-wrap,.modal-content{background:var(--omni-surface);color:var(--omni-text);border-color:var(--omni-border)}
.muted,.subtitle,.subtext{color:var(--omni-text-2)}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input{background:var(--omni-input);color:var(--omni-text);border-color:var(--omni-border-strong)}
input:focus,select:focus,textarea:focus,.input:focus{outline:none;border-color:var(--omni-copper);box-shadow:var(--omni-focus)}
::placeholder{color:var(--omni-text-3);opacity:1}
table{color:var(--omni-text)}
th{background:var(--omni-surface-2);color:var(--omni-text-2);border-color:var(--omni-border)}
td{border-color:var(--omni-border)}
tbody tr:hover td{background:var(--omni-surface-hover)}
.btn.secondary,.btn-secondary,.btn.ghost{background:var(--omni-surface-2);color:var(--omni-text);border-color:var(--omni-border)}
.topnav-dd-menu,.user-dropdown{background:var(--omni-surface);color:var(--omni-text);border-color:var(--omni-border);box-shadow:var(--omni-shadow)}
.topnav-dd-menu a,.dropdown-item,.user-name-top{color:var(--omni-text)}
.topnav-dd-menu a:hover,.dropdown-item:hover{background:var(--omni-surface-hover)}
.badge.ativo,.badge.ok,.okmsg{background:var(--omni-success-bg);color:var(--omni-success)}
.badge.trial,.badge.warning,.hint{background:var(--omni-warning-bg);color:var(--omni-warning)}
.badge.bloqueado,.badge.cancelado,.badge.error,.err{background:var(--omni-danger-bg);color:var(--omni-danger)}

.exz-theme-control{position:relative;z-index:20}
.exz-theme-trigger{min-height:40px;padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.exz-theme-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:170px;padding:8px;border:1px solid var(--omni-border);border-radius:16px;background:var(--omni-surface);box-shadow:var(--omni-shadow)}
.exz-theme-popover[hidden]{display:none}
.exz-theme-popover button{display:block;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--omni-text);text-align:left;cursor:pointer}
.exz-theme-popover button:hover,.exz-theme-popover button.is-active{background:var(--omni-copper-soft);color:var(--omni-text)}

/* Seletor de tema da topbar compartilhada. */
.topbar-theme-control{flex:0 0 auto}
.topbar .exz-theme-trigger{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  background:var(--omni-surface);
  color:var(--omni-text);
  border-color:var(--omni-border);
}
.topbar .exz-theme-popover{z-index:20020}

/* Dashboard operacional: remove a mistura de fundo escuro com cards claros. */
.omni-db{color:var(--omni-text)}
.omni-db h1,.omni-kpi-value,.omni-block-title{color:var(--omni-text)}
.omni-db-sub,.omni-kpi-label,.omni-kpi-foot,.omni-block-sub,.omni-empty{color:var(--omni-text-2)}
.omni-card,
html[data-theme="dark"] .omni-card{
  background:var(--omni-surface);
  color:var(--omni-text);
  border-color:var(--omni-border);
  box-shadow:var(--omni-shadow-sm);
}
.omni-btn,
html[data-theme="dark"] .omni-btn{
  background:var(--omni-surface);
  color:var(--omni-text);
  border-color:var(--omni-border);
}
.omni-btn-primary,
html[data-theme="dark"] .omni-btn-primary{
  background:var(--omni-obsidian);
  color:#fff;
  border-color:var(--omni-obsidian);
}
html[data-theme="dark"] .omni-btn-primary{background:var(--omni-copper);color:#18140f;border-color:var(--omni-copper)}
.omni-meta-line,.omni-mini div,.omni-todo,.omni-row,.omni-fin-box{
  background:var(--omni-surface-2);
  color:var(--omni-text);
  border-color:var(--omni-border);
}
.omni-meta-line strong,.omni-todo strong,.omni-row strong,.omni-finance button{color:var(--omni-text)}

/* Clientes & CRM. */
.exz-page{color:var(--omni-text)}
.exz-page-head h1,.exz-name,.exz-mobile-card__name,.exz-empty strong{color:var(--omni-text)}
.exz-kpi,.exz-filter-panel,.exz-table-wrap,.exz-mobile-card{
  background:var(--omni-surface);
  color:var(--omni-text);
  border-color:var(--omni-border);
}
.exz-table th{background:var(--omni-surface-2);color:var(--omni-text-2);border-color:var(--omni-border)}
.exz-table td{border-color:var(--omni-border)}
.exz-filters input,.exz-filters select{background:var(--omni-input);color:var(--omni-text);border-color:var(--omni-border-strong)}
.exz-btn--ghost,.exz-page-link{background:var(--omni-surface);color:var(--omni-text);border-color:var(--omni-border)}

/* Comercial, Automações e painel gerencial. */
nav.tabs a{background:var(--omni-surface);color:var(--omni-text);border-color:var(--omni-border)}
nav.tabs a.active{background:var(--omni-obsidian);color:#fff}
html[data-theme="dark"] nav.tabs a.active{background:var(--omni-copper);color:#18140f}
.section{background:var(--omni-surface);color:var(--omni-text);border-color:var(--omni-border)}
.section label,.cfg-section label,.k,.cfg-hint{color:var(--omni-text-2)}
.tag.off{background:var(--omni-surface-2);color:var(--omni-text-2)}
.meta-box,.cfg-section,.grid .card{background:var(--omni-surface);color:var(--omni-text);border-color:var(--omni-border)}

@media(max-width:720px){
  .theme-trigger-label{display:none}
  .topbar .exz-theme-trigger{width:42px;justify-content:center;padding:0}
  .topbar-theme-control .exz-theme-popover{position:fixed;top:calc(var(--topbar-h,64px) + 8px);right:10px;left:auto}
}

/* ==========================================================
   OMNI FIELD MODE — iPhone, Android e rotina externa
   Corrige a duplicação da safe-area e cria navegação de polegar.
   ========================================================== */
.omni-field-nav{display:none}
@media(max-width:900px){
  html{scroll-padding-top:calc(var(--topbar-h) + 12px)}
  body{
    padding-top:var(--topbar-h)!important;
    padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;
  }
  .topbar{
    position:fixed!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:var(--topbar-h)!important;
    min-height:var(--topbar-h)!important;
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    gap:7px!important;
    flex-wrap:nowrap!important;
    padding:calc(env(safe-area-inset-top,0px) + 5px) max(10px,env(safe-area-inset-right,0px)) 5px max(10px,env(safe-area-inset-left,0px))!important;
  }
  .topbar-spacer{display:none!important}
  .topbar-left,.topbar-right{min-width:0!important;flex-wrap:nowrap!important}
  .topbar-left{justify-self:start}.topbar-right{justify-self:end}
  .topbar-logo-link{min-width:0!important;padding:2px!important}
  .topbar-brand-lockup .omni-wordmark{display:none!important}
  .topbar-brand-lockup .omni-orbit-mark{width:36px!important;height:36px!important}
  .topbar-gerencial-icon{display:none!important}
  .topbar-badge{max-width:54px;overflow:hidden;white-space:nowrap}
  .topbar-logout{width:42px!important;min-width:42px!important;padding:0!important;justify-content:center!important}
  .topbar-logout span{display:none!important}
  .topbar-center{
    top:0!important;bottom:0!important;left:0!important;right:auto!important;
    width:min(86vw,340px)!important;max-height:none!important;height:100dvh!important;
    display:block!important;border:0!important;border-radius:0!important;
    padding:max(76px,calc(58px + env(safe-area-inset-top,0px))) 15px max(24px,env(safe-area-inset-bottom,0px))!important;
    background:var(--omni-surface)!important;
    border-right:1px solid var(--omni-border);
    transform:translateX(-105%);transition:transform .22s ease;
  }
  .topbar-center.is-open{transform:translateX(0)!important}
  .topbar-center .topnav{display:block!important;width:100%!important}
  .topbar-center .topnav-link,.topbar-center .topnav-dd-btn{min-height:48px!important;color:var(--omni-text)!important;background:transparent!important;border:0!important}
  .topbar-center .topnav-dd{height:auto!important;padding:0!important}
  .topbar-center .topnav-dd-menu{display:none;position:static!important;width:100%!important;background:var(--omni-border)!important}
  .topbar-center .topnav-dd.open .topnav-dd-menu{display:block!important}
  .topbar-center .nav-full{display:inline!important}.topbar-center .nav-short{display:none!important}

  .omni-field-nav{
    position:fixed;z-index:997;left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));bottom:max(7px,env(safe-area-inset-bottom,0px));
    min-height:61px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;
    padding:6px 7px;border:1px solid var(--omni-border);border-radius:18px;
    background:color-mix(in srgb,var(--omni-surface) 94%,transparent);box-shadow:0 12px 36px rgba(0,0,0,.18);
    backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)
  }
  .omni-field-nav a{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;color:var(--omni-text-2);text-decoration:none;font-size:9px;font-weight:700;line-height:1}
  .omni-field-nav a.active{color:var(--omni-copper);background:rgba(200,138,69,.10)}
  .omni-field-nav .omni-field-primary{height:55px;margin-top:-13px;background:linear-gradient(135deg,var(--omni-copper),var(--omni-copper-soft));color:#111318;border:3px solid var(--omni-surface);box-shadow:0 8px 20px rgba(200,138,69,.28)}
  .omni-field-nav .omni-field-primary.active{color:#111318;background:linear-gradient(135deg,var(--omni-copper),var(--omni-copper-soft))}
  .omni-field-nav svg{display:block}

  main{margin-top:0!important}
  input,select,textarea{font-size:16px!important}
  button,a,[role="button"]{-webkit-tap-highlight-color:transparent}
}
@media(max-width:390px){
  .topbar-badge{display:none!important}
  .omni-field-nav{left:5px;right:5px;padding-inline:4px}
  .omni-field-nav a{font-size:8.5px}
}

/* ==========================================================
   OMNI SYSTEM — VISUAL 10
   Identidade oficial: Obsidian, Graphite, Ivory, Copper e Violet.
   Camada final deliberadamente sem regras de negócio.
   ========================================================== */
:root{
  --omni-obsidian:#111318;
  --omni-graphite:#1B1E26;
  --omni-ivory:#F6F4EF;
  --omni-copper:#C88A45;
  --omni-copper-soft:#E1B477;
  --omni-violet:#7157D9;
  --omni-slate:#747986;
  --omni-success:#22C55E;
  --omni-warning:#F59E0B;
  --omni-danger:#EF4444;
  --omni-page:#F6F4EF;
  --omni-surface:#FFFFFF;
  --omni-surface-2:#F1EEE8;
  --omni-surface-hover:#ECE7DF;
  --omni-input:#FFFFFF;
  --omni-text:#111318;
  --omni-text-2:#5F6470;
  --omni-text-3:#858A95;
  --omni-border:rgba(17,19,24,.10);
  --omni-border-strong:rgba(17,19,24,.18);
  --omni-shadow-sm:0 8px 24px rgba(17,19,24,.055);
  --omni-shadow:0 22px 54px rgba(17,19,24,.11);
  --omni-focus:0 0 0 3px rgba(200,138,69,.19);
  color-scheme:light;
}
html[data-theme="dark"]{
  --omni-page:#111318;
  --omni-surface:#1B1E26;
  --omni-surface-2:#222631;
  --omni-surface-hover:#292E3A;
  --omni-input:#171A21;
  --omni-text:#F6F4EF;
  --omni-text-2:#B5B8C2;
  --omni-text-3:#858A95;
  --omni-border:rgba(246,244,239,.10);
  --omni-border-strong:rgba(246,244,239,.18);
  --omni-shadow-sm:0 10px 28px rgba(0,0,0,.24);
  --omni-shadow:0 24px 64px rgba(0,0,0,.38);
  --omni-focus:0 0 0 3px rgba(225,180,119,.20);
  color-scheme:dark;
}
html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--omni-page)}
body{min-height:100dvh;background:
  radial-gradient(circle at 8% -8%,rgba(200,138,69,.10),transparent 29rem),
  radial-gradient(circle at 100% 0,rgba(113,87,217,.07),transparent 27rem),var(--omni-page);color:var(--omni-text)}
h1,h2,h3,.page-title,.omni-block-title,.omni-kpi-value{font-family:Manrope,Inter,ui-sans-serif,sans-serif}
::selection{background:rgba(113,87,217,.22);color:var(--omni-text)}

/* Marca orbital animada. */
.omni-brand-lockup{display:inline-flex;align-items:center;gap:10px;color:inherit;line-height:1}
.omni-orbit-mark{display:block;overflow:visible;flex:0 0 auto;filter:drop-shadow(0 4px 11px rgba(200,138,69,.16))}
.omni-orbit-halo{fill:none;stroke:rgba(200,138,69,.13);stroke-width:.8}
.omni-orbit-ring{fill:none;stroke:currentColor;stroke-width:.8;transform-box:fill-box;transform-origin:center}
.omni-orbit-ring-a{color:#C88A45;animation:omni-orbit-spin 17s linear infinite}
.omni-orbit-ring-b{color:#7157D9;animation:omni-orbit-spin-reverse 13s linear infinite}
.omni-orbit-ring-c{color:rgba(225,180,119,.72);animation:omni-orbit-spin 22s linear infinite}
.omni-node{stroke:none}.omni-node-copper{fill:#C88A45}.omni-node-violet{fill:#7157D9}
.omni-orbit-core-ring{fill:none;stroke:url(#omniCore);stroke-width:5}
.omni-orbit-core{fill:var(--omni-page);stroke:#7157D9;stroke-width:1.5;animation:omni-core-pulse 3.2s ease-in-out infinite}
.omni-wordmark{display:grid;gap:4px;min-width:0}
.omni-wordmark strong{font-family:Manrope,Inter,sans-serif;font-size:20px;font-weight:600;letter-spacing:.19em;color:var(--omni-text);white-space:nowrap}
.omni-wordmark small{font-size:8px;font-weight:700;letter-spacing:.58em;color:var(--omni-copper);white-space:nowrap}
.topbar-logo-link:hover .omni-orbit-ring-a,.admin-brand:hover .omni-orbit-ring-a{animation-duration:7s}
.topbar-logo-link:hover .omni-orbit-ring-b,.admin-brand:hover .omni-orbit-ring-b{animation-duration:5s}
@keyframes omni-orbit-spin{to{transform:rotate(360deg)}}
@keyframes omni-orbit-spin-reverse{to{transform:rotate(-360deg)}}
@keyframes omni-core-pulse{0%,100%{opacity:.76;transform:scale(.92);transform-origin:center}50%{opacity:1;transform:scale(1.08);transform-origin:center}}

/* Shell e navegação. */
.topbar,.admin-header{background:color-mix(in srgb,var(--omni-surface) 92%,transparent);border-bottom:1px solid var(--omni-border);box-shadow:0 8px 30px rgba(17,19,24,.06);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .admin-header{background:rgba(17,19,24,.86);box-shadow:0 12px 38px rgba(0,0,0,.28)}
.topbar-logo-link{min-width:174px;padding:4px 6px;border-radius:14px}
.topbar-logo-link:focus-visible{outline:none;box-shadow:var(--omni-focus)}
.topbar-brand-lockup .omni-orbit-mark{width:42px;height:42px}
.topnav-link,.topnav-dd-btn,.topbar-gerencial-icon{color:var(--omni-text-2);border-radius:11px}
.topnav-link:hover,.topnav-dd-btn:hover,.topbar-gerencial-icon:hover{background:var(--omni-surface-2);color:var(--omni-text)}
.topnav-link.active,.topnav-dd.active>.topnav-dd-btn{background:rgba(200,138,69,.13);color:var(--omni-copper)}
.topnav-link.active:after,.topnav-dd.active>.topnav-dd-btn:after{background:linear-gradient(90deg,var(--omni-copper),var(--omni-violet))}
.topnav-dd-menu{padding:10px;border-radius:16px;background:var(--omni-surface);border-color:var(--omni-border);box-shadow:var(--omni-shadow)}
.topnav-dd-menu .dd-title{color:var(--omni-copper);letter-spacing:.14em}
.topnav-dd-menu a{border-radius:9px}
.topbar .exz-theme-trigger{border-radius:12px;background:var(--omni-surface-2);border-color:var(--omni-border);box-shadow:none}
.topbar .exz-theme-trigger:hover{border-color:rgba(200,138,69,.55);color:var(--omni-copper)}
.exz-theme-popover button.is-active{background:rgba(200,138,69,.13);color:var(--omni-copper);font-weight:800}

/* Componentes universais. */
.card,.panel,.section,.form,.table-wrap,.modal-content,.omni-card,.exz-kpi,.exz-filter-panel,.exz-table-wrap,.exz-mobile-card,.meta-box,.cfg-section,.grid .card{
  background:var(--omni-surface);color:var(--omni-text);border:1px solid var(--omni-border);box-shadow:var(--omni-shadow-sm)
}
.omni-card,.exz-kpi,.section,.cfg-section,.meta-box{border-radius:18px}
a.omni-card,.exz-kpi,.grid .card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
a.omni-card:hover,.exz-kpi:hover,.grid .card:hover{transform:translateY(-2px);border-color:rgba(200,138,69,.46);box-shadow:var(--omni-shadow)}
button,.btn,.omni-btn,.exz-btn{font-family:Inter,ui-sans-serif,sans-serif}
.btn-primary,.omni-btn-primary,.exz-btn--primary{background:linear-gradient(135deg,#C88A45,#E1B477);border-color:#C88A45;color:#111318;box-shadow:0 8px 20px rgba(200,138,69,.18)}
.btn-primary:hover,.omni-btn-primary:hover,.exz-btn--primary:hover{filter:brightness(1.04);color:#111318;transform:translateY(-1px)}
.omni-pill{background:rgba(200,138,69,.13);color:color-mix(in srgb,var(--omni-copper) 80%,var(--omni-text))}
.omni-progress span{background:linear-gradient(90deg,var(--omni-copper),var(--omni-violet))}
.omni-spark-bar{background:linear-gradient(180deg,var(--omni-copper-soft),var(--omni-copper) 66%,var(--omni-violet))}
.omni-risk{border-color:rgba(239,68,68,.30)}.omni-risk .omni-kpi-value{color:var(--omni-danger)}

/* Tabelas, formulários e estados. */
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input{background:var(--omni-input);color:var(--omni-text);border:1px solid var(--omni-border-strong);border-radius:11px}
input:focus,select:focus,textarea:focus,.input:focus{border-color:var(--omni-copper);box-shadow:var(--omni-focus)}
table{border-collapse:separate;border-spacing:0;color:var(--omni-text)}
th{background:var(--omni-surface-2);color:var(--omni-text-2)}
tbody tr:hover td{background:color-mix(in srgb,var(--omni-copper) 6%,var(--omni-surface))}
.badge.ativo,.badge.ok,.okmsg{background:rgba(34,197,94,.13);color:var(--omni-success)}
.badge.trial,.badge.warning,.hint{background:rgba(245,158,11,.13);color:var(--omni-warning)}
.badge.bloqueado,.badge.cancelado,.badge.error,.err{background:rgba(239,68,68,.13);color:var(--omni-danger)}

/* Administração mantém a mesma marca e o mesmo tema do App. */
.admin-brand{display:flex;align-items:center;gap:9px;color:var(--omni-text);text-decoration:none}
.admin-brand-lockup .omni-orbit-mark{width:40px;height:40px}.admin-brand-lockup .omni-wordmark strong{font-size:17px}
.admin-brand-badge{padding:5px 7px;border:1px solid rgba(200,138,69,.30);border-radius:7px;color:var(--omni-copper);font-size:8px;font-weight:800;letter-spacing:.12em}
.admin-nav a{color:var(--omni-text-2)}.admin-nav a:hover{background:var(--omni-surface-2);color:var(--omni-text)}
.admin-nav a.active{background:rgba(200,138,69,.13);color:var(--omni-copper)}

@media(max-width:900px){
  .topbar-logo-link{min-width:auto}.topbar-brand-lockup .omni-wordmark{display:none}
  .topbar-brand-lockup .omni-orbit-mark{width:40px;height:40px}
}
@media(max-width:600px){
  body{background:var(--omni-page)}
  .omni-card,.exz-kpi,.section,.cfg-section,.meta-box{border-radius:15px}
  .admin-brand-lockup .omni-wordmark{display:none}.admin-brand-badge{display:none}
}
@media(prefers-reduced-motion:reduce){
  .omni-orbit-ring,.omni-orbit-core{animation:none!important}
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* ==========================================================
   OMNI CLEAN UI — densidade, tipografia e ritmo visual
   A identidade continua exclusiva; a interface fica silenciosa.
   ========================================================== */
:root{
  --omni-font-ui:Inter,"Segoe UI Variable","Segoe UI",Roboto,Arial,sans-serif;
  --omni-font-display:Manrope,Inter,"Segoe UI Variable","Segoe UI",sans-serif;
  --omni-content-max:1560px;
  --omni-control-h:38px;
  --omni-radius-xs:7px;
  --omni-radius-sm:9px;
  --omni-radius-md:12px;
  --omni-radius-lg:14px;
  --omni-shadow-sm:0 1px 2px rgba(17,19,24,.025),0 5px 16px rgba(17,19,24,.035);
  --omni-shadow:0 2px 5px rgba(17,19,24,.035),0 14px 34px rgba(17,19,24,.075);
}
html[data-theme="dark"]{
  --omni-shadow-sm:0 1px 2px rgba(0,0,0,.18),0 6px 18px rgba(0,0,0,.13);
  --omni-shadow:0 2px 5px rgba(0,0,0,.22),0 16px 38px rgba(0,0,0,.22);
}
html,body{font-family:var(--omni-font-ui)!important;font-size:14px;line-height:1.45}
body{background:var(--omni-page)!important}
h1,h2,h3,h4,h5,h6,.page-title,.omni-block-title,.omni-kpi-value{font-family:var(--omni-font-display)!important;color:var(--omni-text);letter-spacing:-.025em}
h1,.page-title{font-size:clamp(24px,2vw,28px)!important;line-height:1.18!important;font-weight:700!important}
h2{font-size:18px!important;line-height:1.28!important;font-weight:700!important}
h3,.omni-block-title{font-size:15px!important;line-height:1.35!important;font-weight:650!important}
p,.description,.subtitle{font-size:14px;line-height:1.5}
.muted,.subtitle,.subtext,.omni-db-sub,.omni-block-sub{font-size:12px!important;color:var(--omni-text-2)!important}

/* Cabeçalho mais baixo, legível e previsível. */
:root{--topbar-base-h:64px}
.topbar,.admin-header{min-height:64px!important;height:var(--topbar-h);padding-top:calc(var(--safe-top) + 6px)!important;padding-bottom:6px!important;box-shadow:0 1px 0 var(--omni-border)!important}
.topbar{padding-inline:clamp(12px,1.5vw,24px)!important}
.topbar-left,.topbar-right{gap:7px!important}.topbar-center{flex:2.4}
.topbar-brand-lockup .omni-orbit-mark{width:38px!important;height:38px!important}
.omni-wordmark strong{font-size:17px!important;font-weight:600!important}.omni-wordmark small{font-size:7px!important}
.topnav{gap:3px!important}.topnav-link,.topnav-dd-btn{min-height:38px!important;padding:8px 10px!important;font-size:13px!important;font-weight:600!important;border-radius:9px!important}
.topnav-dd-menu{min-width:210px!important;padding:7px!important;border-radius:11px!important}
.topnav-dd-menu a{padding:8px 9px!important;border-radius:7px!important;font-size:13px!important;font-weight:500!important}
.topnav-dd-menu .dd-title{padding:5px 9px!important;font-size:10px!important}
.topbar .exz-theme-trigger{min-height:38px!important;padding:7px 10px!important;border-radius:9px!important;font-size:13px!important}
.user-name-top,.topbar-right>a{font-size:13px!important}

/* Área útil ampla sem perder respiro. */
.omni-db,.exz-page,main.app,section.page,.wrap,.admin-main{
  width:min(var(--omni-content-max),calc(100% - clamp(28px,4vw,64px)))!important;
  max-width:var(--omni-content-max)!important;
  margin-inline:auto!important;
}
.omni-db{padding-top:22px!important;padding-inline:0!important}
main:not(.omni-db):not(.admin-main){max-width:var(--omni-content-max)}
.omni-db-head{margin-bottom:14px!important;gap:14px!important}
.omni-db-kicker{font-size:10px!important;font-weight:700!important;letter-spacing:.13em!important;margin-bottom:4px!important}
.omni-db h1{font-size:clamp(24px,2vw,28px)!important;font-weight:700!important;letter-spacing:-.035em!important}
.omni-db-actions{gap:7px!important}.omni-btn,.btn,.exz-btn{min-height:var(--omni-control-h)!important;padding:0 13px!important;border-radius:9px!important;font-size:13px!important;font-weight:600!important;box-shadow:none!important}

/* Cards deixam de competir entre si. */
.card,.panel,.section,.form,.table-wrap,.modal-content,.omni-card,.exz-kpi,.exz-filter-panel,.exz-table-wrap,.exz-mobile-card,.meta-box,.cfg-section,.grid .card{
  border-radius:var(--omni-radius-md)!important;
  border-color:var(--omni-border)!important;
  box-shadow:var(--omni-shadow-sm)!important;
}
.omni-card{padding:15px!important}.omni-grid{gap:10px!important}.omni-two,.omni-four{margin-top:10px!important}
a.omni-card:hover,.exz-kpi:hover,.grid .card:hover{transform:translateY(-1px)!important;box-shadow:var(--omni-shadow)!important}
.omni-kpi-label,.exz-kpi span{font-size:10px!important;font-weight:650!important;letter-spacing:.065em!important}
.omni-kpi-value,.exz-kpi strong,.grid .card .v{font-size:clamp(23px,1.9vw,27px)!important;line-height:1.15!important;font-weight:700!important;letter-spacing:-.035em!important}
.omni-kpi-foot{font-size:10.5px!important}.omni-pill,.badge,.tag{font-size:10px!important;font-weight:650!important;padding:3px 7px!important}
.omni-meta-lines{gap:6px!important;margin-top:10px!important}.omni-meta-line{padding:8px 10px!important;border-radius:8px!important;font-size:10px!important}.omni-meta-line strong{font-size:12px!important;font-weight:650!important}
.omni-block-head{margin-bottom:11px!important}.omni-link{font-size:11px!important;font-weight:650!important}
.omni-todos,.omni-list{gap:6px!important}.omni-todo,.omni-row{padding:9px 10px!important;border-radius:9px!important}.omni-todo strong,.omni-row strong{font-size:12px!important;font-weight:650!important}.omni-todo small,.omni-row small{font-size:10px!important}
.omni-todo-value,.omni-row-value{font-weight:650!important}
.omni-mini{gap:6px!important;margin-top:10px!important}.omni-mini div{padding:8px 9px!important;border-radius:8px!important}.omni-finance button{min-height:52px!important;padding:11px 15px!important}.omni-fin-box{padding:11px!important;border-radius:9px!important}

/* Formulários e tabelas com uma única métrica. */
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input{min-height:var(--omni-control-h)!important;padding:8px 10px!important;border-radius:8px!important;font-size:13px!important}
textarea{min-height:88px!important}label{font-size:11px!important;font-weight:600!important;color:var(--omni-text-2)!important}
.exz-filter-panel,.section,.cfg-section,.meta-box{padding:15px!important}
table{font-size:13px!important}th{padding:9px 11px!important;font-size:10px!important;font-weight:650!important;letter-spacing:.055em!important}td{padding:10px 11px!important;font-size:13px!important}
.exz-table th{padding:9px 11px!important;font-size:10px!important}.exz-table td{padding:10px 11px!important;font-size:13px!important}
.exz-table-wrap,.table-wrap{border-radius:11px!important}
.exz-mobile-list{display:none!important}

/* Cor é sinal, não decoração. */
.btn-primary,.omni-btn-primary,.exz-btn--primary{background:var(--omni-copper)!important;color:#111318!important;border-color:var(--omni-copper)!important}
.topnav-link.active,.topnav-dd.active>.topnav-dd-btn{background:rgba(200,138,69,.10)!important}
.omni-risk .omni-kpi-value{color:var(--omni-danger)!important}
.omni-progress{height:6px!important}.omni-spark{height:132px!important}

/* A tela clara fica neutra; a escura mantém profundidade sem blocos pretos. */
html[data-theme="light"] .omni-card,html[data-theme="light"] .card,html[data-theme="light"] .section{background:#fff}
html[data-theme="dark"] .omni-card,html[data-theme="dark"] .card,html[data-theme="dark"] .section{background:var(--omni-surface)}

@media(max-width:1100px){
  .omni-db,.exz-page,main.app,section.page,.wrap,.admin-main{width:min(100% - 28px,var(--omni-content-max))!important}
}
@media(max-width:720px){
  :root{--topbar-base-h:60px;--omni-control-h:42px}
  .omni-db,.exz-page,main.app,section.page,.wrap,.admin-main{width:calc(100% - 24px)!important}
  .omni-db{padding-top:16px!important}.omni-db-head{align-items:stretch!important}
  .omni-db-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.omni-btn{width:100%}
  .omni-card{padding:14px!important}.omni-kpi-value{font-size:24px!important}
  td,th{white-space:normal}
  .exz-table-wrap{display:none!important}
  .exz-mobile-list{display:block!important}
}

/* Tema: botao redondo unico — sol no escuro (vai pro claro), lua no claro (vai pro escuro) — 12/10 */
.exz-theme-round{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;align-self:center;width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;max-height:38px;aspect-ratio:1/1;padding:0!important;margin:0;border-radius:50%!important;border:1px solid rgba(147,197,253,.55);background:rgba(59,130,246,.16);color:#cfe3ff;cursor:pointer;line-height:0;transition:background .15s,transform .15s}
.exz-theme-round:hover{background:rgba(59,130,246,.3);transform:scale(1.06)}
.exz-theme-round .ic-sun,.exz-theme-round .ic-moon{display:none;line-height:0}
.exz-theme-round svg{display:block}
html[data-theme="dark"] .exz-theme-round .ic-sun{display:inline-flex}
html:not([data-theme="dark"]) .exz-theme-round .ic-moon{display:inline-flex}
html:not([data-theme="dark"]) .exz-theme-round{border-color:rgba(23,24,28,.28);background:rgba(23,24,28,.06);color:#2b2f3a}
html:not([data-theme="dark"]) .exz-theme-round:hover{background:rgba(23,24,28,.12)}
