/* ── CNVW · Custom CSS ──────────────────────────────────────────────────── */

/* ══ Theme variables ════════════════════════════════════════════════════════ */
:root {
  color-scheme: dark;
  /* Shared neon */
  --neon-cyan  : #00f5ff;
  --neon-purple: #a855f7;
  --neon-green : #00ff88;
  --accent-grad: linear-gradient(135deg,#5b21b6,#0891b2);

  /* Dark theme (default) */
  --bg-page        : #06061a;
  --bg-card        : rgba(255,255,255,.065);
  --bg-card-hover  : rgba(255,255,255,.095);
  --bg-input       : rgba(255,255,255,.085);
  --bg-input-focus : rgba(0,245,255,.08);
  --border         : rgba(255,255,255,.14);
  --border-hover   : rgba(255,255,255,.26);
  --border-input   : rgba(255,255,255,.18);
  --text-primary   : #e2e8f0;
  --text-secondary : rgba(255,255,255,.72);
  --text-muted     : rgba(255,255,255,.52);
  --text-dim       : rgba(255,255,255,.34);
  --sidebar-bg     : #0a0a18;
  --topbar-bg      : #0a0a18;
  --modal-bg       : rgba(13,13,40,.97);
  --table-head     : rgba(255,255,255,.05);
  --row-hover      : rgba(255,255,255,.03);
  --row-border     : rgba(255,255,255,.05);
  --scrollbar-track: transparent;
  --scrollbar-thumb: rgba(99,37,242,.5);
  --nav-hover      : rgba(255,255,255,.07);
  --nav-active     : rgba(91,33,182,.14);
  --nav-active-bdr : rgba(99,37,242,.42);
  --orb-opacity    : 1;
  --grid-line      : rgba(255,255,255,.022);
  --kcard-bg       : rgba(255,255,255,.055);
  --kcard-bdr      : rgba(255,255,255,.10);
  --kcard-bdr-hover: rgba(255,255,255,.2);
  --stat-bg        : rgba(255,255,255,.045);
  --shadow-card    : 0 4px 20px rgba(0,0,0,.3);
  --nav-text       : rgba(255,255,255,.58);
  --nav-text-hover : #e2e8f0;
  --nav-section-clr: rgba(255,255,255,.32);
  --sidebar-w      : 252px;
}

[data-theme="light"] {
  color-scheme: light;
  --neon-cyan  : #0891b2;
  --neon-purple: #7c3aed;
  --neon-green : #16a34a;
  --accent-grad: linear-gradient(135deg,#5b21b6,#0891b2);

  --bg-page        : #e8eef6;
  --bg-card        : rgba(255,255,255,.92);
  --bg-card-hover  : #ffffff;
  --bg-input       : rgba(0,0,0,.06);
  --bg-input-focus : rgba(8,145,178,.09);
  --border         : rgba(0,0,0,.12);
  --border-hover   : rgba(0,0,0,.28);
  --border-input   : rgba(0,0,0,.18);
  --text-primary   : #1e293b;
  --text-secondary : rgba(0,0,0,.74);
  --text-muted     : rgba(0,0,0,.58);
  --text-dim       : rgba(0,0,0,.40);
  --sidebar-bg     : #ffffff;
  --topbar-bg      : #ffffff;
  --modal-bg       : rgba(255,255,255,.98);
  --table-head     : rgba(0,0,0,.04);
  --row-hover      : rgba(0,0,0,.03);
  --row-border     : rgba(0,0,0,.07);
  --scrollbar-track: transparent;
  --scrollbar-thumb: rgba(124,58,237,.3);
  --nav-hover      : rgba(0,0,0,.05);
  --nav-active     : rgba(91,33,182,.08);
  --nav-active-bdr : rgba(99,37,242,.28);
  --orb-opacity    : 0.18;
  --grid-line      : rgba(0,0,0,.04);
  --kcard-bg       : rgba(255,255,255,.95);
  --kcard-bdr      : rgba(0,0,0,.10);
  --kcard-bdr-hover: rgba(0,0,0,.2);
  --stat-bg        : rgba(255,255,255,.95);
  --shadow-card    : 0 2px 12px rgba(0,0,0,.10);
  --nav-text       : rgba(0,0,0,.58);
  --nav-text-hover : #1e293b;
  --nav-section-clr: rgba(0,0,0,.38);
  --sidebar-w      : 252px;
}

/* ══ Reset ═════════════════════════════════════════════════════════════════ */
*          { box-sizing:border-box; }
html,body  { margin:0; padding:0; font-family:'Inter',sans-serif;
             background:var(--bg-page); color:var(--text-primary); transition:background .25s,color .25s; }
body       { overflow-x:hidden; }

/* ══ Scrollbar ═════════════════════════════════════════════════════════════ */
/* Minimalist, floating thumb with the system accent gradient (purple→cyan).
   Track is transparent so the thumb appears to float above the content.   */
::-webkit-scrollbar             { width:3px; height:3px; }
::-webkit-scrollbar-track       { background:transparent; }
::-webkit-scrollbar-thumb       {
  background: linear-gradient(180deg, rgba(99,37,242,.65) 0%, rgba(8,145,178,.6) 100%);
  border-radius:10px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(99,37,242,.9) 0%, rgba(8,145,178,.85) 100%);
}
/* Horizontal scrollbars (kanban, toolbar) — rotate gradient to follow axis */
.kanban-wrap::-webkit-scrollbar-thumb,
.leads-toolbar::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, rgba(99,37,242,.65) 0%, rgba(8,145,178,.6) 100%);
}
.kanban-wrap::-webkit-scrollbar-thumb:hover,
.leads-toolbar::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg, rgba(99,37,242,.9) 0%, rgba(8,145,178,.85) 100%);
}
/* Light theme — same gradient but more transparent */
[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(124,58,237,.32) 0%, rgba(8,145,178,.3) 100%);
}
[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(124,58,237,.58) 0%, rgba(8,145,178,.55) 100%);
}
[data-theme="light"] .kanban-wrap::-webkit-scrollbar-thumb,
[data-theme="light"] .leads-toolbar::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, rgba(124,58,237,.32) 0%, rgba(8,145,178,.3) 100%);
}
[data-theme="light"] .kanban-wrap::-webkit-scrollbar-thumb:hover,
[data-theme="light"] .leads-toolbar::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg, rgba(124,58,237,.58) 0%, rgba(8,145,178,.55) 100%);
}

/* ══ Animated background ══════════════════════════════════════════════════ */
.bg-scene {
  position:fixed; inset:0; z-index:0; overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(99,37,242,.18) 0%,transparent 70%),
             radial-gradient(ellipse 60% 40% at 80% 80%, rgba(0,245,255,.10) 0%,transparent 60%),
             var(--bg-page);
  transition:background .25s;
  /* Isolate background scene from main document layout recalculations */
  contain: layout paint style;
}
[data-theme="light"] .bg-scene {
  background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(99,37,242,.06) 0%,transparent 70%),
             var(--bg-page);
}
.orb {
  position:absolute; border-radius:50%;
  animation:floatOrb 15s ease-in-out infinite alternate;
  opacity:var(--orb-opacity);
}
.orb-1 { width:500px;height:500px;left:-150px;top:-100px;background:radial-gradient(circle, rgba(99,37,242,.25) 0%, transparent 70%);animation-delay:0s; }
.orb-2 { width:400px;height:400px;right:-100px;bottom:0;background:radial-gradient(circle, rgba(0,245,255,.15) 0%, transparent 70%);animation-delay:-5s; }
@keyframes floatOrb {
  from { transform:translate(0,0) scale(1); }
  to   { transform:translate(30px,30px) scale(1.08); }
}
.bg-grid {
  position:absolute; inset:0;
  background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:50px 50px;
}

/* ══ Glass card ════════════════════════════════════════════════════════════ */
.glass {
  background:var(--bg-card);
  border:1px solid var(--border);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-radius:16px;
  box-shadow:var(--shadow-card);
}

/* ══ Neon helpers ══════════════════════════════════════════════════════════ */
.neon-cyan   { color:var(--neon-cyan);   }
.neon-purple { color:var(--neon-purple); }
.neon-green  { color:var(--neon-green);  }
.neon-glow-cyan   { text-shadow:0 0 10px var(--neon-cyan),  0 0 30px rgba(0,245,255,.35); }
.neon-glow-purple { text-shadow:0 0 10px var(--neon-purple),0 0 30px rgba(168,85,247,.35); }

/* ══ Inputs ════════════════════════════════════════════════════════════════ */
.input-cyber {
  width:100%; padding:11px 15px; border-radius:10px;
  background:var(--bg-input);
  border:1px solid var(--border-input);
  color:var(--text-primary); font-size:14px;
  transition:border-color .22s, background .22s, box-shadow .22s; outline:none; font-family:inherit;
}
.input-cyber::placeholder { color:var(--text-muted); }
.input-cyber:focus {
  border-color:var(--neon-cyan);
  background:var(--bg-input-focus);
  box-shadow:0 0 0 3px rgba(8,145,178,.15),0 0 18px rgba(0,245,255,.07);
}
select.input-cyber { appearance:auto; }

/* Make native select dropdowns readable on both themes (Edge/Chrome). */
select.input-cyber { color:var(--text-primary); }
select.input-cyber option {
  background-color: var(--bg-page);
  color: var(--text-primary);
}

/* ══ Buttons ═══════════════════════════════════════════════════════════════ */
.btn-cyber {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:9px 18px; border-radius:8px; font-size:13.5px; font-weight:600;
  cursor:pointer; border:none; line-height:1.2; white-space:nowrap;
  transition:background .15s, border-color .15s, color .15s, opacity .15s;
  font-family:inherit; text-decoration:none;
}
.btn-cyber:disabled,
.btn-cyber.is-inactive { opacity:.5; cursor:not-allowed; pointer-events:none; }

.btn-primary {
  background:var(--accent-grad);
  color:#fff;
}
.btn-primary:hover:not(:disabled):not(.is-inactive) {
  background:linear-gradient(135deg,#6d28d9,#0ea5e9);
}
/* Largura total só em formulários explícitos */
.btn-primary.btn-block,
.form-actions .btn-primary,
.login-left .btn-primary { width:100%; }
.btn-cyber.btn-primary:not(.btn-block) { width:auto; }

.btn-secondary {
  background:var(--bg-card);
  border:1px solid var(--border);
  color:var(--text-secondary);
}
.btn-secondary:hover:not(:disabled):not(.is-inactive) {
  background:var(--bg-card-hover);
  border-color:var(--border-hover);
  color:var(--text-primary);
}

.btn-ghost {
  background:transparent;
  border:1px solid transparent;
  color:var(--text-muted);
}
.btn-ghost:hover:not(:disabled):not(.is-inactive) {
  background:var(--nav-hover);
  color:var(--text-primary);
}

.btn-danger {
  background:rgba(239,68,68,.12);
  border:1px solid rgba(239,68,68,.28);
  color:#f87171;
}
.btn-danger:hover:not(:disabled):not(.is-inactive) { background:rgba(239,68,68,.22); }

.btn-success {
  background:rgba(34,197,94,.12);
  border:1px solid rgba(34,197,94,.28);
  color:#4ade80;
}
.btn-success:hover:not(:disabled):not(.is-inactive) { background:rgba(34,197,94,.22); }

.btn-sm  { padding:6px 12px; font-size:12.5px; border-radius:7px; gap:5px; }
.btn-xs  { padding:4px 9px;  font-size:11.5px; border-radius:6px; gap:4px; }
.btn-lg  { padding:11px 22px; font-size:14px; border-radius:9px; }
.btn-icon { padding:0; width:34px; height:34px; border-radius:8px; flex-shrink:0; }

.btn-group {
  display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap;
}

/* Abas / toggles — padrão único em todo o sistema */
.cnvw-tabs,
.admin-tabs,
.page-tabs,
.tab-bar,
.btn-segment-group {
  display:inline-flex; align-items:center; gap:2px;
  background:var(--bg-input); border:1px solid var(--border);
  padding:3px; border-radius:8px; flex-wrap:wrap;
}
.cnvw-tabs .btn-cyber,
.admin-tabs .btn-cyber,
.page-tabs .btn-cyber,
.tab-bar .btn-cyber,
.btn-segment-group .btn-cyber {
  width:auto !important; flex:0 0 auto; white-space:nowrap; border-radius:6px;
}
.tab-bar { width:100%; }
.tab-bar .btn-cyber { flex:1; min-width:0; justify-content:center; }
.cnvw-tabs .btn-primary,
.admin-tabs .btn-primary,
.page-tabs .btn-primary,
.tab-bar .btn-primary,
.btn-segment-group .btn-primary { box-shadow:none; }
.cnvw-tabs .btn-secondary,
.admin-tabs .btn-secondary,
.page-tabs .btn-secondary,
.tab-bar .btn-secondary,
.btn-segment-group .btn-secondary {
  border-color:transparent; background:transparent; color:var(--text-muted);
}
.cnvw-tabs .btn-secondary:hover:not(:disabled),
.admin-tabs .btn-secondary:hover:not(:disabled),
.page-tabs .btn-secondary:hover:not(:disabled),
.tab-bar .btn-secondary:hover:not(:disabled),
.btn-segment-group .btn-secondary:hover:not(:disabled) {
  background:var(--nav-hover); color:var(--text-primary);
}

.page-tabs { margin-bottom:20px; }

/* Toolbar de página */
.page-toolbar,
.leads-toolbar,
.sales-toolbar {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-bottom:20px; padding:12px 14px;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:10px;
}
.page-toolbar .btn-primary,
.leads-toolbar .btn-primary,
.sales-toolbar .btn-primary { width:auto !important; }
.leads-toolbar { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px;
  scrollbar-width:thin; scrollbar-color:var(--scrollbar-thumb) transparent; }
.toolbar-spacer { flex:1; min-width:12px; }
.toolbar-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; flex-wrap:wrap; }

/* Filtros */
.filter-bar {
  display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap;
  margin-bottom:20px;
}
.filter-bar.glass,
.filter-panel { padding:14px 16px; border-radius:10px; margin-bottom:20px; }
.filter-field { display:flex; flex-direction:column; gap:5px; }
.field-label,
.filter-field-label {
  font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--text-muted);
}
.filter-panel-title {
  font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--text-muted);
}
.filter-panel-desc  { font-size:12px; color:var(--text-dim); margin-top:2px; }

/* Inputs padronizados */
.input-cyber.input-sm   { padding:7px 12px; font-size:13px; border-radius:7px; }
.input-cyber.input-narrow { max-width:160px; }
.input-cyber.input-date   { max-width:148px; }
.input-wrap {
  position:relative; display:flex; align-items:center;
}
.input-wrap .input-icon {
  position:absolute; left:11px; top:50%; transform:translateY(-50%);
  color:var(--text-dim); pointer-events:none; display:flex;
}
.input-wrap .input-cyber { padding-left:36px; }

/* Cards e painéis */
.card-panel {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:10px; padding:16px; margin-bottom:16px;
}
.card-panel-title {
  font-size:11px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--text-muted);
  margin-bottom:12px; display:flex; align-items:center; gap:6px;
}

/* Modal */
.modal-header { margin-bottom:16px; padding-right:36px; }
.modal-title  { font-size:17px; font-weight:700; color:var(--text-primary); margin:0 0 4px; }
.modal-subtitle { font-size:13px; color:var(--text-muted); margin:0; }
.modal-body   { margin-bottom:4px; }
.modal-footer {
  display:flex; justify-content:flex-end; align-items:center; gap:8px;
  margin-top:20px; padding-top:16px; border-top:1px solid var(--border);
  flex-wrap:wrap;
}
.modal-footer .btn-cyber { width:auto !important; }

/* Formulários */
.form-grid { display:grid; gap:12px; }
.form-grid-2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
.form-grid-3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:640px) {
  .form-grid-2, .form-grid-3 { grid-template-columns:1fr; }
}
.form-actions {
  display:flex; justify-content:flex-end; gap:8px; margin-top:20px; flex-wrap:wrap;
}
.form-actions .btn-cyber { width:auto !important; }

/* Estados vazios / loading */
.loading-center {
  display:flex; align-items:center; justify-content:center;
  min-height:200px; padding:24px;
}
.spinner-lg { width:36px; height:36px; border-width:3px; }
.empty-state {
  text-align:center; padding:40px 24px; color:var(--text-muted);
}
.empty-state-title { font-size:15px; font-weight:600; color:var(--text-secondary); margin-bottom:6px; }
.empty-state-desc  { font-size:13px; color:var(--text-dim); }

/* Paginação */
.pagination-bar {
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:16px; flex-wrap:wrap;
}
.pagination-info { font-size:12px; color:var(--text-muted); padding:0 8px; }

/* Alertas inline */
.alert {
  padding:10px 14px; border-radius:8px; font-size:13px;
  border:1px solid var(--border); margin-bottom:12px;
}
.alert-error   { background:rgba(239,68,68,.1);  border-color:rgba(239,68,68,.28); color:#f87171; }
.alert-success { background:rgba(34,197,94,.1);  border-color:rgba(34,197,94,.28); color:#4ade80; }
.alert-info    { background:rgba(59,130,246,.1); border-color:rgba(59,130,246,.28); color:#60a5fa; }

/* Users page: keep tabs fixed */
.admin-tabs {
  position:sticky; top:74px; z-index:35;
  max-width:100%; overflow-x:visible;
  scrollbar-width:thin; scrollbar-color:var(--scrollbar-thumb) transparent;
}

.sales-toolbar {
  align-items:flex-end;
  justify-content:space-between;
  position:sticky;
  top:74px;
  z-index:35;
}
.sales-toolbar-actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.sales-filters {
  padding:12px 16px;
  margin-top:14px;
  margin-bottom:6px;
}
.sales-filters-row {
  display:flex;
  gap:12px;
  align-items:flex-end;
  flex-wrap:wrap;
}
.sales-filters-actions {
  display:flex;
  gap:8px;
  align-items:center;
}
@media (max-width: 720px) {
  .sales-filters { padding:12px; }
  .sales-filters-row { gap:10px; }
}

.sales-kpis {
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  margin-bottom:16px;
}

.sales-ops-grid {
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
}
.sales-op-card {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;
}
.sales-op-card:hover {
  transform:translateY(-3px);
  border-color:var(--border-hover);
  background:var(--bg-card-hover);
}

/* ══ Theme toggle button ═══════════════════════════════════════════════════ */
.btn-theme {
  width:36px; height:36px; border-radius:10px; border:1px solid var(--border);
  background:var(--bg-card); color:var(--text-secondary);
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .22s, border-color .22s, color .22s, box-shadow .22s; flex-shrink:0;
}
.btn-theme:hover {
  border-color:var(--neon-cyan); color:var(--neon-cyan);
  background:var(--bg-card-hover);
  box-shadow:0 0 14px rgba(0,245,255,.18);
}
.btn-theme[data-active="dark"]:hover {
  border-color:#f59e0b; color:#f59e0b;
  box-shadow:0 0 14px rgba(245,158,11,.2);
}
/* Nav clock: hide on very small screens to avoid topbar overflow */
@media (max-width: 520px) {
  .nav-clock-block { display:none !important; }
}

/* ══ Sidebar (toggle na topbar — oculta por completo) ═════════════════════ */
.sidebar {
  width:var(--sidebar-w); min-height:100vh; flex-shrink:0;
  background:var(--sidebar-bg);
  border-right:1px solid var(--border);
  display:flex; flex-direction:column;
  position:fixed; top:0; left:0; z-index:50;
  height:100vh; overflow:hidden;
  contain:layout style;
  transform:translate3d(0,0,0);
  visibility:visible;
  pointer-events:auto;
  transition:transform .28s cubic-bezier(.4,0,.2,1), visibility 0s;
}
.sidebar.collapsed {
  transform:translate3d(-100%,0,0);
  visibility:hidden;
  pointer-events:none;
  transition:transform .28s cubic-bezier(.4,0,.2,1), visibility 0s linear .28s;
}

.sidebar-logo {
  padding:20px 16px 18px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.sidebar-brand {
  display:flex; align-items:center; gap:11px; min-width:0;
}
.sidebar-brand-mark {
  width:38px; height:38px; border-radius:10px; flex-shrink:0;
  background:var(--accent-grad);
  display:flex; align-items:center; justify-content:center;
}
.sidebar-brand-text { min-width:0; overflow:hidden; }
.sidebar-brand-name {
  display:block; font-size:15px; font-weight:800; color:var(--text-primary);
  letter-spacing:-.03em; line-height:1.15;
}
.sidebar-brand-tag {
  display:block; font-size:10px; color:var(--text-dim); margin-top:2px;
}

.sidebar-nav {
  padding:12px 10px; flex:1; overflow-y:auto; overflow-x:hidden;
  scrollbar-width:thin; scrollbar-color:var(--scrollbar-thumb) transparent;
  content-visibility:auto;
  contain-intrinsic-size:auto 480px;
}
.nav-group { margin-bottom:6px; }
.nav-section {
  font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  color:var(--nav-section-clr); padding:14px 12px 6px;
}
.nav-item {
  display:flex; align-items:center; gap:10px;
  padding:9px 12px; border-radius:8px;
  color:var(--nav-text); font-size:13.5px; font-weight:500;
  cursor:pointer; text-decoration:none; margin-bottom:2px;
  border:1px solid transparent;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.nav-item:hover { background:var(--nav-hover); color:var(--nav-text-hover); }
.nav-item.active {
  background:var(--nav-active); color:var(--text-primary);
  border-color:var(--nav-active-bdr);
}
.nav-item svg { width:18px; height:18px; flex-shrink:0; opacity:.75; transition:opacity .18s; }
.nav-item:hover svg, .nav-item.active svg { opacity:1; }
.nav-label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; }

/* Rodapé — usuário + logout (como referência) */
.sidebar-user {
  padding:12px 10px 14px;
  border-top:1px solid var(--border);
  display:flex; align-items:center; gap:6px;
  flex-shrink:0;
}
.sidebar-user-main {
  display:flex; align-items:center; gap:10px; flex:1; min-width:0;
  text-decoration:none; color:inherit;
  padding:6px 8px; border-radius:8px;
  transition:background .15s;
}
.sidebar-user-main:hover { background:var(--nav-hover); }
.sidebar-user-avatar {
  width:36px; height:36px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; color:#fff;
  background:var(--accent-grad);
}
.sidebar-user-info { overflow:hidden; flex:1; min-width:0; }
.sidebar-user-name {
  font-size:13px; font-weight:600; color:var(--text-primary);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.sidebar-user-role {
  font-size:10px; color:var(--text-muted); text-transform:capitalize; margin-top:1px;
}
.sidebar-logout-btn {
  width:34px; height:34px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  border-radius:8px; border:1px solid var(--border);
  background:transparent; color:var(--text-muted);
  cursor:pointer; transition:background .15s, color .15s, border-color .15s;
}
.sidebar-logout-btn:hover {
  background:rgba(239,68,68,.1); border-color:rgba(239,68,68,.28); color:#f87171;
}
.sidebar-logout-btn svg { width:17px; height:17px; }

/* ══ Main layout + topbar ═════════════════════════════════════════════════ */
.main-wrap {
  margin-left:var(--sidebar-w);
  width:calc(100% - var(--sidebar-w));
  min-height:100vh;
  display:flex; flex-direction:column; flex:1; min-width:0;
  transition:margin-left .28s cubic-bezier(.4,0,.2,1), width .28s cubic-bezier(.4,0,.2,1);
}
.main-wrap.sidebar-collapsed {
  margin-left:0;
  width:100%;
}

.page-content { flex:1; padding:24px 28px; min-width:0; }

.topbar {
  height:56px; display:flex; align-items:center; justify-content:space-between;
  padding:0 24px 0 20px;
  background:var(--topbar-bg);
  border-bottom:1px solid var(--border);
  position:sticky; top:0; z-index:40;
  gap:16px;
}

.topbar-left {
  display:flex; align-items:center; gap:14px; min-width:0; flex:1;
}

/* Toggle na topbar (desktop + mobile) */
.sidebar-toggle-btn {
  width:36px; height:36px; padding:0; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:8px; border:1px solid var(--border);
  background:transparent; color:var(--text-secondary);
  cursor:pointer;
  transition:background .15s, border-color .15s, color .15s;
}
.sidebar-toggle-btn:hover {
  background:var(--nav-hover); color:var(--text-primary); border-color:var(--border-hover);
}
.sidebar-toggle-btn svg { width:18px; height:18px; }

.topbar-breadcrumb {
  display:flex; align-items:center; gap:8px; min-width:0;
  font-size:13px; color:var(--text-muted);
}
.topbar-crumb-home {
  display:flex; align-items:center; color:var(--text-dim);
  transition:color .15s; flex-shrink:0;
}
.topbar-crumb-home:hover { color:var(--neon-purple); }
.topbar-crumb-home svg { width:15px; height:15px; }
.topbar-crumb-sep { color:var(--text-dim); flex-shrink:0; user-select:none; }
.topbar-crumb-current {
  font-weight:600; color:var(--text-primary);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.topbar-right {
  display:flex; align-items:center; gap:8px; flex-shrink:0;
}
.topbar-divider {
  width:1px; height:24px; background:var(--border); flex-shrink:0;
}
.nav-clock-block {
  display:flex; flex-direction:column; align-items:flex-end; line-height:1.2;
}
.nav-clock-time {
  font-size:13px; font-weight:600; color:var(--text-primary);
  font-variant-numeric:tabular-nums;
}
.nav-clock-date {
  font-size:10px; color:var(--text-dim); text-transform:capitalize;
}
.topbar-user-block {
  display:flex; flex-direction:column; align-items:flex-end; line-height:1.25;
}
.topbar-user-name { font-size:12px; font-weight:600; color:var(--text-secondary); white-space:nowrap; }
.topbar-user-meta { font-size:10px; color:var(--text-dim); text-transform:capitalize; }
.topbar-avatar {
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; color:#fff;
  text-decoration:none; background:var(--accent-grad);
  border:1px solid var(--border);
}

@media (max-width:1280px) {
  :root, [data-theme="light"] {
    --sidebar-w: 232px;
  }
  .page-content { padding:20px 22px; }
  .topbar { padding:0 20px 0 16px; }
}

@media (max-width:768px) {
  .sidebar {
    transform:translate3d(-100%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .28s cubic-bezier(.4,0,.2,1), visibility 0s linear .28s;
    z-index:60;
  }
  .sidebar.open {
    transform:translate3d(0,0,0);
    visibility:visible;
    pointer-events:auto;
    transition:transform .28s cubic-bezier(.4,0,.2,1), visibility 0s;
  }
  .main-wrap,
  .main-wrap.sidebar-collapsed { margin-left:0; width:100%; }
  .page-content { padding:16px 14px; }
  .topbar { padding:0 14px 0 12px; height:52px; }
  .topbar-user-block { display:none; }
  .topbar-breadcrumb { font-size:12px; }
}

/* ══ Stat cards ════════════════════════════════════════════════════════════ */
.stat-card {
  padding:20px 22px; border-radius:14px;
  background:var(--stat-bg); border:1px solid var(--border);
  box-shadow:var(--shadow-card);
  position:relative; overflow:hidden;
  transition:transform .2s,box-shadow .2s,background .25s;
  will-change:transform;
  contain:layout;
}
.stat-card:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,.22); }
.stat-card .accent-line { position:absolute; top:0; left:0; right:0; height:3px; }

/* ══ Badge / pill ══════════════════════════════════════════════════════════ */
.badge {
  display:inline-flex; align-items:center; padding:3px 10px;
  border-radius:20px; font-size:10.5px; font-weight:600; letter-spacing:.03em;
  text-transform:uppercase; gap:5px;
}
.badge-novo         { background:rgba(148,163,184,.15); color:#64748b;  border:1px solid rgba(148,163,184,.25); }
.badge-tentando     { background:rgba(234,179,8,.14);   color:#b45309;  border:1px solid rgba(234,179,8,.28); }
.badge-tratativa    { background:rgba(59,130,246,.14);  color:#1d4ed8;  border:1px solid rgba(59,130,246,.28); }
.badge-aguardando   { background:rgba(249,115,22,.14);  color:#c2410c;  border:1px solid rgba(249,115,22,.28); }
.badge-vendido      { background:rgba(34,197,94,.14);   color:#15803d;  border:1px solid rgba(34,197,94,.28); }
.badge-perdido      { background:rgba(239,68,68,.14);   color:#b91c1c;  border:1px solid rgba(239,68,68,.28); }
.badge-remalho      { background:rgba(168,85,247,.14);  color:#7c3aed;  border:1px solid rgba(168,85,247,.28); }
.badge-oportunidade { background:rgba(6,182,212,.14);   color:#0e7490;  border:1px solid rgba(6,182,212,.28); }

/* dark: restore bright badge text */
[data-theme="dark"] .badge-novo       { color:#94a3b8; }
[data-theme="dark"] .badge-tentando   { color:#eab308; }
[data-theme="dark"] .badge-tratativa  { color:#60a5fa; }
[data-theme="dark"] .badge-aguardando { color:#fb923c; }
[data-theme="dark"] .badge-vendido    { color:#4ade80; }
[data-theme="dark"] .badge-perdido    { color:#f87171; }
[data-theme="dark"] .badge-remalho    { color:#c084fc; }
[data-theme="dark"] .badge-oportunidade{ color:#22d3ee; }

/* ══ SLA badges ════════════════════════════════════════════════════════════ */
.sla-badge {
  display:inline-flex; align-items:center; padding:2px 8px;
  border-radius:20px; font-size:10px; font-weight:700; letter-spacing:.04em;
}
.sla-expired  { background:rgba(239,68,68,.18); color:#dc2626; border:1px solid rgba(239,68,68,.38); animation:pulse-red 1.5s infinite; will-change:opacity; }
.sla-critical { background:rgba(249,115,22,.15); color:#c2410c; border:1px solid rgba(249,115,22,.32); }
.sla-warning  { background:rgba(234,179,8,.14);  color:#b45309; border:1px solid rgba(234,179,8,.28); }
.sla-ok       { background:rgba(34,197,94,.12);  color:#15803d; border:1px solid rgba(34,197,94,.25); }
.sla-none     { color:var(--text-dim); font-size:10px; }
[data-theme="dark"] .sla-expired  { color:#f87171; }
[data-theme="dark"] .sla-critical { color:#fb923c; }
[data-theme="dark"] .sla-warning  { color:#eab308; }
[data-theme="dark"] .sla-ok       { color:#4ade80; }
@keyframes pulse-red { 0%,100%{opacity:1} 50%{opacity:.5} }

/* ══ Table ═════════════════════════════════════════════════════════════════ */
.table-wrap { overflow-x:auto; border-radius:14px; border:1px solid var(--border); box-shadow:var(--shadow-card); contain:layout; }
table { width:100%; border-collapse:collapse; }
thead tr { background:var(--table-head); border-bottom:1px solid var(--border); }
th { padding:12px 16px; font-size:11px; font-weight:700; letter-spacing:.07em;
     text-transform:uppercase; color:var(--text-muted); text-align:left; white-space:nowrap; }
td { padding:12px 16px; font-size:13.5px;
     border-bottom:1px solid var(--row-border); vertical-align:middle;
     color:var(--text-secondary); }
td:first-child { color:var(--text-primary); }
tbody tr:last-child td { border-bottom:none; }
tbody tr:hover td { background:var(--row-hover); }

/* ══ Kanban ════════════════════════════════════════════════════════════════ */
.kanban-wrap  { width:100%; max-width:100%; overflow-x:auto; padding-bottom:16px;
                scrollbar-width:thin; scrollbar-color:var(--scrollbar-thumb) transparent; }
.kanban-board { display:flex; gap:12px; align-items:flex-start;
                width:max-content; min-width:100%; padding-right:26px; }
.kanban-board::after { content:''; flex:0 0 56px; }

/* Mesas: keep kanban fully visible inside viewport */
.mesas-kanban { padding-left:12px; padding-right:18px; }
.mesas-kanban .kanban-board { padding-right:40px; }
.mesas-kanban .kanban-board::after { flex-basis:140px; }
.kanban-wrap {
  --kanban-col-height: clamp(420px, 62vh, 740px);
}

/* ══ Kanban scroll hints — DOM elements injected by layout.js ═════════─ */
.kanban-hint-wrap {
  position: relative;
}
/* Edge scrims */
.kanban-scrim {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 64px;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity .3s ease;
}
.kanban-scrim.visible { opacity: 1; }
.kanban-scrim-l {
  left: 0;
  background: linear-gradient(to right, var(--bg-page) 0%, transparent 100%);
}
.kanban-scrim-r {
  right: 0;
  background: linear-gradient(to left, var(--bg-page) 0%, transparent 100%);
}
/* Chevrons */
.kanban-hint {
  position: absolute;
  top: 50%;
  width: 24px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transition: opacity .28s ease;
  color: rgba(255,255,255,.48);
  animation: kanbanHintNudge 2s ease-in-out infinite;
}
.kanban-hint.visible { opacity: 1; }
.kanban-hint svg { width: 10px; height: 18px; display: block; }
.kanban-hint-l { left: 4px;  --kh-nudge: -3px; }
.kanban-hint-r { right: 4px; --kh-nudge:  3px; }
[data-theme="light"] .kanban-hint { color: rgba(0,0,0,.28); }
@keyframes kanbanHintNudge {
  0%, 100% { transform: translateY(-50%) translateX(0); }
  50%       { transform: translateY(-50%) translateX(var(--kh-nudge)); }
}
.kanban-col   { min-width:200px; flex:1; flex-shrink:0; display:flex; flex-direction:column; }
.kanban-header { padding:10px 14px; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.kanban-body  {
  flex: none !important;           /* prevent flex:1 inline from expanding freely */
  display: flex; flex-direction: column; gap: 6px; padding: 8px;
  height:     var(--kanban-col-height) !important;
  min-height: var(--kanban-col-height) !important;
  max-height: var(--kanban-col-height) !important;
  overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable;
  transition: background .15s, border-color .15s;
}
.kanban-card  {
  padding:11px 13px; border-radius:10px;
  background:var(--kcard-bg); border:1px solid var(--kcard-bdr);
  transition:transform .15s,box-shadow .15s,opacity .15s;
  will-change:transform;
  contain:layout;
}
.kanban-card[draggable="true"]        { cursor:grab; }
.kanban-card[draggable="true"]:active { cursor:grabbing; }
.kanban-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.18);
                     border-color:var(--kcard-bdr-hover); }
.kanban-card[draggable="false"] { cursor:pointer; }

/* ══ Mesas (supervisor/admin): compact Kanban cards ═══════════════════════ */
.mesas-kanban .kanban-board { gap:10px; }
.mesas-kanban .kanban-col   { min-width:180px; }
.mesas-kanban .kanban-header { padding:8px 12px; }
.mesas-kanban .kanban-body  { padding:6px; gap:6px; }
.mesas-kanban .kanban-card  { padding:9px 10px; border-radius:9px; }
.mesas-kanban .kanban-card [style*="font-size:13px"] { font-size:12px !important; }
.mesas-kanban .kanban-card [style*="margin-bottom:7px"] { margin-bottom:5px !important; }

@media (max-width: 900px) {
  .kanban-wrap { --kanban-col-height: 60vh; }
  .kanban-board { gap:10px; }
  .kanban-col { min-width:180px; }
  .kanban-body { padding:6px; }
}

/* ══ Modal ═════════════════════════════════════════════════════════════════ */
.modal-overlay {
  position:fixed; inset:0; z-index:200;
  background:rgba(0,0,0,.55); backdrop-filter:blur(5px);
  display:flex; align-items:center; justify-content:center; padding:16px;
  transition: background .2s;
}
.modal-box {
  width:100%; max-width:520px; padding:24px; border-radius:12px;
  background:var(--modal-bg); border:1px solid var(--border);
  color:var(--text-primary); position:relative;
  max-height:90vh; overflow-y:auto;
}
.modal-box.modal-wide { max-width:720px; }
.modal-box.modal-xl   { max-width:880px; }
/* Bottom-sheet pattern on mobile — better thumb reach, more content area */
@media (max-width: 640px) {
  .modal-overlay {
    align-items: flex-end;
    padding: 0;
  }
  .modal-box {
    border-radius: 22px 22px 0 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
    padding: 22px 16px 32px !important;
  }
  /* Bottom safe area for notched phones */
  .modal-box { padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)) !important; }
  /* Drag handle hint */
  .modal-box::before {
    content: '';
    display: block;
    width: 40px; height: 4px;
    border-radius: 2px;
    background: var(--border);
    margin: 0 auto 18px;
  }
}
.modal-close-btn {
  position:absolute; top:14px; right:14px; z-index:1;
  width:30px; height:30px; border-radius:8px;
  background:rgba(255,255,255,.06); border:1px solid var(--border);
  color:var(--text-muted); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s, color .15s, border-color .15s;
}
.modal-close-btn:hover { background:rgba(239,68,68,.15); border-color:rgba(239,68,68,.3); color:#ef4444; }
.modal-close-btn svg { width:14px; height:14px; }

/* ══ Toast ═════════════════════════════════════════════════════════════════ */
#toast-container { position:fixed; bottom:24px; right:24px; z-index:999;
                   display:flex; flex-direction:column; gap:10px; }
.toast {
  padding:12px 20px; border-radius:10px; font-size:14px; font-weight:500;
  display:flex; align-items:center; gap:10px; min-width:280px;
  animation:slideInRight .3s ease; backdrop-filter:blur(12px);
}
.toast-success { background:rgba(34,197,94,.18);  border:1px solid rgba(34,197,94,.4);  color:#15803d; }
.toast-error   { background:rgba(239,68,68,.18);  border:1px solid rgba(239,68,68,.4);  color:#b91c1c; }
.toast-info    { background:rgba(59,130,246,.18); border:1px solid rgba(59,130,246,.4); color:#1d4ed8; }
[data-theme="dark"] .toast-success { color:#4ade80; }
[data-theme="dark"] .toast-error   { color:#f87171; }
[data-theme="dark"] .toast-info    { color:#60a5fa; }
@keyframes slideInRight { from{transform:translateX(120%);opacity:0} to{transform:translateX(0);opacity:1} }

/* ══ Sale celebration alert ═══════════════════════════════════════════════ */
#sale-celebration-layer {
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1100;
}

.sale-celebration-card {
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:min(94vw, 760px);
  padding:26px 30px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(6,182,212,.24),rgba(168,85,247,.26));
  border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 60px rgba(0,0,0,.42);
  color:var(--text-primary);
  animation:saleCelebrateIn .32s ease;
  overflow:hidden;
  text-align:center;
}

.sale-celebration-card.hide {
  opacity:0;
  transform:translate(-50%, -56%);
  transition:opacity .35s ease, transform .35s ease;
}

.sale-celebration-title {
  font-size:18px;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.sale-celebration-body {
  font-size:24px;
  font-weight:700;
  line-height:1.25;
}

.sale-confetti-piece {
  position:absolute;
  top:-14px;
  width:7px;
  height:12px;
  border-radius:2px;
  background:var(--neon-cyan);
  animation:saleConfettiFall linear forwards;
}

.sale-confetti-piece:nth-child(4n + 2) { background:var(--neon-purple); }
.sale-confetti-piece:nth-child(4n + 3) { background:var(--neon-green); }
.sale-confetti-piece:nth-child(4n + 4) { background:var(--text-primary); }

.sale-firework-spark {
  position:fixed;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--neon-cyan);
  box-shadow:0 0 10px var(--neon-cyan);
  animation:saleFirework 1s ease-out forwards;
}

.sale-firework-spark:nth-child(3n + 2) {
  background:var(--neon-purple);
  box-shadow:0 0 10px var(--neon-purple);
}

.sale-firework-spark:nth-child(3n + 3) {
  background:var(--neon-green);
  box-shadow:0 0 10px var(--neon-green);
}

@keyframes saleCelebrateIn {
  from { opacity:0; transform:translate(-50%, -52%) scale(.95); }
  to   { opacity:1; transform:translate(-50%, -50%) scale(1); }
}

@keyframes saleConfettiFall {
  from { transform:translateY(-14px) rotate(0deg); opacity:1; }
  to   { transform:translateY(220px) rotate(var(--rot)); opacity:0; }
}

@keyframes saleFirework {
  from { transform:translate(0,0) scale(1); opacity:1; }
  to   { transform:translate(var(--dx),var(--dy)) scale(.2); opacity:0; }
}

/* ══ Spinner ════════════════════════════════════════════════════════════════ */
.spinner { width:20px;height:20px;border:2px solid var(--border);
           border-top-color:var(--neon-cyan);border-radius:50%;animation:spin .7s linear infinite; }
@keyframes spin { to{transform:rotate(360deg)} }

/* ══ Login shake ════════════════════════════════════════════════════════════ */
@keyframes shake {
  0%,100%{transform:translateX(0)} 20%{transform:translateX(-8px)}
  40%{transform:translateX(8px)}   60%{transform:translateX(-6px)} 80%{transform:translateX(6px)}
}
.shake { animation:shake .4s ease; }

/* ══ Misc helpers ════════════════════════════════════════════════════════════ */
.text-primary   { color:var(--text-primary) !important; }
.text-secondary { color:var(--text-secondary) !important; }
.text-muted     { color:var(--text-muted) !important; }
.hidden         { display:none !important; }

/* Inline SVG icon helper (replaces emoji/image-like icons) */
.ui-ico { display:inline-flex; align-items:center; justify-content:center; vertical-align:-2px; }
.ui-ico svg { display:block; }


/* ══ Light mode: combat hardcoded inline colors ══════════════════════════════
   Many template-rendered cells have style="color:rgba(255,255,255,...)" which
   would be invisible on a light background. These rules override them. */
[data-theme="light"] td,
[data-theme="light"] tbody tr td {
  color:var(--text-secondary) !important;
}
[data-theme="light"] td:first-child,
[data-theme="light"] td [style*="font-weight:600"],
[data-theme="light"] td b,
[data-theme="light"] td strong {
  color:var(--text-primary) !important;
}
[data-theme="light"] .kanban-card * {
  color:var(--text-secondary) !important;
}
[data-theme="light"] .kanban-card [style*="font-weight:600"],
[data-theme="light"] .kanban-card [style*="font-weight:700"] {
  color:var(--text-primary) !important;
}
[data-theme="light"] .kanban-card [style*="color:#a78bfa"],
[data-theme="light"] td [style*="color:#a78bfa"] {
  color:#7c3aed !important;
}
[data-theme="light"] .kanban-card [style*="color:#4ade80"],
[data-theme="light"] td [style*="color:#4ade80"] {
  color:#15803d !important;
}
[data-theme="light"] .modal-box,
[data-theme="light"] .modal-box * {
  color:var(--text-secondary);
}
[data-theme="light"] .modal-box h1,
[data-theme="light"] .modal-box h2,
[data-theme="light"] .modal-box [style*="color:#fff"],
[data-theme="light"] .modal-box [style*="color:#e2e8f0"] {
  color:var(--text-primary) !important;
}
[data-theme="light"] .glass { background:var(--bg-card); }
[data-theme="light"] .stat-card .accent-line ~ * { color:var(--text-secondary); }
/* keep badge/SLA colors in light mode */
[data-theme="light"] .badge,
[data-theme="light"] .sla-badge { color:inherit !important; }

/* ══ Focus visible (keyboard navigation) ════════════════════════════════════ */
:focus-visible {
  outline: 2px solid var(--neon-cyan);
  outline-offset: 2px;
  border-radius: 4px;
}
:focus:not(:focus-visible) { outline: none; }

/* ══ Nav item — button reset ════════════════════════════════════════════════ */
button.nav-item {
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font-family: inherit;
}

/* ══ Mobile sidebar overlay ═════════════════════════════════════════════════ */
.sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 49;
  background: rgba(0,0,0,.55);
  cursor: pointer;
  opacity: 0;
  transition: opacity .25s ease;
}
.sidebar-overlay.active {
  display: block;
  opacity: 1;
}

/* ══ Reduced-motion / potato-machine mode ═══════════════════════════════════
   Activated automatically when the OS has "Reduce animations" enabled
   (Windows: Configurações > Acessibilidade > Efeitos Visuais > desativar).
   Removes the most GPU-intensive effects: backdrop-filter blurs, animated
   orbs and filter:blur — the biggest frame-rate killers on low-end hardware. */
@media (prefers-reduced-motion: reduce) {
  /* Kill all CSS animations and shorten transitions to imperceptible */
  *, *::before, *::after {
    animation-duration:        0.01ms !important;
    animation-iteration-count: 1      !important;
    transition-duration:       0.01ms !important;
    scroll-behavior:           auto   !important;
  }

  /* Hide animated blurred orbs — single biggest GPU drain */
  .orb { display: none; }

  /* Sidebar: remove backdrop-filter and use solid fallback background */
  .sidebar {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: #0e0e2a !important;
  }
  [data-theme="light"] .sidebar {
    background: #f8fafc !important;
  }

  /* Topbar */
  .topbar {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Glass cards */
  .glass {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Admin tab bar */
  .admin-tabs {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Modal overlay */
  .modal-overlay {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Toast notifications */
  .toast {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    /* Compensate opacity with a more opaque background */
    background-color: rgba(0,0,0,.82) !important;
  }
  [data-theme="light"] .toast {
    background-color: rgba(255,255,255,.96) !important;
  }

  /* Sale celebration card */
  .sale-celebration-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(6,6,26,.95) !important;
  }
}
