:root {
    --ink: #15201b;
    --muted: #66716b;
    --paper: #f3f4ef;
    --panel: #ffffff;
    --line: #dde2dc;
    --accent: #d8ff42;
    --accent-dark: #21381f;
    --danger: #bf3d2d;
    --warning: #9a6612;
    --on-ink: #ffffff;
    --on-accent: #16221c;
    --control: #ffffff;
    --surface-soft: #f7f8f5;
    --surface-muted: #f1f3ef;
    --surface-hover: #fbfcf9;
    --surface-accent: #f4f8df;
    --surface-danger: #fff8f7;
    --surface-warning: #fff8e6;
    --surface-positive: #f1f7d8;
    --finance-sales: #245b45;
    --finance-expenses: #e98f48;
    --topbar: #ffffff;
    --sidebar: #13201a;
    --sidebar-hover: #1d2c25;
    --focus-ring: rgba(153, 184, 53, .42);
    --overlay: rgba(20, 29, 23, .35);
    --shadow: rgba(21, 32, 27, .14);
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--paper);
}

:root[data-theme="dark"] {
    --ink: #eef5f0;
    --muted: #a9b7ad;
    --paper: #0d1410;
    --panel: #151f19;
    --line: #334239;
    --accent: #d2f75a;
    --accent-dark: #c4e765;
    --danger: #ff998d;
    --warning: #f3c66c;
    --on-ink: #101812;
    --on-accent: #17200f;
    --control: #111a15;
    --surface-soft: #1b2720;
    --surface-muted: #202d25;
    --surface-hover: #233129;
    --surface-accent: #28351a;
    --surface-danger: #38201e;
    --surface-warning: #352919;
    --surface-positive: #26351d;
    --finance-sales: #c4e765;
    --finance-expenses: #ffb36f;
    --topbar: #0d1410;
    --sidebar: #080e0b;
    --sidebar-hover: #17231c;
    --focus-ring: rgba(210, 247, 90, .38);
    --overlay: rgba(2, 7, 4, .68);
    --shadow: rgba(0, 0, 0, .38);
    color-scheme: dark;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { background: var(--paper); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.shell { display: grid; grid-template-columns: 246px 1fr; min-height: 100vh; }
.sidebar { background: var(--sidebar); color: #eef2ec; padding: 28px 18px 20px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow: hidden; }
.brand { display: block; padding: 0 10px 28px; }
.sidebar-brand-logo { display: block; width: 184px; max-width: 100%; height: auto; }
.mobile-navigation-toggle { display: none; }
.navigation { min-height: 0; display: flex; flex: 1; flex-direction: column; gap: 4px; overflow-x: hidden; overflow-y: auto; padding-right: 3px; scrollbar-gutter: stable; }
.navigation a, .navigation-section-toggle { width: 100%; border: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; min-height: 43px; padding: 0 12px; color: #aeb9b3; border-radius: 9px; background: transparent; font-size: 14px; text-align: left; transition: color .16s ease, background .16s ease; }
.navigation a:hover, .navigation-section-toggle:hover { color: #fff; background: var(--sidebar-hover); }
.navigation a:focus-visible, .navigation-section-toggle:focus-visible { outline: 3px solid rgba(216, 255, 66, .42); outline-offset: -2px; }
.navigation a.active { color: #16221c; background: var(--accent); font-weight: 750; }
.navigation-section-toggle { cursor: pointer; }
.navigation-section.current > .navigation-section-toggle { color: #fff; background: var(--sidebar-hover); font-weight: 750; }
.navigation-section.current > .navigation-section-toggle .navigation-icon { color: var(--accent); }
.navigation-icon { font-size: 13px; font-weight: 850; }
.marketplace-icon { font-size: 10px; letter-spacing: -.03em; }
.navigation-chevron { justify-self: end; color: #748078; font-size: 15px; transition: transform .16s ease; }
.navigation-section-toggle[aria-expanded="true"] .navigation-chevron { transform: rotate(180deg); }
.navigation-submenu { display: grid; gap: 2px; margin: 2px 0 7px 17px; padding: 3px 0 3px 13px; border-left: 1px solid #34433b; }
.navigation .navigation-submenu a { grid-template-columns: minmax(0, 1fr) auto; min-height: 35px; padding: 0 10px; font-size: 12px; }
.navigation .navigation-submenu a > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.navigation a em { font-style: normal; font-size: 9px; text-transform: uppercase; color: #738078; }
.navigation a.active em { color: #43543f; }
.sidebar-bottom { flex: 0 0 auto; margin-top: 12px; padding: 16px 10px 0; border-top: 1px solid #2a3932; }
.sidebar-bottom p { color: #849087; font-size: 11px; margin: 8px 0 0; }
.environment-dot { font-size: 12px; display: flex; gap: 8px; align-items: center; }
.environment-dot i, .status-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px rgba(216,255,66,.12); }

.main-content { min-width: 0; }
/* La barra envuelve cuando su contenido no entra, en cualquier ancho. Antes sólo lo hacía
   por debajo de 1050px, así que entre ese ancho y el que necesita la barra completa
   desbordaba y scrolleaba la página entera de costado, en todas las pantallas. */
.topbar { min-height: 68px; background: var(--topbar); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 0 34px; position: sticky; top: 0; z-index: 10; }
.breadcrumb { font-weight: 800; font-size: 12px; letter-spacing: .08em; }
.separator { color: #a5aea8; margin: 0 8px; }
.muted { color: var(--muted); font-size: 13px; }
.topbar-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.exchange-rate-context { position: relative; flex: 0 0 auto; }
.exchange-rate-context summary { display: flex; min-height: 40px; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; background: var(--control); padding: 6px 10px 6px 12px; color: var(--ink); cursor: pointer; list-style: none; }
.exchange-rate-context summary::-webkit-details-marker { display: none; }
.exchange-rate-context summary:hover, .exchange-rate-context[open] summary { border-color: var(--accent-dark); background: var(--surface-hover); }
.exchange-rate-context summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.exchange-rate-summary { display: grid; gap: 1px; line-height: 1; }
.exchange-rate-summary small { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .055em; white-space: nowrap; }
.exchange-rate-summary strong { font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.exchange-rate-chevron { color: var(--muted); font-size: 13px; transition: transform .16s ease; }
.exchange-rate-context[open] .exchange-rate-chevron { transform: rotate(180deg); }
.exchange-rate-popover { position: absolute; top: calc(100% + 10px); right: 0; z-index: 50; width: min(320px, calc(100vw - 36px)); border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: 0 20px 55px rgba(20, 29, 23, .2); padding: 19px; }
.exchange-rate-popover h2 { margin: 5px 0 15px; font-size: 18px; letter-spacing: -.025em; }
.exchange-rate-primary { display: grid; gap: 4px; border-radius: 10px; background: var(--accent); padding: 14px; }
.exchange-rate-primary span { color: #4f5d50; font-size: 9px; font-weight: 800; }
.exchange-rate-primary strong { color: #17211b; font-size: 22px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.exchange-rate-primary small { color: #52604f; font-size: 9px; }
.exchange-rate-popover dl { display: grid; gap: 0; margin: 13px 0 0; }
.exchange-rate-popover dl div { display: flex; justify-content: space-between; gap: 14px; border-top: 1px solid var(--line); padding: 9px 0; }
.exchange-rate-popover dt { color: var(--muted); font-size: 9px; }
.exchange-rate-popover dd { margin: 0; text-align: right; font-size: 10px; font-weight: 800; }
.exchange-rate-message { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.exchange-rate-message.warning-text { color: var(--warning); }
.exchange-rate-caption { margin: 12px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.exchange-rate-link { display: inline-block; margin-top: 13px; font-size: 10px; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.theme-toggle { flex: 0 0 auto; display: inline-grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--control); color: var(--ink); cursor: pointer; line-height: 1; }
.theme-toggle:hover { border-color: var(--accent-dark); background: var(--surface-hover); }
.theme-toggle:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.theme-toggle-light-icon { display: none; font-size: 18px; }
.theme-toggle-dark-icon { display: block; font-size: 17px; transform: translateY(-1px); }
:root[data-theme="dark"] .theme-toggle-light-icon { display: block; }
:root[data-theme="dark"] .theme-toggle-dark-icon { display: none; }
.business-unit-switcher { display: flex; align-items: center; gap: 8px; }
.business-unit-switcher label { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.business-unit-switcher select { max-width: 210px; border: 1px solid var(--line); border-radius: 999px; background: #fff; padding: 8px 34px 8px 12px; color: var(--ink); font-size: 12px; font-weight: 750; cursor: pointer; }
.context-switch-button { border: 1px solid var(--line); border-radius: 999px; background: var(--ink); padding: 8px 11px; color: #fff; font-size: 10px; font-weight: 850; cursor: pointer; }
.context-switch-button:hover { background: #31352f; }
.status-pill { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; font-size: 12px; }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: #fff; font-weight: 800; font-size: 11px; }
.page-container { width: 100%; max-width: 1500px; min-width: 0; margin: 0 auto; padding: 40px 36px 70px; }
.whatsapp-health-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 12px; }
.whatsapp-health-banner.warning { color: var(--warning); background: var(--surface-warning); }
.whatsapp-health-banner.danger { color: var(--danger); background: var(--surface-danger); }
.whatsapp-health-banner > .whatsapp-health-dot { display: inline-block; width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: currentColor; }
.whatsapp-health-banner > div { flex: 1 1 260px; }
.whatsapp-health-banner p { margin: 5px 0 0; color: var(--ink); font-size: 12px; line-height: 1.6; }

.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 30px; }
.page-heading > * { min-width: 0; }
.page-heading.compact { align-items: center; }
.page-heading h1 { font-size: clamp(32px, 4vw, 52px); letter-spacing: -.055em; line-height: 1; margin: 4px 0 12px; }
.page-heading h1:focus { outline: none; }
.page-heading.compact h1 { font-size: 38px; }
.page-heading p:not(.eyebrow) { margin: 0; color: var(--muted); }
.eyebrow { margin: 0; font-size: 10px; letter-spacing: .16em; font-weight: 850; color: #68736c; }
.button { border: 0; border-radius: 9px; min-height: 42px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-weight: 750; font-size: 13px; }
.button.primary { background: var(--ink); color: #fff; box-shadow: 0 8px 22px rgba(21,32,27,.14); }
.button.primary:hover { background: #28362e; }
.button.secondary { background: #fff; color: var(--ink); border: 1px solid var(--line); }
.button.secondary:hover { border-color: #a8b2ab; }
.button:disabled { opacity: .38; cursor: not-allowed; }
.icon-button { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: var(--control); color: var(--ink); cursor: pointer; font-size: 22px; line-height: 1; }
.icon-button:hover:not(:disabled) { border-color: #a8b2ab; background: var(--surface-hover); }
.icon-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.icon-button:disabled { opacity: .38; cursor: not-allowed; }
.icon-button.danger { border-color: #dca59e; background: var(--surface-danger); color: var(--danger); }
/* Cuando los botones no entran en una línea, la fila que baja se alinea con el resto del
   bloque en vez de quedar descolgada contra el título. */
.heading-actions { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
.table-action { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 14px; margin-bottom: 22px; }
.metric-grid.three { grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); }
.inventory-metric-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.metric-card { min-width: 0; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 21px; min-height: 138px; display: flex; flex-direction: column; container-type: inline-size; }
.metric-card.accent { background: var(--accent); border-color: #c7e93e; color: var(--on-accent); }
.metric-card.danger { border-color: #edc0ba; background: #fff8f7; }
.metric-card span { color: var(--muted); font-size: 12px; font-weight: 700; }
.metric-card strong { display: block; max-width: 100%; margin-top: auto; white-space: nowrap; font-size: 32px; font-size: clamp(23px, 10cqi, 38px); line-height: 1.08; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.metric-card small { color: var(--muted); margin-top: 3px; }

.dashboard-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 18px; }
.content-card, .table-card { min-width: 0; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; }
.content-card { overflow: hidden; }
.table-card { overflow-x: auto; overflow-y: hidden; }
.content-card { padding: 24px; }
.card-header { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.card-header.padded { padding: 22px; }
.card-header h2 { margin: 5px 0 0; font-size: 20px; letter-spacing: -.025em; }
.tag { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.tag.positive { background: #eaf7b9; color: #39501b; }
.tag.neutral { background: #edf0ed; color: #5a655f; }
.tag.danger-tag { background: #fae0dc; color: #9b2f22; }
.tag.warning-tag { background: #fff0cf; color: #83550c; }
.tag.success { background: #eaf7b9; color: #39501b; }
.tag.warning { background: #fff0cf; color: #83550c; }
.tag.danger { background: #fae0dc; color: #9b2f22; }
.progress-list { margin-top: 26px; display: grid; }
.progress-list > div { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 15px 0; border-top: 1px solid var(--line); opacity: .52; }
.progress-list > div.done, .progress-list > div.active { opacity: 1; }
.progress-list b { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 10px; }
.progress-list .done b { background: var(--ink); color: #fff; }
.progress-list .active b { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.progress-list strong, .progress-list small { display: block; }
.progress-list strong { font-size: 13px; }
.progress-list small { color: var(--muted); margin-top: 4px; }
.warehouse-list { list-style: none; padding: 4px 0 0; margin: 20px 0 0; display: grid; gap: 16px; }
.warehouse-list li { display: grid; grid-template-columns: 12px 1fr; gap: 11px; align-items: center; }
.warehouse-list i { width: 10px; height: 10px; border-radius: 3px; }
.warehouse-list i.physical { background: var(--ink); }
.warehouse-list i.full { background: #8ba93b; }
.warehouse-list i.transit { border: 2px solid #9ca49f; }
.warehouse-list i.quarantine { background: #d19a39; }
.warehouse-list i.incoming { border: 2px dashed #7892a4; }
.warehouse-list strong, .warehouse-list small { display: block; }
.warehouse-list strong { font-size: 13px; }
.warehouse-list small { color: var(--muted); margin-top: 2px; }

.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.searchable-toolbar { flex-wrap: wrap; }
.toolbar input { min-width: min(430px, 70vw); border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 11px 13px; outline: none; }
.toolbar input:focus { border-color: #8ea62f; box-shadow: 0 0 0 3px rgba(216,255,66,.28); }
.toolbar select, .connection-card select { border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 10px 35px 10px 12px; color: var(--ink); }
.toolbar span { color: var(--muted); font-size: 12px; }
.toolbar-search { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1 1 430px; margin: 0; }
.toolbar-search input { min-width: 0; flex: 1; }
.catalog-toolbar { justify-content: flex-start; }
.catalog-search-group { display: flex; align-items: center; gap: 12px; flex: 1 1 620px; max-width: 860px; }
.catalog-search-group input { flex: 1; min-width: 0; }
.catalog-result-count { margin-left: auto; white-space: nowrap; }
.button.link-button { min-height: 38px; padding: 0 5px; background: transparent; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.filter-trigger { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.filter-trigger-icon { font-size: 16px; line-height: 1; transform: rotate(180deg); }
.filter-count { min-width: 20px; height: 20px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--ink); color: #fff !important; font-size: 10px !important; font-weight: 850; }
.filter-overlay { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: 0; border: 0; z-index: 400; justify-content: flex-end; background: transparent; }
.filter-overlay[open] { display: flex; }
.filter-overlay:not([open]) { display: none; }
.filter-overlay::backdrop { background: rgba(20,29,23,.35); }
.filter-panel { width: min(430px, 100vw); height: 100%; display: flex; flex-direction: column; background: #fff; box-shadow: -18px 0 50px rgba(25,36,28,.18); outline: none; animation: filter-panel-in .16s ease-out; }
.filter-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 26px 20px; border-bottom: 1px solid var(--line); }
.filter-panel-header h2 { margin: 5px 0 0; font-size: 24px; letter-spacing: -.035em; }
.filter-panel-close { width: 38px; height: 38px; border: 0; border-radius: 9px; background: #f1f3ef; color: var(--ink); font-size: 24px; cursor: pointer; }
.filter-panel-close:hover { background: #e6eae4; }
.filter-panel-body { flex: 1; overflow-y: auto; display: grid; align-content: start; gap: 19px; padding: 24px 26px; }
.filter-field { display: grid; gap: 7px; }
.filter-field > span { color: var(--ink); font-size: 12px; font-weight: 800; }
.filter-field small { color: var(--muted); line-height: 1.45; }
.filter-field select, .filter-field input { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 11px 35px 11px 12px; color: var(--ink); }
.filter-check { display: flex; align-items: flex-start; gap: 10px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 9px; background: #fafbf9; color: var(--ink); font-size: 12px; font-weight: 750; cursor: pointer; }
.filter-check input { width: 17px; height: 17px; min-width: 0; padding: 0; margin: 0; accent-color: var(--ink); }
.filter-check span { color: var(--ink) !important; font-size: 12px !important; }
.filter-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 26px; border-top: 1px solid var(--line); background: #fafbf9; }
.active-filters-bar { display: flex; align-items: center; gap: 10px; margin: -2px 0 14px; min-height: 34px; flex-wrap: wrap; }
.active-filters-label { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.active-filter-chips { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.active-filter-chip { display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 5px 8px 5px 10px; border: 1px solid #d8ded5; border-radius: 999px; background: #f5f7f3; color: var(--ink); cursor: pointer; font-size: 11px; }
.active-filter-chip:hover { border-color: #aeb8aa; background: #eef2eb; }
.active-filter-chip span:first-child { color: var(--muted); }
.active-filter-remove { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-left: 2px; border-radius: 50%; background: #dfe5dc; color: #536057; font-size: 14px; line-height: 1; }
.active-filters-clear { margin-left: auto; min-height: 30px !important; }
@keyframes filter-panel-in { from { transform: translateX(28px); opacity: .6; } to { transform: translateX(0); opacity: 1; } }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th { background: #f8f9f6; color: #6c7770; text-align: left; padding: 12px 16px; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; border-bottom: 1px solid var(--line); }
td { padding: 13px 16px; border-bottom: 1px solid #ecefeb; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfcf9; }
td.number, th.number { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
td.negative { color: var(--danger); font-weight: 800; }
code { background: #edf1ed; border-radius: 5px; padding: 3px 6px; font-size: 11px; color: #344239; }
.loading-card { border: 1px dashed #c9d0cb; border-radius: 12px; padding: 35px; color: var(--muted); text-align: center; }
.empty-state { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; max-width: 620px; margin: 0 auto; }
.empty-state.inline { min-height: 350px; }
.empty-state h1, .empty-state h2 { letter-spacing: -.04em; margin: 8px 0; }
.empty-state p:not(.eyebrow) { color: var(--muted); max-width: 520px; margin-bottom: 22px; }
.notice-card { max-width: 720px; }
.notice-card h2 { margin: 6px 0; }
.notice-card p:last-child { color: var(--muted); margin-bottom: 0; line-height: 1.6; }
.inventory-section { margin-bottom: 28px; }
.inventory-movements-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 13px; }
.inventory-movements-heading h2 { margin: 5px 0 0; font-size: 24px; letter-spacing: -.03em; }
.inventory-movements-heading > p { color: var(--muted); font-size: 11px; margin: 0; }
.inventory-toolbar { justify-content: flex-start; }
.inventory-toolbar span { margin-left: auto; }
.inventory-empty { min-height: 260px; }
.inventory-rule { margin-top: 20px; }
.movement-quantity { font-weight: 850; }
.movement-quantity.positive-quantity { color: #4e6b18; }
.inventory-operation-picker { margin-bottom: 18px; }
.inventory-operation-picker h2, .operation-card h2 { margin: 6px 0 8px; font-size: 21px; letter-spacing: -.03em; }
.inventory-operation-picker > .form-field select { width: 100%; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 11px 12px; color: var(--ink); }
.operation-business-unit { max-width: 430px; margin-top: 18px; }
.inventory-balance-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 11px; }
.inventory-balance-heading h2 { margin: 4px 0 0; font-size: 22px; letter-spacing: -.03em; }
.inventory-balance-heading > small { color: var(--muted); font-size: 10px; }
.stock-balance-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 18px; }
.stock-balance-card { display: flex; min-height: 104px; flex-direction: column; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 15px; }
.stock-balance-card.external { background: #f7f8f5; }
.stock-balance-card span { color: var(--muted); font-size: 10px; font-weight: 800; }
.stock-balance-card strong { margin-top: auto; white-space: nowrap; font-size: 27px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.stock-balance-card small { color: var(--muted); font-size: 9px; }
.inventory-operation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.operation-card .form-grid { margin: 20px 0; }
.operation-description { min-height: 40px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.operation-unavailable { min-height: 240px; background: #f8f9f6; }
.operation-unavailable p:last-child { color: var(--muted); line-height: 1.55; }
.inventory-physical-transfer { margin-top: 18px; }
.operation-card .button { width: 100%; }
.button.secondary { background: #fff; color: var(--ink); border: 1px solid var(--line); }
.button.secondary:hover { border-color: #a8b0aa; background: #fafbf8; }
.contact-import-card { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 20px; }
.contact-import-card h2, .contact-form-section h2 { margin: 6px 0 8px; font-size: 20px; letter-spacing: -.025em; }
.contact-import-card p:not(.eyebrow) { color: var(--muted); margin: 0; max-width: 720px; line-height: 1.5; }
.contact-import-action { min-width: 300px; }
.contact-import-action small { display: block; color: var(--muted); margin-top: 8px; }
.balance-import-controls { display: grid; gap: 10px; }
.balance-import-controls label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 700; }
.import-business-unit { margin: 14px 0; }
.contacts-toolbar { justify-content: flex-start; }
.contacts-toolbar input { flex: 1; }
.contacts-toolbar span { margin-left: auto; }
.contact-origin-list { display: flex; flex-wrap: wrap; gap: 4px; }
.tag.marketplace-tag { background: #fff2a8; color: #665600; }
.tag.supplier-tag { background: #dcecff; color: #285477; }
.table-link { color: #40591a; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.pagination { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.pagination-summary, .pagination > span { color: var(--muted); font-size: 12px; }
.pagination-summary strong { color: var(--ink); }
.pagination-controls { display: flex; align-items: center; gap: 5px; }
.pagination-controls label { display: flex; align-items: center; gap: 7px; margin-right: 8px; color: var(--muted); font-size: 11px; }
.pagination-controls select { border: 1px solid var(--line); border-radius: 7px; background: #fff; padding: 6px 25px 6px 8px; color: var(--ink); }
.pagination-controls button { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); cursor: pointer; font-weight: 800; }
.pagination-controls button:hover:not(:disabled) { border-color: #9eae57; background: #f7fbdc; }
.pagination-controls button.current { border-color: var(--ink); background: var(--ink); color: #fff; }
.pagination-controls button:disabled { opacity: .35; cursor: not-allowed; }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-account-card { margin-top: 20px; }
.contact-account-balances { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin: 18px 0 8px; }
.contact-account-balances > div { display: grid; gap: 5px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); padding: 15px; }
.contact-account-balances > div.has-debt { border-color: #edc0ba; background: var(--surface-danger); }
.contact-account-balances > div.has-credit { border-color: #d3e484; background: var(--surface-positive); }
.contact-account-balances span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.contact-account-balances strong { font-size: 22px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.contact-account-balances small { color: var(--muted); font-size: 9px; }
.contact-account-card .compact-heading { margin: 26px 0 10px; }
.contact-account-card .compact-heading h3 { margin: 4px 0 0; font-size: 17px; }
.contact-form-section.span-two { grid-column: 1 / -1; }
.form-grid { display: grid; gap: 15px; margin-top: 22px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
.form-grid.three { grid-template-columns: 1fr 1fr 1fr; }
.form-grid label { color: var(--muted); font-size: 11px; font-weight: 800; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; display: block; margin-top: 6px; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 11px 12px; color: var(--ink); outline: none; }
.form-grid textarea { resize: vertical; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: #8ea62f; box-shadow: 0 0 0 3px rgba(216,255,66,.28); }
.form-grid .full-field { grid-column: 1 / -1; }
.form-grid .span-two-fields { grid-column: span 2; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

.import-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.upload-card { position: relative; min-height: 230px; }
.upload-card.disabled { opacity: .52; }
.upload-card h2 { margin: 12px 0 7px; font-size: 18px; }
.upload-card p { color: var(--muted); font-size: 13px; line-height: 1.5; min-height: 58px; }
.step-number { color: #97a099; font-size: 10px; letter-spacing: .12em; font-weight: 850; }
input[type=file] { max-width: 100%; font-size: 11px; margin-top: 8px; }
input[type=file]::file-selector-button { border: 0; background: var(--ink); color: #fff; border-radius: 7px; padding: 9px 12px; margin-right: 10px; font-weight: 700; cursor: pointer; }
.selected-file { display: flex; gap: 10px; align-items: center; margin-top: 16px; padding: 10px; border-radius: 8px; background: #f1f5e4; }
.selected-file > span { width: 24px; height: 24px; display: grid; place-items: center; background: var(--accent); border-radius: 50%; color: var(--on-accent); font-size: 11px; }
.selected-file strong, .selected-file small { display: block; }
.selected-file strong { font-size: 11px; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-file small { color: var(--muted); font-size: 10px; }
.preview-numbers { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.preview-numbers span { padding: 9px; border-radius: 7px; background: #f2f4f1; color: var(--muted); font-size: 10px; }
.preview-numbers strong { display: block; color: var(--ink); font-size: 18px; }
.preview-numbers span.warning strong { color: var(--warning); }
.alert { border-radius: 10px; padding: 14px 17px; margin: 14px 0; font-size: 13px; }
.alert.error { background: #fce6e2; color: #812b20; }
.alert.success { background: #eaf6bb; color: #30461a; }
.alert.warning { background: #fff0cf; color: #7a4f0a; }
.customer-debt-warning { display: grid; gap: 5px; margin-top: 12px; }
.customer-debt-warning strong { color: #6e2c17; }
.customer-debt-warning .table-link { width: fit-content; margin-top: 3px; }
.alert a { text-decoration: underline; margin-left: 8px; font-weight: 800; }
.validation-message { display: block; margin-top: 6px; color: var(--danger); font-size: 12px; font-weight: 700; }
.validation-errors, .validation-summary { list-style: none; display: grid; gap: 5px; border-radius: 10px; padding: 14px 17px; margin: 14px 0; background: #fce6e2; color: #812b20; font-size: 13px; }
.validation-errors .validation-message, .validation-summary .validation-message { margin: 0; color: inherit; font-size: inherit; font-weight: inherit; }
input.invalid, select.invalid, textarea.invalid { border-color: var(--danger); }
input.invalid:focus, select.invalid:focus, textarea.invalid:focus { border-color: var(--danger); box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 24%, transparent); }
.issues-card { margin-top: 20px; }
.diagnostic-summary { display: flex; gap: 9px; padding: 0 22px 18px; flex-wrap: wrap; }
.diagnostic-summary span { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; color: var(--muted); font-size: 11px; }
.diagnostic-summary strong { color: var(--ink); margin-left: 5px; }

.catalog-editor-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .7fr); gap: 18px; align-items: start; }
.catalog-editor-main { min-height: 520px; }
.catalog-editor-side { display: grid; gap: 18px; }
.catalog-editor-grid h2 { margin: 5px 0 18px; font-size: 20px; letter-spacing: -.025em; }
.form-grid { display: grid; gap: 16px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
.form-field { display: grid; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 800; }
.form-field.span-two { grid-column: span 2; }
.form-field input { width: 100%; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 11px 12px; color: var(--ink); outline: none; }
.form-field input:focus { border-color: #8ea62f; box-shadow: 0 0 0 3px rgba(216,255,66,.28); }
.form-field small, .readonly-field small { font-weight: 500; line-height: 1.45; color: var(--muted); }
.check-row { display: flex; align-items: flex-start; gap: 11px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); cursor: pointer; }
.check-row.compact-check { margin-top: 0; padding: 12px 0; }
.check-row input { margin-top: 3px; accent-color: var(--accent-dark); }
.check-row strong, .check-row small { display: block; }
.check-row strong { font-size: 12px; }
.check-row small { color: var(--muted); margin-top: 3px; font-size: 10px; }
.readonly-field { border: 1px solid var(--line); border-radius: 9px; padding: 12px; background: #f7f8f5; }
.readonly-field span, .readonly-field strong, .readonly-field small { display: block; }
.readonly-field span { color: var(--muted); font-size: 10px; font-weight: 800; }
.readonly-field strong { margin: 4px 0; white-space: nowrap; font-size: 27px; font-variant-numeric: tabular-nums; }
.meli-link-card p:last-child { color: var(--muted); font-size: 11px; line-height: 1.5; margin-bottom: 0; }
.editor-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; flex-wrap: wrap; align-items: center; }
.form-actions.with-delete { flex-wrap: wrap; align-items: center; }
.editor-delete, .editor-delete-note { margin-right: auto; }
.button.editor-delete { width: auto; }
.editor-delete-note { max-width: 560px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; white-space: nowrap; }
.insights-table .table-actions { justify-content: flex-start; }
.supplier-offer-editor-grid { align-items: start; }
.supplier-offer-editor-grid h2 { margin: 5px 0 18px; font-size: 21px; letter-spacing: -.03em; }
.offer-context-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0 24px; }
.offer-context-summary > div { border: 1px solid var(--line); border-radius: 10px; padding: 14px; background: #f7f8f5; }
.offer-context-summary small, .offer-context-summary strong, .offer-context-summary span { display: block; }
.offer-context-summary small { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.offer-context-summary strong { margin: 5px 0 2px; }
.offer-context-summary span { color: var(--muted); font-size: 11px; }
.offer-readonly-context { margin: 18px 0 24px; }
.offer-checks { display: grid; gap: 10px; margin-top: 20px; }
.offer-latest-price { border: 1px solid #cbd69d; border-radius: 11px; background: #f8fbe9; padding: 16px; margin: 12px 0 18px; }
.offer-latest-price span, .offer-latest-price strong, .offer-latest-price small { display: block; }
.offer-latest-price span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.offer-latest-price strong { margin: 5px 0; white-space: nowrap; font-size: 27px; font-variant-numeric: tabular-nums; }
.offer-latest-price small { color: var(--muted); }
.offer-price-empty { margin-top: 18px; }
.supplier-history-metrics { margin-bottom: 18px; }
.purchases-toolbar { justify-content: flex-start; }
.purchases-toolbar input { flex: 1; }
.purchases-toolbar span { margin-left: auto; }
.purchases-metrics { margin-bottom: 20px; }
.purchase-editor-grid, .purchase-detail-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .55fr); gap: 18px; align-items: start; }
.receivables-metrics .metric-card { min-height: 126px; }
.receivables-table { min-width: 1080px; }
.receivables-invoice-table { min-width: 980px; }
.receivables-section-heading { margin-top: 30px; }
.wholesale-due-card h2 { margin: 6px 0 4px; font-size: 18px; }
.wholesale-due-card .card-header { margin-bottom: 15px; }
.wholesale-due-card small { color: var(--muted); line-height: 1.45; }
.purchase-editor-grid h2, .purchase-lines-card h2, .purchase-detail-grid h2, .purchase-receipt-card h2 { margin: 6px 0 8px; font-size: 21px; letter-spacing: -.03em; }
.purchase-summary-card { display: grid; gap: 13px; }
.purchase-summary-card > small { color: var(--muted); line-height: 1.5; }
.purchase-total { display: flex; align-items: baseline; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 12px; }
.purchase-total span { color: var(--muted); font-size: 11px; }
.purchase-total strong { white-space: nowrap; font-size: 20px; font-variant-numeric: tabular-nums; }
.purchase-lines-card { margin-top: 18px; }
.purchase-sku-picker { display: grid; grid-template-columns: minmax(280px, 1fr) 110px 130px auto; align-items: end; gap: 8px; margin: 20px 0; }
.purchase-sku-picker input, .purchase-sku-picker select { min-width: 0; border: 1px solid var(--line); border-radius: 9px; background: var(--control); padding: 10px 11px; }
/* La ayuda del buscador sale del flujo: con align-items:end, su altura
   desalineaba cantidad/costo/Agregar respecto del input de búsqueda. */
.purchase-sku-picker .article-autocomplete-help { position: absolute; top: 100%; left: 0; margin-top: 4px; }
.wholesale-product-picker { max-width: 760px; margin: 20px 0 12px; }
.wholesale-product-picker .button, .wholesale-line-composer > .button { min-height: 42px; }
.wholesale-product-picker .form-field input, .wholesale-product-picker .form-field select, .wholesale-line-composer .form-field input, .wholesale-line-composer .form-field select { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 9px; background: var(--control); padding: 10px 11px; color: var(--ink); outline: none; }
.wholesale-product-picker .form-field input:focus, .wholesale-product-picker .form-field select:focus, .wholesale-line-composer .form-field input:focus, .wholesale-line-composer .form-field select:focus, .table-select:focus { border-color: #8ea62f; box-shadow: 0 0 0 3px var(--focus-ring); }
.wholesale-product-error { margin: 14px 0 0; }
.wholesale-line-composer { display: grid; grid-template-columns: minmax(105px, .5fr) minmax(205px, 1fr) minmax(130px, .65fr) minmax(115px, .55fr) minmax(155px, .75fr) auto; align-items: end; gap: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); padding: 16px; }
.wholesale-line-composer input[readonly], .embedded-table input[readonly] { background: var(--surface-muted); color: var(--muted); cursor: default; }
.wholesale-net-preview { display: grid; align-content: center; min-height: 62px; border-left: 1px solid var(--line); padding-left: 14px; }
.wholesale-net-preview span { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.wholesale-net-preview strong { margin: 3px 0; white-space: nowrap; font-size: 18px; font-variant-numeric: tabular-nums; }
.wholesale-net-preview small { color: var(--muted); font-size: 10px; }
.wholesale-price-hint { text-align: left; padding: 13px 15px; }
.wholesale-price-hint .cell-note { display: block; margin-top: 5px; white-space: pre-wrap; }
/* Tabla de ocho columnas con dos selects (Tarifa e IVA) que entra en los 1070 px visibles a 1440 de ancho: el SKU va en la
   celda del artículo, y el disponible y el precio neto, como notas bajo Cantidad y Descuento. Sin piso de ancho propio (su
   mínimo es el que suman sus columnas), con menos relleno horizontal y selects compactos para que la columna IVA no la ensanche. */
.wholesale-lines-table th, .wholesale-lines-table td { padding-inline: 8px; }
.table-select { min-width: 125px; border: 1px solid var(--line); border-radius: 7px; background: var(--control); padding: 7px 24px 7px 8px; color: var(--ink); }
/* El select nativo ya reserva lugar para su flecha: la variante compacta mide lo que su opción más larga, así que sus opciones van cortas. */
.table-select.compact { min-width: 0; padding: 6px 4px 6px 6px; }
.customer-picker { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 3px; }
.picker-with-action { display: grid; grid-template-columns: minmax(280px, 1fr) auto; align-items: start; gap: 10px; margin: 20px 0 12px; }
.picker-with-action > .button { margin-top: 24px; min-height: 42px; }
@media (max-width: 760px) {
    .picker-with-action { grid-template-columns: 1fr; }
    .picker-with-action > .button { margin-top: 0; }
}
.quote-product-search { display: grid; grid-template-columns: minmax(180px, .7fr) auto minmax(320px, 1.3fr); gap: 9px; margin: 20px 0 12px; }
.quote-product-search input, .quote-product-search select, .quote-line-composer input, .quote-line-composer select, .quote-manual-price input, .table-number-input { min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--control); color: var(--ink); padding: 9px 10px; }
.quote-line-composer { display: grid; grid-template-columns: 100px minmax(135px, .8fr) minmax(130px, .7fr) 110px minmax(135px, .7fr) auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.quote-stock-hint { display: block; margin: 10px 0 18px; color: var(--muted); }
.quote-lines-table { min-width: 1180px; margin-top: 18px; }
.quote-lines-table td { vertical-align: top; }
.table-number-input { width: 92px; text-align: right; }
.quote-reason-row td { background: var(--surface-soft); }
.quote-reason-row .form-field { max-width: 720px; }
.quote-bottom-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.quote-bottom-grid textarea { min-height: 110px; }
.quote-actions { align-items: center; flex-wrap: wrap; }
.quote-actions .danger-button { width: auto; }
.quote-history-card, .quote-conversion-card { margin-top: 18px; }
.quote-history-card h2 { margin: 5px 0 16px; }
.quote-history-card .payment-row > span:last-child { display: grid; justify-items: end; gap: 4px; }
.quote-conversion-table { min-width: 1380px; margin-top: 18px; }
.quote-manual-price { display: grid; grid-template-columns: 1fr 80px; gap: 5px; margin-top: 6px; }
.quote-expired-check { grid-column: 1 / -1; padding: 12px; border: 1px solid #e4c46b; border-radius: 10px; background: var(--surface-warning); }
.alert.info { background: var(--surface-accent); color: var(--ink); }

@media (max-width: 1050px) {
    .quote-line-composer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .quote-bottom-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .quote-product-search, .quote-line-composer { grid-template-columns: 1fr; }
}
.analysis-note { color: var(--muted); font-size: 11px; margin: -10px 0 14px; }
.stock-insight-metrics { margin-bottom: 20px; }
.insight-filter { text-align: left; cursor: pointer; font: inherit; }
.insight-filter:hover { border-color: #a8bf49; box-shadow: 0 0 0 3px rgba(216,255,66,.18); }
.insights-toolbar { justify-content: flex-start; }
.insights-toolbar input { flex: 1; }
.insights-toolbar span { margin-left: auto; }
.recommendation-text { display: block; max-width: 250px; margin-bottom: 5px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.insight-method-card { max-width: none; margin-top: 18px; }
.insight-method-card h2 { margin: 6px 0; font-size: 19px; }
.insight-method-card p:last-child { color: var(--muted); line-height: 1.55; margin-bottom: 0; }
.mode-badge { border: 1px solid #d5ad55; border-radius: 999px; background: #fff8e6; color: #79510c; padding: 9px 13px; font-size: 10px; font-weight: 850; letter-spacing: .05em; }
.simulation-alert { background: #fff8e6; color: #6f5017; border: 1px solid #ead7a6; line-height: 1.5; }
.automation-baseline { margin: -5px 0 18px; border-left: 3px solid var(--accent-dark); padding: 8px 12px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.automation-baseline strong { color: var(--ink); }
.automation-metrics { margin-bottom: 20px; }
.automation-toolbar { justify-content: flex-start; }
.automation-toolbar input { flex: 1; }
.automation-toolbar span { margin-left: auto; }
.automation-reason { display: block; max-width: 320px; margin-top: 6px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.write-readiness, .write-history { margin-bottom: 18px; }
.write-automation-status { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.write-readiness > p, .write-history > p:not(.eyebrow) { max-width: 760px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.write-history h2 { margin: 6px 0 12px; font-size: 17px; }
.write-readiness-table, .write-history-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.write-readiness-table th, .write-readiness-table td, .write-history-table th, .write-history-table td { border-top: 1px solid var(--line); padding: 8px 10px 8px 0; text-align: left; vertical-align: top; }
.write-history-table code { display: block; max-width: 360px; overflow-wrap: anywhere; }
.write-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.write-actions .button { min-height: 30px; padding: 0 11px; font-size: 10px; }
.write-confirm { width: 100%; color: var(--ink); font-size: 10px; font-weight: 800; }
.write-result { display: grid; gap: 3px; max-width: 340px; margin-top: 8px; border-left: 3px solid var(--line); padding: 5px 9px; font-size: 10px; line-height: 1.45; }
.write-result.positive { border-left-color: var(--accent-dark); }
.write-result.warning-tag { border-left-color: #d5ad55; }
.write-result.danger-tag { border-left-color: var(--danger); }
.write-result code { overflow-wrap: anywhere; color: var(--muted); }
.automation-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.automation-rules-grid h2 { margin: 7px 0; font-size: 17px; }
.automation-rules-grid p:last-child { color: var(--muted); font-size: 11px; line-height: 1.5; margin-bottom: 0; }
.finance-heading { margin-bottom: 25px; }
.finance-back-link { display: inline-flex; margin-bottom: 13px; color: var(--muted); font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.finance-projection-toggle { width: max-content; max-width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; margin: -7px 0 14px; border-radius: 10px; background: var(--surface-muted); padding: 3px; }
.finance-projection-toggle a { min-height: 34px; display: grid; place-items: center; border-radius: 8px; padding: 0 14px; color: var(--muted); font-size: 10px; font-weight: 850; white-space: nowrap; }
.finance-projection-toggle a:hover { color: var(--ink); }
.finance-projection-toggle a.active { background: var(--ink); color: var(--on-ink); box-shadow: 0 2px 8px rgba(21, 32, 27, .12); }
.finance-currency-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -6px 0 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); padding: 9px 10px 9px 14px; }
.finance-currency-bar > div:first-child { min-width: 0; display: grid; gap: 2px; }
.finance-currency-bar strong { font-size: 10px; }
.finance-currency-bar small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.finance-currency-toggle { flex: 0 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 3px; border-radius: 9px; background: var(--surface-muted); padding: 3px; }
.finance-currency-toggle a { min-width: 54px; min-height: 31px; display: grid; place-items: center; border-radius: 7px; color: var(--muted); font-size: 10px; font-weight: 850; }
.finance-currency-toggle a:hover { color: var(--ink); }
.finance-currency-toggle a.active { background: var(--ink); color: var(--on-ink); box-shadow: 0 2px 8px rgba(21, 32, 27, .12); }
.finance-source-status { display: grid; gap: 3px; margin: -6px 0 16px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.finance-source-status p { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.finance-source-status strong { color: var(--ink); font-weight: 800; font-variant-numeric: tabular-nums; }
.finance-source-status .source-error { color: var(--danger); overflow-wrap: anywhere; }
.finance-source-status .source-warning { color: var(--warning); overflow-wrap: anywhere; }
.finance-data-notice { display: flex; align-items: center; gap: 11px; margin: -7px 0 16px; border: 1px solid #e7d09a; border-radius: 11px; background: var(--surface-warning); padding: 11px 14px; color: #6f5017; }
.finance-data-notice > span { flex: 0 0 auto; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: #e1ae3f; color: #fff; font-size: 11px; font-weight: 900; }
.finance-data-notice p { margin: 0; font-size: 11px; line-height: 1.45; }
.finance-invalid-month { text-align: center; padding: 55px 24px; }
.finance-invalid-month h2 { margin: 7px 0; }
.finance-invalid-month p:not(.eyebrow) { margin: 0 0 20px; color: var(--muted); }
.finance-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.finance-kpi-card { min-width: 0; min-height: 146px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); padding: 19px 20px; box-shadow: 0 1px 0 rgba(21, 32, 27, .02); }
.finance-kpi-card.result { border-color: #15201b; background: #15201b; color: #fff; }
.finance-kpi-card.result.negative-result { border-color: #7e2c22; background: #7e2c22; }
.finance-kpi-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.finance-kpi-heading > span { color: var(--muted); font-size: 11px; font-weight: 800; }
.finance-kpi-card.result .finance-kpi-heading > span { color: #bbc6c0; }
.finance-kpi-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #173b2d; box-shadow: 0 0 0 4px rgba(23, 59, 45, .08); }
.finance-kpi-dot.result { background: var(--accent); box-shadow: 0 0 0 4px rgba(216, 255, 66, .14); }
.finance-kpi-dot.margin { background: #7592a8; box-shadow: 0 0 0 4px rgba(117, 146, 168, .12); }
.finance-kpi-dot.expenses { background: #f0a35e; box-shadow: 0 0 0 4px rgba(240, 163, 94, .13); }
.finance-kpi-card > strong { display: block; margin-top: auto; overflow: hidden; font-size: clamp(24px, 2.25vw, 35px); line-height: 1.05; letter-spacing: -.045em; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.finance-kpi-card > small { margin-top: 6px; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.finance-kpi-card.result > small { color: #aebbb4; }
.finance-visual-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(330px, .75fr); gap: 18px; align-items: stretch; }
.finance-card-title { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.finance-card-title h2, .finance-section-heading h2 { margin: 5px 0 0; font-size: 20px; letter-spacing: -.03em; }
.finance-card-title p:not(.eyebrow), .finance-section-heading p:not(.eyebrow) { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.finance-chart-legend { display: flex; gap: 13px; color: var(--muted); font-size: 9px; font-weight: 800; white-space: nowrap; }
.finance-chart-legend span { display: flex; align-items: center; gap: 5px; }
.finance-chart-legend i { width: 8px; height: 8px; border-radius: 2px; background: var(--finance-sales); }
.finance-chart-legend i.expenses { background: var(--finance-expenses); }
.finance-trend-card { min-height: 405px; overflow-x: auto; }
.finance-trend-card > .finance-card-title, .finance-bars, .finance-chart-empty { min-width: 680px; }
.finance-bars { height: 305px; display: grid; grid-template-columns: repeat(12, minmax(42px, 1fr)); gap: 5px; margin-top: 17px; padding-top: 13px; border-top: 1px solid var(--line); }
.finance-bar-month { min-width: 0; display: grid; grid-template-rows: 22px minmax(0, 1fr) 19px 18px; gap: 3px; border-radius: 8px; padding: 0 3px 4px; text-align: center; transition: background .16s ease; }
.finance-bar-month:hover, .finance-bar-month.current { background: var(--surface-soft); }
.finance-bar-month.current { box-shadow: inset 0 0 0 1px var(--line); }
.finance-bar-values { display: flex; justify-content: center; gap: 3px; opacity: 0; color: var(--muted); font-size: 7px; font-weight: 800; white-space: nowrap; transition: opacity .16s ease; }
.finance-bar-month:hover .finance-bar-values, .finance-bar-month:focus-visible .finance-bar-values, .finance-bar-month.current .finance-bar-values { opacity: 1; }
.finance-bar-plot { min-height: 0; position: relative; overflow: hidden; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top, transparent 0, transparent 24%, rgba(102,113,107,.11) 25%); }
.finance-bar-svg { width: 100%; height: 100%; display: block; overflow: visible; }
.finance-bar-svg rect { fill: var(--finance-sales); filter: drop-shadow(0 1px 0 rgba(255,255,255,.2)); transition: filter .16s ease; }
.finance-bar-svg rect.expenses { fill: var(--finance-expenses); }
.finance-bar-month:hover .finance-bar-svg rect { filter: saturate(1.12) brightness(1.05); }
.finance-bar-month > strong { align-self: end; color: var(--ink); font-size: 9px; }
.finance-bar-month > small { color: #3e6d37; font-size: 8px; font-weight: 850; }
.finance-bar-month > small.negative { color: var(--danger); }
.finance-chart-empty { min-height: 270px; display: grid; place-content: center; gap: 5px; color: var(--muted); text-align: center; }
.finance-chart-empty strong { color: var(--ink); font-size: 14px; }
.finance-chart-empty span { font-size: 10px; }
.finance-expense-card { min-height: 405px; }
.finance-expense-card .table-action { flex: 0 0 auto; font-size: 10px; }
.finance-donut-layout { min-height: 305px; display: grid; grid-template-columns: minmax(170px, .8fr) minmax(190px, 1fr); align-items: center; gap: 28px; padding-top: 15px; }
.finance-donut-layout.overview { grid-template-columns: 1fr; gap: 13px; }
.finance-donut { width: min(210px, 100%); aspect-ratio: 1; position: relative; display: grid; place-items: center; margin: auto; border-radius: 50%; background: var(--surface-soft); box-shadow: inset 0 0 0 1px rgba(21, 32, 27, .05); }
.finance-donut-chart { width: 100%; height: 100%; position: absolute; inset: 0; overflow: visible; }
.finance-donut-chart circle { stroke-width: 10; }
.finance-donut > div { width: 58%; aspect-ratio: 1; position: relative; z-index: 1; display: grid; place-content: center; border-radius: 50%; background: var(--panel); text-align: center; box-shadow: 0 0 0 1px var(--line); }
.finance-donut small { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.finance-donut strong { display: block; margin-top: 2px; font-size: 15px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.finance-donut-layout.overview .finance-donut { width: 145px; }
.finance-donut-layout.overview .finance-donut-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finance-donut-legend { display: grid; gap: 10px; }
.finance-donut-legend > div { min-width: 0; display: grid; grid-template-columns: 9px minmax(0, 1fr); align-items: start; gap: 8px; }
.finance-donut-legend i { width: 8px; height: 8px; margin-top: 2px; border-radius: 2px; }
.finance-donut-chart .finance-slice-0 { stroke: var(--finance-sales); }
.finance-donut-chart .finance-slice-1 { stroke: var(--accent); }
.finance-donut-chart .finance-slice-2 { stroke: var(--finance-expenses); }
.finance-donut-chart .finance-slice-3 { stroke: #7592a8; }
.finance-donut-chart .finance-slice-4 { stroke: #9a79c7; }
.finance-donut-chart .finance-slice-5 { stroke: #c8cfc9; }
.finance-donut-legend i.finance-slice-0 { background: var(--finance-sales); }
.finance-donut-legend i.finance-slice-1 { background: var(--accent); }
.finance-donut-legend i.finance-slice-2 { background: var(--finance-expenses); }
.finance-donut-legend i.finance-slice-3 { background: #7592a8; }
.finance-donut-legend i.finance-slice-4 { background: #9a79c7; }
.finance-donut-legend i.finance-slice-5 { background: #c8cfc9; }
.finance-donut-legend span, .finance-donut-legend strong, .finance-donut-legend small { min-width: 0; display: block; }
.finance-donut-legend strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.finance-donut-legend small { margin-top: 2px; color: var(--muted); font-size: 8px; font-variant-numeric: tabular-nums; }
.finance-history-section { margin-top: 28px; }
.finance-section-heading { margin-bottom: 13px; }
.finance-history-table table { min-width: 760px; }
.finance-history-table td { vertical-align: middle; }
.finance-month-link { display: grid; gap: 3px; }
.finance-month-link strong { font-size: 12px; }
.finance-month-link small { color: var(--muted); font-size: 9px; }
.finance-margin-pill { display: inline-flex; min-width: 54px; justify-content: center; border-radius: 999px; background: var(--surface-positive); padding: 5px 8px; color: #466526; font-size: 9px; font-weight: 850; }
.finance-margin-pill.negative { background: var(--surface-danger); color: var(--danger); }
.finance-detail-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); gap: 18px; align-items: stretch; }
.finance-result-card, .finance-detail-grid .finance-expense-card { min-height: 420px; }
.finance-result-flow { display: grid; margin-top: 18px; }
.finance-result-flow > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 13px 2px; }
.finance-result-flow span { color: var(--muted); font-size: 11px; }
.finance-result-flow strong { font-size: 13px; font-variant-numeric: tabular-nums; }
.finance-result-flow .deduction strong { color: var(--danger); }
.finance-result-flow .addition strong { color: #4c6d27; }
.finance-result-flow .subtotal { background: var(--surface-soft); padding-inline: 12px; }
.finance-result-flow .subtotal span, .finance-result-flow .subtotal strong { color: var(--ink); font-weight: 850; }
.finance-result-flow .total { margin-top: 3px; border: 0; border-radius: 10px; background: #15201b; padding: 16px 14px; color: #fff; }
.finance-result-flow .total span { color: #bdc8c2; }
.finance-result-flow .total strong { font-size: 20px; letter-spacing: -.035em; }
.finance-operation-card { margin-top: 18px; }
.finance-operation-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; margin-top: 19px; border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.finance-operation-grid > div { min-width: 0; display: grid; align-content: start; gap: 4px; padding: 15px; border-right: 1px solid var(--line); background: var(--surface-soft); }
.finance-operation-grid > div:last-child { border-right: 0; }
.finance-operation-grid span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.finance-operation-grid strong { overflow: hidden; font-size: 17px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.finance-operation-grid small { color: var(--muted); font-size: 8px; line-height: 1.35; }
.finance-reconciliation-table table { min-width: 1280px; }
.finance-reconciliation-table th, .finance-reconciliation-table td { vertical-align: top; }
.finance-reconciliation-table tbody th { min-width: 175px; text-align: left; }
.finance-reconciliation-table td.number { min-width: 205px; }
.finance-reconciliation-table .cell-note { max-width: 260px; white-space: normal; }
.finance-reconciliation-evidence { min-width: 180px; margin-top: 9px; }
.finance-reconciliation-evidence summary { width: max-content; cursor: pointer; color: var(--muted); font-size: 10px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.finance-reconciliation-evidence summary:focus-visible { border-radius: 3px; outline: 2px solid var(--ink); outline-offset: 3px; }
.finance-reconciliation-evidence dl { display: grid; gap: 7px; margin: 10px 0 0; }
.finance-reconciliation-evidence dl > div { min-width: 0; }
.finance-reconciliation-evidence dt { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.finance-reconciliation-evidence dd { margin: 2px 0 0; font-size: 10px; line-height: 1.4; }
.finance-reconciliation-evidence code { overflow-wrap: anywhere; white-space: normal; }
.finance-month-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.finance-month-navigation a { display: grid; gap: 4px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); padding: 13px 15px; }
.finance-month-navigation a:hover { border-color: #a8b2ab; background: var(--surface-hover); }
.finance-month-navigation a.next { text-align: right; }
.finance-month-navigation span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.finance-month-navigation strong { font-size: 11px; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }

@media (max-width: 1180px) {
    .finance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .finance-visual-grid, .finance-detail-grid { grid-template-columns: 1fr; }
    .finance-operation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .finance-operation-grid > div:nth-child(3) { border-right: 0; }
    .finance-operation-grid > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 700px) {
    .finance-projection-toggle { width: 100%; }
    .finance-projection-toggle a { padding: 0 8px; }
    .finance-currency-bar { align-items: stretch; flex-direction: column; }
    .finance-currency-bar small { white-space: normal; }
    .finance-currency-toggle { width: 100%; }
    .finance-kpi-grid { grid-template-columns: 1fr; }
    .finance-kpi-card { min-height: 128px; }
    .finance-card-title { flex-direction: column; }
    .finance-chart-legend { align-self: flex-start; }
    .finance-donut-layout, .finance-donut-layout.overview { grid-template-columns: 1fr; }
    .finance-donut-layout.overview .finance-donut-legend, .finance-donut-legend { grid-template-columns: 1fr; }
    .finance-operation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .finance-operation-grid > div, .finance-operation-grid > div:nth-child(3) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .finance-operation-grid > div:nth-child(2n) { border-right: 0; }
    .finance-operation-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
    .finance-month-navigation { grid-template-columns: 1fr; }
    .finance-month-navigation > span:empty { display: none; }
}
.financial-movement-editor { margin-bottom: 22px; }
.financial-movement-editor .form-actions { margin-top: 20px; }
.financial-impact-options { display: flex; align-items: stretch; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.financial-impact-options > label { min-width: 210px; flex: 1; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: 11px; font-weight: 800; }
.financial-impact-options > label input[type="date"], .financial-impact-options > label select { display: block; width: 100%; margin-top: 6px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 9px 10px; }
.financial-editor-warning { margin-top: 16px; }
.financial-movement-toolbar > label:not(.check-row) { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 800; }
.financial-movement-toolbar > label input { border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 9px 10px; }
.financial-void-filter { white-space: nowrap; }
.financial-movement-metrics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.financial-movement-table td { vertical-align: top; }
.financial-movement-description { display: block; margin-top: 7px; }
.financial-impact-list { display: grid; gap: 3px; color: var(--muted); white-space: nowrap; }
.financial-row-actions { display: flex; align-items: flex-start; gap: 9px; }
.danger-link { color: #9b2f22; }
.capitalize { text-transform: capitalize; }
.order-detail-metrics { margin-bottom: 20px; }
.sales-order-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sales-order-metrics > .metric-card:nth-child(4):nth-last-child(2) { grid-column: span 2; }
.sales-order-detail-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(290px, .6fr); gap: 18px; align-items: start; }
.sales-order-side { display: grid; gap: 18px; }
/* grid de una columna: evita que el ancho intrínseco de la tabla estire el layout; el scroll queda dentro de .table-card */
.sales-order-lines-card { display: grid; grid-template-columns: minmax(0, 1fr); margin-bottom: 18px; }
.sales-order-context-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 252px), 1fr)); gap: 18px; }
.sales-order-context-grid > .content-card { display: flex; flex-direction: column; }
.sales-order-context-grid h2 { font-size: 18px; }
.sales-order-context-grid .unread-button { margin-top: auto; }
.sales-order-context-grid .shipment-card > small { margin-top: 12px; }
.buyer-card h2, .shipment-card h2 { margin: 6px 0 14px; font-size: 20px; }
.buyer-card .table-link { display: block; margin: 8px 0; }
.unread-button { width: 100%; margin-top: 14px; }
.unread-result { display: block; margin-top: 8px; border-radius: 7px; background: #edf0ed; padding: 8px; color: var(--muted); font-size: 10px; text-align: center; }
.unread-result.has-unread { background: #fff0cf; color: #83550c; font-weight: 800; }
.shipment-card dl { display: grid; gap: 9px; margin: 15px 0; }
.shipment-card dl div { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding-top: 9px; }
.shipment-card dt { color: var(--muted); font-size: 10px; }
.shipment-card dd { margin: 0; text-align: right; font-size: 11px; font-weight: 750; }
.shipment-card > small { color: var(--muted); line-height: 1.45; }
.payment-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 11px 0; }
.payment-row strong, .payment-row small { display: block; }
.payment-row small { color: var(--muted); margin-top: 2px; font-size: 9px; }
.payment-row b { font-size: 11px; }
.order-actions { display: grid; gap: 14px; margin-top: 30px; }
.order-actions:not(:has(.action-card)) { display: none; }
.order-actions-heading h2 { margin: 5px 0 0; font-size: 22px; letter-spacing: -.03em; }
.action-card { display: grid; gap: 18px; }
.action-card-intro h2 { margin: 5px 0 6px; font-size: 18px; letter-spacing: -.02em; }
.action-card-intro p:not(.eyebrow) { margin: 0; max-width: 840px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.action-card-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 15px 16px; }
.action-card-fields .form-field.span-three { grid-column: span 3; }
.action-card select, .action-card input { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 9px; background: var(--control); padding: 11px 12px; color: var(--ink); font: inherit; font-size: 13px; font-weight: 600; outline: none; }
.action-card select:focus, .action-card input:focus { border-color: #8ea62f; box-shadow: 0 0 0 3px var(--focus-ring); }
.action-card-footer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; border-top: 1px solid var(--line); padding-top: 17px; }
.action-card-footer:not(:has(*)) { display: none; }
.action-card-footer + .action-card-footer { border-top: 0; padding-top: 0; }
.action-card-footer .button { width: auto; min-width: 190px; }
.action-card-note { margin: 0 auto 0 0; max-width: 620px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.action-card-summary { margin-right: auto; display: flex; align-items: baseline; gap: 9px; }
.action-card-summary span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.action-card-summary strong { font-size: 21px; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.action-card.is-danger { border-color: #e3b5ae; }
.action-card.is-payment { border-color: #cbd69d; }
.credit-note-form { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 14px 16px; border-top: 1px solid var(--line); padding-top: 16px; }
.credit-note-form > p, .credit-note-form > .validation-summary, .credit-note-form > .editor-actions { grid-column: 1 / -1; margin: 0; }
.credit-note-form .readonly-field strong { font-size: 18px; }
.purchase-lines-empty { border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); padding: 28px; text-align: center; }
.embedded-table { margin-top: 18px; border-radius: 10px; }
.embedded-table input { width: 105px; border: 1px solid var(--line); border-radius: 7px; padding: 7px; text-align: right; }
.danger-link { color: var(--danger); background: transparent; border: 0; cursor: pointer; }
.purchase-detail-sidebar { display: grid; gap: 18px; }
.purchase-status-card dl { display: grid; gap: 10px; margin: 20px 0; }
.purchase-status-card dl div { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 10px; }
.purchase-status-card dt { color: var(--muted); font-size: 11px; }
.purchase-status-card dd { margin: 0; font-size: 12px; font-weight: 800; }
.purchase-status-actions { display: grid; gap: 10px; }
.purchase-status-actions small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.danger-button { width: 100%; border: 1px solid #dca59e; background: #fff6f5; color: var(--danger); }
.purchase-notes { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 15px; }
.purchase-notes span { color: var(--muted); font-size: 10px; font-weight: 800; }
.purchase-notes p { margin: 5px 0 0; line-height: 1.5; }
.purchase-receipt-card { margin-top: 18px; }
.receipt-all-pending { display: flex; align-items: flex-start; gap: 10px; width: fit-content; margin-top: 14px; cursor: pointer; }
.receipt-all-pending input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--accent); }
.receipt-all-pending span { display: grid; gap: 2px; }
.receipt-all-pending small { color: var(--muted); }
.receipt-quantity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 18px 0; }
.receipt-quantity-grid label { display: grid; grid-template-columns: 1fr auto; gap: 5px; border: 1px solid var(--line); border-radius: 10px; padding: 12px; }
.receipt-quantity-grid label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 750; }
.receipt-quantity-grid small { color: var(--muted); font-size: 9px; }
.receipt-quantity-grid input { grid-column: 1 / -1; width: 100%; border: 1px solid var(--line); border-radius: 7px; padding: 8px; }
.receipt-note textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 10px; }
.receipt-actions { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 16px; }
.receipt-actions small { color: var(--muted); }
.article-autocomplete { position: relative; min-width: 260px; }
.article-autocomplete .form-field { margin: 0; }
.article-autocomplete-options { position: absolute; z-index: 30; top: calc(100% - 2px); left: 0; right: 0; max-height: 320px; overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); box-shadow: 0 16px 40px rgb(0 0 0 / 18%); }
.article-autocomplete-option { display: flex; align-items: center; width: 100%; gap: 8px; padding: 5px 7px; border: 0; border-radius: 7px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.article-autocomplete-option-copy { display: grid; min-width: 0; gap: 2px; }
.article-autocomplete-option:hover, .article-autocomplete-option.active { background: var(--surface-hover); outline: 2px solid transparent; }
.article-autocomplete-option:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.article-autocomplete-option small, .article-autocomplete-status, .article-autocomplete-help { color: var(--muted); }
.article-autocomplete-status { padding: 10px; }
.article-autocomplete-help { display: block; margin-top: 5px; }

.product-thumbnail {
    align-items: center;
    background: linear-gradient(145deg, var(--surface-soft), var(--surface-muted));
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--muted);
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    overflow: hidden;
}

.product-thumbnail--small {
    border-radius: 6px;
    height: 24px;
    width: 24px;
}

.product-thumbnail--medium {
    border-radius: 8px;
    height: 32px;
    width: 32px;
}

.product-thumbnail--large {
    border-radius: 11px;
    height: 52px;
    width: 52px;
}

.product-thumbnail img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.product-thumbnail svg {
    fill: none;
    height: 48%;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.4;
    width: 48%;
}

.product-cell { align-items: center; display: flex; gap: 8px; min-width: 190px; }
.product-cell > span:not(.product-thumbnail) { display: grid; min-width: 0; }
.product-cell strong { overflow-wrap: anywhere; }
.receipt-product { align-items: center; display: flex; gap: 8px; }
.selected-product-identity { align-items: center; display: flex; gap: 14px; margin: 16px 0; }
.selected-product-identity > span:not(.product-thumbnail) { display: grid; gap: 3px; }
.selected-product-identity small { color: var(--muted); }
.selected-product-identity.compact { margin: 8px 0 0; }
.offer-product-context { align-items: center; display: flex !important; gap: 10px; }
.offer-product-context > span:not(.product-thumbnail) { display: grid; min-width: 0; }
.sku-heading-identity { align-items: flex-start; display: flex; gap: 16px; }
.sku-heading-identity > div { min-width: 0; }

.connection-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); gap: 18px; max-width: 1050px; }
.connection-card h2 { margin: 8px 0; font-size: 28px; letter-spacing: -.04em; }
.connection-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.6; max-width: 670px; }
.connection-card label { display: block; font-size: 11px; font-weight: 800; margin: 24px 0 7px; }
.connection-card select { min-width: 240px; margin-right: 8px; }
.safety-card { display: flex; gap: 14px; align-items: start; background: #f5f9e7; }
.safety-icon { flex: 0 0 auto; width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--on-accent); font-weight: 900; }
.safety-card strong { display: block; margin: 3px 0 5px; }
.safety-card p { color: var(--muted); font-size: 12px; line-height: 1.55; margin: 0; }
.account-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 13px; margin-bottom: 18px; }
.account-card { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; background: #fff; border: 1px solid var(--line); border-radius: 13px; padding: 15px 17px; }
.account-logo { width: 42px; height: 42px; display: grid; place-items: center; background: #ffe600; border-radius: 10px; color: #253c78; font-size: 11px; font-weight: 900; }
.account-card span:not(.tag), .account-card strong, .account-card small { display: block; }
.account-card > div:nth-child(2) span { color: var(--muted); font-size: 10px; }
.account-card > div:nth-child(2) strong { font-size: 14px; margin: 2px 0; }
.account-card small { color: var(--muted); font-size: 9px; }
.account-state { text-align: right; }
.account-state small { margin-top: 5px; }
.sync-health-heading > div:first-child { max-width: 850px; }
.sync-health-empty { max-width: 720px; }
.sync-health-rollup { margin-top: 4px; }
.sync-health-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: -8px 0 22px; color: var(--muted); font-size: 10px; }
.sync-dead-letter-card { margin-bottom: 18px; border-color: color-mix(in srgb, var(--danger) 35%, var(--line)); }
.sync-dead-letter-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.sync-dead-letter-heading h2 { margin: 5px 0 6px; font-size: 21px; }
.sync-dead-letter-heading p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.5; }
.sync-failure-list { display: grid; margin-top: 18px; border-top: 1px solid var(--line); }
.sync-failure-row { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.4fr) auto; align-items: center; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.sync-failure-row:last-child { border-bottom: 0; padding-bottom: 0; }
.sync-failure-identity, .sync-failure-meta { min-width: 0; display: grid; gap: 4px; }
.sync-failure-identity code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sync-failure-meta { color: var(--muted); font-size: 10px; }
.sync-failure-meta small { overflow-wrap: anywhere; color: var(--danger); }
.sync-account-list { display: grid; gap: 18px; }
.sync-account-card { padding: 0; border-left: 4px solid var(--line); }
.sync-account-card.sync-state-healthy { border-left-color: #7f9d2e; }
.sync-account-card.sync-state-warning { border-left-color: var(--warning); }
.sync-account-card.sync-state-danger { border-left-color: var(--danger); }
.sync-account-header { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 20px 22px; }
.sync-account-header h2 { margin: 2px 0; font-size: 22px; letter-spacing: -.03em; }
.sync-account-header small { color: var(--muted); }
.marketplace-account-badges { display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.sync-timeline-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); background: var(--surface-soft); }
.sync-timeline-grid > div { min-width: 0; padding: 13px 18px; border-right: 1px solid var(--line); }
.sync-timeline-grid > div:nth-child(3n) { border-right: 0; }
.sync-timeline-grid > div:nth-child(n + 4) { border-top: 1px solid var(--line); }
.sync-timeline-grid span, .sync-timeline-grid strong, .sync-timeline-grid small { display: block; }
.sync-timeline-grid span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.sync-timeline-grid strong { margin-top: 4px; font-size: 13px; font-variant-numeric: tabular-nums; }
.sync-timeline-grid small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.sync-health-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sync-health-panel { min-width: 0; padding: 22px; }
.sync-health-panel + .sync-health-panel { border-left: 1px solid var(--line); }
.sync-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.sync-panel-heading h3 { margin: 4px 0 0; font-size: 18px; }
.sync-panel-heading > strong { font-size: 27px; font-variant-numeric: tabular-nums; }
.coverage-row { display: grid; gap: 7px; padding: 12px 0; border-top: 1px solid var(--line); }
.coverage-row > div { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; }
.coverage-row > div span { color: var(--muted); }
.coverage-row > div strong { font-variant-numeric: tabular-nums; }
.coverage-row > small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.coverage-row.coverage-danger > div strong { color: var(--danger); }
.coverage-progress { width: 100%; height: 7px; overflow: hidden; border: 0; border-radius: 999px; background: var(--surface-muted); color: var(--accent-dark); appearance: none; }
.coverage-progress::-webkit-progress-bar { border-radius: 999px; background: var(--surface-muted); }
.coverage-progress::-webkit-progress-value { border-radius: 999px; background: var(--accent-dark); }
.coverage-progress::-moz-progress-bar { border-radius: 999px; background: var(--accent-dark); }
.coverage-danger .coverage-progress { color: var(--danger); }
.coverage-danger .coverage-progress::-webkit-progress-value { background: var(--danger); }
.coverage-danger .coverage-progress::-moz-progress-bar { background: var(--danger); }
.sync-panel-footnote { margin: 12px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.sync-panel-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; }
.sync-panel-actions small { color: var(--muted); font-size: 9px; text-align: right; }
.notification-status-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.notification-status-grid > div { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.notification-status-grid span, .notification-status-grid strong { display: block; }
.notification-status-grid span { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.notification-status-grid strong { margin-top: 4px; font-size: 18px; font-variant-numeric: tabular-nums; }
.notification-status-grid .status-failed { border-color: color-mix(in srgb, var(--danger) 35%, var(--line)); background: var(--surface-danger); }
.sync-issue-callout { display: grid; gap: 3px; margin-top: 10px; padding: 11px 12px; border-left: 3px solid var(--warning); border-radius: 7px; background: var(--surface-warning); font-size: 10px; }
.sync-issue-callout span { color: var(--muted); }
.sync-issue-callout.danger-callout { border-left-color: var(--danger); background: var(--surface-danger); }
.listing-toolbar { justify-content: flex-start; }
.listing-toolbar span { margin-left: auto; }
.listing-product { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 10px; min-width: 270px; }
.listing-product img { width: 42px; height: 42px; object-fit: contain; border-radius: 6px; border: 1px solid var(--line); background: #fff; }
.listing-thumbnail-placeholder { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-muted); color: var(--muted); font-size: 9px; font-weight: 900; }
.listing-product strong, .listing-product small { display: block; }
.listing-product strong { max-width: 390px; }
.listing-product small { color: var(--muted); font-size: 9px; margin-top: 4px; }
.listings-table td { padding-top: 10px; padding-bottom: 10px; }
.units-per-sale-editor { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.units-per-sale-editor input { width: 72px; text-align: right; }
.units-per-sale-actions { display: inline-flex; align-items: center; gap: 8px; }
.units-per-sale-actions .button.primary { padding: 6px 12px; min-height: 0; font-size: 13px; }
/* Kits: publicaciones que entregan varios artículos del depósito en cada venta. */
.tag.kit-tag { background: #e4e8fb; color: #33408c; }
.kit-summary { display: block; max-width: 320px; white-space: normal; line-height: 1.45; }
.kit-summary .tag { margin-right: 4px; padding: 2px 7px; }
/* El editor va en una fila de la tabla: queda pegado al borde izquierdo aunque la tabla
   scrollee de costado, y con el ancho visible en un teléfono. */
.kit-editor-row > td { padding: 0; background: var(--surface-soft); }
.kit-editor { position: sticky; left: 0; display: grid; gap: 12px; width: min(760px, calc(100vw - 48px)); padding: 16px; }
.kit-editor-heading h3 { margin: 4px 0 6px; font-size: 15px; }
.kit-editor-heading small, .kit-editor-empty { display: block; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.kit-editor-primary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; }
.kit-editor-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
/* En una línea si entra; en un teléfono la cantidad y «Quitar» bajan debajo del nombre. */
.kit-editor-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); padding: 8px 10px; }
.kit-editor-list li .kit-editor-name { flex: 1 1 180px; }
.kit-editor-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.kit-editor-quantity { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; }
.kit-editor-quantity input { width: 72px; border: 1px solid var(--line); border-radius: 8px; background: var(--control); color: var(--ink); padding: 7px 8px; text-align: right; }
.kit-editor-add { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; gap: 10px; }
/* Dentro de la tabla el desplegable no puede flotar: el scroll lateral lo recortaría. */
.kit-editor .article-autocomplete-options { position: static; max-height: 240px; margin-top: 6px; box-shadow: none; }
.kit-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.kit-component-row td { background: var(--surface-soft); }
.kit-component-name { color: var(--muted); font-size: 12px; }
.kit-component-row small.muted { display: block; }
.listings-table td > .button.link-button { white-space: nowrap; }
@media (max-width: 760px) {
    .kit-editor-add { grid-template-columns: minmax(0, 1fr) auto; }
    .kit-editor-add .article-autocomplete { grid-column: 1 / -1; min-width: 0; }
}
.sales-period { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 11px; margin: -10px 0 13px; }
.sales-period span { color: var(--ink); font-weight: 800; }
.sales-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.status-counter { border: 1px solid var(--line); background: #fff; border-radius: 11px; min-height: 61px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; color: var(--ink); cursor: pointer; }
.status-counter:hover, .status-counter.selected { border-color: #a8bf49; box-shadow: 0 0 0 3px rgba(216,255,66,.22); }
.status-counter span { color: var(--muted); font-size: 11px; font-weight: 700; }
.status-counter strong { white-space: nowrap; font-size: 20px; font-variant-numeric: tabular-nums; }
.status-counter.danger-counter { border-color: #dc958b; box-shadow: 0 0 0 3px rgba(191,61,45,.08); }
.sales-toolbar { justify-content: flex-start; }
.sales-toolbar span { margin-left: auto; }
.label-batch-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 13px; padding: 14px 16px; border: 1px solid #c7e93e; border-radius: 12px; background: var(--accent); color: var(--on-accent); }
.label-batch-toolbar > div { display: grid; gap: 3px; }
.label-batch-toolbar strong { color: inherit; font-size: 13px; }
.label-batch-toolbar small { color: #46541d; font-size: 10px; }
.label-batch-toolbar .button[aria-disabled="true"] { opacity: .38; cursor: not-allowed; }
.label-selection-cell { width: 44px; min-width: 44px; text-align: center; }
.label-selection-cell input { width: 17px; height: 17px; margin: 0; accent-color: var(--ink); cursor: pointer; }
.label-selection-cell input:disabled { cursor: not-allowed; opacity: .38; }
.order-identity strong, .order-identity small, .cell-note, .refund-note { display: block; }
.order-identity small, .cell-note { color: var(--muted); font-size: 9px; margin-top: 3px; }
.product-summary { display: block; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.refund-note { color: var(--danger); margin-top: 3px; font-size: 9px; font-weight: 800; }
.sales-table td { padding-top: 8px; padding-bottom: 8px; }

#blazor-error-ui { display: none; position: fixed; right: 18px; bottom: 18px; left: 18px; z-index: 1100; border: 1px solid #d98f84; border-radius: 12px; background: var(--surface-danger); color: var(--ink); padding: 16px 18px; box-shadow: 0 18px 52px var(--shadow); }
#blazor-error-ui strong { margin-right: 8px; }
#blazor-error-ui span { color: var(--muted); }
#blazor-error-ui a { margin-left: 12px; color: var(--danger); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.page-error-state { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); padding: 36px 24px; }
.page-error-actions { display: flex; justify-content: center; gap: 10px; margin-top: 4px; }

.components-reconnect-first-attempt-visible,
.components-reconnect-repeated-attempt-visible,
.components-reconnect-failed-visible,
.components-pause-visible,
.components-resume-failed-visible,
.components-rejoining-animation { display: none; }
#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible,
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation,
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible,
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation,
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible,
#components-reconnect-modal.components-reconnect-paused .components-pause-visible,
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible { display: block; }
#components-reconnect-modal.components-reconnect-failed .components-reconnect-actions.components-reconnect-failed-visible,
#components-reconnect-modal.components-reconnect-paused .components-reconnect-actions.components-pause-visible,
#components-reconnect-modal.components-reconnect-resume-failed .components-reconnect-actions.components-resume-failed-visible { display: flex; }
#components-reconnect-modal { width: min(420px, calc(100% - 32px)); margin: 20vh auto; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); color: var(--ink); padding: 26px; opacity: 0; box-shadow: 0 22px 64px var(--shadow); transition: display .25s allow-discrete, overlay .25s allow-discrete; animation: reconnect-fade-out .25s both; }
#components-reconnect-modal[open] { animation: reconnect-slide-in .45s cubic-bezier(.2,.8,.2,1), reconnect-fade-in .2s ease-out; animation-fill-mode: both; }
#components-reconnect-modal::backdrop { background: var(--overlay); animation: reconnect-fade-in .2s ease-out; }
.components-reconnect-container { display: flex; flex-direction: column; align-items: center; gap: 14px; }
#components-reconnect-modal p { margin: 0; color: var(--muted); text-align: center; line-height: 1.55; }
.components-reconnect-actions { align-items: center; justify-content: center; gap: 9px; }
.components-rejoining-animation { position: relative; width: 64px; height: 64px; }
.components-rejoining-animation div { position: absolute; border: 3px solid var(--accent-dark); border-radius: 50%; opacity: 1; animation: reconnect-pulse 1.4s cubic-bezier(0,.2,.8,1) infinite; }
.components-rejoining-animation div:nth-child(2) { animation-delay: -.48s; }
@keyframes reconnect-slide-in { from { transform: translateY(24px) scale(.96); } to { transform: translateY(0) scale(1); } }
@keyframes reconnect-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes reconnect-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes reconnect-pulse { 0%, 5% { inset: 32px; opacity: 0; } 6% { opacity: 1; } 100% { inset: 0; opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    #components-reconnect-modal,
    #components-reconnect-modal[open],
    #components-reconnect-modal::backdrop,
    .components-rejoining-animation div { animation-duration: .01ms; animation-iteration-count: 1; transition: none; }
}

@media (max-width: 1050px) {
    .shell { grid-template-columns: 212px minmax(0, 1fr); }
    .sidebar { padding-inline: 18px; }
    .topbar { padding-block: 10px; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .import-grid { grid-template-columns: 1fr; }
    .connection-grid { grid-template-columns: 1fr; }
    .catalog-editor-grid { grid-template-columns: 1fr; }
    .sales-status-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-form-grid { grid-template-columns: 1fr; }
    .contact-form-section.span-two { grid-column: auto; }
    .inventory-operation-grid { grid-template-columns: 1fr; }
    .purchase-editor-grid, .purchase-detail-grid { grid-template-columns: minmax(0, 1fr); }
    .purchase-sku-picker { grid-template-columns: 1fr 1fr; }
    .purchase-sku-picker select { grid-column: 1 / -1; }
    .wholesale-line-composer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .wholesale-net-preview { border-left: 0; padding-left: 0; }
    .automation-rules-grid { grid-template-columns: 1fr; }
    .sales-order-detail-grid { grid-template-columns: 1fr; }
    .credit-note-form { grid-template-columns: 1fr 1fr; }
    .sales-order-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sales-order-metrics > .metric-card:nth-child(4):nth-last-child(2) { grid-column: auto; }
    .sales-order-metrics > .metric-card:nth-child(5):last-child { grid-column: span 2; }
    .action-card-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .action-card-fields .form-field.span-three { grid-column: span 2; }
    .sync-health-detail-grid { grid-template-columns: 1fr; }
    .sync-health-panel + .sync-health-panel { border-left: 0; border-top: 1px solid var(--line); }
    .notification-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .shell { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); }
    .sidebar { position: static; height: auto; overflow: visible; padding-block: 20px; }
    .brand { padding-bottom: 18px; }
    .mobile-navigation-toggle { width: 100%; border: 1px solid #34433b; display: flex; align-items: center; justify-content: space-between; min-height: 43px; padding: 0 13px; border-radius: 9px; background: var(--sidebar-hover); color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
    .mobile-navigation-toggle:focus-visible { outline: 3px solid rgba(216, 255, 66, .42); outline-offset: 2px; }
    .mobile-navigation-toggle span:last-child { color: #8e9a92; font-size: 10px; }
    .navigation { display: none; overflow: visible; padding: 8px 0 0; }
    .navigation.mobile-open { display: flex; }
    .sidebar-bottom { display: none; }
    .topbar { height: auto; min-height: 68px; align-items: flex-start; gap: 9px; flex-wrap: wrap; padding: 12px 18px; }
    .topbar > div:first-child { width: 100%; }
    .topbar-actions { width: 100%; gap: 8px; flex-wrap: wrap; }
    .exchange-rate-context { flex: 1 1 150px; }
    .exchange-rate-context summary { justify-content: center; }
    .exchange-rate-popover { right: auto; left: 0; }
    .business-unit-switcher label, .status-pill { display: none; }
    .business-unit-switcher { min-width: 0; flex: 1 1 220px; }
    .business-unit-switcher select { min-width: 0; max-width: none; flex: 1; }
    .account-link { margin-left: auto; }
    .page-container { padding: 28px 18px 50px; }
    .page-heading { width: 100%; align-items: start; flex-direction: column; }
    .page-heading h1 { overflow-wrap: anywhere; }
    .sync-account-header { grid-template-columns: 42px minmax(0, 1fr); }
    .marketplace-account-badges { grid-column: 1 / -1; justify-content: flex-start; }
    .sync-timeline-grid { grid-template-columns: 1fr 1fr; }
    .sync-timeline-grid > div:nth-child(3n) { border-right: 1px solid var(--line); }
    .sync-timeline-grid > div:nth-child(2n) { border-right: 0; }
    .sync-timeline-grid > div:nth-child(n + 3) { border-top: 1px solid var(--line); }
    .sync-failure-row { grid-template-columns: 1fr; }
    .sync-failure-row .button { justify-self: start; }
    .sync-dead-letter-heading, .sync-panel-actions { align-items: flex-start; flex-direction: column; }
    .sync-panel-actions small { text-align: left; }
    .notification-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inventory-movements-heading, .inventory-balance-heading { align-items: start; flex-direction: column; }
    .form-grid.two { grid-template-columns: 1fr; }
    .form-field.span-two { grid-column: auto; }
    .offer-context-summary { grid-template-columns: 1fr; }
    .table-actions { align-items: flex-start; flex-direction: column; }
    .metric-grid, .metric-grid.three, .inventory-metric-grid { grid-template-columns: 1fr; }
    .connection-card select { width: 100%; margin: 0 0 9px; }
    .contact-import-card, .contacts-toolbar { align-items: stretch; flex-direction: column; }
    .catalog-toolbar { align-items: stretch; flex-direction: column; }
    .catalog-search-group { flex-basis: auto; max-width: none; width: 100%; }
    .toolbar-search { width: 100%; flex-basis: auto; }
    .catalog-result-count { margin-left: 0; }
    .contact-import-action { min-width: 0; }
    .contacts-toolbar input { min-width: 0; width: 100%; }
    .contacts-toolbar span { margin-left: 0; }
    .form-grid.two, .form-grid.three { grid-template-columns: 1fr; }
    .form-grid .span-two-fields { grid-column: auto; }
    .pagination { align-items: stretch; flex-direction: column; }
    .pagination-controls { flex-wrap: wrap; }
    .pagination-controls label { width: 100%; }
    table { min-width: 760px; }
    .purchase-sku-picker { grid-template-columns: 1fr; }
    .purchase-sku-picker select { grid-column: auto; }
    .wholesale-product-picker { max-width: none; }
    .wholesale-line-composer { grid-template-columns: minmax(0, 1fr); }
    .wholesale-product-picker .button, .wholesale-line-composer > .button { width: 100%; }
    .wholesale-net-preview { border-top: 1px solid var(--line); padding-top: 12px; }
    .receipt-actions { align-items: stretch; flex-direction: column; }
    .credit-note-form { grid-template-columns: 1fr; }
    .sales-order-metrics { grid-template-columns: minmax(0, 1fr); }
    .sales-order-metrics > .metric-card:nth-child(5):last-child { grid-column: auto; }
    .action-card-fields { grid-template-columns: minmax(0, 1fr); }
    .action-card-fields .form-field.span-three { grid-column: auto; }
    .action-card-footer { align-items: stretch; flex-direction: column; }
    .action-card-footer .button { width: 100%; }
    .action-card-summary { margin-right: 0; }
    .filter-panel { width: 100vw; }
    .filter-panel-header, .filter-panel-body, .filter-panel-footer { padding-left: 18px; padding-right: 18px; }
    .active-filters-label { width: 100%; }
    .active-filters-clear { margin-left: 0; }
}

/* Authentication and organization access */
.auth-shell { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(circle at top left, #f3f7df, transparent 38%), #f5f6f2; padding: 32px 18px; }
.auth-card { width: min(100%, 460px); border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(23, 31, 25, .1); padding: 34px; }
.wide-auth-card { width: min(100%, 620px); }
.auth-brand { display: inline-block; margin-bottom: 32px; color: var(--ink); text-decoration: none; }
.auth-brand-logo { display: block; width: 210px; max-width: 100%; height: auto; }
.auth-brand .dark-logo { display: none; }
:root[data-theme="dark"] .auth-brand .light-logo { display: none; }
:root[data-theme="dark"] .auth-brand .dark-logo { display: block; }
.auth-card h1 { margin: 6px 0 9px; font-size: 30px; letter-spacing: -.04em; }
.auth-card > p:not(.eyebrow) { color: var(--muted); font-size: 11px; line-height: 1.6; }
.auth-form { display: grid; gap: 15px; margin: 24px 0 18px; }
.auth-form label:not(.check-row) { display: grid; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.auth-form label small { letter-spacing: 0; line-height: 1.5; text-transform: none; }
.auth-form input:not([type="checkbox"]) { width: 100%; border: 1px solid var(--line); border-radius: 9px; background: #fbfcf9; padding: 12px 13px; color: var(--ink); font: inherit; }
.auth-submit { width: 100%; justify-content: center; }
.subtle-panel { border: 1px solid var(--line); border-radius: 9px; background: #f7f8f4; padding: 12px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.security-action-panel { margin: 12px 0; }
.security-action-panel summary { cursor: pointer; color: var(--ink); font-size: 11px; font-weight: 800; }
.security-action-panel > p { margin: 10px 0 0; }
.compact-security-form { margin: 14px 0 0; }
.danger-security-panel { border-color: color-mix(in srgb, var(--danger) 35%, var(--line)); }
.security-steps { display: grid; gap: 12px; margin: 22px 0; padding-left: 22px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.authenticator-key { display: block; overflow-wrap: anywhere; margin-top: 8px; border: 1px dashed #b7c27b; border-radius: 8px; background: #f5f8e8; padding: 11px; color: var(--ink); font-size: 14px; letter-spacing: .08em; }
.authenticator-qr-frame { display: flex; justify-content: center; margin: 20px 0; }
.authenticator-qr { display: block; width: min(264px, 100%); height: auto; border: 12px solid #fff; border-radius: 12px; background: #fff; }
.recovery-code-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin: 22px 0; padding: 0; list-style: none; }
.recovery-code-list li { border: 1px solid var(--line); border-radius: 7px; background: #f7f8f4; padding: 8px; text-align: center; }
.account-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); text-decoration: none; }
.account-name { max-width: 130px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.logout-form { margin: 0; }
.user-admin-layout { display: grid; grid-template-columns: minmax(0, 1fr) 315px; gap: 20px; align-items: start; }
.user-admin-main { display: grid; gap: 24px; }
.user-admin-side { position: sticky; top: 88px; display: grid; gap: 14px; }
.user-admin-side .content-card { padding: 18px; }
.invitation-result-card { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr); gap: 22px; align-items: center; margin-bottom: 20px; padding: 20px; border-left: 4px solid #a9c546; }
.invitation-result-card h2 { margin: 5px 0 6px; font-size: 16px; }
.invitation-result-card p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 10px; }
.invitation-link-row { display: flex; gap: 8px; }
.invitation-link-row input { min-width: 0; flex: 1; border: 1px solid var(--line); border-radius: 8px; background: #f8f9f5; padding: 10px; color: var(--muted); font-size: 9px; }
.user-list-section { display: grid; gap: 12px; }
.user-access-card { padding: 19px; }
.user-access-heading { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); margin-bottom: 17px; padding-bottom: 15px; }
.user-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: var(--ink); color: #fff; font-size: 11px; font-weight: 900; }
.user-access-heading h3 { margin: 0; font-size: 14px; }
.user-access-heading p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.unit-scope-editor { margin-top: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fafbf8; padding: 12px; }
.unit-scope-options { display: flex; flex-wrap: wrap; gap: 8px 17px; border-top: 1px solid var(--line); margin-top: 10px; padding-top: 10px; }
.unit-scope-options label { color: var(--muted); font-size: 9px; }
.user-access-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; }
.user-access-footer small { color: var(--muted); font-size: 9px; }
.pending-invitation,
.audit-row { display: grid; gap: 3px; border-top: 1px solid var(--line); padding: 12px 0; }
.pending-invitation:first-of-type,
.audit-row:first-of-type { margin-top: 9px; }
.pending-invitation strong,
.audit-row strong { font-size: 10px; }
.pending-invitation span,
.audit-row span { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; }
.pending-invitation small,
.audit-row small { color: #929a94; font-size: 8px; }
.pending-invitation button { justify-self: start; margin-top: 3px; }

@media (max-width: 1000px) {
    .user-admin-layout { grid-template-columns: 1fr; }
    .user-admin-side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .invitation-result-card { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .auth-card { padding: 24px; }
    .account-name { display: none; }
    .user-admin-side { grid-template-columns: 1fr; }
    .user-access-heading { grid-template-columns: 42px minmax(0, 1fr); }
    .user-access-heading > .tag { grid-column: 2; justify-self: start; }
    .user-access-footer,
    .invitation-link-row { align-items: stretch; flex-direction: column; }
    .recovery-code-list { grid-template-columns: 1fr; }
}
.profit-breakdown {
    display: block;
    color: var(--muted);
    line-height: 1.55;
    white-space: nowrap;
}

.profitability-table td {
    vertical-align: top;
}

.dashboard-action-list,
.dashboard-quick-links {
    display: grid;
    gap: .55rem;
}

.dashboard-action-list a,
.dashboard-quick-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 0;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--line);
}

.dashboard-action-list a:last-child,
.dashboard-quick-links a:last-child {
    border-bottom: 0;
}

.dashboard-action-list a:hover strong,
.dashboard-quick-links a:hover {
    color: var(--accent-dark);
}

.dashboard-action-list a > span:not(.product-thumbnail),
.dashboard-action-list small {
    display: block;
}
.dashboard-action-list a > span:not(.product-thumbnail) { flex: 1 1 auto; min-width: 0; }

.dashboard-action-list b {
    flex: 0 0 auto;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.add-marketplace-account {
    margin-bottom: 20px;
}

.add-marketplace-account summary {
    cursor: pointer;
    font-weight: 800;
}

.add-account-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin-top: 18px;
}

.add-account-grid label,
.add-account-grid small {
    display: block;
}

.add-account-grid label {
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 750;
}

.add-account-grid input,
.add-account-grid select {
    width: 100%;
}

.add-account-grid small {
    margin-top: 5px;
    color: var(--muted);
}

.add-account-actions {
    display: flex;
    gap: 8px;
}

.first-account-actions {
    margin-top: 16px;
    flex-wrap: wrap;
}

@media (max-width: 1000px) {
    .add-account-grid { grid-template-columns: 1fr; }
    .add-account-actions { flex-wrap: wrap; }
}

.dashboard-action-list small {
    margin-top: .22rem;
    color: var(--muted);
}

.supplier-detail-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 18px; margin-bottom: 24px; }
.supplier-summary-card .detail-list { margin-top: 18px; }
.supplier-notes { border-top: 1px solid var(--line); margin: 18px 0 0; padding-top: 16px; color: var(--muted); line-height: 1.55; }
.supplier-products-toolbar { margin-top: 26px; }
.positive-number { color: #537416; font-weight: 800; }
.supplier-import-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr); gap: 18px; margin-bottom: 22px; }
.supplier-template-card h2 { margin: 6px 0 10px; }
.supplier-template-card p { color: var(--muted); line-height: 1.6; }
.supplier-template-card small { display: block; border-top: 1px solid var(--line); padding-top: 13px; color: var(--muted); }
.supplier-template-download { margin-top: 16px; }
.supplier-import-actions { justify-content: space-between; margin: 0 0 14px; }

/* Inventory matrix, physical warehouses and Mercado Libre Full batches */
.stock-metric-grid, .stock-sku-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 11px; margin-bottom: 20px; }
.stock-metric-grid .metric-card, .stock-sku-summary .metric-card { min-height: 116px; padding: 16px; }
.stock-metric-grid .metric-card strong, .stock-sku-summary .metric-card strong { font-size: 28px; }
.stock-matrix-toolbar { justify-content: flex-start; }
.stock-matrix-toolbar input { flex: 1; }
.stock-matrix-toolbar > span { margin-left: auto; }
.stock-matrix-legend { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 12px; color: var(--muted); font-size: 10px; }
.stock-matrix-legend span { display: inline-flex; align-items: center; gap: 5px; }
.stock-matrix-legend i { width: 8px; height: 8px; border-radius: 50%; }
.stock-matrix-legend i.available { background: var(--accent-dark); }
.stock-matrix-legend i.reserved { background: #d9a23b; }
.stock-matrix-legend i.full { background: #849f39; }
.stock-matrix-card { overflow-x: auto; }
.stock-matrix-table { min-width: 1000px; }
.stock-matrix-table .sticky-product { position: sticky; left: 0; z-index: 2; min-width: 260px; background: #fff; box-shadow: 1px 0 0 var(--line); }
.stock-matrix-table th.sticky-product { z-index: 3; background: #f8f9f6; }
.stock-location-heading { min-width: 145px; }
.stock-location-heading small { display: block; margin-top: 3px; color: #96a099; font-size: 8px; text-transform: none; letter-spacing: 0; }
.stock-total-heading { min-width: 105px; }
.stock-product-cell strong, .stock-product-cell small { display: block; }
.stock-product-cell small { margin-top: 5px; color: var(--muted); }
.stock-breakdown-cell strong, .stock-breakdown-cell small, .stock-pending-cell strong, .stock-pending-cell small, .stock-full-cell strong, .stock-full-cell small { display: block; }
.stock-breakdown-cell strong, .stock-pending-cell strong, .stock-full-cell strong, .stock-total-cell strong { font-size: 14px; }
.stock-breakdown-cell small { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; color: var(--muted); font-size: 8px; }
.stock-breakdown-cell small span:last-child { color: var(--warning); }
.stock-pending-cell { background: #fffaf0; }
.stock-pending-cell small, .stock-full-cell small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.stock-full-cell { background: #fafbf7; }
.stock-total-cell { background: #f4f8df; }
.stock-row-inconsistent td { border-top: 1px solid #e8a69e; border-bottom-color: #e8a69e; }
.stock-matrix-method { max-width: none; margin-top: 18px; }
.stock-matrix-method h2 { margin: 6px 0; font-size: 19px; }
.stock-matrix-method p:last-child { margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.stock-location-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 13px; margin-bottom: 28px; }
.stock-location-card h2 { margin: 6px 0 18px; font-size: 20px; }
.stock-location-card.external { background: #f9faf6; }
.stock-location-card dl, .full-shipment-summary-card dl, .full-shipment-status-card dl { display: grid; gap: 10px; margin: 0; }
.stock-location-card dl div, .full-shipment-summary-card dl div, .full-shipment-status-card dl div { display: flex; justify-content: space-between; gap: 14px; border-top: 1px solid var(--line); padding-top: 10px; }
.stock-location-card dt, .full-shipment-summary-card dt, .full-shipment-status-card dt { color: var(--muted); font-size: 10px; }
.stock-location-card dd, .full-shipment-summary-card dd, .full-shipment-status-card dd { margin: 0; text-align: right; font-size: 12px; font-weight: 800; }
.stock-section-heading { margin-top: 28px; }
.warehouse-editor-card { margin-bottom: 18px; }
.warehouse-editor-card h2 { margin: 5px 0 0; }
.warehouse-active-check { margin-top: 18px; }
.warehouse-management-table .muted-row { opacity: .58; }
.warehouse-dependencies { display: grid; gap: 3px; color: var(--muted); }
.table-button { border: 0; padding: 0; background: transparent; cursor: pointer; }
.full-batch-cta .button { margin-top: 20px; }
.full-shipment-editor-grid, .full-shipment-detail-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .55fr); gap: 18px; align-items: start; }
.full-shipment-editor-grid h2, .full-shipment-detail-grid h2, .full-shipment-lines-card h2 { margin: 6px 0 8px; font-size: 21px; letter-spacing: -.03em; }
.full-shipment-lines-card { margin-top: 18px; }
.full-sku-picker { display: grid; grid-template-columns: minmax(300px, 1fr) 100px auto; align-items: end; gap: 8px; margin: 20px 0 8px; }
.full-sku-picker input { min-width: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 10px 11px; }
.full-picker-help { display: block; margin-bottom: 16px; color: var(--muted); }
.full-shipment-summary-card { position: sticky; top: 88px; }
.full-shipment-summary-card h2, .full-shipment-status-card h2, .full-cancel-card h2 { margin: 6px 0 18px; }
.full-shipment-summary-card > .button { width: 100%; margin-top: 18px; }
.full-shipment-safety { border-radius: 9px; background: #f4f8df; padding: 12px; margin-top: 17px; }
.full-shipment-safety strong, .full-shipment-safety p { display: block; }
.full-shipment-safety p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.full-shipment-detail-grid section { min-width: 0; }
.full-shipment-detail-grid > section > .content-card { margin-top: 18px; }
.full-shipment-detail-grid .card-header > small { color: var(--muted); }
.full-dispatch-card p:not(.eyebrow), .full-reconciliation-card > p, .full-cancel-card > p { color: var(--muted); font-size: 11px; line-height: 1.55; }
.full-dispatch-card > .button, .full-reconciliation-card > .button { width: 100%; margin-top: 18px; }
.full-reconciliation-card .embedded-table input { width: 115px; }
.full-shipment-sidebar { display: grid; gap: 18px; }
.full-cancel-card { border-color: #e2b2ac; }
.full-cancel-card textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 10px; resize: vertical; }
.full-cancel-card .danger-button { margin-top: 14px; }

@media (max-width: 1050px) {
    .supplier-detail-grid, .supplier-import-layout, .full-shipment-editor-grid, .full-shipment-detail-grid { grid-template-columns: 1fr; }
    .full-shipment-summary-card { position: static; }
    .full-sku-picker { grid-template-columns: 1fr auto; }
    .full-sku-picker .article-autocomplete { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .stock-metric-grid, .stock-sku-summary { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
    .stock-matrix-toolbar { align-items: stretch; flex-direction: column; }
    .stock-matrix-toolbar input { min-width: 0; width: 100%; }
    .stock-matrix-toolbar > span { margin-left: 0; }
    .full-sku-picker { grid-template-columns: 1fr; }
    .full-sku-picker .article-autocomplete { grid-column: auto; }
}

/* Organization, fiscal identities, business units and integrations */
.configuration-heading { margin-bottom: 20px; }
.configuration-alert { max-width: none; }
.configuration-layout { display: grid; grid-template-columns: 228px minmax(0, 1fr); gap: 22px; align-items: start; }
.configuration-index { position: sticky; top: 88px; display: grid; gap: 6px; min-width: 0; border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 14px; }
.configuration-index > .eyebrow { padding: 5px 8px 9px; }
.configuration-index > button,
.configuration-index-link { display: grid; grid-template-columns: 25px 1fr; column-gap: 8px; width: 100%; border: 0; border-radius: 9px; background: transparent; color: var(--ink); padding: 11px 10px; text-align: left; text-decoration: none; cursor: pointer; }
.configuration-index > button:hover,
.configuration-index-link:hover { background: #f5f7f1; }
.configuration-index > button.active { background: var(--accent); color: var(--on-accent); }
.configuration-index > button > span,
.configuration-index-link > span { grid-row: span 2; color: #89928c; font-size: 9px; font-weight: 850; letter-spacing: .08em; padding-top: 2px; }
.configuration-index > button.active > span,
.configuration-index > button.active small { color: #46541d; }
.configuration-index > button strong,
.configuration-index-link strong { font-size: 12px; }
.configuration-index > button small,
.configuration-index-link small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.configuration-content, .configuration-section { min-width: 0; }
.configuration-section { display: grid; gap: 16px; }
.configuration-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; min-height: 62px; margin-bottom: 2px; }
.configuration-section-heading h2 { margin: 5px 0 5px; font-size: 27px; letter-spacing: -.04em; }
.configuration-section-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.configuration-card { overflow: visible; }
.configuration-card-header { display: flex; justify-content: space-between; align-items: start; gap: 22px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.configuration-card-header h2 { margin: 5px 0 6px; font-size: 23px; letter-spacing: -.035em; }
.configuration-card-header p:not(.eyebrow) { max-width: 660px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.configuration-card-header > small { color: var(--muted); font-size: 9px; white-space: nowrap; }
.configuration-form-grid { margin-top: 20px; }
.configuration-form-grid label > small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 500; line-height: 1.45; }
.company-logo-editor { display: grid; grid-template-columns: 104px 1fr; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); padding: 20px 0; }
.company-logo-preview { display: grid; place-items: center; width: 104px; height: 76px; overflow: hidden; border: 1px dashed #bec7c0; border-radius: 11px; background: #f7f9f3; }
.company-logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.company-logo-preview span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--ink); color: #fff; font-size: 16px; font-weight: 900; }
.company-logo-editor strong { font-size: 13px; }
.company-logo-editor p { margin: 4px 0 10px; color: var(--muted); font-size: 10px; }
.logo-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.file-button { position: relative; overflow: hidden; }
.file-button.disabled { opacity: .38; cursor: not-allowed; }
.file-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.danger-text { color: var(--danger) !important; }
.selected-logo-name { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; }
.legal-editor-card { border-color: #cbd69d; box-shadow: 0 15px 45px rgba(31, 48, 38, .06); }
.configuration-empty-card { min-height: 260px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.configuration-empty-card h2 { margin: 6px 0; font-size: 24px; letter-spacing: -.04em; }
.configuration-empty-card p { max-width: 600px; margin: 0 0 18px; color: var(--muted); line-height: 1.55; }
.legal-entity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.legal-entity-card { padding: 20px; }
.legal-entity-title { display: flex; justify-content: space-between; gap: 15px; align-items: start; }
.legal-entity-title h3 { margin: 9px 0 0; font-size: 17px; letter-spacing: -.025em; }
.legal-entity-card dl { display: grid; gap: 10px; margin: 18px 0 0; }
.legal-entity-card dl div { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid var(--line); padding-top: 9px; }
.legal-entity-card dt { color: var(--muted); font-size: 9px; }
.legal-entity-card dd { margin: 0; max-width: 68%; text-align: right; font-size: 10px; font-weight: 750; }
.business-unit-card + .business-unit-card { margin-top: 0; }
.marketplace-unit-group { display: grid; gap: 12px; border: 1px solid #dce1d6; border-radius: 15px; background: #f8f9f6; padding: 15px; }
.marketplace-unit-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 4px 5px 7px; }
.marketplace-unit-heading h3 { margin: 4px 0 3px; font-size: 21px; letter-spacing: -.035em; }
.marketplace-unit-heading small { color: var(--muted); font-size: 9px; }
.marketplace-unit-heading .marketplace-unit-warning { color: #9a6418; font-weight: 750; }
.marketplace-unit-empty { display: flex; align-items: center; gap: 13px; min-height: auto; padding: 18px 20px; border-style: dashed; box-shadow: none; }
.marketplace-unit-empty strong { display: block; font-size: 12px; }
.marketplace-unit-empty p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.marketplace-connect-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .95fr); gap: 26px; align-items: center; padding: 19px 21px; box-shadow: none; }
.marketplace-connect-card h3 { margin: 5px 0 5px; font-size: 16px; letter-spacing: -.025em; }
.marketplace-connect-card p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.marketplace-connect-fields { display: flex; justify-content: flex-end; }
.marketplace-connect-actions { display: flex; gap: 7px; white-space: nowrap; }
.button.disabled { opacity: .4; pointer-events: none; }
.marketplace-invite-card { display: grid; gap: 14px; padding: 19px 21px; box-shadow: none; }
.marketplace-invite-card h3 { margin: 5px 0; font-size: 16px; letter-spacing: -.025em; }
.marketplace-invite-card p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.marketplace-invite-form { display: flex; gap: 9px; align-items: flex-end; flex-wrap: wrap; }
.marketplace-invite-form label { display: grid; gap: 4px; font-size: 10px; color: var(--muted); }
.marketplace-invite-form input[type="number"] { width: 110px; }
.marketplace-invite-link { display: grid; gap: 5px; }
.marketplace-invite-link input { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.marketplace-invite-state { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; font-size: 10px; color: var(--muted); }
.onboarding-block { border: 1px solid var(--line); border-radius: 12px; padding: 15px 17px; margin: 16px 0; }
.onboarding-list { margin: 8px 0 10px; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.onboarding-note { color: var(--muted); font-size: 10px; line-height: 1.6; margin: 10px 0 0; }
.onboarding-warning code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.onboarding-warning .onboarding-list { color: inherit; font-size: 13px; margin: 8px 0 0; }
.marketplace-settings-card { padding: 0; overflow: hidden; }
.marketplace-account-heading { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 13px; padding: 20px 22px; }
.marketplace-account-heading h2 { margin: 3px 0 2px; font-size: 20px; letter-spacing: -.03em; }
.marketplace-account-heading small { color: var(--muted); font-size: 9px; }
.marketplace-account-badges { display: flex; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.account-error { display: grid; grid-template-columns: auto 1fr; gap: 12px; border-top: 1px solid #edc0ba; background: #fff7f5; padding: 11px 22px; color: #8d3025; font-size: 10px; }
.marketplace-health-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8f9f6; }
.marketplace-health-grid > div { min-width: 0; padding: 15px 18px; border-right: 1px solid var(--line); }
.marketplace-health-grid > div:last-child { border-right: 0; }
.marketplace-health-grid span, .marketplace-health-grid strong, .marketplace-health-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketplace-health-grid span { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.marketplace-health-grid strong { margin: 5px 0 3px; font-size: 12px; }
.marketplace-health-grid small { color: var(--muted); font-size: 8px; }
.marketplace-health-grid .health-danger { background: #fff4f2; }
.marketplace-health-grid .health-danger strong { color: var(--danger); }
.marketplace-inventory-policy { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 28px; padding: 22px; }
.marketplace-inventory-policy h3 { margin: 5px 0 7px; font-size: 17px; }
.marketplace-write-access .marketplace-connect-actions { align-self: start; }
.marketplace-inventory-policy p:not(.eyebrow) { max-width: 600px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.marketplace-policy-fields { margin: 0; }
.marketplace-policy-check { border-top: 0; padding: 0; }
.marketplace-settings-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; border-top: 1px solid var(--line); padding: 14px 22px; }
.marketplace-settings-footer > small { color: var(--muted); font-size: 9px; }

@media (max-width: 1100px) {
    .configuration-layout { grid-template-columns: 190px minmax(0, 1fr); }
    .legal-entity-grid { grid-template-columns: 1fr; }
    .marketplace-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .marketplace-health-grid > div:nth-child(2) { border-right: 0; }
    .marketplace-health-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .marketplace-inventory-policy { grid-template-columns: 1fr; }
    .marketplace-connect-card { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .configuration-layout { grid-template-columns: 1fr; }
    .configuration-index { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .configuration-index > .eyebrow { grid-column: 1 / -1; }
    .configuration-section-heading, .configuration-card-header { align-items: flex-start; flex-direction: column; }
    .marketplace-unit-heading { align-items: flex-start; }
    .marketplace-connect-actions { flex-direction: column; }
    .marketplace-connect-actions .button { width: 100%; }
    .company-logo-editor { grid-template-columns: 76px 1fr; }
    .company-logo-preview { width: 76px; height: 66px; }
    .marketplace-account-heading { grid-template-columns: 42px 1fr; }
    .marketplace-account-badges { grid-column: 1 / -1; justify-content: flex-start; }
    .marketplace-health-grid { grid-template-columns: 1fr; }
    .marketplace-health-grid > div { border-right: 0; border-bottom: 1px solid var(--line); }
    .marketplace-health-grid > div:last-child { border-bottom: 0; }
    .marketplace-settings-footer { align-items: stretch; flex-direction: column; }
    .marketplace-settings-footer .button { width: 100%; }
}

/* Product / SKU operational overview */
.catalog-product-link,
.catalog-sku-link {
    color: inherit;
    text-decoration: none;
}
.catalog-product-link { align-items: center; display: inline-flex; gap: 10px; }
.catalog-product-link > span:not(.product-thumbnail) { display: grid; gap: 3px; }
.catalog-product-link small { color: var(--muted); font-size: 9px; font-weight: 600; }
.catalog-product-link:hover strong,
.catalog-sku-link:hover code { color: #4f6818; }
.catalog-product-link:focus-visible,
.catalog-sku-link:focus-visible { border-radius: 5px; outline: 3px solid rgba(156, 184, 53, .32); outline-offset: 3px; }
.sku-overview-heading { margin-bottom: 20px; }
.sku-overview-heading p:not(.eyebrow) { max-width: 850px; }
.sku-identity-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 13px; margin-top: 13px; color: var(--muted); font-size: 10px; }
.sku-overview-heading .sku-product-description { max-width: 760px; margin-top: 10px !important; font-size: 10px; line-height: 1.5; }
.sku-period-bar { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 14px; padding: 16px 19px; }
.sku-period-bar > div { display: grid; gap: 3px; }
.sku-period-bar > div > strong { font-size: 15px; }
.sku-period-bar > div > small { color: var(--muted); font-size: 9px; }
.sku-period-bar label { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 10px; font-weight: 800; }
.sku-period-bar select { border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 9px 34px 9px 11px; color: var(--ink); font-weight: 700; }
.sku-cost-alert { margin-bottom: 14px; }
.sku-overview-metrics { margin-bottom: 18px; }
.sku-overview-metrics .metric-card { min-height: 126px; padding: 18px; }
.sku-overview-metrics .metric-card.accent.danger { background: #fff8f7; border-color: #edc0ba; }
.sku-overview-grid { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(370px, .86fr); gap: 16px; align-items: stretch; }
.sku-breakdown-card,
.sku-stock-card { min-height: 100%; }
.sku-breakdown-card h2,
.sku-stock-card h2 { margin: 5px 0 0; font-size: 21px; letter-spacing: -.03em; }
.sku-breakdown-list { display: grid; gap: 0; margin: 20px 0 0; }
.sku-breakdown-list > div { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 10px 0; }
.sku-breakdown-list dt { color: var(--muted); font-size: 10px; }
.sku-breakdown-list dd { margin: 0; font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sku-breakdown-list .total dt,
.sku-breakdown-list .total dd { color: var(--ink); font-weight: 850; }
.sku-breakdown-list .result { border-top-color: #b8cb65; margin-top: 2px; padding-top: 14px; }
.sku-breakdown-list .result dt,
.sku-breakdown-list .result dd { color: var(--ink); font-size: 14px; font-weight: 900; }
.sku-refund-summary { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.sku-refund-summary span { border-radius: 7px; background: #f4f6f2; padding: 7px 9px; color: var(--muted); font-size: 9px; }
.sku-refund-summary strong { color: var(--ink); }
.sku-stock-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.sku-stock-summary > span { display: flex; min-height: 79px; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; background: #f8f9f6; padding: 11px; }
.sku-stock-summary > span.total { border-color: #d3e484; background: #f4f8df; }
.sku-stock-summary small { color: var(--muted); font-size: 8px; font-weight: 750; }
.sku-stock-summary strong { margin-top: auto; white-space: nowrap; font-size: 23px; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.compact-empty { display: flex; min-height: 120px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; color: var(--muted); }
.compact-empty strong { color: var(--ink); font-size: 13px; }
.compact-empty small { line-height: 1.5; }
.sku-section-heading { margin-top: 30px; }
.sku-section-heading.compact-heading { margin-top: 24px; }
.sku-heading-note { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.sku-warehouse-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 12px; }
.sku-warehouse-card { padding: 17px; }
.sku-warehouse-card > div:first-child { display: flex; align-items: center; gap: 10px; }
.sku-warehouse-card p { margin: 0; }
.sku-warehouse-card p strong,
.sku-warehouse-card p small { display: block; }
.sku-warehouse-card p strong { font-size: 12px; }
.sku-warehouse-card p small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.sku-warehouse-card.external { background: #f9faf6; }
.warehouse-dot { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 3px; }
.warehouse-dot.physical { background: var(--ink); }
.warehouse-dot.full { background: #8ba93b; }
.sku-warehouse-card dl { display: grid; gap: 7px; margin: 14px 0 0; }
.sku-warehouse-card dl > div { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid var(--line); padding-top: 8px; }
.sku-warehouse-card dt { color: var(--muted); font-size: 9px; }
.sku-warehouse-card dd { margin: 0; font-size: 10px; font-weight: 850; text-align: right; }
.sku-wide-empty { min-height: 110px; }
.sku-supplier-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.sku-supplier-card { min-width: 0; padding: 18px; }
.sku-supplier-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.sku-supplier-head h3 { margin: 7px 0 3px; font-size: 15px; letter-spacing: -.02em; }
.sku-supplier-head h3 a { color: inherit; text-decoration: none; }
.sku-supplier-head h3 a:hover { color: #4f6818; }
.sku-supplier-head small { color: var(--muted); font-size: 8px; }
.sku-supplier-tags { display: flex; min-height: 20px; flex-wrap: wrap; gap: 5px; }
.sku-supplier-price { flex: 0 0 auto; text-align: right; }
.sku-supplier-price small,
.sku-supplier-price strong { display: block; }
.sku-supplier-price small { font-size: 8px; font-weight: 850; letter-spacing: .07em; }
.sku-supplier-price strong { margin-top: 5px; white-space: nowrap; font-size: 19px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.sku-supplier-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 16px 0 0; border: 1px solid var(--line); border-radius: 9px; background: var(--line); }
.sku-supplier-terms > div { min-width: 0; background: #f9faf7; padding: 10px; }
.sku-supplier-terms dt,
.sku-supplier-terms dd { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sku-supplier-terms dt { color: var(--muted); font-size: 8px; }
.sku-supplier-terms dd { margin: 4px 0 0; font-size: 10px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sku-supplier-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid var(--line); margin-top: 13px; padding-top: 11px; color: var(--muted); font-size: 8px; }
.sku-listing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.sku-listing-card { padding: 18px; }
.sku-listing-head { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; gap: 13px; align-items: start; }
.sku-listing-head img,
.sku-listing-placeholder { width: 62px; height: 62px; border: 1px solid var(--line); border-radius: 10px; background: #f5f6f2; object-fit: contain; }
.sku-listing-placeholder { display: grid; place-items: center; color: #73806e; font-weight: 900; }
.sku-listing-head h3 { margin: 7px 0 4px; font-size: 13px; line-height: 1.35; }
.sku-listing-head small { color: var(--muted); font-size: 9px; }
.sku-listing-head > .table-link { font-size: 9px; white-space: nowrap; }
.sku-listing-numbers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin-top: 16px; border: 1px solid var(--line); border-radius: 9px; background: var(--line); }
.sku-listing-numbers span { min-width: 0; background: #f9faf7; padding: 10px; }
.sku-listing-numbers small,
.sku-listing-numbers strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sku-listing-numbers small { color: var(--muted); font-size: 8px; }
.sku-listing-numbers strong { margin-top: 4px; font-size: 12px; }
.sku-listing-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 11px; border-top: 1px solid var(--line); margin-top: 13px; padding-top: 12px; color: var(--muted); font-size: 8px; }
.sku-listing-meta > small { margin-left: auto; }
.sku-sales-card,
.sku-movement-card { overflow-x: auto; }
.sku-sales-card table { min-width: 1080px; }
.sku-movement-card table { min-width: 760px; }
.sku-table-empty { min-height: 135px; padding: 25px; }
.sku-method-card { max-width: none; margin-top: 24px; border-left: 4px solid #abc84a; }
.sku-method-card h2 { margin: 6px 0 10px; font-size: 19px; }
.sku-method-card p:not(.eyebrow) { max-width: 980px; margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }

@media (max-width: 1100px) {
    .sku-overview-grid { grid-template-columns: 1fr; }
    .sku-supplier-grid,
    .sku-listing-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .sku-period-bar { align-items: stretch; flex-direction: column; }
    .sku-period-bar label { align-items: stretch; flex-direction: column; }
    .sku-period-bar select { width: 100%; }
    .sku-stock-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sku-supplier-head { flex-direction: column; }
    .sku-supplier-price { text-align: left; }
    .sku-supplier-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sku-listing-head { grid-template-columns: 52px minmax(0, 1fr); }
    .sku-listing-head img,
    .sku-listing-placeholder { width: 52px; height: 52px; }
    .sku-listing-head > .table-link { grid-column: 2; }
    .sku-listing-numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sku-listing-meta > small { width: 100%; margin-left: 0; }
}

/* Theme surfaces. The attribute is applied by theme.js before this stylesheet loads. */
:root[data-theme="dark"] body {
    scrollbar-color: var(--line) var(--paper);
}

:root[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea {
    border-color: var(--line);
    background-color: var(--control);
    color: var(--ink);
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
    color: var(--muted);
    opacity: .85;
}

:root[data-theme="dark"] .status-pill,
:root[data-theme="dark"] .button.secondary,
:root[data-theme="dark"] .filter-panel,
:root[data-theme="dark"] .stock-balance-card,
:root[data-theme="dark"] .pagination,
:root[data-theme="dark"] .pagination-controls select,
:root[data-theme="dark"] .pagination-controls button,
:root[data-theme="dark"] .account-card,
:root[data-theme="dark"] .listing-product img,
:root[data-theme="dark"] .status-counter,
:root[data-theme="dark"] .auth-card,
:root[data-theme="dark"] .stock-matrix-table .sticky-product,
:root[data-theme="dark"] .configuration-index,
:root[data-theme="dark"] .sku-period-bar select {
    border-color: var(--line);
    background: var(--panel);
    color: var(--ink);
}

:root[data-theme="dark"] .filter-panel-close,
:root[data-theme="dark"] .filter-check,
:root[data-theme="dark"] .filter-panel-footer,
:root[data-theme="dark"] .active-filter-chip,
:root[data-theme="dark"] th,
:root[data-theme="dark"] code,
:root[data-theme="dark"] .stock-balance-card.external,
:root[data-theme="dark"] .operation-unavailable,
:root[data-theme="dark"] .preview-numbers span,
:root[data-theme="dark"] .readonly-field,
:root[data-theme="dark"] .offer-context-summary > div,
:root[data-theme="dark"] .unread-result,
:root[data-theme="dark"] .safety-card,
:root[data-theme="dark"] .subtle-panel,
:root[data-theme="dark"] .authenticator-key,
:root[data-theme="dark"] .recovery-code-list li,
:root[data-theme="dark"] .invitation-link-row input,
:root[data-theme="dark"] .unit-scope-editor,
:root[data-theme="dark"] .stock-full-cell,
:root[data-theme="dark"] .stock-location-card.external,
:root[data-theme="dark"] .company-logo-preview,
:root[data-theme="dark"] .marketplace-unit-group,
:root[data-theme="dark"] .marketplace-health-grid,
:root[data-theme="dark"] .sku-refund-summary span,
:root[data-theme="dark"] .sku-stock-summary > span,
:root[data-theme="dark"] .sku-warehouse-card.external,
:root[data-theme="dark"] .sku-supplier-terms > div,
:root[data-theme="dark"] .sku-listing-placeholder,
:root[data-theme="dark"] .sku-listing-numbers span {
    background: var(--surface-soft);
    color: var(--ink);
}

:root[data-theme="dark"] .filter-panel-close:hover,
:root[data-theme="dark"] .active-filter-chip:hover,
:root[data-theme="dark"] tbody tr:hover,
:root[data-theme="dark"] .button.secondary:hover,
:root[data-theme="dark"] .pagination-controls button:hover:not(:disabled),
:root[data-theme="dark"] .configuration-index > button:hover,
:root[data-theme="dark"] .configuration-index-link:hover {
    border-color: #607267;
    background: var(--surface-hover);
}

:root[data-theme="dark"] td {
    border-bottom-color: var(--line);
}

:root[data-theme="dark"] .stock-matrix-table th.sticky-product {
    background: var(--surface-muted);
}

:root[data-theme="dark"] .selected-file,
:root[data-theme="dark"] .offer-latest-price,
:root[data-theme="dark"] .stock-total-cell,
:root[data-theme="dark"] .full-shipment-safety,
:root[data-theme="dark"] .sku-stock-summary > span.total {
    border-color: #52652f;
    background: var(--surface-accent);
}

:root[data-theme="dark"] .metric-card.accent {
    border-color: #aeca3d;
    background: var(--accent);
    color: var(--on-accent);
}

:root[data-theme="dark"] .metric-card.accent span,
:root[data-theme="dark"] .metric-card.accent small {
    color: #46541d;
}

:root[data-theme="dark"] .metric-card.danger,
:root[data-theme="dark"] .sku-overview-metrics .metric-card.accent.danger,
:root[data-theme="dark"] .account-error,
:root[data-theme="dark"] .marketplace-health-grid .health-danger,
:root[data-theme="dark"] .danger-button,
:root[data-theme="dark"] .icon-button.danger {
    border-color: #74433e;
    background: var(--surface-danger);
    color: #ffb6ad;
}

:root[data-theme="dark"] .action-card.is-danger { border-color: #74433e; }

:root[data-theme="dark"] .stock-pending-cell,
:root[data-theme="dark"] .mode-badge,
:root[data-theme="dark"] .simulation-alert,
:root[data-theme="dark"] .unread-result.has-unread {
    border-color: #705934;
    background: var(--surface-warning);
    color: #f4d28d;
}

:root[data-theme="dark"] .alert.error,
:root[data-theme="dark"] .validation-errors,
:root[data-theme="dark"] .validation-summary {
    background: #3b211f;
    color: #ffb6ad;
}

:root[data-theme="dark"] .alert.success {
    background: var(--surface-positive);
    color: #d7efab;
}

:root[data-theme="dark"] .alert.warning {
    background: #3b2e19;
    color: #f8d793;
}

:root[data-theme="dark"] .tag.positive,
:root[data-theme="dark"] .tag.success {
    background: #2a3a1e;
    color: #d9f2a2;
}

:root[data-theme="dark"] .tag.neutral {
    background: #26322b;
    color: #ced9d1;
}

:root[data-theme="dark"] .tag.danger-tag,
:root[data-theme="dark"] .tag.danger {
    background: #422522;
    color: #ffb5ac;
}

:root[data-theme="dark"] .tag.warning-tag,
:root[data-theme="dark"] .tag.warning {
    background: #3b2e19;
    color: #f8d793;
}

:root[data-theme="dark"] .tag.marketplace-tag {
    background: #3c3515;
    color: #ffec83;
}

:root[data-theme="dark"] .tag.supplier-tag {
    background: #1d3143;
    color: #b9ddff;
}

:root[data-theme="dark"] .tag.kit-tag {
    background: #262c4d;
    color: #c9cffb;
}

:root[data-theme="dark"] .button.primary,
:root[data-theme="dark"] .context-switch-button,
:root[data-theme="dark"] .avatar,
:root[data-theme="dark"] .progress-list .done b,
:root[data-theme="dark"] .filter-count,
:root[data-theme="dark"] .pagination-controls button.current,
:root[data-theme="dark"] input[type="file"]::file-selector-button,
:root[data-theme="dark"] .user-avatar,
:root[data-theme="dark"] .company-logo-preview span {
    color: var(--on-ink) !important;
}

:root[data-theme="dark"] .button.primary:hover,
:root[data-theme="dark"] .context-switch-button:hover {
    background: #d6e2d9;
}

:root[data-theme="dark"] .filter-overlay {
    background: var(--overlay);
}

:root[data-theme="dark"] .filter-panel,
:root[data-theme="dark"] .auth-card {
    box-shadow: 0 22px 60px var(--shadow);
}

:root[data-theme="dark"] .auth-shell {
    background: radial-gradient(circle at top left, #243019, transparent 38%), var(--paper);
}

:root[data-theme="dark"] .separator,
:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] th,
:root[data-theme="dark"] .step-number,
:root[data-theme="dark"] .stock-location-heading small,
:root[data-theme="dark"] .configuration-index > button > span,
:root[data-theme="dark"] .configuration-index-link > span,
:root[data-theme="dark"] .sku-listing-placeholder {
    color: var(--muted);
}

:root[data-theme="dark"] code {
    color: #dbe8df;
}

:root[data-theme="dark"] .table-link,
:root[data-theme="dark"] .positive-number,
:root[data-theme="dark"] .movement-quantity.positive-quantity,
:root[data-theme="dark"] .catalog-product-link:hover strong,
:root[data-theme="dark"] .catalog-sku-link:hover code,
:root[data-theme="dark"] .sku-supplier-head h3 a:hover {
    color: var(--accent-dark);
}

:root[data-theme="dark"] .full-cancel-card,
:root[data-theme="dark"] .action-card.is-payment,
:root[data-theme="dark"] .legal-editor-card,
:root[data-theme="dark"] .marketplace-unit-group,
:root[data-theme="dark"] .company-logo-preview,
:root[data-theme="dark"] .stock-row-inconsistent td {
    border-color: var(--line);
}

:where(button, a, input, select, textarea):focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

@media (forced-colors: active) {
    .theme-toggle { forced-color-adjust: auto; }
}
.collection-void-editor {
    display: flex;
    gap: 0.75rem;
    align-items: end;
}

.collection-void-editor .form-field {
    flex: 1;
}

.collection-preview {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
}

.collection-review-check,
.collections-history-heading {
    margin-top: 1.25rem;
}

.collection-void-row td {
    background: var(--surface-muted);
}

@media (max-width: 720px) {
    .collection-void-editor {
        align-items: stretch;
        flex-direction: column;
    }
}

/* El desplegable del autocomplete se posiciona absoluto: sin esta excepción,
   .content-card { overflow: hidden } lo recorta en cada formulario que lo usa. */
.content-card:has(.article-autocomplete) {
    overflow: visible;
}

/* La conciliación de Product Ads en Finanzas usa esta clase; sin la regla, la
   tabla de 1280px se recortaba en vez de scrollear. */
.table-scroll {
    overflow-x: auto;
}

/* Campo de CUIT con el botón de consulta al padrón de ARCA al lado. En columnas
   angostas el botón baja a la línea siguiente para que el número siga legible. */
.tax-id-field { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; margin-top: 6px; }
.tax-id-field input { margin-top: 0; flex: 1 1 170px; min-width: 0; }
.tax-id-field .tax-id-lookup { flex: 0 0 auto; min-height: 42px; white-space: nowrap; }
.field-hint { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.4; }
.field-hint-error { color: var(--danger); }
.lookup-warning { display: block; margin-top: 4px; font-weight: 600; }
.purchase-row-actions { white-space: nowrap; }
.purchase-row-actions .table-action + .table-action { margin-left: 10px; }

/* Impresión: sólo el contenido de la página, sin navegación, filtros ni botones.
   Las listas paginadas imprimen la página visible; para la lista completa está
   la exportación a Excel. */
@media print {
    .sidebar,
    .topbar,
    .heading-actions,
    .toolbar,
    .active-filters-bar,
    .pagination,
    .table-action,
    .form-actions,
    .contact-import-card,
    .stock-matrix-method,
    .alert.warning,
    button,
    .button { display: none !important; }
    .shell { display: block; }
    .main-content { width: 100%; }
    .page-container { max-width: none; padding: 0; margin: 0; }
    .page-heading { margin-bottom: 12px; }
    .page-heading h1, .page-heading.compact h1 { font-size: 22px; }
    .metric-grid, .stock-metric-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
    .metric-card { min-height: 0; padding: 8px 10px; border-radius: 6px; }
    .table-card, .content-card { overflow: visible !important; box-shadow: none; border: 0; }
    table { width: 100%; font-size: 10px; }
    th, td { padding: 4px 6px !important; }
    tr { break-inside: avoid; page-break-inside: avoid; }
    thead { display: table-header-group; }
    .sticky-product { position: static !important; }
    a { color: inherit; text-decoration: none; }
    body { background: #fff; color: #000; }
}
