﻿:root {
  --omega-bg: #031A3D;
  --omega-bg-deep: #062B63;
  --omega-surface: rgba(255, 255, 255, 0.08);
  --omega-surface-soft: rgba(255, 255, 255, 0.12);
  --omega-surface-elevated: rgba(255, 255, 255, 0.16);
  --omega-border: rgba(216, 221, 226, 0.18);
  --omega-border-strong: rgba(216, 221, 226, 0.32);
  --omega-text: #FFFFFF;
  --omega-text-soft: #D8DDE2;
  --omega-muted: #9AA3AA;
  --omega-primary: #031A3D;
  --omega-primary-hover: #062B63;
  --omega-accent: #007BFF;
  --omega-focus: #007BFF;
  --omega-success: #29a15a;
  --omega-warning: #d27a2d;
  --omega-danger: #a9403e;
  --omega-radius-sm: 10px;
  --omega-radius-md: 16px;
  --omega-radius-lg: 28px;
  --omega-radius-xl: 34px;
  --omega-space-1: 6px;
  --omega-space-2: 10px;
  --omega-space-3: 14px;
  --omega-space-4: 18px;
  --omega-space-5: 24px;
  --omega-space-6: 32px;
  --omega-shadow-sm: 0 8px 18px rgba(3, 26, 61, 0.10);
  --omega-shadow-card: 0 22px 50px rgba(3, 26, 61, 0.12);
  --omega-shadow-panel: 0 28px 72px rgba(3, 26, 61, 0.16);
  --omega-shadow-overlay: 0 34px 90px rgba(3, 26, 61, 0.24);
  --omega-font-xs: 0.78rem;
  --omega-font-sm: 0.88rem;
  --omega-font-md: 1rem;
  --omega-font-lg: 1.14rem;
  --omega-font-xl: 1.45rem;
  --omega-font-title: clamp(1.45rem, 2.2vw, 2.25rem);
  --omega-control-sm: 38px;
  --omega-control-md: 44px;
  --omega-control-lg: 52px;
  --omega-touch-target: 44px;
  --omega-density-gap: var(--omega-space-4);
  --omega-density-padding: var(--omega-space-5);
  --omega-density-control: var(--omega-control-md);
  --omega-sidebar-width: clamp(360px, 21vw, 420px);
  --omega-sidebar-rail-width: 82px;
  --bg: #efe9dd;
  --bg-2: #e5ddd0;
  --panel: rgba(252, 248, 241, 0.88);
  --panel-strong: #fbf7ee;
  --surface-1: #f8f3e9;
  --surface-2: #eee6d7;
  --border-soft: rgba(22, 32, 25, 0.12);
  --sidebar-bg: rgba(250, 245, 236, .74);
  --nav-bg: rgba(22, 32, 25, .05);
  --nav-active-bg: #162019;
  --nav-active-ink: #fffaf0;
  --button-primary-bg: #1c6b4a;
  --button-primary-ink: #fffaf0;
  --button-secondary-bg: #efe7d7;
  --button-secondary-ink: #162019;
  --button-soft-bg: #dbe8df;
  --button-soft-ink: #162019;
  --button-soft-border: rgba(28, 107, 74, .24);
  --badge-primary-bg: #dbe8df;
  --badge-primary-ink: #162019;
  --badge-soft-bg: #eee6d7;
  --badge-soft-ink: #162019;
  --badge-danger-bg: rgba(169, 64, 62, 0.18);
  --badge-danger-ink: #842b2a;
  --status-warn-bg: rgba(210, 122, 45, 0.18);
  --status-warn-ink: #8e5a21;
  --body-glow-a: rgba(210, 122, 45, .18);
  --body-glow-b: rgba(28, 107, 74, .16);
  --preview-wash: rgba(255,255,255,.72);
  --ink: #162019;
  --muted: #6c6e65;
  --accent: #1c6b4a;
  --accent-soft: rgba(28, 107, 74, 0.14);
  --accent-2: #d27a2d;
  --danger: #a9403e;
  --danger-soft: rgba(169, 64, 62, 0.12);
  --line: rgba(22, 32, 25, 0.08);
  --shadow: 0 22px 50px rgba(44, 33, 18, 0.12);
  --radius-xl: 28px;
  --font-body: Georgia, 'Times New Roman', serif;
  --font-heading: Georgia, 'Times New Roman', serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; font-family: var(--font-body); color: var(--ink); background: radial-gradient(circle at top left, var(--body-glow-a), transparent 24%), radial-gradient(circle at bottom right, var(--body-glow-b), transparent 26%), linear-gradient(180deg, var(--bg), var(--bg-2)); }
button, input, select { font: inherit; }
textarea { font: inherit; }
button, input, select, textarea { font-size: max(14px, 1rem); }
button, .primary, .ghost, .danger, .catalog-hit, .small-btn, .nav-btn { min-height: 42px; }
input, select, textarea { min-height: 42px; }
:where(button, input, select, textarea, [role="button"], .nav-btn, .quick-chip):focus-visible {
  outline: 3px solid var(--omega-accent, var(--accent));
  outline-offset: 3px;
}
img { display: block; max-width: 100%; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
h1, h2, h3, .eyebrow { font-family: var(--font-heading); }
.shell { min-height: 100vh; display: grid; grid-template-columns: var(--omega-sidebar-width) minmax(0, 1fr); transition: grid-template-columns .24s ease; }
.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; overflow-x: hidden; scrollbar-gutter: auto; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--ink) 24%, transparent) transparent; padding: 28px; display: flex; flex-direction: column; gap: 22px; background: var(--sidebar-bg); backdrop-filter: blur(14px); border-right: 1px solid var(--border-soft); transition: transform .24s ease, opacity .24s ease; }
.sidebar::-webkit-scrollbar { width: 8px; height: 8px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--ink) 22%, transparent); border: 2px solid transparent; border-radius: 999px; background-clip: content-box; }
.sidebar::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--ink) 36%, transparent); border: 2px solid transparent; background-clip: content-box; }
.sidebar-toggle {
  position: fixed;
  left: 8px;
  top: 50%;
  transform: translateY(-50%) translateX(-30px) scale(.82);
  z-index: 40;
  width: 28px;
  height: 38px;
  border: 1px solid var(--border-soft);
  border-radius: 11px;
  background: color-mix(in srgb, var(--panel) 46%, transparent);
  color: var(--ink);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
  cursor: pointer;
  display: none;
  opacity: 0;
  transition: opacity .18s ease, transform .18s ease, background .18s ease, box-shadow .18s ease;
  pointer-events: none;
  backdrop-filter: blur(8px);
  font-size: 0;
}
.sidebar-toggle::before {
  content: "";
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 -5px 0 currentColor, 0 5px 0 currentColor;
}
.sidebar-toggle:hover,
.sidebar-toggle:focus-visible,
body.sidebar-toggle-peek .sidebar-toggle {
  opacity: .42;
  transform: translateY(-50%) translateX(0) scale(1);
  pointer-events: auto;
  background: var(--panel-strong);
  box-shadow: 0 14px 26px rgba(0, 0, 0, .16);
}
.sidebar-toggle:hover,
.sidebar-toggle:focus-visible {
  opacity: .88;
}
.brand-block { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; align-items: center; }
.brand-mark, .logo-preview-card { aspect-ratio: 1; border-radius: 24px; background: linear-gradient(145deg, var(--accent-soft), var(--surface-2)); display: grid; place-items: center; border: 1px solid var(--border-soft); overflow: hidden; }
.brand-mark img, .logo-preview-card img { width: 100%; height: 100%; object-fit: cover; }
.brand-fallback { display: grid; place-items: center; width: 100%; height: 100%; font-size: 2rem; font-weight: 700; color: var(--accent); }
.brand-fallback.large { font-size: 3.2rem; }
.brand-copy { min-width: 0; }
.sidebar-branch-line {
  margin: 0 0 8px;
  color: var(--ink);
  font-weight: 700;
  line-height: 1.12;
}
.eyebrow { margin: 0 0 8px; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 2rem; margin-bottom: 8px; }
h2 { font-size: clamp(2rem, 4vw, 4rem); line-height: .95; margin-bottom: 12px; }
h3 { font-size: 1.18rem; }
.muted { color: var(--muted); }
.label { color: var(--muted); font-size: .92rem; margin-bottom: 6px; }
.nav { display: grid; gap: 10px; }
.nav-btn, .primary, .ghost, .danger, .catalog-hit, .small-btn { border: none; border-radius: 16px; cursor: pointer; transition: transform .16s ease, background .16s ease, opacity .16s ease; }
.nav-btn:hover, .primary:hover, .ghost:hover, .danger:hover, .catalog-hit:hover, .small-btn:hover { transform: translateY(-1px); }
.nav-btn { display: flex; align-items: center; gap: 12px; padding: 14px 16px; text-align: left; white-space: normal; background: var(--nav-bg); color: var(--ink); }
.nav-btn.active { background: var(--nav-active-bg); color: var(--nav-active-ink); box-shadow: 0 14px 30px rgba(22, 32, 25, .18); }
.nav-icon {
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: currentColor;
  opacity: .86;
}
.nav-icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.nav-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.main { padding: 28px 28px 108px; display: grid; min-width: 0; }
.brand-block > div:last-child,
.sidebar .card,
.sidebar .muted,
.sidebar h1,
.sidebar h3,
.nav-btn,
.view.active,
.stats-grid,
.panel-grid,
.content-grid,
.form-grid,
.hero,
.card,
.stat-card {
  min-width: 0;
}
#platform-name,
#business-name-label {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: .98;
}
#platform-name {
  font-size: clamp(1.72rem, 1.85vw, 2.22rem);
}
#business-name-label {
  font-size: clamp(1.42rem, 1.55vw, 1.95rem);
}
#platform-tagline,
#sidebar-slogan,
#business-address-label,
#business-phone-label {
  overflow-wrap: anywhere;
  line-height: 1.18;
}
.view { display: none; gap: 22px; }
.view:not(.active) { display: none !important; }
.view.active { display: grid; }
.hero, .card, .stat-card { min-width: 0; background: var(--panel); border: 1px solid var(--omega-border, var(--line)); border-radius: var(--radius-xl); box-shadow: var(--omega-shadow-card, var(--shadow)); }
.hero { padding: 30px; display: grid; grid-template-columns: 1.45fr 1fr; gap: 24px; align-items: center; }
.hero-tags, .hero-actions, .double-actions, .mini-meta, .inline-tools { display: flex; gap: 10px; flex-wrap: wrap; }
.hero-actions { justify-content: flex-end; align-items: center; }
.hero-actions > * { flex: 1 1 170px; }
.inline-tools { flex: 1; justify-content: flex-end; }
.inline-tools .input { min-width: 220px; }
.inline-field { display: flex; gap: 10px; align-items: center; }
.inline-field .input { flex: 1 1 auto; min-width: 0; }
.mini-meta { font-size: .9rem; color: var(--muted); margin-top: 10px; }
.stats-grid, .panel-grid, .content-grid { display: grid; gap: 18px; align-items: start; }
.sales-template-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: end;
  padding: 18px 20px;
  border-radius: var(--radius-xl);
  background: var(--panel);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.sales-template-toolbar h3 { margin: 2px 0 4px; }
.stats-grid.six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.dashboard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-grid.four-col { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.ventas-layout { grid-template-columns: 1.5fr 1fr; }
.inventory-layout, .two-col-wide, .reports-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.config-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
@media (min-width: 1200px) {
  body:has(#view-inventario.active) {
    overflow: hidden;
  }
  body:has(#view-inventario.active) .main {
    height: 100dvh;
    overflow: hidden;
    padding-bottom: 28px;
  }
  #view-inventario.active {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  #view-inventario.active .inventory-layout {
    grid-template-columns: minmax(360px, .92fr) minmax(410px, 1.08fr);
    height: 100%;
    min-height: 0;
    align-items: stretch;
  }
  #view-inventario.active .inventory-layout > .card {
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }
  #view-inventario.active #inventory-table,
  #view-inventario.active #product-form {
    min-height: 0;
    overflow: auto;
    padding-right: 4px;
  }
}
@media (min-width: 1100px) {
  body:has(#view-clientes.active),
  body:has(#view-compras.active) {
    overflow: hidden;
  }
  body:has(#view-clientes.active) .main,
  body:has(#view-compras.active) .main {
    height: 100dvh;
    overflow: hidden;
    padding-bottom: 28px;
  }
  #view-clientes.active,
  #view-compras.active {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  #view-clientes.active {
    grid-template-rows: minmax(0, 1fr) minmax(180px, .42fr);
  }
  #view-compras.active {
    grid-template-rows: minmax(220px, .7fr) minmax(0, 1.45fr) minmax(150px, .42fr);
  }
  #view-clientes.active > .panel-grid,
  #view-compras.active > .panel-grid {
    min-height: 0;
    align-items: stretch;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #view-clientes.active > .card,
  #view-clientes.active > .panel-grid > .card,
  #view-compras.active > .card,
  #view-compras.active > .panel-grid > .card {
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }
  #view-clientes.active #customers-list,
  #view-clientes.active #customer-form,
  #view-clientes.active #receivables-list,
  #view-compras.active #suppliers-list,
  #view-compras.active #supplier-form,
  #view-compras.active #purchase-form,
  #view-compras.active #payables-list,
  #view-compras.active #purchases-history {
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding-right: 4px;
  }
}
#view-estadisticas.active > .hero {
  display: none;
}
#view-estadisticas.active {
  align-content: start;
}
.settings-layout {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr) minmax(320px, .98fr);
  align-items: start;
}
.settings-layout.platform-focused {
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 1fr);
}
.settings-layout.platform-focused .settings-column-team {
  grid-column: 1 / -1;
}
.settings-layout.platform-focused .settings-card-team {
  max-width: 980px;
}
.settings-column {
  display: grid;
  gap: 18px;
  align-content: start;
  min-width: 0;
}
.settings-column .card {
  min-width: 0;
}
.compact-card {
  padding-top: 20px;
}
.stat-card, .card { padding: 22px; }
.stat-card h3 { font-size: 1.45rem; margin-bottom: 0; }
.stat-card.danger { background: var(--danger-soft); }
.card-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.dashboard-card { align-self: start; }
.dashboard-card .card-header { margin-bottom: 14px; }
.compact { padding: 18px; }
.glassy { background: var(--surface-1); }
.stack { display: grid; gap: 12px; }
.dashboard-feed { gap: 10px; }
.dashboard-feed-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 15px;
  border-radius: 18px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.dashboard-feed-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.dashboard-feed-main strong {
  display: block;
  line-height: 1.02;
  word-break: break-word;
}
.dashboard-feed-main .muted {
  font-size: .95rem;
  line-height: 1.16;
}
.dashboard-feed-kpis {
  display: grid;
  gap: 10px;
}
@media (min-width: 1100px) {
  #view-dashboard.active .dashboard-grid {
    align-items: stretch;
  }
  #view-dashboard.active .dashboard-grid > .card {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }
  #view-dashboard.active .dashboard-feed,
  #view-dashboard.active #system-health-list,
  #view-dashboard.active #cloud-readiness-list,
  #view-dashboard.active #module-status-list {
    min-height: 0;
    max-height: min(44vh, 520px);
    overflow: auto;
    padding-right: 4px;
  }
}
.dashboard-kpi-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.dashboard-kpi-row span {
  color: var(--muted);
}
.dashboard-kpi-row strong {
  text-align: right;
}
.field-help {
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.22;
}
.primary, .ghost, .danger { padding: 14px 16px; min-height: 52px; }
.primary { background: var(--button-primary-bg); color: var(--button-primary-ink); }
.ghost { background: var(--button-secondary-bg); color: var(--button-secondary-ink); }
.danger { background: var(--danger); color: white; }
.wide { width: 100%; }
.wide-actions > * { flex: 1 1 180px; }
.input { width: 100%; padding: 13px 14px; border-radius: 14px; border: 1px solid var(--border-soft); background: var(--panel-strong); color: var(--ink); }
.input:focus { outline: 2px solid var(--accent-soft); border-color: var(--accent); }
select.input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  line-height: 1.2;
  padding-right: 44px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 16px) calc(50% - 3px);
  background-size: 7px 7px, 7px 7px;
  background-repeat: no-repeat;
}
select.input::-ms-expand { display: none; }
.color-input { padding: 8px; min-height: 52px; }
.catalog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.sales-category-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}
.sales-category-section {
  display: grid;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px dashed var(--border-soft);
}
.sales-category-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}
.sales-category-heading h4 {
  margin: 0;
  font-size: 1.05rem;
}
.sales-category-heading span {
  color: var(--muted);
  font-size: .9rem;
}
.sales-category-card {
  border: 1px solid var(--border-soft);
  border-radius: 18px;
  background: var(--surface-1);
  color: var(--ink);
  padding: 14px 15px;
  display: grid;
  gap: 7px;
  min-height: 110px;
  align-content: start;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.sales-category-card:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--accent) 28%, var(--border-soft));
}
.sales-category-card.active {
  border-color: color-mix(in srgb, var(--accent) 62%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);
  background: color-mix(in srgb, var(--surface-1) 84%, var(--accent-soft));
}
.sales-category-card strong {
  font-size: 1rem;
  line-height: 1.08;
}
.sales-category-card span,
.sales-category-card small {
  color: var(--muted);
}
.sales-catalog-summary {
  margin-bottom: 14px;
}
.purchase-quick-strip {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: -2px;
}
.purchase-quick-strip .small-btn {
  padding: 8px 12px;
}
.purchase-quick-strip .small-btn.active {
  background: var(--nav-active-bg);
  color: var(--nav-active-ink);
  border-color: color-mix(in srgb, var(--accent) 32%, var(--border-soft));
}
.purchase-quick-strip .badge {
  align-self: center;
}
.catalog-item { padding: 16px; background: var(--surface-1); display: grid; gap: 10px; text-align: left; border: 1px solid var(--border-soft); border-radius: 16px; }
.catalog-hit { padding: 0; background: transparent; color: inherit; display: grid; gap: 8px; text-align: left; width: 100%; }
.catalog-hit:disabled { opacity: .5; cursor: not-allowed; }
.catalog-unit-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.catalog-unit-actions > * { flex: 1 1 110px; }
.catalog-name { font-weight: 700; }
.catalog-meta { color: var(--muted); font-size: .92rem; }
.catalog-price { color: var(--accent-2); }
.sales-shift-actions { margin: 0 0 16px; }
.cart-summary { border-top: 1px dashed var(--border-soft); border-bottom: 1px dashed var(--border-soft); padding: 14px 0; margin: 18px 0; display: grid; gap: 8px; }
.line { display: flex; justify-content: space-between; gap: 14px; }
.line.total { font-size: 1.08rem; }
.checkout-grid, .form-grid, .logo-panel { display: grid; gap: 12px; }
.advanced-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sales-fast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.sales-alert { margin-bottom: 14px; }
.sales-alert strong { color: var(--danger); }
.sales-fast-help { margin-bottom: 14px; }
.sales-fast-status-panel {
  display: grid;
  grid-template-columns: minmax(120px, .55fr) minmax(235px, 1fr) minmax(140px, .55fr) minmax(250px, 1fr) minmax(300px, 1.2fr);
  gap: 6px;
  align-items: stretch;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 42%, transparent), transparent 54%),
    var(--panel);
  box-shadow: var(--shadow);
}
.sales-fast-template-slot,
.sales-fast-search-proxy,
.sales-fast-form-proxy {
  min-width: 0;
  display: grid;
  gap: 3px;
  align-content: center;
  padding: 6px 8px;
  border-radius: 13px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.sales-fast-template-slot > span,
.sales-fast-search-proxy > span,
.sales-fast-form-proxy > span {
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.sales-fast-template-slot label {
  display: grid;
  gap: 4px;
  font-size: .01rem;
  color: transparent;
}
.sales-fast-template-slot .input {
  min-height: 32px;
  padding: 5px 28px 5px 8px;
  font-size: .84rem;
}
.sales-fast-search-proxy .inline-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: 5px;
}
.sales-fast-search-proxy .input {
  min-height: 32px;
  min-width: 0;
  padding: 5px 9px;
  font-size: .82rem;
}
.sales-fast-checkout {
  display: none;
  min-height: 100%;
  border-radius: 13px;
  font-size: .96rem;
}
.sales-fast-form-proxy {
  grid-column: span 1;
}
.sales-fast-form-proxy .sales-fast-grid .input {
  min-height: 32px;
  padding: 5px 28px 5px 8px;
  font-size: .82rem;
}
.sales-fast-form-proxy #customer-name {
  grid-column: span 2;
}
.sales-fast-total {
  display: grid;
  gap: 2px;
  align-content: center;
  padding: 7px 10px;
  border-radius: 14px;
  background: var(--nav-active-bg);
  color: var(--nav-active-ink);
}
.sales-fast-total span,
.sales-fast-status-grid span {
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .78;
}
.sales-fast-total strong {
  font-size: clamp(1.25rem, 2.1vw, 2.15rem);
  line-height: .95;
}
.sales-fast-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}
.sales-fast-status-grid > div {
  display: grid;
  gap: 2px;
  align-content: center;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 11px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.sales-fast-status-grid strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .84rem;
}
.sales-template-fast .sales-fast-status-grid > div:nth-child(n + 3):nth-child(-n + 6) {
  display: none;
}
.sales-template-fast .sales-fast-form-proxy {
  grid-column: auto;
}
.sales-template-fast .sales-fast-form-proxy .sales-fast-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}
.sales-template-fast .sales-fast-form-proxy #customer-name {
  grid-column: span 1;
}
.sales-touch-keypad {
  display: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
  padding: 12px;
  border-radius: 22px;
  border: 1px solid var(--border-soft);
  background: var(--surface-1);
}
.sales-touch-keypad button {
  min-height: 64px;
  border-radius: 16px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
  color: var(--ink);
  font-size: 1.45rem;
  font-weight: 800;
}
.sales-touch-keypad .key-confirm { grid-row: span 2; }
.sales-touch-keypad .key-primary { grid-column: span 3; background: var(--button-primary-bg); color: var(--button-primary-ink); }
.sales-touch-keypad .key-danger { background: var(--danger-soft); color: var(--danger); }
.sales-touch-keypad .key-soft { background: color-mix(in srgb, var(--accent-soft) 55%, var(--panel-strong)); }
.sales-template-fast .ventas-layout {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 390px);
  grid-template-areas: "cart catalog";
  gap: 8px;
  align-items: stretch;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.sales-template-fast {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  height: calc(100dvh - 14px);
  overflow: hidden;
}
.sales-template-fast .sales-template-toolbar {
  display: none;
}
.sales-template-fast .ventas-layout > .card:first-child {
  grid-area: catalog;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "search"
    "products";
  grid-template-rows: auto minmax(0, 1fr);
  gap: 7px;
  align-items: stretch;
  align-self: stretch;
  padding: 9px;
  overflow: hidden;
}
.sales-template-fast .ventas-layout > .card:first-child > .card-header {
  grid-area: search;
  display: grid;
  gap: 7px;
  align-content: start;
  position: static;
  margin-bottom: 0;
  min-height: 0;
}
.sales-template-fast .ventas-layout > .card:first-child > .card-header h3 {
  font-size: 1.06rem;
  line-height: 1;
}
.sales-template-fast .ventas-layout > .card:first-child > .card-header .inline-tools {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  justify-content: stretch;
}
.sales-template-fast .ventas-layout > .card:first-child > .card-header .input {
  min-width: 0;
}
.sales-notices {
  display: grid;
  gap: 10px;
}
.sales-template-fast .sales-notices {
  grid-area: summary;
  display: none;
}
.sales-template-fast #catalog-grid {
  grid-area: products;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 6px;
  min-height: 0;
  overflow: hidden;
  height: 100%;
}
.sales-template-fast .sales-category-section {
  display: none;
}
.sales-template-fast .sales-category-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-height: none;
  height: 100%;
  overflow: auto;
  padding-right: 4px;
}
.sales-template-fast .sales-category-card {
  min-height: 76px;
  padding: 10px;
  justify-items: center;
  text-align: center;
  align-content: center;
}
.sales-template-fast .sales-category-card span,
.sales-template-fast .sales-category-card small {
  display: none;
}
.sales-template-fast .cart-card {
  grid-area: cart;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(218px, 270px);
  grid-template-areas:
    "title title"
    "cart keypad"
    "cart keypad"
    "actions keypad"
    "shift shift";
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px 10px;
  height: 100%;
  overflow: hidden;
  padding: 9px;
}
.sales-template-fast .cart-card > .card-header {
  grid-area: title;
  margin-bottom: 0;
  min-height: 0;
}
.sales-template-fast .cart-card > .card-header h3 {
  font-size: 1rem;
  line-height: 1;
}
.sales-template-fast #cart-list {
  grid-area: cart;
  min-height: 0;
  max-height: none;
  height: 100%;
  overflow: auto;
  padding-right: 4px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  padding: 6px;
}
.sales-template-fast .fast-cart-table {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 100%;
  font-size: .9rem;
}
.sales-template-fast .fast-cart-head,
.sales-template-fast .fast-cart-row {
  display: grid;
  grid-template-columns: minmax(76px, .72fr) minmax(140px, 1.65fr) minmax(66px, .65fr) minmax(54px, .48fr) minmax(58px, .52fr) minmax(70px, .68fr) 34px;
  align-items: center;
  gap: 6px;
}
.sales-template-fast .fast-cart-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 6px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel-strong) 82%, var(--accent-soft));
  color: var(--muted);
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.sales-template-fast .fast-cart-body {
  display: grid;
  gap: 5px;
  padding-top: 6px;
  align-content: start;
}
.sales-template-fast .fast-cart-row {
  min-height: 38px;
  padding: 4px 6px;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: var(--panel);
  cursor: pointer;
}
.sales-template-fast .fast-cart-row.selected {
  border-color: color-mix(in srgb, var(--accent) 78%, var(--border-soft));
  background: color-mix(in srgb, var(--accent-soft) 38%, var(--panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);
}
.sales-template-fast .fast-cart-empty {
  min-height: 120px;
  display: grid;
  place-items: center;
  padding: 16px;
  border: 1px dashed var(--border-soft);
  border-radius: 12px;
  color: var(--muted);
  text-align: center;
}
.sales-template-fast .fast-cart-code,
.sales-template-fast .fast-cart-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sales-template-fast .fast-cart-price,
.sales-template-fast .fast-cart-line-total {
  text-align: right;
}
.sales-template-fast .fast-cart-qty,
.sales-template-fast .fast-cart-discount {
  width: 100%;
  min-height: 28px;
  padding: 5px 6px;
  text-align: center;
}
.sales-template-fast .fast-cart-qty {
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  border: 1px solid var(--border-soft);
  background: color-mix(in srgb, var(--accent-soft) 38%, var(--panel-strong));
  font-weight: 800;
}
.sales-template-fast .fast-cart-delete {
  min-width: 36px;
  min-height: 28px;
  padding: 5px;
}
.sales-template-fast .cart-summary {
  display: none;
}
.sales-template-fast .sales-fast-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.sales-template-fast .sales-touch-keypad {
  display: grid;
  grid-area: keypad;
  align-self: stretch;
  align-content: stretch;
  margin-top: 0;
  height: 100%;
  min-height: 0;
  padding: 6px;
  gap: 4px;
}
.sales-template-fast .sales-touch-keypad button {
  min-height: 0;
  border-radius: 12px;
  font-size: 1.02rem;
  font-weight: 800;
}
.sales-template-fast .wide-actions {
  grid-area: actions;
  align-self: end;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 5px;
  padding: 6px;
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel-strong) 88%, transparent);
}
.sales-template-fast .wide-actions > * {
  min-height: 36px;
  padding: 7px 6px;
  border-radius: 10px;
  font-size: .76rem;
  line-height: 1.05;
  display: inline-grid;
  place-items: center;
  text-align: center;
  border: 1px solid var(--border-soft);
  background: var(--panel-strong);
}
.sales-template-fast .wide-actions #clear-cart-btn {
  border-color: color-mix(in srgb, var(--danger) 28%, var(--border-soft));
  background: color-mix(in srgb, var(--danger-soft) 72%, var(--panel-strong));
  color: var(--danger);
}
.sales-template-fast .wide-actions #checkout-btn {
  display: none;
}
.sales-template-fast .cart-row {
  padding: 8px 10px;
  border-radius: 12px;
  background: var(--panel);
}
.sales-template-fast .cart-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, auto);
  gap: 10px;
  align-items: center;
}
.sales-template-fast .cart-total {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.sales-template-fast .cart-meta {
  grid-template-columns: minmax(80px, .42fr) minmax(160px, .58fr);
  gap: 8px;
}
.sales-template-fast .cart-row h4,
.sales-template-fast .cart-row strong {
  line-height: 1.05;
}
.sales-template-fast .cart-row .small,
.sales-template-fast .cart-row small {
  line-height: 1.05;
}
.sales-template-fast .inset-card {
  display: none;
}
.sales-template-fast .sales-shift-actions {
  display: none;
}
.sales-template-fast .sales-fast-status-panel {
  display: grid;
}
.sales-template-fast .fast-catalog-toolbar,
.sales-template-fast .fast-catalog-pager {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
}
.sales-template-fast .fast-catalog-toolbar {
  padding: 6px 8px;
  border-radius: 10px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
}
.sales-template-fast .fast-catalog-toolbar strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sales-template-fast .fast-catalog-toolbar span,
.sales-template-fast .fast-catalog-pager span {
  justify-self: end;
  color: var(--muted);
  font-size: .86rem;
}
.sales-template-fast .fast-catalog-categories,
.sales-template-fast .fast-catalog-products {
  display: grid;
  gap: 6px;
  min-height: 0;
  overflow: auto;
  align-content: start;
  padding-bottom: 8px;
  padding: 2px 2px 4px;
}
.sales-template-fast .fast-catalog-categories {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sales-template-fast .fast-catalog-products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 88px;
}
.sales-template-fast .fast-category-btn,
.sales-template-fast .fast-product-btn {
  min-height: 54px;
  padding: 6px;
  border-radius: 10px;
  border: 1px solid var(--border-soft);
  background: var(--panel-strong);
  color: var(--ink);
  text-align: center;
  display: grid;
  gap: 3px;
  align-content: center;
}
.sales-template-fast .fast-product-btn {
  min-height: 88px;
  height: 88px;
  grid-template-rows: minmax(2.2em, auto) auto auto;
  align-content: center;
  justify-items: center;
  overflow: hidden;
}
.sales-template-fast .fast-category-btn:hover,
.sales-template-fast .fast-product-btn:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
}
.sales-template-fast .fast-category-btn strong,
.sales-template-fast .fast-product-btn strong {
  line-height: 1.02;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.sales-template-fast .fast-product-btn strong {
  min-height: 2.15em;
  max-width: 100%;
  line-height: 1.08;
  text-wrap: balance;
  word-break: break-word;
}
.sales-template-fast .fast-category-btn span,
.sales-template-fast .fast-product-btn span,
.sales-template-fast .fast-product-btn small {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.05;
}
.sales-template-fast .fast-product-btn span,
.sales-template-fast .fast-product-btn small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sales-template-fast .fast-catalog-pager {
  padding-top: 2px;
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: var(--panel);
  border-top: 1px solid var(--border-soft);
}
body:has(#view-ventas.sales-template-fast.active) .content {
  height: 100dvh;
  overflow: hidden;
}
body:has(#view-ventas.sales-template-fast.active) {
  overflow: hidden;
}
body:has(#view-ventas.sales-template-fast.active) .main {
  padding: 10px 12px 18px;
  overflow: hidden;
}
body:has(#view-ventas.sales-template-fast.active) .support-bubble {
  display: none;
}
.form-grid label { display: grid; gap: 8px; }
.checkbox-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.checkbox-input { width: auto; padding: 0; }
.logo-panel { align-content: start; }
.settings-card-local-tenants .permission-note,
.settings-card-supabase .permission-note,
.settings-card-platform .permission-note {
  margin-top: 2px;
}
.settings-card-team .logo-panel {
  gap: 14px;
}
.settings-card-print .double-actions > * {
  flex: 1 1 180px;
}
.button-like {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  text-align: center;
}
.button-like.disabled,
.button-like[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: auto;
}
.background-panel { display: grid; gap: 10px; }
.inventory-quick-actions > * { flex: 1 1 140px; }
.quick-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.quick-chip { border: 1px solid var(--border-soft); background: var(--surface-1); border-radius: 999px; padding: 8px 12px; font: inherit; color: var(--ink); cursor: pointer; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.quick-chip:hover { transform: translateY(-1px); border-color: var(--accent); background: var(--accent-soft); }
.theme-preset-row .quick-chip.active {
  background: var(--nav-active-bg);
  color: var(--nav-active-ink);
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(22, 32, 25, .18);
}
.purchase-hint-strong { color: var(--ink); font-weight: 700; }
.background-preview-card {
  min-height: 132px;
  border-radius: 18px;
  border: 1px solid var(--border-soft);
  background: linear-gradient(135deg, var(--accent-soft), var(--surface-2));
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--muted);
  text-align: center;
  padding: 14px;
  background-size: cover;
  background-position: center;
}
.divider { height: 1px; background: var(--line); margin: 8px 0; }
.inset-card { margin-top: 18px; padding: 18px; border-radius: 18px; background: var(--surface-2); box-shadow: none; }
.table-like, .empty-state { display: grid; gap: 12px; }
.stock-row, .sales-row, .cart-row, .summary-row, .client-row, .supplier-row, .receivable-row, .purchase-row, .user-row, .hold-row, .shift-row, .log-row, .movement-row {
  display: grid; gap: 10px; padding: 14px; border-radius: 18px; background: var(--surface-1); border: 1px solid var(--border-soft);
}
.stock-row {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  row-gap: 12px;
}
.sales-row { grid-template-columns: minmax(0, 1.2fr) minmax(220px, .95fr) auto auto; align-items: center; }
.cart-row { display: grid; gap: 12px; }
.summary-row { grid-template-columns: 1fr auto; align-items: center; }
.summary-row strong { text-align: right; word-break: break-word; }
.summary-row.statistic-row strong { display: block; text-align: left; }
.summary-row.statistic-row .muted { display: block; margin-top: 4px; font-size: 0.9rem; }
.statistics-bars {
  display: grid;
  gap: 12px;
}
.statistics-bar-row {
  display: grid;
  grid-template-columns: minmax(88px, .8fr) minmax(120px, 2fr) minmax(92px, auto);
  gap: 10px;
  align-items: center;
}
.statistics-bar-row span {
  color: var(--muted);
  font-size: .92rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.statistics-bar-row strong {
  text-align: right;
  font-size: .94rem;
}
.statistics-bar-track {
  height: 16px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.statistics-bar-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, white 18%, transparent);
}
.statistics-growth-chart {
  position: relative;
  min-height: 280px;
  padding: 92px 12px 8px;
  overflow: hidden;
}
.statistics-trend-line {
  position: absolute;
  inset: 8px 14px auto;
  width: calc(100% - 28px);
  height: 130px;
  color: color-mix(in srgb, var(--accent) 72%, var(--accent-2));
  opacity: .82;
  pointer-events: none;
}
.statistics-growth-bars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
  gap: 14px;
  align-items: end;
  min-height: 170px;
}
.statistics-growth-bar {
  display: grid;
  grid-template-rows: auto minmax(46px, 1fr) auto;
  gap: 8px;
  min-height: 180px;
  text-align: center;
  align-items: end;
}
.statistics-growth-bar strong {
  font-size: .82rem;
  color: var(--ink);
}
.statistics-growth-bar span {
  color: var(--muted);
  font-size: .78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.statistics-growth-column {
  width: min(54px, 72%);
  min-height: 18px;
  justify-self: center;
  border-radius: 16px 16px 8px 8px;
  border: 2px solid color-mix(in srgb, var(--ink) 18%, transparent);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, white 18%, transparent), 0 10px 18px rgba(20, 30, 24, .13);
}
.statistics-growth-column.color-1 { background: linear-gradient(180deg, #ffcf8a, #e78a33); }
.statistics-growth-column.color-2 { background: linear-gradient(180deg, #8ef4cf, #24a66f); }
.statistics-growth-column.color-3 { background: linear-gradient(180deg, #ffe49b, #d39b25); }
.statistics-growth-column.color-4 { background: linear-gradient(180deg, #a7c7ff, #4f83e8); }
.client-row {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "header"
    "metrics"
    "actions";
  align-items: start;
  row-gap: 14px;
}
.client-header {
  grid-area: header;
  display: block;
}
.supplier-row { grid-template-columns: 1.2fr .8fr auto auto; align-items: center; }
.receivable-row, .purchase-row { grid-template-columns: minmax(0, 1.2fr) auto auto auto auto; align-items: center; }
.movement-row { grid-template-columns: minmax(0, 1.3fr) auto minmax(0, 1fr); align-items: center; }
.user-row { grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 14px; }
.hold-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas:
    "main total total"
    "main open delete";
  align-items: center;
}
.shift-row, .log-row { grid-template-columns: 1fr auto; align-items: center; }
.small-btn {
  padding: 9px 11px;
  border-radius: 12px;
  background: var(--button-secondary-bg);
  color: var(--button-secondary-ink);
  border: 1px solid var(--border-soft);
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}
.small-btn.danger { background: var(--badge-danger-bg); color: var(--badge-danger-ink); border-color: rgba(169, 64, 62, .24); }
.small-btn.soft { background: var(--button-soft-bg); color: var(--button-soft-ink); border-color: var(--button-soft-border); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04); }
.small-btn.soft:hover { filter: brightness(1.04); }
.small-btn.danger:hover { filter: brightness(1.03); }
.small-input { width: 90px; padding: 8px 10px; border-radius: 12px; border: 1px solid var(--border-soft); background: var(--panel-strong); color: var(--ink); }
.stock-row > *, .cart-row > * { min-width: 0; }
.row-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: flex-start; }
.stock-main, .user-main, .client-main, .sales-main, .movement-main { display: grid; gap: 8px; min-width: 0; }
.stock-main { min-width: 0; }
.stock-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 136px;
  gap: 14px;
  align-items: start;
}
.stock-body {
  display: grid;
  gap: 12px;
}
.sales-meta, .movement-meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.client-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  align-items: stretch;
}
.sales-meta, .movement-meta { color: var(--muted); }
.client-main { grid-area: main; }
.client-main strong {
  display: block;
  line-height: 1.04;
  word-break: break-word;
}
.client-main .muted { word-break: break-word; }
.client-metrics { grid-area: metrics; }
.client-stat {
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
  display: grid;
  gap: 4px;
}
.client-stat span {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}
.client-stat strong {
  line-height: 1.08;
  word-break: break-word;
}
.client-stat.danger {
  background: var(--danger-soft);
  border-color: rgba(169, 64, 62, .2);
}
.client-actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  align-items: flex-start;
  min-width: 0;
}
.client-actions .small-btn,
.client-actions .badge {
  min-width: 88px;
}
.client-actions .badge {
  text-align: center;
  justify-content: center;
}
.sales-main strong {
  line-height: 1.04;
}
.sales-inline-note {
  color: var(--muted);
  font-size: .9rem;
}
.stock-heading { display: grid; gap: 8px; justify-items: start; }
.stock-heading strong { line-height: 1.2; word-break: break-word; }
.stock-submeta, .user-meta { display: flex; gap: 8px; flex-wrap: wrap; }
.stock-metrics {
  grid-area: metrics;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.metric-pill {
  min-width: 104px;
  padding: 11px 12px;
  border-radius: 18px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
  display: grid;
  gap: 4px;
}
.metric-pill span {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.metric-pill strong { font-size: 1rem; }
.metric-pill small { color: var(--muted); }
.metric-pill.danger {
  background: var(--badge-danger-bg);
  border-color: rgba(169, 64, 62, .22);
}
.metric-pill.danger span,
.metric-pill.danger strong,
.metric-pill.danger small {
  color: var(--badge-danger-ink);
}
.stock-row-low {
  border-color: rgba(169, 64, 62, .16);
  box-shadow: inset 0 0 0 1px rgba(169, 64, 62, .06);
}
.stock-actions {
  align-self: start;
  min-width: 136px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  justify-content: stretch;
}
.stock-actions .small-btn {
  width: 100%;
  min-height: 44px;
}
.inventory-category-toolbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.inventory-category-card { min-height: 94px; }
.user-side {
  display: grid;
  gap: 10px;
  justify-items: end;
  min-width: 0;
}
.hold-row > * { min-width: 0; }
.hold-row > :nth-child(1) { grid-area: main; }
.hold-row > :nth-child(2) { grid-area: total; justify-self: end; }
.hold-row > :nth-child(3) { grid-area: open; justify-self: end; }
.hold-row > :nth-child(4) { grid-area: delete; justify-self: end; }
.hold-item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.hold-item-chip {
  display: inline-flex;
  align-items: center;
  max-width: 180px;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--button-soft-bg);
  border: 1px solid var(--button-soft-border);
  color: var(--button-soft-ink);
  font-size: .78rem;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.movement-row > *,
.receivable-row > *,
.purchase-row > *,
.sales-row > *,
.client-row > * { min-width: 0; }
.sales-row .inline-tools { justify-content: flex-end; }
.movement-note { color: var(--muted); line-height: 1.35; }
.user-actions { justify-content: flex-end; }
.cart-main { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.cart-total { display: grid; gap: 6px; justify-items: end; min-width: 120px; }
.cart-card { min-width: 0; overflow: hidden; }
.cart-meta { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(180px, 1fr); gap: 16px; align-items: center; }
.cart-tools { display: flex; gap: 8px; align-items: center; justify-content: flex-start; flex-wrap: wrap; }
.cart-row .small-input { width: 72px; }
.cart-row .stack { align-items: flex-end; text-align: right; }
.hidden { display: none !important; }
.badge {
  width: fit-content;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--badge-primary-bg);
  color: var(--badge-primary-ink);
  border: 1px solid var(--button-soft-border);
  font-size: .82rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.badge.danger { background: var(--badge-danger-bg); color: var(--badge-danger-ink); border-color: rgba(169, 64, 62, .24); }
.badge.soft { background: var(--badge-soft-bg); color: var(--badge-soft-ink); border-color: var(--border-soft); }
.summary-row .badge,
.dashboard-feed-row .badge,
.hold-row .badge,
.movement-row .badge,
.purchase-row .badge,
.receivable-row .badge { justify-self: end; }
.list { margin: 0; padding-left: 18px; display: grid; gap: 10px; }
.compact-list { margin-top: 16px; }
.file-input { display: grid; gap: 8px; }
.file-input input { width: 100%; }
.empty-state { padding: 24px; border: 1px dashed var(--omega-border, var(--border-soft)); border-radius: 18px; color: var(--muted); }
.smart-list-note {
  margin: 0;
  padding: 12px 14px;
  border-style: solid;
}
.bulk-import-textarea {
  min-height: min(42vh, 360px);
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  line-height: 1.45;
  white-space: pre;
}
.purchase-picker-actions > * {
  flex: 1 1 180px;
}
.picker-list {
  display: grid;
  gap: 10px;
  max-height: min(58vh, 560px);
  overflow: auto;
  padding-right: 4px;
}
.picker-row {
  width: 100%;
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  background: var(--surface-1);
  color: var(--ink);
  text-align: left;
  padding: 14px 15px;
  display: grid;
  gap: 6px;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.picker-row:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--accent) 28%, var(--border-soft));
}
.picker-row small,
.picker-row .muted {
  color: var(--muted);
}
.picker-row.selected {
  border-color: color-mix(in srgb, var(--accent) 62%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent);
}
@media (max-width: 1560px) {
  .settings-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-column-team { grid-column: 1 / -1; }
}
@media (max-width: 1380px) {
  .stats-grid.six, .dashboard-grid.four-col, .ventas-layout, .inventory-layout, .two-col-wide, .reports-top, .config-grid, .settings-layout, .hero, .sales-template-toolbar { grid-template-columns: 1fr; }
  .sales-template-fast .ventas-layout > .card:first-child {
    grid-template-columns: 1fr;
    grid-template-areas:
      "search"
      "products";
  }
  .sales-template-fast .ventas-layout > .card:first-child > .card-header,
  .sales-template-fast .sales-category-section {
    position: static;
  }
  .personalization-layout, .theme-preset-grid, .personalization-controls-grid, .personalization-color-grid, .theme-preview-metrics { grid-template-columns: 1fr; }
  .settings-column-team { grid-column: auto; }
  .hero-actions, .inline-tools { justify-content: flex-start; }
}
@media (max-width: 980px) {
  .shell { grid-template-columns: 1fr; }
  .main { padding-top: 72px; }
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 39;
    width: min(86vw, 360px);
    max-width: calc(100vw - 56px);
    height: 100dvh;
    max-height: none;
    padding: 18px;
    border-right: 1px solid var(--border-soft);
    border-bottom: 0;
    box-shadow: 20px 0 50px rgba(0, 0, 0, .18);
    transform: translateX(0);
  }
  body.sidebar-collapsed .sidebar {
    transform: translateX(-105%);
    opacity: 0;
    pointer-events: none;
  }
  .sidebar-toggle {
    display: grid !important;
    place-items: center;
    top: 16px;
    left: 16px;
    width: 42px;
    height: 42px;
    transform: none;
    opacity: .9;
    pointer-events: auto;
  }
  .sidebar-toggle:hover,
  .sidebar-toggle:focus-visible,
  body.sidebar-toggle-peek .sidebar-toggle {
    transform: none;
    opacity: 1;
  }
  .brand-block { grid-template-columns: 64px minmax(0, 1fr); }
  #platform-name { font-size: clamp(1.65rem, 7vw, 2.15rem); }
}
@media (max-width: 860px) {
  .main { padding: 18px 18px 96px; }
  .sidebar { padding: 18px; }
  .stock-row, .sales-row, .cart-row, .client-row, .supplier-row, .receivable-row, .purchase-row, .user-row, .hold-row, .movement-row { grid-template-columns: 1fr; }
  .split-mobile { flex-direction: column; align-items: stretch; }
  .advanced-grid { grid-template-columns: 1fr; }
  .cart-meta { grid-template-columns: 1fr; }
  .stock-metrics, .user-side, .user-actions { justify-content: flex-start; justify-items: start; }
  .stock-header { grid-template-columns: 1fr; }
  .stock-actions { min-width: 0; width: 100%; }
  .dashboard-feed-row { grid-template-columns: 1fr; }
  .dashboard-kpi-row { flex-direction: column; align-items: flex-start; }
  .client-actions, .sales-row .inline-tools { justify-content: flex-start; }
  .client-row {
    grid-template-areas:
      "header"
      "metrics"
      "actions";
  }
  .client-actions {
    justify-content: flex-start;
    max-width: none;
  }
}
@media (min-width: 981px) {
  .sidebar-toggle { display: grid; place-items: center; left: 8px; }
  body:not(.sidebar-collapsed) .sidebar-toggle {
    left: 8px;
  }
  body.sidebar-collapsed .shell { grid-template-columns: var(--omega-sidebar-rail-width) minmax(0, 1fr); }
  body.sidebar-collapsed .sidebar {
    transform: none;
    opacity: 1;
    pointer-events: auto;
    padding: 18px 10px;
    gap: 14px;
    align-items: center;
  }
  body.sidebar-collapsed .brand-block {
    grid-template-columns: 1fr;
    justify-items: center;
    width: 100%;
  }
  body.sidebar-collapsed .brand-copy,
  body.sidebar-collapsed .sidebar .card {
    display: none;
  }
  body.sidebar-collapsed .brand-mark {
    width: 50px;
    height: 50px;
    border-radius: 16px;
  }
  body.sidebar-collapsed .brand-fallback {
    font-size: 1.35rem;
  }
  body.sidebar-collapsed .nav {
    width: 100%;
    gap: 8px;
    align-items: center;
  }
  body.sidebar-collapsed .nav-btn {
    position: relative;
    justify-content: center;
    width: 56px;
    min-height: 56px;
    padding: 0;
    border-radius: 18px;
  }
  body.sidebar-collapsed .nav-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  body.sidebar-collapsed .nav-icon {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }
}
.helper-card {
  background: var(--surface-1);
}
.compact-stack {
  gap: 8px;
}
.shortcut-list {
  display: grid;
  gap: 10px;
}
.shortcut-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.shortcut-key {
  min-width: 82px;
  padding: 7px 9px;
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: .8rem;
  text-align: center;
  font-weight: 700;
}
.shortcut-text {
  font-size: .92rem;
  color: var(--muted);
}
.permission-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
  font-size: .82rem;
}
.permission-chip strong {
  color: var(--ink);
}
.three-col {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.four-col {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.locked-section {
  opacity: .78;
  filter: grayscale(.08);
}
.permission-note {
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--surface-1);
  border: 1px dashed var(--border-soft);
  color: var(--muted);
}
.cloud-panel {
  padding: 16px;
  border-radius: 20px;
  background: var(--surface-2);
  border: 1px solid var(--border-soft);
}
.saas-helper-note {
  margin: 0;
  font-size: .92rem;
  line-height: 1.35;
}
.saas-collapsible {
  border: 1px solid var(--border-soft);
  border-radius: 18px;
  background: var(--surface-1);
  overflow: hidden;
}
.saas-collapsible summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 700;
}
.saas-collapsible summary::-webkit-details-marker {
  display: none;
}
.saas-collapsible[open] summary {
  border-bottom: 1px solid var(--border-soft);
  background: var(--surface-2);
}
.saas-collapsible-body {
  padding: 14px 16px 16px;
}
.saas-log-list {
  max-height: 360px;
  overflow: auto;
  padding-right: 4px;
}
.theme-preview-card {
  display: grid;
  gap: 10px;
  min-height: 120px;
  border-radius: 18px;
  padding: 16px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.personalization-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .86fr);
  gap: 18px;
  align-items: start;
}
.personalization-controls-grid,
.personalization-color-grid {
  display: grid;
  gap: 12px;
}
.personalization-controls-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.personalization-color-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.color-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 18px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.theme-preset-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.theme-preset-card {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 14px 16px;
  text-align: left;
  border-radius: 20px;
  background: var(--surface-1);
  border-radius: 18px;
  border: 1px solid var(--border-soft);
  cursor: pointer;
}
.theme-preset-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}
.theme-preset-delete {
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--badge-danger-bg);
  color: var(--badge-danger-ink);
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  line-height: 1;
  white-space: nowrap;
  justify-self: end;
}
.inventory-category-card { min-height: 104px; }
.inventory-category-card .theme-preset-title-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.inventory-category-card .theme-preset-delete {
  justify-self: start;
  align-self: flex-start;
  margin-top: auto;
}
.stock-actions .small-btn.danger {
  border-radius: 999px;
  padding-inline: 14px;
}
.sales-explorer-toolbar {
  display: grid;
  gap: 12px;
}
.sales-explorer-filters {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.sales-explorer-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.sales-explorer-list {
  max-height: min(60vh, 620px);
  overflow: auto;
  display: grid;
  gap: 12px;
  padding-right: 4px;
}
.customer-list-scroll {
  max-height: min(58vh, 720px);
  overflow: auto;
  padding-right: 4px;
}
.sales-explorer-empty {
  margin-top: 8px;
}
.app-dialog-card.large {
  width: min(100%, 1080px);
}
.release-notes-list {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 10px;
}
.release-notes-version {
  font-size: .95rem;
}
@media (max-width: 960px) {
  .sales-explorer-filters {
    grid-template-columns: 1fr;
  }
  .stock-header {
    grid-template-columns: 1fr;
  }
  .stock-actions {
    min-width: 0;
    justify-content: flex-start;
  }
}
.theme-preset-card.active {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
}
.theme-preset-card strong {
  font-size: 1rem;
}
.theme-preset-card small {
  color: var(--muted);
  line-height: 1.25;
}
.theme-preset-swatches {
  display: flex;
  gap: 6px;
  margin-top: 4px;
}
.theme-preset-swatches i {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid var(--border-soft);
}
.personalization-preview-card {
  margin: 4px 0 18px;
  min-height: 0;
  background:
    radial-gradient(circle at top left, var(--body-glow-b), transparent 30%),
    radial-gradient(circle at bottom right, var(--body-glow-a), transparent 34%),
    linear-gradient(180deg, var(--preview-wash), var(--surface-1));
}
.theme-preview-hero {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.theme-preview-copy {
  display: grid;
  gap: 8px;
}
.theme-preview-copy h3 {
  margin-bottom: 0;
}
.theme-preview-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.theme-preview-actions > * {
  flex: 1 1 180px;
  pointer-events: none;
}
.theme-preview-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.theme-preview-mini-card {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
}
.theme-preview-mini-card strong {
  font-size: 1.05rem;
}
.section-kicker {
  margin: 0;
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.cloud-panel-header {
  margin-bottom: 8px;
}
.cloud-online {
  background: var(--accent-soft);
  border-style: solid;
  color: var(--accent);
}
.cloud-warning {
  background: rgba(210, 122, 45, .1);
  border-style: solid;
  color: #8e5a21;
}
.cloud-error {
  background: rgba(169, 64, 62, .1);
  border-style: solid;
  color: var(--danger);
}
.status-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 18px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.status-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.status-pill {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid var(--border-soft);
  background: var(--surface-2);
  color: var(--ink);
}
.status-pill.ok {
  background: var(--badge-primary-bg);
  color: var(--badge-primary-ink);
  border-color: var(--button-soft-border);
}
.status-pill.warn {
  background: var(--status-warn-bg);
  color: var(--status-warn-ink);
  border-color: rgba(210, 122, 45, .24);
}
.status-pill.pending {
  background: var(--badge-danger-bg);
  color: var(--badge-danger-ink);
  border-color: rgba(169, 64, 62, .24);
}
.status-pill.neutral { background: var(--badge-soft-bg); color: var(--badge-soft-ink); }
.session-note {
  margin-top: 4px;
}
.nav-btn:disabled,
.primary:disabled,
.ghost:disabled,
.danger:disabled,
.small-btn:disabled,
.input:disabled,
select:disabled {
  opacity: .48;
  cursor: not-allowed;
  transform: none;
}

/* Paso 6B · Plantilla 2 rapida / mostrador.
   Overrides aislados del modo fast para conservar Plantilla 1 y los demas modulos. */
#view-ventas.sales-template-fast {
  --sales-fast-gap: var(--omega-space-2, 8px);
  min-width: 0;
  min-height: 0;
  gap: var(--sales-fast-gap);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-fast :where(
  button,
  input,
  select,
  .fast-cart-table,
  .fast-catalog-toolbar,
  .fast-catalog-pager
) {
  font-family: inherit;
}

#view-ventas.sales-template-fast .sales-fast-status-panel {
  min-width: 0;
  grid-template-columns:
    minmax(150px, .75fr)
    minmax(290px, 1.55fr)
    minmax(150px, .7fr)
    minmax(230px, 1fr)
    minmax(128px, .62fr);
  grid-template-areas:
    "template search total facts checkout"
    "form form form form form";
  gap: var(--sales-fast-gap);
  padding: 8px;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-lg, var(--radius-xl));
  box-shadow: var(--omega-shadow-sm, var(--shadow));
}

#view-ventas.sales-template-fast .sales-fast-template-slot {
  grid-area: template;
}

#view-ventas.sales-template-fast .sales-fast-search-proxy {
  grid-area: search;
}

#view-ventas.sales-template-fast .sales-fast-total {
  grid-area: total;
  min-width: 0;
}

#view-ventas.sales-template-fast .sales-fast-status-grid {
  grid-area: facts;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#view-ventas.sales-template-fast .sales-fast-form-proxy {
  grid-area: form;
  min-width: 0;
}

#view-ventas.sales-template-fast .sales-fast-form-proxy .sales-fast-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

#view-ventas.sales-template-fast .sales-fast-form-proxy #customer-name {
  grid-column: auto;
}

#view-ventas.sales-template-fast .sales-fast-checkout {
  grid-area: checkout;
  display: inline-grid;
  place-items: center;
  min-width: 0;
  min-height: 52px;
  padding: 10px 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 44%, var(--border-soft));
  border-radius: var(--omega-radius-md, 14px);
  background: var(--button-primary-bg);
  color: var(--button-primary-ink);
  box-shadow: var(--omega-shadow-sm, var(--shadow));
  font-size: .94rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#view-ventas.sales-template-fast .sales-fast-checkout:hover,
#view-ventas.sales-template-fast .sales-fast-checkout:focus-visible {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

#view-ventas.sales-template-fast .sales-fast-checkout:disabled {
  cursor: not-allowed;
  filter: none;
  opacity: .5;
  transform: none;
}

#view-ventas.sales-template-fast .ventas-layout {
  min-width: 0;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 370px);
  grid-template-areas: "cart catalog";
  gap: var(--sales-fast-gap);
}

#view-ventas.sales-template-fast .sales-catalog-panel,
#view-ventas.sales-template-fast .sales-cart-panel {
  min-width: 0;
  min-height: 0;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-lg, var(--radius-xl));
  box-shadow: var(--omega-shadow-sm, var(--shadow));
}

#view-ventas.sales-template-fast .fast-catalog-products {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  grid-auto-rows: auto;
  gap: 7px;
  overflow-x: hidden;
}

#view-ventas.sales-template-fast .fast-product-card {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(88px, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md, 12px);
  background: var(--panel-strong);
}

#view-ventas.sales-template-fast .fast-product-card:not(.has-secondary-unit) {
  grid-template-rows: minmax(88px, 1fr);
}

#view-ventas.sales-template-fast .fast-product-card .fast-product-btn {
  width: 100%;
  min-width: 0;
  min-height: 88px;
  height: auto;
  padding: 8px 7px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#view-ventas.sales-template-fast .fast-product-card .fast-product-btn:hover,
#view-ventas.sales-template-fast .fast-product-card .fast-product-btn:focus-visible {
  background: color-mix(in srgb, var(--accent-soft) 45%, var(--panel-strong));
  transform: none;
}

#view-ventas.sales-template-fast .fast-product-primary-meta {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-fast .fast-product-secondary-btn {
  min-width: 0;
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
  padding: 6px 8px;
  border: 0;
  border-top: 1px solid var(--border-soft);
  border-radius: 0;
  background: color-mix(in srgb, var(--accent-soft) 52%, var(--panel-strong));
  color: var(--ink);
  font-size: .72rem;
  text-align: left;
}

#view-ventas.sales-template-fast .fast-product-secondary-btn span {
  min-width: 0;
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-fast .fast-product-secondary-btn strong {
  font-size: .73rem;
  white-space: nowrap;
}

#view-ventas.sales-template-fast .fast-product-secondary-btn:hover,
#view-ventas.sales-template-fast .fast-product-secondary-btn:focus-visible {
  background: color-mix(in srgb, var(--accent-soft) 74%, var(--panel-strong));
}

#view-ventas.sales-template-fast .fast-product-card:has(:focus-visible) {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}

#view-ventas.sales-template-fast .cart-card {
  min-width: 0;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
  grid-template-areas:
    "title title"
    "cart keypad"
    "cart keypad"
    "actions keypad"
    "notice keypad";
  grid-template-rows: auto minmax(0, 1fr) auto auto;
}

#view-ventas.sales-template-fast #proforma-mode-banner {
  grid-area: notice;
  margin: 0;
}

#view-ventas.sales-template-fast #cart-list {
  min-width: 0;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

#view-ventas.sales-template-fast .fast-cart-table {
  min-width: 0;
  font-variant-numeric: tabular-nums;
}

#view-ventas.sales-template-fast .fast-cart-head,
#view-ventas.sales-template-fast .fast-cart-row {
  min-width: 0;
  grid-template-columns:
    minmax(72px, .7fr)
    minmax(160px, 1.65fr)
    minmax(70px, .64fr)
    minmax(88px, .7fr)
    minmax(74px, .58fr)
    minmax(84px, .74fr)
    36px;
  gap: 7px;
}

#view-ventas.sales-template-fast .fast-cart-row {
  min-height: 58px;
  padding: 6px 7px;
}

#view-ventas.sales-template-fast .fast-cart-product,
#view-ventas.sales-template-fast .fast-cart-quantity,
#view-ventas.sales-template-fast .fast-cart-discount-wrap {
  min-width: 0;
}

#view-ventas.sales-template-fast .fast-cart-product {
  display: grid;
  gap: 3px;
}

#view-ventas.sales-template-fast .fast-cart-name {
  min-width: 0;
}

#view-ventas.sales-template-fast .fast-cart-unit-meta {
  min-width: 0;
  display: grid;
  gap: 1px;
  overflow: hidden;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.12;
  text-overflow: ellipsis;
}

#view-ventas.sales-template-fast .fast-cart-unit-meta span {
  overflow: hidden;
  color: color-mix(in srgb, var(--accent) 76%, var(--muted));
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-fast .fast-cart-keypad-hint {
  width: fit-content;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: .66rem;
  font-weight: 850;
}

#view-ventas.sales-template-fast .fast-cart-quantity {
  display: grid;
  gap: 2px;
  justify-items: stretch;
  text-align: center;
}

#view-ventas.sales-template-fast .fast-cart-quantity small {
  overflow: hidden;
  color: var(--muted);
  font-size: .67rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-fast .fast-cart-discount-wrap {
  display: grid;
  align-items: center;
}

#view-ventas.sales-template-fast .fast-cart-discount-wrap > span {
  display: none;
}

#view-ventas.sales-template-fast .fast-cart-discount {
  min-width: 0;
}

#view-ventas.sales-template-fast .sales-touch-keypad {
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md, 14px);
}

#view-ventas.sales-template-fast .sales-touch-keypad button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 32%, transparent);
  outline-offset: 1px;
}

#view-ventas.sales-template-fast .sales-transaction-actions {
  min-width: 0;
}

@media (min-width: 1101px) and (max-width: 1500px) {
  #view-ventas.sales-template-fast .sales-fast-status-panel {
    grid-template-columns:
      minmax(150px, .7fr)
      minmax(280px, 1.5fr)
      minmax(150px, .7fr)
      minmax(126px, .6fr);
    grid-template-areas:
      "template search total checkout"
      "form form form form";
  }

  #view-ventas.sales-template-fast .sales-fast-status-grid {
    display: none;
  }

  #view-ventas.sales-template-fast .ventas-layout {
    grid-template-columns: minmax(0, 1fr) minmax(285px, 325px);
  }

  #view-ventas.sales-template-fast .cart-card {
    grid-template-columns: minmax(0, 1fr) minmax(204px, 230px);
  }
}

@media (min-width: 1101px) and (max-width: 1420px) {
  #view-ventas.sales-template-fast .fast-cart-head {
    display: none;
  }

  #view-ventas.sales-template-fast .fast-cart-body {
    gap: 7px;
    padding-top: 0;
  }

  #view-ventas.sales-template-fast .fast-cart-row {
    grid-template-columns: minmax(64px, .7fr) minmax(0, 1.65fr) repeat(3, minmax(66px, .72fr)) 36px;
    grid-template-areas:
      "code product product product product delete"
      "price quantity discount discount total delete";
  }

  #view-ventas.sales-template-fast .fast-cart-code {
    grid-area: code;
  }

  #view-ventas.sales-template-fast .fast-cart-product {
    grid-area: product;
  }

  #view-ventas.sales-template-fast .fast-cart-price {
    grid-area: price;
  }

  #view-ventas.sales-template-fast .fast-cart-quantity {
    grid-area: quantity;
  }

  #view-ventas.sales-template-fast .fast-cart-discount-wrap {
    grid-area: discount;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 5px;
  }

  #view-ventas.sales-template-fast .fast-cart-discount-wrap > span {
    display: inline;
    color: var(--muted);
    font-size: .68rem;
  }

  #view-ventas.sales-template-fast .fast-cart-line-total {
    grid-area: total;
  }

  #view-ventas.sales-template-fast .fast-cart-delete {
    grid-area: delete;
    align-self: stretch;
  }
}

@media (max-width: 1100px) {
  body:has(#view-ventas.sales-template-fast.active),
  body:has(#view-ventas.sales-template-fast.active) .content {
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
  }

  body:has(#view-ventas.sales-template-fast.active) .main {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
    padding-bottom: 72px;
  }

  #view-ventas.sales-template-fast {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  #view-ventas.sales-template-fast .sales-fast-status-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "template checkout"
      "search search"
      "total facts"
      "form form";
  }

  #view-ventas.sales-template-fast .sales-fast-form-proxy .sales-fast-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-fast .sales-fast-form-proxy #customer-name {
    grid-column: 1 / -1;
  }

  #view-ventas.sales-template-fast .ventas-layout {
    height: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "catalog"
      "cart";
    overflow: visible;
  }

  #view-ventas.sales-template-fast .ventas-layout > .card:first-child {
    min-height: 470px;
    height: min(54dvh, 560px);
  }

  #view-ventas.sales-template-fast .cart-card {
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "title"
      "cart"
      "actions"
      "notice"
      "keypad";
    grid-template-rows: auto minmax(320px, 46dvh) auto auto auto;
    overflow: visible;
  }

  #view-ventas.sales-template-fast #cart-list {
    height: auto;
    min-height: 320px;
    max-height: 46dvh;
  }

  #view-ventas.sales-template-fast .sales-touch-keypad {
    min-height: 360px;
  }

  #view-ventas.sales-template-fast .sales-touch-keypad button {
    min-height: 48px;
  }
}

@media (min-width: 1101px) and (max-width: 1500px) {
  body:has(#view-ventas.sales-template-fast.active) #view-ventas.sales-template-fast .ventas-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  }

  body:has(#view-ventas.sales-template-fast.active) #view-ventas.sales-template-fast .cart-card {
    grid-template-columns: minmax(0, 1fr) minmax(190px, 220px);
  }

  #view-ventas.sales-template-fast .fast-catalog-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body:has(#view-ventas.sales-template-fast.active) .main {
    padding: 70px 10px 48px;
  }

  #view-ventas.sales-template-fast {
    width: 100%;
    max-width: 100%;
  }

  #view-ventas.sales-template-fast .sales-fast-status-panel {
    grid-template-columns: minmax(0, 1fr) minmax(112px, .72fr);
    grid-template-areas:
      "template checkout"
      "search search"
      "total facts"
      "form form";
    padding: 7px;
  }

  #view-ventas.sales-template-fast .sales-fast-template-slot,
  #view-ventas.sales-template-fast .sales-fast-search-proxy,
  #view-ventas.sales-template-fast .sales-fast-form-proxy {
    padding: 6px;
  }

  #view-ventas.sales-template-fast .sales-fast-search-proxy .inline-tools {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-ventas.sales-template-fast .sales-fast-total strong {
    font-size: clamp(1.15rem, 6vw, 1.65rem);
  }

  #view-ventas.sales-template-fast .sales-fast-status-grid {
    gap: 3px;
  }

  #view-ventas.sales-template-fast .sales-fast-status-grid > div {
    padding: 5px;
  }

  #view-ventas.sales-template-fast .sales-fast-status-grid span {
    font-size: .56rem;
  }

  #view-ventas.sales-template-fast .sales-fast-status-grid strong {
    font-size: .72rem;
  }

  #view-ventas.sales-template-fast .sales-fast-form-proxy .sales-fast-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-fast .sales-fast-form-proxy #customer-name {
    grid-column: 1 / -1;
  }

  #view-ventas.sales-template-fast .ventas-layout > .card:first-child {
    min-height: 430px;
    height: min(58dvh, 520px);
  }

  #view-ventas.sales-template-fast .fast-catalog-categories,
  #view-ventas.sales-template-fast .fast-catalog-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-fast .fast-catalog-toolbar,
  #view-ventas.sales-template-fast .fast-catalog-pager {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 5px;
  }

  #view-ventas.sales-template-fast .fast-catalog-toolbar button,
  #view-ventas.sales-template-fast .fast-catalog-pager button {
    min-width: 0;
    padding: 7px;
    font-size: .72rem;
  }

  #view-ventas.sales-template-fast .fast-product-card {
    grid-template-rows: minmax(92px, 1fr) auto;
  }

  #view-ventas.sales-template-fast .cart-card {
    padding: 7px;
    grid-template-rows: auto minmax(300px, auto) auto auto auto;
  }

  #view-ventas.sales-template-fast #cart-list {
    min-height: 300px;
    max-height: none;
    overflow-x: hidden;
  }

  #view-ventas.sales-template-fast .fast-cart-head {
    display: none;
  }

  #view-ventas.sales-template-fast .fast-cart-body {
    gap: 8px;
    padding-top: 0;
  }

  #view-ventas.sales-template-fast .fast-cart-row {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) minmax(70px, .72fr) 38px;
    grid-template-areas:
      "product product delete"
      "code code delete"
      "price quantity total"
      "discount discount discount";
    gap: 7px;
    padding: 8px;
  }

  #view-ventas.sales-template-fast .fast-cart-code {
    grid-area: code;
    color: var(--muted);
    font-size: .72rem;
  }

  #view-ventas.sales-template-fast .fast-cart-product {
    grid-area: product;
  }

  #view-ventas.sales-template-fast .fast-cart-price {
    grid-area: price;
  }

  #view-ventas.sales-template-fast .fast-cart-quantity {
    grid-area: quantity;
  }

  #view-ventas.sales-template-fast .fast-cart-discount-wrap {
    grid-area: discount;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
  }

  #view-ventas.sales-template-fast .fast-cart-discount-wrap > span {
    display: inline;
    color: var(--muted);
    font-size: .72rem;
  }

  #view-ventas.sales-template-fast .fast-cart-line-total {
    grid-area: total;
  }

  #view-ventas.sales-template-fast .fast-cart-delete {
    grid-area: delete;
    min-width: 38px;
    align-self: stretch;
  }

  #view-ventas.sales-template-fast .fast-cart-price,
  #view-ventas.sales-template-fast .fast-cart-line-total,
  #view-ventas.sales-template-fast .fast-cart-quantity {
    display: grid;
    gap: 2px;
    justify-items: start;
    text-align: left;
  }

  #view-ventas.sales-template-fast .fast-cart-price::before,
  #view-ventas.sales-template-fast .fast-cart-line-total::before,
  #view-ventas.sales-template-fast .fast-cart-quantity::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  #view-ventas.sales-template-fast .sales-transaction-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-fast .sales-touch-keypad {
    min-height: 330px;
    padding: 5px;
  }

  #view-ventas.sales-template-fast .sales-touch-keypad button {
    min-height: 46px;
    font-size: .96rem;
  }
}

@media (max-width: 430px) {
  #view-ventas.sales-template-fast .sales-fast-form-proxy .sales-fast-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-ventas.sales-template-fast .sales-fast-form-proxy #customer-name {
    grid-column: auto;
  }

  #view-ventas.sales-template-fast .fast-catalog-toolbar span,
  #view-ventas.sales-template-fast .fast-catalog-pager span {
    font-size: .68rem;
  }

  #view-ventas.sales-template-fast .sales-transaction-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Paso 9: centro administrativo de Configuracion, Personalizacion e Impresion */
.admin-workspace {
  gap: 14px;
  align-content: start;
}

.admin-workspace-heading {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
  border-radius: var(--omega-radius-lg, 20px);
}

.admin-workspace-heading h2,
.admin-workspace-heading p {
  margin: 0;
}

.admin-workspace-heading h2 {
  font-size: clamp(1.08rem, 1.5vw, 1.35rem);
  line-height: 1.15;
}

.admin-workspace-heading > div > p:last-child {
  max-width: 760px;
  margin-top: 4px;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.35;
}

.admin-section-index {
  min-width: 0;
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 2px;
  scrollbar-width: thin;
}

.admin-section-index a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: var(--surface-1);
  color: var(--ink);
  font-family: var(--omega-font-ui, var(--font-ui));
  font-size: .78rem;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.admin-section-index a:hover,
.admin-section-index a:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--border-soft));
  background: var(--button-soft-bg);
}

#view-configuracion .settings-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#view-configuracion .settings-column {
  gap: 14px;
}

#view-configuracion .settings-column-team {
  grid-column: 1 / -1;
}

#view-configuracion .admin-settings-card {
  scroll-margin-top: 18px;
  padding: 18px;
}

#view-configuracion .admin-settings-card > .card-header {
  margin-bottom: 13px;
}

#view-configuracion .admin-settings-form,
#view-configuracion .settings-card-local-tenants > .form-grid,
#view-configuracion .settings-card-team > .form-grid,
#view-configuracion #supabase-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#view-configuracion .admin-settings-form > label,
#view-configuracion .settings-card-local-tenants > .form-grid > label,
#view-configuracion #supabase-form > label {
  align-content: start;
}

#view-configuracion #settings-form > label:has(#business-type-custom),
#view-configuracion #settings-form > label:has(#restaurant-tables),
#view-configuracion #settings-form > label:has(#business-address),
#view-configuracion #settings-form > label:has(#fiscal-note),
#view-configuracion #settings-form > label:has(#receipt-footer),
#view-configuracion #settings-form > .background-panel,
#view-configuracion #settings-form > .admin-primary-action,
#view-configuracion #platform-form > .admin-primary-action,
#view-configuracion #supabase-form > p,
#view-configuracion #supabase-form > .permission-note,
#view-configuracion #supabase-form > .double-actions,
#view-configuracion #supabase-form > .divider,
#view-configuracion #supabase-form > details {
  grid-column: 1 / -1;
}

#view-configuracion .admin-primary-action {
  width: min(100%, 280px);
  justify-self: end;
}

#view-configuracion .settings-card-team > .form-grid {
  align-items: start;
}

#view-configuracion #user-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-lg, 18px);
  background: var(--surface-1);
}

#view-configuracion #user-form > input[type="hidden"],
#view-configuracion #user-form > .double-actions {
  grid-column: 1 / -1;
}

#view-configuracion #users-list {
  max-height: min(46vh, 420px);
  overflow: auto;
  padding-right: 4px;
}

.admin-danger-zone {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--danger) 28%, var(--border-soft));
  border-radius: var(--omega-radius-lg, 18px);
  background: var(--danger-soft);
}

.admin-danger-zone > span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.admin-danger-zone > button {
  min-width: 0;
}

#view-configuracion .settings-card-platform #legacy-cloud-section,
#view-configuracion .settings-card-platform > .stack,
#view-configuracion .settings-card-supabase {
  margin-top: 12px;
}

#view-configuracion .saas-collapsible summary {
  min-height: 44px;
}

#view-personalizacion .personalization-layout {
  grid-template-columns: minmax(0, 1.36fr) minmax(300px, .64fr);
  gap: 14px;
}

#view-personalizacion .personalization-workspace-heading {
  grid-column: 1 / -1;
}

#view-personalizacion .personalization-card,
#view-personalizacion .personalization-branding-card {
  padding: 18px;
}

#view-personalizacion .card-header {
  margin-bottom: 13px;
}

#view-personalizacion .personalization-preview-card {
  min-height: 0;
  margin: 12px 0 14px;
  padding: 14px;
}

#view-personalizacion .theme-preview-hero {
  gap: 12px;
}

#view-personalizacion .theme-preview-metrics {
  gap: 8px;
}

#view-personalizacion .theme-preview-mini-card {
  min-height: 0;
  padding: 11px 12px;
}

#view-personalizacion .personalization-settings-form {
  gap: 14px;
}

#view-personalizacion .theme-preset-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#view-personalizacion .theme-preset-card {
  min-height: 112px;
  padding: 12px;
  border-radius: var(--omega-radius-lg, 18px);
}

#view-personalizacion .personalization-color-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#view-personalizacion .color-card {
  min-height: 84px;
  padding: 10px;
}

#view-personalizacion .admin-primary-action {
  width: min(100%, 300px);
  justify-self: end;
}

.personalization-assets-grid {
  display: grid;
  gap: 12px;
}

.personalization-asset-panel {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 13px;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-lg, 18px);
  background: var(--surface-1);
}

.personalization-asset-panel p {
  margin: 4px 0 0;
  font-size: .78rem;
  line-height: 1.35;
}

.personalization-asset-panel .logo-preview-card,
.personalization-asset-panel .background-preview-card {
  min-height: 138px;
}

#view-impresion .printing-overview-card {
  padding: 18px;
}

#view-impresion .printing-overview-card .card-header {
  margin-bottom: 12px;
}

#view-impresion .printing-overview-card > .stack {
  gap: 10px;
}

#view-impresion .printing-overview-facts {
  gap: 8px;
}

#view-impresion .printing-overview-facts .summary-row {
  padding: 11px 13px;
  border-radius: var(--omega-radius-md, 15px);
}

.printing-primary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.printing-resource-group {
  margin: 0;
}

.printing-resource-group summary {
  min-height: 44px;
}

.printing-resource-group .double-actions > * {
  flex: 1 1 190px;
}

.printing-test-group {
  border-color: color-mix(in srgb, var(--danger) 24%, var(--border-soft));
  background: color-mix(in srgb, var(--danger-soft) 58%, var(--panel));
}

#print-module-host {
  gap: 14px;
}

#print-module-host > .card {
  padding: 18px;
}

#print-module-host .card-header {
  margin-bottom: 13px;
}

#view-impresion .printing-setup {
  gap: 13px;
}

#view-impresion .printing-step {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  padding: 15px;
  border-radius: var(--omega-radius-xl, 22px);
}

#view-impresion .printing-step-number {
  width: 36px;
  height: 36px;
  border-radius: 12px;
}

#view-impresion .printing-step-content {
  gap: 13px;
}

#view-impresion .printing-step-heading h4 {
  font-size: 1rem;
}

#view-impresion .printing-step-heading p,
#view-impresion .field-help {
  font-size: .78rem;
}

#view-impresion .printing-step .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

#view-impresion .printing-step .form-grid > .printing-field-action,
#view-impresion .printing-step .form-grid > .double-actions,
#view-impresion .printing-step .form-grid > details {
  grid-column: 1 / -1;
}

#view-impresion .printing-agent-facts {
  gap: 8px;
}

#view-impresion .printing-agent-facts span {
  padding: 10px 12px;
}

#view-impresion .printing-save-actions {
  bottom: 10px;
  padding: 10px;
}

@media (max-width: 1180px) {
  #view-configuracion .settings-layout,
  #view-configuracion .settings-layout.platform-focused,
  #view-personalizacion .personalization-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-configuracion .settings-column-team,
  #view-personalizacion .personalization-workspace-heading {
    grid-column: auto;
  }

  #view-personalizacion .personalization-assets-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-personalizacion .personalization-branding-card {
    order: 3;
  }

  #view-impresion .printing-step .form-grid,
  #view-impresion .printing-platform-grid,
  #view-impresion .printing-preferences-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .admin-workspace-heading {
    display: grid;
    gap: 10px;
    padding: 12px 14px;
  }

  .admin-section-index {
    width: 100%;
  }

  #view-configuracion .admin-settings-card,
  #view-personalizacion .personalization-card,
  #view-personalizacion .personalization-branding-card,
  #view-impresion .printing-overview-card,
  #print-module-host > .card {
    padding: 14px;
  }

  #view-configuracion .admin-settings-form,
  #view-configuracion .settings-card-local-tenants > .form-grid,
  #view-configuracion .settings-card-team > .form-grid,
  #view-configuracion #supabase-form,
  #view-configuracion #user-form,
  #view-personalizacion .personalization-controls-grid,
  #view-personalizacion .personalization-color-grid,
  #view-personalizacion .personalization-assets-grid,
  #view-impresion .printing-step .form-grid,
  .printing-primary-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-configuracion #settings-form > *,
  #view-configuracion #platform-form > *,
  #view-configuracion #supabase-form > *,
  #view-configuracion #user-form > * {
    grid-column: auto;
  }

  #view-configuracion .inline-field {
    align-items: stretch;
    flex-direction: column;
  }

  #view-configuracion .admin-primary-action,
  #view-personalizacion .admin-primary-action {
    width: 100%;
  }

  #view-personalizacion .theme-preset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-personalizacion .theme-preset-card {
    min-height: 104px;
  }

  #view-impresion .printing-step {
    grid-template-columns: minmax(0, 1fr);
    padding: 13px;
  }

  #view-impresion .printing-step-heading {
    gap: 10px;
  }

  #view-impresion .printing-save-actions {
    position: static;
  }
}

#view-impresion .permission-note code,
#view-impresion .field-help code {
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 430px) {
  #view-personalizacion .theme-preset-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-impresion .printing-overview-facts {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-impresion .printing-resource-group summary {
    align-items: flex-start;
  }

  #view-impresion .printing-resource-group summary .badge {
    min-height: 28px;
    padding: 5px 8px;
    font-size: .7rem;
  }
}

/* Omega POS v2.0 shared visual system.
   These classes are intentionally additive so module logic and legacy selectors stay untouched. */
:root[data-ui-density="compact"],
[data-ui-density="compact"] {
  --omega-density-gap: var(--omega-space-2);
  --omega-density-padding: var(--omega-space-3);
  --omega-density-control: var(--omega-control-sm);
}
:root[data-ui-density="comfortable"],
[data-ui-density="comfortable"],
:root[data-ui-density="normal"],
[data-ui-density="normal"] {
  --omega-density-gap: var(--omega-space-4);
  --omega-density-padding: var(--omega-space-5);
  --omega-density-control: var(--omega-control-md);
}
:root[data-ui-density="large"],
[data-ui-density="large"],
:root[data-ui-density="touch"],
[data-ui-density="touch"] {
  --omega-density-gap: var(--omega-space-5);
  --omega-density-padding: var(--omega-space-6);
  --omega-density-control: var(--omega-control-lg);
}

:where(.omega-card, .omega-card-kpi, .omega-card-elevated, .omega-card-alert) {
  min-width: 0;
  padding: var(--omega-density-padding);
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-lg, var(--radius-xl));
  background: var(--panel, var(--omega-surface));
  color: var(--ink, var(--omega-text));
  box-shadow: var(--omega-shadow-card, var(--shadow));
}
.omega-card-kpi {
  display: grid;
  align-content: center;
  gap: var(--omega-space-1);
  min-height: clamp(92px, 10vh, 132px);
}
.omega-card-elevated {
  background: var(--panel-strong, var(--omega-surface-elevated));
  border-color: var(--omega-border-strong, var(--border-soft));
  box-shadow: var(--omega-shadow-panel, var(--shadow));
}
.omega-card-alert {
  border-color: color-mix(in srgb, var(--omega-warning, var(--accent-2)) 34%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--omega-warning, var(--accent-2)) 12%, transparent), transparent),
    var(--panel, var(--omega-surface));
}
.omega-card-danger {
  border-color: color-mix(in srgb, var(--omega-danger, var(--danger)) 36%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--omega-danger, var(--danger)) 14%, transparent), transparent),
    var(--panel, var(--omega-surface));
}

.omega-panel {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: var(--omega-density-gap);
  padding: var(--omega-density-padding);
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-xl, var(--radius-xl));
  background: var(--panel, var(--omega-surface));
  box-shadow: var(--omega-shadow-panel, var(--shadow));
}
.omega-panel-header,
.omega-panel-footer {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--omega-space-3);
  flex-wrap: wrap;
}
.omega-panel-title {
  margin: 0;
  font-size: var(--omega-font-xl);
  line-height: 1.05;
}
.omega-panel-body,
.omega-panel-scroll {
  min-width: 0;
  min-height: 0;
}
.omega-panel-scroll {
  overflow: auto;
  overscroll-behavior: contain;
}

:where(.omega-btn, .omega-btn-primary, .omega-btn-secondary, .omega-btn-soft, .omega-btn-danger, .omega-btn-ghost) {
  min-width: 0;
  min-height: var(--omega-density-control);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--omega-space-2);
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: var(--omega-radius-md);
  font: inherit;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
:where(.omega-btn, .omega-btn-primary, .omega-btn-secondary, .omega-btn-soft, .omega-btn-danger, .omega-btn-ghost):hover {
  transform: translateY(-1px);
}
.omega-btn-primary {
  color: var(--button-primary-ink, var(--omega-text));
  background: var(--button-primary-bg, var(--omega-primary));
  box-shadow: var(--omega-shadow-sm);
}
.omega-btn-secondary {
  color: var(--button-secondary-ink, var(--omega-text));
  background: var(--button-secondary-bg, var(--omega-surface-soft));
  border-color: var(--omega-border, var(--border-soft));
}
.omega-btn-soft,
.omega-btn-ghost {
  color: var(--button-soft-ink, var(--ink));
  background: var(--button-soft-bg, var(--omega-surface-soft));
  border-color: var(--button-soft-border, var(--omega-border));
}
.omega-btn-danger {
  color: var(--badge-danger-ink, #fff);
  background: var(--badge-danger-bg, color-mix(in srgb, var(--omega-danger) 22%, transparent));
  border-color: color-mix(in srgb, var(--omega-danger, var(--danger)) 28%, transparent);
}
:where(.omega-btn, .omega-btn-primary, .omega-btn-secondary, .omega-btn-soft, .omega-btn-danger, .omega-btn-ghost):disabled,
:where(.omega-btn, .omega-btn-primary, .omega-btn-secondary, .omega-btn-soft, .omega-btn-danger, .omega-btn-ghost)[aria-disabled="true"] {
  opacity: .48;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
}

:where(.omega-input, .omega-select, .omega-textarea) {
  width: 100%;
  min-width: 0;
  min-height: var(--omega-density-control);
  padding: 10px 14px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--omega-surface-soft));
  color: var(--ink, var(--omega-text));
  font: inherit;
  line-height: 1.2;
}
.omega-textarea {
  min-height: 96px;
  resize: vertical;
}
:where(.omega-input, .omega-select, .omega-textarea, .input, input, select, textarea)::placeholder {
  color: color-mix(in srgb, var(--muted, var(--omega-muted)) 78%, transparent);
  opacity: 1;
}
:where(.omega-input, .omega-select, .omega-textarea, .input, input, select, textarea):disabled {
  background: color-mix(in srgb, var(--panel-strong, var(--omega-surface-soft)) 74%, transparent);
  color: color-mix(in srgb, var(--muted, var(--omega-muted)) 78%, transparent);
}

.omega-table-wrap {
  min-width: 0;
  overflow: auto;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--omega-surface-soft));
}
.omega-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--omega-font-sm);
}
.omega-table th,
.omega-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--omega-border, var(--border-soft));
  text-align: left;
  vertical-align: middle;
}
.omega-table th {
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.omega-table tr:last-child td { border-bottom: 0; }
.omega-table-row-active,
.omega-list-item-active {
  background: color-mix(in srgb, var(--omega-focus, var(--accent)) 14%, transparent);
  outline: 1px solid color-mix(in srgb, var(--omega-focus, var(--accent)) 32%, transparent);
}
.omega-list {
  min-width: 0;
  display: grid;
  gap: var(--omega-space-2);
}
.omega-list-item {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--omega-space-3);
  padding: 12px 14px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--omega-surface-soft));
}

:where(.omega-badge, .omega-chip) {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: 999px;
  font-size: var(--omega-font-xs);
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.omega-badge,
.omega-chip {
  color: var(--badge-soft-ink, var(--ink));
  background: var(--badge-soft-bg, var(--omega-surface-soft));
}
.omega-badge-primary,
.omega-chip-primary {
  color: var(--badge-primary-ink, var(--ink));
  background: var(--badge-primary-bg, var(--omega-surface-soft));
  border-color: var(--button-soft-border, var(--omega-border));
}
.omega-badge-success,
.omega-chip-success {
  color: var(--omega-success);
  background: color-mix(in srgb, var(--omega-success) 14%, transparent);
  border-color: color-mix(in srgb, var(--omega-success) 28%, transparent);
}
.omega-badge-warning,
.omega-chip-warning {
  color: var(--status-warn-ink, var(--omega-warning));
  background: var(--status-warn-bg, color-mix(in srgb, var(--omega-warning) 14%, transparent));
  border-color: color-mix(in srgb, var(--omega-warning) 28%, transparent);
}
.omega-badge-danger,
.omega-chip-danger {
  color: var(--badge-danger-ink, var(--omega-danger));
  background: var(--badge-danger-bg, color-mix(in srgb, var(--omega-danger) 14%, transparent));
  border-color: color-mix(in srgb, var(--omega-danger) 28%, transparent);
}

.omega-empty-state {
  min-width: 0;
  display: grid;
  place-items: center;
  gap: var(--omega-space-2);
  min-height: 120px;
  padding: var(--omega-space-5);
  border: 1px dashed var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  color: var(--muted, var(--omega-muted));
  text-align: center;
}
.omega-empty-title {
  margin: 0;
  color: var(--ink, var(--omega-text));
  font-size: var(--omega-font-lg);
}
.omega-empty-text {
  margin: 0;
  max-width: 56ch;
  line-height: 1.35;
}

.omega-grid,
.omega-grid-2,
.omega-grid-3,
.omega-grid-4,
.omega-layout-1-1,
.omega-layout-2-1 {
  min-width: 0;
  display: grid;
  gap: var(--omega-density-gap);
}
.omega-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.omega-grid-2,
.omega-layout-1-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.omega-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.omega-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.omega-layout-2-1 { grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); }

:where(.main, .sidebar, .omega-panel-scroll, .omega-table-wrap, .picker-list, .app-dialog-body, #cart-list, #catalog-grid, #customers-list, #customer-form, #receivables-list, #suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history, #inventory-table, #product-form) {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--ink, var(--omega-text)) 30%, transparent) transparent;
}
:where(.main, .sidebar, .omega-panel-scroll, .omega-table-wrap, .picker-list, .app-dialog-body, #cart-list, #catalog-grid, #customers-list, #customer-form, #receivables-list, #suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history, #inventory-table, #product-form)::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
:where(.main, .sidebar, .omega-panel-scroll, .omega-table-wrap, .picker-list, .app-dialog-body, #cart-list, #catalog-grid, #customers-list, #customer-form, #receivables-list, #suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history, #inventory-table, #product-form)::-webkit-scrollbar-track {
  background: transparent;
}
:where(.main, .sidebar, .omega-panel-scroll, .omega-table-wrap, .picker-list, .app-dialog-body, #cart-list, #catalog-grid, #customers-list, #customer-form, #receivables-list, #suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history, #inventory-table, #product-form)::-webkit-scrollbar-thumb {
  border: 3px solid transparent;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ink, var(--omega-text)) 26%, transparent);
  background-clip: content-box;
}
:where(.main, .sidebar, .omega-panel-scroll, .omega-table-wrap, .picker-list, .app-dialog-body, #cart-list, #catalog-grid, #customers-list, #customer-form, #receivables-list, #suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history, #inventory-table, #product-form)::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--omega-focus, var(--accent)) 42%, transparent);
  background-clip: content-box;
}

:where(a, button, input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--omega-focus, var(--accent)) 54%, transparent);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media (prefers-contrast: more) {
  :root {
    --omega-border: color-mix(in srgb, var(--omega-text) 44%, transparent);
    --omega-border-strong: color-mix(in srgb, var(--omega-text) 62%, transparent);
  }
}
@media (max-width: 920px) {
  .omega-grid-3,
  .omega-grid-4,
  .omega-layout-2-1 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .omega-grid-2,
  .omega-layout-1-1 {
    grid-template-columns: 1fr;
  }
  :where(.omega-card, .omega-card-kpi, .omega-card-elevated, .omega-card-alert, .omega-panel) {
    border-radius: var(--omega-radius-md);
  }
}

.quick-user-switch { display: grid; gap: 8px; margin-top: 8px; }
.sidebar .card { flex-shrink: 0; }
.app-dialog-overlay {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 20, 16, 0.42);
  backdrop-filter: blur(8px);
}
#app-dialog-overlay {
  z-index: 10060;
}
#quick-checkout-overlay {
  z-index: 10030;
}
.app-dialog-card {
  width: min(100%, 620px);
  display: grid;
  gap: 16px;
  padding: 24px;
  border-radius: 28px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
  box-shadow: 0 28px 60px rgba(15, 20, 16, 0.24);
}
.app-dialog-header {
  align-items: flex-start;
  margin-bottom: 0;
}
.app-dialog-close {
  min-height: 44px;
  padding: 10px 14px;
}
.app-dialog-body {
  max-height: min(60vh, 520px);
  overflow: auto;
}
.support-bubble {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 10000;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: var(--button-primary-bg);
  color: var(--button-primary-ink);
  box-shadow: 0 16px 32px rgba(15, 20, 16, .22);
  cursor: pointer;
}
body.saas-overlay-open .support-bubble,
body.session-locked .support-bubble {
  display: none;
}
.support-message-preview {
  white-space: pre-wrap;
  margin: 0;
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.dialog-detail-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.dialog-detail-card {
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--surface-1);
  border: 1px solid var(--border-soft);
}
.dialog-detail-card span {
  display: block;
  margin-bottom: 6px;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.dialog-detail-card strong {
  font-size: 1rem;
  word-break: break-word;
}
body.session-locked,
body.dialog-open,
body.saas-overlay-open {
  overflow: hidden;
}
.saas-hosted .sidebar {
  background: var(--sidebar-bg);
}
.saas-access-overlay {
  position: fixed;
  inset: 0;
  z-index: 9700;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: clamp(16px, 4vw, 34px);
  overflow: auto;
  background:
    radial-gradient(circle at 18% 18%, rgba(0, 123, 255, 0.28), transparent 32%),
    linear-gradient(135deg, rgba(3, 26, 61, 0.94), rgba(6, 43, 99, 0.88));
  backdrop-filter: blur(12px);
}
.saas-access-shell {
  width: min(100%, 920px);
  display: grid;
  gap: 14px;
}
.saas-splash {
  display: flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  max-width: 100%;
  padding: 12px 16px;
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(216, 221, 226, 0.28);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(3, 26, 61, 0.28);
}
.saas-splash-logo {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 16px;
  color: #031A3D;
  background: #FFFFFF;
  font-size: 1.45rem;
  font-weight: 900;
  animation: omegaSplashPulse 1.7s ease-in-out infinite;
}
.saas-splash-copy {
  display: grid;
  gap: 2px;
}
.saas-splash-copy strong {
  font-size: 1rem;
}
.saas-splash-copy span {
  color: #D8DDE2;
  font-size: 0.92rem;
}
@keyframes omegaSplashPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.36);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 9px rgba(255, 255, 255, 0);
  }
}
.saas-access-card {
  width: min(100%, 720px);
  display: grid;
  gap: 14px;
  padding: clamp(20px, 3vw, 30px);
  border-radius: 32px;
  color: #031A3D;
  background: #FFFFFF;
  border: 1px solid rgba(216, 221, 226, 0.8);
  box-shadow: 0 30px 70px rgba(3, 26, 61, 0.34);
}
.saas-access-brand-row {
  display: flex;
  align-items: center;
  gap: 16px;
}
.saas-access-client-logo {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 24px;
  color: #FFFFFF;
  background:
    linear-gradient(135deg, #007BFF, #062B63);
  border: 1px solid rgba(154, 163, 170, 0.38);
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.saas-access-client-logo.has-image {
  background-color: #FFFFFF;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: transparent;
}
.saas-access-brand-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.saas-access-card .eyebrow {
  color: #007BFF;
}
.saas-access-branch-copy {
  color: #59636e;
  font-weight: 800;
  margin: 0;
}
.saas-access-card h2 {
  font-size: clamp(1.8rem, 3.4vw, 2.9rem);
  margin-bottom: 0;
  color: #031A3D;
}
.saas-access-card .muted {
  color: #59636e;
}
.saas-access-card .permission-note {
  color: #062B63;
  background: rgba(0, 123, 255, 0.08);
  border-color: rgba(0, 123, 255, 0.22);
}
.saas-access-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.saas-access-card .input {
  color: #031A3D;
  background: #FFFFFF;
  border-color: #D8DDE2;
}
.saas-access-card .input:focus {
  border-color: #007BFF;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.14);
}
.saas-access-card .double-actions > * {
  flex: 1 1 170px;
}
.saas-access-powered {
  margin: 0;
  color: #9AA3AA;
  font-size: 0.9rem;
  text-align: center;
}
.saas-access-powered strong {
  color: #062B63;
}
@media (max-width: 720px) {
  .saas-access-overlay {
    align-items: start;
  }
  .saas-access-shell {
    gap: 10px;
  }
  .saas-splash {
    width: 100%;
  }
  .saas-access-card {
    border-radius: 24px;
  }
  .saas-access-brand-row {
    align-items: flex-start;
  }
  .saas-access-client-logo {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 1rem;
  }
  .saas-access-form {
    grid-template-columns: 1fr;
  }
}
.quick-checkout-card {
  width: min(100%, 640px);
}
.quick-checkout-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.quick-checkout-print-row {
  align-self: end;
  min-height: 52px;
  padding: 0 2px;
}
.quick-checkout-print-row span {
  font-weight: 700;
}
.inventory-quick-actions > * {
  flex: 1 1 180px;
}
.session-lock-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 20, 16, 0.56);
  backdrop-filter: blur(10px);
}
.session-lock-card {
  width: min(100%, 460px);
  display: grid;
  gap: 16px;
  padding: 28px;
  border-radius: 28px;
  background: var(--panel-strong);
  border: 1px solid var(--border-soft);
  box-shadow: 0 26px 60px rgba(15, 20, 16, 0.24);
}
#view-impresion .panel-grid.two-col-wide {
  grid-template-columns: minmax(0, 1fr);
}
.printing-overview-card .stack {
  gap: 14px;
}
.printing-overview-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.printing-overview-facts .summary-row {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--border-soft);
  border-radius: 18px;
  background: var(--panel-strong);
  display: grid;
  gap: 5px;
}
.printing-overview-facts .summary-row strong {
  overflow-wrap: anywhere;
}
.printing-setup {
  display: grid;
  gap: 18px;
}
.printing-step {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--border-soft);
  border-radius: 24px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface-1) 92%, transparent), color-mix(in srgb, var(--surface-2) 88%, transparent));
}
.printing-step-number {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--button-primary-bg);
  color: var(--button-primary-ink);
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(15, 20, 16, .12);
}
.printing-step-content {
  min-width: 0;
  display: grid;
  gap: 16px;
}
.printing-step-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.printing-step-heading h4 {
  margin: 0 0 4px;
  font-size: 1.1rem;
}
.printing-step-heading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.35;
}
.printing-agent-panel {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--button-primary-bg) 16%, transparent), transparent 44%),
    var(--surface-1);
}
.printing-agent-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.printing-agent-facts span {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  background: var(--panel-strong);
}
.printing-agent-facts small,
.printing-agent-facts strong {
  display: block;
}
.printing-agent-facts small {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.printing-agent-facts strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.printing-platform-grid {
  grid-template-columns: minmax(240px, .72fr) minmax(280px, 1.28fr);
  align-items: end;
}
.printing-platform-grid .permission-note {
  min-height: 76px;
  display: flex;
  align-items: center;
}
.printing-preferences-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.printing-field-action {
  display: flex;
  align-items: end;
}
.printing-field-action > button {
  width: 100%;
  min-height: 52px;
}
.printing-advanced,
.printing-agent-advanced {
  margin-top: 2px;
}
.printing-save-actions {
  position: sticky;
  bottom: 12px;
  z-index: 4;
  padding: 12px;
  border: 1px solid var(--border-soft);
  border-radius: 20px;
  background: color-mix(in srgb, var(--panel-strong) 92%, transparent);
  backdrop-filter: blur(12px);
  box-shadow: 0 14px 30px rgba(15, 20, 16, .12);
}
.printing-save-actions .primary {
  flex: 1 1 260px;
}
@media (max-width: 1180px) {
  .stats-grid.six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .printing-overview-facts {
    grid-template-columns: 1fr;
  }
  .quick-checkout-grid,
  .sales-fast-grid {
    grid-template-columns: 1fr;
  }
  .support-bubble {
    right: 12px;
    bottom: 12px;
  }
  .printing-step {
    grid-template-columns: 1fr;
  }
  .printing-step-number {
    width: 36px;
    height: 36px;
  }
  .printing-step-heading {
    display: grid;
  }
  .printing-agent-facts,
  .printing-platform-grid,
  .printing-preferences-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .printing-overview-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sales-fast-status-panel,
  .sales-template-fast .ventas-layout > .card:first-child,
  .sales-template-fast .cart-card {
    grid-template-columns: 1fr;
  }
  .sales-template-fast .ventas-layout > .card:first-child {
    grid-template-areas:
      "search"
      "products";
  }
  .sales-template-fast .cart-card {
    grid-template-areas:
      "title"
      "cart"
      "keypad"
      "actions"
      "shift";
  }
  .sales-fast-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 761px) {
  body:has(#view-ventas.sales-template-fast.active) .sales-template-fast .ventas-layout {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 390px);
    grid-template-areas: "cart catalog";
  }
  body:has(#view-ventas.sales-template-fast.active) .sales-template-fast .cart-card {
    grid-template-columns: minmax(0, 1fr) minmax(218px, 270px);
    grid-template-areas:
      "title title"
      "cart keypad"
      "cart keypad"
      "actions keypad"
      "shift shift";
  }
  body:has(#view-ventas.sales-template-fast.active) .sales-template-fast .ventas-layout > .card:first-child {
    grid-template-columns: 1fr;
    grid-template-areas:
      "search"
      "products";
  }
}

/* Paso 5 - Dashboard v2.0.
   All rules stay scoped to the dashboard so the remaining POS modules keep their layout. */
#view-dashboard {
  --dashboard-gap: clamp(14px, 1.15vw, 20px);
  min-width: 0;
  min-height: 0;
  gap: var(--dashboard-gap);
  align-content: start;
}

#view-dashboard .dashboard-identity {
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
  grid-template-rows: auto;
  align-items: center;
  gap: var(--dashboard-gap);
  padding: clamp(16px, 1.5vw, 22px);
}

#view-dashboard .dashboard-identity-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

#view-dashboard .dashboard-client-logo {
  width: 66px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 78%, transparent), var(--surface-2));
  box-shadow: var(--omega-shadow-sm);
}

#view-dashboard .dashboard-client-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#view-dashboard .dashboard-client-logo img[hidden] {
  display: none !important;
}

#view-dashboard .dashboard-client-logo .brand-fallback {
  font-size: 1.7rem;
}

#view-dashboard .dashboard-identity-copy {
  min-width: 0;
}

#view-dashboard .dashboard-identity-copy .eyebrow {
  margin-bottom: 5px;
  letter-spacing: .16em;
}

#view-dashboard .dashboard-identity-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#view-dashboard .dashboard-identity-title h2 {
  min-width: 0;
  margin: 0;
  font-size: clamp(1.45rem, 2vw, 2.05rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

#view-dashboard .dashboard-identity-copy > .muted {
  margin: 7px 0 10px;
  line-height: 1.28;
}

#view-dashboard .hero-tags {
  gap: 7px;
}

#view-dashboard .hero-tags .omega-chip,
#view-dashboard .dashboard-detail-summary .omega-badge {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.15;
  text-align: center;
}

#view-dashboard .dashboard-identity-actions {
  max-width: 420px;
  justify-self: end;
  justify-content: flex-end;
  gap: 8px;
}

#view-dashboard .dashboard-identity-actions > * {
  flex: 1 1 180px;
  min-height: 42px;
  padding: 9px 13px;
  font-size: var(--omega-font-sm);
}

#view-dashboard .dashboard-kpi-grid {
  grid-template-columns: repeat(6, minmax(128px, 1fr));
  gap: clamp(10px, .9vw, 16px);
  align-items: stretch;
}

#view-dashboard .dashboard-kpi-card {
  min-height: 90px;
  align-content: center;
  gap: 4px;
  padding: clamp(13px, 1.1vw, 18px);
}

#view-dashboard .dashboard-kpi-card .label {
  min-height: 2.1em;
  margin: 0;
  font-size: clamp(.74rem, .78vw, .86rem);
  line-height: 1.12;
}

#view-dashboard .dashboard-kpi-card h3 {
  margin: 0;
  font-size: clamp(1.1rem, 1.36vw, 1.48rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

#view-dashboard .dashboard-kpi-alert h3 {
  color: var(--status-warn-ink, var(--omega-warning));
}

#view-dashboard .dashboard-operations {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(360px, 1.45fr) minmax(250px, .8fr) minmax(260px, .85fr);
  grid-template-areas:
    "stock recent shift"
    "stock sellers shift";
  gap: var(--dashboard-gap);
  align-items: stretch;
}

#view-dashboard .dashboard-panel {
  min-width: 0;
  min-height: 0;
  gap: 12px;
  padding: clamp(15px, 1.25vw, 20px);
}

#view-dashboard .dashboard-panel .card-header {
  margin: 0;
}

#view-dashboard .dashboard-panel .omega-panel-title {
  font-size: clamp(1rem, 1.15vw, 1.22rem);
}

#view-dashboard .dashboard-stock-panel {
  grid-area: stock;
}

#view-dashboard .dashboard-recent-panel {
  grid-area: recent;
}

#view-dashboard .dashboard-shift-panel {
  grid-area: shift;
  align-self: start;
}

#view-dashboard .dashboard-sellers-panel {
  grid-area: sellers;
}

#view-dashboard .dashboard-stock-panel:has(.omega-empty-state) {
  align-self: start;
}

#view-dashboard .dashboard-operations:has(.dashboard-stock-panel .omega-empty-state) {
  grid-template-areas:
    "stock recent shift"
    "sellers recent shift";
}

#view-dashboard .dashboard-feed {
  min-width: 0;
  min-height: 0;
  gap: 8px;
}

#view-dashboard .dashboard-stock-panel .dashboard-feed,
#view-dashboard .dashboard-recent-panel .dashboard-feed,
#view-dashboard .dashboard-sellers-panel .dashboard-feed {
  max-height: min(49vh, 520px);
  padding-right: 3px;
}

#view-dashboard .dashboard-feed-row,
#view-dashboard .dashboard-stock-row,
#view-dashboard .dashboard-health-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--surface-1));
}

#view-dashboard .dashboard-feed-main {
  gap: 3px;
}

#view-dashboard .dashboard-feed-main strong,
#view-dashboard .dashboard-stock-row strong {
  line-height: 1.14;
}

#view-dashboard .dashboard-feed-main .muted,
#view-dashboard .dashboard-stock-row .muted,
#view-dashboard .shift-row .muted {
  font-size: var(--omega-font-sm);
  line-height: 1.22;
}

#view-dashboard #shift-status-panel {
  gap: 8px;
}

#view-dashboard #shift-status-panel .shift-row,
#view-dashboard #shift-status-panel .summary-row {
  padding: 11px 12px;
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--surface-1));
}

#view-dashboard #shift-status-panel .badge {
  justify-self: end;
}

#view-dashboard .dashboard-system-overview {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: var(--dashboard-gap);
  align-items: start;
}

#view-dashboard .dashboard-health-panel {
  min-height: 0;
}

#view-dashboard #system-health-list {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  max-height: min(31vh, 310px);
  padding-right: 3px;
}

#view-dashboard .dashboard-health-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  padding: 9px 11px;
  font-size: var(--omega-font-sm);
}

#view-dashboard .dashboard-health-row strong {
  max-width: 22ch;
  text-align: right;
}

#view-dashboard .dashboard-technical-stack {
  min-width: 0;
  display: grid;
  gap: var(--dashboard-gap);
}

#view-dashboard .dashboard-detail-panel {
  display: grid;
  grid-template-rows: auto;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

#view-dashboard .dashboard-detail-panel[open] {
  gap: 12px;
  padding-bottom: clamp(14px, 1.2vw, 18px);
}

#view-dashboard .dashboard-detail-summary {
  min-width: 0;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: clamp(14px, 1.2vw, 18px);
  color: var(--ink);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

#view-dashboard .dashboard-detail-summary::-webkit-details-marker {
  display: none;
}

#view-dashboard .dashboard-detail-summary::before {
  content: "+";
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: 50%;
  color: var(--accent);
  background: var(--panel-strong, var(--surface-1));
}

#view-dashboard .dashboard-detail-panel[open] .dashboard-detail-summary::before {
  content: "−";
}

#view-dashboard .dashboard-detail-summary > span:first-of-type {
  min-width: 0;
  margin-right: auto;
}

#view-dashboard .dashboard-detail-panel > .omega-panel-scroll {
  max-height: min(37vh, 360px);
  margin: 0 clamp(14px, 1.2vw, 18px);
  padding-right: 3px;
}

#view-dashboard .dashboard-status-card {
  gap: 6px;
  padding: 11px 12px;
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--surface-1));
}

#view-dashboard .dashboard-status-card p {
  margin: 0;
  font-size: var(--omega-font-sm);
  line-height: 1.28;
}

#view-dashboard .omega-empty-state,
#view-dashboard .empty-state {
  min-height: 96px;
  place-items: center;
  padding: 18px;
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel-strong, var(--surface-1)) 72%, transparent);
  text-align: center;
}

@media (max-width: 1500px) {
  #view-dashboard .dashboard-identity-copy .eyebrow {
    display: none;
  }

  #view-dashboard .dashboard-identity-copy > .muted {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #view-dashboard .dashboard-operations {
    grid-template-columns: minmax(360px, 1.24fr) minmax(300px, .76fr);
    grid-template-areas:
      "stock recent"
      "stock shift"
      "sellers shift";
  }

  #view-dashboard .dashboard-operations:has(.dashboard-stock-panel .omega-empty-state) {
    grid-template-areas:
      "stock recent"
      "sellers shift";
  }

  #view-dashboard .dashboard-shift-panel {
    align-self: stretch;
  }
}

@media (max-width: 1180px) {
  #view-dashboard .dashboard-identity {
    grid-template-columns: 1fr;
  }

  #view-dashboard .dashboard-identity-actions {
    width: 100%;
    max-width: none;
    justify-self: stretch;
    justify-content: flex-start;
  }

  #view-dashboard .dashboard-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-dashboard .dashboard-operations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "stock recent"
      "shift sellers";
  }

  #view-dashboard .dashboard-operations:has(.dashboard-stock-panel .omega-empty-state) {
    grid-template-areas:
      "stock recent"
      "shift sellers";
  }

  #view-dashboard .dashboard-shift-panel {
    align-self: start;
  }

  #view-dashboard .dashboard-system-overview {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  #view-dashboard .dashboard-operations,
  #view-dashboard .dashboard-operations:has(.dashboard-stock-panel .omega-empty-state) {
    grid-template-columns: 1fr;
    grid-template-areas:
      "stock"
      "recent"
      "shift"
      "sellers";
  }

  #view-dashboard .dashboard-shift-panel {
    align-self: start;
  }
}

@media (max-width: 760px) {
  #view-dashboard .dashboard-identity-main {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
  }

  #view-dashboard .dashboard-client-logo {
    width: 54px;
    border-radius: 14px;
  }

  #view-dashboard .dashboard-identity-title {
    align-items: flex-start;
  }

  #view-dashboard .dashboard-identity-copy > .muted {
    display: -webkit-box;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  #view-dashboard #system-health-list {
    grid-template-columns: 1fr;
    max-height: 340px;
  }

  #view-dashboard .dashboard-feed-row,
  #view-dashboard .dashboard-stock-row,
  #view-dashboard .dashboard-health-row,
  #view-dashboard #shift-status-panel .shift-row,
  #view-dashboard #shift-status-panel .summary-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (min-width: 561px) and (max-width: 980px) {
  .support-mobile-action,
  body:has(#view-ventas.sales-template-fast.active) .support-mobile-action {
    right: auto;
    left: 70px;
  }
}

@media (max-width: 560px) {
  #view-dashboard .dashboard-kpi-grid {
    grid-template-columns: 1fr;
  }

  #view-dashboard .dashboard-identity-actions > * {
    flex-basis: 100%;
  }

  #view-dashboard .dashboard-feed-row,
  #view-dashboard .dashboard-stock-row,
  #view-dashboard .dashboard-health-row,
  #view-dashboard #shift-status-panel .shift-row,
  #view-dashboard #shift-status-panel .summary-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  #view-dashboard .dashboard-feed-row .badge,
  #view-dashboard .dashboard-stock-row .badge,
  #view-dashboard #shift-status-panel .badge,
  #view-dashboard .dashboard-health-row strong {
    justify-self: start;
    text-align: left;
  }

  #view-dashboard .dashboard-detail-summary {
    flex-wrap: wrap;
  }
}

/* Paso 6A · Base visual comun de Ventas + Plantilla 1.
   Todo el layout operativo queda aislado de Dashboard. */
#view-ventas:not(.sales-template-normal) .sales-cart-table {
  min-width: 0;
}

#view-ventas:not(.sales-template-normal) .sales-cart-table-head {
  display: none;
}

#view-ventas:not(.sales-template-normal) .sales-cart-table-body {
  display: grid;
  gap: 6px;
}

#view-ventas:not(.sales-template-normal) .sales-cart-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(116px, auto) auto;
  grid-template-areas:
    "product price quantity total"
    "product delete delete delete";
  gap: 6px 10px;
  align-items: center;
}

#view-ventas:not(.sales-template-normal) .sales-cart-product {
  grid-area: product;
  min-width: 0;
}

#view-ventas:not(.sales-template-normal) .sales-cart-product > strong {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#view-ventas:not(.sales-template-normal) .sales-cart-product .muted {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas:not(.sales-template-normal) .sales-cart-price {
  grid-area: price;
  white-space: nowrap;
}

#view-ventas:not(.sales-template-normal) .sales-cart-quantity {
  grid-area: quantity;
  display: grid;
  grid-template-columns: 36px minmax(38px, 1fr) 36px;
  gap: 4px;
}

#view-ventas:not(.sales-template-normal) .sales-cart-line-total {
  grid-area: total;
  white-space: nowrap;
}

#view-ventas:not(.sales-template-normal) .sales-cart-delete {
  grid-area: delete;
  justify-self: end;
  width: auto;
  min-width: 88px;
}

#view-ventas.sales-template-normal {
  --sales-gap: var(--omega-space-3);
  --sales-panel-padding: clamp(14px, 1.3vw, 20px);
  --sales-control-height: var(--omega-control-md);
  gap: var(--sales-gap);
  min-width: 0;
  min-height: 0;
}

#view-ventas.sales-template-normal :where(
  button,
  input,
  select,
  .catalog-name,
  .catalog-meta,
  .catalog-price,
  .sales-cart-table,
  .cart-summary
) {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal :where(
  #cart-subtotal,
  #cart-tax,
  #cart-total,
  .catalog-price,
  .sales-cart-price,
  .sales-cart-line-total
) {
  font-variant-numeric: tabular-nums;
}

#view-ventas.sales-template-normal .sales-template-toolbar {
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
  gap: var(--sales-gap);
  align-items: center;
  padding: 13px var(--sales-panel-padding);
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-lg);
  box-shadow: var(--omega-shadow-sm);
}

#view-ventas.sales-template-normal .sales-template-toolbar .eyebrow {
  margin-bottom: 4px;
  font-size: var(--omega-font-xs);
}

#view-ventas.sales-template-normal .sales-template-toolbar h3 {
  margin: 0;
  font-size: clamp(1.1rem, 1.4vw, 1.35rem);
  line-height: 1.05;
}

#view-ventas.sales-template-normal #sales-template-help {
  max-width: 72ch;
  margin: 4px 0 0;
  overflow: hidden;
  font-size: var(--omega-font-sm);
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-normal .sales-template-switcher {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font: 700 var(--omega-font-xs) / 1.1 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#view-ventas.sales-template-normal .sales-template-switcher .omega-select {
  min-height: var(--sales-control-height);
  color: var(--ink);
  font-size: var(--omega-font-sm);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

#view-ventas.sales-template-normal .ventas-layout {
  min-width: 0;
  min-height: 0;
  gap: var(--sales-gap);
  align-items: stretch;
}

#view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
  min-width: 0;
  min-height: 0;
  padding: var(--sales-panel-padding);
  gap: 10px;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-lg);
  box-shadow: var(--omega-shadow-card, var(--shadow));
}

#view-ventas.sales-template-normal .sales-catalog-panel {
  grid-template-rows: auto auto minmax(180px, 1fr) auto;
  overflow: hidden;
}

#view-ventas.sales-template-normal .sales-capture-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--sales-gap);
  align-items: center;
  margin: 0;
}

#view-ventas.sales-template-normal .sales-capture-header h3,
#view-ventas.sales-template-normal .sales-cart-header h3 {
  margin: 0;
  font-size: var(--omega-font-lg);
  line-height: 1;
}

#view-ventas.sales-template-normal .sales-capture-tools {
  display: grid;
  grid-template-columns: minmax(210px, 1.05fr) minmax(190px, .95fr);
  gap: 8px;
  justify-content: stretch;
}

#view-ventas.sales-template-normal .sales-capture-tools .input {
  min-width: 0;
  min-height: var(--omega-control-lg);
  padding-inline: 15px;
  border-color: color-mix(in srgb, var(--omega-focus, var(--accent)) 24%, var(--omega-border, var(--border-soft)));
  font-size: var(--omega-font-md);
  font-weight: 650;
}

#view-ventas.sales-template-normal .sales-capture-tools .input:focus,
#view-ventas.sales-template-normal .sales-capture-tools .input:focus-visible {
  border-color: var(--omega-focus, var(--accent));
  background: color-mix(in srgb, var(--panel-strong) 90%, var(--accent-soft));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--omega-focus, var(--accent)) 15%, transparent);
}

#view-ventas.sales-template-normal .sales-notices {
  gap: 8px;
}

#view-ventas.sales-template-normal .sales-notices .permission-note {
  margin: 0;
  padding: 9px 12px;
  border-radius: var(--omega-radius-sm);
  font: 600 var(--omega-font-xs) / 1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-notices .sales-alert {
  border-color: color-mix(in srgb, var(--omega-warning, var(--accent-2)) 34%, var(--omega-border, var(--border-soft)));
  background: color-mix(in srgb, var(--status-warn-bg) 76%, var(--panel-strong));
}

#view-ventas.sales-template-normal #catalog-grid {
  min-width: 0;
  min-height: 180px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 158px), 1fr));
  gap: 9px;
  align-content: start;
  padding: 2px 4px 2px 2px;
  overscroll-behavior: contain;
}

#view-ventas.sales-template-normal .catalog-item {
  min-width: 0;
  min-height: 108px;
  padding: 13px;
  gap: 8px;
  align-content: space-between;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 28%, transparent), transparent 58%),
    var(--surface-1);
  box-shadow: 0 7px 16px color-mix(in srgb, var(--ink) 7%, transparent);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

#view-ventas.sales-template-normal .catalog-item:hover,
#view-ventas.sales-template-normal .catalog-item:focus-within {
  border-color: color-mix(in srgb, var(--omega-focus, var(--accent)) 48%, var(--omega-border, var(--border-soft)));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 52%, transparent), transparent 62%),
    var(--surface-1);
  box-shadow: var(--omega-shadow-sm);
  transform: translateY(-1px);
}

#view-ventas.sales-template-normal .catalog-hit {
  min-width: 0;
  min-height: 70px;
  align-content: start;
}

#view-ventas.sales-template-normal .catalog-name {
  min-height: 2.35em;
  overflow: hidden;
  color: var(--ink);
  font-size: var(--omega-font-sm);
  font-weight: 800;
  line-height: 1.18;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#view-ventas.sales-template-normal .catalog-meta {
  overflow: hidden;
  font-size: var(--omega-font-xs);
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-normal .catalog-price {
  color: var(--ink);
  font-size: var(--omega-font-lg);
  font-weight: 850;
  line-height: 1;
}

#view-ventas.sales-template-normal .catalog-unit-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}

#view-ventas.sales-template-normal .catalog-unit-actions .small-btn {
  min-height: var(--omega-touch-target);
  padding: 8px 10px;
  font-size: var(--omega-font-xs);
}

#view-ventas.sales-template-normal .sales-category-section {
  min-width: 0;
  min-height: 0;
  max-height: 168px;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  padding-top: 10px;
  overflow: hidden;
  border-color: var(--omega-border, var(--border-soft));
}

#view-ventas.sales-template-normal .sales-category-heading h4 {
  font: 800 var(--omega-font-sm) / 1 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-category-heading span {
  font: 500 var(--omega-font-xs) / 1.1 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal #sales-category-cards {
  min-height: 0;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 7px;
  align-content: start;
  overflow: auto;
  padding: 1px 3px 2px 1px;
  overscroll-behavior: contain;
}

#view-ventas.sales-template-normal .sales-category-card {
  min-width: 0;
  min-height: 68px;
  padding: 10px 11px;
  gap: 4px;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-sm);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-category-card strong {
  overflow: hidden;
  font-size: var(--omega-font-sm);
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-normal .sales-category-card span,
#view-ventas.sales-template-normal .sales-category-card small {
  overflow: hidden;
  font-size: var(--omega-font-xs);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-normal .sales-category-card.active {
  border-color: color-mix(in srgb, var(--omega-focus, var(--accent)) 66%, transparent);
  background: color-mix(in srgb, var(--accent-soft) 58%, var(--surface-1));
}

#view-ventas.sales-template-normal .sales-cart-panel {
  grid-template-rows: auto minmax(150px, 1fr) auto auto auto auto minmax(64px, auto) auto;
  overflow: hidden;
}

#view-ventas.sales-template-normal .sales-cart-header {
  margin: 0;
}

#view-ventas.sales-template-normal .sales-cart-header::after {
  content: "Detalle operativo";
  padding: 5px 9px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-2);
  font: 800 var(--omega-font-xs) / 1 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#view-ventas.sales-template-normal #cart-list {
  min-width: 0;
  min-height: 150px;
  max-height: none;
  gap: 0;
  padding: 7px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel-strong) 88%, var(--surface-1));
}

#view-ventas.sales-template-normal .sales-cart-empty {
  min-height: 100%;
  padding: var(--omega-space-4);
  border-color: color-mix(in srgb, var(--omega-focus, var(--accent)) 24%, var(--omega-border, var(--border-soft)));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 24%, transparent), transparent 58%),
    var(--panel-strong);
}

#view-ventas.sales-template-normal .sales-cart-empty .omega-empty-title {
  font: 800 var(--omega-font-lg) / 1.1 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-cart-empty .omega-empty-text {
  font: 500 var(--omega-font-sm) / 1.35 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-cart-table {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
}

#view-ventas.sales-template-normal .sales-cart-table-head,
#view-ventas.sales-template-normal .sales-cart-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) minmax(76px, .58fr) minmax(132px, .86fr) minmax(86px, .66fr) minmax(68px, auto);
  gap: 8px;
  align-items: center;
}

#view-ventas.sales-template-normal .sales-cart-table-head {
  position: sticky;
  top: -7px;
  z-index: 2;
  padding: 9px 10px;
  border-bottom: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-sm);
  color: var(--muted);
  background: color-mix(in srgb, var(--panel-strong) 92%, var(--accent-soft));
  font-size: var(--omega-font-xs);
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
}

#view-ventas.sales-template-normal .sales-cart-table-head > :nth-child(2),
#view-ventas.sales-template-normal .sales-cart-table-head > :nth-child(4) {
  text-align: right;
}

#view-ventas.sales-template-normal .sales-cart-table-head > :nth-child(3) {
  text-align: center;
}

#view-ventas.sales-template-normal .sales-cart-table-body {
  display: grid;
  gap: 6px;
  align-content: start;
}

#view-ventas.sales-template-normal .sales-cart-row {
  min-height: 64px;
  padding: 9px 10px;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-sm);
  background: var(--panel-strong);
  box-shadow: none;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

#view-ventas.sales-template-normal .sales-cart-row:hover,
#view-ventas.sales-template-normal .sales-cart-row:focus-within {
  border-color: color-mix(in srgb, var(--omega-focus, var(--accent)) 48%, var(--omega-border, var(--border-soft)));
  background: color-mix(in srgb, var(--accent-soft) 22%, var(--panel-strong));
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--omega-focus, var(--accent)) 68%, transparent);
}

#view-ventas.sales-template-normal .sales-cart-product {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-ventas.sales-template-normal .sales-cart-product > strong {
  overflow: hidden;
  font-size: var(--omega-font-sm);
  font-weight: 800;
  line-height: 1.18;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#view-ventas.sales-template-normal .sales-cart-product .muted {
  overflow: hidden;
  font-size: var(--omega-font-xs);
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas.sales-template-normal .sales-cart-discount-note {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--status-warn-ink, var(--omega-warning));
  background: var(--status-warn-bg);
  font-size: var(--omega-font-xs);
  font-weight: 800;
  line-height: 1;
}

#view-ventas.sales-template-normal .sales-cart-price,
#view-ventas.sales-template-normal .sales-cart-line-total {
  min-width: 0;
  text-align: right;
  font-size: var(--omega-font-sm);
  line-height: 1.1;
  white-space: nowrap;
}

#view-ventas.sales-template-normal .sales-cart-line-total {
  color: var(--ink);
  font-weight: 850;
}

#view-ventas.sales-template-normal .sales-cart-quantity {
  display: grid;
  grid-template-columns: var(--omega-touch-target) minmax(52px, 1fr) var(--omega-touch-target);
  gap: 5px;
  flex-wrap: nowrap;
}

#view-ventas.sales-template-normal .sales-cart-quantity .small-btn,
#view-ventas.sales-template-normal .sales-cart-delete {
  min-width: var(--omega-touch-target);
  min-height: var(--omega-touch-target);
  padding: 7px;
  border-radius: var(--omega-radius-sm);
}

#view-ventas.sales-template-normal .sales-cart-quantity .small-input {
  width: 100%;
  min-width: 0;
  min-height: var(--omega-touch-target);
  padding: 7px 4px;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-sm);
  text-align: center;
  font-weight: 800;
}

#view-ventas.sales-template-normal .sales-cart-delete {
  width: 100%;
  color: var(--badge-danger-ink, var(--omega-danger));
  background: var(--badge-danger-bg);
  border-color: color-mix(in srgb, var(--omega-danger, var(--danger)) 30%, var(--omega-border, var(--border-soft)));
  font-size: var(--omega-font-xs);
}

#view-ventas.sales-template-normal .sales-totals-panel {
  margin: 0;
  padding: 10px 13px;
  gap: 5px;
  border: 1px solid color-mix(in srgb, var(--omega-focus, var(--accent)) 24%, var(--omega-border, var(--border-soft)));
  border-radius: var(--omega-radius-md);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 46%, transparent), transparent 64%),
    var(--surface-1);
}

#view-ventas.sales-template-normal .sales-totals-panel .line {
  align-items: baseline;
  font-size: var(--omega-font-sm);
  line-height: 1.15;
}

#view-ventas.sales-template-normal .sales-totals-panel .line span {
  color: var(--muted);
  font-weight: 650;
}

#view-ventas.sales-template-normal .sales-totals-panel .line.total {
  margin-top: 3px;
  padding-top: 7px;
  border-top: 1px solid var(--omega-border, var(--border-soft));
}

#view-ventas.sales-template-normal .sales-totals-panel .line.total span {
  color: var(--ink);
  font-size: var(--omega-font-sm);
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#view-ventas.sales-template-normal #cart-total {
  color: var(--ink);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 900;
  line-height: 1;
}

#view-ventas.sales-template-normal .sales-sale-controls {
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--surface-1);
}

#view-ventas.sales-template-normal .sales-sale-controls::before {
  content: "Cliente y pago";
  grid-column: 1 / -1;
  color: var(--muted);
  font: 800 var(--omega-font-xs) / 1 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#view-ventas.sales-template-normal .sales-sale-controls :where(.omega-input, .omega-select) {
  min-height: var(--sales-control-height);
  padding-block: 8px;
  border-radius: var(--omega-radius-sm);
  font-size: var(--omega-font-sm);
}

#view-ventas.sales-template-normal .sales-sale-controls #customer-name {
  grid-column: span 2;
}

#view-ventas.sales-template-normal .sales-transaction-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  padding: 9px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel-strong) 90%, var(--surface-1));
}

#view-ventas.sales-template-normal .sales-transaction-actions > * {
  min-width: 0;
  min-height: var(--omega-touch-target);
  padding: 8px 9px;
  border-radius: var(--omega-radius-sm);
  font-size: var(--omega-font-xs);
  line-height: 1.12;
  text-align: center;
}

#view-ventas.sales-template-normal .sales-transaction-actions #checkout-btn {
  grid-column: span 2;
  min-height: var(--omega-control-lg);
  color: var(--button-primary-ink);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--omega-accent, var(--accent)) 28%, transparent), transparent 68%),
    var(--button-primary-bg);
  border-color: color-mix(in srgb, var(--omega-accent, var(--accent)) 42%, transparent);
  box-shadow: var(--omega-shadow-sm);
  font-size: var(--omega-font-md);
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#view-ventas.sales-template-normal .sales-transaction-actions #checkout-btn:hover,
#view-ventas.sales-template-normal .sales-transaction-actions #checkout-btn:focus-visible {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--omega-accent, var(--accent)) 42%, transparent), transparent 72%),
    var(--button-primary-bg);
  box-shadow: var(--omega-shadow-card);
}

#view-ventas.sales-template-normal .sales-transaction-actions #clear-cart-btn {
  color: var(--badge-danger-ink, var(--omega-danger));
  background: var(--badge-danger-bg);
  border-color: color-mix(in srgb, var(--omega-danger, var(--danger)) 30%, var(--omega-border, var(--border-soft)));
}

#view-ventas.sales-template-normal #proforma-mode-banner {
  margin: 0;
  padding: 8px 11px;
  border-radius: var(--omega-radius-sm);
  font: 700 var(--omega-font-xs) / 1.25 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-holds-panel {
  min-width: 0;
  min-height: 64px;
  max-height: 132px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  margin: 0;
  padding: 10px;
  overflow: hidden;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--surface-2);
  box-shadow: none;
}

#view-ventas.sales-template-normal .sales-holds-panel .card-header {
  margin: 0;
}

#view-ventas.sales-template-normal .sales-holds-panel h3 {
  margin: 0;
  font: 800 var(--omega-font-sm) / 1 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-holds-list {
  min-height: 0;
  gap: 6px;
  overflow: auto;
}

#view-ventas.sales-template-normal .sales-holds-list .empty-state {
  min-height: 42px;
  padding: 9px 11px;
  border-radius: var(--omega-radius-sm);
  font: 500 var(--omega-font-xs) / 1.25 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-holds-list .hold-row {
  padding: 9px 10px;
  border-radius: var(--omega-radius-sm);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

#view-ventas.sales-template-normal .sales-shift-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
}

#view-ventas.sales-template-normal .sales-shift-actions > * {
  min-height: var(--omega-touch-target);
  padding: 8px 10px;
  border-radius: var(--omega-radius-sm);
  font-size: var(--omega-font-xs);
}

#quick-checkout-overlay .quick-checkout-card {
  width: min(680px, calc(100vw - 28px));
  max-height: min(88dvh, 760px);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: var(--omega-space-3);
  padding: var(--omega-space-5);
  overflow: hidden;
  border-color: var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-lg);
  background: var(--panel);
  box-shadow: var(--omega-shadow-overlay);
}

#quick-checkout-overlay .app-dialog-header {
  margin: 0;
}

#quick-checkout-overlay .app-dialog-body {
  min-height: 0;
  overflow: auto;
}

#quick-checkout-overlay .quick-checkout-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#quick-checkout-overlay .quick-checkout-grid label {
  font: 700 var(--omega-font-sm) / 1.2 system-ui, -apple-system, "Segoe UI", sans-serif;
}

#quick-checkout-overlay .double-actions {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--omega-space-2);
}

#quick-checkout-overlay .double-actions > * {
  min-height: var(--omega-control-lg);
}

@media (min-width: 1180px) {
  body.sidebar-collapsed:has(#view-ventas.sales-template-normal.active) {
    overflow: hidden;
  }

  body.sidebar-collapsed:has(#view-ventas.sales-template-normal.active) .main {
    height: 100dvh;
    padding-bottom: 18px;
    overflow: hidden;
  }

  body.sidebar-collapsed #view-ventas.sales-template-normal.active {
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  body.sidebar-collapsed #view-ventas.sales-template-normal .ventas-layout {
    height: 100%;
    grid-template-columns: minmax(0, 1.14fr) minmax(470px, .86fr);
    overflow: hidden;
  }

  body.sidebar-collapsed #view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
    height: 100%;
    max-height: 100%;
  }
}

@media (min-width: 1480px) {
  body:has(#view-ventas.sales-template-normal.active) {
    overflow: hidden;
  }

  body:has(#view-ventas.sales-template-normal.active) .main {
    height: 100dvh;
    padding-bottom: 18px;
    overflow: hidden;
  }

  #view-ventas.sales-template-normal.active {
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  #view-ventas.sales-template-normal .ventas-layout {
    height: 100%;
    grid-template-columns: minmax(0, 1.14fr) minmax(470px, .86fr);
    overflow: hidden;
  }

  #view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
    height: 100%;
    max-height: 100%;
  }
}

@media (max-width: 1479px) {
  body.sidebar-collapsed #view-ventas.sales-template-normal .sales-cart-table-head,
  body.sidebar-collapsed #view-ventas.sales-template-normal .sales-cart-row {
    grid-template-columns: minmax(0, 1fr) 64px 124px 76px 64px;
    gap: 5px;
  }

  body.sidebar-collapsed #view-ventas.sales-template-normal .sales-cart-quantity {
    grid-template-columns: 40px minmax(36px, 1fr) 40px;
    gap: 4px;
  }

  body:not(.sidebar-collapsed) #view-ventas.sales-template-normal .ventas-layout {
    grid-template-columns: 1fr;
  }

  body:not(.sidebar-collapsed) #view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
    overflow: visible;
  }

  body:not(.sidebar-collapsed) #view-ventas.sales-template-normal #catalog-grid {
    max-height: min(46vh, 460px);
  }

  body:not(.sidebar-collapsed) #view-ventas.sales-template-normal #cart-list {
    max-height: min(48vh, 480px);
  }
}

@media (max-width: 1179px) {
  #view-ventas.sales-template-normal .sales-template-toolbar {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    padding-left: 58px;
  }

  #view-ventas.sales-template-normal .ventas-layout {
    grid-template-columns: 1fr;
  }

  #view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
    overflow: visible;
  }

  #view-ventas.sales-template-normal #catalog-grid {
    max-height: min(46vh, 460px);
  }

  #view-ventas.sales-template-normal #cart-list {
    max-height: min(48vh, 480px);
  }

  #view-ventas.sales-template-normal .sales-cart-panel {
    grid-template-rows: auto minmax(220px, auto) auto auto auto auto auto auto;
  }
}

@media (max-width: 860px) {
  #view-ventas.sales-template-normal {
    --sales-panel-padding: 14px;
  }

  #view-ventas.sales-template-normal .sales-template-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  #view-ventas.sales-template-normal #sales-template-help {
    white-space: normal;
  }

  #view-ventas.sales-template-normal .sales-capture-header {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  #view-ventas.sales-template-normal .sales-capture-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-normal .sales-sale-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-normal .sales-sale-controls #customer-name {
    grid-column: 1 / -1;
  }

  #view-ventas.sales-template-normal .sales-transaction-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #view-ventas.sales-template-normal .sales-transaction-actions #checkout-btn {
    grid-column: 1 / -1;
  }

  #view-ventas.sales-template-normal .sales-holds-panel {
    max-height: 220px;
  }
}

@media (max-width: 720px) {
  #view-ventas.sales-template-normal .sales-capture-tools {
    grid-template-columns: 1fr;
  }

  #view-ventas.sales-template-normal #catalog-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 146px), 1fr));
    max-height: min(34vh, 280px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  #view-ventas.sales-template-normal .sales-category-section {
    max-height: none;
  }

  #view-ventas.sales-template-normal #sales-category-cards {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
  }

  #view-ventas.sales-template-normal .sales-category-card {
    flex: 0 0 min(158px, 72vw);
    scroll-snap-align: start;
  }

  #view-ventas.sales-template-normal #cart-list {
    max-height: min(42vh, 340px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  #view-ventas.sales-template-normal .sales-cart-table-head {
    display: none;
  }

  #view-ventas.sales-template-normal .sales-cart-table {
    grid-template-rows: 1fr;
  }

  #view-ventas.sales-template-normal .sales-cart-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "product product"
      "price total"
      "quantity delete";
    gap: 9px 12px;
    padding: 12px;
  }

  #view-ventas.sales-template-normal .sales-cart-product {
    grid-area: product;
  }

  #view-ventas.sales-template-normal .sales-cart-price {
    grid-area: price;
    justify-self: start;
    text-align: left;
  }

  #view-ventas.sales-template-normal .sales-cart-line-total {
    grid-area: total;
    justify-self: end;
  }

  #view-ventas.sales-template-normal .sales-cart-price::before,
  #view-ventas.sales-template-normal .sales-cart-line-total::before {
    display: block;
    margin-bottom: 3px;
    color: var(--muted);
    font-size: var(--omega-font-xs);
    font-weight: 650;
  }

  #view-ventas.sales-template-normal .sales-cart-price::before {
    content: "Precio";
  }

  #view-ventas.sales-template-normal .sales-cart-line-total::before {
    content: "Subtotal";
  }

  #view-ventas.sales-template-normal .sales-cart-quantity {
    grid-area: quantity;
    width: min(100%, 190px);
  }

  #view-ventas.sales-template-normal .sales-cart-delete {
    grid-area: delete;
    width: auto;
    min-width: 92px;
  }
}

@media (max-width: 560px) {
  #view-ventas.sales-template-normal {
    --sales-gap: 10px;
    --sales-panel-padding: 12px;
  }

  #view-ventas.sales-template-normal .sales-template-toolbar {
    padding: 12px;
    padding-left: 54px;
  }

  #view-ventas.sales-template-normal .sales-template-toolbar .eyebrow,
  #view-ventas.sales-template-normal #sales-template-help {
    display: none;
  }

  #view-ventas.sales-template-normal .sales-template-toolbar h3 {
    margin-bottom: 3px;
  }

  #view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
    border-radius: var(--omega-radius-md);
  }

  #view-ventas.sales-template-normal .catalog-item {
    min-height: 104px;
    padding: 11px;
  }

  #view-ventas.sales-template-normal .sales-category-heading span,
  #view-ventas.sales-template-normal .sales-cart-header::after {
    display: none;
  }

  #view-ventas.sales-template-normal .sales-sale-controls {
    grid-template-columns: 1fr;
  }

  #view-ventas.sales-template-normal .sales-sale-controls #customer-name {
    grid-column: auto;
  }

  #view-ventas.sales-template-normal .sales-transaction-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-normal .sales-transaction-actions #checkout-btn {
    grid-column: 1 / -1;
    min-height: 56px;
  }

  #view-ventas.sales-template-normal .sales-shift-actions {
    grid-template-columns: 1fr;
  }

  #quick-checkout-overlay .quick-checkout-card {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
    padding: var(--omega-space-3);
    border-radius: var(--omega-radius-md);
  }

  #quick-checkout-overlay .quick-checkout-grid,
  #quick-checkout-overlay .double-actions {
    grid-template-columns: 1fr;
  }
}

/* Paso 6B · cierre de cascada tablet.
   Mantiene una columna despues de los breakpoints legacy declarados arriba. */
@media (min-width: 761px) and (max-width: 1100px) {
  body:has(#view-ventas.sales-template-fast.active) #view-ventas.sales-template-fast .ventas-layout {
    height: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "catalog"
      "cart";
    overflow: visible;
  }

  body:has(#view-ventas.sales-template-fast.active) #view-ventas.sales-template-fast .cart-card {
    height: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "title"
      "cart"
      "actions"
      "notice"
      "keypad";
    grid-template-rows: auto minmax(320px, 46dvh) auto auto auto;
    overflow: visible;
  }

  body:has(#view-ventas.sales-template-fast.active) #view-ventas.sales-template-fast .ventas-layout > .card:first-child {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "search"
      "products";
  }
}

@media (max-width: 1100px) {
  #view-ventas.sales-template-fast #catalog-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-ventas.sales-template-fast #catalog-grid > * {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #view-ventas.sales-template-fast .fast-catalog-toolbar,
  #view-ventas.sales-template-fast .fast-catalog-pager {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
    box-sizing: border-box;
  }

  #view-ventas.sales-template-fast .fast-catalog-toolbar :where(button, strong, span),
  #view-ventas.sales-template-fast .fast-catalog-pager :where(button, span) {
    min-width: 0;
    max-width: 100%;
  }

  #view-ventas.sales-template-fast .fast-catalog-toolbar span,
  #view-ventas.sales-template-fast .fast-catalog-pager span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #view-ventas.sales-template-fast :where(
    .sales-fast-template-slot,
    .sales-fast-search-proxy,
    .sales-fast-form-proxy
  ) .input {
    min-height: 44px;
  }

  #view-ventas.sales-template-fast .fast-cart-discount,
  #view-ventas.sales-template-fast .fast-cart-delete {
    min-height: 40px;
  }
}

/* Paso 6C · densidad y shell visual transversal. */
:root {
  --omega-font-operational: system-ui, -apple-system, "Segoe UI", sans-serif;
  --omega-font-brand: var(--font-heading);
}

[hidden] {
  display: none !important;
}

.shell,
.app-dialog-overlay,
.session-lock-overlay,
.saas-access-overlay {
  font-family: var(--omega-font-operational);
}

.shell :where(h1, h2, h3, .eyebrow),
.app-dialog-overlay :where(h1, h2, h3, .eyebrow),
.session-lock-overlay :where(h1, h2, h3, .eyebrow),
.saas-access-overlay :where(h1, h2, h3, .eyebrow) {
  font-family: var(--omega-font-operational);
}

:where(
  #business-name-label,
  #hero-title,
  #personalization-preview-business
) {
  font-family: var(--omega-font-brand);
}

.main {
  padding-bottom: 28px;
}

.nav .support-shell-action {
  position: static;
  inset: auto;
  z-index: auto;
  width: 100%;
  min-height: 46px;
  justify-content: flex-start;
  padding: 12px 16px;
  border: 1px solid color-mix(in srgb, var(--omega-focus, var(--accent)) 24%, var(--border-soft));
  border-radius: 16px;
  color: var(--ink);
  background: color-mix(in srgb, var(--accent-soft) 48%, var(--nav-bg));
  box-shadow: none;
}

.nav .support-shell-action:hover,
.nav .support-shell-action:focus-visible {
  background: color-mix(in srgb, var(--accent-soft) 76%, var(--nav-bg));
}

.support-shell-icon {
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .82rem;
  font-weight: 900;
  line-height: 1;
}

body:has(#view-ventas.sales-template-fast.active) .nav .support-shell-action {
  display: flex;
}

body.saas-overlay-open .nav .support-shell-action,
body.session-locked .nav .support-shell-action {
  display: none;
}

.support-mobile-action {
  display: none;
}

#view-ventas .sales-low-stock-summary {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--omega-space-2);
}

#view-ventas .sales-low-stock-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

#view-ventas .sales-low-stock-copy strong,
#view-ventas .sales-low-stock-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas .sales-low-stock-copy strong {
  color: var(--ink);
}

#view-ventas .sales-low-stock-copy span {
  color: color-mix(in srgb, var(--ink) 78%, var(--muted));
  font-size: var(--omega-font-xs);
}

#view-ventas .sales-low-stock-action {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 7px 11px;
  font-size: var(--omega-font-xs);
}

#view-ventas.sales-template-normal .sales-template-toolbar {
  display: flex;
  justify-content: flex-end;
  min-height: 0;
  padding: 8px 12px;
}

#view-ventas.sales-template-normal .sales-template-toolbar > div:first-child {
  display: none;
}

#view-ventas.sales-template-normal .sales-template-switcher {
  width: min(100%, 340px);
  grid-template-columns: auto minmax(180px, 1fr);
  align-items: center;
  gap: 9px;
}

#view-ventas.sales-template-normal .sales-template-switcher .omega-select {
  min-height: 38px;
}

#view-ventas.sales-template-normal .sales-capture-header {
  grid-template-columns: minmax(0, 1fr);
}

#view-ventas.sales-template-normal .sales-capture-header > h3 {
  display: none;
}

#view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
  padding: clamp(11px, 1vw, 16px);
}

#view-dashboard {
  --dashboard-gap: clamp(9px, .8vw, 13px);
}

#view-dashboard .dashboard-identity {
  grid-template-columns: minmax(0, 1fr) minmax(250px, auto);
  gap: 10px;
  padding: 10px 12px;
}

#view-dashboard .dashboard-identity-main {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 11px;
}

#view-dashboard .dashboard-client-logo {
  width: 48px;
  border-radius: var(--omega-radius-sm);
}

#view-dashboard .dashboard-client-logo .brand-fallback {
  font-size: 1.2rem;
}

#view-dashboard .dashboard-identity-copy .eyebrow,
#view-dashboard .dashboard-identity-copy > .muted {
  display: none;
}

#view-dashboard .dashboard-identity-title h2 {
  font-size: clamp(1.12rem, 1.45vw, 1.42rem);
}

#view-dashboard .hero-tags {
  margin-top: 5px;
  gap: 5px;
}

#view-dashboard .hero-tags .omega-chip {
  min-height: 24px;
  padding: 4px 8px;
  font-size: .7rem;
}

#view-dashboard .dashboard-identity-actions {
  max-width: 360px;
  gap: 6px;
}

#view-dashboard .dashboard-identity-actions > * {
  flex-basis: 150px;
  min-height: 40px;
  padding: 7px 10px;
  font-size: var(--omega-font-xs);
}

#view-dashboard .dashboard-kpi-grid {
  gap: 8px;
}

#view-dashboard .dashboard-kpi-card {
  min-height: 70px;
  gap: 2px;
  padding: 10px 12px;
}

#view-dashboard .dashboard-kpi-card .label {
  min-height: 0;
  font-size: .72rem;
}

#view-dashboard .dashboard-kpi-card h3 {
  font-size: clamp(1rem, 1.2vw, 1.28rem);
}

#view-dashboard .dashboard-panel {
  gap: 8px;
  padding: 11px 12px;
}

#view-dashboard .dashboard-panel .omega-panel-title {
  font-size: var(--omega-font-md);
}

#view-dashboard .dashboard-feed-row,
#view-dashboard .dashboard-stock-row,
#view-dashboard .dashboard-health-row,
#view-dashboard #shift-status-panel .shift-row,
#view-dashboard #shift-status-panel .summary-row {
  padding: 8px 9px;
  border-radius: var(--omega-radius-sm);
}

#view-dashboard .dashboard-stock-summary {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px;
  border: 1px solid color-mix(in srgb, var(--omega-warning, var(--accent-2)) 26%, var(--omega-border, var(--border-soft)));
  border-radius: var(--omega-radius-sm);
  background: color-mix(in srgb, var(--status-warn-bg) 66%, var(--panel-strong));
}

#view-dashboard .dashboard-stock-summary strong {
  line-height: 1.15;
}

#view-dashboard .dashboard-stock-summary .muted {
  margin-top: 3px;
  font-size: var(--omega-font-xs);
}

#view-dashboard .dashboard-stock-action {
  min-height: 40px;
  padding: 6px 9px;
  font-size: var(--omega-font-xs);
}

#view-dashboard .dashboard-stock-panel .dashboard-feed,
#view-dashboard .dashboard-recent-panel .dashboard-feed,
#view-dashboard .dashboard-sellers-panel .dashboard-feed {
  max-height: 230px;
}

#view-dashboard #system-health-list {
  max-height: 175px;
}

#view-dashboard .dashboard-detail-summary {
  min-height: 48px;
  padding: 11px 12px;
}

@media (min-width: 901px) and (max-width: 1500px) {
  #view-dashboard :where(#hero-business-type, #hero-company-tag) {
    display: none;
  }

  #view-dashboard .dashboard-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #view-dashboard .dashboard-operations,
  #view-dashboard .dashboard-operations:has(.dashboard-stock-panel .omega-empty-state) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "stock recent shift"
      "sellers sellers sellers";
  }
}

@media (max-width: 900px) {
  #view-dashboard .dashboard-identity {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-dashboard .dashboard-identity-actions {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-dashboard .dashboard-operations,
  #view-dashboard .dashboard-operations:has(.dashboard-stock-panel .omega-empty-state) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "stock"
      "recent"
      "shift"
      "sellers";
  }
}

@media (max-width: 980px) {
  .main {
    padding-top: 72px;
  }

  .support-mobile-action,
  body:has(#view-ventas.sales-template-fast.active) .support-mobile-action {
    position: absolute;
    top: 16px;
    right: 16px;
    bottom: auto;
    min-height: 42px;
    width: max-content;
    max-width: calc(100vw - 86px);
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    font-size: var(--omega-font-xs);
    font-family: var(--omega-font-operational);
    box-shadow: var(--omega-shadow-sm);
  }

  .support-mobile-action > span:first-child {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-weight: 900;
  }

  body.saas-overlay-open .support-mobile-action,
  body.session-locked .support-mobile-action {
    display: none;
  }
}

@media (max-width: 560px) {
  #view-dashboard .dashboard-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-dashboard .dashboard-identity-main {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  #view-dashboard .dashboard-client-logo {
    width: 42px;
  }

  #view-dashboard .dashboard-stock-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-dashboard .dashboard-stock-action {
    justify-self: start;
  }

  #view-ventas .sales-low-stock-summary {
    align-items: stretch;
  }

  #view-ventas .sales-low-stock-copy strong,
  #view-ventas .sales-low-stock-copy span {
    white-space: normal;
  }

  #view-ventas .sales-low-stock-action {
    align-self: center;
  }
}

/* Paso 7A: espacio operativo de Clientes */
#view-clientes {
  gap: var(--omega-space-2);
  min-width: 0;
  min-height: 0;
  font-family: var(--omega-font-operational);
}

#view-clientes :where(button, input, select, textarea, .small-btn, .omega-chip, .omega-badge) {
  font-family: var(--omega-font-operational);
}

#view-clientes .customers-tab-control {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

#view-clientes .customers-tabs {
  display: flex;
  align-items: center;
  gap: var(--omega-space-1);
  min-width: 0;
  padding: var(--omega-space-1);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel) 90%, transparent);
  box-shadow: var(--omega-shadow-sm);
}

#view-clientes .customers-tab {
  flex: 0 0 auto;
  min-height: var(--omega-control-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: var(--omega-radius-sm);
  color: var(--muted);
  font-size: var(--omega-font-sm);
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

#view-clientes .customers-tab:hover {
  color: var(--ink);
  background: var(--surface-1);
  transform: translateY(-1px);
}

#view-clientes #customers-tab-clientes:checked ~ .customers-tabs [for="customers-tab-clientes"],
#view-clientes #customers-tab-cartera:checked ~ .customers-tabs [for="customers-tab-cartera"],
#view-clientes #customers-tab-historial:checked ~ .customers-tabs [for="customers-tab-historial"] {
  color: var(--nav-active-ink);
  background: var(--nav-active-bg);
  border-color: color-mix(in srgb, var(--nav-active-bg) 72%, var(--border-soft));
  box-shadow: var(--omega-shadow-sm);
}

#view-clientes #customers-tab-clientes:focus-visible ~ .customers-tabs [for="customers-tab-clientes"],
#view-clientes #customers-tab-cartera:focus-visible ~ .customers-tabs [for="customers-tab-cartera"],
#view-clientes #customers-tab-historial:focus-visible ~ .customers-tabs [for="customers-tab-historial"] {
  outline: 3px solid var(--omega-focus);
  outline-offset: 2px;
}

#view-clientes .customers-tab-panels,
#view-clientes .customers-tab-panel {
  min-width: 0;
  min-height: 0;
}

#view-clientes .customers-tab-panel {
  display: none;
}

#view-clientes #customers-tab-clientes:checked ~ .customers-tab-panels #customers-panel-clientes,
#view-clientes #customers-tab-cartera:checked ~ .customers-tab-panels #customers-panel-cartera,
#view-clientes #customers-tab-historial:checked ~ .customers-tab-panels #customers-panel-historial {
  display: grid;
}

#view-clientes .customers-tab-panel-main {
  grid-template-columns: minmax(0, 1.32fr) minmax(310px, .68fr);
  gap: var(--omega-space-3);
  align-items: stretch;
}

#view-clientes .customers-tab-panel > .omega-panel {
  min-width: 0;
  min-height: 0;
  margin: 0;
}

#view-clientes .customers-panel-header {
  gap: var(--omega-space-3);
  align-items: center;
}

#view-clientes .customers-panel-header > div {
  min-width: 0;
}

#view-clientes .customers-panel-kicker {
  margin: 0 0 2px;
  color: var(--muted);
  font-size: var(--omega-font-xs);
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#view-clientes .customers-panel-header .omega-panel-title {
  margin: 0;
  font-family: var(--omega-font-operational);
  font-size: var(--omega-font-lg);
  line-height: 1.15;
}

#view-clientes #customer-search {
  width: min(100%, 390px);
  margin-left: auto;
}

#view-clientes :where(#customers-list, #receivables-list, #customer-history-list) {
  min-width: 0;
  min-height: 0;
  padding-right: 4px;
}

#view-clientes .customers-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--omega-space-2);
  min-width: 0;
  min-height: 0;
  overflow: auto;
  align-content: start;
  padding-right: 4px;
}

#view-clientes .customers-form > label {
  min-width: 0;
  display: grid;
  gap: var(--omega-space-1);
  color: var(--muted);
  font-size: var(--omega-font-xs);
  font-weight: 800;
}

#view-clientes .customers-form > label:first-of-type,
#view-clientes .customers-form-wide,
#view-clientes .customers-form-actions {
  grid-column: 1 / -1;
}

#view-clientes .customers-form-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--omega-space-1);
}

#view-clientes .customers-list-summary {
  margin: 0;
  padding: 9px 11px;
  border-radius: var(--omega-radius-sm);
  font-size: var(--omega-font-xs);
}

#view-clientes .client-row {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "header actions"
    "metrics metrics";
  gap: var(--omega-space-2);
  padding: var(--omega-space-3);
  border-radius: var(--omega-radius-md);
  box-shadow: none;
}

#view-clientes .customers-client-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--omega-space-1);
}

#view-clientes .customers-client-title > strong {
  flex: 1 1 180px;
  min-width: 0;
  font-size: var(--omega-font-md);
}

#view-clientes .client-main {
  gap: 5px;
}

#view-clientes .customers-commercial-meta,
#view-clientes .customers-client-note {
  color: var(--muted);
  font-size: var(--omega-font-xs);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#view-clientes .customers-client-note {
  padding: 7px 9px;
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--omega-radius-sm) var(--omega-radius-sm) 0;
  background: var(--surface-2);
  color: var(--ink);
}

#view-clientes .client-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--omega-space-1);
  width: 100%;
  overflow: hidden;
}

#view-clientes .client-stat {
  min-width: 0;
  padding: 8px 10px;
  border-radius: var(--omega-radius-sm);
  overflow: hidden;
}

#view-clientes .client-stat span {
  font-size: .66rem;
}

#view-clientes .client-stat strong {
  font-size: var(--omega-font-sm);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#view-clientes .client-actions {
  gap: var(--omega-space-1);
}

#view-clientes .client-actions :where(.small-btn, .omega-chip) {
  min-width: 0;
  min-height: var(--omega-control-sm);
  padding: 7px 10px;
  font-size: var(--omega-font-xs);
}

#view-clientes .customers-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--omega-space-2);
}

#view-clientes .customers-summary-card {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: var(--omega-space-3);
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: var(--surface-1);
}

#view-clientes .customers-summary-card-primary {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 34%, var(--border-soft));
}

#view-clientes .customers-summary-card span,
#view-clientes .customers-receivable-value span,
#view-clientes .customers-history-total span,
#view-clientes .customers-history-balance span {
  color: var(--muted);
  font-size: var(--omega-font-xs);
  font-weight: 800;
}

#view-clientes .customers-summary-card strong {
  min-width: 0;
  font-size: clamp(1.02rem, 1.5vw, 1.32rem);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

#view-clientes .customers-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--omega-space-2);
  margin-top: var(--omega-space-1);
  color: var(--ink);
}

#view-clientes .customers-section-heading span {
  color: var(--muted);
  font-size: var(--omega-font-xs);
}

#view-clientes :where(.customers-receivables-list, .customers-payments-list, .customers-history-list) {
  display: grid;
  gap: var(--omega-space-2);
  min-width: 0;
}

#view-clientes .customers-receivable-row {
  grid-template-columns: minmax(190px, 1fr) minmax(90px, auto) minmax(90px, auto) auto auto auto;
  gap: var(--omega-space-2);
  align-items: center;
  padding: var(--omega-space-3);
  border-radius: var(--omega-radius-md);
}

#view-clientes .customers-receivable-main,
#view-clientes .customers-receivable-value {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-clientes .customers-receivable-main .muted {
  font-size: var(--omega-font-xs);
  overflow-wrap: anywhere;
}

#view-clientes .customers-receivable-value strong {
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

#view-clientes .customers-payment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--omega-space-2);
  align-items: center;
  padding: 9px 11px;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-sm);
  background: var(--surface-2);
}

#view-clientes .customers-payment-row > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#view-clientes .customers-payment-row span {
  color: var(--muted);
  font-size: var(--omega-font-xs);
  overflow-wrap: anywhere;
}

#view-clientes .customers-payment-row > strong {
  font-variant-numeric: tabular-nums;
}

#view-clientes .customers-history-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.1fr) minmax(170px, .95fr) minmax(96px, .55fr) minmax(150px, .8fr) auto auto;
  grid-template-areas: "main meta total balance status action";
  gap: var(--omega-space-2);
  align-items: center;
  padding: var(--omega-space-3);
  border-radius: var(--omega-radius-md);
}

#view-clientes .customers-history-main {
  grid-area: main;
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-clientes .customers-history-main span,
#view-clientes .customers-history-meta {
  color: var(--muted);
  font-size: var(--omega-font-xs);
}

#view-clientes .customers-history-main :where(strong, span),
#view-clientes .customers-history-meta span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-clientes .customers-history-meta {
  grid-area: meta;
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-clientes .customers-history-total,
#view-clientes .customers-history-balance {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-clientes .customers-history-total {
  grid-area: total;
}

#view-clientes .customers-history-balance {
  grid-area: balance;
}

#view-clientes .customers-history-total strong,
#view-clientes .customers-history-balance strong {
  font-size: var(--omega-font-sm);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

#view-clientes .customers-history-row > .omega-badge {
  grid-area: status;
  justify-self: start;
}

#view-clientes .customers-history-row > .small-btn {
  grid-area: action;
}

@media (min-width: 1100px) {
  #view-clientes.active {
    grid-template-rows: auto minmax(0, 1fr);
  }

  #view-clientes .customers-tab-panels,
  #view-clientes .customers-tab-panel,
  #view-clientes .customers-tab-panel > .omega-panel {
    height: 100%;
    max-height: 100%;
  }

  #view-clientes .customers-tab-panel > .omega-panel,
  #view-clientes .customers-tab-panel-main > .omega-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  #view-clientes :where(#customers-list, #customer-form, #receivables-list, #customer-history-list) {
    max-height: none;
    overflow: auto;
  }
}

@media (max-width: 1240px) {
  #view-clientes .customers-tab-panel-main {
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  }

  #view-clientes .client-metrics,
  #view-clientes .customers-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-clientes .customers-history-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) auto;
    grid-template-areas:
      "main meta status"
      "total balance action";
  }
}

@media (max-width: 1480px) {
  #view-clientes .client-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  #view-clientes .customers-tab-panel-main {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-clientes .customers-tabs {
    scroll-snap-type: inline proximity;
  }

  #view-clientes .customers-tab {
    scroll-snap-align: start;
  }

  #view-clientes .customers-receivable-row {
    grid-template-columns: minmax(0, 1fr) repeat(2, auto);
    grid-template-areas:
      "main status status"
      "balance available available"
      "pay history history";
  }

  #view-clientes .customers-receivable-main {
    grid-area: main;
  }

  #view-clientes .customers-receivable-value:nth-of-type(2) {
    grid-area: balance;
  }

  #view-clientes .customers-receivable-value:nth-of-type(3) {
    grid-area: available;
  }

  #view-clientes .customers-receivable-row > .omega-badge {
    grid-area: status;
    justify-self: end;
  }

  #view-clientes .customers-receivable-row > button:first-of-type {
    grid-area: pay;
  }

  #view-clientes .customers-receivable-row > button:last-of-type {
    grid-area: history;
    justify-self: start;
  }
}

@media (max-width: 640px) {
  #view-clientes {
    gap: var(--omega-space-1);
  }

  #view-clientes .customers-tabs {
    margin-inline: -2px;
    border-radius: var(--omega-radius-sm);
  }

  #view-clientes .customers-tab {
    min-height: var(--omega-touch-target);
    padding-inline: 12px;
  }

  #view-clientes .customers-tab-panel-main {
    gap: var(--omega-space-2);
  }

  #view-clientes .customers-tab-panel > .omega-panel {
    padding: var(--omega-space-3);
    border-radius: var(--omega-radius-md);
  }

  #view-clientes .customers-panel-header {
    align-items: stretch;
  }

  #view-clientes #customer-search {
    width: 100%;
    margin-left: 0;
  }

  #view-clientes .customers-form {
    grid-template-columns: minmax(0, 1fr);
    overflow: visible;
  }

  #view-clientes .customers-form > *,
  #view-clientes .customers-form > label:first-of-type,
  #view-clientes .customers-form-wide,
  #view-clientes .customers-form-actions {
    grid-column: 1;
  }

  #view-clientes .customers-form-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-clientes :where(#customers-list, #receivables-list, #customer-history-list) {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  #view-clientes .client-metrics,
  #view-clientes .customers-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-clientes .client-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  #view-clientes .client-row > :where(.client-header, .client-metrics, .client-actions) {
    flex: 0 0 auto;
    align-self: stretch;
    width: 100%;
  }

  #view-clientes .client-actions :where(.small-btn, .omega-chip) {
    width: 100%;
    min-width: 0;
    justify-content: center;
    text-align: center;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  #view-clientes .client-actions {
    width: auto;
    inline-size: auto;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-self: stretch;
    justify-content: stretch;
    overflow: hidden;
  }

  #view-clientes .customers-receivable-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "main status"
      "balance available"
      "pay history";
    align-items: stretch;
  }

  #view-clientes .customers-receivable-row > :where(button, .omega-badge) {
    width: 100%;
    justify-self: stretch;
    justify-content: center;
    text-align: center;
  }

  #view-clientes .customers-history-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #view-clientes .customers-history-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "main status"
      "meta meta"
      "total balance"
      "action action";
    align-items: stretch;
  }

  #view-clientes .customers-history-row > .small-btn {
    width: 100%;
  }
}

@media (max-width: 420px) {
  #view-clientes .customers-summary-grid,
  #view-clientes .customers-history-summary,
  #view-clientes .client-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-clientes .customers-receivable-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "main"
      "balance"
      "available"
      "status"
      "pay"
      "history";
  }

  #view-clientes .customers-history-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "main"
      "meta"
      "total"
      "balance"
      "status"
      "action";
  }

  #view-clientes .customers-receivable-row > .omega-badge,
  #view-clientes .customers-history-row > .omega-badge {
    justify-self: stretch;
    justify-content: center;
  }
}

/* Correccion focalizada de Ventas · operacion real al 100% de zoom.
   Conserva contratos DOM y limita la compactacion a los dos modos de venta. */
#view-ventas .sales-template-switcher {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 10px;
  align-items: center;
  color: var(--muted);
  font-family: var(--omega-font-operational);
}

#view-ventas .sales-template-switcher-label {
  font-size: var(--omega-font-xs);
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

#view-ventas .sales-mode-segmented {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--surface-2);
}

#view-ventas .sales-mode-option {
  min-width: 0;
  min-height: 36px;
  padding: 7px 10px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: calc(var(--omega-radius-md) - 4px);
  color: var(--muted);
  background: transparent;
  font: 750 var(--omega-font-xs) / 1.08 var(--omega-font-operational);
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-ventas .sales-mode-option:hover,
#view-ventas .sales-mode-option:focus-visible {
  color: var(--ink);
  background: color-mix(in srgb, var(--accent-soft) 52%, var(--panel-strong));
}

#view-ventas.sales-template-normal .sales-mode-option[data-sales-template-mode="normal"],
#view-ventas.sales-template-fast .sales-mode-option[data-sales-template-mode="fast"] {
  color: var(--button-primary-ink);
  background: var(--button-primary-bg);
  border-color: color-mix(in srgb, var(--omega-accent, var(--accent)) 42%, transparent);
  box-shadow: var(--omega-shadow-sm);
}

#view-ventas .sales-template-native-select {
  display: none;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

#view-ventas.sales-template-normal .sales-template-toolbar {
  justify-content: flex-start;
  padding: 6px 10px;
}

#view-ventas.sales-template-normal .sales-template-switcher {
  width: min(100%, 470px);
  grid-template-columns: auto minmax(280px, 1fr);
}

#view-ventas.sales-template-normal .sales-catalog-panel {
  grid-template-rows: auto auto auto minmax(180px, 1fr);
}

#view-ventas.sales-template-normal #sales-catalog-summary {
  display: none !important;
}

#view-ventas.sales-template-normal .sales-notices {
  gap: 5px;
}

#view-ventas.sales-template-normal .sales-notices .sales-alert {
  padding: 6px 8px;
}

#view-ventas.sales-template-normal .sales-low-stock-summary {
  gap: 7px;
}

#view-ventas.sales-template-normal .sales-low-stock-copy {
  display: flex;
  gap: 6px;
  align-items: baseline;
}

#view-ventas.sales-template-normal .sales-low-stock-copy span {
  flex: 0 0 auto;
}

#view-ventas.sales-template-normal .sales-low-stock-action {
  min-height: 32px;
  padding: 5px 8px;
}

#view-ventas.sales-template-normal .sales-category-section {
  min-width: 0;
  max-height: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
}

#view-ventas.sales-template-normal .sales-category-heading {
  display: block;
}

#view-ventas.sales-template-normal .sales-category-heading span {
  display: none;
}

#view-ventas.sales-template-normal #sales-category-cards {
  min-width: 0;
  display: flex;
  gap: 5px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 1px 4px;
  scrollbar-gutter: auto;
  scroll-snap-type: inline proximity;
}

#view-ventas.sales-template-normal .sales-category-card {
  flex: 0 0 auto;
  width: auto;
  max-width: 168px;
  min-height: 36px;
  padding: 7px 10px;
  align-content: center;
  scroll-snap-align: start;
}

#view-ventas.sales-template-normal .sales-category-card strong {
  max-width: 145px;
}

#view-ventas.sales-template-normal .sales-category-card span,
#view-ventas.sales-template-normal .sales-category-card small {
  display: none;
}

#view-ventas.sales-template-fast .sales-fast-template-slot .sales-template-switcher {
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
}

#view-ventas.sales-template-fast .sales-fast-template-slot .sales-template-switcher-label {
  display: none;
}

@media (min-width: 1101px) {
  body:has(#view-ventas.sales-template-fast.active) .main {
    height: 100dvh;
    box-sizing: border-box;
    padding-bottom: 4px;
  }

  body:has(#view-ventas.sales-template-normal.active) {
    overflow: hidden;
  }

  body:has(#view-ventas.sales-template-normal.active) .main {
    height: 100dvh;
    min-height: 0;
    padding: 10px 12px 14px;
    overflow: hidden;
  }

  #view-ventas.sales-template-normal.active {
    height: 100%;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 8px;
    overflow: hidden;
  }

  #view-ventas.sales-template-normal .ventas-layout,
  body:not(.sidebar-collapsed) #view-ventas.sales-template-normal .ventas-layout {
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(430px, .96fr);
    gap: 8px;
    overflow: hidden;
  }

  #view-ventas.sales-template-normal :where(.sales-catalog-panel, .sales-cart-panel) {
    height: 100%;
    min-height: 0;
    max-height: 100%;
    padding: 10px;
    gap: 6px;
    overflow: hidden;
  }

  #view-ventas.sales-template-normal .sales-capture-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  #view-ventas.sales-template-normal .sales-capture-tools .input {
    min-height: 42px;
    padding: 9px 11px;
    font-size: var(--omega-font-sm);
  }

  #view-ventas.sales-template-normal #catalog-grid {
    min-height: 0;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 132px), 1fr));
    gap: 6px;
    overflow-y: auto;
  }

  #view-ventas.sales-template-normal .catalog-item {
    min-height: 92px;
    padding: 10px;
    gap: 5px;
  }

  #view-ventas.sales-template-normal .catalog-hit {
    min-height: 60px;
    gap: 5px;
  }

  #view-ventas.sales-template-normal .catalog-name {
    min-height: 2.15em;
  }

  #view-ventas.sales-template-normal .catalog-price {
    font-size: var(--omega-font-md);
  }

  #view-ventas.sales-template-normal .sales-cart-panel {
    grid-template-rows: auto minmax(92px, 1fr) auto auto auto auto auto auto;
    gap: 6px;
  }

  #view-ventas.sales-template-normal .sales-cart-header::after {
    display: none;
  }

  #view-ventas.sales-template-normal #cart-list {
    min-height: 92px;
    padding: 5px;
  }

  #view-ventas.sales-template-normal .sales-cart-table-head,
  #view-ventas.sales-template-normal .sales-cart-row {
    grid-template-columns: minmax(0, 1.35fr) 62px 112px 72px 54px;
    gap: 4px;
  }

  #view-ventas.sales-template-normal .sales-cart-table-head {
    padding: 7px 6px;
  }

  #view-ventas.sales-template-normal .sales-cart-row {
    min-height: 54px;
    padding: 6px;
  }

  #view-ventas.sales-template-normal .sales-cart-quantity {
    grid-template-columns: 34px minmax(38px, 1fr) 34px;
    gap: 3px;
  }

  #view-ventas.sales-template-normal .sales-cart-quantity .small-btn,
  #view-ventas.sales-template-normal .sales-cart-quantity .small-input,
  #view-ventas.sales-template-normal .sales-cart-delete {
    min-width: 34px;
    min-height: 36px;
    padding: 5px;
  }

  #view-ventas.sales-template-normal .sales-totals-panel {
    padding: 7px 10px;
    gap: 3px;
  }

  #view-ventas.sales-template-normal .sales-totals-panel .line.total {
    padding-top: 5px;
  }

  #view-ventas.sales-template-normal #cart-total {
    font-size: clamp(1.2rem, 1.65vw, 1.55rem);
  }

  #view-ventas.sales-template-normal .sales-sale-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
  }

  #view-ventas.sales-template-normal .sales-sale-controls::before {
    display: none;
  }

  #view-ventas.sales-template-normal .sales-sale-controls :where(.omega-input, .omega-select) {
    min-height: 36px;
    padding: 6px 28px 6px 8px;
    font-size: var(--omega-font-xs);
  }

  #view-ventas.sales-template-normal .sales-transaction-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
  }

  #view-ventas.sales-template-normal .sales-transaction-actions > * {
    min-height: 36px;
    padding: 6px;
  }

  #view-ventas.sales-template-normal .sales-transaction-actions #checkout-btn {
    min-height: 42px;
    font-size: var(--omega-font-sm);
  }

  #view-ventas.sales-template-normal .sales-holds-panel {
    min-height: 0;
    max-height: 76px;
    padding: 7px 8px;
    gap: 4px;
  }

  #view-ventas.sales-template-normal .sales-holds-panel:has(.empty-state) {
    height: 34px;
    grid-template-rows: auto;
    align-content: center;
  }

  #view-ventas.sales-template-normal .sales-holds-panel:has(.empty-state) .sales-holds-list {
    display: none;
  }

  #view-ventas.sales-template-normal .sales-shift-actions {
    gap: 5px;
  }

  #view-ventas.sales-template-normal .sales-shift-actions > * {
    min-height: 36px;
    padding: 6px;
  }

  #view-ventas.sales-template-fast .cart-card {
    grid-template-areas:
      "title title"
      "cart keypad"
      "cart keypad"
      "actions keypad"
      "shift shift"
      "notice notice";
    grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  }

  #view-ventas.sales-template-fast .sales-shift-actions {
    grid-area: shift;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 0;
    padding: 5px;
  }

  #view-ventas.sales-template-fast .sales-shift-actions > * {
    min-height: 34px;
    padding: 5px 7px;
  }
}

@media (min-width: 1101px) and (max-width: 1400px) {
  #view-ventas.sales-template-normal .ventas-layout,
  body:not(.sidebar-collapsed) #view-ventas.sales-template-normal .ventas-layout {
    grid-template-columns: minmax(0, 1fr) minmax(420px, .96fr);
  }

  #view-ventas.sales-template-normal .sales-template-toolbar {
    padding-left: 58px;
  }

  #view-ventas.sales-template-normal .sales-category-card {
    max-width: 142px;
  }

  #view-ventas.sales-template-normal .sales-category-card strong {
    max-width: 120px;
  }

  #view-ventas.sales-template-fast .sales-fast-status-panel {
    grid-template-columns:
      minmax(215px, .86fr)
      minmax(250px, 1.2fr)
      minmax(135px, .62fr)
      minmax(118px, .55fr);
  }
}

@media (max-width: 1100px) {
  #view-ventas.sales-template-normal .sales-catalog-panel {
    grid-template-rows: auto auto auto minmax(180px, auto);
  }

  #view-ventas.sales-template-fast .cart-card {
    grid-template-areas:
      "title"
      "cart"
      "actions"
      "shift"
      "notice"
      "keypad";
    grid-template-rows: auto minmax(300px, 46dvh) auto auto auto auto;
  }

  #view-ventas.sales-template-fast .sales-shift-actions {
    grid-area: shift;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 0;
    padding: 5px;
  }
}

@media (max-width: 560px) {
  #view-ventas .sales-template-switcher,
  #view-ventas.sales-template-normal .sales-template-switcher,
  #view-ventas.sales-template-fast .sales-fast-template-slot .sales-template-switcher {
    grid-template-columns: auto minmax(0, 1fr);
  }

  #view-ventas .sales-mode-segmented {
    display: none;
  }

  #view-ventas .sales-template-native-select {
    display: block;
    position: static;
    width: 100%;
    height: auto;
    min-height: 40px;
    padding: 7px 34px 7px 9px;
    overflow: visible;
    clip: auto;
    clip-path: none;
    border: 1px solid var(--omega-border, var(--border-soft));
    white-space: normal;
  }

  #view-ventas.sales-template-fast .sales-fast-template-slot .sales-template-switcher-label {
    display: none;
  }

  #view-ventas.sales-template-fast .sales-fast-template-slot .sales-template-switcher {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-ventas.sales-template-fast .sales-fast-status-panel {
    grid-template-areas:
      "template checkout"
      "search search"
      "total total"
      "facts facts"
      "form form";
  }

  #view-ventas.sales-template-fast .sales-fast-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #view-ventas.sales-template-fast .sales-transaction-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-ventas.sales-template-normal .sales-category-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  #view-ventas.sales-template-normal .sales-category-card {
    max-width: 148px;
  }

  #view-ventas.sales-template-fast .sales-shift-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Paso 7B: espacio operativo de Compras */
#view-compras {
  gap: var(--omega-space-2);
  min-width: 0;
  min-height: 0;
  font-family: var(--omega-font-operational);
}

#view-compras :where(button, input, select, textarea, .small-btn, .omega-chip, .omega-badge) {
  font-family: var(--omega-font-operational);
}

#view-compras .purchases-tab-control {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

#view-compras .purchases-tabs {
  display: flex;
  align-items: center;
  gap: var(--omega-space-1);
  min-width: 0;
  padding: var(--omega-space-1);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel) 90%, transparent);
  box-shadow: var(--omega-shadow-sm);
}

#view-compras .purchases-tab {
  flex: 0 0 auto;
  min-height: var(--omega-control-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: var(--omega-radius-sm);
  color: var(--muted);
  font-size: var(--omega-font-sm);
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

#view-compras .purchases-tab:hover {
  color: var(--ink);
  background: var(--surface-1);
  transform: translateY(-1px);
}

#view-compras #purchases-tab-proveedores:checked ~ .purchases-tabs [for="purchases-tab-proveedores"],
#view-compras #purchases-tab-nueva:checked ~ .purchases-tabs [for="purchases-tab-nueva"],
#view-compras #purchases-tab-cuentas:checked ~ .purchases-tabs [for="purchases-tab-cuentas"],
#view-compras #purchases-tab-historial:checked ~ .purchases-tabs [for="purchases-tab-historial"] {
  color: var(--nav-active-ink);
  background: var(--nav-active-bg);
  border-color: color-mix(in srgb, var(--nav-active-bg) 72%, var(--border-soft));
  box-shadow: var(--omega-shadow-sm);
}

#view-compras #purchases-tab-proveedores:focus-visible ~ .purchases-tabs [for="purchases-tab-proveedores"],
#view-compras #purchases-tab-nueva:focus-visible ~ .purchases-tabs [for="purchases-tab-nueva"],
#view-compras #purchases-tab-cuentas:focus-visible ~ .purchases-tabs [for="purchases-tab-cuentas"],
#view-compras #purchases-tab-historial:focus-visible ~ .purchases-tabs [for="purchases-tab-historial"] {
  outline: 3px solid var(--omega-focus);
  outline-offset: 2px;
}

#view-compras .purchases-tab-panels,
#view-compras .purchases-tab-panel {
  min-width: 0;
  min-height: 0;
}

#view-compras .purchases-tab-panel {
  display: none;
}

#view-compras #purchases-tab-proveedores:checked ~ .purchases-tab-panels #purchases-panel-proveedores,
#view-compras #purchases-tab-nueva:checked ~ .purchases-tab-panels #purchases-panel-nueva,
#view-compras #purchases-tab-cuentas:checked ~ .purchases-tab-panels #purchases-panel-cuentas,
#view-compras #purchases-tab-historial:checked ~ .purchases-tab-panels #purchases-panel-historial {
  display: grid;
}

#view-compras .purchases-suppliers-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
  gap: var(--omega-space-3);
  align-items: stretch;
}

#view-compras .purchases-tab-panel > .omega-panel {
  min-width: 0;
  min-height: 0;
  margin: 0;
}

#view-compras .purchases-panel-header {
  gap: var(--omega-space-3);
  align-items: center;
}

#view-compras .purchases-panel-header > div {
  min-width: 0;
}

#view-compras .purchases-panel-kicker {
  margin: 0 0 2px;
  color: var(--muted);
  font-size: var(--omega-font-xs);
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#view-compras .purchases-panel-header .omega-panel-title {
  margin: 0;
  font-family: var(--omega-font-operational);
  font-size: var(--omega-font-lg);
  line-height: 1.15;
}

#view-compras #supplier-search {
  width: min(100%, 390px);
  margin-left: auto;
}

#view-compras :where(#suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history) {
  min-width: 0;
  min-height: 0;
  padding-right: 4px;
}

#view-compras .purchases-supplier-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--omega-space-2);
  min-width: 0;
  min-height: 0;
  align-content: start;
}

#view-compras .purchases-supplier-form > label,
#view-compras .purchases-entry-form label {
  min-width: 0;
  display: grid;
  gap: var(--omega-space-1);
  color: var(--muted);
  font-size: var(--omega-font-xs);
  font-weight: 800;
}

#view-compras .purchases-supplier-form > label:first-of-type,
#view-compras .purchases-form-wide,
#view-compras .purchases-form-actions {
  grid-column: 1 / -1;
}

#view-compras .purchases-form-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--omega-space-1);
}

#view-compras .purchases-form-actions > * {
  width: 100%;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

#view-compras .purchases-list-summary {
  margin: 0;
  padding: 9px 11px;
  border-radius: var(--omega-radius-sm);
  font-size: var(--omega-font-xs);
}

#view-compras .purchases-supplier-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "main actions"
    "metrics metrics";
  gap: var(--omega-space-2);
  align-items: center;
  padding: var(--omega-space-3);
  border-radius: var(--omega-radius-md);
  box-shadow: none;
}

#view-compras .purchases-supplier-main {
  grid-area: main;
  min-width: 0;
  display: grid;
  gap: 5px;
}

#view-compras .purchases-supplier-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--omega-space-1);
}

#view-compras .purchases-supplier-title > strong {
  flex: 1 1 180px;
  min-width: 0;
  font-size: var(--omega-font-md);
  overflow-wrap: anywhere;
}

#view-compras .purchases-supplier-main .muted,
#view-compras .purchases-supplier-address {
  color: var(--muted);
  font-size: var(--omega-font-xs);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#view-compras .purchases-supplier-address {
  color: var(--ink);
}

#view-compras .purchases-supplier-metrics {
  grid-area: metrics;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--omega-space-1);
  min-width: 0;
}

#view-compras .purchases-supplier-stat {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-sm);
  background: var(--surface-2);
}

#view-compras .purchases-supplier-stat span,
#view-compras .purchases-summary-card span,
#view-compras .purchases-payable-value span,
#view-compras .purchases-history-total span,
#view-compras .purchases-history-balance span {
  color: var(--muted);
  font-size: var(--omega-font-xs);
  font-weight: 800;
}

#view-compras .purchases-supplier-stat strong {
  min-width: 0;
  font-size: var(--omega-font-sm);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

#view-compras .purchases-supplier-actions {
  grid-area: actions;
  display: flex;
  gap: var(--omega-space-1);
}

#view-compras .purchases-supplier-actions .small-btn {
  min-height: var(--omega-control-sm);
  padding: 7px 10px;
  font-size: var(--omega-font-xs);
}

#view-compras .purchases-entry-form {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--omega-space-2);
  align-content: start;
}

#view-compras .purchases-invoice-summary {
  grid-column: 1 / -1;
  margin: 0;
}

#view-compras .purchases-entry-section {
  min-width: 0;
  display: grid;
  gap: var(--omega-space-2);
  align-content: start;
  padding: var(--omega-space-3);
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: var(--surface-1);
}

#view-compras .purchases-entry-supplier,
#view-compras .purchases-entry-product {
  grid-column: span 6;
}

#view-compras .purchases-entry-values {
  grid-column: 1 / -1;
}

#view-compras .purchases-section-title {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px var(--omega-space-2);
}

#view-compras .purchases-section-title strong {
  color: var(--ink);
  font-size: var(--omega-font-sm);
}

#view-compras .purchases-section-title span {
  color: var(--muted);
  font-size: var(--omega-font-xs);
}

#view-compras .purchases-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--omega-space-2);
  min-width: 0;
}

#view-compras .purchases-values-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--omega-space-2);
  min-width: 0;
}

#view-compras .purchases-note-field {
  grid-column: span 2;
}

#view-compras .purchase-quick-strip {
  min-width: 0;
  margin-top: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}

#view-compras .purchase-quick-strip > * {
  flex: 0 0 auto;
}

#view-compras .purchase-picker-actions,
#view-compras .purchases-secondary-actions {
  gap: var(--omega-space-1);
}

#view-compras .purchase-picker-actions > *,
#view-compras .purchases-secondary-actions > * {
  min-width: 0;
}

#view-compras .purchases-product-hint,
#view-compras .purchases-tax-summary {
  margin: 0;
  padding: 9px 11px;
  border-radius: var(--omega-radius-sm);
  font-size: var(--omega-font-xs);
}

#view-compras .purchases-tax-summary {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border-soft));
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

#view-compras .purchases-entry-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  gap: var(--omega-space-2);
  align-items: center;
  padding: var(--omega-space-2);
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel) 94%, transparent);
  box-shadow: var(--omega-shadow-sm);
}

#view-compras .purchases-secondary-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#view-compras .purchases-save-button {
  min-width: 180px;
  min-height: var(--omega-touch-target);
  font-weight: 900;
}

#view-compras .purchases-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--omega-space-2);
}

#view-compras .purchases-summary-card {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: var(--omega-space-3);
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: var(--surface-1);
}

#view-compras .purchases-summary-card-primary {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 34%, var(--border-soft));
}

#view-compras .purchases-summary-card strong {
  min-width: 0;
  font-size: clamp(1.02rem, 1.5vw, 1.32rem);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

#view-compras .purchases-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--omega-space-2);
  margin-top: var(--omega-space-1);
  color: var(--ink);
}

#view-compras .purchases-section-heading span {
  color: var(--muted);
  font-size: var(--omega-font-xs);
}

#view-compras :where(.purchases-payables-list, .purchases-payments-list, .purchases-history-list) {
  display: grid;
  gap: var(--omega-space-2);
  min-width: 0;
}

#view-compras .purchases-payable-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(96px, auto)) auto auto auto;
  grid-template-areas: "main original paid balance status pay detail";
  gap: var(--omega-space-2);
  align-items: center;
  padding: var(--omega-space-3);
  border-radius: var(--omega-radius-md);
}

#view-compras .purchases-payable-main {
  grid-area: main;
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-compras .purchases-payable-main :where(span, small) {
  color: var(--muted);
  font-size: var(--omega-font-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-compras .purchases-payable-value {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-compras .purchases-payable-value:nth-of-type(2) {
  grid-area: original;
}

#view-compras .purchases-payable-value:nth-of-type(3) {
  grid-area: paid;
}

#view-compras .purchases-payable-value:nth-of-type(4) {
  grid-area: balance;
}

#view-compras .purchases-payable-value strong {
  font-size: var(--omega-font-sm);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

#view-compras .purchases-payable-balance strong {
  color: var(--danger);
}

#view-compras .purchases-payable-row > .omega-badge {
  grid-area: status;
}

#view-compras .purchases-payable-row > button:first-of-type {
  grid-area: pay;
}

#view-compras .purchases-payable-row > button:last-of-type {
  grid-area: detail;
}

#view-compras .purchases-payment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--omega-space-2);
  align-items: center;
  padding: 9px 11px;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-sm);
  background: var(--surface-2);
}

#view-compras .purchases-payment-row > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#view-compras .purchases-payment-row span {
  color: var(--muted);
  font-size: var(--omega-font-xs);
  overflow-wrap: anywhere;
}

#view-compras .purchases-payment-row > strong {
  font-variant-numeric: tabular-nums;
}

#view-compras .purchases-history-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(150px, .9fr) repeat(2, minmax(92px, auto)) auto auto auto;
  grid-template-areas:
    "main product total balance status payment action"
    "note note note note note note note";
  gap: var(--omega-space-2);
  align-items: center;
  padding: var(--omega-space-3);
  border-radius: var(--omega-radius-md);
}

#view-compras .purchases-history-main {
  grid-area: main;
}

#view-compras .purchases-history-product {
  grid-area: product;
}

#view-compras .purchases-history-main,
#view-compras .purchases-history-product,
#view-compras .purchases-history-total,
#view-compras .purchases-history-balance {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-compras .purchases-history-main :where(span, small),
#view-compras .purchases-history-product span,
#view-compras .purchases-history-note {
  color: var(--muted);
  font-size: var(--omega-font-xs);
}

#view-compras .purchases-history-main :where(strong, span, small),
#view-compras .purchases-history-product :where(strong, span) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-compras .purchases-history-total {
  grid-area: total;
}

#view-compras .purchases-history-balance {
  grid-area: balance;
}

#view-compras .purchases-history-total strong,
#view-compras .purchases-history-balance strong {
  font-size: var(--omega-font-sm);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

#view-compras .purchases-history-row > .omega-badge {
  grid-area: status;
}

#view-compras .purchases-payment-chip {
  grid-area: payment;
  justify-self: start;
}

#view-compras .purchases-history-note {
  grid-area: note;
  min-width: 0;
  overflow-wrap: anywhere;
}

#view-compras .purchases-history-row > .small-btn {
  grid-area: action;
}

#view-compras .purchases-empty-state {
  min-height: 120px;
  padding: var(--omega-space-4);
}

@media (min-width: 1100px) {
  #view-compras.active {
    grid-template-rows: auto minmax(0, 1fr);
  }

  #view-compras .purchases-tab-panels,
  #view-compras .purchases-tab-panel,
  #view-compras .purchases-tab-panel > .omega-panel {
    height: 100%;
    max-height: 100%;
  }

  #view-compras .purchases-tab-panel > .omega-panel,
  #view-compras .purchases-suppliers-layout > .omega-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  #view-compras :where(#suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history) {
    max-height: none;
    overflow: auto;
  }

  #view-compras .purchases-entry-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
  }
}

@media (max-width: 1280px) {
  #view-compras .purchases-suppliers-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  }

  #view-compras .purchases-supplier-metrics,
  #view-compras .purchases-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-compras .purchases-values-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #view-compras .purchases-note-field {
    grid-column: span 3;
  }

  #view-compras .purchases-payable-row {
    grid-template-columns: minmax(0, 1fr) repeat(2, minmax(95px, auto)) auto;
    grid-template-areas:
      "main balance status detail"
      "original paid pay pay";
  }

  #view-compras .purchases-history-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) repeat(2, auto);
    grid-template-areas:
      "main product status action"
      "total balance payment payment"
      "note note note note";
  }
}

@media (max-width: 980px) {
  #view-compras .purchases-suppliers-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-compras .purchases-tabs {
    scroll-snap-type: inline proximity;
  }

  #view-compras .purchases-tab {
    scroll-snap-align: start;
  }

  #view-compras .purchases-entry-supplier,
  #view-compras .purchases-entry-product {
    grid-column: 1 / -1;
  }

  #view-compras .purchases-entry-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-compras .purchases-save-button {
    width: 100%;
  }
}

@media (max-width: 640px) {
  #view-compras {
    gap: var(--omega-space-1);
  }

  #view-compras .purchases-tabs {
    margin-inline: -2px;
    border-radius: var(--omega-radius-sm);
  }

  #view-compras .purchases-tab {
    min-height: var(--omega-touch-target);
    padding-inline: 12px;
  }

  #view-compras .purchases-tab-panel {
    gap: var(--omega-space-2);
  }

  #view-compras .purchases-tab-panel > .omega-panel {
    padding: var(--omega-space-3);
    border-radius: var(--omega-radius-md);
  }

  #view-compras .purchases-panel-header {
    align-items: stretch;
  }

  #view-compras #supplier-search {
    width: 100%;
    margin-left: 0;
  }

  #view-compras .purchases-supplier-form,
  #view-compras .purchases-fields-grid,
  #view-compras .purchases-values-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-compras .purchases-supplier-form > *,
  #view-compras .purchases-supplier-form > label:first-of-type,
  #view-compras .purchases-form-wide,
  #view-compras .purchases-form-actions,
  #view-compras .purchases-note-field {
    grid-column: 1;
  }

  #view-compras .purchases-form-actions,
  #view-compras .purchases-secondary-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-compras :where(#suppliers-list, #supplier-form, #purchase-form, #payables-list, #purchases-history) {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  #view-compras .purchases-entry-form {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-compras .purchases-entry-section,
  #view-compras .purchases-entry-actions,
  #view-compras .purchases-invoice-summary {
    grid-column: 1;
  }

  #view-compras .purchases-entry-section {
    padding: var(--omega-space-2);
  }

  #view-compras .purchases-entry-actions {
    position: static;
    padding: var(--omega-space-2);
  }

  #view-compras .purchases-supplier-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  #view-compras .purchases-supplier-metrics,
  #view-compras .purchases-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-compras .purchases-supplier-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-compras .purchases-supplier-actions .small-btn {
    width: 100%;
  }

  #view-compras .purchases-payable-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "main status"
      "original paid"
      "balance balance"
      "pay detail";
    align-items: stretch;
  }

  #view-compras .purchases-payable-row > :where(button, .omega-badge) {
    width: 100%;
    justify-self: stretch;
    justify-content: center;
    text-align: center;
  }

  #view-compras .purchases-history-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "main status"
      "product product"
      "total balance"
      "payment action"
      "note note";
    align-items: stretch;
  }

  #view-compras .purchases-history-row > .small-btn,
  #view-compras .purchases-payment-chip {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 420px) {
  #view-compras .purchases-supplier-metrics,
  #view-compras .purchases-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-compras .purchases-payable-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "main"
      "original"
      "paid"
      "balance"
      "status"
      "pay"
      "detail";
  }

  #view-compras .purchases-history-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "main"
      "product"
      "total"
      "balance"
      "status"
      "payment"
      "note"
      "action";
  }

  #view-compras .purchases-supplier-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Paso 7C · Inventario operativo */
#view-inventario {
  --inventory-gap: var(--omega-space-2);
  min-width: 0;
  min-height: 0;
  gap: var(--inventory-gap);
  align-content: start;
  font-family: var(--omega-font-operational);
}

#view-inventario :where(input, select, button, label, small, strong, p, span) {
  font-family: var(--omega-font-operational);
}

#view-inventario .inventory-tab-control {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

#view-inventario .inventory-tabs {
  min-width: 0;
  display: flex;
  gap: var(--omega-space-1);
  padding: var(--omega-space-1);
  overflow-x: auto;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel, var(--omega-surface)) 88%, transparent);
  box-shadow: var(--omega-shadow-sm);
  scrollbar-width: thin;
}

#view-inventario .inventory-tab {
  min-width: max-content;
  min-height: var(--omega-touch-target);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  border: 1px solid transparent;
  border-radius: var(--omega-radius-sm);
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-sm);
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
  user-select: none;
  transition: color .16s ease, border-color .16s ease, background-color .16s ease;
}

#view-inventario #inventory-tab-products:focus-visible ~ .inventory-tabs [for="inventory-tab-products"],
#view-inventario #inventory-tab-movements:focus-visible ~ .inventory-tabs [for="inventory-tab-movements"],
#view-inventario #inventory-tab-low-stock:focus-visible ~ .inventory-tabs [for="inventory-tab-low-stock"],
#view-inventario #inventory-tab-categories:focus-visible ~ .inventory-tabs [for="inventory-tab-categories"] {
  outline: 3px solid color-mix(in srgb, var(--omega-focus, var(--accent)) 54%, transparent);
  outline-offset: 2px;
}

#view-inventario #inventory-tab-products:checked ~ .inventory-tabs [for="inventory-tab-products"],
#view-inventario #inventory-tab-movements:checked ~ .inventory-tabs [for="inventory-tab-movements"],
#view-inventario #inventory-tab-low-stock:checked ~ .inventory-tabs [for="inventory-tab-low-stock"],
#view-inventario #inventory-tab-categories:checked ~ .inventory-tabs [for="inventory-tab-categories"] {
  color: var(--button-primary-ink, var(--omega-text));
  border-color: color-mix(in srgb, var(--omega-focus, var(--accent)) 50%, var(--omega-border, transparent));
  background: var(--button-primary-bg, var(--omega-primary));
  box-shadow: var(--omega-shadow-sm);
}

#view-inventario .inventory-tab-panels,
#view-inventario .inventory-tab-panel {
  min-width: 0;
  min-height: 0;
}

#view-inventario .inventory-tab-panel {
  display: none;
}

#view-inventario #inventory-tab-products:checked ~ .inventory-tab-panels #inventory-panel-products,
#view-inventario #inventory-tab-movements:checked ~ .inventory-tab-panels #inventory-panel-movements,
#view-inventario #inventory-tab-low-stock:checked ~ .inventory-tab-panels #inventory-panel-low-stock,
#view-inventario #inventory-tab-categories:checked ~ .inventory-tab-panels #inventory-panel-categories {
  display: grid;
}

#view-inventario .inventory-products-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  gap: var(--inventory-gap);
  align-items: stretch;
}

#view-inventario .inventory-categories-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--inventory-gap);
  align-items: stretch;
}

#view-inventario .omega-panel {
  gap: var(--omega-space-2);
  padding: var(--omega-space-3);
  border-radius: var(--omega-radius-lg);
}

#view-inventario .inventory-directory-panel {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

#view-inventario .inventory-full-panel {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

#view-inventario .inventory-categories-panel {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

#view-inventario .inventory-labels-panel {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

#view-inventario .inventory-panel-header {
  min-width: 0;
  padding-bottom: var(--omega-space-1);
  border-bottom: 1px solid var(--omega-border, var(--border-soft));
}

#view-inventario .inventory-panel-header > div {
  min-width: 0;
}

#view-inventario .inventory-panel-kicker {
  margin: 0 0 3px;
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

#view-inventario .inventory-panel-header .omega-panel-title {
  font-family: var(--omega-font-operational);
  font-size: var(--omega-font-lg);
}

#view-inventario .inventory-product-toolbar {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(165px, .85fr)) auto;
  gap: var(--omega-space-2);
}

#view-inventario .inventory-summary-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--omega-space-1);
}

#view-inventario .inventory-summary-card {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 9px 11px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-sm);
  background: var(--panel-strong, var(--omega-surface-soft));
}

#view-inventario .inventory-summary-card span {
  overflow: hidden;
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-inventario .inventory-summary-card strong {
  color: var(--ink, var(--omega-text));
  font-size: var(--omega-font-lg);
  line-height: 1;
}

#view-inventario .inventory-summary-card.warning {
  border-color: color-mix(in srgb, var(--omega-warning) 40%, var(--omega-border, transparent));
  background: color-mix(in srgb, var(--omega-warning) 10%, var(--panel-strong, var(--omega-surface-soft)));
}

#view-inventario .inventory-summary-card.danger {
  border-color: color-mix(in srgb, var(--omega-danger) 42%, var(--omega-border, transparent));
  background: color-mix(in srgb, var(--omega-danger) 10%, var(--panel-strong, var(--omega-surface-soft)));
}

#view-inventario .inventory-product-list,
#view-inventario .inventory-movement-list,
#view-inventario .inventory-low-stock-list,
#view-inventario .inventory-category-list,
#view-inventario .inventory-label-list {
  min-width: 0;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: var(--omega-space-1);
  padding-right: 3px;
}

#view-inventario .inventory-list-note,
#view-inventario .inventory-results-note {
  margin: 0;
  padding: 8px 10px;
  border-radius: var(--omega-radius-sm);
  font-size: var(--omega-font-xs);
}

#view-inventario .inventory-product-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, auto);
  grid-template-areas:
    "main actions"
    "values values";
  gap: var(--omega-space-2);
  padding: 10px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--omega-surface-soft));
}

#view-inventario .inventory-product-row.is-low {
  border-color: color-mix(in srgb, var(--omega-warning) 44%, var(--omega-border, transparent));
}

#view-inventario .inventory-product-row.is-out {
  border-color: color-mix(in srgb, var(--omega-danger) 46%, var(--omega-border, transparent));
}

#view-inventario .inventory-product-main {
  grid-area: main;
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 4px;
}

#view-inventario .inventory-product-heading {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

#view-inventario .inventory-product-heading > strong {
  min-width: 120px;
  max-width: 100%;
  overflow: hidden;
  font-size: var(--omega-font-sm);
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-inventario .inventory-product-code,
#view-inventario .inventory-product-conversion {
  overflow-wrap: anywhere;
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
  line-height: 1.3;
}

#view-inventario .inventory-product-values {
  grid-area: values;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--omega-space-1);
}

#view-inventario .inventory-product-values > span,
#view-inventario .inventory-low-stock-values > span {
  min-width: 0;
  display: grid;
  gap: 1px;
  padding: 6px 8px;
  border-radius: var(--omega-radius-sm);
  background: color-mix(in srgb, var(--panel, var(--omega-surface)) 68%, transparent);
}

#view-inventario .inventory-product-values small,
#view-inventario .inventory-low-stock-values small {
  color: var(--muted, var(--omega-muted));
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#view-inventario .inventory-product-values strong,
#view-inventario .inventory-low-stock-values strong {
  overflow: hidden;
  font-size: var(--omega-font-sm);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-inventario .inventory-product-values em {
  overflow: hidden;
  color: var(--muted, var(--omega-muted));
  font-size: .68rem;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-inventario .inventory-product-actions {
  grid-area: actions;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

#view-inventario .inventory-product-actions .small-btn,
#view-inventario .inventory-low-stock-actions .small-btn {
  min-width: 0;
  min-height: 36px;
  padding: 7px 9px;
  font-size: var(--omega-font-xs);
}

#view-inventario .inventory-editor-panel {
  min-width: 0;
  min-height: 0;
  align-self: stretch;
}

#view-inventario .inventory-editor-panel:not([open]) {
  display: block;
  align-self: start;
  padding: 0;
}

#view-inventario .inventory-editor-panel[open] {
  grid-template-rows: auto minmax(0, 1fr);
}

#view-inventario .inventory-editor-summary {
  min-width: 0;
  min-height: var(--omega-touch-target);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--omega-space-2);
  padding: var(--omega-space-3);
  cursor: pointer;
  list-style: none;
}

#view-inventario .inventory-editor-summary::-webkit-details-marker {
  display: none;
}

#view-inventario .inventory-editor-summary > span:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}

#view-inventario .inventory-editor-summary small {
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
}

#view-inventario .inventory-editor-content {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 0 var(--omega-space-3) var(--omega-space-3);
}

#view-inventario .inventory-product-form {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--omega-space-2);
}

#view-inventario .inventory-product-form > label {
  min-width: 0;
}

#view-inventario .inventory-form-note,
#view-inventario .inventory-product-form > .double-actions {
  grid-column: 1 / -1;
}

#view-inventario .inventory-quick-actions,
#view-inventario .inventory-form-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--omega-space-1);
}

#view-inventario .inventory-quick-actions > *,
#view-inventario .inventory-form-actions > * {
  width: 100%;
  min-width: 0;
  min-height: var(--omega-touch-target);
}

#view-inventario .inventory-form-actions > :first-child {
  grid-column: 1 / -1;
}

#view-inventario .inventory-movement-toolbar {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(170px, 1fr) minmax(140px, .8fr) repeat(2, minmax(135px, .75fr));
  gap: var(--omega-space-2);
}

#view-inventario .inventory-movement-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(100px, .38fr) minmax(210px, 1fr);
  gap: var(--omega-space-2);
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--omega-surface-soft));
}

#view-inventario .inventory-movement-main,
#view-inventario .inventory-movement-quantity,
#view-inventario .inventory-movement-detail {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#view-inventario .inventory-movement-main strong,
#view-inventario .inventory-movement-detail strong,
#view-inventario .inventory-movement-detail p {
  overflow: hidden;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-inventario .inventory-movement-main span,
#view-inventario .inventory-movement-main small,
#view-inventario .inventory-movement-detail small,
#view-inventario .inventory-movement-detail p,
#view-inventario .inventory-movement-quantity small {
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
}

#view-inventario .inventory-movement-quantity strong {
  font-size: var(--omega-font-lg);
}

#view-inventario .inventory-movement-quantity.positive strong {
  color: var(--omega-success);
}

#view-inventario .inventory-movement-quantity.negative strong {
  color: var(--omega-danger);
}

#view-inventario .inventory-low-stock-toolbar {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(180px, .7fr);
  gap: var(--omega-space-2);
}

#view-inventario .inventory-low-stock-group {
  min-width: 0;
  display: grid;
  gap: var(--omega-space-1);
}

#view-inventario .inventory-low-stock-group > h4 {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-sm);
  background: var(--panel, var(--omega-surface));
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
  letter-spacing: .07em;
  text-transform: uppercase;
}

#view-inventario .inventory-low-stock-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(260px, .9fr) minmax(150px, auto);
  gap: var(--omega-space-2);
  align-items: center;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--omega-warning) 42%, var(--omega-border, transparent));
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--omega-warning) 8%, var(--panel-strong, var(--omega-surface-soft)));
}

#view-inventario .inventory-low-stock-row.is-out {
  border-color: color-mix(in srgb, var(--omega-danger) 44%, var(--omega-border, transparent));
  background: color-mix(in srgb, var(--omega-danger) 8%, var(--panel-strong, var(--omega-surface-soft)));
}

#view-inventario .inventory-low-stock-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-inventario .inventory-low-stock-main > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

#view-inventario .inventory-low-stock-main > small {
  overflow-wrap: anywhere;
  color: var(--muted, var(--omega-muted));
}

#view-inventario .inventory-low-stock-values {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--omega-space-1);
}

#view-inventario .inventory-low-stock-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--omega-space-1);
}

#view-inventario .inventory-category-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--omega-space-1);
}

#view-inventario .inventory-category-row,
#view-inventario .inventory-label-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: var(--omega-space-2);
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong, var(--omega-surface-soft));
}

#view-inventario .inventory-category-row > div,
#view-inventario .inventory-label-row > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#view-inventario .inventory-category-row small,
#view-inventario .inventory-label-row small {
  overflow: hidden;
  color: var(--muted, var(--omega-muted));
  font-size: var(--omega-font-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-inventario .inventory-empty-state {
  min-height: 110px;
}

@media (min-width: 1200px) {
  #view-inventario.active {
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
  }

  #view-inventario.active .inventory-tab-panels,
  #view-inventario.active .inventory-tab-panel,
  #view-inventario.active .inventory-tab-panel > .omega-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  #view-inventario.active .inventory-editor-content {
    max-height: calc(100dvh - 232px);
  }
}

@media (max-width: 1500px) {
  #view-inventario .inventory-movement-toolbar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #view-inventario .inventory-movement-toolbar > :first-child,
  #view-inventario .inventory-movement-toolbar > :nth-child(2) {
    grid-column: span 1;
  }
}

@media (max-width: 1180px) {
  #view-inventario .inventory-products-layout,
  #view-inventario .inventory-categories-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-inventario .inventory-product-list,
  #view-inventario .inventory-movement-list,
  #view-inventario .inventory-low-stock-list,
  #view-inventario .inventory-category-list,
  #view-inventario .inventory-label-list {
    max-height: min(54dvh, 620px);
  }

  #view-inventario .inventory-editor-content {
    max-height: min(68dvh, 720px);
  }
}

@media (max-width: 780px) {
  #view-inventario .inventory-product-toolbar,
  #view-inventario .inventory-movement-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-inventario .inventory-product-toolbar > :first-child,
  #view-inventario .inventory-movement-toolbar > :first-child {
    grid-column: 1 / -1;
  }

  #view-inventario .inventory-product-toolbar #bulk-product-import-btn {
    grid-column: auto;
    justify-self: stretch;
  }

  #view-inventario .inventory-movement-row {
    grid-template-columns: minmax(0, 1fr) minmax(90px, auto);
    grid-template-areas:
      "main quantity"
      "detail detail";
  }

  #view-inventario .inventory-movement-main {
    grid-area: main;
  }

  #view-inventario .inventory-movement-quantity {
    grid-area: quantity;
    text-align: right;
  }

  #view-inventario .inventory-movement-detail {
    grid-area: detail;
  }

  #view-inventario .inventory-low-stock-row {
    grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
    grid-template-areas:
      "main actions"
      "values values";
  }

  #view-inventario .inventory-low-stock-main {
    grid-area: main;
  }

  #view-inventario .inventory-low-stock-values {
    grid-area: values;
  }

  #view-inventario .inventory-low-stock-actions {
    grid-area: actions;
  }
}

@media (max-width: 640px) {
  #view-inventario {
    gap: var(--omega-space-1);
  }

  #view-inventario .inventory-tabs {
    margin-inline: -2px;
    scroll-snap-type: inline proximity;
  }

  #view-inventario .inventory-tab {
    min-height: var(--omega-touch-target);
    padding-inline: 12px;
    scroll-snap-align: start;
  }

  #view-inventario .omega-panel {
    padding: var(--omega-space-2);
    border-radius: var(--omega-radius-md);
  }

  #view-inventario .inventory-panel-header {
    align-items: stretch;
  }

  #view-inventario .inventory-panel-header > :where(button, .omega-badge) {
    width: 100%;
  }

  #view-inventario .inventory-product-toolbar,
  #view-inventario .inventory-movement-toolbar,
  #view-inventario .inventory-low-stock-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-inventario .inventory-product-toolbar > *,
  #view-inventario .inventory-movement-toolbar > *,
  #view-inventario .inventory-product-toolbar > :first-child,
  #view-inventario .inventory-movement-toolbar > :first-child,
  #view-inventario .inventory-product-toolbar #bulk-product-import-btn {
    grid-column: 1;
    width: 100%;
  }

  #view-inventario .inventory-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-inventario .inventory-product-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "main"
      "values"
      "actions";
  }

  #view-inventario .inventory-product-heading > strong {
    width: 100%;
    white-space: normal;
  }

  #view-inventario .inventory-product-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-inventario .inventory-product-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-inventario .inventory-movement-row {
    grid-template-columns: minmax(0, 1fr) minmax(82px, auto);
  }

  #view-inventario .inventory-low-stock-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "main"
      "values"
      "actions";
  }

  #view-inventario .inventory-low-stock-values {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #view-inventario .inventory-category-actions,
  #view-inventario .inventory-quick-actions,
  #view-inventario .inventory-form-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-inventario .inventory-form-actions > :first-child {
    grid-column: 1;
  }

  #view-inventario .inventory-category-row,
  #view-inventario .inventory-label-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #view-inventario .inventory-category-row > .omega-badge {
    grid-column: 2;
    grid-row: 1;
  }

  #view-inventario .inventory-category-row > button,
  #view-inventario .inventory-label-row > button {
    grid-column: 1 / -1;
    width: 100%;
  }

  #view-inventario .inventory-product-list,
  #view-inventario .inventory-movement-list,
  #view-inventario .inventory-low-stock-list,
  #view-inventario .inventory-category-list,
  #view-inventario .inventory-label-list {
    max-height: 58dvh;
  }
}

@media (max-width: 420px) {
  #view-inventario .inventory-low-stock-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-inventario .inventory-low-stock-values > :last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1180px) {
  #view-inventario.active {
    height: calc(100dvh - 110px);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    overflow: hidden;
  }

  #view-inventario.active .inventory-tab-panels,
  #view-inventario.active .inventory-tab-panel,
  #view-inventario.active .inventory-products-layout {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  #view-inventario.active .inventory-products-layout > .inventory-directory-panel,
  #view-inventario.active .inventory-tab-panel > .inventory-full-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  #view-inventario.active .inventory-product-list,
  #view-inventario.active .inventory-movement-list,
  #view-inventario.active .inventory-low-stock-list {
    max-height: none;
    min-height: 0;
    overflow: auto;
  }

  #view-inventario.active .inventory-categories-layout {
    align-content: start;
    overflow-y: auto;
  }

  #view-inventario.active .inventory-categories-layout > .omega-panel {
    height: max-content;
    min-height: max-content;
    grid-template-rows: repeat(4, auto);
    overflow: visible;
  }

  #view-inventario.active .inventory-categories-layout .inventory-category-list,
  #view-inventario.active .inventory-categories-layout .inventory-label-list {
    max-height: none;
    min-height: max-content;
    overflow: visible;
  }

  #view-inventario .inventory-editor-panel:not([open]) {
    display: none;
  }

  #view-inventario .inventory-editor-panel[open] {
    position: fixed;
    inset: 70px 12px 12px;
    z-index: 80;
    display: grid;
    max-height: none;
    overflow: hidden;
    box-shadow: var(--omega-shadow-sm, var(--shadow));
  }

  #view-inventario .inventory-editor-panel[open] .inventory-editor-content {
    height: calc(100dvh - 176px);
    max-height: calc(100dvh - 176px);
    min-height: 0;
    overflow: auto;
  }
}

@media (max-width: 420px) {
  #view-inventario.active {
    height: calc(100dvh - 100px);
  }

  #view-inventario .inventory-directory-panel .inventory-panel-header {
    grid-template-columns: minmax(0, 1fr) minmax(128px, auto);
    align-items: center;
  }

  #view-inventario .inventory-directory-panel .inventory-panel-header > button {
    width: auto;
  }

  #view-inventario .inventory-product-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-inventario .inventory-product-toolbar #inventory-search,
  #view-inventario .inventory-product-toolbar #bulk-product-import-btn {
    grid-column: 1 / -1;
  }

  #view-inventario .inventory-product-toolbar #inventory-category-filter {
    grid-column: 1;
  }

  #view-inventario .inventory-product-toolbar #inventory-stock-filter {
    grid-column: 2;
  }
}

/* Paso 8 · Reportes operativos y Estadisticas analiticas.
   Reglas aisladas para evitar que las cuadriculas legacy de otros modulos cambien. */
#view-reportes,
#view-estadisticas {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: clamp(10px, 1vw, 14px);
  font-family: var(--omega-font-operational, system-ui, -apple-system, "Segoe UI", sans-serif);
}

#view-reportes :where(button, input, label, select),
#view-estadisticas :where(button, input, label, select) {
  font-family: inherit;
}

#view-reportes :where(.card, .omega-panel),
#view-estadisticas :where(.card, .omega-panel) {
  min-width: 0;
  border-color: var(--omega-border, var(--border-soft));
  box-shadow: var(--omega-shadow-sm, var(--shadow));
}

.reports-kicker,
.statistics-kicker {
  display: block;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.1;
  text-transform: uppercase;
}

#view-reportes :where(.card-header, .omega-panel-header) h3,
#view-estadisticas :where(.card-header, .omega-panel-header) h3,
.reports-section-heading h3,
.statistics-section-heading h3 {
  margin: 2px 0 0;
  font-size: clamp(.96rem, 1.05vw, 1.1rem);
  line-height: 1.15;
}

#view-reportes .reports-filter-bar {
  grid-template-columns: minmax(210px, .7fr) minmax(0, 2.3fr);
  grid-template-rows: minmax(0, auto);
  align-items: end;
  gap: 12px;
  padding: 11px 13px;
}

.reports-scope-block {
  min-width: 0;
  display: grid;
  gap: 2px;
  align-content: center;
}

.reports-scope-block strong {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: clamp(1rem, 1.25vw, 1.24rem);
  line-height: 1.1;
  text-transform: capitalize;
}

.reports-scope-block small {
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.25;
}

.reports-filter-fields {
  min-width: 0;
  display: grid;
  grid-template-columns:
    minmax(132px, .8fr)
    minmax(132px, .8fr)
    minmax(132px, .8fr)
    minmax(250px, 1.35fr);
  gap: 8px;
  align-items: end;
}

.reports-filter-field {
  min-width: 0;
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
}

#view-reportes .reports-filter-field .omega-input {
  min-height: 40px;
  padding: 7px 9px;
  border-radius: var(--omega-radius-sm);
  font-size: .84rem;
}

.reports-filter-actions,
.reports-action-grid,
.reports-cash-actions {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.reports-filter-actions {
  grid-template-columns: minmax(82px, .66fr) minmax(148px, 1.34fr);
}

#view-reportes .reports-filter-actions .omega-btn,
#view-reportes .reports-action-grid .omega-btn,
#view-reportes .reports-cash-actions .omega-btn,
#view-reportes .reports-backup-actions .omega-btn {
  min-height: 40px;
  padding: 7px 10px;
  font-size: .76rem;
}

.reports-kpi-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.report-kpi-card {
  min-width: 0;
  min-height: 70px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 9px 10px;
  border-radius: var(--omega-radius-md);
  box-shadow: none;
}

.report-kpi-label {
  overflow: hidden;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-kpi-card strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: clamp(.88rem, 1.05vw, 1.08rem);
  line-height: 1.12;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-reportes .reports-history-panel {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  padding: 11px 12px;
}

.reports-section-header {
  min-height: 32px;
}

.reports-history-list {
  max-height: min(45vh, 410px);
  overflow: auto;
  overscroll-behavior: contain;
  padding-right: 3px;
}

#view-reportes .reports-sale-row {
  grid-template-columns: minmax(0, 1.25fr) minmax(180px, .75fr) auto minmax(230px, auto);
  gap: 8px;
  padding: 9px 10px;
  border-radius: var(--omega-radius-sm);
}

#view-reportes .reports-sale-row .sales-meta {
  min-width: 0;
  font-size: .75rem;
}

#view-reportes .reports-sale-row .inline-tools {
  gap: 5px;
  flex-wrap: nowrap;
}

#view-reportes .reports-sale-row .omega-btn {
  min-height: 34px;
  padding: 6px 8px;
  font-size: .7rem;
}

.reports-breakdown-section,
.statistics-section {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.reports-section-heading,
.statistics-section-heading {
  min-width: 0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px;
}

.reports-breakdown-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

#view-reportes .reports-breakdown-grid > .omega-panel {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  padding: 10px;
}

.reports-breakdown-grid .omega-panel-body {
  max-height: 220px;
  overflow: auto;
  overscroll-behavior: contain;
}

#view-reportes .report-aggregate-row {
  gap: 7px;
  padding: 7px 8px;
  border-radius: var(--omega-radius-sm);
  font-size: .74rem;
}

#view-reportes .report-aggregate-row strong {
  font-size: .78rem;
  white-space: nowrap;
}

.reports-tools-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr) minmax(240px, .7fr);
  gap: 8px;
  align-items: start;
}

#view-reportes .reports-tools-grid > .omega-panel {
  gap: 8px;
  padding: 10px;
}

.reports-action-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reports-cash-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#view-reportes .reports-cash-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

#view-reportes .reports-cash-summary :where(.summary-row, .shift-row) {
  min-width: 0;
  padding: 7px 8px;
  border-radius: var(--omega-radius-sm);
  font-size: .74rem;
}

#view-reportes .reports-backup-panel {
  display: block;
}

#view-reportes .reports-backup-panel .saas-collapsible {
  border: 0;
  background: transparent;
}

#view-reportes .reports-backup-panel .saas-collapsible summary {
  padding: 5px 3px;
}

#view-reportes .reports-backup-panel .saas-collapsible[open] summary {
  border-bottom-color: var(--omega-border, var(--border-soft));
  background: transparent;
}

.reports-backup-actions {
  display: grid;
  gap: 7px;
  padding: 10px 3px 3px;
}

.reports-backup-actions p {
  margin: 0;
  font-size: .72rem;
  line-height: 1.3;
}

.reports-secondary-section {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#view-reportes .reports-secondary-section > .omega-panel {
  display: block;
  padding: 8px;
}

#view-reportes .reports-secondary-section .saas-collapsible {
  border: 0;
  background: transparent;
}

#view-reportes .reports-secondary-section .saas-collapsible summary {
  min-height: 40px;
  padding: 7px 8px;
  font-size: .78rem;
}

#view-reportes .reports-secondary-section .saas-collapsible-body {
  padding: 8px;
}

#view-estadisticas .statistics-scope-bar {
  grid-template-columns: minmax(150px, auto) minmax(0, 1fr);
  grid-template-rows: minmax(0, auto);
  align-items: center;
  gap: 16px;
  padding: 10px 12px;
}

.statistics-scope-bar h2 {
  margin: 1px 0 0;
  font-size: clamp(1.05rem, 1.4vw, 1.38rem);
  line-height: 1.1;
}

.statistics-scope-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

.statistics-scope-copy small {
  min-width: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.25;
  text-align: right;
}

#statistics-active-scope {
  flex: 0 0 auto;
  min-height: 30px;
  font-size: .72rem;
  white-space: nowrap;
}

.statistics-kpi-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

#view-estadisticas .statistics-kpi-card {
  min-width: 0;
  min-height: 78px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 9px 10px;
  border-radius: var(--omega-radius-md);
  box-shadow: none;
}

.statistics-kpi-label {
  overflow: hidden;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-estadisticas .statistics-kpi-card strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: clamp(.9rem, 1.08vw, 1.14rem);
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-estadisticas .statistics-kpi-card small {
  overflow: hidden;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.statistics-chart-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#view-estadisticas .statistics-chart-card {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  overflow: hidden;
  padding: 10px;
}

#view-estadisticas .statistics-chart {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

#view-estadisticas .statistics-growth-chart {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 230px;
  padding: 72px 4px 4px;
}

#view-estadisticas .statistics-trend-line {
  inset: 4px 8px auto;
  width: calc(100% - 16px);
  height: 104px;
}

#view-estadisticas .statistics-growth-bars {
  min-width: 0;
  min-height: 145px;
  grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
  gap: 7px;
}

#view-estadisticas .statistics-growth-bar {
  min-width: 0;
  min-height: 150px;
  gap: 5px;
}

#view-estadisticas .statistics-growth-bar strong,
#view-estadisticas .statistics-growth-bar span {
  min-width: 0;
  overflow: hidden;
  font-size: .68rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-estadisticas .statistics-growth-column {
  width: min(42px, 70%);
  border-width: 1px;
  box-shadow: var(--omega-shadow-sm, var(--shadow));
}

#view-estadisticas .statistics-bars {
  min-width: 0;
  gap: 8px;
}

#view-estadisticas .statistics-bar-row {
  min-width: 0;
  grid-template-columns: minmax(70px, .72fr) minmax(0, 1.7fr) minmax(72px, auto);
  gap: 7px;
}

#view-estadisticas .statistics-bar-row :where(span, strong) {
  min-width: 0;
  font-size: .72rem;
}

.statistics-ranking-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}

#view-estadisticas .statistics-ranking-grid > .omega-panel {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
  padding: 10px;
}

#view-estadisticas .statistics-slow-panel {
  grid-column: span 2;
}

.statistics-card-heading small,
#view-estadisticas .statistics-ranking-grid .omega-panel-header small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.2;
}

.statistics-ranked-list {
  max-height: 280px;
  overflow: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

#view-estadisticas .statistics-rank-row {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  padding: 7px 8px;
  border-radius: var(--omega-radius-sm);
}

#view-estadisticas .statistics-rank-row strong {
  overflow: hidden;
  font-size: .75rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-estadisticas .statistics-rank-row .muted {
  overflow: hidden;
  margin-top: 2px;
  font-size: .66rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-estadisticas .statistics-rank-row .badge {
  max-width: 130px;
  overflow: hidden;
  font-size: .66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1500px) {
  .reports-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .reports-breakdown-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .statistics-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  #view-reportes .reports-filter-bar {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .reports-filter-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .reports-filter-actions {
    grid-column: 1 / -1;
    grid-template-columns: minmax(100px, .6fr) minmax(180px, 1.4fr);
  }

  .reports-tools-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reports-backup-panel {
    grid-column: 1 / -1;
  }

  .reports-secondary-section {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-reportes .reports-sale-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "main total"
      "meta actions";
  }

  #view-reportes .reports-sale-row .sales-main {
    grid-area: main;
  }

  #view-reportes .reports-sale-row .sales-meta {
    grid-area: meta;
  }

  #view-reportes .reports-sale-row > .badge {
    grid-area: total;
    align-self: start;
  }

  #view-reportes .reports-sale-row .inline-tools {
    grid-area: actions;
  }

  .statistics-chart-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .statistics-ranking-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-estadisticas .statistics-slow-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  #view-reportes,
  #view-estadisticas {
    gap: 9px;
  }

  #view-reportes .reports-filter-bar,
  #view-estadisticas .statistics-scope-bar {
    padding: 9px;
  }

  .reports-scope-block small {
    display: none;
  }

  .reports-filter-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reports-filter-month {
    grid-column: 1 / -1;
  }

  .reports-kpi-grid,
  .statistics-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-kpi-card,
  #view-estadisticas .statistics-kpi-card {
    min-height: 66px;
    padding: 8px;
  }

  .reports-breakdown-grid,
  .reports-tools-grid,
  .statistics-ranking-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .reports-backup-panel,
  #view-estadisticas .statistics-slow-panel {
    grid-column: auto;
  }

  .reports-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-reportes .reports-cash-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-reportes .reports-sale-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "main total"
      "meta meta"
      "actions actions";
  }

  #view-reportes .reports-sale-row .inline-tools {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
  }

  #view-reportes .reports-sale-row .omega-btn {
    width: 100%;
    padding-inline: 5px;
  }

  #view-estadisticas .statistics-scope-bar {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .statistics-scope-copy {
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .statistics-scope-copy small {
    text-align: left;
  }

  #view-estadisticas .statistics-growth-bars {
    grid-template-columns: repeat(auto-fit, minmax(34px, 1fr));
    gap: 4px;
  }

  #view-estadisticas .statistics-growth-bar strong,
  #view-estadisticas .statistics-growth-bar span {
    font-size: .6rem;
  }

  #view-estadisticas .statistics-bar-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "label value"
      "track track";
  }

  #view-estadisticas .statistics-bar-row > span {
    grid-area: label;
  }

  #view-estadisticas .statistics-bar-row > .statistics-bar-track {
    grid-area: track;
  }

  #view-estadisticas .statistics-bar-row > strong {
    grid-area: value;
  }
}

@media (max-width: 430px) {
  .reports-filter-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .reports-filter-actions > * {
    width: 100%;
  }

  #view-reportes .reports-sale-row .inline-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #statistics-active-scope {
    max-width: 100%;
    white-space: normal;
  }

  #view-estadisticas .statistics-rank-row {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-estadisticas .statistics-rank-row .badge {
    justify-self: start;
    max-width: 100%;
  }
}

/* Paso 9: guard final de cascada para el encabezado administrativo compartido. */
.admin-workspace-heading {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
}

@media (max-width: 760px) {
  .admin-workspace-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 12px 14px;
  }
}

/* Correccion focalizada Paso 9: pestañas reales basadas en el patron de Inventario. */
#view-configuracion,
#view-personalizacion,
#view-impresion {
  min-width: 0;
  min-height: 0;
  gap: var(--omega-space-2);
  align-content: start;
  font-family: var(--omega-font-operational);
}

#view-configuracion :where(button, input, select, textarea, label),
#view-personalizacion :where(button, input, select, textarea, label),
#view-impresion :where(button, input, select, textarea, label) {
  font-family: var(--omega-font-operational);
}

.admin-tab-control {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.admin-tabs {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--omega-space-1);
  padding: var(--omega-space-1);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  border: 1px solid var(--omega-border, var(--border-soft));
  border-radius: var(--omega-radius-md);
  background: color-mix(in srgb, var(--panel) 90%, transparent);
  box-shadow: var(--omega-shadow-sm);
}

.admin-tab {
  flex: 0 0 auto;
  min-width: max-content;
  min-height: var(--omega-touch-target);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  border: 1px solid transparent;
  border-radius: var(--omega-radius-sm);
  color: var(--muted);
  font-size: var(--omega-font-sm);
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  transition: color .16s ease, border-color .16s ease, background-color .16s ease;
}

.admin-tab:hover {
  color: var(--ink);
  background: var(--surface-1);
}

#view-configuracion #settings-tab-business:checked ~ .admin-tabs [for="settings-tab-business"],
#view-configuracion #settings-tab-companies:checked ~ .admin-tabs [for="settings-tab-companies"],
#view-configuracion #settings-tab-platform:checked ~ .admin-tabs [for="settings-tab-platform"],
#view-configuracion #settings-tab-team:checked ~ .admin-tabs [for="settings-tab-team"],
#view-personalizacion #personalization-tab-theme:checked ~ .admin-tabs [for="personalization-tab-theme"],
#view-personalizacion #personalization-tab-typography:checked ~ .admin-tabs [for="personalization-tab-typography"],
#view-personalizacion #personalization-tab-branding:checked ~ .admin-tabs [for="personalization-tab-branding"],
#view-impresion #printing-tab-installation:checked ~ .admin-tabs [for="printing-tab-installation"],
#view-impresion #printing-tab-tickets:checked ~ .admin-tabs [for="printing-tab-tickets"],
#view-impresion #printing-tab-labels:checked ~ .admin-tabs [for="printing-tab-labels"],
#view-impresion #printing-tab-diagnostics:checked ~ .admin-tabs [for="printing-tab-diagnostics"] {
  color: var(--button-primary-ink);
  border-color: color-mix(in srgb, var(--omega-focus, var(--accent)) 50%, var(--border-soft));
  background: var(--button-primary-bg);
  box-shadow: var(--omega-shadow-sm);
}

#view-configuracion #settings-tab-business:focus-visible ~ .admin-tabs [for="settings-tab-business"],
#view-configuracion #settings-tab-companies:focus-visible ~ .admin-tabs [for="settings-tab-companies"],
#view-configuracion #settings-tab-platform:focus-visible ~ .admin-tabs [for="settings-tab-platform"],
#view-configuracion #settings-tab-team:focus-visible ~ .admin-tabs [for="settings-tab-team"],
#view-personalizacion #personalization-tab-theme:focus-visible ~ .admin-tabs [for="personalization-tab-theme"],
#view-personalizacion #personalization-tab-typography:focus-visible ~ .admin-tabs [for="personalization-tab-typography"],
#view-personalizacion #personalization-tab-branding:focus-visible ~ .admin-tabs [for="personalization-tab-branding"],
#view-impresion #printing-tab-installation:focus-visible ~ .admin-tabs [for="printing-tab-installation"],
#view-impresion #printing-tab-tickets:focus-visible ~ .admin-tabs [for="printing-tab-tickets"],
#view-impresion #printing-tab-labels:focus-visible ~ .admin-tabs [for="printing-tab-labels"],
#view-impresion #printing-tab-diagnostics:focus-visible ~ .admin-tabs [for="printing-tab-diagnostics"] {
  outline: 3px solid var(--omega-focus);
  outline-offset: 2px;
}

#view-configuracion #settings-layout.settings-tab-panels {
  display: block;
  min-width: 0;
  min-height: 0;
}

#view-configuracion .settings-tab-panel {
  display: none;
  min-width: 0;
  min-height: 0;
  gap: var(--omega-space-2);
}

#view-configuracion #settings-tab-business:checked ~ .settings-tab-panels #settings-panel-business,
#view-configuracion #settings-tab-companies:checked ~ .settings-tab-panels #settings-panel-companies,
#view-configuracion #settings-tab-platform:checked ~ .settings-tab-panels #settings-panel-platform,
#view-configuracion #settings-tab-team:checked ~ .settings-tab-panels #settings-panel-team {
  display: grid;
}

#view-configuracion .settings-tab-panel > .admin-settings-card {
  width: 100%;
}

#view-configuracion #settings-panel-business > .admin-settings-card,
#view-configuracion #settings-panel-companies > .admin-settings-card {
  max-width: 1120px;
}

#view-configuracion #settings-panel-platform {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

#view-configuracion #settings-panel-platform > .settings-card-platform {
  grid-column: 1;
}

#view-configuracion #settings-panel-platform > .settings-card-supabase {
  grid-column: 2;
  grid-row: 1;
}

#view-configuracion #settings-panel-team > .settings-card-team {
  max-width: 1120px;
}

#view-configuracion .checkbox-row,
#view-impresion .checkbox-row {
  min-height: var(--omega-control-md);
  padding: 9px 11px;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: var(--surface-1);
}

#view-configuracion .checkbox-input,
#view-impresion .checkbox-input {
  position: relative;
  flex: 0 0 auto;
  width: 40px;
  height: 22px;
  padding: 0;
  appearance: none;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: var(--button-secondary-bg);
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease;
}

#view-configuracion .checkbox-input::before,
#view-impresion .checkbox-input::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--button-secondary-ink);
  transition: transform .16s ease;
}

#view-configuracion .checkbox-input:checked,
#view-impresion .checkbox-input:checked {
  border-color: var(--button-primary-bg);
  background: var(--button-primary-bg);
}

#view-configuracion .checkbox-input:checked::before,
#view-impresion .checkbox-input:checked::before {
  transform: translateX(18px);
  background: var(--button-primary-ink);
}

#view-configuracion .checkbox-input:focus-visible,
#view-impresion .checkbox-input:focus-visible {
  outline: 3px solid var(--omega-focus);
  outline-offset: 2px;
}

#view-personalizacion .personalization-layout {
  display: block;
  min-width: 0;
  min-height: 0;
}

#view-personalizacion .personalization-tab-panel,
#view-personalizacion .personalization-theme-only,
#view-personalizacion .personalization-typography-only {
  display: none;
}

#view-personalizacion #personalization-tab-theme:checked ~ .personalization-layout .personalization-card,
#view-personalizacion #personalization-tab-typography:checked ~ .personalization-layout .personalization-card,
#view-personalizacion #personalization-tab-branding:checked ~ .personalization-layout .personalization-branding-card {
  display: grid;
}

#view-personalizacion #personalization-tab-theme:checked ~ .personalization-layout .personalization-theme-only,
#view-personalizacion #personalization-tab-typography:checked ~ .personalization-layout .personalization-typography-only {
  display: grid;
}

#view-personalizacion #personalization-tab-branding:checked ~ .personalization-layout .personalization-card,
#view-personalizacion #personalization-tab-theme:checked ~ .personalization-layout .personalization-branding-card,
#view-personalizacion #personalization-tab-typography:checked ~ .personalization-layout .personalization-branding-card {
  display: none;
}

#view-personalizacion .personalization-card {
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  grid-template-areas:
    "heading heading"
    "note preview"
    "form preview";
  gap: var(--omega-space-2);
  align-items: start;
}

#view-personalizacion .personalization-card > .card-header {
  grid-area: heading;
  margin-bottom: 0;
}

#view-personalizacion .personalization-card > #personalization-theme-note {
  grid-area: note;
}

#view-personalizacion .personalization-card > #personalization-theme-preview {
  grid-area: preview;
  position: sticky;
  top: 0;
  min-height: 0;
  margin: 0;
  border-color: color-mix(in srgb, var(--accent) 48%, var(--border-soft));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--accent) 16%, var(--surface-2)), var(--panel-strong));
  box-shadow: var(--omega-shadow-card);
}

#view-personalizacion .personalization-card > #personalization-form {
  grid-area: form;
  min-width: 0;
}

#view-personalizacion #personalization-tab-typography:checked ~ .personalization-layout .personalization-card {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "heading"
    "form";
}

#view-personalizacion #personalization-tab-typography:checked ~ .personalization-layout #personalization-form {
  max-width: 920px;
}

#view-personalizacion .theme-preview-mini-card {
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border-soft));
  background: color-mix(in srgb, var(--panel-strong) 92%, var(--accent));
}

#view-personalizacion .theme-preview-copy .muted,
#view-personalizacion .theme-preview-mini-card .label {
  color: color-mix(in srgb, var(--ink) 72%, var(--muted));
}

#view-personalizacion .personalization-preview-card .eyebrow {
  color: color-mix(in srgb, var(--ink) 88%, var(--accent));
}

#view-personalizacion .theme-preset-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#view-personalizacion .theme-preset-card {
  min-height: 92px;
}

#view-personalizacion .personalization-color-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#view-personalizacion .personalization-assets-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#view-personalizacion .personalization-asset-panel .logo-preview-card,
#view-personalizacion .personalization-asset-panel .background-preview-card {
  min-height: 108px;
  max-height: 180px;
}

#view-personalizacion .file-input input[type="file"] {
  width: 100%;
  min-width: 0;
  min-height: var(--omega-control-md);
  padding: 5px;
  overflow: visible;
  color: var(--ink);
  font-size: .76rem;
  line-height: 1.2;
  border: 1px solid var(--border-soft);
  border-radius: var(--omega-radius-md);
  background: var(--panel-strong);
}

#view-personalizacion .file-input input[type="file"]::file-selector-button {
  min-height: 34px;
  margin-right: 8px;
  padding: 7px 10px;
  border: 1px solid var(--button-soft-border);
  border-radius: var(--omega-radius-sm);
  background: var(--button-soft-bg);
  color: var(--button-soft-ink);
  font: 800 .74rem/1 var(--omega-font-operational);
  cursor: pointer;
}

#view-impresion .printing-tab-panels {
  min-width: 0;
  min-height: 0;
  grid-auto-rows: max-content;
  align-content: start;
}

#view-impresion .printing-overview-card,
#view-impresion .printing-overview-installation,
#view-impresion .printing-overview-diagnostics,
#view-impresion .printing-tab-section,
#view-impresion .printing-tab-save-actions {
  display: none;
}

#view-impresion #printing-tab-installation:checked ~ .printing-tab-panels .printing-overview-card,
#view-impresion #printing-tab-diagnostics:checked ~ .printing-tab-panels .printing-overview-card,
#view-impresion #printing-tab-installation:checked ~ .printing-tab-panels .printing-overview-installation,
#view-impresion #printing-tab-diagnostics:checked ~ .printing-tab-panels .printing-overview-diagnostics,
#view-impresion #printing-tab-installation:checked ~ .printing-tab-panels .printing-tab-section-installation,
#view-impresion #printing-tab-tickets:checked ~ .printing-tab-panels .printing-tab-section-tickets,
#view-impresion #printing-tab-labels:checked ~ .printing-tab-panels .printing-tab-section-labels {
  display: grid;
}

#view-impresion #printing-tab-diagnostics:checked ~ .printing-tab-panels .printing-tab-section-diagnostics {
  display: block;
}

#view-impresion #printing-tab-tickets:checked ~ .printing-tab-panels .printing-tab-save-actions,
#view-impresion #printing-tab-labels:checked ~ .printing-tab-panels .printing-tab-save-actions {
  display: flex;
}

#view-impresion #printing-tab-installation:checked ~ .printing-tab-panels .printing-app-card {
  display: grid;
}

#view-impresion .printing-overview-card > .stack {
  gap: var(--omega-space-2);
}

#view-impresion .printing-config-card {
  min-width: 0;
}

#view-impresion .printing-overview-card,
#view-impresion #print-module-host {
  align-self: start;
}

#view-impresion #print-agent-install-hint {
  align-items: flex-start;
  overflow-wrap: anywhere;
}

#view-impresion .printing-config-card > .card-header {
  margin-bottom: var(--omega-space-2);
}

@media (min-width: 1181px) {
  #view-impresion #printing-tab-installation:checked ~ .printing-tab-panels {
    grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr);
  }

  #view-impresion #printing-tab-installation:checked ~ .printing-tab-panels .printing-overview-facts,
  #view-impresion #printing-tab-installation:checked ~ .printing-tab-panels .printing-primary-actions,
  #view-impresion #printing-tab-installation:checked ~ .printing-tab-panels .printing-platform-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 981px) {
  #view-configuracion.active,
  #view-personalizacion.active,
  #view-impresion.active {
    height: calc(100dvh - 56px);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    overflow: hidden;
  }

  #view-configuracion .settings-tab-panels,
  #view-configuracion .settings-tab-panel,
  #view-personalizacion .personalization-layout,
  #view-impresion .printing-tab-panels {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 3px;
  }
}

@media (max-width: 1180px) {
  #view-configuracion #settings-panel-platform,
  #view-personalizacion .personalization-card {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-configuracion #settings-panel-platform > .settings-card-platform,
  #view-configuracion #settings-panel-platform > .settings-card-supabase {
    grid-column: 1;
    grid-row: auto;
  }

  #view-personalizacion .personalization-card {
    grid-template-areas:
      "heading"
      "note"
      "preview"
      "form";
  }

  #view-personalizacion .personalization-card > #personalization-theme-preview {
    position: static;
  }

  #view-personalizacion .personalization-color-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  #view-configuracion.active,
  #view-personalizacion.active,
  #view-impresion.active {
    height: calc(100dvh - 88px);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    overflow: hidden;
  }

  #view-configuracion .settings-tab-panels,
  #view-configuracion .settings-tab-panel,
  #view-personalizacion .personalization-layout,
  #view-impresion .printing-tab-panels {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
  }
}

@media (max-width: 640px) {
  .admin-tabs {
    margin-inline: -2px;
    scroll-snap-type: inline proximity;
  }

  .admin-tab {
    padding-inline: 12px;
    scroll-snap-align: start;
  }

  #view-configuracion .admin-settings-card,
  #view-personalizacion .personalization-card,
  #view-personalizacion .personalization-branding-card,
  #view-impresion .printing-overview-card,
  #view-impresion #print-module-host > .card {
    padding: var(--omega-space-2);
    border-radius: var(--omega-radius-md);
  }

  #view-personalizacion .theme-preset-grid,
  #view-personalizacion .personalization-color-grid,
  #view-personalizacion .personalization-assets-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-personalizacion .theme-preset-card {
    min-height: 78px;
  }

  #view-personalizacion .personalization-asset-panel .logo-preview-card,
  #view-personalizacion .personalization-asset-panel .background-preview-card {
    min-height: 92px;
    max-height: 132px;
  }

  #view-personalizacion .file-input input[type="file"] {
    font-size: .7rem;
  }
}

/* Paso 9B: entrada premium definitiva, Diseño B. */
#saas-access-overlay {
  --saas-platform-deep: #031A3D;
  --saas-platform-mid: #062B63;
  --saas-platform-accent: #007BFF;
  --saas-client-accent: #007BFF;
  --saas-entry-ink: #10213a;
  --saas-entry-muted: #64748b;
  --saas-entry-line: #dbe4f0;
  --saas-entry-surface: #ffffff;
  --saas-entry-soft: #f3f7fc;
  padding: clamp(16px, 2.1vw, 32px);
  overflow: auto;
  align-items: center;
  background:
    radial-gradient(circle at 84% 12%, color-mix(in srgb, var(--saas-platform-accent) 10%, transparent), transparent 28%),
    linear-gradient(145deg, #eaf1fa, #f8fbff 52%, #edf4fc);
  font-family: var(--omega-font-operational);
}

#saas-access-overlay .saas-access-shell {
  width: min(100%, 1440px);
  min-height: min(820px, calc(100dvh - clamp(32px, 4.2vw, 64px)));
  max-height: calc(100dvh - clamp(32px, 4.2vw, 64px));
  display: grid;
  grid-template-columns: minmax(380px, 42%) minmax(0, 58%);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(16, 33, 58, .1);
  border-radius: 34px;
  background: var(--saas-entry-surface);
  box-shadow: 0 28px 80px rgba(3, 26, 61, .2);
}

#saas-access-overlay .saas-platform-panel {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(34px, 4.3vw, 66px);
  color: #fff;
  background:
    linear-gradient(152deg, var(--saas-platform-deep) 4%, var(--saas-platform-mid) 58%, var(--saas-platform-accent) 145%);
}

#saas-access-overlay .saas-platform-panel::after {
  content: "";
  position: absolute;
  inset: auto -16% -28% 22%;
  z-index: -1;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow:
    0 0 0 56px rgba(255, 255, 255, .025),
    0 0 0 112px rgba(255, 255, 255, .018);
}

#saas-access-overlay .saas-platform-glow {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(4px);
  pointer-events: none;
}

#saas-access-overlay .saas-platform-glow-one {
  width: 280px;
  height: 280px;
  top: -120px;
  right: -90px;
  background: rgba(0, 123, 255, .2);
}

#saas-access-overlay .saas-platform-glow-two {
  width: 220px;
  height: 220px;
  left: -130px;
  bottom: 14%;
  background: rgba(112, 182, 255, .09);
}

#saas-access-overlay .saas-platform-identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 15px;
}

#saas-access-overlay .saas-platform-symbol {
  width: 58px;
  height: 58px;
  display: block;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .18);
  overflow: hidden;
  animation: omegaEntryBreath 2.8s ease-in-out infinite;
}

#saas-access-overlay .saas-platform-symbol img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

#saas-access-overlay .saas-platform-kicker,
#saas-access-overlay .saas-platform-overline {
  margin: 0;
  color: rgba(255, 255, 255, .7);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#saas-access-overlay .saas-platform-identity h1 {
  margin: 0;
  color: #fff;
  font: 850 clamp(1.72rem, 2.3vw, 2.28rem)/1 var(--omega-font-operational);
  letter-spacing: -.035em;
}

#saas-access-overlay .saas-platform-message {
  max-width: 560px;
  margin: auto 0;
}

#saas-access-overlay .saas-platform-message h2 {
  max-width: 520px;
  margin: 14px 0 18px;
  color: #fff;
  font: 800 clamp(2.05rem, 3.45vw, 3.65rem)/1.04 var(--omega-font-operational);
  letter-spacing: -.05em;
  text-wrap: balance;
}

#saas-access-overlay .saas-platform-message > p:last-child {
  max-width: 470px;
  margin: 0;
  color: rgba(255, 255, 255, .76);
  font-size: clamp(.94rem, 1.2vw, 1.08rem);
  line-height: 1.62;
}

#saas-access-overlay .saas-platform-assurance {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

#saas-access-overlay .saas-platform-assurance span {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  color: rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .06);
  font-size: .72rem;
  font-weight: 750;
}

#saas-access-overlay .saas-platform-product {
  margin: 0;
  color: rgba(255, 255, 255, .56);
  font-size: .76rem;
}

#saas-access-overlay .saas-platform-product strong {
  color: rgba(255, 255, 255, .82);
}

#saas-access-overlay .saas-access-main {
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: clamp(26px, 4.4vw, 66px);
  color: var(--saas-entry-ink);
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--saas-client-accent) 8%, transparent), transparent 27%),
    var(--saas-entry-surface);
}

#saas-access-overlay .saas-access-card {
  width: min(100%, 720px);
  min-width: 0;
  display: grid;
  gap: 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--saas-entry-ink);
  background: transparent;
  box-shadow: none;
}

#saas-access-overlay .saas-access-brand-row {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

#saas-access-overlay .saas-access-client-logo {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--saas-client-accent) 30%, var(--saas-entry-line));
  border-radius: 20px;
  color: var(--saas-client-accent);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--saas-client-accent) 12%, #fff), #fff);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--saas-client-accent) 12%, transparent);
  font: 900 1.22rem/1 var(--omega-font-operational);
}

#saas-access-overlay .saas-access-client-logo.has-image {
  color: transparent;
  background-color: #fff;
}

#saas-access-overlay .saas-access-brand-copy {
  min-width: 0;
}

#saas-access-overlay .saas-access-brand-copy .eyebrow {
  margin: 0 0 4px;
  color: var(--saas-client-accent);
  font: 850 .68rem/1 var(--omega-font-operational);
  letter-spacing: .15em;
}

#saas-access-overlay .saas-access-brand-copy h2 {
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  color: var(--saas-entry-ink);
  font: 850 clamp(1.32rem, 2vw, 1.8rem)/1.08 var(--font-display, var(--omega-font-operational));
  text-overflow: ellipsis;
  white-space: nowrap;
}

#saas-access-overlay .saas-access-branch-copy {
  margin: 5px 0 0;
  overflow: hidden;
  color: var(--saas-entry-muted);
  font-size: .82rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#saas-access-overlay .saas-access-step-badge {
  padding: 7px 10px;
  border: 1px solid var(--saas-entry-line);
  border-radius: 999px;
  color: var(--saas-entry-muted);
  background: var(--saas-entry-soft);
  font-size: .69rem;
  font-weight: 850;
  white-space: nowrap;
}

#saas-access-overlay .saas-access-progress {
  display: grid;
  gap: 11px;
  padding: 15px 17px;
  border: 1px solid var(--saas-entry-line);
  border-radius: 18px;
  background: var(--saas-entry-soft);
}

#saas-access-overlay .saas-access-progress-track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

#saas-access-overlay .saas-access-progress-track > span {
  position: relative;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #d7e0ec;
}

#saas-access-overlay .saas-access-progress-track > span.is-complete,
#saas-access-overlay .saas-access-progress-track > span.is-active {
  background: var(--saas-client-accent);
}

#saas-access-overlay.is-busy .saas-access-progress-track > span.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 46%;
  border-radius: inherit;
  background: rgba(255, 255, 255, .72);
  animation: omegaEntryProgress 1.15s ease-in-out infinite;
}

#saas-access-overlay .saas-access-stage-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#saas-access-overlay .saas-access-stage-copy strong {
  color: var(--saas-entry-ink);
  font-size: .87rem;
}

#saas-access-overlay .saas-access-stage-copy span {
  color: var(--saas-entry-muted);
  font-size: .77rem;
  line-height: 1.4;
}

#saas-access-overlay #saas-access-status {
  min-height: 44px;
  margin: 0;
  padding: 11px 13px;
  border-color: color-mix(in srgb, var(--saas-client-accent) 22%, var(--saas-entry-line));
  color: #29415f;
  background: color-mix(in srgb, var(--saas-client-accent) 7%, #fff);
  font-size: .78rem;
  line-height: 1.4;
}

#saas-access-overlay #saas-access-status.cloud-error {
  border-color: #f0b7b7;
  color: #8d2525;
  background: #fff2f2;
}

#saas-access-overlay #saas-access-status.cloud-warning {
  border-color: #ecd49a;
  color: #765615;
  background: #fff9e9;
}

#saas-access-overlay #saas-access-status.cloud-online {
  border-color: color-mix(in srgb, var(--saas-client-accent) 28%, var(--saas-entry-line));
  color: #24537f;
  background: color-mix(in srgb, var(--saas-client-accent) 8%, #fff);
}

#saas-access-overlay .saas-access-form {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

#saas-access-overlay .saas-access-form-step {
  min-width: 0;
  display: grid;
  gap: 16px;
  animation: omegaEntryStepIn .24s ease-out;
}

#saas-access-overlay .saas-access-form-heading {
  display: grid;
  gap: 5px;
}

#saas-access-overlay .saas-access-form-heading .section-kicker {
  margin: 0;
  color: var(--saas-client-accent);
}

#saas-access-overlay .saas-access-form-heading h3 {
  margin: 0;
  color: var(--saas-entry-ink);
  font: 850 clamp(1.36rem, 2.1vw, 1.85rem)/1.08 var(--omega-font-operational);
  letter-spacing: -.035em;
}

#saas-access-overlay .saas-access-form-heading .muted {
  margin: 0;
  color: var(--saas-entry-muted);
  font-size: .85rem;
  line-height: 1.45;
}

#saas-access-overlay .saas-access-field-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

#saas-access-overlay .saas-access-field-grid label {
  min-width: 0;
  display: grid;
  gap: 7px;
  color: #334760;
  font: 800 .78rem/1.3 var(--omega-font-operational);
}

#saas-access-overlay :where(.input, input, select) {
  min-width: 0;
  min-height: 50px;
  border-color: var(--saas-entry-line);
  border-radius: 14px;
  color: var(--saas-entry-ink);
  background-color: #fff;
  box-shadow: 0 1px 0 rgba(16, 33, 58, .03);
  font: 700 .88rem/1.2 var(--omega-font-operational);
}

#saas-access-overlay :where(.input, input, select):hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--saas-client-accent) 38%, var(--saas-entry-line));
}

#saas-access-overlay :where(.input, input, select):focus-visible,
#saas-access-overlay button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--saas-client-accent) 30%, transparent);
  outline-offset: 2px;
}

#saas-access-overlay :where(.input, input, select):disabled {
  color: #8290a3;
  background: #edf2f7;
  cursor: not-allowed;
}

#saas-access-overlay .saas-access-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

#saas-access-overlay .saas-access-actions #saas-access-connect-btn {
  min-height: 52px;
  grid-column: 1 / -1;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: var(--saas-client-accent);
  box-shadow: 0 13px 28px color-mix(in srgb, var(--saas-client-accent) 24%, transparent);
  font-size: .9rem;
  font-weight: 850;
}

#saas-access-overlay .saas-access-actions #saas-access-connect-btn:hover:not(:disabled) {
  filter: brightness(.96);
  transform: translateY(-1px);
}

#saas-access-overlay .saas-access-actions #saas-access-back-btn,
#saas-access-overlay .saas-access-actions #saas-access-close-btn {
  min-height: 42px;
  padding: 8px 10px;
  border: 0;
  color: var(--saas-entry-muted);
  background: transparent;
  box-shadow: none;
  font-size: .75rem;
}

#saas-access-overlay .saas-access-actions #saas-access-back-btn {
  justify-self: start;
  border-radius: 10px;
  color: color-mix(in srgb, var(--saas-client-accent) 78%, var(--saas-entry-ink));
  font-weight: 760;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--saas-client-accent) 36%, transparent);
  text-underline-offset: 3px;
}

#saas-access-overlay .saas-access-actions #saas-access-back-btn:hover:not(:disabled) {
  color: var(--saas-client-accent);
  background: color-mix(in srgb, var(--saas-client-accent) 8%, transparent);
  text-decoration-color: currentColor;
}

#saas-access-overlay .saas-access-actions #saas-access-close-btn {
  justify-self: end;
}

#saas-access-overlay .saas-access-powered {
  margin: -2px 0 0;
  color: #8a98aa;
  font-size: .7rem;
  text-align: center;
}

#saas-access-overlay .saas-access-powered strong {
  color: #53657c;
}

#saas-access-overlay.is-success .saas-access-progress,
#saas-access-overlay.is-success #saas-access-status {
  border-color: #a8ddc0;
  background: #effbf4;
}

#saas-access-overlay.is-success .saas-access-stage-copy strong,
#saas-access-overlay.is-success .saas-access-stage-copy span,
#saas-access-overlay.is-success #saas-access-status {
  color: #17663c;
}

#saas-access-overlay.is-success .saas-access-progress-track > span {
  background: #23a566;
}

#saas-access-overlay.is-success #saas-access-status,
#saas-access-overlay.is-success .saas-access-form {
  display: none;
}

#saas-access-overlay.has-error .saas-access-progress {
  border-color: #f0b7b7;
  background: #fff7f7;
}

#saas-access-overlay.has-error .saas-access-stage-copy strong {
  color: #8d2525;
}

@keyframes omegaEntryBreath {
  0%, 100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .18);
  }
  50% {
    transform: translateY(-2px) scale(1.025);
    box-shadow: 0 20px 46px rgba(0, 0, 0, .22);
  }
}

@keyframes omegaEntryProgress {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(250%); }
}

@keyframes omegaEntryStepIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1180px) {
  #saas-access-overlay .saas-access-shell {
    grid-template-columns: minmax(330px, 40%) minmax(0, 60%);
  }

  #saas-access-overlay .saas-platform-panel {
    padding: 34px;
  }

  #saas-access-overlay .saas-access-main {
    padding: 32px;
  }

  #saas-access-overlay .saas-platform-message h2 {
    font-size: clamp(1.9rem, 3.3vw, 2.8rem);
  }
}

@media (max-width: 920px) {
  #saas-access-overlay {
    padding: 0;
    align-items: start;
    background: var(--saas-entry-surface);
  }

  #saas-access-overlay .saas-access-shell {
    width: 100%;
    min-height: 100dvh;
    max-height: none;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #saas-access-overlay .saas-platform-panel {
    min-height: 154px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 24px clamp(22px, 6vw, 48px);
  }

  #saas-access-overlay .saas-platform-message,
  #saas-access-overlay .saas-platform-assurance {
    display: none;
  }

  #saas-access-overlay .saas-platform-product {
    max-width: 180px;
    text-align: right;
  }

  #saas-access-overlay .saas-platform-panel::after {
    inset: -170% -12% auto auto;
    width: 420px;
  }

  #saas-access-overlay .saas-access-main {
    place-items: start center;
    overflow: visible;
    padding: 28px clamp(22px, 6vw, 48px) 42px;
  }

  #saas-access-overlay .saas-access-card {
    width: min(100%, 680px);
  }
}

@media (max-width: 600px) {
  #saas-access-overlay .saas-platform-panel {
    min-height: 112px;
    padding: 17px 18px;
  }

  #saas-access-overlay .saas-platform-symbol {
    width: 47px;
    height: 47px;
    border-radius: 15px;
  }

  #saas-access-overlay .saas-platform-kicker {
    font-size: .58rem;
  }

  #saas-access-overlay .saas-platform-identity h1 {
    font-size: 1.42rem;
  }

  #saas-access-overlay .saas-platform-product {
    max-width: 124px;
    font-size: .62rem;
    line-height: 1.35;
  }

  #saas-access-overlay .saas-access-main {
    padding: 18px 16px 32px;
  }

  #saas-access-overlay .saas-access-card {
    gap: 14px;
  }

  #saas-access-overlay .saas-access-brand-row {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
  }

  #saas-access-overlay .saas-access-client-logo {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    font-size: 1rem;
  }

  #saas-access-overlay .saas-access-step-badge {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: -3px;
  }

  #saas-access-overlay .saas-access-progress {
    padding: 13px;
    border-radius: 15px;
  }

  #saas-access-overlay .saas-access-field-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
  }

  #saas-access-overlay .saas-access-form-heading h3 {
    font-size: 1.28rem;
  }

  #saas-access-overlay :where(.input, input, select) {
    min-height: 48px;
  }

  #saas-access-overlay .saas-access-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  #saas-access-overlay .saas-access-actions #saas-access-back-btn,
  #saas-access-overlay .saas-access-actions #saas-access-close-btn {
    justify-self: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  #saas-access-overlay .saas-platform-symbol,
  #saas-access-overlay.is-busy .saas-access-progress-track > span.is-active::after,
  #saas-access-overlay .saas-access-form-step {
    animation: none;
  }

  #saas-access-overlay .saas-access-actions #saas-access-connect-btn {
    transition: none;
  }
}

