/* One vocabulary, explicit adapters. No table reset, hidden overflow, status inference,
   primary-action guessing, dialog stacking override or fiscal-number changes. */
html[data-quantix-family] body {
  font-family: 'Inter', system-ui, sans-serif;
}
html[data-quantix-family]:not([data-theme="dark"]) body { color: var(--lux-text-1); }
html[data-quantix-family] :is(button, input, select, textarea) { font-family: inherit; }
html[data-quantix-family] :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--lux-purple-base);
  outline-offset: 3px;
}
.quantix-skip {
  position: fixed; top: 8px; left: 8px; transform: translateY(-160%); z-index: 100010;
  padding: 12px 18px; background: var(--lux-bg-2); color: var(--lux-purple-base);
  border: 1px solid var(--lux-border); border-radius: 8px;
}
.quantix-skip:focus { transform: none; }
html[data-quantix-family] :is(header.hero, .dash-head, .stark-header, .agg-head, .diot-head) h1 {
  font-family: 'Inter', system-ui, sans-serif; font-weight: 650;
  letter-spacing: -.025em; line-height: 1.2; color: var(--lux-text-0);
}
html[data-quantix-family] :is(header.hero, .dash-head) {
  background: var(--lux-bg-2); border: 1px solid var(--lux-border);
  box-shadow: 0 8px 28px -8px rgba(61, 68, 81, .08); border-radius: 12px;
}
html[data-quantix-family] :is(.state-block, .lux-empty-card, .dc-unavailable) {
  background: var(--lux-bg-2); border: 1px solid var(--lux-border); border-radius: 12px;
  padding: clamp(20px, 3vw, 32px); color: var(--lux-text-1);
}
html[data-quantix-family] :is(.state-block__title, .lux-empty-card h3, .dc-unavailable h1) {
  color: var(--lux-text-0); font-family: 'Inter', system-ui, sans-serif;
}
html[data-quantix-family] :is(.state-block__body, .lux-empty-card p, .dc-unavailable p) {
  color: var(--lux-text-2); line-height: 1.6;
}
html[data-quantix-family] .state-block:is([data-state="error"], [data-state="blocked"]) {
  border-left: 4px solid var(--lux-error);
}
html[data-quantix-family="despacho"] :is(.dc-page-title, .dc-title, .dc-global-header, .dc-sidebar, .dc-content, .dc-main) {
  font-family: 'Inter', system-ui, sans-serif;
}
html[data-quantix-family="legacy"] :is(.ui-jqgrid, .ui-dialog, .ui-widget) {
  font-family: 'Inter', system-ui, sans-serif;
}
html[data-quantix-layout="workbench"] :is(.num, .money, .col-total, .col-iva, .col-subtotal) {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums;
}
html[data-quantix-family] :is(.state-block__cta, .dc-button, .lux-btn-primary, .lux-btn-secondary, .lux-btn-ghost):active {
  transform: scale(.97);
}
@media (max-width: 820px) {
  html[data-quantix-family] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { font-size: 16px; }
  html[data-quantix-family] :is(.state-block__cta, .dc-button, .lux-btn-primary, .lux-btn-secondary, .lux-btn-ghost) {
    min-height: 48px; min-width: 48px; align-items: center;
  }
  html[data-quantix-family] :is(header.hero, .dash-head) { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-quantix-family] :is(.state-block__cta, .dc-button, .lux-btn-primary, .lux-btn-secondary, .lux-btn-ghost) {
    transition: none; transform: none;
  }
}

/* Bounded modern-Backoffice adapter: reuse the existing component variables. */
html[data-quantix-family="legacy"] {
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}
html[data-quantix-family="legacy"]:not([data-theme="dark"]) {
  --color-primary-50: var(--lux-purple-pale);
  --color-primary-100: var(--lux-purple-pale);
  --color-primary-500: var(--lux-purple-base);
  --color-primary-600: var(--lux-purple-base);
  --color-primary-700: var(--lux-purple-proof);
  --color-primary-800: var(--lux-purple-proof);
  --color-gray-50: var(--lux-bg-1);
  --color-gray-100: var(--lux-bg-0);
  --color-gray-200: var(--lux-border);
}
html[data-quantix-family="despacho"] :is(.dc-shell-nav__brand, .dc-shell-nav__brand > span:first-child, .dc-page-heading h1, .dc-recommended-action strong, .dc-source-health > summary strong) {
  font-family: 'Inter', system-ui, sans-serif;
}
html[data-quantix-family="despacho"] .dc-summary-card strong {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
}
html[data-quantix-family="help"] .help-h1 { font-family: 'Inter', system-ui, sans-serif; }
html[data-quantix-family="legacy"] .header-title h1 { font-family: 'Inter', system-ui, sans-serif; }
.quantix-workspace-menu { position: relative; font: 500 13px/1.4 'Inter', system-ui, sans-serif; }
.quantix-workspace-menu > summary {
  display: flex; align-items: center; min-height: 48px; padding: 0 12px; cursor: pointer;
  color: var(--lux-text-1); background: var(--lux-bg-2); border: 1px solid var(--lux-border); border-radius: 8px;
}
.quantix-workspace-menu > summary::after { content: '⌄'; margin-left: 8px; }
.quantix-workspace-menu > nav {
  position: absolute; right: 0; top: calc(100% + 8px); width: min(310px, calc(100vw - 32px));
  max-height: min(640px, 75vh); overflow-y: auto; padding: 8px;
  background: var(--lux-bg-2); border: 1px solid var(--lux-border); border-radius: 12px;
  box-shadow: 0 8px 28px -8px rgba(61, 68, 81, .16);
}
.quantix-workspace-menu nav :is(a, span, strong) { display: block; padding: 10px 12px; }
.quantix-workspace-menu nav strong { color: var(--lux-text-2); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.quantix-workspace-menu nav a { color: var(--lux-text-1); text-decoration: none; min-height: 44px; border-radius: 6px; }
.quantix-workspace-menu nav a:hover { background: var(--lux-purple-pale); color: var(--lux-purple-base); }
.quantix-workspace-menu [aria-disabled] { color: var(--lux-text-2); }
@media (max-width: 820px) {
  .quantix-workspace-menu > summary { font-size: 12px; padding: 0 8px; }
  .quantix-workspace-menu nav a { min-height: 48px; }
}
/* Headings share a typographic voice across the four layouts; data fonts stay distinct. */
html[data-quantix-family][data-quantix-layout] :is(h1, h2, h3) {
  font-family: 'Inter', system-ui, sans-serif;
  letter-spacing: -.02em;
}
html[data-quantix-family="despacho"] .dc-main a:not([class]),
html[data-quantix-family="legacy"] #app-root a:not([class]) {
  color: var(--lux-purple-base); text-underline-offset: .2em;
}

/* Ticket26453 · work first. These are presentation adapters only: never hide
   amounts, finality, warnings, controls, receipt IDs or evidence links. Legacy
   component hooks remain for their JS owners; their card/hero treatment ends. */
html[data-quantix-family] :is(header.hero,.dash-head,.stark-header,.agg-head,.diot-head,.diot-cover,.conta-launchpad__hero,.banco-receipt-hero,.conta-policy-hero,.cedula__box--hero) {
  min-height:0!important; padding:6px 10px!important; margin-top:0!important;
  box-shadow:none!important; border-radius:0!important; background:transparent!important;
}
html[data-quantix-family] :is(header.hero,.dash-head,.diot-cover,.conta-launchpad__hero) :is(h1,h2) {
  font-size:1.1rem!important; line-height:1.3!important; margin:4px 0!important;
}
html[data-quantix-family] :is(.conta-drilldown-kpis,.sello-certeza__kpis,.dossier-cfdi-kpis,.dc-kpis,.kpi-strip,.sovereign-kpi-strip) {
  display:flex!important; flex-wrap:wrap!important; gap:0 14px!important;
  padding:4px 0!important; margin:4px 0!important; background:transparent!important;
  box-shadow:none!important; border:0!important; border-radius:0!important;
}
html[data-quantix-family] :is(.drill-kpi-card,.sello-kpi-card,.dossier-cfdi-kpi,.sovereign-kpi-item,.dc-summary-card,.kpi-card,.kpi-tile,.stat-card) {
  display:flex!important; flex-wrap:wrap!important; align-items:baseline!important;
  gap:4px 8px!important; min-height:0!important; padding:4px 8px!important;
  box-shadow:none!important; border:0!important; border-radius:0!important; background:transparent!important;
}
html[data-quantix-family] :is(.drill-kpi-val,.sello-kpi-val,.sovereign-kpi-val,.dossier-cfdi-kpi strong,.dc-summary-card strong,.kpi-value,.stat-value) {
  font-size:.85rem!important; line-height:1.4!important; font-variant-numeric:tabular-nums;
}
.workspace-proof{margin:4px 0;font-size:.82rem;color:var(--lux-text-1)}
.workspace-proof>summary{min-height:34px;display:flex;align-items:center;cursor:pointer;color:var(--lux-text-2)}
.workspace-proof-table{border-collapse:collapse;width:100%;background:var(--lux-bg-2)}
.workspace-proof-table :is(th,td){padding:4px 8px;border-bottom:1px solid var(--lux-border)}
.workspace-proof-table th{text-align:left;font-weight:600}
.workspace-proof-table td{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:820px){.workspace-proof>summary{min-height:44px}.workspace-proof-table{font-size:.8rem}}
/* Embedded modules use the persistent shell navigation; duplicated stage banners
   carry no unique action or evidence and must not displace the work table. */
html[data-quantix-family] :is(body[data-cc="1"],body.cc-embed,body.is-cc) .recon-stages{display:none!important}

/* Ticket26453: the work surface owns the viewport; headers hold identity/actions only. */
:is(div.hero,section.hero,.picker-head,.hoy-head,.autopilot-hero,.evidence-hero){padding:6px 10px!important;min-height:0!important;margin:0 0 6px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
:is(div.hero,section.hero,.picker-head,.hoy-head,.autopilot-hero,.evidence-hero) :is(h1,h2){font-size:1.1rem!important;line-height:1.35!important;margin:0!important}
:is(.hero-art,.hero-illustration){display:none!important}
.hero-proof{font-size:.78rem!important;gap:6px!important;margin:0!important}
.quantix-proof-disclosure{margin:4px 0!important;border:0!important;padding:0!important;box-shadow:none!important;max-width:100%}
.quantix-proof-disclosure>summary{padding:6px 8px;cursor:pointer;color:var(--lux-text-2);font-size:.82rem;line-height:1.4}
.quantix-proof-values{display:flex!important;flex-wrap:wrap;gap:8px 16px!important;padding:6px 8px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.quantix-proof-values :is(.kpi,.stat,.cockpit-card,.kpi-row){border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:2px 4px!important;min-height:0!important}
.quantix-proof-values :is(.n,.stat strong,.kpi-row__value){font-size:.9rem!important;font-variant-numeric:tabular-nums;line-height:1.4!important}
.tax-gate-metrics{display:flex!important;flex-wrap:wrap;gap:12px!important;margin:4px 0!important;padding:0!important}
.tax-gate-metric{display:flex!important;gap:8px;align-items:baseline;padding:3px 0!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
:is(body[data-cc="1"],body.cc-embed,body.is-cc) .lux-flow-bridge{margin:4px 0!important;padding:5px 8px!important;box-shadow:none!important;border-radius:0!important}
@media(max-width:820px){.quantix-proof-disclosure>summary{min-height:44px;display:flex;align-items:center}}
