:root[data-spa-theme] {
  --spa-heading-font: 'Trebuchet MS', sans-serif;
  --spa-action-text: #ffffff;
  --spa-shadow: 0 8px 28px #17243412;
  --spa-radius: 8px;
  --spa-ui-panel: var(--spa-card); --spa-ui-text: var(--spa-text);
  --spa-ui-border: var(--spa-border); --spa-ui-accent: var(--spa-accent);
  --bs-body-color: var(--spa-text); --bs-body-bg: var(--spa-card);
  --bs-border-color: var(--spa-border); --bs-secondary-color: var(--spa-muted);
  --bs-tertiary-bg: var(--spa-tint); --bs-primary: var(--spa-action);
}
:root[data-spa-theme="original"] {
  --spa-bg-start: #f3eaff; --spa-bg-end: #e3ebff; --spa-bg-bridge: #fae1ee;
  --spa-card: #fffaff; --spa-surface-end: #f1edfc; --spa-border: #c8b9db;
  --spa-text: #322344; --spa-muted: #685579; --spa-tint: #ebe2f6;
  --spa-accent: #7036a9; --spa-action: #7135a8; --spa-action-end: #9b346e;
  --spa-alt: #286b91; --spa-wash: #cbb8f066; --spa-glaze: #fac2e34d;
}
:root[data-spa-theme="jade"] {
  --spa-bg-start: #eaf3ee; --spa-bg-end: #f7faf8; --spa-card: #ffffff;
  --spa-border: #a9c3b5; --spa-text: #193a30; --spa-muted: #476557;
  --spa-accent: #116b51; --spa-tint: #daeae2; --spa-action: #146b52;
  --spa-alt: #a33c57; --spa-heading-font: Georgia, serif;
  --spa-bg-bridge: #d6e8f0; --spa-bg-end: #f5e9dc; --spa-surface-end: #edf6f2;
  --spa-action-end: #21647c; --spa-wash: #9cd8bd66; --spa-glaze: #f3d9b866;
}
:root[data-spa-theme="pearl"] {
  --spa-bg-start: #f3f4f6; --spa-bg-end: #ffffff; --spa-card: #ffffff;
  --spa-border: #b9bec9; --spa-text: #282c36; --spa-muted: #5c6170;
  --spa-accent: #3e527b; --spa-tint: #e7eaf1; --spa-action: #3e527b;
  --spa-alt: #9b3d58; --spa-heading-font: 'Trebuchet MS', sans-serif;
  --spa-bg-bridge: #e1e8f3; --spa-bg-end: #f3e3e9; --spa-surface-end: #f0f2f7;
  --spa-action-end: #725073; --spa-wash: #c2d7ef66; --spa-glaze: #e6bbc866;
}
:root[data-spa-theme="rose"] {
  --spa-bg-start: #fcf0f3; --spa-bg-end: #fffbfc; --spa-card: #ffffff;
  --spa-border: #d7b0bd; --spa-text: #502a38; --spa-muted: #785060;
  --spa-accent: #a12e56; --spa-tint: #f6e1e9; --spa-action: #a12e56;
  --spa-alt: #126c65; --spa-heading-font: Georgia, serif;
  --spa-bg-bridge: #eeddec; --spa-bg-end: #dcedea; --spa-surface-end: #faf0f4;
  --spa-action-end: #754675; --spa-wash: #f4bdce66; --spa-glaze: #b9dbd666;
}
:root[data-spa-theme="ocean"] {
  --spa-bg-start: #edf5fa; --spa-bg-end: #f8fcff; --spa-card: #ffffff;
  --spa-border: #a7c2d2; --spa-text: #193d50; --spa-muted: #4b6878;
  --spa-accent: #126184; --spa-tint: #dbeaf2; --spa-action: #126184;
  --spa-alt: #a64135; --spa-heading-font: 'Trebuchet MS', sans-serif;
  --spa-bg-bridge: #d8eee9; --spa-bg-end: #f5e6df; --spa-surface-end: #eef6fa;
  --spa-action-end: #14736b; --spa-wash: #a8d5ec66; --spa-glaze: #f4cbb866;
}
:root[data-spa-theme="graphite"] {
  --spa-bg-start: #eef1f2; --spa-bg-end: #dfeae5; --spa-bg-bridge: #e4e1e9;
  --spa-card: #fcfdfd; --spa-surface-end: #edf1f0; --spa-border: #b6c1bf;
  --spa-text: #283430; --spa-muted: #586560; --spa-tint: #e2e9e6;
  --spa-accent: #305d52; --spa-action: #354b43; --spa-action-end: #426b63;
  --spa-alt: #90533c; --spa-wash: #b2c8c366; --spa-glaze: #d3c4d966;
}
:root[data-spa-mode="dark"] {
  --spa-action-text: #14221f;
  --spa-shadow: 0 10px 28px #0000002e;
}
:root[data-spa-theme="original"][data-spa-mode="dark"] {
  --spa-bg-start: #0c071d; --spa-bg-end: #261137; --spa-bg-bridge: #151f42;
  --spa-card: #170e2a; --spa-surface-end: #231635; --spa-border: #514068;
  --spa-text: #f3edff; --spa-muted: #c8b8e6; --spa-tint: #2c1d42;
  --spa-accent: #dfb9ff; --spa-action: #cfabf8; --spa-action-end: #f4b4d6;
  --spa-alt: #91ccf2; --spa-wash: #be51cb26; --spa-glaze: #5b7aff33;
}
:root[data-spa-theme="jade"][data-spa-mode="dark"] {
  --spa-bg-start: #091e1c; --spa-bg-end: #28222c; --spa-bg-bridge: #122b38;
  --spa-card: #112b28; --spa-surface-end: #18343a; --spa-border: #3b625c;
  --spa-text: #eaf7f0; --spa-muted: #b0cdc1; --spa-tint: #203e38;
  --spa-accent: #9ae3be; --spa-action: #9ae3be; --spa-action-end: #91cedb;
  --spa-alt: #f2b4cc; --spa-wash: #499f812e; --spa-glaze: #b4896526;
}
:root[data-spa-theme="pearl"][data-spa-mode="dark"] {
  --spa-bg-start: #191d29; --spa-bg-end: #31232b; --spa-bg-bridge: #20333b;
  --spa-card: #242a36; --spa-surface-end: #302b3b; --spa-border: #5b6578;
  --spa-text: #f1f2f9; --spa-muted: #c2c7d7; --spa-tint: #363e50;
  --spa-accent: #c0d3fb; --spa-action: #bdcff1; --spa-action-end: #e5bfd9;
  --spa-alt: #e7c594; --spa-wash: #6e94c626; --spa-glaze: #ad6d872e;
}
:root[data-spa-theme="rose"][data-spa-mode="dark"] {
  --spa-bg-start: #28121f; --spa-bg-end: #112d30; --spa-bg-bridge: #37253d;
  --spa-card: #321e2b; --spa-surface-end: #3b293e; --spa-border: #7b526c;
  --spa-text: #fff0f6; --spa-muted: #dab6c7; --spa-tint: #482e3e;
  --spa-accent: #f4b5cf; --spa-action: #f2b4cb; --spa-action-end: #d9b5ed;
  --spa-alt: #a0ded2; --spa-wash: #b84b7c2e; --spa-glaze: #54a49a26;
}
:root[data-spa-theme="ocean"][data-spa-mode="dark"] {
  --spa-bg-start: #0a1c2b; --spa-bg-end: #322630; --spa-bg-bridge: #113638;
  --spa-card: #142e3b; --spa-surface-end: #1b3636; --spa-border: #3d6578;
  --spa-text: #ebf7fc; --spa-muted: #b3d1de; --spa-tint: #234454;
  --spa-accent: #a4dcf6; --spa-action: #9ed8ed; --spa-action-end: #96dfc8;
  --spa-alt: #f1bd9f; --spa-wash: #3e9fc42e; --spa-glaze: #c7816126;
}
:root[data-spa-theme="graphite"][data-spa-mode="dark"] {
  --spa-bg-start: #191c20; --spa-bg-end: #273630; --spa-bg-bridge: #322b38;
  --spa-card: #272c32; --spa-surface-end: #293933; --spa-border: #626c79;
  --spa-text: #f2f4f7; --spa-muted: #bfc8d3; --spa-tint: #353d46;
  --spa-accent: #9ce6d4; --spa-action: #9ce6d4; --spa-action-end: #ccdfb8;
  --spa-alt: #f2b77e; --spa-wash: #818a9626; --spa-glaze: #628e7933;
}
html[data-spa-theme] body {
  background: linear-gradient(125deg, var(--spa-wash), transparent 60%), linear-gradient(225deg, var(--spa-glaze), transparent 65%), linear-gradient(135deg, var(--spa-bg-start), var(--spa-bg-bridge) 52%, var(--spa-bg-end)) !important;
  background-attachment: fixed !important;
  color: var(--spa-text); font-family: 'Trebuchet MS', sans-serif;
}
html[data-spa-theme] :is(.card, .modal-content, .dropdown-menu, .list-group-item, .row-detail, .table-detail-inner, .metric-card, .bg-collapse, .ventas-row, #propinaBox) {
  background: linear-gradient(135deg, var(--spa-card), var(--spa-surface-end)) !important; color: var(--spa-text) !important;
  border-color: var(--spa-border) !important;
}
html[data-spa-theme] :is(.card-header, .card-header-custom, .modal-header, .modal-footer, .input-group-text, .chip, .monto-pill, .order-header-row td) {
  background: var(--spa-tint) !important; color: var(--spa-text) !important;
  border-color: var(--spa-border) !important;
}
html[data-spa-theme] :is(h1, h2, h3, h4, h5, h6) {
  color: var(--spa-text) !important; font-family: var(--spa-heading-font); letter-spacing: 0;
}
html[data-spa-theme] :is(.text-muted, .text-secondary, .form-text, .small, .chip .muted, .text-sub, .small-muted, .label-sm) { color: var(--spa-muted) !important; }
html[data-spa-theme] .order-header-title { color: var(--spa-text); }
html[data-spa-theme] .accordion-trigger:hover { background: var(--spa-tint); }
html[data-spa-theme] :is(.navbar .nav-link, .navbar .text-white, .navbar-brand, .dropdown-item, .card-header.text-white, .chip .ref-label, #helperMonto, .btn-toggle-row) { color: var(--spa-text) !important; }
html[data-spa-theme] :is(a:not(.btn):not(.badge):not(.dropdown-item):not(.nav-link), .text-primary) { color: var(--spa-accent); }
html[data-spa-theme] :is(.form-control, .form-select) {
  background-color: var(--spa-card); color: var(--spa-text); border-color: var(--spa-border);
}
html[data-spa-theme] :is(.form-control, .form-select):focus {
  border-color: var(--spa-action); box-shadow: 0 0 0 3px var(--spa-tint);
}
html[data-spa-theme] .form-control:disabled { background: var(--spa-tint); }
html[data-spa-theme] .btn-primary {
  background: linear-gradient(120deg, var(--spa-action), var(--spa-action-end)); border: 1px solid var(--spa-action); color: var(--spa-action-text); box-shadow: none;
}
html[data-spa-theme] .btn-primary:hover { filter: brightness(1.08); }
html[data-spa-theme] :is(.btn-outline-secondary, .btn-outline-light, .btn-outline-info, .btn-outline-primary) {
  color: var(--spa-accent); border-color: var(--spa-accent); background: transparent;
}
html[data-spa-theme] :is(.btn-outline-secondary, .btn-outline-light, .btn-outline-info, .btn-outline-primary):hover {
  background: var(--spa-tint); color: var(--spa-text);
}
html[data-spa-theme] .table {
  --bs-table-bg: var(--spa-card); --bs-table-color: var(--spa-text);
  --bs-table-striped-bg: var(--spa-tint); --bs-table-striped-color: var(--spa-text);
  --bs-table-hover-bg: var(--spa-tint); --bs-table-hover-color: var(--spa-text);
  --bs-table-border-color: var(--spa-border);
}
html[data-spa-theme] .table :is(th, td) { color: var(--spa-text) !important; border-color: var(--spa-border) !important; }
html[data-spa-theme] .table thead :is(th, td, tr) { background: var(--spa-tint) !important; }
html[data-spa-theme] .dropdown-item:is(:hover, :focus) { background: var(--spa-tint); }
html[data-spa-mode="light"] :is(.text-light, .text-info) { color: var(--spa-accent) !important; }
html[data-spa-mode="light"] .text-success { color: #176643 !important; }
html[data-spa-mode="light"] .text-danger { color: #b32c43 !important; }
html[data-spa-mode="light"] .text-warning { color: #805408 !important; }
html[data-spa-mode="dark"] .text-success { color: #91e2b9 !important; }
html[data-spa-mode="dark"] .text-danger { color: #ffacb9 !important; }
html[data-spa-mode="dark"] .text-warning { color: #f4d08a !important; }
html[data-spa-mode="light"] .btn-close { filter: brightness(0); }
html[data-spa-mode="dark"] .btn-close { filter: brightness(0) invert(1); }
html[data-spa-mode="light"] .form-select { background-image: none; appearance: auto; padding-right: 12px; }
html[data-spa-mode="light"] .navbar-toggler-icon { filter: brightness(0.2); }
.spa-appearance { position: relative; z-index: 1035; color: var(--spa-ui-text); }
.spa-appearance .spa-appearance-inner { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-height: 56px; }
.spa-appearance-status { position: fixed; bottom: 100px; right: 16px; max-width: min(340px, calc(100vw - 32px)); padding: 12px 16px; background: var(--spa-card); color: var(--spa-text); border: 1px solid var(--spa-border); border-radius: 8px; box-shadow: var(--spa-shadow); font-size: 0.875rem; overflow-wrap: anywhere; pointer-events: none; }
.spa-appearance-status:empty { display: none; }
.spa-theme-picker { position: relative; flex: 0 0 auto; }
.spa-theme-picker summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 10px; border-radius: 6px; cursor: pointer; list-style: none; font-size: 0.85rem; }
.spa-theme-picker summary > .bi-palette { color: var(--spa-accent); font-size: 1.1rem; }
.spa-theme-picker summary > .bi-chevron-down { font-size: 0.7rem; transition: transform 160ms ease; }
.spa-theme-picker[open] summary > .bi-chevron-down { transform: rotate(180deg); }
.spa-theme-picker summary:hover, .spa-theme-picker[open] summary { background: var(--spa-tint); }
.spa-theme-picker summary::-webkit-details-marker { display: none; }
.spa-theme-panel { position: absolute; top: calc(100% + 14px); right: 0; width: 308px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 100px); overflow-y: auto; padding: 20px; background: linear-gradient(140deg, var(--spa-card), var(--spa-surface-end)); border: 1px solid var(--spa-ui-border); border-radius: 8px; box-shadow: 0 16px 40px #0003; }
.spa-theme-options, .spa-mode-options { padding: 0; margin: 0; border: 0; min-width: 0; }
.spa-theme-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.spa-theme-options legend, .spa-mode-options legend { float: none; width: 100%; font-size: 0.8rem; font-weight: 600; margin: 0 0 12px; color: var(--spa-muted); }
.spa-mode-options { margin-bottom: 20px; }
.spa-mode-segments { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: var(--spa-tint); border-radius: 7px; }
.spa-mode-segments label { position: relative; cursor: pointer; }
.spa-mode-segments span { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; font-size: 0.85rem; border-radius: 5px; }
.spa-mode-segments input:checked + span { background: var(--spa-card); color: var(--spa-accent); box-shadow: 0 2px 5px #0002; font-weight: 600; }
.spa-theme-option { position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 82px; padding: 10px; cursor: pointer; border: 1px solid var(--spa-ui-border); border-radius: 6px; font-size: 0.8rem; }
.spa-theme-option:has(input:checked) { border-color: var(--spa-accent); box-shadow: inset 0 0 0 1px var(--spa-accent); background: var(--spa-tint); }
.spa-theme-option input, .spa-mode-segments input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.spa-theme-option:has(input:focus-visible), .spa-mode-segments input:focus-visible + span { outline: 3px solid var(--spa-accent); outline-offset: 3px; }
.spa-swatch { width: 100%; height: 24px; border: 1px solid #ffffff33; border-radius: 3px; }
.spa-swatch-original { background: linear-gradient(110deg, #503775, #888cc7, #de9bbb); }
.spa-swatch-jade { background: linear-gradient(110deg, #146b52, #77b5c4, #d4b897); }
.spa-swatch-pearl { background: linear-gradient(110deg, #667896, #c4d5e6, #dca9bd); }
.spa-swatch-rose { background: linear-gradient(110deg, #a12e56, #b78bb9, #8cbdb4); }
.spa-swatch-ocean { background: linear-gradient(110deg, #126184, #6dbdaf, #dfa58c); }
.spa-swatch-graphite { background: linear-gradient(110deg, #444953, #94809b, #80b09d); }
.spa-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--spa-ui-text); font-size: 1.15rem; }
.spa-icon-button:hover { background: var(--spa-tint, #36244c); }
:is(.spa-icon-button, .spa-theme-picker summary, .spa-mobile-nav a):focus-visible { outline: 3px solid var(--spa-ui-accent); outline-offset: 3px; }
.spa-logo-dialog { width: min(440px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--spa-ui-border); border-radius: 8px; background: var(--spa-ui-panel); color: var(--spa-ui-text); z-index: 2100; }
.spa-logo-dialog::backdrop { background: #0009; }
.spa-logo-heading, .spa-logo-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.spa-logo-heading h2 { font-size: 1.25rem; margin: 0; color: var(--spa-ui-text) !important; }
.spa-logo-preview { display: block; width: 100%; height: 150px; object-fit: contain; margin: 24px auto; background: #fff; border: 1px solid var(--spa-ui-border); border-radius: 6px; padding: 8px; }
.spa-logo-feedback { min-height: 24px; font-size: 0.875rem; margin: 12px 0; color: var(--spa-ui-text); }
.spa-brand-logo { width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; }
.spa-login-logo { width: 100%; max-width: 220px; height: 104px; object-fit: contain; margin-bottom: 12px; }
.spa-site-header { position: sticky; top: 0; z-index: 1035; border-bottom: 1px solid var(--spa-border); box-shadow: 0 4px 20px #00000012; }
html[data-spa-theme] .spa-main-nav { background: linear-gradient(110deg, var(--spa-card), var(--spa-surface-end)) !important; box-shadow: none; padding: 8px 0; }
.spa-main-nav .spa-nav-shell { max-width: 1600px; padding: 0 24px; gap: 20px; }
.spa-main-nav .navbar-brand { display: flex; align-items: center; gap: 10px; margin-right: 4px; padding: 0; letter-spacing: 0; white-space: normal; font-size: 1.1rem; font-weight: 700; }
.spa-main-nav .navbar-brand:hover { text-decoration: none; }
.spa-main-nav .navbar-collapse { order: 1; min-width: 0; }
.spa-main-nav .navbar-nav { gap: 4px; align-items: center; }
.spa-main-nav .nav-link { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 12px !important; font-size: 0.875rem; font-weight: 500; border: 0; border-radius: 6px; background: transparent; white-space: nowrap; }
.spa-main-nav .nav-link:hover { background: var(--spa-tint); text-decoration: none; }
.spa-main-nav .nav-link:is([aria-current="page"], .spa-nav-active) { background: var(--spa-tint); box-shadow: inset 0 -2px 0 var(--spa-accent); font-weight: 700; }
.spa-main-nav .spa-account-links { margin-left: auto; padding-left: 16px; }
.spa-header-tools { order: 2; flex-shrink: 0; border-left: 1px solid var(--spa-border); padding-left: 14px; }
.spa-header-tools .spa-appearance-inner { padding: 0; min-height: 44px; }
.spa-main-nav .navbar-toggler { order: 3; padding: 0; }
.spa-user-toggle span { max-width: 130px; overflow: hidden; text-overflow: ellipsis; }
.spa-user-toggle > .bi { font-size: 1.25rem; color: var(--spa-accent); }
.spa-main-nav .dropdown-menu { padding: 8px; margin-top: 12px; min-width: 240px; border-radius: 8px; box-shadow: var(--spa-shadow); }
.spa-main-nav .dropdown-item { min-height: 40px; display: flex; align-items: center; padding: 10px 12px; border-radius: 4px; font-size: 0.875rem; }
.spa-main-nav .dropdown-item[aria-current="page"] { background: var(--spa-tint) !important; font-weight: 700; }
.spa-main-nav .spa-user-details { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; overflow-wrap: anywhere; white-space: normal; max-width: 280px; }
.spa-user-details span { font-size: 0.75rem; color: var(--spa-muted); }
.spa-main-nav .dropdown-divider { border-color: var(--spa-border); }
.spa-main-nav .dropdown-toggle::after { margin-left: 2px; }
.spa-mobile-nav { display: none; }
.spa-login .auth-wrapper { min-height: calc(100dvh - 110px); padding: 24px 16px; }
.spa-login .auth-card { max-width: 440px; }
.spa-login .card-body { padding: 28px; }
.spa-login :is(.form-control, .btn) { min-height: 46px; }
.spa-demo-banner > .container { flex-wrap: wrap; gap: 8px; overflow-wrap: anywhere; }
@media (max-width: 1199.98px) {
  .spa-main-nav .spa-nav-shell { gap: 8px; padding: 0 16px; }
  .spa-header-tools { order: 1; margin-left: auto; border-left: 0; padding-left: 0; }
  .spa-main-nav .navbar-collapse { order: 4; }
  .spa-main-nav .spa-account-links { margin-left: 0; margin-top: 12px; padding: 12px 0 0; border-top: 1px solid var(--spa-border); }
  .spa-main-nav .spa-user-toggle span { max-width: none; white-space: normal; overflow-wrap: anywhere; }
  .spa-main-nav .navbar-collapse { padding: 16px 0; max-height: 65dvh; overflow-y: auto; }
  .spa-main-nav .navbar-nav { align-items: stretch !important; }
  .spa-main-nav .nav-item { margin-right: 0 !important; }
  .spa-main-nav .nav-link, .spa-main-nav .btn { min-height: 44px; display: flex; align-items: center; font-size: 1rem; padding: 10px 12px; }
  .spa-main-nav .dropdown-menu { border: 0; margin-bottom: 12px; }
  .spa-main-nav .dropdown-item { padding: 12px; white-space: normal; }
}
@media (max-width: 767.98px) {
  body:has(.spa-mobile-nav) { padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important; }
  .spa-mobile-nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1030; display: flex; justify-content: space-around; gap: 4px; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: var(--spa-ui-panel); border-top: 1px solid var(--spa-ui-border); }
  .spa-mobile-nav a { flex: 1 1 0; min-width: 0; min-height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--spa-ui-text) !important; font-size: 0.75rem; text-decoration: none; border-radius: 6px; }
  .spa-mobile-nav i { font-size: 1.2rem; }
  .spa-mobile-nav [aria-current="page"] { background: var(--spa-tint, #36244c); color: var(--spa-ui-accent) !important; font-weight: 700; }
  .spa-main-nav .navbar-brand { font-size: 1rem; max-width: calc(100% - 72px); }
  .spa-main-nav .navbar-toggler { min-height: 44px; }
  body > .container { margin-top: 20px !important; padding-left: 12px; padding-right: 12px; }
  body > .container > .d-flex { flex-wrap: wrap; gap: 12px; }
  h1, h2 { font-size: 1.4rem !important; overflow-wrap: anywhere; }
  h3, h4 { font-size: 1.2rem !important; overflow-wrap: anywhere; }
  .btn { min-height: 44px; white-space: normal; }
  .btn-sm { padding: 8px 12px; }
  .form-control, .form-select { min-height: 46px; font-size: 16px !important; }
  .form-check-input { min-width: 20px; min-height: 20px; }
  .form-check-label { padding: 4px 0; }
  .input-group { min-width: 0; }
  .table-responsive, .card-ordenes-list .table-responsive { max-width: 100%; overflow-x: auto !important; overscroll-behavior-x: contain; }
  .table:not(#itemsTable):not(.report-table) { min-width: 620px; }
  .table :is(th, td) { padding: 12px 10px; }
  #itemsTable .input-group { flex-wrap: wrap; }
  .modal .modal-dialog { margin: 8px; max-width: calc(100% - 16px); }
  .modal .modal-content { max-height: calc(100dvh - 16px); overflow-y: auto; }
  .modal .modal-body { padding: 16px; overflow-y: auto; }
  .modal .modal-footer { gap: 8px; flex-wrap: wrap; }
  .modal .modal-header { align-items: flex-start; }
  .modal .btn-close { min-width: 28px; min-height: 28px; }
  .spa-logo-dialog { padding: 18px; }
  .spa-login .card-body { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body, .card, .modal, .collapsing, .spa-theme-picker summary > .bi-chevron-down { animation: none !important; transition: none !important; }
}
@media print {
  .spa-site-header, .spa-appearance, .spa-mobile-nav, .spa-logo-dialog { display: none !important; }
}
@media (max-width: 479.98px) {
  .spa-header-tools .spa-theme-picker summary > span, .spa-header-tools .spa-theme-picker summary > .bi-chevron-down { display: none; }
  .spa-header-tools .spa-theme-picker summary { width: 44px; justify-content: center; padding: 0; }
  .spa-theme-panel { position: fixed; top: 72px; left: 12px; right: 12px; width: auto; max-width: none; }
}
html[data-spa-theme] .pdf-export #areaImprimir,
html[data-spa-theme] .pdf-export #areaImprimir * {
  background: #fff !important; color: #000 !important; box-shadow: none !important;
  --bs-table-bg: #fff; --bs-table-striped-bg: #fff; --bs-table-hover-bg: #fff;
}