/* Intelligence Parceiros — Design System
   Gerado a partir do artefato Design System (tokens.json). Não edite cores aqui à mão:
   altere o token no Design System e regenere. */

:root,[data-theme=light]{
  --brand-500:#2176ff;
  --brand-600:#1558c7;
  --brand-700:#0f43a0;
  --brand-100:#dbe7ff;
  --brand-50:#eef4ff;
  --accent:#1558c7;
  --accent-hover:#0f43a0;
  --on-accent:#ffffff;
  --focus:#2176ff;
  --navy-900:#0a1535;
  --navy-800:#10275c;
  --navy-700:#17306b;
  --nav-ink:#b8c5e0;
  --nav-label:#7d93c4;
  --nav-ink-active:#ffffff;
  --bg:#f4f6fb;
  --surface:#ffffff;
  --surface-2:#f8fafd;
  --border:#e3e8f2;
  --border-strong:#8291b0;
  --ink:#0d1a3a;
  --ink-2:#33415f;
  --muted:#5b6b8c;
  --success:#047857;
  --success-bg:#e7f8f0;
  --warning:#b45309;
  --warning-bg:#fff4e0;
  --danger:#c62828;
  --danger-bg:#fdecec;
  --on-danger:#ffffff;
  --stage-novo:#475569;
  --stage-novo-bg:#eef2f7;
  --stage-qualificado:#1558c7;
  --stage-qualificado-bg:#e6efff;
  --stage-proposta:#b45309;
  --stage-proposta-bg:#fff4e0;
  --stage-negociacao:#0e7490;
  --stage-negociacao-bg:#e0f5fa;
  --stage-fechado:#047857;
  --stage-fechado-bg:#e7f8f0;
  --shadow-sm:0 1px 2px rgba(13,26,58,0.06);
  --shadow-md:0 8px 24px rgba(13,26,58,0.08);
  --shadow-lg:0 24px 48px rgba(10,21,53,0.18);
}
[data-theme=dark]{
  --brand-500:#4d8dff;
  --brand-600:#6fa3ff;
  --brand-700:#a9c8ff;
  --brand-100:#1d3570;
  --brand-50:#14254d;
  --accent:#4d8dff;
  --accent-hover:#6fa3ff;
  --on-accent:#06102a;
  --focus:#6fa3ff;
  --navy-900:#070e24;
  --navy-800:#0f1d44;
  --navy-700:#18306a;
  --nav-ink:#b8c5e0;
  --nav-label:#7d93c4;
  --nav-ink-active:#ffffff;
  --bg:#0b1226;
  --surface:#121b33;
  --surface-2:#18223d;
  --border:#26314f;
  --border-strong:#5b6a8f;
  --ink:#e8eefc;
  --ink-2:#c3cee6;
  --muted:#9fb0d0;
  --success:#34d399;
  --success-bg:#0f2e25;
  --warning:#fbbf24;
  --warning-bg:#33260a;
  --danger:#f87171;
  --danger-bg:#3a1518;
  --on-danger:#1a0606;
  --stage-novo:#cbd5e1;
  --stage-novo-bg:#1e2840;
  --stage-qualificado:#93b8ff;
  --stage-qualificado-bg:#162a57;
  --stage-proposta:#fcd34d;
  --stage-proposta-bg:#3a2a08;
  --stage-negociacao:#67e8f9;
  --stage-negociacao-bg:#0c3340;
  --stage-fechado:#6ee7b7;
  --stage-fechado-bg:#0f2e25;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.4);
  --shadow-md:0 8px 24px rgba(0,0,0,0.45);
  --shadow-lg:0 24px 48px rgba(0,0,0,0.6);
}
:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:20px;
  --radius-pill:999px;
  --font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display:"Barlow Semi Condensed", "Inter", system-ui, sans-serif;
}

/* Intelligence Parceiros — componentes (classes ix-*). Requer os tokens (tokens.css / intelligence.css). */
.ix, .ix *{box-sizing:border-box}
.ix{font-family:var(--font-sans);color:var(--ink);font-size:15px;line-height:24px;-webkit-font-smoothing:antialiased}
.ix :focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* ── Botão ── */
.ix-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-md);border:1px solid transparent;font:600 14px/1 var(--font-sans);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}
.ix-btn:active{transform:translateY(1px)}
.ix-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ix-btn--primary{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px rgba(13,26,58,.12),inset 0 1px 0 rgba(255,255,255,.12)}
.ix-btn--primary:hover{background:var(--accent-hover);color:var(--on-accent)}
.ix-btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}
.ix-btn--secondary:hover{background:var(--surface-2);border-color:var(--brand-600);color:var(--ink)}
.ix-btn--ghost{background:transparent;color:var(--brand-600)}
.ix-btn--ghost:hover{background:var(--brand-50);color:var(--brand-700)}
.ix-btn--danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}
.ix-btn--danger:hover{background:var(--danger-bg)}
.ix-btn--sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}
.ix-btn--lg{height:48px;padding:0 22px;font-size:15px}
.ix-btn--block{width:100%}
.ix-btn[disabled],.ix-btn.is-disabled{opacity:.5;pointer-events:none}

/* ── Card ── */
.ix-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}
.ix-card--interactive{transition:border-color .2s,box-shadow .2s,transform .2s;cursor:pointer}
.ix-card--interactive:hover{border-color:var(--brand-100);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.ix-card__title{font:600 16px/24px var(--font-sans);color:var(--ink);margin:0}
.ix-card__desc{font-size:14px;line-height:20px;color:var(--muted);margin:4px 0 0}

/* ── Card de métrica ── */
.ix-stat{display:flex;flex-direction:column;gap:6px}
.ix-stat__top{display:flex;align-items:center;justify-content:space-between}
.ix-stat__label{font:500 13px/18px var(--font-sans);color:var(--muted)}
.ix-stat__icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600);font-size:15px}
.ix-stat__value{font:700 28px/32px var(--font-sans);letter-spacing:-.5px;color:var(--ink);font-variant-numeric:tabular-nums}
.ix-stat__delta{font:600 12px/16px var(--font-sans);display:inline-flex;align-items:center;gap:4px}
.ix-stat__delta--up{color:var(--success)}
.ix-stat__delta--down{color:var(--danger)}

/* ── Badge ── */
.ix-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--radius-pill);font:600 12px/1 var(--font-sans);white-space:nowrap}
.ix-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ix-badge--plain::before{display:none}
.ix-badge--novo{color:var(--stage-novo);background:var(--stage-novo-bg)}
.ix-badge--qualificado{color:var(--stage-qualificado);background:var(--stage-qualificado-bg)}
.ix-badge--proposta{color:var(--stage-proposta);background:var(--stage-proposta-bg)}
.ix-badge--negociacao{color:var(--stage-negociacao);background:var(--stage-negociacao-bg)}
.ix-badge--fechado{color:var(--stage-fechado);background:var(--stage-fechado-bg)}
.ix-badge--success{color:var(--success);background:var(--success-bg)}
.ix-badge--warning{color:var(--warning);background:var(--warning-bg)}
.ix-badge--danger{color:var(--danger);background:var(--danger-bg)}
.ix-badge--info{color:var(--brand-600);background:var(--brand-50)}
.ix-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--danger);color:var(--on-danger);font:700 11px/1 var(--font-sans)}

/* ── Campo de formulário ── */
.ix-field{display:flex;flex-direction:column;gap:6px}
.ix-field__label{font:600 13px/18px var(--font-sans);color:var(--ink)}
.ix-field__control{position:relative;display:flex;align-items:center}
.ix-field__control > i{position:absolute;left:12px;color:var(--muted);font-size:14px;pointer-events:none}
.ix-input{width:100%;height:42px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:400 14px/20px var(--font-sans);transition:border-color .15s,box-shadow .15s}
.ix-field__control > i + .ix-input{padding-left:36px}
.ix-input::placeholder{color:var(--muted);opacity:1}
.ix-input:hover{border-color:var(--muted)}
.ix-input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--brand-100)}
.ix-field__hint{font-size:12px;line-height:16px;color:var(--muted)}
.ix-field--error .ix-input{border-color:var(--danger)}
.ix-field--error .ix-field__hint{color:var(--danger)}

/* ── Navegação (sidebar) ── */
.ix-nav{background:var(--navy-900);padding:12px 8px;display:flex;flex-direction:column;gap:2px;font-family:var(--font-sans)}
.ix-nav__label{font:600 11px/16px var(--font-sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--nav-label);padding:14px 12px 6px}
.ix-nav__item{display:flex;align-items:center;gap:12px;height:38px;padding:0 12px;border-radius:var(--radius-md);color:var(--nav-ink);text-decoration:none;font:500 14px/1 var(--font-sans);transition:background .15s,color .15s;position:relative}
.ix-nav__item i{width:18px;text-align:center;font-size:15px;opacity:.85}
.ix-nav__item:hover{background:var(--navy-800);color:var(--nav-ink-active)}
.ix-nav__item.is-active{background:var(--navy-700);color:var(--nav-ink-active)}
.ix-nav__item.is-active::before{content:"";position:absolute;left:-8px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-500)}
.ix-nav__item .ix-count{margin-left:auto}

/* ── Card de Kanban ── */
.ix-column{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:240px}
.ix-column__head{display:flex;align-items:center;justify-content:space-between;font:600 13px/18px var(--font-sans);color:var(--ink);padding:2px 4px 6px}
.ix-column__count{font:600 12px/1 var(--font-sans);color:var(--muted)}
.ix-kcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);cursor:grab;transition:border-color .15s,box-shadow .15s,transform .15s}
.ix-kcard:hover{border-color:var(--brand-100);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.ix-kcard__title{font:600 14px/20px var(--font-sans);color:var(--ink)}
.ix-kcard__meta{display:flex;align-items:center;justify-content:space-between;font:500 12px/16px var(--font-sans);color:var(--muted)}
.ix-kcard .ix-badge{align-self:flex-start}
.ix-kcard__value{font:700 14px/20px var(--font-sans);color:var(--ink);font-variant-numeric:tabular-nums}

/* ── Avatar ── */
.ix-avatar{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;background:var(--brand-50);color:var(--brand-600);font:700 12px/1 var(--font-sans);flex-shrink:0}
.ix-avatar--sm{width:24px;height:24px;font-size:10px}

/* ── Hero ── */
.ix-hero{position:relative;overflow:hidden;border-radius:var(--radius-xl);background:var(--navy-900);border:1px solid var(--navy-800);color:#fff;padding:40px 44px}
.ix-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;border:56px solid var(--navy-800);pointer-events:none}
.ix-hero > *{position:relative;z-index:1}
.ix-hero__eyebrow{font:600 13px/16px var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--nav-label);margin:0 0 10px}
.ix-hero__title{font:700 40px/44px var(--font-display);letter-spacing:-.3px;color:#fff;margin:0 0 10px}
.ix-hero__title em{font-style:normal;color:#7fb0ff}
.ix-hero__text{font-size:15px;line-height:24px;color:var(--nav-ink);max-width:560px;margin:0}

/* ── Atalho rápido ── */
.ix-quick{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--ink);text-decoration:none;font:600 14px/20px var(--font-sans);transition:border-color .15s,box-shadow .15s,transform .15s}
.ix-quick:hover{border-color:var(--brand-100);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--ink)}
.ix-quick__icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600);font-size:16px;flex-shrink:0}
.ix-quick small{display:block;font:400 12px/16px var(--font-sans);color:var(--muted)}

/* ── Checklist de primeiros passos ── */
.ix-progress{height:8px;border-radius:var(--radius-pill);background:var(--brand-100);overflow:hidden}
.ix-progress > span{display:block;height:100%;border-radius:inherit;background:var(--brand-500);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ix-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ix-step{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:var(--radius-md);color:var(--ink);text-decoration:none;font:500 14px/20px var(--font-sans)}
.ix-step:hover{background:var(--surface-2);color:var(--ink)}
.ix-step__check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;flex-shrink:0;font-size:11px;color:transparent}
.ix-step.is-done{color:var(--muted)}
.ix-step.is-done .ix-step__label{text-decoration:line-through}
.ix-step.is-done .ix-step__check{background:var(--success);border-color:var(--success);color:var(--surface)}
.ix-step__go{margin-left:auto;color:var(--brand-600);font-size:12px}

/* ── Estado vazio ── */
.ix-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:40px 24px;border:1.5px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.ix-empty__icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600);font-size:22px;margin-bottom:6px}
.ix-empty__title{font:600 16px/24px var(--font-sans);color:var(--ink);margin:0}
.ix-empty__text{font-size:14px;line-height:20px;color:var(--muted);max-width:360px;margin:0 0 8px}

/* ── Alerta / Toast ── */
.ix-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);font:500 14px/20px var(--font-sans);color:var(--ink)}
.ix-alert > i{margin-top:2px;font-size:15px}
.ix-alert--success > i{color:var(--success)}
.ix-alert--warning > i{color:var(--warning)}
.ix-alert--danger > i{color:var(--danger)}
.ix-alert--info > i{color:var(--brand-600)}
.ix-alert--success{border-left:0;background:var(--success-bg);border-color:transparent}
.ix-alert--warning{background:var(--warning-bg);border-color:transparent}
.ix-alert--danger{background:var(--danger-bg);border-color:transparent}
.ix-alert--info{background:var(--brand-50);border-color:transparent}
.ix-alert__close{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer;padding:2px;font-size:14px}

/* ── Animações ── */
@keyframes ix-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ix-rise{animation:ix-rise .45s cubic-bezier(.2,.8,.2,1) backwards}
@keyframes ix-shimmer{to{background-position:-200% 0}}
.ix-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:ix-shimmer 1.4s linear infinite}
@media (prefers-reduced-motion:reduce){.ix-rise,.ix-skeleton{animation:none}.ix-card--interactive:hover,.ix-quick:hover,.ix-kcard:hover{transform:none}}

/* ════════════════════════════════════════════════════════════
   CAMADA DO APP — reestiliza as classes já existentes nos templates
   (sidebar, topbar, Bootstrap, kanban, tabelas) usando os tokens.
════════════════════════════════════════════════════════════ */
:root{--sidebar-w:252px;--topbar-h:64px;
  /* aliases legados usados pelos templates */
  --sidebar:var(--navy-900);--sidebar-hover:var(--navy-800);--sidebar-border:rgba(255,255,255,.06);
  --accent-dark:var(--accent-hover);--accent-text:var(--on-accent);--card:var(--surface);--text:var(--ink);
  /* Bootstrap 5.3 */
  --bs-body-font-family:var(--font-sans);--bs-body-color:var(--ink);--bs-body-bg:var(--bg);
  --bs-border-color:var(--border);--bs-primary:#1558c7;--bs-primary-rgb:21,88,199;
  --bs-link-color:var(--brand-600);--bs-link-hover-color:var(--brand-700);--bs-link-color-rgb:21,88,199;
  --bs-secondary-color:var(--muted);--bs-tertiary-bg:var(--surface-2);--bs-emphasis-color:var(--ink);
  --bs-border-radius:var(--radius-md);--bs-border-radius-lg:var(--radius-lg);
  color-scheme:light}
[data-theme=dark]{color-scheme:dark;--bs-body-color:var(--ink);--bs-body-bg:var(--bg);--bs-border-color:var(--border);--bs-secondary-bg:var(--surface-2);--bs-tertiary-bg:var(--surface-2);--bs-emphasis-color:var(--ink);--bs-secondary-color:var(--muted)}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--ink);display:flex;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:15px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
::selection{background:var(--brand-100)}
a{color:var(--brand-600)} a:hover{color:var(--brand-700)}

/* ── Overlay mobile ── */
#sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(7,14,36,.6);backdrop-filter:blur(2px);z-index:99}
#sidebar-overlay.show{display:block}

/* ── Sidebar ── */
.sidebar{width:var(--sidebar-w);height:100vh;background:var(--navy-900);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;
  transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;padding-bottom:8px}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:6px}
.sidebar-logo{display:flex;align-items:center;gap:10px;padding:18px 18px 16px;text-decoration:none;flex-shrink:0}
.sidebar-logo img{height:30px;width:auto}
.sidebar-logo--esc img{height:auto;max-height:44px;max-width:150px;object-fit:contain}
.sidebar-logo--esc .brand-name{font-size:17px;line-height:1.1;text-transform:none;letter-spacing:.2px;overflow-wrap:anywhere}
.sidebar-logo .brand-ini{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font:700 16px/1 var(--font-sans);flex:none}
.sidebar-credit{padding:8px 18px 12px;font-size:10.5px;color:var(--nav-label);letter-spacing:.2px;flex-shrink:0}
.sidebar-credit b{color:var(--nav-ink);font-weight:600}
.sidebar-logo .brand-name{font:700 21px/1 var(--font-display);letter-spacing:.6px;color:#fff;text-transform:uppercase}
.sidebar-logo .brand-sub{display:block;font:600 11px/1 var(--font-sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--nav-label);margin-top:4px}
.nav-group{flex-shrink:0;padding:0 10px}
.nav-group-header{display:flex;align-items:center;justify-content:space-between;padding:14px 10px 6px;font:600 11px/16px var(--font-sans);color:var(--nav-label);
  text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;user-select:none;border-radius:6px;transition:color .15s}
.nav-group-header:hover{color:var(--nav-ink)}
.nav-group-header .chevron{font-size:9px;transition:transform .22s ease;opacity:.7}
.nav-group.open .nav-group-header .chevron{transform:rotate(180deg)}
.nav-group-body{overflow:hidden;max-height:0;opacity:0;transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .2s ease}
.nav-group.open .nav-group-body{max-height:600px;opacity:1}
.sidebar a:not(.sidebar-logo):not(.btn-logout){display:flex;align-items:center;gap:12px;height:38px;padding:0 12px;margin:1px 0;color:var(--nav-ink);text-decoration:none;
  font:500 14px/1 var(--font-sans);border-radius:var(--radius-md);transition:background .15s,color .15s;white-space:nowrap;position:relative}
.sidebar a:not(.sidebar-logo):not(.btn-logout):hover{background:var(--navy-800);color:#fff}
.sidebar a.active{background:var(--navy-700) !important;color:#fff !important;border-left:0;padding-left:12px}
.sidebar a.active::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-500)}
.sidebar a i{width:18px;text-align:center;font-size:15px;opacity:.8;flex-shrink:0}
.sidebar a.active i{opacity:1;color:#7fb0ff}
.sidebar a .badge{margin-left:auto;background:var(--danger) !important;color:var(--on-danger) !important}
/* tooltip */
.sidebar a[data-tip]::after{content:attr(data-tip);position:fixed;left:calc(var(--sidebar-w) + 8px);transform:translateY(-4px);background:var(--navy-900);color:#e8eefc;
  font:500 12px/1.45 var(--font-sans);padding:8px 12px;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .15s .3s;z-index:999;
  box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.08);max-width:240px;white-space:normal;width:max-content}
.sidebar a[data-tip]:hover::after{opacity:1}
.sidebar-spacer{flex:1;min-height:12px}
.sidebar-user{margin:8px 10px 0;padding:12px;border-radius:var(--radius-lg);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);flex-shrink:0}
.uname{font:600 14px/18px var(--font-sans);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role-badge{font:600 11px/1 var(--font-sans);padding:3px 8px;border-radius:999px;display:inline-block;margin-top:4px;text-transform:capitalize}
.role-superuser{background:rgba(77,141,255,.18);color:#a9c8ff}
.role-admin{background:rgba(255,255,255,.1);color:#d6e2fb}
.role-user{background:rgba(255,255,255,.07);color:var(--nav-ink)}
.avatar-sm{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#2176ff,#1558c7);display:flex;align-items:center;justify-content:center;
  font:700 13px/1 var(--font-sans);color:#fff;flex-shrink:0}
.btn-logout{display:flex;align-items:center;justify-content:center;gap:8px;font:600 13px/1 var(--font-sans);background:transparent;color:var(--nav-ink);
  border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);height:34px;width:100%;margin-top:10px;text-decoration:none;transition:.15s}
.btn-logout:hover{background:rgba(255,255,255,.08);color:#fff}

/* ── Main + topbar ── */
.main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-width:0;transition:margin .28s cubic-bezier(.4,0,.2,1)}
.topbar{height:var(--topbar-h);background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--border);padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;flex-shrink:0;gap:16px}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.topbar h1{font:700 20px/28px var(--font-sans);letter-spacing:-.2px;color:var(--ink);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-right{display:flex;gap:8px;align-items:center;flex-shrink:0}
.btn-menu{display:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:38px;height:38px;cursor:pointer;color:var(--ink)}
.icon-btn{position:relative;width:38px;height:38px;display:inline-grid;place-items:center;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);
  color:var(--ink-2);cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-decoration:none;padding:0}
.icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}
.icon-btn .ix-count{position:absolute;top:-6px;right:-6px;border:2px solid var(--surface)}
.search-trigger{display:flex;align-items:center;gap:10px;width:280px;height:38px;padding:0 10px 0 12px;border-radius:var(--radius-md);border:1px solid var(--border);
  background:var(--surface-2);color:var(--muted);font:400 14px/1 var(--font-sans);cursor:text;transition:border-color .15s,box-shadow .15s}
.search-trigger:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--brand-100);background:var(--surface)}
.search-trigger input{border:0;background:transparent;outline:none;flex:1;min-width:0;color:var(--ink);font:inherit}
.search-trigger input::placeholder{color:var(--muted)}
.kbd{font:600 11px/1 var(--font-sans);color:var(--muted);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:3px 6px;background:var(--surface)}
.online-dot{display:inline-flex;align-items:center;gap:6px;font:500 13px/1 var(--font-sans);color:var(--muted);white-space:nowrap}
.online-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-bg)}
.topbar .avatar-sm{width:38px;height:38px}
.theme-dark-only{display:none}
[data-theme=dark] .theme-dark-only{display:inline}
[data-theme=dark] .theme-light-only{display:none}

/* ── Conteúdo ── */
.content{padding:28px;flex:1;min-width:0;overflow-x:hidden;animation:ix-rise .35s cubic-bezier(.2,.8,.2,1) backwards}
.content-inner{max-width:1360px;margin:0 auto}

/* ── Cards (legado + Bootstrap) ── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink)}
.card-header,.card-footer{background:var(--surface-2);border-color:var(--border)}
.stat-card{padding:20px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .2s,transform .2s}
.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.stat-card .icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:4px}
.stat-card .value{font:700 28px/32px var(--font-sans);letter-spacing:-.5px;color:var(--ink);font-variant-numeric:tabular-nums}
.stat-card .label{font:500 13px/18px var(--font-sans);color:var(--muted)}
.change.up{color:var(--success)} .change.down{color:var(--danger)}

/* ── Tabelas ── */
.table{--bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-striped-bg:var(--surface-2);--bs-table-hover-bg:var(--surface-2);--bs-table-border-color:var(--border);font-size:14px}
.table th{font:600 12px/16px var(--font-sans);color:var(--muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border);background:var(--surface-2);padding-top:12px;padding-bottom:12px}
.table td{vertical-align:middle;border-color:var(--border);padding-top:12px;padding-bottom:12px}
.table-hover tbody tr{transition:background .12s}

/* ── Badges de estágio (legado) ── */
.badge-stage{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:600 12px/1 var(--font-sans)}
.badge-stage::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.stage-novo{background:var(--stage-novo-bg);color:var(--stage-novo)}
.stage-contatado,.stage-qualificado{background:var(--stage-qualificado-bg);color:var(--stage-qualificado)}
.stage-proposta{background:var(--stage-proposta-bg);color:var(--stage-proposta)}
.stage-negociação,.stage-negociacao{background:var(--stage-negociacao-bg);color:var(--stage-negociacao)}
.stage-fechado{background:var(--stage-fechado-bg);color:var(--stage-fechado)}
.stage-perdido{background:var(--danger-bg);color:var(--danger)}

/* ── Botões Bootstrap ── */
.btn{font-family:var(--font-sans);font-weight:600;border-radius:var(--radius-md);transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}
.btn:active{transform:translateY(1px)}
.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-color:var(--on-accent);--bs-btn-hover-bg:var(--accent-hover);--bs-btn-hover-border-color:var(--accent-hover);
  --bs-btn-hover-color:var(--on-accent);--bs-btn-active-bg:var(--accent-hover);--bs-btn-active-border-color:var(--accent-hover);--bs-btn-disabled-bg:var(--accent);--bs-btn-disabled-border-color:var(--accent);
  background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px rgba(13,26,58,.12),inset 0 1px 0 rgba(255,255,255,.12)}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}
.btn-outline-primary{--bs-btn-color:var(--brand-600);--bs-btn-border-color:var(--brand-600);--bs-btn-hover-bg:var(--brand-50);--bs-btn-hover-color:var(--brand-700);--bs-btn-hover-border-color:var(--brand-600)}
.btn-outline-secondary,.btn-light{--bs-btn-color:var(--ink-2);--bs-btn-bg:var(--surface);--bs-btn-border-color:var(--border-strong);--bs-btn-hover-bg:var(--surface-2);--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:var(--border-strong);--bs-btn-active-bg:var(--surface-2);--bs-btn-active-color:var(--ink)}
.btn-sm{font-size:13px;padding:5px 12px;border-radius:8px}

/* ── Formulários ── */
.form-control,.form-select{font-size:14px;border-color:var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);color:var(--ink);min-height:40px}
.form-control-sm,.form-select-sm{min-height:32px;font-size:13px}
.form-control::placeholder{color:var(--muted);opacity:1}
.form-control:focus,.form-select:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--brand-100);background-color:var(--surface);color:var(--ink)}
.form-label{font:600 13px/18px var(--font-sans);color:var(--ink);margin-bottom:6px}
.form-text{color:var(--muted)}
.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}
.input-group-text{background:var(--surface-2);border-color:var(--border-strong);color:var(--muted)}

/* ── Dropdowns, modais, nav ── */
.dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-color:var(--ink);--bs-dropdown-border-color:var(--border);--bs-dropdown-link-color:var(--ink);--bs-dropdown-link-hover-bg:var(--surface-2);--bs-dropdown-link-hover-color:var(--ink);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;font-size:14px}
.dropdown-item{border-radius:8px;padding:8px 10px}
.modal-content{--bs-modal-bg:var(--surface);--bs-modal-color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}
.modal-header,.modal-footer{border-color:var(--border)}
.nav-tabs{--bs-nav-tabs-border-color:var(--border);--bs-nav-tabs-link-active-bg:var(--surface);--bs-nav-tabs-link-active-color:var(--brand-600);--bs-nav-tabs-link-active-border-color:var(--border) var(--border) var(--surface)}
.nav-pills{--bs-nav-pills-link-active-bg:var(--accent);--bs-nav-pills-link-active-color:var(--on-accent)}
.nav-link{color:var(--ink-2)} .nav-link:hover{color:var(--brand-600)}
.list-group{--bs-list-group-bg:var(--surface);--bs-list-group-color:var(--ink);--bs-list-group-border-color:var(--border);--bs-list-group-action-hover-bg:var(--surface-2)}
.text-muted,.text-secondary{color:var(--muted) !important}
.bg-light{background-color:var(--surface-2) !important}
.bg-white{background-color:var(--surface) !important}
.border,.border-top,.border-bottom{border-color:var(--border) !important}
.progress{background:var(--brand-100);border-radius:999px}
.progress-bar{background:var(--brand-500)}
.pagination{--bs-pagination-color:var(--brand-600);--bs-pagination-bg:var(--surface);--bs-pagination-border-color:var(--border);--bs-pagination-active-bg:var(--accent);--bs-pagination-active-border-color:var(--accent);--bs-pagination-hover-bg:var(--surface-2)}

/* ── Kanban (legado) ── */
.kanban{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.kanban-col{min-width:250px;max-width:280px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px}
.kanban-col h6{font:600 13px/18px var(--font-sans);color:var(--ink);margin-bottom:10px;text-transform:none;letter-spacing:0}
.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin-bottom:8px;font-size:14px;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .15s}
.kanban-card:hover{border-color:var(--brand-100);box-shadow:var(--shadow-md);transform:translateY(-1px)}

/* ── Alertas / flash ── */
.alerts-wrap{position:fixed;top:76px;right:20px;z-index:1080;max-width:360px;width:calc(100vw - 40px);display:flex;flex-direction:column;gap:8px}
.alerts-wrap .alert{display:flex;align-items:center;gap:10px;margin:0;border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-md);font:500 14px/20px var(--font-sans);padding:12px 40px 12px 14px;animation:ix-rise .3s both}
.alert-success{background:var(--success-bg);color:var(--success)}
.alert-warning{background:var(--warning-bg);color:var(--warning)}
.alert-danger{background:var(--danger-bg);color:var(--danger)}
.alert-info{background:var(--brand-50);color:var(--brand-700)}
.alert .btn-close{padding:14px}
[data-theme=dark] .btn-close{filter:invert(1) grayscale(1) brightness(2)}

/* ── Notificações ── */
.notif-item{display:block;padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font:400 14px/1.45 var(--font-sans)}
.notif-item:hover{background:var(--surface-2);color:var(--ink)}
.notif-item.unread{background:var(--brand-50)}
.notif-item small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.ix-toast{position:fixed;bottom:20px;right:20px;z-index:9999;max-width:340px;cursor:pointer;animation:ix-rise .3s both}

/* ── Paleta de busca (Ctrl+K) ── */
.cmdk{position:fixed;inset:0;z-index:2000;display:none;align-items:flex-start;justify-content:center;padding-top:12vh;background:rgba(7,14,36,.45);backdrop-filter:blur(3px)}
.cmdk.open{display:flex}
.cmdk-box{width:min(620px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:ix-rise .2s both}
.cmdk-input{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);color:var(--muted)}
.cmdk-input input{flex:1;border:0;outline:none;background:transparent;font:400 17px/24px var(--font-sans);color:var(--ink)}
.cmdk-list{max-height:52vh;overflow:auto;padding:8px}
.cmdk-group{font:600 11px/16px var(--font-sans);text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);padding:10px 10px 6px}
.cmdk-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;color:var(--ink);text-decoration:none;font:500 14px/20px var(--font-sans)}
.cmdk-item i{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600);font-size:13px}
.cmdk-item.sel,.cmdk-item:hover{background:var(--surface-2);color:var(--ink)}
.cmdk-item .kbd{margin-left:auto}
.cmdk-foot{display:flex;gap:14px;padding:10px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);background:var(--surface-2)}

/* ── Breakpoints ── */
@media(max-width:1199px){.search-trigger{width:220px}}
@media(max-width:991px){:root{--sidebar-w:232px}.content{padding:20px}.topbar{padding:0 20px}.online-dot{display:none}}
@media(max-width:767px){
  :root{--sidebar-w:272px}
  .sidebar{transform:translateX(-100%);box-shadow:var(--shadow-lg)}
  .sidebar.open{transform:translateX(0)}
  .sidebar a[data-tip]::after{display:none}
  .main{margin-left:0 !important}
  .btn-menu{display:inline-grid;place-items:center}
  .content{padding:16px}
  .topbar{padding:0 16px;--topbar-h:58px}
  .topbar h1{font-size:17px}
  .search-trigger{display:none}
  .col-hide-mobile{display:none}
}
@media(min-width:1400px){.content{padding:32px 36px}}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
