
:root { --ink:#172b4d; --muted:#728098; --line:#e5e9f0; --orange:#ff9f43; --navy:#132b50; --sidebar:236px; --topbar:78px; --radius:12px; }
body { font-family:Inter,"Segoe UI",Arial,sans-serif; color:var(--ink); font-size:14px; background:#f6f7f9; }
a { color:#285787; text-decoration:none; } a:hover { color:#e57819; }
.ui-icon { width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
.skip-link { position:fixed; left:250px; top:-60px; z-index:100; background:#fff; padding:12px; }.skip-link:focus { top:10px; }
.app-sidebar { position:fixed; width:var(--sidebar); inset:0 auto 0 0; z-index:45; background:#fff; border-right:1px solid var(--line); display:flex; flex-direction:column; transition:width .2s,transform .2s; }
.store-brand { display:flex; align-items:center; gap:10px; height:var(--topbar); padding:0 24px; color:var(--navy); border-bottom:1px solid var(--line); }
.brand-mark { color:#f58b2a; display:grid; place-items:center; background:#fff2e4; width:41px; height:41px; border-radius:12px; }.brand-mark svg { width:28px; height:28px; }
.brand-wordmark { font-size:23px; font-weight:750; letter-spacing:-.8px; line-height:1.1; }.brand-wordmark > span { display:block; font-size:10px; letter-spacing:2.3px; margin-top:5px; }.brand-wordmark small { color:#ef8f37; font-size:9px; }
.sidebar-store { display:flex; gap:10px; align-items:center; padding:24px 23px 12px; font-size:12px; font-weight:600; }.sidebar-store small { display:block; color:var(--muted); font-size:11px; font-weight:400; margin-top:3px; }.store-dot { width:8px; height:8px; border-radius:50%; background:#33b783; box-shadow:0 0 0 5px #e8f7ef; }
.sidebar-nav { padding:8px 15px; overflow:auto; }.nav-section-label { display:block; font-size:10px; font-weight:700; color:#97a0af; letter-spacing:1.2px; padding:20px 12px 12px; }.sidebar-link { display:flex; align-items:center; gap:12px; padding:13px 12px; border-radius:9px; color:#526075; font-size:13px; margin:4px 0; }.sidebar-link:hover { background:#f6f7f9; }.sidebar-link.active { color:#e77c22; background:#fff2e7; font-weight:650; }.active-dot { width:6px; height:6px; border-radius:50%; background:var(--orange); margin-left:auto; }
.sidebar-bottom { margin-top:auto; padding:22px 20px; }.sidebar-help { border:1px solid #f5e8da; background:#fff9f3; padding:15px 12px; border-radius:10px; display:flex; gap:12px; align-items:center; font-size:11px; line-height:1.7; color:#8a715b; }.sidebar-help svg { color:#ed9a4a; }.sidebar-version { display:block; color:#9ba5b4; font-size:10px; margin-top:16px; }
.app-topbar { position:fixed; top:0; left:var(--sidebar); right:0; height:var(--topbar); display:flex; justify-content:space-between; align-items:center; gap:16px; padding:0 28px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.98); z-index:40; transition:left .2s; }.topbar-location,.topbar-actions { display:flex; align-items:center; gap:16px; }.topbar-section { font-weight:650; font-size:14px; }.topbar-location small { display:block; color:var(--muted); font-size:11px; margin-top:2px; }.topbar-date { font-size:12px; color:var(--muted); display:flex; gap:8px; align-items:center; }.topbar-date svg { width:16px; }.icon-button { border:1px solid var(--line); border-radius:8px; background:#fff; color:#627187; width:34px; height:34px; display:grid; place-items:center; }.icon-button:hover { background:#fff2e7; color:#e77c22; }.icon-button:focus-visible,.sidebar-link:focus-visible { outline:3px solid #ffbd80; outline-offset:2px; }.admin-avatar { width:34px; height:34px; background:#edf2f8; border:1px solid var(--line); color:var(--navy); border-radius:50%; display:grid; place-items:center; font-size:10px; font-weight:700; }.logout-form { margin:0; }
main.app-content { max-width:none; width:auto; margin-left:var(--sidebar); padding:calc(var(--topbar) + 28px) 28px 28px!important; min-height:100vh; transition:margin-left .2s; }
main h1.h3 { font-size:23px; font-weight:650; margin-bottom:22px!important; letter-spacing:-.4px; } h2.h5,h3.h5 { font-size:16px; font-weight:650; }
.page-lead { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }.page-lead h1 { margin-bottom:5px!important; }.page-lead p { color:var(--muted); margin:0; font-size:12px; }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 2px 4px #132b5002; }.btn { border-radius:7px; font-size:12px; font-weight:600; padding:9px 14px; display:inline-flex; align-items:center; justify-content:center; gap:6px; }.btn-sm { padding:6px 10px; font-size:11px; }.btn-primary { --bs-btn-bg:#ff9f43; --bs-btn-border-color:#ff9f43; --bs-btn-hover-bg:#ee8b2d; --bs-btn-hover-border-color:#ee8b2d; --bs-btn-active-bg:#dd7c23; --bs-btn-active-border-color:#dd7c23; --bs-btn-color:#263449; --bs-btn-hover-color:#172b4d; }.topbar-new-sale { background:#1c3764; border-color:#1c3764; color:#fff; }.topbar-new-sale:hover { background:#294c83; border-color:#294c83; color:#fff; }.topbar-new-sale svg { width:15px; height:15px; }.btn-outline-primary { --bs-btn-color:#315175; --bs-btn-border-color:#dbe3ec; --bs-btn-hover-bg:#fff4e9; --bs-btn-hover-border-color:#ffbf83; --bs-btn-hover-color:#b96319; }.btn-success { --bs-btn-bg:#2daf7d; --bs-btn-border-color:#2daf7d; --bs-btn-hover-bg:#249469; --bs-btn-hover-border-color:#249469; }.btn-outline-secondary { border-color:#e0e5ec; color:#65758c; }
.form-control,.form-select { font-size:12px; border-color:#dfe5ed; min-height:39px; border-radius:7px; padding:9px 12px; color:var(--ink); }.form-control::placeholder { color:#9aa4b2; }.form-control:focus,.form-select:focus { border-color:#ffb978; box-shadow:0 0 0 3px #ff9f4318; }.form-label { font-size:12px; font-weight:550; color:#465368; }.text-muted { color:var(--muted)!important; }.table { color:var(--ink); font-size:12px; vertical-align:middle; margin-bottom:0; --bs-table-border-color:var(--line); }.table > :not(caption) > * > * { padding:15px 17px; }.table th { background:#f8fafc; color:#63718a; font-size:11px; font-weight:600; white-space:nowrap; }.table td { border-color:var(--line); }.table tbody tr:last-child td { border-bottom:0; }.table tbody tr:hover td { background:#fcfdff; }.table-responsive { border:1px solid var(--line); border-radius:10px; background:#fff; }.card > .table-responsive { border:0; border-radius:0 0 12px 12px; }.badge { font-weight:550; padding:6px 9px; }.status-paid { background:#eaf8f0; color:#28996c; }.status-due { background:#fff2e8; color:#d3812d; }.status-unpaid { background:#fff0ef; color:#d4615a; }
.stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:20px; }.stat-card { padding:23px; display:flex; flex-direction:row; align-items:center; gap:16px; }.stat-symbol { width:49px; height:49px; border-radius:14px; display:grid; place-items:center; flex-shrink:0; background:#fff1e3; color:#ec922e; }.stat-card:nth-child(2) .stat-symbol { background:#e3f7ee; color:#2daf7d; }.stat-card:nth-child(3) .stat-symbol { background:#eeebff; color:#8d72de; }.stat-label { color:#7a879a; font-size:11px; margin-top:5px; }.stat-value { font-size:23px; font-weight:700; letter-spacing:-.5px; line-height:1.3; }
.quick-actions { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; margin-bottom:20px; }.quick-actions h2 { margin-bottom:4px; }.quick-actions p { font-size:11px; color:var(--muted); margin:0; }.quick-action-links { display:flex; gap:8px; flex-wrap:wrap; }
.dashboard-chart { padding:24px!important; }.sales-chart-scroll { background:#fff; }.sales-chart { min-width:570px; } .dashboard-chart svg rect { fill:#36ba87; }.dashboard-table-heading { display:flex; align-items:center; justify-content:space-between; padding:20px; }.dashboard-table-heading h2 { margin:0; }.dashboard-table-heading a { font-size:12px; }.table td a { font-weight:550; }
.pos-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(370px,40%); gap:22px; align-items:start; }.pos-catalog { min-width:0; }.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }.catalog-toolbar h2 { font-size:15px; margin:0; }.catalog-toolbar small { color:var(--muted); }.catalog-search { background:#fff; margin-bottom:14px; }.catalog-filters { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:18px; }.catalog-filter { border:1px solid var(--line); background:#fff; padding:8px 13px; border-radius:7px; color:#65758c; font-size:11px; }.catalog-filter.active { border-color:#ff9f43; background:#fff4e9; color:#bd6d25; font-weight:600; }.product-list.pos-product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:12px; max-height:none; overflow:visible; }
.pos-product-card { display:flex; flex-direction:column; text-align:left; padding:0; border:1px solid var(--line); background:#fff; border-radius:10px; overflow:hidden; width:100%; transition:border-color .15s,box-shadow .15s; position:relative; color:var(--ink); }.pos-product-card:hover,.pos-product-card:focus-visible { border-color:var(--orange); box-shadow:0 0 0 2px #ff9f4320; outline:0; }.product-card-art { height:116px; width:100%; display:grid; place-items:center; background:#f1eee7; position:relative; }.pos-product-card:nth-child(4n+2) .product-card-art { background:#edf0f8; }.pos-product-card:nth-child(4n+3) .product-card-art { background:#edf4ef; }.pos-product-card:nth-child(4n+4) .product-card-art { background:#fcf0e9; }.product-card-art svg { width:59px; height:65px; color:#9a8f78; filter:drop-shadow(0 6px 4px #0000000b); }.pos-product-card:nth-child(4n+2) .product-card-art svg { color:#8795b4; }.pos-product-card:nth-child(4n+3) .product-card-art svg { color:#81a48c; }.card-add-sign { position:absolute; top:9px; right:9px; background:#fff; color:#36ae7c; border-radius:50%; width:21px; height:21px; font-size:16px; display:grid; place-items:center; box-shadow:0 1px 3px #0001; }.product-card-content { padding:12px; display:flex; flex-direction:column; gap:5px; width:100%; }.product-card-name { font-size:12px; font-weight:650; overflow-wrap:anywhere; }.product-card-code { font-size:10px; color:#99a1ae; }.product-card-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px; }.product-card-price { color:#239779; font-size:12px; font-weight:700; }.product-card-stock { font-size:10px; color:#8b7b67; }.product-list > .catalog-empty { grid-column:1/-1; padding:40px; text-align:center; color:var(--muted); background:#fff; border:1px dashed var(--line); border-radius:10px; }
.pos-order { border-top:3px solid var(--orange); position:sticky; top:98px; padding:20px; }.order-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }.order-heading h2 { font-size:17px; margin:0; }.order-pill { background:#f2effb; color:#8964d3; border-radius:5px; padding:4px 7px; font-size:10px; }.pos-order .table-responsive { max-height:300px; overflow:auto; border:0; border-bottom:1px solid var(--line); border-radius:0; margin-bottom:16px; }.pos-order .table { font-size:11px; }.pos-order .table td,.pos-order .table th { padding:12px 5px; }.pos-order .table th { background:#fff; }.pos-order .table td:first-child { min-width:80px; font-weight:600; }.pos-order .qty { width:67px; min-height:32px; padding:5px 7px; font-size:12px; }.pos-order .btn-outline-danger { padding:4px 6px; font-size:10px; }.order-total { display:flex; align-items:center; justify-content:space-between; padding:14px 0; margin:12px 0 18px; border-top:1px dashed #dce2e9; border-bottom:1px dashed #dce2e9; font-size:16px; }.order-total strong { font-size:24px; }.order-subtotal { display:flex; justify-content:space-between; color:#7a879a; font-size:12px; margin-top:15px; }.order-remaining { display:flex; justify-content:space-between; background:#f6f8fb; padding:11px; border-radius:7px; margin-top:12px; }.pos-order .complete-sale { min-height:44px; background:var(--navy); border-color:var(--navy); }.pos-order .complete-sale:hover { background:#244574; }.pos-order-note { font-size:10px; color:var(--muted); padding-top:12px; text-align:center; }
.products-page { display:block; }.products-page > .product-list-column { width:100%; }.product-management-table th { padding:14px 17px; }.product-management-table td { padding:16px 17px; }.product-table-toolbar { padding:20px; display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }.product-table-toolbar h2 { margin:0; }.product-table-toolbar form { width:330px; max-width:100%; }.product-management-name { font-weight:600; }
dialog.pos-dialog { border:1px solid var(--line); border-radius:14px; padding:0; width:620px; max-width:calc(100vw - 30px); max-height:90vh; overflow:auto; box-shadow:0 25px 80px #132b5030; color:var(--ink); } dialog.pos-dialog::backdrop { background:#172b4d66; } dialog.pos-dialog .card { border:0; }.dialog-header { display:flex; justify-content:space-between; align-items:center; padding:20px 24px; border-bottom:1px solid var(--line); }.dialog-header h2 { font-size:17px; margin:0; }.dialog-close { font-size:21px; line-height:1; }.dialog-body { padding:24px; }.dialog-body .mb-4 { margin-bottom:16px!important; }
.customer-profile { border-left:3px solid #ffb05e; }.customer-balance { background:#fff5e9; }.customer-section-heading { padding:20px; }.customer-account-table th { font-size:11px; }.customer-contact { font-size:12px; }.customer-back { font-size:12px; }.customer-section-heading p { font-size:11px; }.report-filter { padding:20px; background:#fff; border:1px solid var(--line); border-radius:12px; margin:0 0 20px; }.report-totals { border-left:3px solid #36ba87; padding:16px 20px; background:#fff; border-radius:8px; font-size:12px; }.app-content > .table { border:1px solid var(--line); background:#fff; border-radius:10px; overflow:hidden; }
.login-page { background:radial-gradient(ellipse at top left,#fff2e3,transparent 60%),#f5f7fa; }.login-page main.app-content { margin:0; max-width:100%; padding-top:10vh!important; }.login-page .card { box-shadow:0 18px 60px #132b5010; padding:32px!important; }.login-page h1 { color:var(--navy); }
.sidebar-collapsed { --sidebar:78px; }.sidebar-collapsed .brand-wordmark,.sidebar-collapsed .sidebar-store,.sidebar-collapsed .sidebar-link span,.sidebar-collapsed .nav-section-label,.sidebar-collapsed .sidebar-bottom,.sidebar-collapsed .active-dot { display:none; }.sidebar-collapsed .store-brand { padding:0 18px; }.sidebar-collapsed .sidebar-link { justify-content:center; padding:14px 8px; }.sidebar-collapsed .sidebar-nav { padding:20px 10px; }
.sidebar-backdrop { display:none; }
@media(min-width:1700px) { .pos-product-grid { grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important; } }
@media(max-width:1200px) { :root { --sidebar:210px; }.app-topbar { padding:0 20px; }main.app-content { padding-right:20px!important; padding-left:20px!important; }.pos-layout { grid-template-columns:minmax(0,1fr) 370px; gap:16px; }.stat-card { padding:18px; gap:10px; }.stat-value { font-size:20px; }.topbar-date { display:none; } }
@media(max-width:1000px) { .pos-layout { grid-template-columns:1fr; }.pos-order { position:static; }.stat-grid { gap:10px; }.stat-symbol { width:36px; height:36px; }.stat-value { font-size:18px; }.stat-card { padding:15px; }.product-list.pos-product-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }.quick-actions { align-items:flex-start; flex-direction:column; } }
@media(max-width:760px) { :root { --sidebar:0px; --topbar:66px; }.app-sidebar { width:236px; transform:translateX(-100%); }.sidebar-open .app-sidebar { transform:translateX(0); }.sidebar-open .sidebar-backdrop { display:block; position:fixed; inset:0; background:#172b4d70; border:0; z-index:44; }.app-topbar { left:0; padding:0 15px; }.topbar-location,.topbar-actions { gap:10px; }.admin-avatar { display:none; }.topbar-new-sale { padding:8px 10px; font-size:11px; }.topbar-section { font-size:12px; }.topbar-location small { font-size:10px; }main.app-content { margin-left:0; padding:85px 15px 24px!important; }.stat-grid { grid-template-columns:1fr; }.stat-card { padding:18px; }.stat-value { font-size:23px; }.stat-symbol { width:46px; height:46px; }.page-lead { align-items:flex-start; }.page-lead h1 { font-size:21px; }.page-lead .btn { white-space:nowrap; }.product-list.pos-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.product-card-art { height:105px; }.pos-order { padding:16px; }.sidebar-collapsed .brand-wordmark,.sidebar-collapsed .sidebar-store,.sidebar-collapsed .sidebar-link span,.sidebar-collapsed .nav-section-label,.sidebar-collapsed .sidebar-bottom { display:revert; }.sidebar-collapsed .sidebar-link { justify-content:flex-start; }.sidebar-collapsed .sidebar-nav { padding:8px 15px; }.sidebar-collapsed .store-brand { padding:0 24px; }.customer-profile { padding:18px; }.customer-section-heading { padding:16px; }.customer-receipt-search { flex-wrap:wrap; }.customer-receipt-search input { flex:1; min-width:100px; }.dialog-body { padding:18px; } }
@media print { .app-sidebar,.app-topbar,.sidebar-backdrop,.skip-link { display:none!important; } body.app-layout { background:white; } main.app-content { margin:0!important; padding:0!important; min-height:0; } .sale-print-area { display:block; } .urdu-receipt,.urdu-receipt * { box-shadow:none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; } }

main.app-content .page-lead h1.h3 { margin-bottom:5px!important; } .table td:has(.badge) { white-space:nowrap; }

/* Products already present in the current order. */
.pos-product-card.is-in-cart { border-color:#25a873; box-shadow:0 0 0 1px #25a873; background:#effaf4; }
.pos-product-card.is-in-cart .product-card-art { background:#dcf4e6; }
.pos-product-card.is-in-cart .product-card-art svg { color:#348960; }
.pos-product-card.is-in-cart .product-card-content { background:#effaf4; }
.pos-product-card.is-in-cart .card-add-sign { background:#249f6c; color:#fff; font-weight:700; }
.pos-product-card.is-in-cart .product-card-name { color:#186641; }
.pos-product-card.is-in-cart:hover,.pos-product-card.is-in-cart:focus-visible { border-color:#168355; box-shadow:0 0 0 2px #25a87340; }

.pos-product-card.is-in-cart .card-add-sign { width:auto; min-width:25px; max-width:calc(100% - 18px); height:auto; min-height:25px; padding:3px 7px; border-radius:7px; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
/* Desktop checkout: keep payment and printing visible; scroll only the lists. */
@media screen and (min-width:1001px) and (min-height:560px) {
  body.page-sale { overflow:hidden; }
  .page-sale main.app-content { height:100dvh; min-height:0; display:flex; flex-direction:column; padding-top:calc(var(--topbar) + 16px)!important; padding-bottom:16px!important; }
  .sale-workspace { flex:1; min-height:0; display:flex; flex-direction:column; }
  .sale-workspace .page-lead { flex:none; margin-bottom:12px; min-height:34px; }
  .sale-workspace .page-lead h1.h3 { font-size:20px; margin-bottom:0!important; }
  .sale-workspace .page-lead p { display:none; }
  .sale-workspace .page-lead .btn { padding:7px 10px; font-size:11px; }
  .sale-workspace .pos-layout { flex:1; min-height:0; grid-template-rows:minmax(0,1fr); }
  .sale-workspace .pos-catalog { min-height:0; display:flex; flex-direction:column; }
  .sale-workspace .catalog-toolbar { flex:none; margin-bottom:10px; }
  .sale-workspace .catalog-search { flex:none; margin-bottom:10px; }
  .sale-workspace .catalog-filters { flex:none; margin-bottom:12px; }
  .sale-workspace .product-list.pos-product-grid { min-height:0; overflow-y:auto; align-content:start; padding:2px 5px 4px 2px; }
  .sale-workspace .pos-order-column { min-height:0; display:flex; }
  .sale-workspace .pos-order { position:static; width:100%; height:100%; min-height:0; padding:14px; }
  .sale-workspace .order-heading { flex:none; margin-bottom:10px; }
  .sale-workspace .order-heading h2 { font-size:15px; }
  .sale-workspace #sale-form { flex:1; min-height:0; display:flex; flex-direction:column; }
  .sale-workspace .order-customer { flex:none; display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:8px; }
  .sale-workspace .order-customer > label { grid-column:1/-1; margin:0; font-size:11px; }
  .sale-workspace .order-customer > input,.sale-workspace .order-customer > select { margin:0!important; min-width:0; }
  .sale-workspace #sale-customer-no-results { grid-column:1/-1; margin:0; font-size:10px; }
  .sale-workspace .order-items { flex:1; min-height:55px; max-height:none; margin-bottom:8px; overscroll-behavior:contain; }
  .sale-workspace .order-items thead { position:sticky; top:0; z-index:1; background:white; }
  .sale-workspace .order-items td,.sale-workspace .order-items th { padding:8px 4px; }
  .sale-workspace .checkout-footer { flex:none; }
  .sale-workspace .checkout-footer > .row { margin-bottom:7px!important; }
  .sale-workspace .form-label { font-size:11px; margin-bottom:4px; }
  .sale-workspace .form-control,.sale-workspace .form-select { min-height:32px; height:32px; padding:5px 9px; font-size:11px; }
  .sale-workspace .qty { width:63px; }
  .sale-workspace .checkout-totals { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 0; margin-bottom:7px; border-top:1px dashed #dce2e9; border-bottom:1px dashed #dce2e9; }
  .sale-workspace .order-subtotal { margin:0; display:flex; flex-direction:column; gap:1px; font-size:10px; }
  .sale-workspace .order-total { padding:0; margin:0; border:0; display:flex; flex-direction:column; align-items:flex-end; gap:1px; font-size:11px; }
  .sale-workspace .order-total strong { font-size:21px; }
  .sale-workspace .checkout-footer .input-group { margin-bottom:6px!important; }
  .sale-workspace #pay-full { padding:5px 9px; font-size:11px; }
  .sale-workspace .order-remaining { margin:0 0 8px; padding:7px 9px; font-size:11px; }
  .sale-workspace .complete-sale { min-height:36px; padding:8px; }
  .sale-workspace .pos-order-note { display:none; }
  .page-sale main.app-content > .alert { flex:none; padding:9px 12px; margin-bottom:8px; font-size:11px; }
}
@media screen and (min-width:1001px) and (min-height:560px) and (max-height:660px) {
  .sale-workspace .pos-order { padding:10px; }
  .sale-workspace .order-heading { margin-bottom:6px; }
  .sale-workspace .checkout-totals { padding:5px 0; margin-bottom:5px; }
  .sale-workspace .order-total strong { font-size:19px; }
  .sale-workspace .checkout-footer > .row { margin-bottom:5px!important; }
  .sale-workspace .order-remaining { padding:6px 8px; margin-bottom:6px; }
}

@media screen and (min-width:1001px) and (min-height:560px) {
  .sale-workspace .pos-order-column { height:100%; align-self:stretch; overflow:hidden; }
  .sale-workspace .pos-catalog { height:100%; align-self:stretch; overflow:hidden; }
}
@media screen and (min-width:1001px) and (min-height:560px) {
  .sale-workspace .product-list.pos-product-grid { grid-auto-rows:max-content; align-items:start; }
  .sale-workspace .pos-product-card { min-height:195px; }
  .sale-workspace .product-card-art { flex-shrink:0; height:106px; }
  .sale-workspace .product-card-content { flex-shrink:0; }
}
.walkin-receipt-name { margin-top:8px; }
.walkin-receipt-name .form-label { margin-bottom:4px; }
@media screen and (min-width:1001px) and (min-height:560px) {
  .sale-workspace .walkin-receipt-name { grid-column:1/-1; display:flex; align-items:center; gap:8px; margin:0; }
  .sale-workspace .walkin-receipt-name > label { flex:none; margin:0; font-size:10px; }
  .sale-workspace .walkin-receipt-name .form-control { flex:1; min-width:0; height:28px; min-height:28px; }
  .sale-workspace .checkout-footer > .row { margin-bottom:4px!important; }
  .sale-workspace .checkout-totals { padding:5px 0; margin-bottom:4px; }
  .sale-workspace .order-remaining { margin-bottom:5px; padding:5px 8px; }
}

.customer-combobox { position:relative; margin-bottom:12px; }
.customer-results { position:absolute; top:calc(100% + 5px); left:0; right:0; z-index:30; max-height:190px; overflow-y:auto; background:#fff; border:1px solid #dce3ed; border-radius:8px; box-shadow:0 8px 24px #172b4d20; padding:5px; }
.customer-results[hidden] { display:none!important; }
.customer-result { padding:9px 10px; border-radius:5px; cursor:pointer; font-size:12px; overflow-wrap:anywhere; }
.customer-result:hover,.customer-result.is-active { background:#fff1e3; color:#ad5c17; }
.customer-result[aria-selected="true"] { font-weight:650; }
.customer-result-empty { padding:9px 10px; color:#8994a5; font-size:11px; }
#sale-customer-search { margin:0!important; }
@media screen and (min-width:1001px) and (min-height:560px) {
  .sale-workspace .customer-combobox { grid-column:1/-1; margin:0; }
}

/* Customer account and optional receipt name share one row. */
.sale-workspace .order-customer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; align-items:start; }
.sale-workspace .customer-picker-field,.sale-workspace .walkin-receipt-name { min-width:0; }
.sale-workspace .customer-picker-field > .form-label,.sale-workspace .walkin-receipt-name > .form-label { display:block; font-size:10px; margin:0 0 5px; line-height:1.5; }
.sale-workspace .customer-combobox { grid-column:auto; margin:0; }
.sale-workspace .walkin-receipt-name { grid-column:auto; display:block; margin:0; }
.sale-workspace .walkin-receipt-name .form-control { width:100%; }
@media screen and (min-width:1001px) and (min-height:560px) {
  .sale-workspace .walkin-receipt-name .form-control { height:32px; min-height:32px; }
}
@media(max-width:400px) {
  .sale-workspace .customer-picker-field > .form-label,.sale-workspace .walkin-receipt-name > .form-label { min-height:30px; }
}
.dashboard-chart svg rect[data-return-negative] { fill:#e27768; } .return-preview { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }

.return-search-form .btn { white-space:nowrap; }

.dashboard-graphs { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:20px; margin-bottom:24px; scroll-margin-top:95px; }
.analytics-card { padding:20px; min-width:0; }
.analytics-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:15px; border-bottom:1px solid #e7eaf0; }
.analytics-heading h2 { font-size:16px; font-weight:650; margin:0; }
.chart-period { width:auto; min-height:33px; border-radius:20px; font-size:11px; padding:7px 29px 7px 12px; background-position:right 9px center; box-shadow:0 2px 4px #132b5005; }
.analytics-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; min-height:52px; padding:13px 0 6px; font-size:11px; }
.chart-legend { display:flex; gap:13px; }.chart-legend span,.revenue-key { display:inline-flex; align-items:center; gap:6px; }
.chart-legend i,.revenue-key i { width:9px; height:9px; border-radius:50%; display:inline-block; }.legend-settled { background:#328ee7; }.legend-udhaar { background:#ffc33b; }.revenue-key i { background:#0bb6d1; }
.chart-total-pill { border:1px solid #e5e9f0; border-radius:20px; padding:5px 9px; font-size:10px; white-space:nowrap; }
.chart-surface { min-width:0; }.analytics-svg { display:block; width:100%; height:270px; }
.chart-axis { fill:#76869c; font-size:11px; font-family:inherit; }.chart-count { fill:#294d75; font-size:11px; font-family:inherit; font-weight:600; }.order-bar-settled { fill:#328ee7; }.order-bar-pending { fill:#ffc33b; }
.revenue-total { font-size:15px; letter-spacing:-.3px; }.chart-data { font-size:11px; color:#74839a; }.chart-data summary { cursor:pointer; }.chart-footnote { color:#8c98a9; font-size:10px; margin:8px 0 0; }.chart-empty { font-size:11px; text-align:center; color:#8190a3; margin:-15px 0 12px; }
@media(max-width:1100px) { .dashboard-graphs { grid-template-columns:1fr; }.analytics-svg { height:285px; } }
@media(max-width:500px) { .analytics-card { padding:15px; }.analytics-heading h2 { font-size:14px; }.analytics-svg { height:230px; }.chart-period { font-size:10px; }.chart-total-pill { font-size:9px; } }

.product-insights-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.product-insight-card { min-width:0; overflow:hidden; }
.product-insight-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding:18px 20px; border-bottom:1px solid #e5e9f0; }
.product-insight-heading h2 { display:flex; align-items:center; gap:9px; font-size:15px; margin:0; font-weight:650; }
.insight-heading-icon { width:32px; height:32px; border-radius:8px; display:grid; place-items:center; }
.selling-icon { color:#ee59a2; background:#ffe9f4; }.low-stock-icon { color:#ec7669; background:#fff0ed; }.insight-heading-icon svg { width:17px; height:17px; }
.insight-view-all { font-size:11px; text-decoration:underline; }
.product-insight-list { padding:0 20px; scroll-margin-top:100px; }
.insight-row { display:flex; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid #e6eaf0; min-height:78px; }.insight-row:last-child { border-bottom:0; }
.insight-product-art { width:45px; height:45px; border-radius:8px; background:#fff1e4; color:#d18e50; display:grid; place-items:center; position:relative; flex-shrink:0; }
.insight-row:nth-child(2n) .insight-product-art { background:#edf2fb; color:#839cbe; }.insight-row:nth-child(3n) .insight-product-art { background:#edf6ef; color:#70a685; }
.insight-product-art svg { width:25px; height:25px; }.insight-product-art > small { position:absolute; right:-3px; bottom:-3px; width:17px; height:17px; background:white; border:1px solid #e6eaf0; color:#7d8b9e; border-radius:50%; display:grid; place-items:center; font-size:9px; }
.insight-product-info { flex:1; min-width:0; }.insight-product-info a { font-size:12px; color:#243b5a; font-weight:600; display:block; overflow-wrap:anywhere; }.insight-product-info > small { display:block; color:#8491a5; font-size:10px; margin-top:4px; }
.insight-quantity { color:#279b6a; border:1px solid #ccebdc; border-radius:5px; padding:5px 7px; background:#f4fcf7; font-size:11px; white-space:nowrap; text-align:right; }.insight-quantity small { margin-left:4px; color:#6c9b83; font-size:9px; }
.insight-stock-level { flex-shrink:0; text-align:right; }.insight-stock-level small { display:block; color:#8b98ac; font-size:10px; }.insight-stock-level strong { display:block; color:#e36c56; font-size:12px; font-weight:550; margin-top:5px; }
.insight-footnote { color:#8a97a9; font-size:10px; padding:7px 20px 14px; margin:0; margin-top:auto; }
.insight-empty { padding:55px 15px; text-align:center; font-size:12px; color:#8a97a9; }
.product-table-toolbar form { width:560px; max-width:100%; flex-wrap:wrap; }.product-table-toolbar #products-search { flex:1; min-width:150px; }.product-table-toolbar #products-stock-filter { width:auto; }
@media(max-width:900px) { .product-insights-grid { grid-template-columns:1fr; } }
@media(max-width:450px) { .product-insight-heading { padding:15px; }.product-insight-heading h2 { font-size:13px; }.product-insight-list { padding:0 15px; }.insight-row { gap:9px; }.insight-product-art { width:37px; height:37px; }.insight-quantity { font-size:10px; padding:5px; }.insight-quantity small { display:block; margin:1px 0 0; } }

/* Export controls wrap on small screens without narrowing the stock table. */
.product-table-toolbar form { width:auto; flex:1; justify-content:flex-end; }
.product-table-toolbar [data-export-type] { white-space:nowrap; }
.report-filter .col-md-4:last-child { display:flex; flex-wrap:wrap; gap:8px; }
.customer-receipt-search { flex-wrap:wrap; }
/* Percentage stock indicators shared by products and checkout. */
.stock-low-badge { display:inline-block; margin-top:6px; padding:3px 7px; border-radius:5px; background:#fff1df; color:#934700; font-size:11px; font-weight:600; }
.stock-alert-preview { padding:10px 12px; margin-top:9px; border:1px solid #ffe0bd; border-radius:7px; background:#fff8ef; color:#934700; font-size:12px; }
.insight-stock-level > small { display:block; margin-top:3px; }
/* Dashboard palette inspired by the supplied retail POS reference. */
body.page-dashboard {
  --ink:#092c4c;
  --muted:#64748b;
  --line:#e2e8f0;
  --orange:#ff9f43;
  --navy:#092c4c;
  background:#f7f7f7;
}
.page-dashboard .card { border-color:var(--line); border-radius:8px; box-shadow:none; }
.page-dashboard .stat-card { min-height:118px; border:0; border-radius:8px; color:#fff; }
.page-dashboard .stat-card:nth-child(1) { background:#ff9f43; }
.page-dashboard .stat-card:nth-child(2) { background:#092c4c; }
.page-dashboard .stat-card:nth-child(3) { background:#0e9384; }
.page-dashboard .stat-card .stat-value { color:#fff; }
.page-dashboard .stat-card .stat-label { color:#fff; font-size:12px; }
.page-dashboard .stat-card .stat-symbol { background:#fff; border-radius:9px; width:46px; height:46px; }
.page-dashboard .stat-card:nth-child(1) .stat-symbol { color:#c35a00; }
.page-dashboard .stat-card:nth-child(2) .stat-symbol { color:#092c4c; }
.page-dashboard .stat-card:nth-child(3) .stat-symbol { color:#0e9384; }
.page-dashboard .sidebar-link.active { color:#b65300; background:#fff5ec; }
.page-dashboard .active-dot { background:#ff9f43; }
.page-dashboard .quick-actions .btn-primary { --bs-btn-bg:#ff9f43; --bs-btn-border-color:#ff9f43; --bs-btn-color:#092c4c; --bs-btn-hover-bg:#f58c2b; --bs-btn-hover-border-color:#f58c2b; }
.page-dashboard .topbar-new-sale { background:#092c4c; border-color:#092c4c; }
.page-dashboard .topbar-new-sale:hover { background:#15466e; border-color:#15466e; }
.page-dashboard .legend-settled,.page-dashboard .revenue-key i { background:#155eef; }
.page-dashboard .legend-udhaar { background:#ff9f43; }
.page-dashboard .order-bar-settled { fill:#155eef; }
.page-dashboard .order-bar-pending { fill:#ff9f43; }
.page-dashboard #revenue-chart > path[stroke],.page-dashboard #revenue-chart > circle { stroke:#155eef; }
.page-dashboard #revenue-fill stop { stop-color:#155eef; }
.page-dashboard .selling-icon { color:#155eef; background:#eaf0ff; }
.page-dashboard .low-stock-icon { color:#b65300; background:#fff2e6; }
.page-dashboard .insight-quantity { color:#08786c; border-color:#ccebe5; background:#effaf7; }
.page-dashboard .chart-total-pill { color:#15466e; background:#edf3ff; }
.page-dashboard .analytics-heading h2,.page-dashboard .product-insight-heading h2,.page-dashboard .dashboard-table-heading h2 { color:#092c4c; }
@media print {
  body.page-dashboard { background:#fff; }
  .page-dashboard .stat-card { background:#fff; border:1px solid #e2e8f0; }
  .page-dashboard .stat-card .stat-value,.page-dashboard .stat-card .stat-label { color:#092c4c; }
}
/* Four dashboard totals, with a blue sale-return card. */
.page-dashboard .stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.page-dashboard .stat-card { min-width:0; }
.page-dashboard .stat-card > div { min-width:0; }
.page-dashboard .stat-value { overflow-wrap:anywhere; }
.page-dashboard .stat-card:nth-child(4) { background:#155eef; }
.page-dashboard .stat-card:nth-child(4) .stat-symbol { color:#155eef; }
@media (max-width:1200px) {
  .page-dashboard .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .page-dashboard .stat-grid { grid-template-columns:1fr; }
}
@media print {
  .page-dashboard .stat-card:nth-child(4) { background:#fff; }
}
.sale-delivery-buttons { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.sale-delivery-buttons .btn { white-space:normal; min-height:44px; }
#complete-whatsapp { background:#128c4e; border-color:#128c4e; color:white; }
#complete-whatsapp:hover { background:#0c713d; border-color:#0c713d; }
@media(max-width:480px) { .sale-delivery-buttons { grid-template-columns:minmax(0,1fr) auto; } }

#complete-whatsapp { padding:8px 12px; white-space:nowrap; font-size:12px; }
#complete-whatsapp .ui-icon { width:18px; height:18px; }

/* Non-blocking sale validation feedback. */
.sale-feedback { display:flex; align-items:flex-start; gap:10px; padding:12px; margin:0 0 12px; border:1px solid #f3c6c2; border-left:3px solid #d94c43; border-radius:8px; background:#fff5f4; color:#8f302a; text-align:left; }
.sale-feedback[hidden] { display:none!important; }
.sale-feedback-icon { display:grid; place-items:center; flex-shrink:0; width:20px; height:20px; border:1.5px solid currentColor; border-radius:50%; font-size:12px; font-weight:700; }
.sale-feedback-content { flex:1; min-width:0; }
.sale-feedback-content strong { display:block; font-size:12px; margin-bottom:3px; }
.sale-feedback-content p { margin:0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
#dismiss-sale-feedback { padding:0; width:22px; height:22px; background:transparent; color:#8f302a; border:0; border-radius:4px; font-size:21px; line-height:1; }
#dismiss-sale-feedback:hover { background:#f9dfdc; }
#dismiss-sale-feedback:focus-visible { outline:2px solid #d94c43; }
.form-control.sale-field-error { border-color:#d94c43; box-shadow:0 0 0 3px #d94c4314; }
@media print { .sale-feedback { display:none!important; } }

/* Checkout has one scrolling details area and a separate, always-visible payment footer. */
@media screen and (min-width:1001px) and (min-height:560px) {
  body.page-sale { overflow:hidden; }
  .page-sale main.app-content { box-sizing:border-box; height:100dvh; min-height:0; display:flex; flex-direction:column; }
  .sale-workspace { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
  .sale-workspace .pos-layout { flex:1; min-height:0; grid-template-rows:minmax(0,1fr); align-items:stretch; }
  .sale-workspace .pos-catalog { min-height:0; height:100%; overflow:hidden; }
  .sale-workspace .product-list.pos-product-grid { flex:1; min-height:0; max-height:none; overflow-y:auto; }
  .sale-workspace .pos-order-column { min-height:0; height:100%; overflow:hidden; }
  .sale-workspace .pos-order { display:flex; flex-direction:column; height:100%; min-height:0; overflow:hidden; }
  .sale-workspace #sale-form { flex:1; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:0; }
  .sale-workspace .checkout-scroll-area { min-height:0; overflow:auto; overscroll-behavior:contain; padding:0 5px 0 0; scrollbar-gutter:stable; }
  .sale-workspace .order-items { flex:none; min-height:100px; max-height:none; overflow:visible; }
  .sale-workspace .checkout-footer { flex:none; background:#fff; padding-top:6px; border-top:1px solid #e1e7ef; box-shadow:0 -5px 10px #102d4805; }
  .sale-workspace .sale-delivery-buttons { flex-shrink:0; }
  .sale-workspace .order-heading { flex:none; }
  .sale-workspace .sale-feedback { max-height:90px; overflow:auto; }
  html[dir=rtl] .sale-workspace .checkout-scroll-area { padding:0 0 0 5px; }
}