/* MauzoTrack professional interface layer. It intentionally sits after app.css. */
:root {
  --surface-subtle: #f8fafc;
  --surface-raised: #ffffff;
  --focus-ring: rgba(37, 99, 235, .18);
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);
  --shadow-md: 0 12px 30px rgba(15, 23, 42, .07);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
}

/* MauzoTrack 1.0 (Build 37) — final transaction, backup and mobile operation polish. */
.backup-workspace{margin:16px 0}.backup-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-subtle)}.backup-mode-tabs button{min-height:42px;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:850;cursor:pointer}.backup-mode-tabs button.active{background:var(--panel);color:var(--primary);box-shadow:0 2px 8px rgba(15,23,42,.08)}.backup-mode-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 4px 0}.backup-mode-panel[hidden]{display:none!important}.backup-mode-panel form{margin:0}.backup-mode-panel small{color:var(--muted);font-size:10.5px;text-align:right}.backup-restore-form[hidden]{display:none!important}
.account-security-heading{display:flex;align-items:flex-start;gap:12px}.account-security-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:#ecfdf3;color:#15803d;font-weight:900}.account-security-heading h3{margin:0 0 3px}
.dashboard-sale-clickable{cursor:pointer}.dashboard-sale-clickable:hover td{background:#f5f9ff!important}.dashboard-sale-clickable:focus{outline:2px solid #93c5fd;outline-offset:-2px}.dashboard-sale-row{text-decoration:none;color:inherit}.dashboard-sale-open{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eff6ff;color:#2563eb;font-size:19px;font-weight:900}
.mobile-sale-link>span{position:relative}.mobile-cart-product-count{position:absolute;top:-5px;right:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:900;line-height:1}.mobile-cart-product-count[hidden]{display:none!important}
.payment-balance-pending{color:#b45309!important;font-weight:850}.mobile-sale-payment-stack{display:inline-flex;align-items:center;gap:5px}.mobile-sale-payment-stack small{color:#b45309;font-size:9px;font-weight:850}.mobile-sale-sync{font-weight:800;color:#15803d}.mobile-sale-sync--offline{color:#b45309}
select option{font-size:13px!important}.filter-select-control{position:relative;min-width:0}.filter-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.filter-select-button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.filter-select-button:focus{outline:0;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(59,130,246,.15)}.filter-select-button b{color:var(--muted);font-size:12px}.filter-select-menu{position:fixed;z-index:900;display:grid;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 18px 46px rgba(15,23,42,.2)}.filter-select-menu button{width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.filter-select-menu button:hover,.filter-select-menu button.selected{background:#eff6ff;color:#1d4ed8}.filter-select-menu button.selected{font-weight:850}
body.theme-dark .backup-mode-tabs{background:#0f1929}.theme-dark .backup-mode-tabs button.active,.theme-dark .filter-select-button,.theme-dark .filter-select-menu{background:#111c2d;color:#e5edf8}.theme-dark .filter-select-menu button:hover,.theme-dark .filter-select-menu button.selected{background:#142844;color:#9fc2ff}.theme-dark .dashboard-sale-clickable:hover td{background:#172238!important}.theme-dark .dashboard-sale-open{background:#142844;color:#9fc2ff}
@media(min-width:801px){.sale-review-layout{grid-template-columns:minmax(0,1fr) minmax(370px,390px)!important}.notification-menu-panel{right:0!important}.export-choice-menu>summary{justify-content:center}.filter-select-control{width:100%}}
@media(max-width:800px){
  .backup-section{padding:16px!important}.backup-mode-tabs{gap:3px}.backup-mode-tabs button{min-height:46px;padding:9px 7px;font-size:12.5px}.backup-mode-panel{align-items:stretch;flex-direction:column;padding:12px 0 0}.backup-mode-panel form,.backup-mode-panel .btn{width:100%}.backup-mode-panel small{text-align:left;line-height:1.45}
  .account-security-settings{padding:17px!important}.account-security-heading{gap:11px}.account-security-heading h3{font-size:18px}.account-security-heading p{font-size:12px;line-height:1.5}.account-security-summary{gap:13px!important;margin-top:16px!important;padding:15px!important}.account-security-summary>div{display:grid!important;grid-template-columns:1fr auto;gap:6px 10px!important;align-items:center}.account-security-summary>div>span:first-child{grid-column:1/-1}.account-security-summary strong{font-size:14px;line-height:1.35}.account-security-summary .status-pill{justify-self:end}.account-security-summary .btn{min-height:46px;font-size:13px!important}
  .settings-tab-panel .settings-stack{gap:14px}.settings-tab-panel .settings-section{margin-bottom:14px}.settings-tab-panel .save-settings{min-height:46px}
  .route-dashboard .dashboard-sale-row{grid-template-columns:minmax(0,1fr) auto auto!important}.dashboard-sale-open{width:26px;height:26px}
  .route-sales-index .mobile-data-support{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px!important}.route-sales-index .mobile-data-support>span::after{display:none!important}.route-sales-index .mobile-sale-payment-stack,.route-sales-index .mobile-sale-sync{justify-self:end}.route-sales-index .mobile-sale-payment-stack{flex-direction:column;align-items:flex-end;gap:2px}.route-sales-index .mobile-sale-payment-stack small{font-size:10px}.route-sales-index .mobile-sale-sync{padding:4px 7px;border-radius:999px;background:#ecfdf3}.route-sales-index .mobile-sale-sync--offline{background:#fff7ed}
  select,select option{font-size:14px!important}
}

body { min-width: 320px; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.card { box-shadow: var(--shadow-sm); }
.card:hover { border-color: #d5deea; }
.content { max-width: 1680px; margin: 0 auto; width: 100%; }
.page-heading h2, .page-title { line-height: 1.15; }
.heading-actions { justify-content: flex-end; }

.btn, .quick-link, .mini-link, .mini-button {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.btn:hover, .quick-link:hover, .mini-button:hover { box-shadow: 0 6px 16px rgba(37, 99, 235, .16); }
.btn:active, .quick-link:active, .mini-button:active { transform: translateY(1px); }
.btn-secondary:hover { background: #f8fafc; border-color: #cbd5e1; color: #0f172a; box-shadow: var(--shadow-sm); }
.btn-danger:hover { background: #b91c1c; }
.btn-danger-outline:hover { background: #fef2f2; border-color: #fca5a5; }
.btn-small { min-height: 34px; padding: 7px 10px; font-size: 12px; }
.btn-tertiary { min-height: 40px; padding: 9px 11px; border: 0; background: transparent; color: var(--primary); font-weight: 800; cursor: pointer; }

.filter-card { border-radius: var(--radius-md); box-shadow: none; }
.filter-grid input, .filter-grid select { min-height: 42px; background: var(--surface-raised); }
.filter-grid .filter-actions { display: flex; gap: 8px; align-items: center; }
.expense-filter.has-search { grid-template-columns: minmax(210px,1fr) 170px 190px minmax(300px,1fr) auto; }
.stock-movement-filter { grid-template-columns: minmax(260px,1fr) 230px auto; }
.category-filter { grid-template-columns: minmax(260px,1fr) 190px auto; }
[data-live-results] { position: relative; transition: opacity .16s ease; }
[data-live-results][aria-busy="true"] { opacity: .58; pointer-events: none; }
[data-live-results][aria-busy="true"]::before {
  content: ""; position: absolute; z-index: 5; top: 12px; right: 12px; width: 20px; height: 20px;
  border: 3px solid #bfdbfe; border-top-color: var(--primary); border-radius: 50%; animation: professional-spin .7s linear infinite;
}
@keyframes professional-spin { to { transform: rotate(360deg); } }

.table-card { border-radius: var(--radius-md); box-shadow: none; }
.data-table th { position: sticky; top: 0; z-index: 1; letter-spacing: .01em; }
.data-table td { line-height: 1.35; }
.data-table tbody tr:nth-child(even) td { background: rgba(248, 250, 252, .45); }
.data-table tbody tr:hover td { background: #f3f7fc; }
.table-footer { min-height: 55px; }
.row-actions-primary { display: inline-flex; gap: 7px; align-items: center; }
.row-overflow { position: relative; }
.row-overflow > summary { list-style: none; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); cursor: pointer; font-weight: 900; }
.row-overflow > summary::-webkit-details-marker { display: none; }
.row-overflow[open] > div { position: absolute; right: 0; z-index: 8; min-width: 180px; display: grid; gap: 4px; padding: 7px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); box-shadow: var(--shadow-md); }
.row-overflow a, .row-overflow button { width: 100%; min-height: 34px; padding: 7px 9px; border: 0; border-radius: 7px; background: transparent; color: var(--text); text-align: left; font-weight: 700; cursor: pointer; }
.row-overflow a:hover, .row-overflow button:hover { background: var(--surface-subtle); }

.mobile-record-list { display: none; }
.mobile-record-card { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 14px; background: var(--panel); box-shadow: var(--shadow-sm); }
.mobile-record-head, .mobile-record-foot { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.mobile-record-head h3 { margin: 0; font-size: 15px; }
.mobile-product-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mobile-product-title h3 { overflow-wrap: anywhere; }
.mobile-record-head small, .mobile-record-meta small { color: var(--muted); }
.mobile-record-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 13px 0; }
.mobile-record-meta > span { display: grid; gap: 3px; }
.mobile-record-meta strong { font-size: 13px; overflow-wrap: anywhere; }
.mobile-record-foot { align-items: center; padding-top: 11px; border-top: 1px solid var(--line); }
.mobile-card-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.empty-state-professional { max-width: 520px; margin: 0 auto; padding: 44px 22px; text-align: center; }
.empty-state-professional .empty-icon { width: 52px; height: 52px; margin: 0 auto 13px; display: grid; place-items: center; border-radius: 15px; background: #eff6ff; color: var(--primary); font-size: 22px; font-weight: 900; }
.empty-state-professional h3 { margin: 0 0 7px; font-size: 17px; }
.empty-state-professional p { max-width: 390px; margin: 0 auto 16px; color: var(--muted); line-height: 1.55; }

.product-wizard-steps { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); margin: -20px -20px 22px; border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.product-wizard-steps button { min-width: 0; min-height: 68px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); font-size: 12px; font-weight: 800; cursor: pointer; }
.product-wizard-steps button b { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #cbd5e1; border-radius: 50%; background: var(--panel); color: var(--muted); }
.product-wizard-steps button.active { border-bottom-color: var(--primary); color: var(--primary); }
.product-wizard-steps button.active b { background: var(--primary); border-color: var(--primary); color: white; }
.product-wizard-steps button.complete { color: #15803d; }
.product-wizard-steps button.complete b { background: #dcfce7; border-color: #86efac; color: #166534; }
.product-wizard-steps button:disabled { cursor: default; opacity: .65; }
.product-wizard-panel { animation: wizard-panel-in .2s ease; }
@keyframes wizard-panel-in { from { opacity: .35; transform: translateY(5px); } }
.product-wizard-panel .product-flow-heading { margin-bottom: 18px; }
.wizard-mode-block { margin-top: 16px; }
.product-wizard-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 20px; margin-top: 22px; border-top: 1px solid var(--line); }
.product-wizard-actions > div { display: flex; align-items: center; gap: 9px; }
.product-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.product-review-grid article { min-width: 0; display: grid; gap: 5px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-subtle); }
.product-review-grid span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.product-review-grid strong { overflow-wrap: anywhere; }
.product-review-grid small { color: var(--muted); line-height: 1.4; }
.review-callout { display: grid; gap: 4px; margin-top: 15px; padding: 14px; border: 1px solid #bfdbfe; border-radius: 11px; background: #eff6ff; color: #1e3a8a; }
.review-callout span { font-size: 13px; }
.stock-correction-preview { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin: 4px 0 18px; padding: 14px; border: 1px solid #bfdbfe; border-radius: 12px; background: #f8fbff; }
.stock-correction-preview span { display: grid; gap: 4px; }
.stock-correction-preview small { color: var(--muted); }
.stock-correction-preview i { color: var(--primary); font-size: 20px; font-style: normal; }
.stock-preview-invalid { color: var(--red); }
.stock-costing-preview { position: relative; margin-top: -6px; background: #f9fbff; }
.stock-costing-preview .stock-cost-rule { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid var(--border); line-height: 1.45; }
.stock-costing-preview .stock-cost-rule.is-safe { color: #047857; }
.stock-costing-preview .stock-cost-rule.is-warning { color: var(--red); font-weight: 700; }
.stock-costing-preview.has-cost-conflict { border-color: #fecaca; background: #fff7f7; }
.document-logo-field { grid-row: span 2; }
.document-logo-preview { display: flex; align-items: center; gap: 12px; margin-top: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; }
.document-logo-preview img { width: 72px; height: 52px; object-fit: contain; }
.document-logo-preview label { display: flex; align-items: center; gap: 7px; font-weight: 700; }
.document-logo-preview input { width: auto; }
.receipt-detail-toggles { margin-top: 12px; }
.compact-page-header { margin-bottom: 10px; }
.form-note-list { margin: 8px 0 0 18px; }
.page-subtitle-flush { margin-top: 0; }
.full-width-field { grid-column: 1 / -1; }
.product-image-actions, .image-preview-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.product-image-native-input { position: absolute; width: 1px !important; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.image-preview-box { align-items: center; gap: 12px; }
.image-preview-box img { width: 96px; height: 76px; border-radius: 10px; object-fit: cover; border: 1px solid var(--line); }
.stock-description-field { margin-top: 16px; }
.review-product-image-card > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.review-product-image-card img { width: 46px; height: 46px; flex: 0 0 auto; object-fit: cover; border-radius: 9px; border: 1px solid var(--line); }

.theme-toggle-button, .text-size-button, .language-switch button {
  width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); color: var(--text); cursor: pointer;
}
.theme-toggle-button .app-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.connection-chip { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); font-size: 12px; font-weight: 800; }

.login-body { position: relative; overflow-x: hidden; background: radial-gradient(circle at 15% 15%, #274da2 0, transparent 35%), linear-gradient(135deg, #081226, #122b5f 58%, #1d4ed8); }
.login-body::before { content: ""; position: fixed; width: 420px; height: 420px; right: -160px; bottom: -180px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.login-card { position: relative; border: 1px solid rgba(255,255,255,.45); border-radius: 22px; box-shadow: 0 32px 90px rgba(2, 6, 23, .38); }
.login-brand-professional { display: flex; align-items: center; gap: 13px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.login-brand-professional h1 { margin: 0; font-size: 20px; }
.login-brand-professional p { margin: 3px 0 0; font-size: 12px; }
.login-heading { margin: 22px 0 18px; }
.login-heading h2 { margin: 0 0 5px; font-size: 24px; }
.login-heading p { margin: 0; }
.login-remember { display: flex; align-items: center; gap: 9px; margin: 3px 0 17px; color: #475569; font-size: 13px; cursor: pointer; }
.login-remember input { width: 17px; height: 17px; }
.login-security-note { display: block; margin-top: 18px; color: #94a3b8; text-align: center; line-height: 1.45; }

body.theme-dark {
  --bg: #0b1220; --panel: #111827; --text: #e5e7eb; --muted: #94a3b8; --line: #293548;
  --surface-subtle: #172033; --surface-raised: #111827; --focus-ring: rgba(96, 165, 250, .3);
  background: var(--bg); color: var(--text);
}
body.theme-dark .topbar, body.theme-dark .card, body.theme-dark input, body.theme-dark select, body.theme-dark textarea,
body.theme-dark .summary-card, body.theme-dark .data-table th, body.theme-dark .data-table td, body.theme-dark .btn-secondary,
body.theme-dark .theme-toggle-button, body.theme-dark .text-size-button, body.theme-dark .language-switch button { background: var(--panel); color: var(--text); border-color: var(--line); }
body.theme-dark .data-table tbody tr:nth-child(even) td { background: #121b2b; }
body.theme-dark .data-table tbody tr:hover td { background: #172238; }
body.theme-dark .form-group small, body.theme-dark .mobile-record-meta small { color: var(--muted); }
body.theme-dark .status-box { background: #0d2f24; color: #a7f3d0; border-color: #166534; }
body.theme-dark .error-box { background: #37151a; color: #fecaca; border-color: #7f1d1d; }
body.theme-dark .review-callout { background: #14294a; border-color: #1d4ed8; color: #bfdbfe; }
body.theme-dark .stock-correction-preview { background: #142033; border-color: #1d4ed8; }
body.theme-dark .stock-costing-preview { background: #111c2d; border-color: #334155; }
body.theme-dark .stock-costing-preview.has-cost-conflict { background: #2a171b; border-color: #7f1d1d; }

@media (max-width: 800px) {
  .content { padding-bottom: 92px; }
  .desktop-record-table { display: none; }
  .mobile-record-list { display: grid; gap: 10px; padding: 10px; }
  .page-heading { gap: 12px; }
  .page-heading .heading-actions { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .page-heading .heading-actions > * { flex: 0 0 auto; }
  .heading-actions .btn { min-height: 38px; padding: 8px 11px; }
  .connection-chip { display: none; }
  .theme-toggle-button { display: none; }
  .filter-card { padding: 11px; }
  .filter-grid .filter-actions { width: 100%; }
  .filter-grid .filter-actions .btn { flex: 1; }
  .expense-filter.has-search, .stock-movement-filter, .category-filter { grid-template-columns: 1fr; }
  .product-wizard-steps { grid-template-columns: repeat(5, 72px); overflow-x: auto; justify-content: start; }
  .product-wizard-steps button { min-height: 62px; flex-direction: column; gap: 4px; font-size: 10px; }
  .product-review-grid { grid-template-columns: 1fr; }
  .product-wizard-actions { align-items: stretch; flex-direction: column-reverse; }
  .product-wizard-actions > div, #productWizardSubmit { width: 100%; }
  .product-wizard-actions .btn, .product-wizard-actions .btn-tertiary { flex: 1; }
  #productWizardNext { width: 100%; }
  .stock-correction-preview { grid-template-columns: 1fr; }
  .stock-correction-preview i { transform: rotate(90deg); justify-self: start; }
}

/* MauzoTrack 1.0.24 — calm, full-height notification centre. */
.notification-menu-panel {
  width: min(460px, calc(100vw - 28px));
  max-height: min(720px, calc(100vh - 86px));
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, .22);
}
.notification-panel-head {
  min-height: 72px;
  padding: 16px 16px 13px 18px;
  align-items: center;
}
.notification-panel-head > div:first-child { display: grid; gap: 3px; }
.notification-panel-head strong { font-size: 18px; line-height: 1.2; letter-spacing: -.02em; }
.notification-panel-head small { font-size: 11.5px; line-height: 1.35; }
.notification-head-actions { display: flex; align-items: center; gap: 8px; }
.header-menu-panel .notification-read-all-button {
  width: auto;
  min-height: 34px;
  padding: 7px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--primary);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.header-menu-panel .notification-read-all-button:hover { background: var(--surface-subtle); }
.header-menu-panel .notification-read-all-button[hidden] { display: none !important; }
.notification-tabs { padding: 0 14px 12px; gap: 8px; }
.header-menu-panel .notification-tabs > button {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 11.5px;
}
.notification-list { max-height: min(540px, calc(100vh - 238px)); }
.header-menu-panel .notification-item { min-height: 86px; }
.header-menu-panel .notification-item-main {
  grid-template-columns: 40px minmax(0, 1fr) 8px;
  gap: 12px;
  padding: 14px 7px 14px 16px;
}
.notification-item-icon { width: 40px; height: 40px; border-radius: 12px; font-size: 14px; }
.notification-item-copy { gap: 4px; }
.notification-item-title { font-size: 13.5px; line-height: 1.35; }
.notification-item-message { font-size: 12px; line-height: 1.45; font-weight: 600; }
.notification-item-copy small { font-size: 10.5px; line-height: 1.4; }
.notification-row-menu > summary { width: 34px; height: 34px; font-size: 12px; }
.notification-row-menu > div { top: 38px; width: 142px; }
.header-menu-panel .notification-row-menu button { min-height: 36px; font-size: 11px; }
.notification-panel-footer-actions { min-height: 52px; padding: 9px 14px; }
.header-menu-panel .notification-panel-footer-actions > button { min-height: 34px; font-size: 10.5px; }
.notification-empty { padding: 48px 20px; font-size: 12.5px; }

@media (max-width: 800px) {
  html.notification-panel-open { overflow: hidden; }
  .notification-menu-panel {
    top: var(--app-topbar-height, 64px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: calc(100dvh - var(--app-topbar-height, 64px));
    max-height: none !important;
    border-width: 1px 0 0;
    border-radius: 0;
    box-shadow: 0 -8px 32px rgba(15, 23, 42, .16);
  }
  .notification-panel-head { min-height: 68px; padding: 14px 14px 12px 16px; }
  .notification-panel-head strong { font-size: 18px; }
  .notification-panel-head small { font-size: 11px; }
  .header-menu-panel .notification-read-all-button { min-height: 32px; padding-inline: 7px; font-size: 10.5px; }
  .notification-tabs { padding: 0 12px 11px; overflow-x: auto; }
  .header-menu-panel .notification-tabs > button { flex: 0 0 auto; min-width: 74px; font-size: 11px; }
  .notification-list { min-height: 0; max-height: none; }
  .header-menu-panel .notification-item { min-height: 90px; }
  .header-menu-panel .notification-item-main { grid-template-columns: 40px minmax(0, 1fr) 7px; padding: 14px 4px 14px 14px; }
  .notification-item-title { font-size: 13.5px; }
  .notification-item-message { font-size: 12px; }
  .notification-item-copy small { font-size: 10.5px; }
  .notification-panel-footer-actions { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .notification-row-menu > div { bottom: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Final requirement pass: stable two-column POS catalogue and scroll-free Review Sale. */
.quick-pos-layout .pos-paged-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.review-table-head, .review-item-row {
  grid-template-columns: minmax(130px, 1.35fr) minmax(82px, .72fr) minmax(88px, .78fr) minmax(104px, .82fr) minmax(82px, .68fr) minmax(94px, .78fr) 72px !important;
  gap: 8px !important;
}
.review-table-head { padding-inline: 14px !important; font-size: 8.5px !important; }
.review-item-row { padding-inline: 14px !important; }
.review-items-list { overflow-x: hidden !important; }
.review-line-total { white-space: nowrap; }
.success-action-buttons .success-history-button {
  border-color: #d8e0eb !important; background: var(--panel) !important; color: var(--muted) !important; box-shadow: none !important;
}
.success-action-buttons .success-history-button:hover { background: var(--surface-subtle) !important; color: var(--text) !important; }

@media (max-width: 1380px) {
  .sale-review-layout { grid-template-columns: 1fr !important; }
  .payment-summary-card { position: static !important; }
  .review-items-list { max-height: none !important; }
}

@media (max-width: 800px) {
  .review-item-row { grid-template-columns: minmax(0, 1fr) auto auto !important; }
  .review-item-product { grid-column: 1 / 4 !important; }
  .review-selling-unit, .review-quantity, .review-line-total-cell { grid-column: 1 !important; }
  .review-unit-price, .review-discount { grid-column: 2 !important; }
  .review-row-actions { grid-column: 3 !important; grid-row: 2 / 5 !important; align-self: center; }
  .route-pos-index .payment-summary-card .review-complete-button { bottom: 10px !important; }
}

@media (max-width: 380px) {
  .review-item-row { grid-template-columns: minmax(0, 1fr) auto !important; }
  .review-item-product { grid-column: 1 / 3 !important; }
  .review-selling-unit, .review-unit-price, .review-quantity, .review-discount, .review-line-total-cell { grid-column: 1 !important; }
  .review-row-actions { grid-column: 2 !important; grid-row: 2 / 7 !important; }
}

/* MauzoTrack 1.0.8 — scoped report downloads. */
.export-choice-menu { position: relative; z-index: 12; }
.export-choice-menu > summary { list-style: none; white-space: nowrap; }
.export-choice-menu > summary::-webkit-details-marker { display: none; }
.export-choice-menu > summary .app-icon { width: 16px; height: 16px; }
.export-choice-menu > summary b { margin-left: 2px; color: var(--muted); font-size: 13px; transition: transform .16s ease; }
.export-choice-menu[open] > summary b { transform: rotate(180deg); }
.export-choice-panel {
  position: absolute; z-index: 120; top: calc(100% + 7px); right: 0; width: min(310px, calc(100vw - 28px));
  display: grid; gap: 5px; padding: 7px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--panel); box-shadow: 0 18px 48px rgba(15, 23, 42, .18);
}
.export-choice-panel > a { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; min-height: 58px; padding: 9px 10px; border-radius: 9px; }
.export-choice-panel > a:hover, .export-choice-panel > a:focus-visible { background: var(--surface-subtle); }
.export-choice-panel > a > span:last-child { min-width: 0; display: grid; gap: 3px; }
.export-choice-panel strong { color: var(--text); font-size: 12px; }
.export-choice-panel small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.export-choice-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; background: #eff6ff; color: #2563eb; }
.export-choice-icon .app-icon { width: 18px; height: 18px; }

/* MauzoTrack 1.0.8 — product-grade dark surface hierarchy. */
body.theme-dark {
  color-scheme: dark;
  --bg: #080f1a;
  --panel: #111b2a;
  --text: #e7edf6;
  --muted: #8d9bb0;
  --line: #253449;
  --surface-subtle: #0d1724;
  --surface-raised: #162233;
  --primary: #5d8ee8;
  --primary-dark: #4d7dd6;
  --green: #3aad7c;
  --orange: #d39a43;
  --red: #dc6870;
  --purple: #9580df;
  --focus-ring: rgba(113, 157, 239, .25);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .22);
  --shadow-md: 0 18px 44px rgba(0, 0, 0, .32);
  background: var(--bg);
  color: var(--text);
}
body.theme-dark .app-shell,
body.theme-dark .main,
body.theme-dark .content { background: var(--bg); }
body.theme-dark .sidebar {
  background: linear-gradient(180deg, #070d16 0%, #0a1220 62%, #0d1624 100%);
  border-right: 1px solid #182438;
  box-shadow: 12px 0 32px rgba(0, 0, 0, .14);
}
body.theme-dark .brand { border-color: #1a273a; }
body.theme-dark .nav-title { color: #687890; }
body.theme-dark .nav-link { color: #a9b5c6; }
body.theme-dark .nav-link:hover { background: rgba(148, 163, 184, .075); color: #eef4fb; }
body.theme-dark .nav-link.active {
  background: linear-gradient(90deg, rgba(72, 116, 207, .76), rgba(52, 82, 144, .62));
  box-shadow: inset 0 0 0 1px rgba(133, 170, 241, .16), 0 8px 22px rgba(0, 0, 0, .18);
}
body.theme-dark .topbar {
  background: rgba(12, 21, 34, .96);
  border-color: #1f2c3f;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .15);
  backdrop-filter: blur(14px);
}
body.theme-dark .topbar h1,
body.theme-dark .page-heading h2,
body.theme-dark .page-title,
body.theme-dark .welcome-row h2,
body.theme-dark .widget-head h3,
body.theme-dark .table-toolbar h3,
body.theme-dark .section-heading h3,
body.theme-dark .info-card h3,
body.theme-dark .payment-summary-head h3,
body.theme-dark .review-card-head h3 { color: #edf3fb; }
body.theme-dark .page-subtitle,
body.theme-dark .welcome-row p,
body.theme-dark .card-label,
body.theme-dark .card-hint,
body.theme-dark .muted-small,
body.theme-dark .form-group small,
body.theme-dark .table-footer,
body.theme-dark .review-card-head p,
body.theme-dark .review-stage-head p { color: var(--muted) !important; }
body.theme-dark .card,
body.theme-dark .summary-card,
body.theme-dark .dashboard-widget,
body.theme-dark .quick-actions-grid a,
body.theme-dark .quick-action-card,
body.theme-dark .report-card-v13,
body.theme-dark .mobile-data-card,
body.theme-dark .mobile-record-card,
body.theme-dark .pos-product-explorer,
body.theme-dark .quick-pos-cart,
body.theme-dark .review-products-card,
body.theme-dark .payment-summary-card {
  background: var(--panel) !important;
  border-color: var(--line) !important;
  color: var(--text);
  box-shadow: var(--shadow-sm);
}
body.theme-dark .card:hover { border-color: #304158; }
body.theme-dark .filter-card,
body.theme-dark .settings-tabs-pro,
body.theme-dark .stock-attention-tabs { background: #0d1724 !important; border-color: #223148 !important; }
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark .readonly-field {
  background: #101a29 !important;
  border-color: #2a3a50 !important;
  color: #e5edf7 !important;
  box-shadow: none;
}
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder { color: #68778e; opacity: 1; }
body.theme-dark input:focus,
body.theme-dark select:focus,
body.theme-dark textarea:focus { border-color: #668ed9 !important; box-shadow: 0 0 0 3px rgba(93, 142, 232, .14) !important; }
body.theme-dark .btn { box-shadow: none; }
body.theme-dark .btn:hover { box-shadow: 0 7px 18px rgba(0, 0, 0, .2); }
body.theme-dark .btn-secondary,
body.theme-dark .btn-tertiary,
body.theme-dark .menu-button,
body.theme-dark .theme-toggle-button,
body.theme-dark .text-size-button,
body.theme-dark .language-switch button {
  background: #131e2d !important;
  border-color: #2a3a50 !important;
  color: #cbd6e5 !important;
}
body.theme-dark .btn-secondary:hover,
body.theme-dark .btn-tertiary:hover { background: #182638 !important; border-color: #3a4e69 !important; color: #f2f6fc !important; }
body.theme-dark .data-table th {
  background: #0d1724 !important;
  border-color: #27364b !important;
  color: #b8c5d7 !important;
  box-shadow: inset 0 -1px 0 #2a394f;
}
body.theme-dark .data-table td { background: #111b2a !important; border-color: #202e42 !important; color: #dbe4f0; }
body.theme-dark .data-table tbody tr:nth-child(even) td { background: #101927 !important; }
body.theme-dark .data-table tbody tr:hover td { background: #162337 !important; }
body.theme-dark .data-table td small { color: #8190a6; }
body.theme-dark .table-footer { background: #0f1826; border-color: #233247; }
body.theme-dark .compact-row,
body.theme-dark .expense-row,
body.theme-dark .toggle-row,
body.theme-dark .permission-columns div { border-color: #213047; }
body.theme-dark .pro-stat-card {
  background: linear-gradient(145deg, #111b2a 0%, #121d2d 78%, color-mix(in srgb, var(--stat-color) 7%, #121d2d)) !important;
  border-color: #25354a !important;
  box-shadow: none !important;
}
body.theme-dark .pro-stat-value { color: #edf3fb !important; }
body.theme-dark .pro-stat-label,
body.theme-dark .pro-stat-hint { color: #8d9bb0 !important; }
body.theme-dark .report-card-v13 { background: linear-gradient(145deg, #111b2a, #142032) !important; }
body.theme-dark .report-card-v13::after { opacity: .16; }
body.theme-dark .report-card-v13:hover { border-color: #3b5271 !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .2); }
body.theme-dark .report-card-v13 h3,
body.theme-dark .quick-product-copy > strong,
body.theme-dark .review-item-row strong,
body.theme-dark .review-grand-total strong { color: #eaf1fa !important; }
body.theme-dark .pnl-bar-card { background: #101a29 !important; }
body.theme-dark .pnl-bar-heading h3 { color: #edf3fb; }
body.theme-dark .pnl-bar-heading p,
body.theme-dark .pnl-y-axis,
body.theme-dark .pnl-legend { color: #8d9bb0; }
body.theme-dark .pnl-grid-lines i { border-color: #28384e; }
body.theme-dark .pnl-bar-value,
body.theme-dark .pnl-bar-item > span { color: #b8c5d7; }
body.theme-dark .pnl-bar-track > i { box-shadow: none; filter: saturate(.82) brightness(.96); }
body.theme-dark .pnl-insight { border-color: #29394f; background: #0e1826; }
body.theme-dark .pnl-insight small { color: #8d9bb0; }
body.theme-dark .donut::after { background: var(--panel); }
body.theme-dark .quick-product-card,
body.theme-dark .quick-pos-cart .cart-row,
body.theme-dark .review-item-row { background: #131e2d !important; border-color: #27374d !important; }
body.theme-dark .quick-product-card:hover { border-color: #47658e !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .2); }
body.theme-dark .product-tile-image,
body.theme-dark .mobile-data-visual { background: #0e1826 !important; border-color: #27384e !important; color: #7ba3ed; }
body.theme-dark .quick-product-actions button { background: #162944; border-color: #315381; color: #a9c6fb; }
body.theme-dark .quick-product-actions button.wholesale { background: #25213e; border-color: #4a4271; color: #c6baf2; }
body.theme-dark .quick-pos-cart .current-sale-head,
body.theme-dark .quick-pos-cart .cart-list,
body.theme-dark .cart-build-footer,
body.theme-dark .review-table-head {
  background: #0d1724 !important;
  border-color: #25354a !important;
}
body.theme-dark .cart-build-totals > div,
body.theme-dark .payment-breakdown > div,
body.theme-dark .quick-pos-cart .current-sale-head small { color: #8d9bb0; }
body.theme-dark .cart-build-totals strong,
body.theme-dark .payment-breakdown strong,
body.theme-dark .cart-build-totals .cart-build-total,
body.theme-dark .cart-build-totals .cart-build-total strong { color: #e5edf7; }
body.theme-dark .overall-discount-toggle,
body.theme-dark .overall-discount-control,
body.theme-dark .checkout-note { background: #0e1826 !important; border-color: #293a51 !important; }
body.theme-dark .review-item-row { border-bottom-color: #223149 !important; }
body.theme-dark .review-stage-head { background: var(--bg) !important; }
body.theme-dark .mobile-cart-dock,
body.theme-dark .mobile-bottom-nav { background: rgba(10, 18, 30, .97) !important; border-color: #25344a !important; box-shadow: 0 -10px 30px rgba(0, 0, 0, .25); }
body.theme-dark .mobile-cart-dock .btn-secondary { background: #172438 !important; border-color: #354760 !important; color: #e5edf7 !important; }
body.theme-dark .status-active,
body.theme-dark .status-in-stock { background: rgba(45, 154, 104, .16); color: #83d7ae; }
body.theme-dark .status-warning,
body.theme-dark .status-low-stock { background: rgba(211, 154, 67, .16); color: #e9bb72; }
body.theme-dark .status-danger,
body.theme-dark .status-out-of-stock { background: rgba(220, 104, 112, .15); color: #f1a2a8; }
body.theme-dark .status-inactive { background: rgba(141, 155, 176, .14); color: #b7c2d1; }
body.theme-dark .row-overflow > summary,
body.theme-dark .floating-action-menu,
body.theme-dark .mobile-more-menu > summary,
body.theme-dark .mobile-more-menu[open] > div,
body.theme-dark .export-choice-panel { background: #142031 !important; border-color: #2d3e55 !important; color: #dfe8f3; }
body.theme-dark .export-choice-panel > a:hover,
body.theme-dark .export-choice-panel > a:focus-visible { background: #1a293c; }
body.theme-dark .export-choice-icon { background: rgba(93, 142, 232, .14); color: #8db2f3; }
body.theme-dark .export-choice-panel strong { color: #edf3fb; }
body.theme-dark .export-choice-panel small { color: #8d9bb0; }
body.theme-dark ::-webkit-scrollbar { width: 10px; height: 10px; }
body.theme-dark ::-webkit-scrollbar-track { background: #0a1320; }
body.theme-dark ::-webkit-scrollbar-thumb { background: #314158; border: 2px solid #0a1320; border-radius: 999px; }

@media (max-width: 800px) {
  .export-choice-menu { width: 100%; }
  .export-choice-menu > summary { width: 100%; }
  .export-choice-panel { left: 0; right: auto; width: min(320px, calc(100vw - 28px)); }
  body.theme-dark .topbar { background: rgba(10, 18, 30, .98); }
}

/* Report detail pages: dense desktop tables, native mobile records, branded print. */
.report-mobile-list { display: none; }
.report-mobile-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.report-mobile-head, .report-mobile-foot { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.report-mobile-head h3 { margin: 0 0 3px; font-size: 14px; }
.report-mobile-head small, .report-mobile-foot small { color: var(--muted); }
.report-mobile-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.report-mobile-meta span { display: grid; gap: 2px; min-width: 0; }
.report-mobile-meta small { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.report-mobile-meta strong { font-size: 12px; overflow-wrap: anywhere; }
.screen-report-print-header { display: none; }
.default-document-setting { max-width: 480px; margin-bottom: 14px; }

@media (max-width: 800px) {
  .theme-toggle-button { display: grid; width: 34px; height: 34px; padding: 0; }
  .desktop-report-table { display: none !important; }
  .report-mobile-list { display: grid; gap: 10px; padding: 10px; }
  .report-mobile-list .empty-state-professional { padding: 26px 18px; }
}

@media print {
  .screen-report-print-header { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; border-bottom: 2px solid #dfe6f0; padding-bottom: 14px; margin-bottom: 18px; color: #172033; }
  .screen-report-brand { display: flex; gap: 12px; align-items: flex-start; }
  .screen-report-brand img { width: 52px; height: 52px; object-fit: contain; }
  .screen-report-brand div { display: grid; gap: 2px; font-size: 10px; color: #64748b; }
  .screen-report-brand strong { color: #1d4ed8; font-size: 17px; }
  .screen-report-title { text-align: right; }
  .screen-report-title h1 { margin: 0 0 4px; font-size: 22px; }
  .screen-report-title p, .screen-report-title small { margin: 0; color: #64748b; font-size: 10px; }
  .screen-report-print-header + .page-heading, .screen-report-print-header + .page-header { display: none !important; }
  .report-mobile-list { display: none !important; }
  .desktop-report-table { display: block !important; }
  .daily-summary-page, .content { color: #172033; }
  .pnl-bar-card, .daily-summary-card, .table-card { break-inside: avoid; }
}

/* MauzoTrack 1.0.1 — high-attention operational refinement. */
:root { --app-topbar-height: 72px; }
.topbar { top: 0; min-height: var(--app-topbar-height); height: var(--app-topbar-height); }
.quick-pos-cart, .payment-summary-card { top: calc(var(--app-topbar-height) + 12px); }
.mobile-filter-toggle { display: none; }

/* POS stays dense and work-focused on desktop. */
.quick-pos-form { margin-top: 0; }
.pos-flow-bar { margin-block: 8px 12px; }
.quick-pos-layout { gap: 14px; }
.quick-pos-layout .pos-product-explorer { padding: 15px; }
.quick-pos-heading { margin-bottom: 12px; }
.pos-source-tabs { margin-bottom: 12px; }
.pos-explorer-toolbar { grid-template-columns: minmax(230px,1fr) 175px 175px; margin-bottom: 11px; }
.quick-pos-layout .pos-paged-grid { gap: 8px; }
.quick-pos-layout .quick-product-card { box-shadow: none; }

/* Review and payment hierarchy. */
.sale-review-layout { gap: 14px; }
.payment-summary-card { padding: 15px; }
.payment-summary-head { padding-bottom: 9px; }
.payment-breakdown { padding: 11px 0; gap: 6px; }
.overall-discount-toggle { align-items: center; padding: 9px 10px; }
.overall-discount-toggle input { width: 17px; height: 17px; margin: 0; flex: 0 0 auto; }
.overall-discount-control { margin-top: 7px; padding: 9px; }
.review-grand-total { margin: 11px 0; padding: 12px 0; }
.review-grand-total strong { font-size: 21px; }
.payment-summary-card .review-complete-button { margin-top: 2px; background: var(--primary); border-color: var(--primary); }
.review-secondary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 8px; }
.review-secondary-actions .btn { width: 100%; margin: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }
.review-secondary-actions .pos-cancel-link { color: var(--red); }

/* Add Product pricing reads as two clear business-rule groups. */
.pricing-rule-group { padding: 16px; }
.pricing-fields-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.pricing-fields-grid .form-group { margin-bottom: 0; }
.pricing-rule-group.has-pricing-error { border-color: #fca5a5; background: #fffafa; }
.pricing-rule-group [aria-invalid="true"] { border-color: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,.09); }
.pricing-inline-error { display: block; margin-top: 10px; padding: 8px 10px; border: 1px solid #fecaca; border-radius: 8px; background: #fff1f2; color: #b91c1c; font-size: 11px; font-weight: 750; line-height: 1.35; }
.product-wizard-panel[data-product-step-panel="3"]:not([hidden]),
.edit-section[data-edit-section="pricing"]:not([hidden]) { display: flex; flex-direction: column; }
.product-pricing-wholesale { order: 2; }
.product-pricing-single { order: 3; }
.pricing-inline-error[hidden] { display: none; }

/* Products table actions stay in one predictable column. */
.product-table .product-actions-cell { width: 136px !important; min-width: 136px !important; overflow: visible; white-space: nowrap; }
.product-table .row-actions-primary { width: 100%; flex-wrap: nowrap; justify-content: center; white-space: nowrap; }
.product-table .row-actions-primary > .btn,
.product-table .row-actions-primary > form > .btn { min-width: 58px; white-space: nowrap; }
.product-table .row-overflow { flex: 0 0 34px; }

.mobile-product-details { margin: -2px 0 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mobile-product-details > summary { display: flex; align-items: center; justify-content: space-between; min-height: 36px; color: var(--primary); font-size: 11px; font-weight: 800; cursor: pointer; list-style: none; }
.mobile-product-details > summary::-webkit-details-marker { display: none; }
.mobile-product-details > summary::after { content: "+"; font-size: 16px; }
.mobile-product-details[open] > summary::after { content: "−"; }
.mobile-product-details .mobile-record-meta { margin: 0 0 10px; }
body.theme-dark .pricing-rule-group.has-pricing-error { background: #2a151b; border-color: #7f1d1d; }
body.theme-dark .pricing-inline-error { background: #37151a; border-color: #7f1d1d; color: #fecaca; }

/* Recent sales has a purpose-built mobile representation. */
.dashboard-recent-mobile { display: none; }
.dashboard-sale-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 9px; padding: 11px 12px; border-top: 1px solid var(--line); }
.dashboard-sale-row > div { min-width: 0; display: grid; gap: 2px; }
.dashboard-sale-row small { color: var(--muted); font-size: 10px; }
.dashboard-sale-total { text-align: right; }
.dashboard-sale-total strong { font-size: 12px; white-space: nowrap; }

@media (min-width: 1101px) {
  .sale-review-layout { grid-template-columns: minmax(0,1fr) 350px !important; }
  .payment-summary-card { position: sticky !important; top: calc(var(--app-topbar-height) + 12px) !important; }
  .review-items-list { max-height: calc(100dvh - 268px) !important; }
}

@media (max-width: 800px) {
  :root { --app-topbar-height: 64px; }
  .topbar { position: sticky; top: 0; z-index: 50; }
  .content { padding-top: 14px; }

  /* POS owns the bottom interaction area; global navigation is removed here. */
  .route-pos-index .mobile-bottom-nav { display: none !important; transform: none !important; }
  .route-pos-index .content { padding-bottom: 82px !important; }
  .route-pos-index .progressive-pos { padding-bottom: 0; }
  .route-pos-index .mobile-cart-dock:not([hidden]) { bottom: max(10px,env(safe-area-inset-bottom)); }
  .route-pos-index .review-stage-head { position: static !important; top: auto !important; z-index: auto; padding: 3px 0 10px; margin: 0; background: transparent; }
  .route-pos-index .sale-review-stage { margin-top: 0; }
  .route-pos-index .payment-summary-card { padding: 13px 12px calc(82px + env(safe-area-inset-bottom)); }
  .route-pos-index .payment-summary-card .review-complete-button { left: 10px; right: 10px; bottom: max(10px,env(safe-area-inset-bottom)) !important; min-height: 48px; background: var(--primary); border-color: var(--primary); box-shadow: 0 10px 28px rgba(37,99,235,.28); }
  .review-secondary-actions { gap: 6px; }
  .review-secondary-actions .btn { min-height: 36px; font-size: 10px; }
  .review-item-row { margin: 0 8px 8px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); }
  .review-items-list { padding-top: 8px; background: var(--surface-subtle); }
  .review-card-head { padding: 12px; }
  .review-grand-total { margin-block: 10px; }
  .review-grand-total strong { font-size: 20px; }

  /* Pricing becomes a short vertical task on phones. */
  .pricing-rule-group { padding: 12px; margin-top: 11px; }
  .pricing-fields-grid { grid-template-columns: 1fr; gap: 8px; }
  .pricing-fields-grid .form-group { gap: 5px; }
  .pricing-inline-error { margin-top: 8px; }

  /* Products: two essential facts, optional detail, one action. */
  .route-products-index .mobile-record-list { gap: 8px; padding: 8px; }
  .route-products-index .mobile-record-card { padding: 11px; }
  .route-products-index .mobile-record-head { gap: 8px; }
  .route-products-index .mobile-record-head .status-pill { flex: 0 0 auto; padding: 4px 7px; font-size: 9px; }
  .route-products-index .mobile-product-title { gap: 8px; }
  .route-products-index .mobile-product-title .thumb { width: 38px; height: 38px; }
  .route-products-index .mobile-product-title h3 { font-size: 14px; }
  .route-products-index .mobile-product-essentials { margin: 10px 0; gap: 8px; }
  .route-products-index .mobile-product-essentials strong { font-size: 12px; }
  .route-products-index .mobile-record-foot { min-height: 38px; padding-top: 0; border-top: 0; }
  .route-products-index .mobile-record-foot > small { font-size: 9px; }
  .route-products-index .mobile-card-actions .btn { min-height: 34px; padding: 7px 10px; font-size: 10px; }

  /* Dashboard: compact metrics, clean section rhythm and native recent-sale rows. */
  .route-dashboard .welcome-row { margin-bottom: 11px; gap: 6px; }
  .route-dashboard .welcome-row h2 { font-size: 20px; line-height: 1.2; }
  .route-dashboard .welcome-row p { margin-top: 3px; font-size: 11px; }
  .route-dashboard .dashboard-top { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; margin-bottom: 12px; }
  .route-dashboard .dashboard-top .pro-stat-card { min-height: 82px !important; padding: 9px !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; }
  .route-dashboard .dashboard-top .pro-stat-icon { width: 34px; height: 34px; flex: 0 0 34px; }
  .route-dashboard .dashboard-top .pro-stat-copy { min-width: 0; }
  .route-dashboard .dashboard-top .pro-stat-label { font-size: 9px !important; line-height: 1.2; }
  .route-dashboard .dashboard-top .pro-stat-value { margin-top: 3px; font-size: clamp(13px,3.8vw,17px) !important; line-height: 1.12; overflow-wrap: anywhere; white-space: normal !important; }
  .route-dashboard .dashboard-middle { gap: 9px; margin-bottom: 14px; }
  .route-dashboard .dashboard-widget { padding: 12px; }
  .route-dashboard .widget-head { margin-bottom: 9px; }
  .route-dashboard .widget-head h3, .route-dashboard .section-heading h3 { font-size: 15px; }
  .route-dashboard .expense-row { grid-template-columns: minmax(0,1fr) auto 34px; gap: 6px; padding: 7px 0; font-size: 11px; }
  .route-dashboard .expense-row strong { font-size: 11px; white-space: nowrap; }
  .route-dashboard .expense-row em { font-size: 9px; }
  .route-dashboard .section-heading { margin: 14px 0 8px; }
  .route-dashboard .quick-actions-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
  .route-dashboard .quick-actions-grid .quick-action-card { min-height: 70px; padding: 9px; gap: 8px; }
  .route-dashboard .quick-action-icon { width: 34px; height: 34px; }
  .route-dashboard .quick-action-copy strong { font-size: 12px; }
  .route-dashboard .quick-action-copy small { font-size: 9px; line-height: 1.2; }
  .route-dashboard .dashboard-recent { margin-top: 12px; }
  .route-dashboard .dashboard-recent .table-toolbar { padding: 12px 12px 8px; margin: 0; }
  .route-dashboard .desktop-dashboard-sales { display: none; }
  .route-dashboard .dashboard-recent-mobile { display: block; }

  /* Sales: collapsed controls, compact metrics and denser scan rows. */
  .route-sales-index .sales-filter-card { padding: 0; overflow: hidden; }
  .route-sales-index .mobile-filter-toggle { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border: 0; background: var(--panel); color: var(--text); text-align: left; cursor: pointer; }
  .route-sales-index .mobile-filter-toggle > span { display: grid; gap: 2px; }
  .route-sales-index .mobile-filter-toggle strong { font-size: 13px; }
  .route-sales-index .mobile-filter-toggle small { color: var(--muted); font-size: 9px; }
  .route-sales-index .mobile-filter-toggle b { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; color: var(--primary); font-size: 18px; }
  .route-sales-index .sales-filter-card .sales-filter { display: none; padding: 10px; border-top: 1px solid var(--line); }
  .route-sales-index .sales-filter-card.filters-open .sales-filter { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .route-sales-index .sales-filter-card .sales-filter > input:first-child,
  .route-sales-index .sales-filter-card .sales-filter .date-range,
  .route-sales-index .sales-filter-card .sales-filter .filter-actions { grid-column: 1 / -1; }
  .route-sales-index .sales-filter-card .date-range { grid-template-columns: 1fr auto 1fr; gap: 5px; }
  .route-sales-index .dashboard-top { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px; margin-bottom: 10px; }
  .route-sales-index .dashboard-top .pro-stat-card { min-height: 78px !important; padding: 9px !important; flex-direction: row !important; align-items: center !important; gap: 7px !important; }
  .route-sales-index .dashboard-top .pro-stat-icon { width: 32px; height: 32px; flex: 0 0 32px; }
  .route-sales-index .dashboard-top .pro-stat-label { font-size: 9px; }
  .route-sales-index .dashboard-top .pro-stat-value { font-size: clamp(13px,3.8vw,17px) !important; overflow-wrap: anywhere; }
  .route-sales-index .mobile-record-list { gap: 8px; padding: 8px; }
  .route-sales-index .mobile-record-card { padding: 11px; }
  .route-sales-index .mobile-record-meta { margin: 9px 0; gap: 7px; }
  .route-sales-index .mobile-record-meta strong { font-size: 12px; }
  .route-sales-index .mobile-record-foot { padding-top: 8px; }
}

@media (max-width: 380px) {
  .dashboard-sale-row { grid-template-columns: minmax(0,1fr) auto; }
  .dashboard-sale-row .btn { grid-column: 1 / -1; width: 100%; }
  .route-sales-index .sales-filter-card.filters-open .sales-filter { grid-template-columns: 1fr; }
  .route-sales-index .sales-filter-card .sales-filter > * { grid-column: 1 !important; }
}

/* MauzoTrack 1.0.1 POS refinement 2 — compact cart and four-column review. */
@media (min-width: 801px) {
  .route-pos-index .pos-explorer-toolbar {
    grid-template-columns: minmax(0,1.55fr) minmax(0,1fr) minmax(0,.82fr) !important;
    gap: 10px;
    align-items: end;
    overflow: visible;
  }
  .route-pos-index .pos-explorer-toolbar > .form-group { min-width: 0; margin: 0; overflow: visible; }
  .route-pos-index .pos-explorer-toolbar input,
  .route-pos-index .pos-explorer-toolbar select {
    width: 100%; min-width: 0; height: 42px; min-height: 42px; padding-block: 9px; box-sizing: border-box;
  }
  .route-pos-index .pos-explorer-toolbar input:focus,
  .route-pos-index .pos-explorer-toolbar select:focus {
    border-color: #60a5fa; box-shadow: inset 0 0 0 2px rgba(37,99,235,.16);
  }
}

@media (min-width: 1280px) {
  .route-pos-index .quick-pos-layout { grid-template-columns: minmax(0,1fr) minmax(410px,430px); }
}

/* Live cart header and column rhythm. */
.quick-pos-cart .current-sale-head { align-items: center; padding: 12px 14px 10px; }
.quick-pos-cart .current-sale-head .step-kicker { font-size: 8px; letter-spacing: .075em; opacity: .76; }
.quick-pos-cart .current-sale-head h3 { margin-top: 1px; font-size: 18px; line-height: 1.15; }
.quick-pos-cart .current-sale-head small { margin-top: 3px; font-size: 10px; }
.quick-pos-cart .current-sale-head .btn { min-height: 32px; padding: 6px 9px; font-size: 10px; box-shadow: none; }
.cart-column-head {
  display: grid; grid-template-columns: minmax(0,1fr) 84px 94px; gap: 8px; align-items: center;
  padding: 7px 12px; border-bottom: 1px solid var(--line); background: var(--surface-subtle);
  color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .055em;
}
.cart-column-head span:nth-child(2) { text-align: center; }
.cart-column-head span:last-child { text-align: right; }
.quick-pos-cart .cart-list { padding: 8px; gap: 6px; }
.quick-pos-cart .cart-row {
  display: grid; grid-template-columns: 1fr; gap: 0; padding: 9px 12px; border-color: #dfe6ef; border-radius: 10px;
}
.quick-pos-cart .cart-row-main {
  display: grid !important; grid-template-columns: minmax(0,1fr) 84px 94px; gap: 8px; align-items: center; min-width: 0;
}
.quick-pos-cart .cart-product-details { display: grid; gap: 2px; min-width: 0; }
.quick-pos-cart .cart-product-details > strong { color: var(--text); font-size: 12px; line-height: 1.22; overflow-wrap: anywhere; }
.quick-pos-cart .cart-product-details > small { color: var(--muted); font-size: 9px; line-height: 1.22; }
.quick-pos-cart .cart-product-details .carton-open-note { color: var(--primary); font-weight: 750; }
.quick-pos-cart .cart-row-quantity { display: flex !important; justify-content: center; }
.quick-pos-cart .cart-row-quantity .qty-stepper { height: 28px; }
.quick-pos-cart .cart-row-quantity .qty-stepper button { width: 24px; height: 26px; padding: 0; }
.quick-pos-cart .cart-row-quantity .qty-stepper span { min-width: 27px; font-size: 10px; }
.quick-pos-cart .cart-row-subtotal { justify-self: end; color: var(--text); font-size: 11.5px; line-height: 1.2; white-space: nowrap; }
.quick-pos-cart .cart-row-lower {
  display: grid !important; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: center;
  margin-top: 7px; padding-top: 7px; border-top: 1px solid #edf1f6;
}
.quick-pos-cart .cart-row-discount { display: flex !important; align-items: center; min-width: 0; }
.quick-pos-cart .cart-add-discount {
  width: auto !important; height: auto !important; min-height: 26px; padding: 3px 0 !important; border: 0 !important; background: transparent !important; color: var(--primary) !important;
  font-size: 9.5px !important; font-weight: 800; cursor: pointer;
}
.quick-pos-cart .cart-line-discount { display: flex; align-items: center; gap: 5px; min-width: 0; margin: 0; color: var(--muted); font-size: 9px; }
.quick-pos-cart .cart-line-discount span { white-space: nowrap; }
.quick-pos-cart .cart-line-discount strong { color: #b91c1c; }
.quick-pos-cart .cart-line-discount button {
  width: auto; height: 24px; min-height: 24px; padding: 2px 5px; border: 0; background: transparent; color: var(--primary); font-size: 8.5px; font-weight: 800;
}
.quick-pos-cart .cart-line-discount .cart-discount-remove { width: 22px; padding: 0; color: var(--red); font-size: 13px; }
.quick-pos-cart .cart-item-actions { display: flex !important; align-items: center; justify-content: flex-end; gap: 5px; }
.quick-pos-cart .cart-item-actions button {
  width: auto; min-width: 42px; height: 28px; min-height: 28px; padding: 0 7px; border: 1px solid #bfdbfe; border-radius: 7px;
  background: #eff6ff; color: #1d4ed8; font-size: 8.5px; font-weight: 800; cursor: pointer;
}
.quick-pos-cart .cart-item-actions .cart-remove { border-color: #fecaca; background: #fff7f7; color: #b91c1c; }
.quick-pos-cart .cart-discount-editor {
  display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 5px; margin-top: 7px; padding-top: 7px; border-top: 1px dashed var(--line);
}
.quick-pos-cart .cart-discount-editor input { min-width: 0; height: 30px; padding: 5px 7px; font-size: 10px; }
.quick-pos-cart .cart-discount-editor button { width: auto; height: 30px; padding: 4px 7px; font-size: 9px; }

/* Review is a final confirmation surface, not a compressed admin table. */
.sale-review-stage { margin-top: 0; }
.review-stage-head { margin-bottom: 11px; }
.sale-review-layout { align-items: start; gap: 12px; }
.review-products-card { min-width: 0; }
.review-table-head,
.review-item-row {
  grid-template-columns: minmax(0,1fr) 106px 108px 112px !important;
  gap: 9px !important;
}
.review-table-head { padding: 8px 13px !important; font-size: 8px !important; }
.review-table-head span:nth-child(2) { text-align: center; }
.review-table-head span:nth-child(3), .review-table-head span:nth-child(4) { text-align: right; }
.review-item-row { align-items: center; padding: 10px 13px !important; }
.review-item-product { display: grid; gap: 2px; min-width: 0; }
.review-item-product > strong { font-size: 12px; line-height: 1.22; }
.review-item-product > small { font-size: 8.8px; line-height: 1.25; }
.review-inline-discount { color: #b91c1c !important; font-weight: 750; }
.review-carton-note { color: var(--primary) !important; font-weight: 750; }
.review-quantity { justify-items: center; text-align: center; }
.review-quantity .qty-stepper { height: 28px !important; }
.review-quantity .qty-stepper button { width: 25px !important; height: 26px !important; }
.review-quantity .qty-stepper span { min-width: 27px !important; }
.review-line-total-cell { justify-items: end; text-align: right; }
.review-line-total { font-size: 11.5px !important; white-space: nowrap; }
.review-row-actions { justify-content: flex-end !important; flex-wrap: nowrap; }
.review-row-actions button,
.review-row-actions button:last-child {
  width: auto !important; min-width: 43px; height: 28px !important; padding: 0 7px !important; white-space: nowrap;
  font-size: 8.5px !important; line-height: 1 !important;
}
.review-row-actions button:last-child { min-width: 54px; }
.payment-summary-card { padding: 13px; }
.payment-summary-head { padding-bottom: 8px; }
.payment-breakdown { padding: 9px 0; }
.overall-discount-toggle { padding: 8px 9px; }
.overall-discount-control { padding: 8px; }
.review-grand-total { margin: 9px 0; padding: 11px 0; }
.payment-summary-card .form-group { margin-bottom: 8px; }
.payment-summary-card .checkout-note { margin-bottom: 9px; }

@media (min-width: 1101px) {
  .sale-review-layout { grid-template-columns: minmax(0,1fr) minmax(320px,340px) !important; }
}

@media (min-width: 801px) and (max-width: 1050px) {
  .route-pos-index .quick-pos-layout { grid-template-columns: 1fr !important; }
  .route-pos-index .quick-pos-cart { position: static !important; top: auto; width: 100%; max-height: none; }
  .route-pos-index .quick-pos-cart .cart-list { max-height: 430px; }
}

@media (max-width: 800px) {
  .cart-column-head { display: none; }
  .quick-pos-cart .cart-row { padding: 9px !important; }
  .quick-pos-cart .cart-row-main { grid-template-columns: minmax(0,1fr) 80px 86px; gap: 6px; }
  .quick-pos-cart .cart-row-subtotal { font-size: 10.5px; }
  .quick-pos-cart .cart-item-actions button { min-width: 40px; }
  .review-table-head { display: none; }
  .review-item-row {
    grid-template-columns: minmax(0,1fr) auto !important; gap: 8px !important; padding: 10px 11px !important;
  }
  .review-item-product { grid-column: 1 / -1 !important; }
  .review-quantity { grid-column: 1 !important; grid-row: auto !important; justify-items: start; text-align: left; }
  .review-line-total-cell { grid-column: 2 !important; grid-row: auto !important; justify-items: end; align-self: center; }
  .review-row-actions {
    grid-column: 1 / -1 !important; grid-row: auto !important; justify-content: flex-end !important; padding-top: 7px; border-top: 1px solid var(--line);
  }
  .review-item-row > div[data-label]::before { display: block; margin-bottom: 3px; }
}

@media (max-width: 380px) {
  .quick-pos-cart .cart-row-main { grid-template-columns: minmax(0,1fr) 74px; }
  .quick-pos-cart .cart-row-subtotal { grid-column: 1 / -1; justify-self: end; margin-top: 2px; }
  .quick-pos-cart .cart-row-lower { grid-template-columns: 1fr; }
  .quick-pos-cart .cart-item-actions { justify-content: flex-end; }
  .review-item-row { grid-template-columns: minmax(0,1fr) auto !important; }
}

body.theme-dark .cart-column-head,
body.theme-dark .quick-pos-cart .cart-row-lower { border-color: #273449; }
body.theme-dark .quick-pos-cart .cart-item-actions button { background: #172554; border-color: #1d4ed8; color: #bfdbfe; }
body.theme-dark .quick-pos-cart .cart-item-actions .cart-remove { background: #37151a; border-color: #7f1d1d; color: #fecaca; }

/* MauzoTrack 1.0.5 — POS balance, focused product modes and mobile finishing. */
.cart-column-head,
.quick-pos-cart .cart-row-main {
  grid-template-columns: minmax(0,1fr) minmax(80px,.54fr) minmax(94px,.62fr) !important;
  column-gap: 6px !important;
}
.quick-pos-cart .cart-row-lower-clean { grid-template-columns: 1fr auto; }
.quick-pos-cart .cart-row-lower-clean .cart-row-discount { min-height: 1px; }
.quick-pos-cart .cart-line-discount { font-size: 8.8px; }

.review-table-head,
.review-item-row {
  grid-template-columns: minmax(0,1.12fr) minmax(88px,.56fr) minmax(98px,.66fr) minmax(104px,.66fr) !important;
  column-gap: 7px !important;
}

.wholesale-behavior-panel {
  display: grid; gap: 12px; margin-top: 14px; padding: 15px; border: 1px solid #dbe5f2; border-radius: 13px;
  background: #f8fbff;
}
.wholesale-behavior-panel[hidden] { display: none; }
.wholesale-behavior-panel h4 { margin: 2px 0 3px; font-size: 15px; }
.wholesale-behavior-panel p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.wholesale-behavior-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.selling-behavior-card {
  display: flex; align-items: flex-start; gap: 9px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 11px;
  background: var(--panel); cursor: pointer;
}
.selling-behavior-card.selected { border-color: #93b4ff; background: #f4f7ff; box-shadow: inset 0 0 0 1px rgba(37,99,235,.12); }
.selling-behavior-card input { width: 16px; height: 16px; margin-top: 2px; flex: 0 0 auto; accent-color: var(--primary); }
.selling-behavior-card span { display: grid; gap: 3px; min-width: 0; }
.selling-behavior-card strong { color: var(--text); font-size: 12px; }
.selling-behavior-card small { color: var(--muted); font-size: 10px; line-height: 1.38; }
.wholesale-single-toggle {
  display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 11px;
  background: var(--panel); cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.wholesale-single-toggle.selected { border-color: #93b4ff; background: #f4f7ff; box-shadow: inset 0 0 0 1px rgba(37,99,235,.12); }
.wholesale-single-toggle input { width: 18px; height: 18px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--primary); }
.wholesale-single-toggle span { display: grid; gap: 3px; min-width: 0; }
.wholesale-single-toggle strong { color: var(--text); font-size: 12.5px; line-height: 1.35; }
.wholesale-single-toggle small { color: var(--muted); font-size: 10px; line-height: 1.42; }

.product-stock-helper {
  display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 11px; margin: 18px 0 0; padding: 12px;
  border: 1px solid #dbe5f2; border-radius: 12px; background: #f8fbff;
}
.product-stock-helper > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #eaf1ff; color: var(--primary); font-weight: 900; }
.product-stock-helper > div { display: grid; gap: 2px; min-width: 0; }
.product-stock-helper strong { color: var(--text); font-size: 11.5px; }
.product-stock-helper small { color: var(--muted); font-size: 9.5px; line-height: 1.38; }
.product-stock-helper .btn { white-space: nowrap; }

.sale-success-actions { align-self: start; }
.sale-success-actions .success-action-buttons { display: grid !important; grid-template-columns: 1fr !important; gap: 12px; }
.completion-primary-row { padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.completion-primary-row .btn { width: auto; min-width: 146px; min-height: 38px; padding: 9px 14px; }
.completion-document-actions { display: grid; gap: 7px; }
.completion-document-actions > span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.completion-document-actions > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.completion-document-actions .btn { min-width: 0; min-height: 36px; padding: 7px 8px; font-size: 10px; box-shadow: none; }
.success-action-buttons .success-history-button {
  width: max-content !important; min-height: 0 !important; display: inline-flex; padding: 3px 0 !important; border: 0 !important;
  background: transparent !important; color: var(--primary) !important; box-shadow: none !important; font-size: 10.5px; font-weight: 800; text-decoration: none;
}
.success-action-buttons .success-history-button:hover { background: transparent !important; color: #1d4ed8 !important; text-decoration: underline; }

@media (max-width: 800px) {
  .product-wizard-steps {
    position: relative; grid-template-columns: repeat(5,minmax(0,1fr)) !important; justify-content: stretch; overflow: visible;
    padding: 7px 8px 32px; margin-bottom: 18px;
  }
  .product-wizard-steps button { position: static; min-height: 40px; padding: 5px 2px; flex-direction: row; font-size: 10px; }
  .product-wizard-steps button b { width: 24px; height: 24px; }
  .product-wizard-steps button span { display: none; }
  .product-wizard-steps button.active span {
    position: absolute; left: 8px; right: 8px; bottom: 7px; display: block; color: var(--primary); font-size: 10px; line-height: 1.15; text-align: center;
  }
  .wholesale-behavior-panel { padding: 12px; }
  .wholesale-behavior-options { grid-template-columns: 1fr; gap: 7px; }

  .quick-product-actions { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 5px; }
  .quick-product-actions > :only-child { grid-column: 1 / -1; }
  .quick-product-card { gap: 6px !important; }
  .quick-product-actions button { min-height: 32px !important; }

  .mobile-cart-dock:not([hidden]) {
    display: grid !important; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 8px 9px 8px 12px !important; border-radius: 13px;
  }
  .mobile-cart-dock > div:first-child { min-width: 0; }
  .mobile-cart-dock small { font-size: 8.5px; }
  .mobile-cart-dock strong { font-size: 13px; }
  .mobile-cart-dock-actions { gap: 5px; }
  .mobile-cart-dock .btn { width: auto !important; min-height: 34px; padding: 7px 9px !important; font-size: 9px !important; white-space: nowrap; }

  .product-stock-helper { grid-template-columns: 32px minmax(0,1fr); padding: 11px; }
  .product-stock-helper > span { width: 32px; height: 32px; }
  .product-stock-helper .btn { grid-column: 2; width: max-content; margin-top: 3px; }

  .completion-primary-row .btn { width: auto !important; min-width: 140px; min-height: 38px !important; }
  .completion-document-actions > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .completion-document-actions .btn { min-height: 36px !important; }
}

@media (max-width: 380px) {
  .completion-document-actions > div { grid-template-columns: 1fr; }
}

body.theme-dark .wholesale-behavior-panel,
body.theme-dark .product-stock-helper { background: #111827; border-color: #334155; }
body.theme-dark .selling-behavior-card.selected { background: #172554; border-color: #3b82f6; }
body.theme-dark .wholesale-single-toggle { background: #111827; border-color: #334155; }
body.theme-dark .wholesale-single-toggle.selected { background: #172554; border-color: #3b82f6; }

/* MauzoTrack 1.0.7 — reliable menus, balanced expense filters and a quieter utility header. */
.expense-filter.has-search {
  grid-template-columns: minmax(210px,1.45fr) minmax(140px,.65fr) minmax(180px,.8fr);
  align-items: center;
}
.expense-filter-search { grid-column: 1; }
.expense-filter-archive { grid-column: 2; }
.expense-filter-category { grid-column: 3; }
.expense-filter-dates { grid-column: 1 / span 2; min-width: 0; }
.expense-filter-actions { grid-column: 3; width: 100%; justify-content: flex-end; min-width: 0; }
.expense-filter-actions > * { flex: 0 1 auto; white-space: nowrap; }
.expense-report-table-card { width: 100%; }

.floating-action-menu {
  position: fixed !important; right: auto !important; bottom: auto !important; z-index: 200 !important;
  width: max-content; min-width: 188px; max-width: min(280px,calc(100vw - 16px)); overflow-y: auto;
  display: grid; gap: 4px; padding: 7px; border: 1px solid var(--line); border-radius: 11px;
  background: var(--panel); color: var(--text); box-shadow: 0 18px 44px rgba(15,23,42,.22);
}
.floating-action-menu a, .floating-action-menu button, .floating-action-menu .mobile-menu-note {
  width: 100%; min-height: 34px; display: flex; align-items: center; padding: 7px 9px; border: 0; border-radius: 7px;
  background: transparent; color: var(--text); font-size: 11px; font-weight: 750; line-height: 1.35; text-align: left; cursor: pointer;
}
.floating-action-menu a:hover, .floating-action-menu button:hover { background: var(--surface-subtle); }
.floating-action-menu form { margin: 0; }

.connection-chip {
  width: 30px; height: 30px; padding: 0 !important; display: grid; place-items: center; border-radius: 50%;
}
.connection-status-dot { width: 9px; height: 9px; display: block; border-radius: 50%; box-shadow: 0 0 0 3px rgba(22,163,74,.12); }
.connection-status-dot.online { background: #16a34a; }
.connection-status-dot.offline { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.14); }
.header-menu { position: relative; }
.header-menu > summary {
  width: 38px; height: 38px; display: grid; place-items: center; list-style: none; cursor: pointer;
  border: 1px solid var(--line); border-radius: 9px; background: var(--panel); color: var(--text);
}
.header-menu > summary::-webkit-details-marker { display: none; }
.header-menu[open] > summary { border-color: #93c5fd; box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.header-menu-panel {
  position: absolute; z-index: 90; right: 0; top: calc(100% + 7px); width: 190px; display: grid; gap: 3px;
  padding: 7px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); box-shadow: 0 18px 42px rgba(15,23,42,.2);
}
.header-menu-panel form { margin: 0; }
.header-menu-panel a, .header-menu-panel button {
  width: 100%; min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 8px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font-size: 12px; font-weight: 750; text-align: left; cursor: pointer;
}
.header-menu-panel a:hover, .header-menu-panel button:hover { background: var(--surface-subtle); }
.account-menu-panel { width: 220px; }
.header-account-identity { display: grid; gap: 2px; padding: 8px 10px 10px; margin-bottom: 3px; border-bottom: 1px solid var(--line); }
.header-account-identity strong { font-size: 12px; }
.header-account-identity small { color: var(--muted); font-size: 10px; text-transform: capitalize; }
.header-menu-panel .header-logout-action { color: var(--red); }
.account-menu > summary { padding: 0; border: 0; border-radius: 50%; }
.account-menu > summary .avatar { width: 38px; height: 38px; }
body.theme-dark .floating-action-menu, body.theme-dark .header-menu > summary, body.theme-dark .header-menu-panel { background: var(--panel); border-color: var(--line); color: var(--text); }

@media (max-width: 800px) {
  .expense-filter.has-search { grid-template-columns: 1fr; }
  .expense-filter-search, .expense-filter-archive, .expense-filter-category, .expense-filter-dates, .expense-filter-actions { grid-column: 1; width: 100%; }
  .expense-filter-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; justify-content: stretch; }
  .expense-filter-actions > * { min-width: 0; }
  .topbar-actions .connection-chip { width: 28px; height: 28px; display: grid !important; border: 0; }
  .topbar-actions .header-menu > summary, .topbar-actions .account-menu > summary .avatar { width: 34px; height: 34px; }
  .header-menu-panel { position: fixed; top: calc(var(--app-topbar-height,64px) - 1px); right: 8px; max-width: calc(100vw - 16px); }
  .language-menu .header-menu-panel { width: 190px; }
}

@media (max-width: 380px) {
  .topbar-actions { gap: 3px; }
  .topbar-actions .connection-chip { width: 24px; }
  .topbar-actions .header-menu > summary, .topbar-actions .account-menu > summary .avatar { width: 32px; height: 32px; }
}

/* MauzoTrack 1.0.1 — unified Products-derived mobile data system. */
.mobile-page-title { min-width: 0; display: grid; gap: 3px; }
.mobile-page-title h2 { margin: 0; }
.mobile-page-title > small { color: var(--muted); font-size: 11px; font-weight: 650; }
.mobile-data-card { position: relative; }
.mobile-more-menu { position: relative; }
.mobile-more-menu > summary {
  width: 34px; height: 34px; display: grid; place-items: center; list-style: none; border: 1px solid var(--line); border-radius: 9px;
  background: var(--panel); color: var(--text); font-size: 17px; font-weight: 900; line-height: 1; cursor: pointer;
}
.mobile-more-menu > summary::-webkit-details-marker { display: none; }
.mobile-more-menu[open] > div {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; width: max-content; min-width: 188px; max-width: min(280px,calc(100vw - 28px));
  display: grid; gap: 3px; padding: 7px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); box-shadow: 0 14px 34px rgba(15,23,42,.18);
}
.mobile-more-menu a, .mobile-more-menu button, .mobile-menu-note {
  width: 100%; min-height: 34px; display: flex; align-items: center; padding: 7px 9px; border: 0; border-radius: 7px; background: transparent;
  color: var(--text); font-size: 11px; font-weight: 750; line-height: 1.35; text-align: left; overflow-wrap: anywhere;
}
.mobile-more-menu button { cursor: pointer; }
.mobile-more-menu a:hover, .mobile-more-menu button:hover { background: var(--surface-subtle); }
.mobile-menu-note { min-height: 0; color: var(--muted); font-weight: 650; }

@media (max-width: 800px) {
  body { background: #f7f9fc; }
  .content { padding-inline: 11px; }
  .page-heading { align-items: flex-start; margin-bottom: 11px; }
  .page-heading h2, .page-header .page-title { font-size: 20px; line-height: 1.18; }
  .mobile-page-title > small { font-size: 10.5px; }
  .page-heading > .btn { min-height: 38px; padding: 8px 11px; white-space: nowrap; }

  .mobile-record-list, .report-mobile-list { gap: 8px; padding: 8px 0; }
  .table-card:has(> .mobile-record-list),
  .table-card:has(> .report-mobile-list),
  .table-card:has(> .table-scroll + .mobile-record-list),
  .table-card:has(> .table-scroll + .report-mobile-list) { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .table-card:has(> .mobile-record-list) > .table-footer,
  .table-card:has(> .table-scroll + .mobile-record-list) > .table-footer { padding-inline: 2px; }

  .mobile-record-card.mobile-data-card,
  .report-mobile-card.mobile-data-card {
    display: grid; grid-template-columns: 46px minmax(0,1fr) auto; grid-template-areas: "visual head head" "visual body actions";
    align-items: start; gap: 6px 10px; min-width: 0; padding: 11px 12px; border: 1px solid #e4e9f1; border-radius: 14px;
    background: var(--panel); box-shadow: 0 5px 18px rgba(15,23,42,.035);
  }
  .mobile-data-card.low-row { border-color: #fecaca; background: #fffafa; }
  .mobile-data-visual {
    grid-area: visual; width: 46px; height: 46px; display: grid; place-items: center; align-self: start; overflow: hidden;
    border: 1px solid #e0e7f0; border-radius: 11px; background: #f3f7ff; color: var(--primary); font-size: 17px; font-weight: 900;
  }
  .mobile-data-visual img { width: 100%; height: 100%; object-fit: cover; }
  .mobile-data-visual--sale, .mobile-data-visual--payment { background: #eff6ff; color: #1d4ed8; }
  .mobile-data-visual--expense, .mobile-data-visual--negative { border-color: #fed7aa; background: #fff7ed; color: #c2410c; }
  .mobile-data-visual--positive { border-color: #bbf7d0; background: #f0fdf4; color: #15803d; }
  .mobile-data-visual--report, .mobile-data-rank { background: #f5f3ff; color: #6d28d9; font-size: 12px; }
  .mobile-data-avatar { border-radius: 50%; background: linear-gradient(145deg,#dbeafe,#eef2ff); }
  .mobile-data-visual--backup { background: #f8fafc; color: #475569; }

  .mobile-data-head, .mobile-record-head.mobile-data-head, .report-mobile-head.mobile-data-head {
    grid-area: head; min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin: 0;
  }
  .mobile-data-head > div { min-width: 0; }
  .mobile-data-head h3, .report-mobile-head.mobile-data-head h3 { margin: 0 0 2px; color: var(--text); font-size: 13.5px; line-height: 1.25; overflow-wrap: anywhere; }
  .mobile-data-head small, .report-mobile-head.mobile-data-head small { display: block; color: var(--muted); font-size: 10px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-data-head .status-pill { flex: 0 0 auto; padding: 4px 7px; font-size: 8.5px; line-height: 1; }
  .mobile-data-body { grid-area: body; min-width: 0; display: grid; gap: 4px; align-self: center; }
  .mobile-data-keyline { min-width: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; color: var(--muted); font-size: 10px; }
  .mobile-data-keyline strong { color: var(--primary); font-size: 12.5px; line-height: 1.25; overflow-wrap: anywhere; }
  .mobile-data-keyline em { padding: 2px 6px; border-radius: 999px; background: var(--surface-subtle); color: var(--muted); font-size: 9px; font-style: normal; font-weight: 750; }
  .mobile-data-support { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 2px 6px; color: var(--muted); font-size: 9.5px; line-height: 1.3; }
  .mobile-data-support > span:not(:last-child)::after { content: "·"; margin-left: 6px; color: #aab4c3; }
  .mobile-data-truncate { max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-data-actions { grid-area: actions; display: flex; align-items: center; justify-content: flex-end; gap: 6px; align-self: end; }
  .mobile-data-actions .mobile-primary-action { min-height: 34px; padding: 7px 11px; border-color: #dbeafe; background: #f4f7ff; color: var(--primary); box-shadow: none; font-size: 10px; }
  .mobile-record-state { color: var(--muted); font-size: 9px; font-weight: 750; }
  .mobile-category-card { min-height: 82px; }
  .mobile-category-card .mobile-data-body { align-self: start; }
  .category-section { padding: 0; border: 0; background: transparent; box-shadow: none; overflow: visible; }
  .category-section .table-toolbar { padding: 8px 2px; }
  .category-section .table-toolbar .btn { min-height: 36px; padding: 7px 9px; font-size: 9px; }
  .mobile-inline-empty { padding: 18px 12px; color: var(--muted); font-size: 11px; text-align: center; }
  .sale-item-mobile-list { padding-inline: 8px; }
  .daily-summary-card .report-mobile-list { padding: 4px 10px 10px; }
  .daily-summary-card .mobile-data-card { grid-template-columns: 40px minmax(0,1fr) auto; padding: 10px; }
  .daily-summary-card .mobile-data-visual { width: 40px; height: 40px; }
  .import-preview-mobile-list, .backup-mobile-list { padding-inline: 8px; }

  /* Search first, then compact controls; heavy date filters stay collapsible. */
  .products-filter, .users-filter, .stock-filter, .category-filter, .stock-movement-filter { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .products-filter > input:first-child, .users-filter > input:first-child, .stock-filter > input:first-child,
  .category-filter > input:first-child, .stock-movement-filter > input:first-child { grid-column: 1 / -1; }
  .products-filter .filter-actions, .users-filter .filter-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .stock-filter .filter-actions, .category-filter .filter-actions, .stock-movement-filter .filter-actions { width: auto; }
  .filter-card input, .filter-card select { min-height: 40px; height: 40px; font-size: 11px; }
  .filter-card .btn, .filter-card .btn-tertiary { min-height: 40px; font-size: 10px; }

  .expense-filter-card { padding: 0; overflow: hidden; }
  .expense-filter-card .mobile-filter-toggle { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border: 0; background: var(--panel); color: var(--text); text-align: left; cursor: pointer; }
  .expense-filter-card .mobile-filter-toggle > span { display: grid; gap: 2px; }
  .expense-filter-card .mobile-filter-toggle strong { font-size: 13px; }
  .expense-filter-card .mobile-filter-toggle small { color: var(--muted); font-size: 9px; }
  .expense-filter-card .mobile-filter-toggle b { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; color: var(--primary); font-size: 18px; }
  .expense-filter-card .expense-filter { display: none; padding: 10px; border-top: 1px solid var(--line); }
  .expense-filter-card.filters-open .expense-filter { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .expense-filter-card .expense-filter > input:first-child, .expense-filter-card .date-range, .expense-filter-card .filter-actions { grid-column: 1 / -1; }

  .route-stock-index .dashboard-top,
  .route-sales-index .dashboard-top,
  .route-expenses-index .dashboard-top {
    display: flex !important; gap: 8px !important; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity;
    margin-bottom: 8px; padding: 1px 1px 5px; scrollbar-width: none;
  }
  .route-stock-index .dashboard-top::-webkit-scrollbar,
  .route-sales-index .dashboard-top::-webkit-scrollbar,
  .route-expenses-index .dashboard-top::-webkit-scrollbar { display: none; }
  .route-stock-index .dashboard-top .pro-stat-card,
  .route-sales-index .dashboard-top .pro-stat-card,
  .route-expenses-index .dashboard-top .pro-stat-card {
    min-width: 0; flex: 0 0 164px; min-height: 76px !important; scroll-snap-align: start;
  }

  /* The centre sale action stays prominent without turning the nav into a heavy block. */
  .mobile-bottom-nav { height: 70px; box-shadow: 0 -8px 24px rgba(15,23,42,.07); }
  .mobile-bottom-nav .mobile-sale-link { background: transparent !important; color: var(--primary) !important; box-shadow: none !important; transform: none !important; }
  .mobile-bottom-nav .mobile-sale-link > span { width: 48px; height: 48px; border-radius: 50%; background: var(--primary); color: #fff; transform: translateY(-9px); box-shadow: 0 8px 20px rgba(37,99,235,.25); }
  .mobile-bottom-nav .mobile-sale-link > strong { margin-top: -8px; }
}

@media (max-width: 380px) {
  .mobile-record-card.mobile-data-card, .report-mobile-card.mobile-data-card { grid-template-columns: 42px minmax(0,1fr) auto; gap: 6px 8px; padding: 10px; }
  .mobile-data-visual { width: 42px; height: 42px; }
  .mobile-data-head h3, .report-mobile-head.mobile-data-head h3 { font-size: 12.5px; }
  .mobile-data-support { font-size: 9px; }
  .mobile-data-actions .mobile-primary-action { padding-inline: 8px; }
  .products-filter, .users-filter { grid-template-columns: 1fr; }
  .products-filter > *, .users-filter > * { grid-column: 1 !important; }
  .expense-filter-card.filters-open .expense-filter { grid-template-columns: 1fr; }
  .expense-filter-card .expense-filter > * { grid-column: 1 !important; }
}

body.theme-dark .mobile-data-card,
body.theme-dark .mobile-more-menu[open] > div,
body.theme-dark .mobile-more-menu > summary { background: var(--panel); border-color: var(--line); }
body.theme-dark .mobile-data-card.low-row { background: #2a151b; border-color: #7f1d1d; }
body.theme-dark .mobile-data-visual { border-color: #334155; background: #172033; }
body.theme-dark .mobile-data-actions .mobile-primary-action { background: #172554; border-color: #1e40af; color: #bfdbfe; }
@media (max-width: 800px) { body.theme-dark { background: var(--bg); } }

/* MauzoTrack 1.0.4 — unified mobile operational system. */
.stock-attention-widget { overflow: hidden; }
.stock-attention-widget .widget-head { align-items: flex-start; }
.stock-attention-widget .widget-head > div { display: grid; gap: 3px; }
.stock-attention-widget .widget-head small { color: var(--muted); font-size: 10px; }
.stock-attention-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; margin-bottom: 10px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-subtle); }
.stock-attention-tabs button { min-width: 0; min-height: 34px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 800; cursor: pointer; }
.stock-attention-tabs button span { margin-left: 4px; }
.stock-attention-tabs button.active { background: var(--panel); color: var(--primary); box-shadow: 0 3px 9px rgba(15,23,42,.07); }
.stock-attention-panel[hidden] { display: none; }
.stock-attention-link { display: block; margin-top: 9px; color: var(--primary); font-size: 10px; font-weight: 800; text-align: right; }

.setting-entity-list { display: grid; gap: 9px; }
.setting-entity-row { position: relative; min-width: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); }
.setting-entity-view { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 11px 12px; }
.setting-entity-view[hidden], .setting-entity-editor[hidden] { display: none !important; }
.setting-entity-copy { min-width: 0; display: grid; gap: 2px; }
.setting-entity-copy strong, .setting-entity-copy small { overflow-wrap: anywhere; }
.setting-entity-copy strong { font-size: 13px; }
.setting-entity-copy small { color: var(--muted); font-size: 10px; }
.setting-entity-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.setting-entity-editor { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; padding: 11px 12px; background: var(--surface-subtle); }
.setting-entity-editor .form-group { margin: 0; }
.setting-editor-actions { display: flex; gap: 7px; }
.setting-more-menu button { color: var(--text); }
.setting-more-menu form:last-child button { color: var(--red); }
.setting-entity-row.payment-method-row { display: block; grid-template-columns: none; gap: 0; padding: 0; }
.unit-panel .unit-list { gap: 8px; }
.unit-panel .setting-entity-row.unit-row { display: block; padding: 0; overflow: visible; }

body.theme-dark .stock-attention-tabs, body.theme-dark .setting-entity-editor { background: var(--surface-subtle); }
body.theme-dark .setting-entity-row { background: var(--panel); border-color: var(--line); }

@media (max-width: 800px) {
  :root { --app-topbar-height: 64px; }
  body { overflow-x: hidden; }
  .topbar {
    min-height: var(--app-topbar-height); height: var(--app-topbar-height); padding: 0 10px; gap: 8px;
  }
  .topbar-left { min-width: 0; flex: 1 1 auto; gap: 7px; overflow: hidden; }
  .topbar-left .menu-button { width: 34px; height: 34px; min-width: 34px; flex: 0 0 34px; }
  .topbar h1 { min-width: 0; max-width: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
  .topbar-actions { min-width: max-content; flex: 0 0 auto; display: flex; flex-wrap: nowrap; gap: 5px; }
  .topbar-actions .connection-chip, .topbar-actions .switch-account-btn { display: none !important; }
  .topbar-actions #pendingSyncChip[hidden] { display: none !important; }
  .topbar-actions #pendingSyncChip:not([hidden]) { min-height: 32px; display: flex !important; padding: 5px 7px; border-radius: 8px; }
  .topbar-actions #pendingSyncBadge { font-size: 8px; line-height: 1.1; white-space: nowrap; }
  .topbar-actions .theme-toggle-button, .topbar-actions .text-size-button, .topbar-actions .language-switch button,
  .topbar-actions .avatar { width: 34px; height: 34px; min-width: 34px; min-height: 34px; border-radius: 9px; padding: 0; }
  .topbar-actions .theme-toggle-button, .topbar-actions .text-size-button, .topbar-actions .language-switch { display: grid; }
  .topbar-actions .language-switch button { width: auto; min-width: 43px; display: flex; gap: 3px; padding-inline: 6px; font-size: 9px; }
  .topbar-actions .language-code { display: inline !important; }
  .topbar-actions .user-chip > span:last-child { display: none !important; }

  .content { padding: 15px 11px 94px; }
  .page-heading, .page-header { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 9px; margin-bottom: 12px; }
  .page-heading .heading-actions, .page-header .heading-actions, .page-header .header-actions {
    width: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; overflow: visible; padding: 0;
  }
  .page-heading .heading-actions > *, .page-header .heading-actions > *, .page-header .header-actions > * { min-width: 0; width: 100%; }
  .page-header .header-actions:has(> :nth-child(3)) > :last-child { grid-column: 1 / -1; }
  .page-heading .heading-actions .btn, .page-header .heading-actions .btn, .page-header .header-actions .btn,
  .page-heading .heading-actions summary.btn { width: 100%; min-height: 38px; padding: 8px; font-size: 9.5px; text-align: center; white-space: normal; }
  .page-heading > .btn { justify-self: start; width: auto; }
  .route-stock-index .page-heading .heading-actions { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .route-stock-index .page-heading .heading-actions .btn, .route-stock-index .page-heading .heading-actions summary.btn { padding-inline: 5px; font-size: 8.5px; }
  .mobile-page-title > small { color: var(--muted); font-size: 10px; font-weight: 600; }

  .dashboard-top, .dashboard-top.six, .dashboard-top.four, .daily-summary-stats, .low-stock-stats,
  .report-five-stats.pro-report-stats, .pnl-metrics-pro, .report-summary-grid,
  .route-stock-index .dashboard-top, .route-sales-index .dashboard-top, .route-expenses-index .dashboard-top {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important;
    width: 100%; margin-bottom: 12px; padding: 0; overflow: visible; scroll-snap-type: none;
  }
  .dashboard-top.three > :last-child, .report-summary-grid > :last-child { grid-column: 1 / -1; }
  .route-stock-index .dashboard-top .pro-stat-card, .route-sales-index .dashboard-top .pro-stat-card,
  .route-expenses-index .dashboard-top .pro-stat-card, .dashboard-top .pro-stat-card,
  .daily-summary-stats .pro-stat-card, .low-stock-stats .pro-stat-card, .report-five-stats .pro-stat-card,
  .pnl-metrics-pro .pro-stat-card, .report-summary-grid .pro-stat-card {
    min-width: 0; min-height: 96px !important; flex: initial; padding: 10px !important; gap: 7px !important; scroll-snap-align: none;
  }
  .pro-stat-card .pro-stat-icon { width: 34px; height: 34px; }
  .pro-stat-card .pro-stat-value { font-size: clamp(14px,4vw,18px) !important; line-height: 1.12; white-space: normal !important; overflow-wrap: anywhere; }
  .pro-stat-card .pro-stat-label { font-size: 9.5px !important; line-height: 1.25; white-space: normal !important; }
  .items-sold-card .pro-stat-value { font-size: 13px !important; line-height: 1.25; }

  .mobile-collapsible-filter { padding: 0 !important; overflow: hidden; }
  .mobile-collapsible-filter .mobile-filter-toggle {
    width: 100%; min-height: 52px; display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
    padding: 9px 11px; border: 0; background: var(--panel); color: var(--text); text-align: left; cursor: pointer;
  }
  .mobile-collapsible-filter .mobile-filter-toggle > span { min-width: 0; display: grid; gap: 2px; }
  .mobile-collapsible-filter .mobile-filter-toggle strong { font-size: 12px; }
  .mobile-collapsible-filter .mobile-filter-toggle small { color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
  .mobile-collapsible-filter .mobile-filter-toggle b { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; color: var(--primary); font-size: 17px; }
  .mobile-collapsible-filter > form { display: none !important; }
  .mobile-collapsible-filter.filters-open > form {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important;
    padding: 10px !important; border-top: 1px solid var(--line);
  }
  .mobile-collapsible-filter .products-filter > input:first-child, .mobile-collapsible-filter .stock-filter > input:first-child,
  .mobile-collapsible-filter .category-filter > input:first-child, .mobile-collapsible-filter .users-filter > input:first-child,
  .mobile-collapsible-filter .sales-filter > input:first-child, .mobile-collapsible-filter .expense-filter > input:first-child,
  .mobile-collapsible-filter .stock-movement-filter > input:first-child,
  .mobile-collapsible-filter .date-range, .mobile-collapsible-filter .filter-actions,
  .mobile-collapsible-filter .report-range-filter > button:last-child { grid-column: 1 / -1 !important; }
  .mobile-collapsible-filter .filter-actions { width: 100%; display: flex; justify-content: flex-end; gap: 7px; }
  .mobile-collapsible-filter .filter-actions .btn { flex: initial; }

  .mobile-product-prices { min-width: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 9px; }
  .mobile-product-prices > span { display: flex; align-items: baseline; gap: 4px; min-width: 0; }
  .mobile-product-prices small { color: var(--muted); font-size: 9px; }
  .mobile-product-prices strong { color: var(--primary); font-size: 11.5px; white-space: nowrap; }
  .mobile-product-stockline { color: var(--muted); font-size: 9.5px; line-height: 1.3; }
  .mobile-product-stockline strong { color: var(--muted); font-weight: 700; }
  .mobile-stock-support { min-width: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; }
  .mobile-stock-support > span { display: grid; gap: 1px; color: var(--text); font-size: 9.5px; font-weight: 700; }
  .mobile-stock-support small { color: var(--muted); font-size: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
  .mobile-explicit-metrics b { color: var(--text); font-weight: 750; }
  .mobile-amount-line > span { color: var(--muted); font-size: 9px; font-weight: 700; }
  .mobile-low-stock-quantities { display: flex; flex-wrap: wrap; gap: 4px 9px; }
  .mobile-low-stock-quantities strong { color: #b45309; font-size: 11px; }

  .stock-attention-widget { padding: 13px; }
  .stock-attention-widget .widget-head { margin-bottom: 10px; }
  .stock-attention-widget .compact-row { padding-block: 8px; }
  .dashboard-middle { gap: 10px; margin-bottom: 15px; }
  .dashboard-recent .table-toolbar { padding: 11px 11px 5px; }
  .dashboard-sale-row { padding-block: 9px; }

  .route-reports-index .page-heading { margin-bottom: 10px; }
  .route-reports-index .report-summary-grid { margin-bottom: 18px; }
  .route-reports-index .report-section { margin-top: 22px; }
  .route-reports-index .report-section + .report-section { padding-top: 4px; }
  .route-reports-index .report-section > .section-heading { margin-bottom: 9px; }
  .route-reports-index .report-section > .section-heading span { margin-bottom: 3px; font-size: 9px; }
  .route-reports-index .report-section > .section-heading h3 { font-size: 14px; line-height: 1.25; }
  .route-reports-index .report-menu-grid { gap: 8px !important; }
  .route-reports-index .report-card-v13 { min-height: 132px !important; }

  .pnl-bar-card { padding: 12px; }
  .pnl-bar-heading { margin-bottom: 12px; }
  .pnl-legend { gap: 6px 9px; font-size: 8px; }
  .pnl-plot { grid-template-columns: 38px minmax(0,1fr) !important; gap: 5px; min-height: 252px !important; width: 100%; overflow: visible !important; padding: 0 !important; }
  .pnl-y-axis { position: static !important; height: 218px !important; padding: 0 3px 2px 0; background: transparent !important; font-size: 7.5px; }
  .pnl-plot-area { width: 100%; height: 246px !important; padding-bottom: 28px; overflow: visible; }
  .pnl-grid-lines { bottom: 28px; }
  .pnl-bars { grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 5px !important; padding: 0 2px !important; }
  .pnl-bar-item { grid-template-rows: minmax(0,1fr) 28px; }
  .pnl-bar-track > i { width: min(72%,34px); }
  .pnl-bar-value { display: none; }
  .pnl-bar-item > span { font-size: 7.5px; white-space: normal; line-height: 1.15; }
  .pnl-insight { padding: 14px; }

  .setting-entity-view { grid-template-columns: minmax(0,1fr); gap: 8px; padding: 10px; }
  .setting-entity-actions { justify-content: flex-start; }
  .setting-entity-actions .status-pill { margin-right: auto; }
  .setting-entity-editor { grid-template-columns: minmax(0,1fr); gap: 8px; padding: 10px; }
  .setting-editor-actions .btn { flex: 1; }
  .unit-settings-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .unit-panel { padding: 11px; }
  .unit-panel-heading { align-items: flex-start; }
  .settings-add-disclosure[open] > summary, .unit-add-disclosure[open] > summary { margin-bottom: 9px; }
  .settings-tab-panel[data-settings-panel="units"] .settings-section { margin-top: 12px; }
}

@media (max-width: 380px) {
  .topbar { padding-inline: 8px; gap: 5px; }
  .topbar-left { gap: 5px; }
  .topbar h1 { font-size: 13px; }
  .topbar-actions { gap: 3px; }
  .topbar-actions .theme-toggle-button, .topbar-actions .text-size-button, .topbar-actions .language-switch button,
  .topbar-actions .avatar { width: 32px; height: 32px; min-width: 32px; min-height: 32px; }
  .topbar-actions .language-switch button { width: auto; min-width: 40px; padding-inline: 4px; }
  .route-stock-index .page-heading .heading-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .route-stock-index .page-heading .heading-actions .stock-more-menu { grid-column: 1 / -1; }
  .mobile-collapsible-filter.filters-open > form { grid-template-columns: minmax(0,1fr) !important; }
  .mobile-collapsible-filter.filters-open > form > * { grid-column: 1 !important; }
  .dashboard-top, .dashboard-top.six, .dashboard-top.four, .daily-summary-stats, .low-stock-stats,
  .report-five-stats.pro-report-stats, .pnl-metrics-pro, .report-summary-grid,
  .route-stock-index .dashboard-top, .route-sales-index .dashboard-top, .route-expenses-index .dashboard-top { gap: 7px !important; }
  .pro-stat-card .pro-stat-value { font-size: 14px !important; }
  .mobile-product-prices { gap-inline: 6px; }
  .mobile-product-prices strong { font-size: 10.5px; }
}

/* MauzoTrack 1.0.6 — pricing protection and mobile POS corrections. */
.derived-cost-card {
  min-width: 0; display: grid; align-content: center; gap: 4px; padding: 11px 12px; border: 1px solid #bfdbfe; border-radius: 11px;
  background: #eff6ff;
}
.derived-cost-card[hidden] { display: none; }
.derived-cost-card > span { color: #52637a; font-size: 9px; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.derived-cost-card > strong { color: #1d4ed8; font-size: 16px; line-height: 1.2; }
.derived-cost-card > small { color: #52637a; font-size: 9.5px; line-height: 1.4; }
.pricing-rule-group input[aria-invalid="true"],
.product-edit-form input[aria-invalid="true"] { border-color: #dc2626 !important; box-shadow: 0 0 0 3px rgba(220,38,38,.1) !important; }
.pricing-fields-grid .derived-cost-card { min-height: 82px; }

.completion-document-actions {
  padding: 10px; border: 1px solid #dbe5f2; border-radius: 11px; background: #f6f8fc;
}
.completion-document-actions > div > :only-child,
.completion-document-actions > div > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.completion-document-actions .btn {
  border-color: #d6e1ef !important; background: #fff !important; color: #243b5a !important;
  box-shadow: 0 3px 9px rgba(15,23,42,.045) !important;
}
.completion-document-actions .btn:hover { border-color: #93b4f7 !important; background: #eef4ff !important; color: #1d4ed8 !important; }

@media (max-width: 800px) {
  /* The user can read and tap products faster as one clean mobile list. */
  .route-pos-index .quick-pos-layout .pos-paged-grid { grid-template-columns: minmax(0,1fr) !important; gap: 8px; }
  .route-pos-index .quick-product-card { padding: 10px; gap: 8px !important; }
  .route-pos-index .quick-product-main { align-items: center; }
  .route-pos-index .quick-product-main .product-tile-image { width: 48px; height: 48px; flex-basis: 48px; }
  .route-pos-index .quick-product-copy > strong { font-size: 13px; }
  .route-pos-index .quick-product-copy > small,
  .route-pos-index .quick-product-copy .tile-stock { font-size: 9.5px; }
  .route-pos-index .quick-product-actions { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .route-pos-index .quick-product-actions > :only-child { grid-column: 1 / -1; }

  /* Let a short cart stay short; only long carts consume the available sheet. */
  .route-pos-index .quick-pos-cart.mobile-cart-open { height: auto !important; max-height: min(86dvh,720px) !important; }
  .route-pos-index .quick-pos-cart .cart-list {
    flex: 0 1 auto !important; min-height: 0 !important; max-height: calc(86dvh - 250px) !important; align-content: start;
    overflow-y: auto !important;
  }
  .route-pos-index .quick-pos-cart .cart-row { height: auto !important; min-height: 0 !important; align-self: start; }

  /* Explicit mobile areas prevent Quantity, Subtotal and actions from colliding. */
  .route-pos-index .review-item-row {
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas: "product product" "quantity subtotal" "actions actions";
    align-items: start !important; gap: 9px 12px !important; padding: 12px !important;
  }
  .route-pos-index .review-item-product { grid-area: product !important; }
  .route-pos-index .review-quantity { grid-area: quantity !important; min-width: 88px; justify-items: start !important; text-align: left !important; }
  .route-pos-index .review-line-total-cell { grid-area: subtotal !important; min-width: 0; justify-items: end !important; align-self: start !important; text-align: right; }
  .route-pos-index .review-line-total { font-size: 12px !important; white-space: nowrap; }
  .route-pos-index .review-row-actions {
    grid-area: actions !important; display: flex !important; justify-content: flex-end !important; align-items: center; gap: 6px;
    padding-top: 8px; border-top: 1px solid var(--line);
  }
  .route-pos-index .review-row-actions button,
  .route-pos-index .review-row-actions button:last-child { min-width: 58px; height: 30px !important; }

  .pricing-fields-grid .derived-cost-card { min-height: 0; }
}

body.theme-dark .derived-cost-card { border-color: #1d4ed8; background: #172554; }
body.theme-dark .derived-cost-card > strong { color: #bfdbfe; }
body.theme-dark .derived-cost-card > span,
body.theme-dark .derived-cost-card > small { color: #93c5fd; }
body.theme-dark .completion-document-actions { border-color: #334155; background: #0f172a; }
body.theme-dark .completion-document-actions .btn { border-color: #334155 !important; background: #111827 !important; color: #e2e8f0 !important; }

/* Final 1.0.7 cascade guards for header and expense responsiveness. */
.topbar-actions .connection-chip { display: grid !important; }
.topbar-actions:has(#pendingSyncChip:not([hidden])) .connection-chip { display: grid !important; }
.expense-filter.has-search {
  grid-template-columns: minmax(210px,1.45fr) minmax(140px,.65fr) minmax(180px,.8fr) !important;
}
.expense-filter-search { grid-column: 1; }
.expense-filter-archive { grid-column: 2; }
.expense-filter-category { grid-column: 3; }
.expense-filter-dates { grid-column: 1 / span 2; }
.expense-filter-actions { grid-column: 3; }
@media (min-width: 801px) and (max-width: 1100px) {
  .expense-filter.has-search { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .expense-filter-search { grid-column: 1 / -1; }
  .expense-filter-archive { grid-column: 1; }
  .expense-filter-category { grid-column: 2; }
  .expense-filter-dates { grid-column: 1 / -1; }
  .expense-filter-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 800px) {
  .expense-filter.has-search { grid-template-columns: minmax(0,1fr) !important; }
  .expense-filter-search, .expense-filter-archive, .expense-filter-category, .expense-filter-dates, .expense-filter-actions { grid-column: 1; }
  .topbar-actions .connection-chip { width: 28px; height: 28px; display: grid !important; padding: 0 !important; }
  .topbar-actions .header-menu { display: block; }
  .topbar-actions .header-menu > summary, .topbar-actions .account-menu > summary .avatar { width: 34px; height: 34px; min-width: 34px; min-height: 34px; }
}
@media (max-width: 380px) {
  .topbar-actions .connection-chip { width: 24px; min-width: 24px; }
  .topbar-actions .header-menu > summary, .topbar-actions .account-menu > summary .avatar { width: 32px; height: 32px; min-width: 32px; min-height: 32px; }
}

/* 1.0.8 final dark cascade guard: later feature rules must keep the same calm hierarchy. */
body.theme-dark .quick-pos-cart .cart-item-actions button,
body.theme-dark .mobile-data-actions .mobile-primary-action {
  background: #162944 !important; border-color: #315381 !important; color: #a9c6fb !important;
}
body.theme-dark .quick-pos-cart .cart-item-actions .cart-remove {
  background: rgba(220, 104, 112, .13) !important; border-color: rgba(220, 104, 112, .42) !important; color: #f1a2a8 !important;
}
body.theme-dark .wholesale-behavior-panel,
body.theme-dark .product-stock-helper,
body.theme-dark .setting-entity-row,
body.theme-dark .completion-document-actions {
  background: #111b2a !important; border-color: #253449 !important;
}
body.theme-dark .selling-behavior-card.selected,
body.theme-dark .derived-cost-card {
  background: rgba(93, 142, 232, .11) !important; border-color: rgba(110, 151, 226, .45) !important;
}
body.theme-dark .derived-cost-card > strong { color: #c3d6f7 !important; }
body.theme-dark .derived-cost-card > span,
body.theme-dark .derived-cost-card > small { color: #8fa8ca !important; }
body.theme-dark .completion-document-actions .btn {
  background: #142031 !important; border-color: #2d3e55 !important; color: #dfe8f3 !important;
}

/* MauzoTrack 1.0.15 — controlled text scaling and compact mobile sale rows. */
input::placeholder,
textarea::placeholder {
  font-size: 13px !important;
  line-height: 1.25;
  text-overflow: ellipsis;
}
.dashboard-sale-reference {
  min-width: 0; font-size: 14px; line-height: 1.2; overflow-wrap: anywhere;
}
.dashboard-sale-amount {
  font-size: 13px; line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums;
}
.dashboard-recent-link { font-size: 12px; white-space: nowrap; }

@media (min-width: 801px) {
  html[data-text-size="level-4"] .route-pos-index .pos-explorer-toolbar,
  html[data-text-size="level-5"] .route-pos-index .pos-explorer-toolbar {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html[data-text-size="level-4"] .route-pos-index .pos-explorer-toolbar > .form-group:first-child,
  html[data-text-size="level-5"] .route-pos-index .pos-explorer-toolbar > .form-group:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 800px) {
  .dashboard-sale-row { grid-template-columns: minmax(0,1fr) auto; }
  .dashboard-sale-row .btn { grid-column: 1 / -1; width: 100%; }
  .dashboard-sale-identity { min-width: 0; overflow: hidden; }
  .dashboard-sale-reference { font-size: clamp(13px,3.7vw,15px) !important; line-height: 1.18 !important; }
  .dashboard-sale-amount { font-size: clamp(12px,3.35vw,14px) !important; line-height: 1.18 !important; }
  .dashboard-sale-meta,
  .dashboard-sale-status { font-size: 10px !important; line-height: 1.25 !important; }
  .dashboard-recent-link { font-size: 12px !important; }
}

/* MauzoTrack 1.0.16 — cleaner payment choice, partial collections and responsive POS spacing. */
.manual-outside-panel .table-toolbar {
  align-items: flex-start;
  margin-bottom: 16px !important;
}
.manual-outside-panel .table-toolbar > div {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.manual-outside-panel .table-toolbar h3 {
  margin: 0 !important;
  line-height: 1.2;
}
.manual-outside-panel .outside-helper {
  margin: 0 !important;
  line-height: 1.45;
  max-width: 760px;
}
.manual-outside-panel .outside-smart-search {
  margin-top: 4px;
  margin-bottom: 16px;
}

.payment-status-block { margin: 12px 0; }
.payment-status-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  color: #0f172a;
  font-size: 11px;
  font-weight: 850;
}
.payment-status-label span {
  color: #64748b;
  font-size: 10px;
  font-weight: 650;
}
.payment-status-choice {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}
.payment-status-choice label {
  min-height: 54px;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 9px !important;
  padding: 10px 11px !important;
  border-radius: 11px !important;
}
.payment-status-choice input { margin: 0 !important; flex: 0 0 auto; }
.payment-status-choice span { display: block !important; min-width: 0; }
.payment-status-choice strong { font-size: 12px; line-height: 1.2; }
.payment-status-choice small { display: none !important; }
.payment-status-error {
  display: block;
  margin-top: 6px;
  color: #b91c1c;
  font-size: 10px;
  font-weight: 750;
}
.payment-status-block.has-error .payment-status-choice { border-radius: 12px; box-shadow: 0 0 0 2px rgba(220,38,38,.12); }
.payment-status-block.has-error .payment-status-choice label { border-color: #fca5a5 !important; }

.payment-collection-card {
  border-color: #f6c98d;
  background: #fffaf3;
}
.payment-collection-card .payment-collection-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.payment-collection-card .payment-collection-head h3 { margin: 3px 0 4px; }
.payment-collection-card .payment-collection-head p { margin: 0; color: #7c4a16; }
.payment-balance-chip {
  display: grid;
  gap: 2px;
  min-width: 150px;
  padding: 9px 11px;
  border: 1px solid #fed7aa;
  border-radius: 11px;
  background: #fff;
  text-align: right;
}
.payment-balance-chip span { color: #64748b; font-size: 10px; font-weight: 700; }
.payment-balance-chip strong { color: #9a3412; font-size: 16px; }
.payment-collection-grid {
  display: grid;
  grid-template-columns: minmax(150px,.8fr) minmax(180px,1fr) minmax(180px,1fr) auto;
  gap: 10px;
  align-items: end;
}
.payment-collection-grid .form-group { margin: 0; }
.payment-collection-grid .btn { min-height: 44px; white-space: nowrap; }
.payment-history-list { display: grid; gap: 8px; }
.payment-history-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 4px 12px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.payment-history-row:first-child { border-top: 0; padding-top: 0; }
.payment-history-row span { color: var(--muted); font-size: 11px; }
.payment-history-row strong { font-size: 13px; white-space: nowrap; }
.payment-history-row small { grid-column: 1 / -1; color: var(--muted); }
.sale-balance-note { color: #b45309; font-weight: 800; }

body.theme-dark .payment-status-label { color: #e5edf7; }
body.theme-dark .payment-status-label span { color: #8fa8ca; }
body.theme-dark .payment-collection-card { background: #241c14 !important; border-color: #70491d !important; }
body.theme-dark .payment-collection-card .payment-collection-head p { color: #e8b879 !important; }
body.theme-dark .payment-balance-chip { background: #111b2a; border-color: #70491d; }
body.theme-dark .payment-balance-chip span { color: #9fb0c7; }
body.theme-dark .payment-balance-chip strong { color: #f3bd72; }

@media (max-width: 900px) {
  .payment-collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .payment-collection-grid .btn { width: 100%; }
}
@media (max-width: 620px) {
  .manual-outside-panel { padding: 13px !important; }
  .manual-outside-panel .table-toolbar { margin-bottom: 14px !important; gap: 10px; }
  .manual-outside-panel .table-toolbar > div { gap: 5px; }
  .manual-outside-panel .outside-smart-search { margin-top: 2px; margin-bottom: 14px; }
  .payment-status-choice { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px !important; }
  .payment-status-choice label { min-height: 52px; padding: 9px 8px !important; gap: 7px !important; }
  .payment-status-choice strong { font-size: 11px; }
  .payment-collection-head { flex-direction: column; }
  .payment-balance-chip { width: 100%; text-align: left; min-width: 0; }
  .payment-collection-grid { grid-template-columns: 1fr; }
  .payment-history-row { grid-template-columns: minmax(0,1fr) auto; }
}

/* 1.0.16 payment debt visibility on sales lists. */
.payment-balance-inline {
  display: block;
  margin-top: 4px;
  color: #b45309;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.25;
  white-space: nowrap;
}
.payment-mobile-due {
  color: #b45309;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.payment-history-card .table-toolbar {
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}
.payment-history-card .table-toolbar h3 { margin: 0 0 3px; }
.payment-history-row > div { display: grid; gap: 2px; min-width: 0; }
.payment-history-row > div:last-child { text-align: right; }
.payment-history-row small { display: block; color: var(--muted); font-size: 10px; line-height: 1.3; }
.text-warning { color: #b45309 !important; }
body.theme-dark .payment-balance-inline,
body.theme-dark .payment-mobile-due,
body.theme-dark .text-warning { color: #f3bd72 !important; }

@media (max-width: 900px) {
  .sales-list-table .row-actions-primary { flex-wrap: wrap; }
}
@media (max-width: 620px) {
  .payment-history-card .table-toolbar { flex-direction: column; }
  .payment-history-row { grid-template-columns: 1fr; gap: 7px; }
  .payment-history-row > div:last-child { text-align: left; }
  .mobile-data-actions > .btn-success { flex: 1 1 auto; }
}


/* MauzoTrack 1.0.17 — payment-status visibility and sale payment layout polish. */
.route-pos-index .payment-status-choice label {
  min-width: 0;
  overflow: hidden;
}
.route-pos-index .payment-status-choice input[type="radio"] {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  flex: 0 0 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  accent-color: #2563eb;
}
.route-pos-index .payment-status-choice span {
  display: block !important;
  flex: 1 1 auto;
  min-width: 0;
  overflow: visible;
}
.route-pos-index .payment-status-choice strong {
  display: block;
  color: #0f172a;
  font-size: 12px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.theme-dark .route-pos-index .payment-status-choice strong { color: #f8fafc; }

.sale-detail-primary-stack {
  display: grid;
  gap: 18px;
  min-width: 0;
  align-content: start;
}
.sale-detail-primary-stack:only-child { grid-column: 1 / -1; }
.sale-detail-primary-stack > .card { margin: 0; min-width: 0; }
.sale-detail-primary-stack .payment-collection-card {
  padding: 20px;
  overflow: visible;
}
.sale-detail-primary-stack .payment-collection-head {
  align-items: flex-start;
  margin-bottom: 18px;
}
.sale-detail-primary-stack .payment-collection-head > div:first-child {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.sale-detail-primary-stack .payment-collection-head h3 { margin: 0; }
.sale-detail-primary-stack .payment-collection-head p {
  max-width: 620px;
  line-height: 1.45;
}
.sale-detail-primary-stack .payment-collection-grid {
  grid-template-columns: minmax(150px,.8fr) minmax(170px,1fr) minmax(190px,1.2fr) auto;
  gap: 12px;
}
.sale-detail-primary-stack .payment-collection-grid input,
.sale-detail-primary-stack .payment-collection-grid select {
  min-width: 0;
}
.sale-detail-primary-stack .payment-record-button {
  min-width: 138px;
  align-self: end;
}

@media (max-width: 1100px) {
  .sale-detail-primary-stack .payment-collection-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .sale-detail-primary-stack .payment-record-button { width: 100%; }
}
@media (max-width: 620px) {
  .route-pos-index .payment-status-choice {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .route-pos-index .payment-status-choice label {
    min-height: 54px;
    padding: 9px !important;
    gap: 8px !important;
  }
  .route-pos-index .payment-status-choice strong { font-size: 11px; }
  .sale-detail-primary-stack { gap: 14px; }
  .sale-detail-primary-stack .payment-collection-card { padding: 14px !important; }
  .sale-detail-primary-stack .payment-collection-head { gap: 11px; margin-bottom: 14px; }
  .sale-detail-primary-stack .payment-collection-grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }
  .sale-detail-primary-stack .payment-balance-chip { padding: 10px 11px; }
  .sale-detail-primary-stack .payment-record-button { width: 100%; min-width: 0; }
}

/* MauzoTrack 1.0.20 — quieter sales cards, aligned payment collection and notification center. */

/* Mobile sales: one amount line, clear payment colour, and compact payment status. */
@media (max-width: 800px) {
  .route-sales-index .mobile-sale-amount {
    font-size: 12px !important;
    font-weight: 850;
    line-height: 1.25;
  }
  .route-sales-index .mobile-sale-amount--paid { color: var(--primary) !important; }
  .route-sales-index .mobile-sale-amount--pending { color: #c25b08 !important; }
  .route-sales-index .mobile-sale-payment-status {
    padding: 2px 5px !important;
    border-radius: 999px;
    font-size: inherit !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
  }
  .route-sales-index .mobile-data-support { gap: 2px 5px; }
  .route-sales-index .mobile-data-support > span:not(:last-child)::after { margin-left: 5px; }
}
body.theme-dark.route-sales-index .mobile-sale-amount--pending { color: #f3bd72 !important; }

/* Sale Details: keep all three controls on one visual baseline on desktop. */
.sale-detail-primary-stack .payment-collection-card {
  padding: 21px 22px !important;
}
.sale-detail-primary-stack .payment-collection-grid {
  align-items: start;
}
.sale-detail-primary-stack .payment-collection-grid .form-group {
  display: grid;
  grid-template-rows: 18px 44px auto;
  gap: 6px;
  min-width: 0;
}
.sale-detail-primary-stack .payment-collection-grid .form-group > label {
  min-height: 18px;
  display: flex;
  align-items: flex-end;
  margin: 0;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.15;
}
.sale-detail-primary-stack .payment-collection-grid input,
.sale-detail-primary-stack .payment-collection-grid select {
  height: 44px;
  min-height: 44px;
}
.sale-detail-primary-stack .payment-record-button {
  height: 44px;
  min-height: 44px;
  margin-top: 24px;
  align-self: start;
}
@media (min-width: 801px) {
  .sale-detail-primary-stack .payment-collection-grid {
    grid-template-columns: repeat(3,minmax(125px,1fr)) minmax(132px,auto);
    gap: 12px;
  }
}
@media (min-width: 621px) and (max-width: 800px) {
  .sale-detail-primary-stack .payment-collection-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
  }
  .sale-detail-primary-stack .payment-record-button {
    width: 100%;
    margin-top: 24px;
  }
}
@media (max-width: 620px) {
  .sale-detail-primary-stack .payment-collection-card { padding: 15px !important; }
  .sale-detail-primary-stack .payment-collection-grid .form-group { grid-template-rows: auto 44px auto; }
  .sale-detail-primary-stack .payment-collection-grid .form-group > label { white-space: normal; }
  .sale-detail-primary-stack .payment-record-button { margin-top: 0; }
}

/* The signed-in identity now lives only in the account menu, not the sidebar. */
.sidebar > nav { padding-top: 8px; }

/* Notification center + simplified top utility header. */
.notification-menu > summary { position: relative; }
.notification-menu > summary .app-icon {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.notification-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border: 2px solid var(--panel);
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  box-sizing: border-box;
}
.notification-badge[hidden] { display: none !important; }
.notification-menu-panel {
  width: min(390px, calc(100vw - 24px));
  max-height: min(620px, calc(100vh - 86px));
  grid-template-rows: auto auto minmax(0,1fr) auto;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.notification-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 15px 12px;
  border-bottom: 1px solid var(--line);
}
.notification-panel-head > div { display: grid; gap: 2px; min-width: 0; }
.notification-panel-head strong { font-size: 13px; }
.notification-panel-head small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.header-menu-panel .notification-refresh-button {
  width: 30px;
  min-width: 30px;
  min-height: 30px;
  height: 30px;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 16px;
}
.notification-permission-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  border-bottom: 1px solid var(--line);
  background: #f8fbff;
}
.notification-permission-row[hidden] { display: none !important; }
.notification-permission-row > div { display: grid; gap: 2px; min-width: 0; }
.notification-permission-row strong { font-size: 10px; }
.notification-permission-row small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.header-menu-panel .notification-permission-row > button {
  width: auto;
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 9px;
}
.notification-list {
  min-height: 82px;
  max-height: 390px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.header-menu-panel .notification-item {
  min-height: 0;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  padding: 11px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  text-decoration: none;
}
.header-menu-panel .notification-item:hover { background: var(--surface-subtle); }
.notification-item-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #fff7ed;
  color: #c2410c;
  font-size: 13px;
  font-weight: 900;
}
.notification-item-copy { display: grid; gap: 3px; min-width: 0; }
.notification-item-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.notification-item-head strong { color: var(--text); font-size: 11px; }
.notification-item-head b {
  flex: 0 0 auto;
  padding: 2px 6px;
  border-radius: 999px;
  background: #fff1dd;
  color: #b45309;
  font-size: 8px;
}
.notification-item-message { color: #b45309; font-size: 10.5px; font-weight: 800; }
.notification-item-copy small { color: var(--muted); font-size: 9px; }
.notification-empty { padding: 24px 16px; color: var(--muted); font-size: 11px; text-align: center; }
.header-menu-panel .notification-panel-footer {
  min-height: 40px;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 0;
  color: var(--primary);
  font-size: 10px;
  border-top: 0;
}

.account-menu-panel { width: 246px; }
.account-menu-section { display: grid; gap: 2px; padding: 5px 0; }
.account-menu-label {
  padding: 4px 10px 2px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.header-menu-panel .account-pref-action > span {
  display: flex;
  align-items: center;
  gap: 7px;
}
.header-menu-panel .account-pref-action .app-icon {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.header-menu-panel .account-pref-action > b {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}
.account-menu-divider { height: 1px; margin: 4px 7px; background: var(--line); }

body.theme-dark .notification-permission-row { background: #101a29; }
body.theme-dark .notification-item-icon { background: rgba(194,65,12,.15); color: #f0b26e; }
body.theme-dark .notification-item-head b { background: rgba(180,83,9,.18); color: #f3bd72; }
body.theme-dark .notification-item-message { color: #f3bd72; }
body.theme-dark .notification-badge { border-color: var(--panel); }

@media (max-width: 800px) {
  .topbar-actions { gap: 5px !important; }
  .topbar-actions .text-size-topbar,
  .topbar-actions .notification-menu > summary,
  .topbar-actions .account-menu > summary .avatar {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
  }
  .notification-menu-panel {
    top: calc(var(--app-topbar-height,64px) - 1px) !important;
    right: 8px !important;
    width: min(390px, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
    max-height: calc(100vh - var(--app-topbar-height,64px) - 16px);
  }
  .notification-list { max-height: min(430px, calc(100vh - 235px)); }
}
@media (max-width: 380px) {
  .topbar-actions { gap: 3px !important; }
  .topbar-actions .text-size-topbar,
  .topbar-actions .notification-menu > summary,
  .topbar-actions .account-menu > summary .avatar {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
  }
  .notification-panel-head { padding-inline: 12px; }
  .notification-permission-row { padding-inline: 12px; }
  .header-menu-panel .notification-item { padding-inline: 12px; }
}


/* MauzoTrack 1.0.20 — compact sale actions, universal filter disclosures and action-grid polish. */
.action-disclosure { padding: 0 !important; overflow: hidden; border-color: var(--line); }
.action-disclosure > summary {
  list-style: none; min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 14px 16px; cursor: pointer; background: var(--panel); color: var(--text);
}
.action-disclosure > summary::-webkit-details-marker { display: none; }
.action-disclosure > summary > span { min-width: 0; display: grid; gap: 3px; }
.action-disclosure > summary strong { font-size: 14px; line-height: 1.25; }
.action-disclosure > summary small { color: var(--muted); font-size: 10.5px; line-height: 1.4; }
.action-disclosure > summary > b {
  width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border: 1px solid var(--line);
  border-radius: 9px; color: var(--primary); font-size: 18px; transition: transform .15s ease;
}
.action-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.action-disclosure[open] > summary > b { transform: rotate(45deg); }
.action-disclosure-body { padding: 15px 16px 16px; }
.sale-cancel-disclosure { align-self: start; border-color: #fed7aa; }
.sale-cancel-disclosure .action-disclosure-body form { display: grid; gap: 11px; }
.sale-cancel-disclosure .form-group { margin: 0; }
.return-items-disclosure { margin-top: 16px; }
.return-items-form { margin: 0; }

/* Filters now use the same compact disclosure on desktop, tablet and mobile. */
.mobile-collapsible-filter { padding: 0 !important; overflow: hidden; }
.mobile-collapsible-filter .mobile-filter-toggle {
  width: 100%; min-height: 58px; display: flex !important; align-items: center; justify-content: space-between; gap: 14px;
  padding: 11px 14px; border: 0; background: var(--panel); color: var(--text); text-align: left; cursor: pointer;
}
.mobile-collapsible-filter .mobile-filter-toggle > span { min-width: 0; display: grid; gap: 3px; }
.mobile-collapsible-filter .mobile-filter-toggle strong { font-size: 13px; line-height: 1.2; }
.mobile-collapsible-filter .mobile-filter-toggle small { color: var(--muted); font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.mobile-collapsible-filter .mobile-filter-toggle b {
  width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border: 1px solid var(--line);
  border-radius: 9px; color: var(--primary); font-size: 18px;
}
.mobile-collapsible-filter > form { display: none !important; }
.mobile-collapsible-filter.filters-open > form {
  display: grid !important; padding: 12px 14px 14px !important; border-top: 1px solid var(--line);
}

/* Top action grids. */
.products-page-actions { display: grid; grid-template-columns: repeat(3,max-content); align-items: center; justify-content: end; gap: 9px; }
.stock-page-actions { align-items: center; }

@media (max-width: 800px) {
  .route-stock-index .page-heading .stock-page-actions { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px; }
  .route-stock-index .page-heading .stock-page-actions > * { width: 100% !important; min-width: 0; }
  .route-stock-index .page-heading .stock-page-actions .stock-more-menu { grid-column: auto !important; }
  .route-stock-index .page-heading .stock-page-actions .btn,
  .route-stock-index .page-heading .stock-page-actions summary.btn { width: 100% !important; min-height: 40px; padding: 8px 6px; font-size: 9px !important; }

  .route-products-index .page-heading .products-page-actions { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); justify-content: stretch; gap: 7px; }
  .route-products-index .page-heading .products-page-actions > * { width: 100% !important; min-width: 0; }
  .route-products-index .page-heading .products-page-actions .btn,
  .route-products-index .page-heading .products-page-actions summary.btn { width: 100% !important; min-height: 40px; padding: 8px 7px; font-size: 9.5px; }
  .route-products-index .page-heading .products-page-actions .products-add-button { grid-column: 1 / -1; }

  .action-disclosure > summary { min-height: 60px; padding: 12px 13px; }
  .action-disclosure-body { padding: 12px 13px 13px; }
  .return-item-list { gap: 8px; }
}

@media (max-width: 430px) {
  .mobile-collapsible-filter.filters-open > form { grid-template-columns: minmax(0,1fr) !important; }
  .mobile-collapsible-filter.filters-open > form > * { grid-column: 1 !important; }
  .action-disclosure > summary small { font-size: 9.5px; }
}

/* MauzoTrack 1.0.20 — TZS 10 pricing, compact recent sales, stronger filter labels, customizable notifications. */

/* Dashboard Recent Sales: keep identity, amount/status and View on one mobile row. */
@media (max-width: 800px) {
  .route-dashboard .dashboard-sale-row {
    grid-template-columns: minmax(0,1.35fr) minmax(86px,.82fr) auto !important;
    align-items: center;
    gap: 7px;
    padding: 10px 10px;
  }
  .route-dashboard .dashboard-sale-identity { min-width: 0; overflow: hidden; }
  .route-dashboard .dashboard-sale-reference {
    font-size: clamp(11.5px,3.45vw,13.5px) !important;
    line-height: 1.18 !important;
  }
  .route-dashboard .dashboard-sale-meta {
    font-size: 9px !important;
    line-height: 1.25 !important;
  }
  .route-dashboard .dashboard-sale-total {
    min-width: 0;
    text-align: center;
    justify-items: center;
  }
  .route-dashboard .dashboard-sale-amount {
    font-size: clamp(11px,3.2vw,13px) !important;
    line-height: 1.18 !important;
    white-space: nowrap;
  }
  .route-dashboard .dashboard-sale-status {
    max-width: 100%;
    font-size: 8.5px !important;
    line-height: 1.18 !important;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .route-dashboard .dashboard-sale-row .btn {
    grid-column: auto !important;
    width: auto !important;
    min-width: 48px;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid #bfdbfe;
    border-radius: 9px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 9.5px !important;
    font-weight: 850;
  }
  body.theme-dark.route-dashboard .dashboard-sale-row .btn {
    background: rgba(37,99,235,.14);
    border-color: rgba(96,165,250,.34);
    color: #bfdbfe;
  }
}

/* Filter disclosure typography: slightly stronger on desktop/tablet, still compact on phones. */
@media (min-width: 801px) {
  .mobile-collapsible-filter .mobile-filter-toggle {
    min-height: 62px;
    padding: 12px 15px;
  }
  .mobile-collapsible-filter .mobile-filter-toggle strong {
    font-size: 15px;
    line-height: 1.2;
    font-weight: 850;
  }
  .mobile-collapsible-filter .mobile-filter-toggle small {
    font-size: 11.5px;
    line-height: 1.35;
  }
}

/* Notification inbox controls. Read/clear state is intentionally visual and compact. */
.notification-panel-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  flex: 0 0 auto;
}
.header-menu-panel .notification-panel-tools > button {
  width: auto;
  min-width: 0;
  min-height: 28px;
  height: 28px;
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--muted);
  font-size: 8.5px;
  font-weight: 800;
  white-space: nowrap;
}
.header-menu-panel .notification-panel-tools > button:hover {
  background: var(--surface-subtle);
  color: var(--text);
}
.header-menu-panel .notification-panel-tools > button[hidden] { display: none !important; }
.header-menu-panel .notification-panel-tools .notification-refresh-button {
  width: 28px;
  min-width: 28px;
  padding: 0;
  font-size: 15px;
}
.header-menu-panel .notification-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px;
  padding: 0;
  background: var(--panel);
}
.header-menu-panel .notification-item.notification-item--read {
  background: color-mix(in srgb, var(--surface-subtle) 62%, var(--panel));
}
.header-menu-panel .notification-item-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: start;
  gap: 9px;
  padding: 11px 0 11px 13px;
  color: inherit;
  text-decoration: none;
}
.header-menu-panel .notification-item-main:hover { text-decoration: none; }
.notification-item--read .notification-item-icon {
  background: #ecfdf5;
  color: #15803d;
}
.notification-item--read .notification-item-message { color: var(--text); opacity: .78; }
.notification-item--read .notification-item-head strong { font-weight: 750; }
.notification-item--read .notification-item-head b {
  background: #ecfdf5;
  color: #15803d;
}
.notification-item-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 5px;
  padding: 9px 9px 9px 0;
}
.header-menu-panel .notification-item-actions > button {
  width: auto;
  min-width: 50px;
  min-height: 25px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  white-space: nowrap;
}
.header-menu-panel .notification-item-actions > button:hover {
  background: var(--surface-subtle);
  color: var(--text);
}
.notification-seen-label {
  min-height: 24px;
  display: grid;
  place-items: center;
  color: #15803d;
  font-size: 8px;
  font-weight: 850;
}
.notification-item-copy small {
  line-height: 1.35;
  overflow-wrap: anywhere;
}
body.theme-dark .notification-item--read .notification-item-icon,
body.theme-dark .notification-item--read .notification-item-head b {
  background: rgba(22,163,74,.13);
  color: #86efac;
}
body.theme-dark .notification-seen-label { color: #86efac; }

@media (max-width: 620px) {
  .notification-panel-head { padding: 12px; gap: 8px; }
  .notification-panel-head strong { font-size: 12.5px; }
  .notification-panel-head small { font-size: 9.5px; }
  .header-menu-panel .notification-panel-tools > button { min-height: 27px; height: 27px; padding-inline: 6px; font-size: 8px; }
  .header-menu-panel .notification-item-main { padding-left: 11px; }
  .notification-item-actions { padding-right: 8px; }
}

/* 1.0.20 notification row alignment guard. */
.header-menu-panel .notification-item { align-items: stretch; }

/* MauzoTrack 1.0.21 — notification activity inbox redesign. */
.notification-menu-panel {
  width: min(420px, calc(100vw - 24px));
  max-height: min(640px, calc(100vh - 84px));
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .16);
}
.notification-panel-head {
  min-height: 62px;
  padding: 14px 16px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 0;
}
.notification-panel-head > div { display: grid; gap: 2px; min-width: 0; }
.notification-panel-head strong { font-size: 15px; line-height: 1.2; font-weight: 900; }
.notification-panel-head small { font-size: 10.5px; line-height: 1.3; color: var(--muted); }
.header-menu-panel .notification-close-button {
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
  color: var(--muted);
  font-size: 19px;
  line-height: 1;
}
.notification-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 0 12px 10px;
  border-bottom: 1px solid var(--line);
}
.header-menu-panel .notification-tabs > button {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 7px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}
.header-menu-panel .notification-tabs > button:hover { background: var(--surface-subtle); color: var(--text); }
.header-menu-panel .notification-tabs > button.active { background: #eff6ff; color: #1d4ed8; }
.notification-tabs button span {
  min-width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 10%, transparent);
  font-size: 8px;
  font-weight: 900;
}
.notification-list {
  min-height: 120px;
  max-height: 450px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--panel);
}
.header-menu-panel .notification-item {
  position: relative;
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: var(--panel);
}
.header-menu-panel .notification-item.notification-item--unread { background: #fbfdff; }
.header-menu-panel .notification-item.notification-item--read { background: var(--panel); }
.header-menu-panel .notification-item-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 7px;
  align-items: start;
  gap: 10px;
  padding: 12px 6px 12px 14px;
  color: inherit;
  text-decoration: none;
}
.header-menu-panel .notification-item-main:hover { background: var(--surface-subtle); text-decoration: none; }
.notification-item-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  font-weight: 900;
}
.notification-item--success .notification-item-icon { background: #ecfdf5; color: #15803d; }
.notification-item--attention .notification-item-icon { background: #fff7ed; color: #c2410c; }
.notification-item--inventory .notification-item-icon { background: #f5f3ff; color: #7c3aed; }
.notification-item-copy { min-width: 0; display: grid; gap: 3px; }
.notification-item-title {
  color: var(--text);
  font-size: 11.5px;
  line-height: 1.25;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.notification-item--read .notification-item-title { font-weight: 760; }
.notification-item-message {
  color: var(--text);
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 650;
  opacity: .84;
  overflow-wrap: anywhere;
}
.notification-item-copy small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.notification-unread-dot {
  width: 6px;
  height: 6px;
  align-self: center;
  border-radius: 999px;
  background: #2563eb;
}
.notification-row-menu {
  position: relative;
  align-self: center;
  margin-right: 8px;
}
.notification-row-menu > summary {
  list-style: none;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
}
.notification-row-menu > summary::-webkit-details-marker { display: none; }
.notification-row-menu[open] > summary,
.notification-row-menu > summary:hover { border-color: var(--line); background: var(--surface-subtle); color: var(--text); }
.notification-row-menu > div {
  position: absolute;
  top: 34px;
  right: 0;
  z-index: 80;
  width: 126px;
  padding: 5px;
  display: grid;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
}
.header-menu-panel .notification-row-menu button {
  width: 100%;
  min-height: 31px;
  padding: 7px 9px;
  justify-content: flex-start;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text);
  font-size: 9.5px;
  font-weight: 750;
  text-align: left;
}
.header-menu-panel .notification-row-menu button:hover { background: var(--surface-subtle); }
.notification-panel-footer-actions {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  padding: 9px 12px;
  border-top: 1px solid var(--line);
  background: var(--panel);
}
.header-menu-panel .notification-panel-footer-actions > button {
  width: auto;
  min-width: 0;
  min-height: 31px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
.header-menu-panel .notification-panel-footer-actions > button:hover { background: var(--surface-subtle); color: var(--text); }
.header-menu-panel .notification-panel-footer-actions > button[hidden] { display: none !important; }
.notification-empty { padding: 34px 18px; color: var(--muted); font-size: 11px; text-align: center; }

body.theme-dark .header-menu-panel .notification-tabs > button.active { background: rgba(37, 99, 235, .16); color: #9ec1ff; }
body.theme-dark .header-menu-panel .notification-item.notification-item--unread { background: #101b2b; }
body.theme-dark .notification-item-icon { background: rgba(37,99,235,.14); color: #8fb4ff; }
body.theme-dark .notification-item--success .notification-item-icon { background: rgba(22,163,74,.14); color: #86efac; }
body.theme-dark .notification-item--attention .notification-item-icon { background: rgba(194,65,12,.14); color: #fdba74; }
body.theme-dark .notification-item--inventory .notification-item-icon { background: rgba(124,58,237,.16); color: #c4b5fd; }
body.theme-dark .notification-unread-dot { background: #7da7f5; }

@media (max-width: 800px) {
  .notification-menu-panel {
    position: fixed !important;
    top: calc(var(--app-topbar-height, 64px) + 6px) !important;
    left: 8px !important;
    right: 8px !important;
    bottom: calc(var(--mobile-bottom-nav-height, 70px) + 8px) !important;
    width: auto !important;
    max-width: none !important;
    height: auto;
    max-height: none !important;
    border-radius: 16px;
  }
  .notification-list { max-height: none; min-height: 0; }
  .notification-panel-head { min-height: 58px; padding: 12px 14px 10px; }
  .notification-panel-head strong { font-size: 14px; }
  .notification-panel-head small { font-size: 10px; }
  .notification-tabs { padding: 0 10px 9px; }
  .header-menu-panel .notification-tabs > button { min-height: 36px; font-size: 10px; }
  .header-menu-panel .notification-item-main { padding: 12px 5px 12px 12px; }
  .notification-panel-footer-actions { justify-content: stretch; padding: 9px 10px; }
  .header-menu-panel .notification-panel-footer-actions > button { flex: 1 1 0; justify-content: center; }
  .notification-row-menu { margin-right: 7px; }
  .notification-row-menu > div {
    position: fixed;
    top: auto;
    right: 18px;
    bottom: calc(var(--mobile-bottom-nav-height, 70px) + 68px);
    width: min(180px, calc(100vw - 36px));
  }
}

/* MauzoTrack 1.0.22 — payment-history spacing and mobile notification polish. */
.payment-history-card {
  padding: 18px 20px;
}
.payment-history-card .table-toolbar {
  margin-bottom: 12px;
}
.payment-history-card .payment-history-list {
  min-width: 0;
}
.payment-history-card .payment-history-row {
  padding: 11px 0;
}
.payment-history-card .payment-history-row:first-child {
  padding-top: 2px;
}

.header-menu-panel .notification-close-button {
  display: grid;
  place-items: center;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  border: 1px solid #fecaca;
  border-radius: 9px;
  background: #fef2f2;
  color: #dc2626;
}
.header-menu-panel .notification-close-button .app-icon {
  width: 15px;
  height: 15px;
  margin: 0;
  stroke-width: 2.2;
}
.header-menu-panel .notification-close-button:hover {
  border-color: #fca5a5;
  background: #fee2e2;
  color: #b91c1c;
}
body.theme-dark .header-menu-panel .notification-close-button {
  border-color: rgba(248, 113, 113, .34);
  background: rgba(220, 38, 38, .15);
  color: #fca5a5;
}
body.theme-dark .header-menu-panel .notification-close-button:hover {
  background: rgba(220, 38, 38, .24);
  color: #fecaca;
}

@media (max-width: 800px) {
  .payment-history-card {
    padding: 15px 14px;
  }
  .payment-history-card .table-toolbar {
    gap: 8px;
    margin-bottom: 10px;
  }
  .payment-history-card .payment-history-row {
    padding: 10px 0;
  }
  .notification-menu-panel {
    top: var(--app-topbar-height, 64px) !important;
  }
}

/* MauzoTrack 1.0.24 — final component overrides. */
.notification-menu-panel{width:min(460px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 86px));overflow:hidden;border-radius:18px;box-shadow:0 24px 64px rgba(15,23,42,.22)}
.notification-panel-head{min-height:72px;padding:16px 16px 13px 18px;align-items:center}.notification-panel-head>div:first-child{display:grid;gap:3px}.notification-panel-head strong{font-size:18px;line-height:1.2;letter-spacing:-.02em}.notification-panel-head small{font-size:11.5px;line-height:1.35}.notification-head-actions{display:flex;align-items:center;gap:8px}
.header-menu-panel .notification-read-all-button{width:auto;min-height:34px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--primary);font-size:11px;font-weight:850;white-space:nowrap}.header-menu-panel .notification-read-all-button:hover{background:var(--surface-subtle)}.header-menu-panel .notification-read-all-button[hidden]{display:none!important}
.notification-tabs{padding:0 14px 12px;gap:8px}.header-menu-panel .notification-tabs>button{min-height:36px;padding:8px 12px;border-radius:999px;font-size:11.5px}.notification-list{max-height:min(540px,calc(100vh - 238px))}.header-menu-panel .notification-item{min-height:86px}.header-menu-panel .notification-item-main{grid-template-columns:40px minmax(0,1fr) 8px;gap:12px;padding:14px 7px 14px 16px}.notification-item-icon{width:40px;height:40px;border-radius:12px;font-size:14px}.notification-item-copy{gap:4px}.notification-item-title{font-size:13.5px;line-height:1.35}.notification-item-message{font-size:12px;line-height:1.45;font-weight:600}.notification-item-copy small{font-size:10.5px;line-height:1.4}.notification-row-menu>summary{width:34px;height:34px;font-size:12px}.notification-row-menu>div{top:38px;width:142px}.header-menu-panel .notification-row-menu button{min-height:36px;font-size:11px}.notification-panel-footer-actions{min-height:52px;padding:9px 14px}.header-menu-panel .notification-panel-footer-actions>button{min-height:34px;font-size:10.5px}.notification-empty{padding:48px 20px;font-size:12.5px}
.pro-stat-card-link{color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.pro-stat-card-link:hover{transform:translateY(-1px);border-color:#b8cff7;box-shadow:0 10px 24px rgba(15,23,42,.08);text-decoration:none}.pro-stat-hint{display:block;margin-top:4px;color:var(--muted);font-size:10.5px;font-weight:700}.user-email-verification-state{width:max-content;margin-top:7px}.password-reset-request-form{margin-bottom:24px!important}.password-reset-request-form+.login-help{margin-top:0!important}
.automatic-backup-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px;align-items:center;margin:14px 0;padding:14px 16px;border:1px solid #bfdbfe;border-radius:13px;background:#f8fbff}.automatic-backup-summary>div{display:grid;gap:4px;min-width:0}.automatic-backup-summary strong{overflow-wrap:anywhere}.automatic-backup-summary small,.automatic-backup-summary p,.backup-schedule-note p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.backup-schedule-note{margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-subtle)}.backup-schedule-note strong{display:block;margin-bottom:3px}
body.theme-dark .automatic-backup-summary{border-color:#284b78;background:#0e1b2d}
@media(max-width:800px){html.notification-panel-open{overflow:hidden}.notification-menu-panel{top:var(--app-topbar-height,64px)!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:calc(100dvh - var(--app-topbar-height,64px));max-height:none!important;border-width:1px 0 0;border-radius:0;box-shadow:0 -8px 32px rgba(15,23,42,.16)}.notification-panel-head{min-height:68px;padding:14px 14px 12px 16px}.notification-panel-head strong{font-size:18px}.notification-panel-head small{font-size:11px}.header-menu-panel .notification-read-all-button{min-height:32px;padding-inline:7px;font-size:10.5px}.notification-tabs{padding:0 12px 11px;overflow-x:auto}.header-menu-panel .notification-tabs>button{flex:0 0 auto;min-width:74px;font-size:11px}.notification-list{min-height:0;max-height:none}.header-menu-panel .notification-item{min-height:90px}.header-menu-panel .notification-item-main{grid-template-columns:40px minmax(0,1fr) 7px;padding:14px 4px 14px 14px}.notification-item-title{font-size:13.5px}.notification-item-message{font-size:12px}.notification-item-copy small{font-size:10.5px}.notification-panel-footer-actions{padding-bottom:max(10px,env(safe-area-inset-bottom))}.notification-row-menu>div{bottom:72px}.automatic-backup-summary{grid-template-columns:1fr;gap:8px}}

/* MauzoTrack 1.0.24 — operational controls and sales follow-up */
.notification-head-actions{display:flex;align-items:center;gap:7px}
.notification-settings-button,.notification-close-button{display:inline-grid!important;place-items:center;width:34px;height:34px;min-width:34px;padding:0!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface)!important;color:var(--muted)!important;line-height:1!important}
.notification-settings-button .app-icon,.notification-close-button .app-icon{display:block;width:16px;height:16px;margin:auto}
.notification-close-button{color:#dc2626!important;border-color:#fecaca!important;background:#fff7f7!important}
.notification-item{touch-action:pan-y;will-change:transform,opacity;transition:transform .18s ease,opacity .18s ease,background-color .18s ease}
.notification-item.is-swiping{transition:none;background:#f8fafc}
.notification-item.is-dismissed{pointer-events:none}
body.theme-dark .notification-settings-button{background:#111c2d!important;border-color:#304158!important;color:#b9c7db!important}
body.theme-dark .notification-close-button{background:#2b151b!important;border-color:#65303a!important;color:#ff8c98!important}

.account-menu-panel-pro{width:min(330px,calc(100vw - 24px));padding:10px}
.account-identity-pro{display:flex!important;align-items:center;gap:11px;padding:10px!important;border-radius:13px;background:linear-gradient(145deg,#eff6ff,#f8fbff);border:1px solid #dbeafe}
.account-identity-pro>div{display:grid;min-width:0;gap:2px}
.account-identity-pro small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu-avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#2563eb;color:#fff;font-weight:900}
.account-settings-link{display:grid!important;gap:3px;margin:8px 0;padding:11px 10px!important;border:1px solid #dbeafe!important;border-radius:12px!important;background:#f8fbff!important;color:#172554!important}
.account-settings-link>span{display:flex;align-items:center;gap:8px}.account-settings-link .app-icon{width:16px;height:16px;color:#2563eb}.account-settings-link small{padding-left:24px;color:#64748b;font-size:10px}
.account-menu-command{font-weight:750}
body.theme-dark .account-identity-pro{background:linear-gradient(145deg,#142239,#101a2a);border-color:#2b405d}
body.theme-dark .account-settings-link{background:#111c2d!important;border-color:#2d405b!important;color:#e5edf8!important}

.pending-customer-panel{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid #fed7aa;border-radius:12px;background:#fffaf2}
.pending-customer-panel>div:first-child{display:grid;gap:2px}.pending-customer-panel>div:first-child strong{font-size:12px}.pending-customer-panel>div:first-child small{color:#7c5b36;font-size:10px}
.pending-customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pending-customer-fields .form-group{margin:0}
.outside-source-shop-field{grid-column:1/-1}
body.theme-dark .pending-customer-panel{background:#271c10;border-color:#70471f}.theme-dark .pending-customer-panel>div:first-child small{color:#d7b98d}

.optional-field-disclosure{overflow:hidden;margin:10px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.optional-field-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.optional-field-disclosure>summary::-webkit-details-marker{display:none}.optional-field-disclosure>summary>span{display:grid;gap:2px}.optional-field-disclosure>summary strong{font-size:12px}.optional-field-disclosure>summary small{color:var(--muted);font-size:10px}.optional-field-disclosure>summary>b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#eff6ff;color:#2563eb;font-size:16px}
.optional-field-disclosure[open]>summary>b{transform:rotate(45deg)}.optional-field-body{margin:0!important;padding:0 14px 14px}.single-stock-disclosure{background:#fbfdff}
body.theme-dark .optional-field-disclosure{background:#111c2d;border-color:#2c3f59}.theme-dark .optional-field-disclosure>summary>b{background:#172a49;color:#8bb5ff}

.payment-collection-card{overflow:hidden;padding:0!important;border-color:#fed7aa!important;background:#fff!important}
.payment-collection-head{padding:18px 20px 15px;background:linear-gradient(135deg,#fffaf2,#fff);border-bottom:1px solid #ffedd5}
.payment-collection-grid{display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto!important;align-items:end!important;gap:12px!important;padding:16px 20px 10px}
.payment-record-button{min-height:44px;white-space:nowrap}.payment-note-disclosure{margin:0 20px 18px}
.payment-history-card{padding:0!important;overflow:hidden}.payment-history-card>.table-toolbar{padding:17px 20px;border-bottom:1px solid var(--line);background:#fbfdff}
.payment-history-list{display:grid!important;gap:0!important}.payment-history-row{display:grid!important;grid-template-columns:38px minmax(0,1fr) minmax(140px,auto)!important;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}.payment-history-row:last-child{border-bottom:0}
.payment-history-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ecfdf3;color:#16a34a;font-weight:900}.payment-history-main,.payment-history-meta{display:grid;gap:3px}.payment-history-main strong{font-size:15px;color:var(--ink)}.payment-history-main small,.payment-history-meta small{color:var(--muted);font-size:10px}.payment-history-main p{margin:3px 0 0;color:var(--muted);font-size:11px}.payment-history-meta{text-align:right}.payment-history-meta span{font-size:11px;font-weight:800;color:#475569}
.payment-customer-inline{display:block;margin-top:3px;color:#64748b;font-size:10px;font-weight:650;white-space:normal}
body.theme-dark .payment-collection-card{background:#111c2d!important;border-color:#70471f!important}.theme-dark .payment-collection-head{background:linear-gradient(135deg,#271c10,#111c2d);border-color:#57391e}.theme-dark .payment-history-card>.table-toolbar{background:#101a2a}.theme-dark .payment-history-meta span{color:#c4cfdd}

@media(max-width:800px){.notification-head-actions{gap:6px}.notification-read-all-button{order:-1}.notification-settings-button,.notification-close-button{width:36px;height:36px;min-width:36px}.account-menu-panel-pro{position:fixed!important;top:var(--app-topbar-height,64px)!important;right:10px!important;left:auto!important;max-height:calc(100dvh - var(--app-topbar-height,64px) - 12px);overflow:auto}.pending-customer-fields{grid-template-columns:1fr}.payment-collection-head{display:grid!important;grid-template-columns:1fr!important;gap:12px;padding:16px}.payment-balance-chip{justify-self:start}.payment-collection-grid{grid-template-columns:1fr!important;padding:14px 16px 8px}.payment-record-button{width:100%}.payment-note-disclosure{margin:0 16px 16px}.payment-history-card>.table-toolbar{align-items:flex-start;padding:15px 16px}.payment-history-row{grid-template-columns:34px minmax(0,1fr)!important;padding:14px 16px}.payment-history-meta{grid-column:2;text-align:left}.outside-source-shop-field{grid-column:auto}}
.account-security-settings{margin-top:16px}.account-security-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.account-security-summary>div{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.account-security-summary>div>span:first-child{color:var(--muted);font-size:11px;font-weight:800}.account-security-summary strong{overflow-wrap:anywhere}.account-security-summary .status-pill{font-size:9px}@media(max-width:650px){.account-security-summary{align-items:stretch;flex-direction:column}.account-security-summary .btn{width:100%}}
.notification-panel-footer-actions[hidden]{display:none!important}

/* MauzoTrack 1.0.25 — dashboard, payment follow-up and notification refinement. */
.dashboard-top.five{grid-template-columns:repeat(5,minmax(0,1fr))}

.notification-menu-panel{grid-template-rows:auto auto auto minmax(0,1fr) auto}
.notification-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}
.notification-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.notification-command-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 10px 18px;color:var(--muted);font-size:10.5px;font-weight:750}
.header-menu-panel .notification-command-row .notification-read-all-button{min-height:30px;padding:5px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--primary);font-size:10.5px;font-weight:850}
.header-menu-panel .notification-command-row .notification-read-all-button:hover{border-color:#dbeafe;background:#eff6ff}
.notification-settings-button,.notification-close-button{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border-radius:11px!important;line-height:0!important;box-sizing:border-box}
.notification-settings-button{border-color:#bfdbfe!important;background:#eff6ff!important;color:#2563eb!important}
.notification-close-button{border-color:#e2e8f0!important;background:#fff!important;color:#475569!important}
.notification-settings-button .app-icon,.notification-close-button .app-icon{display:block!important;width:17px!important;height:17px!important;margin:0!important;align-self:center;justify-self:center}
.notification-settings-button:hover{border-color:#93c5fd!important;background:#dbeafe!important;color:#1d4ed8!important}
.notification-close-button:hover{border-color:#fecaca!important;background:#fff1f2!important;color:#dc2626!important}
.notification-item-title{font-size:14px!important;line-height:1.35}
.notification-item-message{font-size:12.5px!important;line-height:1.45}
.notification-item-copy small{font-size:11px!important;line-height:1.4}
body.theme-dark .notification-settings-button{border-color:#315580!important;background:#142844!important;color:#9fc2ff!important}
body.theme-dark .notification-close-button{border-color:#34445b!important;background:#111c2d!important;color:#c5d0df!important}
body.theme-dark .notification-command-row .notification-read-all-button:hover{border-color:#315580;background:#142844}

.sale-detail-primary-stack .payment-collection-card{padding:0!important;border-radius:16px!important}
.sale-detail-primary-stack .payment-collection-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin:0!important;padding:19px 20px 16px!important}
.sale-detail-primary-stack .payment-collection-grid{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(150px,auto)!important;align-items:start!important;gap:12px!important;padding:17px 20px 10px!important}
.sale-detail-primary-stack .payment-collection-grid .form-group{display:grid!important;grid-template-rows:18px 44px 18px!important;gap:6px!important;margin:0!important}
.sale-detail-primary-stack .payment-collection-grid .form-group>label{display:flex!important;align-items:flex-end!important;min-height:18px!important;margin:0!important}
.sale-detail-primary-stack .payment-record-button{align-self:start!important;height:44px!important;min-height:44px!important;margin-top:24px!important;padding-inline:18px!important}
.sale-detail-primary-stack .payment-note-disclosure{margin:0 20px 18px!important}

.payment-history-card{padding:0!important;overflow:hidden!important;border-radius:16px!important}
.payment-history-card>.table-toolbar{align-items:center!important;margin:0!important;padding:18px 22px!important;border-bottom:1px solid var(--line)!important;background:linear-gradient(180deg,#fbfdff,#f8fafc)!important}
.payment-history-card>.table-toolbar>div{display:grid;gap:3px}
.payment-history-card>.table-toolbar p{margin:0}
.payment-history-list{display:grid!important;gap:10px!important;padding:12px 14px 14px!important;background:#f8fafc}
.payment-history-card .payment-history-row{display:grid!important;grid-template-columns:38px minmax(0,1fr) minmax(150px,auto)!important;align-items:center!important;gap:13px!important;margin:0!important;padding:13px 14px!important;border:1px solid #e2e8f0!important;border-radius:12px!important;background:#fff!important}
.payment-history-card .payment-history-row:first-child{padding-top:13px!important}
.payment-history-icon{width:36px!important;height:36px!important;border-radius:11px!important}
.payment-history-main{gap:4px!important}.payment-history-main strong{font-size:15px!important;line-height:1.2}.payment-history-main small{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.payment-history-main small span{font-weight:800;color:#475569}.payment-history-main small time{color:var(--muted)}
.payment-history-meta{gap:4px!important}.payment-history-meta span{font-size:11px!important}.payment-history-meta small{font-size:10px!important}
body.theme-dark .payment-history-card>.table-toolbar{background:linear-gradient(180deg,#111c2d,#101a2a)!important}
body.theme-dark .payment-history-list{background:#0d1726}
body.theme-dark .payment-history-card .payment-history-row{border-color:#2a3c55!important;background:#111c2d!important}
body.theme-dark .payment-history-main small span{color:#c8d3e2}

.completion-primary-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.completion-primary-row .btn{min-width:142px;text-align:center;justify-content:center}

@media(max-width:1080px) and (min-width:801px){.dashboard-top.five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
  .dashboard-top.five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notification-panel-head{padding:14px 14px 8px 16px!important}
  .notification-command-row{padding:0 12px 10px 16px}
  .notification-settings-button,.notification-close-button{width:36px!important;height:36px!important;min-width:36px!important}
  .sale-detail-primary-stack .payment-collection-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:16px!important}
  .sale-detail-primary-stack .payment-collection-grid{grid-template-columns:1fr!important;padding:14px 16px 9px!important}
  .sale-detail-primary-stack .payment-record-button{width:100%!important;margin-top:0!important}
  .sale-detail-primary-stack .payment-note-disclosure{margin:0 16px 16px!important}
  .payment-history-card>.table-toolbar{align-items:flex-start!important;padding:15px 16px!important}
  .payment-history-list{gap:8px!important;padding:10px!important}
  .payment-history-card .payment-history-row{grid-template-columns:36px minmax(0,1fr)!important;gap:10px!important;padding:12px!important}
  .payment-history-meta{grid-column:2!important;text-align:left!important}
  .completion-primary-row{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .completion-primary-row .btn{width:100%!important;min-width:0!important}
}
@media(max-width:480px){.dashboard-top.five{grid-template-columns:1fr 1fr}.notification-item-title{font-size:13.75px!important}.notification-item-message{font-size:12.25px!important}}

/* MauzoTrack 1.0.28 — authoritative dashboard/notification/export presentation guards. */
.notification-panel-head > .notification-head-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}
.header-menu-panel .notification-close-button {
  display: inline-grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.header-menu-panel .notification-close-button .app-icon {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  align-self: center !important;
  justify-self: center !important;
  transform: none !important;
}
.notification-list,
.header-menu-panel .notification-item,
.header-menu-panel .notification-item-main {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

@media(max-width:800px) {
  .notification-menu-panel {
    position: fixed !important;
    z-index: 260 !important;
    top: var(--app-topbar-height,64px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100dvh - var(--app-topbar-height,64px)) !important;
    min-height: calc(100dvh - var(--app-topbar-height,64px)) !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border-width: 1px 0 0 !important;
  }
  .notification-list {
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
  }
  .header-menu-panel .notification-item {
    width: 100% !important;
    max-width: none !important;
  }
}

/* MauzoTrack 1.0 (Build 37) — full-height notification workspace and calm close action. */
.header-menu-panel .notification-close-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 32px !important;
  min-width: 0 !important;
  min-height: 32px !important;
  padding: 0 11px !important;
  border: 1px solid #fecdd3 !important;
  border-radius: 9px !important;
  background: #fff7f8 !important;
  color: #b42335 !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: .01em;
}
.header-menu-panel .notification-close-button:hover {
  border-color: #fda4af !important;
  background: #fff1f2 !important;
  color: #9f1239 !important;
}
body.theme-dark .header-menu-panel .notification-close-button {
  border-color: #633342 !important;
  background: #2a1720 !important;
  color: #fda4af !important;
}
body.theme-dark .header-menu-panel .notification-close-button:hover {
  border-color: #9f465d !important;
  background: #381b27 !important;
  color: #fecdd3 !important;
}

@media (min-width: 801px) {
  .notification-menu-panel {
    position: fixed !important;
    z-index: 260 !important;
    top: var(--app-topbar-height, 72px) !important;
    right: 14px !important;
    bottom: 0 !important;
    width: min(460px, calc(100vw - 28px)) !important;
    height: calc(100dvh - var(--app-topbar-height, 72px)) !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
    border-radius: 18px 18px 0 0 !important;
  }
  .notification-list {
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}

@media (max-width: 800px) {
  .header-menu-panel .notification-close-button {
    height: 34px !important;
    min-height: 34px !important;
    padding-inline: 12px !important;
  }
}

/* MauzoTrack 1.0 (Build 37) — the mobile drawer must sit above the app chrome. */
@media (max-width: 800px) {
  .sidebar-overlay {
    z-index: 300 !important;
  }
  .sidebar,
  .sidebar.open {
    z-index: 310 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding-top: max(18px, env(safe-area-inset-top)) !important;
    padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
    overscroll-behavior: contain;
  }
  .sidebar .brand,
  .sidebar .sidebar-close {
    position: relative;
    z-index: 1;
  }
}

/* MauzoTrack 1.0 (Build 37) — readable notifications, five-step text sizing and mobile control polish. */
.text-scale-menu{position:relative;z-index:270}
.text-scale-menu>summary{list-style:none;cursor:pointer}
.text-scale-menu>summary::-webkit-details-marker{display:none}
.text-scale-menu[open]>summary{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.text-scale-panel{position:absolute;z-index:280;top:calc(100% + 10px);right:0;width:min(292px,calc(100vw - 24px));padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff);box-shadow:0 20px 48px rgba(15,23,42,.2)}
.text-scale-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.text-scale-heading strong{font-size:14px}.text-scale-heading small{color:var(--muted);font-size:11px;text-align:right}
.text-scale-panel input[type="range"]{appearance:none;width:100%;height:6px;margin:6px 0 8px;border:0;border-radius:999px;background:linear-gradient(90deg,#bfdbfe,#2563eb);accent-color:#2563eb;cursor:pointer}
.text-scale-panel input[type="range"]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:#2563eb;box-shadow:0 0 0 1px #93c5fd,0 3px 8px rgba(37,99,235,.28)}
.text-scale-labels{display:flex;justify-content:space-between;padding:0 3px;color:var(--muted);font-size:10px;font-weight:800}
input::placeholder,textarea::placeholder{font-size:13px!important;line-height:normal!important}
body.theme-dark .text-scale-panel{background:#111c2d;border-color:#334155}.theme-dark .text-scale-menu[open]>summary{background:#142844;border-color:#315580;color:#9fc2ff}

@media(min-width:801px){
  .notification-menu-panel{right:0!important;width:min(480px,100vw)!important;border-radius:18px 0 0 0!important;border-right:0!important}
}
.notification-panel-head{padding:18px 18px 14px 20px!important}.notification-panel-head strong{font-size:20px!important}.notification-panel-head small{font-size:12.5px!important}
.notification-command-row{padding:0 18px 12px 20px!important;font-size:12px!important}
.header-menu-panel .notification-command-row .notification-read-all-button{font-size:12px!important}
.notification-tabs{padding:0 16px 13px!important}.header-menu-panel .notification-tabs>button{min-height:38px!important;font-size:12.5px!important}
.header-menu-panel .notification-item-main{grid-template-columns:42px minmax(0,1fr) 8px!important;gap:13px!important;padding:15px 8px 15px 18px!important}.notification-item-icon{width:42px!important;height:42px!important}
.notification-item-title{font-size:15px!important}.notification-item-message{font-size:13.25px!important;line-height:1.5!important}.notification-item-copy small{font-size:11.5px!important}.notification-empty{font-size:14px!important}
.header-menu-panel .notification-close-button{height:34px!important;min-height:34px!important;padding-inline:13px!important;font-size:12px!important}

.report-card-v13 .report-icon.orange{background:#fff7ed;color:#ea580c}
.pending-balance-value{color:#b45309}.pending-payment-filter{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.8fr)) auto}.pending-payment-filter .report-filter-action{display:flex;align-items:end;gap:8px}.pending-payment-filter .btn-tertiary{min-height:42px;display:grid;place-items:center;padding-inline:12px}
.pending-payments-table td{vertical-align:middle}.pending-payment-record .mobile-data-keyline{align-items:center}.pending-payment-record .mobile-data-keyline>span{color:var(--muted);font-weight:750}
body.theme-dark .pending-balance-value{color:#fdba74}

@media(max-width:800px){
  .text-scale-panel{position:fixed;top:calc(var(--app-topbar-height,64px) + 8px);right:10px;width:min(310px,calc(100vw - 20px))}
  .notification-panel-head{padding:16px 14px 11px 17px!important}.notification-panel-head strong{font-size:20px!important}.notification-panel-head small{font-size:12px!important}.notification-command-row{padding:0 13px 11px 17px!important;font-size:11.5px!important}.notification-tabs{padding:0 12px 12px!important}.header-menu-panel .notification-tabs>button{font-size:12px!important}.header-menu-panel .notification-item-main{grid-template-columns:42px minmax(0,1fr) 8px!important;padding:15px 5px 15px 14px!important}.notification-item-title{font-size:14.5px!important}.notification-item-message{font-size:13px!important}.notification-item-copy small{font-size:11px!important}
  .route-stock-index .page-heading .stock-page-actions .btn,.route-stock-index .page-heading .stock-page-actions summary.btn{font-size:11.25px!important;font-weight:850!important}
  .route-products-index .page-heading .products-page-actions .btn,.route-products-index .page-heading .products-page-actions summary.btn{font-size:11.25px!important;font-weight:850!important}
  .mobile-data-actions .btn,.mobile-record-card .mobile-primary-action,.heading-actions .btn,.heading-actions summary.btn{font-size:11.75px!important;font-weight:850!important}
  .account-menu-panel-pro{right:8px!important;width:min(350px,calc(100vw - 16px))!important;padding:12px!important}.account-identity-pro strong{font-size:15px!important}.account-identity-pro small{font-size:11.5px!important}.account-settings-link>span,.account-menu-command,.header-menu-panel .header-logout-action,.header-menu-panel .account-pref-action{font-size:13px!important}.account-settings-link small{font-size:11px!important}.account-menu-label{font-size:10px!important}.header-menu-panel .account-pref-action>b{font-size:11px!important}.account-menu-section form button{font-size:13px!important;min-height:40px!important}
  .pending-payment-filter{grid-template-columns:1fr!important}.pending-payment-filter .report-filter-action{display:grid;grid-template-columns:1fr 1fr}.pending-payment-filter .report-filter-action>*{width:100%}
  .report-summary-grid>:last-child{grid-column:auto!important}
}

@media(max-width:480px){
  .manual-outside-panel .sale-controls{align-items:end!important}.manual-outside-panel .form-group{align-content:start}.manual-outside-panel .form-group>label{min-height:34px;display:flex;align-items:flex-end}
}

/* Build 37 final cascade overrides. */
@media(min-width:801px){.route-pos-index .sale-review-layout{grid-template-columns:minmax(0,1fr) minmax(370px,390px)!important}}
@media(max-width:800px){
  .route-dashboard .dashboard-sale-row{grid-template-columns:minmax(0,1fr) auto auto!important;padding:11px 12px!important}.route-dashboard .dashboard-sale-row .dashboard-sale-open{display:grid!important}.route-dashboard .dashboard-sale-row .dashboard-sale-total{justify-items:end}
  .account-security-settings{padding:17px!important}.account-security-summary{align-items:stretch!important;gap:13px!important;margin-top:16px!important;padding:15px!important}.account-security-summary>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px 10px!important}.account-security-summary>div>span:first-child{grid-column:1/-1}.account-security-summary .btn{width:100%!important;min-height:46px!important;font-size:13px!important}
  .route-sales-index .mobile-data-support{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px 10px!important}.route-sales-index .mobile-data-support>span::after{display:none!important}.route-sales-index .mobile-sale-payment-stack,.route-sales-index .mobile-sale-sync{justify-self:end!important}.route-sales-index .mobile-sale-payment-stack{display:inline-flex!important;flex-direction:column!important;align-items:flex-end!important;gap:2px!important}.route-sales-index .mobile-sale-sync{padding:4px 7px!important;border-radius:999px!important;background:#ecfdf3!important}.route-sales-index .mobile-sale-sync--offline{background:#fff7ed!important;color:#b45309!important}
}

/* MauzoTrack 1.0 (Build 37) — one focused notification action menu and scan-first Recent Sales. */
.notification-item{position:relative;z-index:0}
.notification-item--menu-open{z-index:8}
.notification-row-menu[open]{z-index:12}
.notification-row-menu[open]>div{z-index:14}

@media(max-width:800px){
  .route-dashboard .dashboard-sale-row{
    grid-template-columns:minmax(0,1fr) minmax(92px,.75fr) auto!important;
    gap:10px!important;
  }
  .route-dashboard .dashboard-sale-row .dashboard-sale-total{
    justify-self:center!important;
    justify-items:center!important;
    text-align:center!important;
  }
  .route-dashboard .dashboard-sale-row .dashboard-sale-open{
    width:auto!important;
    min-width:52px!important;
    height:34px!important;
    padding:0 11px!important;
    border:1px solid #bfdbfe!important;
    border-radius:9px!important;
    background:#eff6ff!important;
    color:#1d4ed8!important;
    font-size:10.5px!important;
    font-weight:850!important;
  }
  body.theme-dark.route-dashboard .dashboard-sale-row .dashboard-sale-open{
    border-color:rgba(96,165,250,.34)!important;
    background:rgba(37,99,235,.14)!important;
    color:#bfdbfe!important;
  }
}

/* MauzoTrack 1.0 (Build 37) — instant filters, stable connectivity and final mobile polish. */
.filter-select-menu[hidden]{display:none!important}
.filter-select-menu{contain:layout paint;overscroll-behavior:contain}
.connection-status-dot.reconnecting{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.14)}

@media(min-width:801px){
  .backup-mode-tabs{gap:6px!important;padding:6px!important;border-radius:15px!important}
  .backup-mode-tabs button{min-height:54px!important;padding:13px 18px!important;border-radius:11px!important;font-size:14px!important;font-weight:850!important;letter-spacing:.005em}
  .backup-mode-tabs button.active{box-shadow:0 5px 15px rgba(15,23,42,.1)!important}
}

@media(max-width:800px){
  .route-settings-index .settings-tabs-pro{scroll-padding-inline:18px}
  .route-settings-index .danger-zone{position:relative;margin-top:12px!important;padding:18px!important;overflow:hidden;border:1px solid #fecaca!important;border-top:4px solid #dc2626!important;border-radius:17px!important;background:linear-gradient(180deg,#fff 0%,#fffafa 100%)!important;box-shadow:0 12px 28px rgba(127,29,29,.07)!important}
  .route-settings-index .danger-zone .section-heading-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;margin-bottom:18px!important}
  .route-settings-index .danger-zone .section-heading-row h3{font-size:20px!important;line-height:1.2!important}
  .route-settings-index .danger-zone .section-heading-row p{font-size:13px!important;line-height:1.55!important}
  .route-settings-index .danger-zone .status-pill{width:max-content!important;max-width:100%!important;justify-self:start!important;white-space:nowrap!important;padding:7px 11px!important;font-size:11px!important;line-height:1!important}
  .route-settings-index .danger-zone>details>summary{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:48px!important;padding:12px 15px!important;border-radius:12px!important;background:#fff1f2!important;border:1px solid #fecaca!important;color:#b91c1c!important;font-size:13px!important;font-weight:900!important;list-style:none!important}
  .route-settings-index .danger-zone>details>summary::-webkit-details-marker{display:none}
  .route-settings-index .danger-zone>details[open]>summary{margin-bottom:14px!important;background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}
  body.theme-dark.route-settings-index .danger-zone{background:linear-gradient(180deg,#20131a,#1a1117)!important;border-color:#633342!important}

  .mobile-cart-dock:not([hidden]){left:12px!important;right:12px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:12px!important;border:1px solid rgba(148,163,184,.28)!important;border-radius:19px!important;background:linear-gradient(145deg,#0b1427,#14223a)!important;color:#fff!important;box-shadow:0 20px 44px rgba(15,23,42,.38)!important}
  .mobile-cart-dock-summary{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}
  .mobile-cart-dock-icon{position:relative;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:13px!important;background:#2563eb!important;color:#fff!important;box-shadow:0 8px 18px rgba(37,99,235,.32)!important}
  .mobile-cart-dock-icon .app-icon{width:21px!important;height:21px!important}
  .mobile-cart-dock-icon>b{position:absolute;top:-6px;right:-7px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #0f1b30;border-radius:999px;background:#f97316;color:#fff;font-size:10px!important;font-weight:900;line-height:1}
  .mobile-cart-dock-copy{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:3px 12px!important;min-width:0!important;flex:1 1 auto!important}
  .mobile-cart-dock-copy small{grid-column:1/-1;color:#cbd5e1!important;font-size:11px!important;font-weight:750!important;line-height:1.2!important}
  .mobile-cart-dock-copy strong{font-size:17px!important;line-height:1.15!important;letter-spacing:-.01em!important}
  .mobile-cart-dock-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .mobile-cart-dock .mobile-cart-dock-actions .btn{width:100%!important;min-height:44px!important;padding:10px 12px!important;border-radius:12px!important;font-size:12px!important;font-weight:900!important;white-space:nowrap!important}
  .mobile-cart-dock .mobile-cart-dock-actions .btn-secondary{border-color:#475569!important;background:#1e293b!important;color:#f8fafc!important}
  .mobile-cart-dock .mobile-cart-dock-actions .btn:not(.btn-secondary){border-color:#2563eb!important;background:#2563eb!important;color:#fff!important}
  .route-pos-index .progressive-pos{padding-bottom:146px!important}
  .route-pos-index .content{padding-bottom:150px!important}

  .login-card-v7{padding:22px 20px!important}
  .login-brand-professional h1{font-size:22px!important}.login-brand-professional p{font-size:13px!important}
  .login-heading h2{font-size:25px!important}.login-heading p{font-size:14px!important;line-height:1.5!important}
  .login-card-v7 .form-group label{font-size:13.5px!important}.login-card-v7 input{min-height:48px!important;font-size:15px!important}
  .login-card-v7 .login-remember,.login-card-v7 .login-help{font-size:13.5px!important}.login-card-v7 .login-security-note{font-size:12px!important}
  .login-card-v7 .btn{min-height:48px!important;font-size:14px!important}
}

/* MauzoTrack 1.0 (Build 37) — truthful, scan-first mobile sales cards. */
@media(max-width:800px){
  .route-sales-index .mobile-sale-card{
    grid-template-columns:48px minmax(0,1fr)!important;
    grid-template-areas:"visual head" "visual summary" "footer footer"!important;
    gap:8px 11px!important;
    padding:13px!important;
    border-radius:17px!important;
    box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
  }
  .route-sales-index .mobile-sale-card .mobile-data-visual{
    width:48px!important;
    height:48px!important;
    border-radius:13px!important;
    font-size:18px!important;
  }
  .route-sales-index .mobile-sale-card .mobile-data-head h3{
    margin-bottom:3px!important;
    font-size:14.5px!important;
    line-height:1.2!important;
  }
  .route-sales-index .mobile-sale-card .mobile-data-head small{
    font-size:10.5px!important;
    line-height:1.35!important;
  }
  .route-sales-index .mobile-sale-card .mobile-data-head>.status-pill{
    padding:5px 8px!important;
    font-size:9px!important;
  }
  .route-sales-index .mobile-sale-summary{
    grid-area:summary;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .route-sales-index .mobile-sale-amount{
    min-width:0;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1.2!important;
  }
  .route-sales-index .mobile-sale-payment-status{
    flex:0 0 auto;
    padding:5px 9px!important;
    font-size:9.5px!important;
    font-weight:850!important;
  }
  .route-sales-index .mobile-sale-card-footer{
    grid-area:footer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
    padding-top:10px;
    border-top:1px solid var(--line);
  }
  .route-sales-index .mobile-sale-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    min-width:0;
    color:var(--muted);
    font-size:10.5px;
    font-weight:750;
  }
  .route-sales-index .mobile-sale-meta>span+span::before{
    content:"·";
    margin-right:7px;
    color:#aab4c3;
  }
  .route-sales-index .mobile-sale-card .mobile-sale-sync{
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    font-size:10.5px!important;
  }
  .route-sales-index .mobile-sale-card .mobile-data-actions{
    grid-area:auto!important;
    align-self:center!important;
    gap:7px!important;
  }
  .route-sales-index .mobile-sale-card .mobile-primary-action,
  .route-sales-index .mobile-sale-card .mobile-more-menu>summary{
    display:grid!important;
    place-items:center!important;
    width:auto!important;
    min-width:52px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:7px 12px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
  }
  .route-sales-index .mobile-sale-card .mobile-more-menu>summary{
    min-width:40px!important;
    padding-inline:9px!important;
  }
}
body.theme-dark.route-sales-index .mobile-sale-card{box-shadow:0 10px 28px rgba(0,0,0,.18)!important}
body.theme-dark.route-sales-index .mobile-sale-card-footer{border-color:#2b3b52}

/* MauzoTrack 1.0 (Build 37) — full-screen mobile notifications and staged POS checkout. */
.notification-row-menu > div {
  width: 148px !important;
  max-width: calc(100vw - 20px) !important;
  padding: 5px !important;
  gap: 3px !important;
  border-radius: 11px !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .2) !important;
}
.header-menu-panel .notification-row-menu button {
  min-height: 36px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.route-pos-index .sale-review-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
}
.route-pos-index .review-stage-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 2px 0;
}
.route-pos-index .review-stage-actions[hidden],
.route-pos-index #reviewPaymentStage[hidden] {
  display: none !important;
}
.route-pos-index #reviewPaymentStage {
  position: static !important;
  top: auto !important;
  width: min(720px, 100%);
  max-width: 720px;
  justify-self: center;
  padding: 20px !important;
}
.route-pos-index #reviewPaymentStage .review-secondary-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 800px) {
  html.notification-panel-open,
  html.notification-panel-open body {
    width: 100%;
    height: 100%;
    overflow: hidden !important;
  }
  .notification-menu-panel {
    position: fixed !important;
    z-index: 1000 !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto !important;
    background: var(--panel) !important;
  }
  .notification-panel-head {
    position: relative;
    z-index: 2;
    padding-top: max(16px, env(safe-area-inset-top)) !important;
    background: var(--panel) !important;
  }
  .notification-list {
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .notification-row-menu > div {
    width: 148px !important;
    max-width: 148px !important;
  }
  .route-pos-index .review-stage-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }
  .route-pos-index .review-stage-actions .btn {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding-inline: 10px;
  }
  .route-pos-index #reviewPaymentStage {
    width: 100%;
    max-width: none;
    padding: 16px 14px calc(82px + env(safe-area-inset-bottom)) !important;
  }
  .route-pos-index #reviewPaymentStage .review-secondary-actions {
    grid-template-columns: 1fr 1fr;
  }
  .route-pos-index #reviewPaymentStage #backToReviewItemsBtn {
    grid-column: 1 / -1;
  }
}
