/* Canonical Stage 14 visual contract. Loaded after all legacy/r5 rules. */
:root { --c-navy:#062a52; --c-navy-deep:#031c39; --c-teal:#0aa4a6; --c-ink:#071937; --c-line:#dce5ee; --c-surface:#f5f8fb; }
html,body,button,input,select,textarea { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; }
html,body,.app-shell { max-width:100%; overflow-x:clip; }
h1,h2,h3,h4,.metric strong,.section-title h3,.dialog-head h3 { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; }
.visually-hidden,.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

/* Mobile ERP canonical approved shell. */
html[data-app-key="ERP_MOBILE"],html[data-app-key="ERP_MOBILE"] body,html[data-app-key="ERP_MOBILE"] .app-shell { background:var(--c-surface) !important; color:var(--c-ink); }
html[data-app-key="ERP_MOBILE"] .erp-approved-header { position:sticky; top:0; z-index:25; min-height:190px; display:grid !important; grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; padding:max(15px,env(safe-area-inset-top)) 14px 14px !important; color:#fff; background:radial-gradient(circle at 80% 0%,#0b4777,var(--c-navy) 46%,var(--c-navy-deep)) !important; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .topbar-logo { width:46px !important; height:46px !important; flex:0 0 46px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.canonical-brand-paw { position:relative; width:46px; height:46px; flex:0 0 46px; display:block; color:#fff; font-size:0; }
.canonical-brand-paw::before { content:""; position:absolute; left:13px; top:21px; width:21px; height:17px; border-radius:48% 48% 58% 58%; background:currentColor; transform:rotate(-8deg); }
.canonical-brand-paw::after { content:""; position:absolute; left:7px; top:13px; width:9px; height:10px; border-radius:52% 52% 46% 46%; background:currentColor; box-shadow:10px -6px 0 -1px currentColor,20px -3px 0 -1px currentColor,27px 5px 0 -1px currentColor; transform:rotate(-18deg); }
.canonical-brand-paw.small { width:34px; height:34px; flex-basis:34px; transform:scale(.76); transform-origin:center; }
.canonical-dialog-wordmark { display:flex; align-items:center; gap:7px; color:#fff; }
.canonical-dialog-wordmark > span { color:#16c6c8; }
.canonical-scanner-brand > small { display:flex; align-items:center; gap:6px; }
.canonical-scanner-brand > small > i { width:7px; height:7px; border-radius:50%; background:#31d05a; }
.canonical-erp-title { display:flex; align-items:center; gap:8px; margin:0; color:#fff; white-space:nowrap; }
.canonical-erp-title strong { font-size:23px; font-weight:900; letter-spacing:-.03em; }
.canonical-erp-title i { width:1px; height:23px; background:rgba(255,255,255,.55); }
.canonical-erp-title span { color:#16c6c8; font-size:17px; font-weight:700; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .topbar-actions { display:grid !important; grid-template-columns:1fr auto; grid-template-rows:auto auto; gap:3px 6px; max-width:145px !important; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .topbar-actions > small { grid-column:1; display:grid; justify-items:end; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .topbar-actions > small strong { max-width:105px; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .topbar-actions > small span { color:#d6e4f1; font-size:9px; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .connection-state { grid-column:1; min-height:18px; justify-self:end; padding:0 !important; border:0 !important; background:transparent !important; font-size:9px; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header #switch-user-button,
html[data-app-key="ERP_MOBILE"] .erp-approved-header #logout-button,
html[data-app-key="ERP_MOBILE"] .erp-approved-header #refresh-button { display:none !important; }
html[data-app-key="ERP_MOBILE"] .erp-header-quick-actions { grid-column:1/-1; gap:6px; }
html[data-app-key="ERP_MOBILE"] .erp-header-quick-actions button { min-height:40px; padding:5px 3px; font-size:8px; border-color:#58aec050; border-radius:8px; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .erp-global-search { grid-column:1/-1; grid-template-columns:minmax(0,1fr) 58px; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .erp-global-search input { min-height:48px; border-radius:10px; }
html[data-app-key="ERP_MOBILE"] .erp-approved-header .erp-camera-button { min-height:48px; border-radius:10px; }
html[data-app-key="ERP_MOBILE"] #app-shell:not([data-view="dashboard"]) .erp-approved-header { min-height:82px; grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:max(12px,env(safe-area-inset-top)) 14px 10px !important; }
html[data-app-key="ERP_MOBILE"] #app-shell:not([data-view="dashboard"]) .erp-header-quick-actions,
html[data-app-key="ERP_MOBILE"] #app-shell:not([data-view="dashboard"]) .erp-global-search { display:none !important; }
html[data-app-key="ERP_MOBILE"] main { padding:10px 10px calc(70px + env(safe-area-inset-bottom)) !important; }
html[data-app-key="ERP_MOBILE"] .erp-kpi-grid article { min-height:82px; }
html[data-app-key="ERP_MOBILE"] .erp-kpi-grid strong { max-width:100%; overflow:hidden; font-size:16px !important; letter-spacing:-.03em; text-overflow:ellipsis; white-space:nowrap; }
html[data-app-key="ERP_MOBILE"] .management-metrics article:last-child strong { font-family:Inter,ui-sans-serif,system-ui,sans-serif !important; font-size:9px !important; letter-spacing:-.05em; }
html[data-app-key="ERP_MOBILE"] .erp-dashboard-section { border:1px solid var(--c-line); border-radius:13px; background:#fff; }
html[data-app-key="ERP_MOBILE"] .bottom-nav { background:#fff; border-top:1px solid var(--c-line); }
html[data-app-key="ERP_MOBILE"] .bottom-nav .nav-item.active { color:var(--c-teal); background:#eaf7f6; }

/* Dedicated ERP workspaces: financial truth, current accounts and reports are
   separate user destinations while retaining the same deterministic services. */
html[data-app-key="ERP_MOBILE"] #reports-view .canonical-erp-workspace { display:none; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="truth"] #finance-truth-canonical,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="reports"] #mobile-reports-canonical { display:block; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="truth"] > .report-hero,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="truth"] > .finance-module-tabs,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="truth"] > .finance-section,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="reports"] > .report-hero,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="reports"] > .finance-module-tabs,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="reports"] > .finance-section,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] > .report-hero,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] > .finance-module-tabs,
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] > .finance-section:not(#finance-accounts-panel) { display:none !important; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #finance-accounts-panel { display:block !important; }
.canonical-workspace-title { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; gap:8px; align-items:center; margin:-2px 0 10px; text-align:center; }
.canonical-workspace-title button { width:42px; height:42px; padding:0; border:1px solid var(--c-line); border-radius:11px; color:var(--c-navy); background:#fff; font-size:18px; }
.canonical-workspace-title h3 { margin:0; color:var(--c-ink); font-size:21px; letter-spacing:-.03em; }
.canonical-workspace-title span { color:#65758a; font-size:11px; }
.canonical-period-filter { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:9px; padding:9px; border:1px solid var(--c-line); border-radius:13px; background:#fff; }
.canonical-period-filter label { display:grid; gap:4px; color:#617287; font-size:8px; font-weight:700; }
.canonical-period-filter input { min-height:39px; padding:7px; border-radius:9px; font-size:10px; }
.canonical-period-filter button { grid-column:1/-1; min-height:38px; }
.canonical-finance-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.canonical-finance-kpis article { min-height:86px; padding:12px; border:1px solid var(--c-line); border-radius:13px; background:#fff; box-shadow:0 5px 16px rgba(5,39,74,.05); }
.canonical-finance-kpis span { display:block; color:#65758a; font-size:9px; }
.canonical-finance-kpis strong { display:block; margin-top:10px; color:var(--c-ink); font-size:18px; letter-spacing:-.04em; overflow-wrap:anywhere; }
.canonical-money-bridge,.canonical-trend-card,.canonical-review-card { margin-top:9px; padding:13px; border:1px solid var(--c-line); border-radius:14px; background:#fff; }
.canonical-money-bridge header,.canonical-trend-card header { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:10px; }
.canonical-money-bridge header strong,.canonical-trend-card header strong { font-size:14px; }
.canonical-proof-badge { padding:5px 8px; border-radius:999px; color:#1551a1; background:#e7f0ff; font-size:8px; font-weight:900; }
.canonical-bridge-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.canonical-bridge-grid span { min-width:0; padding:8px 3px; border-radius:9px; background:#edf7f7; text-align:center; font-size:7px; }
.canonical-bridge-grid b { display:block; margin-top:3px; color:var(--c-teal); font-size:9px; overflow:hidden; text-overflow:ellipsis; }
.canonical-trend-line { height:92px; position:relative; overflow:hidden; border-radius:11px; background:linear-gradient(180deg,#e9f8f8,#fff); }
.canonical-trend-line::before,.canonical-trend-line::after { content:""; position:absolute; left:10px; right:10px; height:5px; border-radius:999px; background:var(--c-teal); transform:rotate(-10deg); }
.canonical-trend-line::before { top:48px; }.canonical-trend-line::after { top:65px; height:18px; opacity:.92; }
.canonical-review-card { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:9px; align-items:center; border-left:4px solid #ef4056; }
.canonical-review-card > i { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:var(--c-teal); background:#eaf7f6; font-style:normal; }
.canonical-review-card strong,.canonical-review-card small { display:block; }.canonical-review-card small { color:#65758a; }
.canonical-report-filter { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:7px; margin-bottom:10px; }
.canonical-report-filter select,.canonical-report-filter button { min-height:45px; }
.canonical-report-cards { display:grid; gap:9px; margin-top:10px; }
.canonical-report-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:12px; border:1px solid var(--c-line); border-radius:14px; background:#fff; }
.canonical-report-card > i { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:var(--c-teal); background:#eaf7f6; font-style:normal; font-size:20px; }
.canonical-report-card span { display:grid; }.canonical-report-card strong { font-size:12px; }.canonical-report-card small { color:#65758a; font-size:9px; }.canonical-report-card b { color:#075bea; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #finance-accounts-panel > .panel { padding:12px; border-radius:14px; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #finance-accounts-panel > .panel > .section-title { display:none; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #finance-accounts-panel .section-title { display:block; text-align:center; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #finance-accounts-panel .section-title h3 { font-size:21px; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-new-button { width:100%; margin-top:7px; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0; padding:0; overflow:visible; color:var(--c-ink); background:transparent; box-shadow:none; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-summary::after { display:none; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-summary article { min-height:76px; padding:12px; border:1px solid var(--c-line); border-radius:13px; background:#fff; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-summary span { color:#65758a; font-size:9px; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-summary strong { margin-top:9px; color:var(--c-ink); font:800 17px/1.1 Inter,ui-sans-serif,system-ui,sans-serif; white-space:nowrap; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-summary > small { grid-column:1/-1; color:#65758a; text-align:right; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-list { grid-template-columns:1fr; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] .canonical-current-account-card { min-height:76px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; padding:10px; border-left:1px solid var(--c-line); border-radius:13px; background:#fff; }
.canonical-current-account-card > i { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:var(--c-teal); background:#eaf7f6; font-style:normal; font-size:20px; }
html[data-app-key="ERP_MOBILE"] .canonical-current-account-card span { display:grid; gap:2px; }
html[data-app-key="ERP_MOBILE"] .canonical-current-account-card strong { font-size:12px; }
html[data-app-key="ERP_MOBILE"] .canonical-current-account-card small { margin:0; font-size:9px; overflow-wrap:normal; }
.canonical-current-account-card em { width:max-content; margin-top:2px; padding:3px 7px; border-radius:999px; color:#0751a5; background:#e7f0ff; font-size:7px; font-style:normal; font-weight:900; }
html[data-app-key="ERP_MOBILE"] .canonical-current-account-card b { font-size:11px; }
html[data-app-key="ERP_MOBILE"] #reports-view[data-workspace="accounts"] #current-account-detail { margin-top:10px; }
html[data-app-key="ERP_MOBILE"] .finance-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }

/* Mobile Quick Sale canonical definitive family. */
html[data-app-key="QUICK_SALE_MOBILE"],html[data-app-key="QUICK_SALE_MOBILE"] body,html[data-app-key="QUICK_SALE_MOBILE"] .app-shell { background:var(--c-surface) !important; color:var(--c-ink); }
html[data-app-key="QUICK_SALE_MOBILE"] .app-shell { max-width:760px; padding-bottom:calc(62px + env(safe-area-inset-bottom)); }
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header { position:sticky; top:0; z-index:25; min-height:116px !important; display:flex !important; align-items:flex-start !important; justify-content:space-between !important; padding:max(16px,env(safe-area-inset-top)) 14px 12px !important; border:0 !important; color:#fff !important; background:radial-gradient(circle at 80% 0%,#0b4777,var(--c-navy) 46%,var(--c-navy-deep)) !important; box-shadow:0 6px 20px rgba(2,24,52,.22) !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header .topbar-logo { width:44px !important; height:44px !important; flex:0 0 44px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header .canonical-brand-paw { width:44px; height:44px; flex-basis:44px; }
.canonical-pos-title { display:flex; align-items:center; gap:8px; margin:0; white-space:nowrap; }
.canonical-pos-title strong { color:#fff; font-size:20px; font-weight:900; letter-spacing:-.03em; }
.canonical-pos-title i { width:1px; height:22px; background:rgba(255,255,255,.55); }
.canonical-pos-title span { color:#16c6c8; font-size:15px; font-weight:700; }
.canonical-online { display:block; margin-top:9px; color:#fff; font-size:10px; }
.canonical-online i { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#31d05a; }
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-user { display:grid !important; grid-template-columns:32px auto 20px; gap:5px; align-items:center; color:#fff; }
.canonical-user-avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#34c9cd,#07878d); }
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-user small { display:grid; max-width:92px; padding:0 !important; border:0 !important; background:transparent !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-user .quick-user-pill { max-width:92px; padding:0 !important; border:0 !important; background:transparent !important; color:#fff !important; font-size:9px !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.canonical-pos-user em { color:#d6e4f1; font-size:8px; font-style:normal; }
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header .quick-menu-button { min-width:20px; min-height:30px; padding:0; color:#fff; }
html[data-app-key="QUICK_SALE_MOBILE"] main { padding:0 !important; }
html[data-app-key="QUICK_SALE_MOBILE"] #sale-view { max-width:760px; padding:8px 8px 16px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-search-bar { grid-template-columns:minmax(0,1fr) 48px !important; margin:0 0 7px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-search-bar input { min-height:46px !important; padding-left:40px !important; border:1px solid var(--c-line) !important; border-radius:11px !important; background:#fff !important; box-shadow:0 3px 10px rgba(12,43,78,.05) !important; font-size:11px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-search-bar #sale-search-button { display:none !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-camera-button { min-height:46px !important; border:1px solid var(--c-line) !important; border-radius:11px !important; background:#fff !important; color:var(--c-teal) !important; box-shadow:none !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-camera-button span { display:none !important; }
.canonical-customer-card { min-height:60px !important; padding:8px !important; border-color:var(--c-line) !important; border-radius:12px !important; }
.canonical-customer-card .customer-avatar { width:36px !important; height:36px !important; }
.canonical-fast-products,.canonical-cart-list { margin-top:7px !important; padding:8px !important; border-color:var(--c-line) !important; border-radius:12px !important; }
.canonical-fast-products .quick-cart-card-head,.canonical-cart-list .quick-cart-card-head { margin-bottom:6px !important; }
.canonical-fast-product { flex-basis:86px !important; min-height:96px !important; padding:4px !important; }
.canonical-fast-product-image { height:40px !important; }
.canonical-fast-product strong {
  display:-webkit-box !important;
  height:24px !important;
  max-height:24px !important;
  margin:3px 0 !important;
  overflow:hidden !important;
  font-size:7px !important;
  line-height:12px !important;
  overflow-wrap:anywhere;
  word-break:normal;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  line-clamp:2;
}
.canonical-fast-product b { font-size:9px !important; }
.canonical-fast-product button { width:22px !important; height:22px !important; }
.canonical-cart-list { padding-bottom:2px !important; }
.canonical-cart-list .sale-cart-card.approved-cart-line { min-height:52px !important; max-height:56px !important; grid-template-columns:34px minmax(0,1fr) !important; gap:6px !important; padding:3px 1px !important; overflow:hidden !important; border:0 !important; border-bottom:1px solid #e6edf3 !important; border-radius:0 !important; box-shadow:none !important; }
.canonical-cart-list .approved-cart-line .sale-cart-image { width:34px !important; height:44px !important; }
.canonical-cart-list .sale-cart-copy { grid-template-columns:minmax(0,1fr) 84px 56px !important; grid-template-rows:auto auto !important; gap:1px 4px !important; padding-right:13px !important; }
.canonical-cart-list .sale-cart-copy > strong { grid-column:1; min-height:0 !important; font-size:8px !important; line-height:1.18 !important; }
.canonical-cart-list .sale-cart-copy > small { display:none !important; }
.canonical-cart-list .sale-cart-copy .sale-line-unit-price { grid-column:1; margin:1px 0 !important; font-size:8px !important; color:var(--c-ink) !important; }
.canonical-cart-list .sale-cart-controls { grid-column:2/4 !important; grid-row:1/3 !important; grid-template-columns:84px 52px !important; gap:3px !important; margin:0 !important; }
.canonical-cart-list .sale-cart-controls .quantity-stepper { grid-template-columns:26px 31px 26px !important; padding:0 !important; border-radius:7px !important; }
.canonical-cart-list .sale-cart-controls .quantity-stepper button,.canonical-cart-list .sale-cart-controls .sale-quantity { min-height:28px !important; border-radius:6px !important; font-size:10px !important; }
.canonical-cart-list .sale-cart-controls .quantity-stepper button[data-sale-plus] { border:0 !important; background:transparent !important; color:var(--c-navy) !important; }
.canonical-cart-list .sale-cart-controls .sale-line-total { font-size:8px !important; }
.canonical-cart-list .sale-line-edit { display:none !important; }
.canonical-cart-list .sale-cart-copy > .remove-item { top:14px !important; right:-1px !important; font-size:13px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-checkout-bar { display:none !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-payment-panel { position:static !important; display:block !important; margin:0 !important; padding:0 !important; background:transparent !important; backdrop-filter:none !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-payment-panel.hidden { display:none !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-payment-sheet { width:100% !important; max-height:none !important; padding:7px 8px !important; border:1px solid var(--c-line) !important; border-radius:0 0 12px 12px !important; background:#fff !important; box-shadow:none !important; }
.canonical-sale-summary { gap:2px !important; padding:1px 1px 5px !important; }
.canonical-sale-summary span { font-size:8px !important; }
.canonical-sale-summary strong { font-size:10px !important; }
.canonical-sale-summary strong em { font-size:18px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-payment-panel .sale-toolbar { display:none !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-payment-panel .payment-grid { gap:4px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .sale-payment-panel .payment-button { min-height:34px !important; border-radius:8px !important; font-size:8px !important; }
.canonical-mixed-payment { min-height:31px !important; margin-top:4px !important; font-size:8px !important; }
.canonical-complete-hint { min-height:32px !important; margin-top:4px !important; font-size:8px !important; }
.canonical-complete-hint span { font-size:14px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .partial-payment-summary { display:flex !important; justify-content:space-between !important; align-items:center; gap:12px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .partial-payment-summary span { display:inline-flex; align-items:baseline; gap:4px; white-space:nowrap; }

/* Fatura/işlem ve gün sonu are distinct POS workspaces, not two crops of the
   same legacy page. Existing print and close-day handlers remain authoritative. */
.canonical-cash-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:8px; background:#eef4f8; }
.canonical-cash-tabs button { min-height:38px; border:1px solid var(--c-line); border-radius:9px; background:#fff; color:var(--c-navy); font-size:9px; font-weight:800; }
.canonical-cash-tabs button.active { border-color:var(--c-teal); color:#fff; background:var(--c-teal); }
.canonical-cash-workspace { display:none; padding:10px; }
#cash-view[data-cash-workspace="transactions"] #canonical-transactions-workspace,
#cash-view[data-cash-workspace="day-end"] #canonical-day-end-heading { display:block; }
#cash-view[data-cash-workspace="transactions"] > .collection-hero,
#cash-view[data-cash-workspace="transactions"] > .cash-section,
#cash-view[data-cash-workspace="day-end"] > .collection-hero,
#cash-view[data-cash-workspace="day-end"] > .cash-section:not(#day-end-panel) { display:none !important; }
#cash-view[data-cash-workspace="day-end"] #day-end-panel { display:block !important; margin:0 10px 10px; }
.canonical-cash-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; padding:11px 12px; border-radius:13px; color:#fff; background:linear-gradient(135deg,var(--c-navy),#0b5264); }
.canonical-cash-heading h3 { margin:0; font-size:20px; }.canonical-cash-heading span { color:#d8edf0; font-size:10px; }.canonical-cash-heading > strong { font-size:9px; }
.canonical-finance-metrics { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:9px; }
.canonical-finance-metrics article { padding:11px; border:1px solid var(--c-line); border-radius:12px; background:#fff; }
.canonical-finance-metrics span { color:#65758a; font-size:8px; }.canonical-finance-metrics strong { display:block; margin-top:7px; font-size:17px; }
.canonical-transaction-filter { display:grid; grid-template-columns:minmax(0,1fr) 85px 54px; gap:6px; margin-bottom:8px; }
.canonical-transaction-filter label { min-width:0; }.canonical-transaction-filter input,.canonical-transaction-filter select,.canonical-transaction-filter button { min-height:40px; padding:7px 9px; border-radius:10px; font-size:9px; }
.canonical-transaction-filter button { padding:7px 4px; }
.canonical-transaction-list { display:grid; gap:7px; }
.canonical-transaction-card { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:9px; align-items:center; width:100%; padding:10px; border:1px solid var(--c-line); border-radius:13px; background:#fff; color:var(--c-ink); text-align:left; }
.canonical-transaction-card > i { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:var(--c-teal); background:#eaf7f6; font-style:normal; }.canonical-transaction-card span { display:grid; min-width:0; }.canonical-transaction-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.canonical-transaction-card small { color:#65758a; font-size:8px; }.canonical-transaction-card b { white-space:nowrap; }
.canonical-transaction-card.selected { border-color:var(--c-teal); box-shadow:0 0 0 2px #0aa4a61f; }
.canonical-audit-card { margin-top:9px; border-radius:14px !important; }
.canonical-audit-card header { display:flex; justify-content:space-between; align-items:center; }.canonical-audit-card header span { padding:5px 8px; border-radius:999px; color:#1551a1; background:#e7f0ff; font-size:8px; font-weight:900; }
.canonical-audit-row { display:grid; grid-template-columns:12px minmax(0,1fr); gap:8px; margin-top:10px; }.canonical-audit-row i { width:10px; height:10px; margin-top:4px; border-radius:50%; background:var(--c-teal); }.canonical-audit-row strong,.canonical-audit-row small { display:block; }.canonical-audit-row small { color:#65758a; }
#cash-view[data-cash-workspace="day-end"] #day-end-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
#cash-view[data-cash-workspace="day-end"] #day-end-summary .metric { min-height:82px; border-radius:13px; background:#fff; }
#cash-view[data-cash-workspace="day-end"] #day-end-summary .canonical-day-end-proof { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 10px; padding:8px 10px; border:1px solid var(--c-line); border-radius:11px; color:#65758a; background:#fff; font-size:8px; }
#cash-view[data-cash-workspace="day-end"] #day-end-summary .canonical-day-end-proof span { display:flex; justify-content:space-between; gap:5px; }
#cash-view[data-cash-workspace="day-end"] #day-end-summary .canonical-day-end-proof b { color:var(--c-navy); }
#cash-view[data-cash-workspace="day-end"] #day-end-form { border-radius:14px; }

/* Definitive camera/result remain full-screen and override all legacy dialog rules. */
.canonical-scanner { width:min(100%,760px) !important; max-width:760px !important; height:100dvh !important; max-height:none !important; margin:0 auto !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:#fff !important; }
.canonical-scanner-brand { min-height:122px !important; padding:max(22px,env(safe-area-inset-top)) 18px 16px !important; background:radial-gradient(circle at 78% 0%,#0b4777,var(--c-navy) 48%,var(--c-navy-deep)) !important; }
.canonical-scanner .dialog-head { min-height:62px !important; display:grid !important; grid-template-columns:42px 1fr 42px !important; padding:8px 14px !important; background:#fff !important; }
.canonical-scanner .dialog-head h3 { color:var(--c-ink) !important; text-align:center; }
.canonical-scanner #scanner-close { display:grid !important; place-items:center; visibility:visible !important; opacity:1 !important; color:var(--c-navy) !important; background:transparent !important; font-size:24px !important; }
.canonical-camera-stage { min-height:400px !important; }
.canonical-scan-result { margin:-22px 10px 0 !important; padding:12px !important; }
.canonical-barcode-result { width:min(100%,760px) !important; max-width:760px !important; height:100dvh !important; max-height:none !important; margin:0 auto !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:var(--c-surface) !important; }
.canonical-result-header .canonical-brand-paw { margin:-4px -2px -4px -6px; }
.canonical-result-product { padding-bottom:78px !important; }
.canonical-result-account { grid-column:1/-1; display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:8px; align-items:center; margin-top:9px; padding:9px; border:1px solid var(--c-line); border-radius:11px; background:#fff; }
.canonical-result-account > span:nth-child(2) { display:grid; min-width:0; }
.canonical-result-account strong { font-size:10px; }
.canonical-result-account b { font-size:9px; }
.canonical-result-account small { color:#6b7b91; font-size:7px; }
.canonical-result-account button,.canonical-result-cart button { padding:0; border:0; background:transparent; color:#075bea; font-size:8px; font-weight:800; white-space:nowrap; }
.canonical-result-cart { grid-column:1/-1; margin-top:8px; padding:9px; border:1px solid var(--c-line); border-radius:11px; background:#fff; }
.canonical-result-cart header,.canonical-result-cart footer { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.canonical-result-cart header { margin-bottom:4px; font-size:9px; }
.canonical-result-cart > div { display:grid; grid-template-columns:minmax(0,1fr) 48px 64px; gap:6px; padding:4px 0; border-bottom:1px solid #eef2f6; font-size:7px; }
.canonical-result-cart > div b,.canonical-result-cart > div strong { text-align:right; }
.canonical-result-cart footer { padding-top:6px; font-size:9px; }
.canonical-result-cart .empty { display:block; color:#6b7b91; }
.canonical-pos-bottom-nav,.canonical-result-bottom-nav { position:fixed; z-index:28; left:50%; bottom:0; width:min(100%,760px); min-height:58px; display:grid; grid-template-columns:repeat(4,1fr); transform:translateX(-50%); padding:4px 6px calc(4px + env(safe-area-inset-bottom)); border-top:1px solid var(--c-line); background:#fff; box-shadow:0 -4px 18px rgba(7,34,65,.08); }
.canonical-pos-bottom-nav button,.canonical-result-bottom-nav button { min-height:48px; display:grid; place-content:center; gap:1px; padding:2px; border:0; background:transparent; color:#52657a; font-size:8px; font-weight:700; }
.canonical-pos-bottom-nav button span,.canonical-result-bottom-nav button span { color:inherit; font-size:16px; line-height:1; }
.canonical-pos-bottom-nav button.active,.canonical-result-bottom-nav button:first-child { color:var(--c-teal); }
.canonical-result-bottom-nav { z-index:3; }
.canonical-scanner-brand { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:start !important; }
.canonical-scanner-brand > small { grid-column:1; }
.canonical-scanner-user { display:grid; justify-items:end; color:#fff; }
.canonical-scanner-user b { max-width:112px; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.canonical-scanner-user em { color:#d6e4f1; font-size:8px; font-style:normal; }

/* Quick products derives from the approved navy/light family, not the rejected warm standalone page. */
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-page { width:min(100%,760px) !important; left:-100vw; padding:max(14px,env(safe-area-inset-top)) 10px calc(74px + env(safe-area-inset-bottom)) !important; background:var(--c-surface) !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-page.open { left:max(0px,calc(50% - 380px)) !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-head { margin:-14px -10px 10px !important; padding:max(17px,env(safe-area-inset-top)) 13px 14px !important; color:#fff !important; background:radial-gradient(circle at 78% 0%,#0b4777,var(--c-navy) 48%,var(--c-navy-deep)) !important; border-radius:0 0 16px 16px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-head h3,html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-brand,html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-brand strong { color:#fff !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-head h3 { max-width:120px; overflow:hidden; font-size:18px !important; text-overflow:ellipsis; white-space:nowrap; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-brand { display:flex; align-items:center; gap:5px; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-brand strong { font-size:12px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-head .icon-button { color:#fff !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-products-user { color:#fff !important; background:#ffffff12 !important; border-color:#ffffff33 !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-root-menus button,html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-card { border-color:var(--c-line) !important; background:#fff !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-root-menus button.active { color:#fff !important; background:var(--c-teal) !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-copy b { color:var(--c-teal) !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-card { min-height:178px !important; grid-template-columns:46% 54% !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-visual { min-height:178px !important; font-size:34px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-copy { min-width:0; padding:10px 7px 52px 8px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-copy strong { display:-webkit-box; overflow:hidden; font-size:10px !important; line-height:1.2; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow-wrap:anywhere; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-copy small { font-size:8px !important; }
html[data-app-key="QUICK_SALE_MOBILE"] .quick-product-copy b { font-size:14px !important; }

@media(max-width:410px){
  html[data-app-key="ERP_MOBILE"] .erp-approved-header { padding-left:10px !important; padding-right:10px !important; }
  .canonical-erp-title strong { font-size:20px; }.canonical-erp-title span{font-size:15px;}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header { padding-left:10px !important; padding-right:10px !important; }
  .canonical-pos-title strong{font-size:18px}.canonical-pos-title span{font-size:13px}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-user{grid-template-columns:28px auto 18px}.canonical-user-avatar{width:28px;height:28px}
}

/* Real-device compact gate: keep the full approved checkout in reach without
   covering the fixed navigation, while preserving readable labels. */
@media(max-width:430px){
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header{min-height:100px !important;padding-top:max(12px,env(safe-area-inset-top)) !important;padding-bottom:8px !important}
  html[data-app-key="QUICK_SALE_MOBILE"] #sale-view{padding-top:6px !important}
  html[data-app-key="QUICK_SALE_MOBILE"] .sale-search-bar input,
  html[data-app-key="QUICK_SALE_MOBILE"] .sale-camera-button{min-height:42px !important}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-customer-card{min-height:54px !important;padding-top:5px !important;padding-bottom:5px !important}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-fast-product{min-height:90px !important}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-fast-product-image{height:35px !important}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-cart-list .sale-cart-card.approved-cart-line{min-height:48px !important;max-height:50px !important}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-cart-list .approved-cart-line .sale-cart-image{height:40px !important}
  html[data-app-key="ERP_MOBILE"] .erp-kpi-summary .management-metric strong{font-size:12px !important;letter-spacing:-.045em}
}
html[data-app-key="QUICK_SALE_MOBILE"] .canonical-complete-hint:disabled{opacity:.82 !important}
@media(max-width:370px){
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header .topbar-brand{gap:3px}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-header .canonical-brand-paw{width:34px;height:40px;flex-basis:34px;transform:scale(.78);transform-origin:center}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-title{gap:4px}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-title strong{font-size:16px}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-title span{font-size:11px}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-user{grid-template-columns:24px minmax(0,68px) 14px;gap:3px}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-user-avatar{width:24px;height:24px}
  html[data-app-key="QUICK_SALE_MOBILE"] .canonical-pos-user .quick-user-pill{max-width:68px;font-size:8px !important}
}
