:root { --npei-green:#0f766e; --npei-dark:#16302d; --npei-mint:#dff7ef; --npei-bg:#f5f7f9; }
body { background:var(--npei-bg); color:#1f2937; }
.app-navbar { background:linear-gradient(100deg,var(--npei-dark),var(--npei-green)); }
.brand-mark { display:inline-grid; place-items:center; width:30px; height:30px; background:#fff; color:var(--npei-green); border-radius:9px; }
.app-main { max-width:1600px; }
.page-heading { display:flex; gap:1rem; align-items:center; justify-content:space-between; margin-bottom:1.25rem; }
.card { border-color:#e5e7eb; border-radius:14px; }
.stat-card { overflow:hidden; }
.stat-card .icon { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--npei-mint); color:var(--npei-green); font-size:1.35rem; }
.table thead th { background:#f8fafc; color:#475569; font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.table td { vertical-align:middle; }
.money { font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
.qty { font-variant-numeric:tabular-nums; white-space:nowrap; }
.low-stock td { background:#fff7ed !important; }
.out-of-stock td { background:#fef2f2 !important; color:#991b1b; }
.form-label { font-weight:600; color:#475569; }
.document { max-width:950px; margin:auto; background:#fff; padding:2.5rem; }
.document-title { letter-spacing:.12em; }
.order-row-template { display:none; }
.order-product-groups { display:grid; gap:1rem; margin-bottom:1rem; }
.order-product-group { padding:1rem; border:1px solid #dfe5e8; border-radius:14px; background:#fff; box-shadow:0 2px 8px rgba(15,23,42,.04); }
.order-product-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.order-product-heading>div { display:grid; min-width:0; }
.selected-stock-summary { margin-top:.2rem; overflow-wrap:anywhere; }
.order-product-results { position:absolute; left:0; right:0; top:100%; z-index:1050; max-height:320px; overflow:auto; box-shadow:0 12px 24px rgba(15,23,42,.18); border-radius:0 0 12px 12px; }
.order-product-results:empty { display:none; }
.order-product-results .list-group-item { padding:.85rem; font-size:.9rem; }
.uom-entry-list { display:grid; gap:.55rem; }
.uom-entry-row { display:grid; grid-template-columns:minmax(125px,1.25fr) minmax(170px,1.2fr) minmax(110px,.8fr) minmax(190px,1.15fr) minmax(105px,.75fr); gap:.65rem; align-items:end; padding:.7rem; border:1px solid #e5e7eb; border-radius:10px; background:#f8fafc; }
.uom-entry-label { display:grid; align-self:center; min-width:0; }
.uom-entry-label strong { color:var(--npei-dark); }
.uom-entry-label small { color:#64748b; overflow-wrap:anywhere; }
.uom-field { display:grid; gap:.2rem; }
.uom-field>label,.uom-line-total>span { color:#64748b; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.uom-line-total { display:grid; justify-items:end; align-self:center; }
.uom-line-total strong { font-variant-numeric:tabular-nums; white-space:nowrap; }
.order-product-total { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:.75rem; padding-top:.75rem; border-top:1px solid #e5e7eb; }
.order-product-total>div:last-child { display:flex; align-items:center; gap:.65rem; white-space:nowrap; }
.stock-projection { font-size:.85rem; }
.sticky-summary { position:sticky; top:85px; }
.search-box { max-width:360px; }
.chart-wrap { position:relative; min-height:320px; }
.report-sheet { max-width:1500px; margin:auto; background:#fff; padding:2rem; }
.print-only { display:none; }
.physical-count-print-header { margin-bottom:5mm; text-align:center; }
.physical-count-print-header h1 { margin:0 0 2mm; font-size:18pt; letter-spacing:.06em; }
.physical-count-print-meta { display:grid; grid-template-columns:repeat(2,1fr); gap:2mm 8mm; margin:4mm 0; text-align:left; }
.physical-count-print-header p { margin:0; color:#475569; font-size:8pt; }
.invoice-sheet { position:relative; width:min(100%,215.9mm); min-height:263mm; margin:auto; padding:10mm; background:#fff; display:flex; flex-direction:column; color:#17202a; border-radius:4px; }
.invoice-void-watermark { position:absolute; z-index:2; top:42%; left:17%; color:rgba(185,28,28,.18); font-size:84px; font-weight:900; letter-spacing:.18em; transform:rotate(-28deg); pointer-events:none; }
.invoice-print-header { display:flex; justify-content:space-between; align-items:center; gap:8mm; padding-bottom:4mm; margin-bottom:4mm; border-bottom:2px solid var(--npei-dark); }
.invoice-brand { display:flex; gap:4mm; align-items:center; min-width:0; }
.invoice-logo { width:25mm; height:19mm; object-fit:contain; }
.invoice-logo-fallback { width:23mm; height:17mm; display:grid; place-items:center; background:#f4d000; color:#111; font-weight:900; font-size:18px; transform:skew(-4deg); }
.invoice-company-name { font-weight:900; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.invoice-company-details { font-size:7.5px; line-height:1.35; color:#52606d; }
.invoice-title-block { text-align:right; flex:0 0 auto; }
.invoice-document-title { margin:0; color:var(--npei-dark); font-size:24px; font-weight:900; letter-spacing:.04em; white-space:nowrap; }
.invoice-title-block span { display:inline-block; margin-top:1mm; padding:1mm 3mm; color:#fff; background:var(--npei-green); border-radius:20px; font-size:8px; font-weight:800; letter-spacing:.05em; }
.invoice-info-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:12mm; padding:4mm; margin-bottom:4mm; background:#f5f8f7; border:1px solid #d9e4e1; border-radius:3mm; font-size:8.5px; }
.invoice-info-column { display:grid; gap:1.8mm; }
.invoice-field { display:grid; grid-template-columns:22mm 1fr; align-items:end; min-width:0; }
.invoice-field span { color:#60706c; font-size:7px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.invoice-field strong { border-bottom:1px solid #9aaba6; min-height:4mm; overflow-wrap:anywhere; }
.invoice-items-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:8px; }
.invoice-items-table th { padding:2mm 1mm; color:#fff; background:var(--npei-dark); text-align:center; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.invoice-items-table td { padding:1.4mm 1mm; border-bottom:1px solid #e4eae8; vertical-align:middle; overflow-wrap:anywhere; }
.invoice-items-table tbody tr:nth-child(even) { background:#f3f6f5; }
.invoice-items-table th:nth-child(1) { width:13%; }
.invoice-items-table th:nth-child(2) { width:23%; text-align:left; }
.invoice-items-table th:nth-child(3) { width:16%; text-align:left; }
.invoice-items-table th:nth-child(4) { width:8%; }
.invoice-items-table th:nth-child(5) { width:7%; }
.invoice-items-table th:nth-child(6) { width:10%; }
.invoice-items-table th:nth-child(7) { width:11%; }
.invoice-items-table th:nth-child(8) { width:12%; }
.invoice-items-table td:nth-child(2) { font-weight:600; }
.invoice-items-table .number { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.invoice-blank-row { height:7mm; }
.invoice-print-footer { margin-top:auto; padding-top:4mm; border-top:2px solid var(--npei-dark); display:grid; grid-template-columns:1fr 1fr; gap:18mm; align-items:end; }
.invoice-signatures { display:grid; gap:13mm; padding-top:4mm; font-size:8px; font-style:italic; text-align:center; }
.signature-line { border-top:1px solid #52606d; padding-top:1mm; width:75%; }
.invoice-totals { display:grid; gap:1.5mm; font-size:8.5px; }
.invoice-totals>div { display:grid; grid-template-columns:1fr 36mm; gap:3mm; align-items:end; }
.invoice-totals span { color:#52606d; text-align:right; }
.invoice-totals strong { border-bottom:1px solid #9aaba6; text-align:right; padding-right:1mm; }
.invoice-grand-total { margin-top:1mm; padding-top:2mm; border-top:2px solid var(--npei-green); font-size:10px; font-weight:900; }
.invoice-grand-total span { color:var(--npei-dark); }
.price-list-sheet { width:min(100%,215.9mm); min-height:263mm; margin:auto; padding:10mm; background:#fff; color:#17202a; border-radius:4px; }
.price-list-header { display:flex; justify-content:space-between; gap:8mm; align-items:center; padding-bottom:4mm; border-bottom:2px solid var(--npei-dark); }
.price-list-brand { display:flex; align-items:center; gap:4mm; }
.price-list-brand img { width:23mm; height:18mm; object-fit:contain; }
.price-list-brand h2 { margin:0; font-size:12px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.price-list-brand p { margin:0; color:#52606d; font-size:7.5px; line-height:1.35; }
.price-list-title { display:flex; flex-direction:column; text-align:right; }
.price-list-title strong { color:var(--npei-dark); font-size:20px; letter-spacing:.04em; }
.price-list-title span { color:#60706c; font-size:8px; }
.price-list-customer { display:flex; justify-content:space-between; gap:8mm; align-items:center; margin:4mm 0; padding:3mm 4mm; background:#f5f8f7; border:1px solid #d9e4e1; border-radius:3mm; }
.price-list-customer>div:first-child { display:grid; }
.price-list-customer span { color:#60706c; font-size:7px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.price-list-customer strong { font-size:12px; }
.price-list-customer small { color:#60706c; font-size:7.5px; }
.price-list-note { color:#35554e; font-size:8px; text-align:right; }
.price-list-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:8.5px; }
.price-list-table th { padding:2mm 1.5mm; color:#fff; background:var(--npei-dark); text-align:left; text-transform:uppercase; letter-spacing:.03em; }
.price-list-table td { padding:1.7mm 1.5mm; border-bottom:1px solid #dfe7e5; }
.price-list-table tbody tr:nth-child(even) { background:#f3f6f5; }
.price-list-table th:nth-child(1) { width:15%; }
.price-list-table th:nth-child(2) { width:30%; }
.price-list-table th:nth-child(3) { width:18%; }
.price-list-table th:nth-child(4) { width:13%; }
.price-list-table th:nth-child(5),.price-list-table th:nth-child(6) { width:12%; text-align:right; }
.price-list-table .number { text-align:right; font-variant-numeric:tabular-nums; font-weight:700; white-space:nowrap; }
.price-list-table .empty-row { padding:12mm; color:#60706c; text-align:center; }
.price-list-footer { display:flex; justify-content:space-between; gap:8mm; margin-top:5mm; padding-top:3mm; border-top:1px solid #9aaba6; color:#60706c; font-size:7.5px; }
.salesman-shell { max-width:820px; margin:0 auto; }
.salesman-welcome { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.salesman-month-filter { max-width:420px; margin-bottom:1rem; }
.salesman-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.85rem; margin-bottom:1rem; }
.salesman-stat-card { display:flex; align-items:center; gap:.8rem; padding:1rem; background:#fff; border:1px solid #e5e7eb; border-radius:16px; min-width:0; }
.salesman-stat-card>div:last-child { display:flex; flex-direction:column; min-width:0; }
.salesman-stat-card span,.salesman-stat-card small { color:#64748b; }
.salesman-stat-card strong { font-size:1.28rem; line-height:1.3; overflow-wrap:anywhere; }
.salesman-stat-icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--npei-mint); color:var(--npei-green); font-size:1.2rem; }
.salesman-stat-primary { color:#fff; background:linear-gradient(135deg,var(--npei-dark),var(--npei-green)); border:0; }
.salesman-stat-primary span,.salesman-stat-primary small { color:#d8f7ef; }
.salesman-stat-primary .salesman-stat-icon { background:rgba(255,255,255,.16); color:#fff; }
.salesman-trend-card { overflow:hidden; }
.salesman-bars { display:grid; gap:.7rem; }
.salesman-bar-row { display:grid; grid-template-columns:32px 1fr minmax(90px,auto); gap:.65rem; align-items:center; font-size:.82rem; }
.salesman-bar-track { height:9px; background:#e8eef0; border-radius:20px; overflow:hidden; }
.salesman-bar-fill { height:100%; border-radius:20px; background:linear-gradient(90deg,var(--npei-green),#22c55e); }
.salesman-bar-row strong { text-align:right; font-size:.78rem; }
.salesman-booking-list { display:grid; gap:.75rem; }
.salesman-booking-card { display:block; padding:1rem; color:inherit; text-decoration:none; background:#fff; border:1px solid #e5e7eb; border-radius:16px; box-shadow:0 2px 8px rgba(15,23,42,.04); }
.salesman-booking-card:active { transform:scale(.99); }
.salesman-booking-top,.salesman-booking-bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.salesman-booking-top>div { display:flex; flex-direction:column; min-width:0; }
.salesman-booking-top strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.salesman-booking-top span,.salesman-booking-bottom span { color:#64748b; font-size:.82rem; }
.salesman-booking-bottom { border-top:1px solid #edf1f3; margin-top:.8rem; padding-top:.8rem; }
.salesman-note-preview { margin-top:.65rem; color:#64748b; font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mobile-order-items { display:grid; gap:1rem; }
.mobile-order-item { padding:1rem; background:#fff; border:1px solid #dfe5e8; border-radius:16px; box-shadow:0 3px 10px rgba(15,23,42,.04); }
.mobile-search-wrap { position:relative; }
.mobile-product-results,.customer-search-results { position:absolute; left:0; right:0; top:100%; z-index:1050; max-height:300px; overflow:auto; box-shadow:0 12px 24px rgba(15,23,42,.18); border-radius:0 0 12px 12px; }
.mobile-product-results:empty,.customer-search-results:empty { display:none; }
.mobile-product-results .list-group-item,.customer-search-results .list-group-item { padding:.85rem; font-size:.9rem; }
.mobile-line-total { display:flex; justify-content:space-between; align-items:center; margin-top:1rem; padding-top:.8rem; border-top:1px solid #e5e7eb; }
.mobile-line-total strong { font-size:1.12rem; }
.mobile-add-item { min-height:54px; margin:1rem 0; border-style:dashed; }
.salesman-submit-panel { position:sticky; bottom:1rem; z-index:1020; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem; color:#fff; background:rgba(22,48,45,.96); border-radius:16px; box-shadow:0 12px 30px rgba(15,23,42,.25); backdrop-filter:blur(8px); }
.salesman-submit-panel>div { display:flex; flex-direction:column; min-width:0; }
.salesman-submit-panel span { font-size:.75rem; color:#d9eeea; }
.salesman-submit-panel strong { font-size:1.3rem; overflow-wrap:anywhere; }
.salesman-booking-hero { padding:1.2rem; margin-bottom:1rem; color:#fff; border-radius:18px; background:linear-gradient(135deg,var(--npei-dark),var(--npei-green)); }
.salesman-booking-hero small,.salesman-booking-hero span { color:#d8f7ef; }
.salesman-booking-total { display:flex; justify-content:space-between; align-items:end; margin-top:1.25rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.2); }
.salesman-booking-total strong { font-size:1.75rem; }
.salesman-remarks { border-left:4px solid var(--npei-green); }
.salesman-item-list { display:grid; gap:.7rem; }
.salesman-item-card { display:flex; justify-content:space-between; gap:1rem; padding:1rem; background:#fff; border:1px solid #e5e7eb; border-radius:14px; }
.salesman-item-card>div { display:flex; flex-direction:column; }
.salesman-item-card>div:last-child { text-align:right; flex:0 0 auto; }
.salesman-item-card span,.salesman-item-card small { color:#64748b; font-size:.8rem; }
.salesman-bottom-nav { display:none; }
.adjustment-product-results { max-height:22rem; overflow:auto; }
.adjustment-product-results:empty { display:none; }
.payslip-sheet { max-width:850px; margin:0 auto; padding:2rem; background:#fff; }
.payslip-net { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.25rem; color:#fff; background:var(--npei-dark); border-radius:.75rem; font-size:1.2rem; }
.storefront-mode .app-main,.customer-mode .app-main { max-width:1320px; margin:0 auto; }
.public-navbar .container-xl { min-height:48px; }
.storefront-hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; min-height:280px; padding:3rem clamp(1.5rem,5vw,4.5rem); color:#fff; border-radius:24px; background:linear-gradient(125deg,var(--npei-dark),var(--npei-green)); box-shadow:0 18px 45px rgba(13,58,52,.18); }
.storefront-hero>div { position:relative; z-index:1; max-width:720px; }
.storefront-kicker { display:inline-block; margin-bottom:.65rem; color:#b8f1e5; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.storefront-hero h1 { margin-bottom:.8rem; font-size:clamp(2rem,5vw,3.5rem); font-weight:800; letter-spacing:-.04em; }
.storefront-hero p { max-width:650px; color:#d9f4ee; font-size:1.05rem; }
.storefront-hero-icon { position:absolute; right:5%; color:rgba(255,255,255,.09); font-size:13rem; transform:rotate(-8deg); }
.storefront-filter { margin-top:-24px; margin-inline:clamp(.75rem,4vw,3rem); border:0; border-radius:18px; box-shadow:0 12px 30px rgba(15,23,42,.12); }
.storefront-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.storefront-product-card { overflow:hidden; display:flex; min-width:0; background:#fff; border:1px solid #e2e8f0; border-radius:18px; transition:transform .18s ease,box-shadow .18s ease; }
.storefront-product-card:hover { transform:translateY(-2px); box-shadow:0 12px 25px rgba(15,23,42,.09); }
.storefront-product-icon { flex:0 0 62px; display:grid; place-items:center; align-self:stretch; color:var(--npei-green); background:#e8f6f2; font-size:1.5rem; font-weight:800; }
.storefront-product-body { flex:1; min-width:0; padding:1rem; }
.storefront-product-body h3 { margin:.75rem 0 .25rem; font-size:1rem; font-weight:750; }
.storefront-size { min-height:1.25rem; margin-bottom:.85rem; color:#64748b; font-size:.82rem; }
.storefront-prices { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.storefront-prices>div { min-width:0; padding:.55rem; background:#f8fafc; border-radius:10px; }
.storefront-prices small,.storefront-prices strong { display:block; overflow-wrap:anywhere; }
.storefront-prices small { color:#64748b; font-size:.68rem; text-transform:uppercase; }
.storefront-prices strong { margin-top:.1rem; font-size:.92rem; }
.storefront-stock { margin-top:.8rem; font-size:.8rem; font-weight:700; }
.storefront-empty { grid-column:1/-1; border:0; }
.customer-auth-shell { display:grid; grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr); gap:3rem; align-items:center; max-width:1100px; min-height:calc(100vh - 180px); margin:0 auto; }
.customer-auth-copy { padding:2rem; }
.customer-auth-copy h1 { font-size:clamp(2rem,4vw,3rem); font-weight:800; letter-spacing:-.035em; }
.customer-auth-copy li { margin:.65rem 0; }
.customer-portal-shell,.customer-order-shell { max-width:980px; margin:0 auto; }
.customer-portal-welcome { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:2rem; color:#fff; background:linear-gradient(135deg,var(--npei-dark),var(--npei-green)); border-radius:20px; }
.customer-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1rem; }
.customer-stat-card { display:flex; flex-direction:column; padding:1rem 1.15rem; background:#fff; border:1px solid #e2e8f0; border-radius:14px; }
.customer-stat-card span { color:#64748b; font-size:.78rem; }
.customer-stat-card strong { margin-top:.25rem; font-size:1.2rem; }
.customer-order-list { display:grid; gap:.7rem; }
.customer-order-card { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.15rem; color:inherit; text-decoration:none; background:#fff; border:1px solid #e2e8f0; border-radius:14px; }
.customer-order-card:hover { border-color:var(--npei-green); box-shadow:0 5px 15px rgba(15,23,42,.06); }
.customer-order-card>div { display:flex; flex-direction:column; gap:.3rem; }
.customer-order-card span { color:#64748b; font-size:.8rem; }
.customer-avatar { flex:0 0 48px; width:48px; height:48px; display:grid; place-items:center; color:#fff; background:var(--npei-green); border-radius:50%; font-size:1.2rem; font-weight:800; }
@media (max-width:767px) { .page-heading { align-items:flex-start; flex-direction:column; } .document { padding:1.2rem; } }
@media (max-width:767px) {
  .storefront-mode .app-main,.customer-mode .app-main { padding:1rem .75rem 2rem !important; }
  .storefront-hero { min-height:0; padding:2rem 1.25rem; border-radius:18px; }
  .storefront-hero-icon { display:none; }
  .storefront-filter { margin:-12px .5rem 0; }
  .storefront-grid { grid-template-columns:1fr; }
  .storefront-product-card { min-height:150px; }
  .customer-auth-shell { display:block; min-height:0; }
  .customer-auth-copy { padding:1rem .25rem 1.5rem; }
  .customer-auth-shell .card-footer { align-items:stretch !important; flex-direction:column-reverse; text-align:center; }
  .customer-portal-welcome { align-items:stretch; flex-direction:column; padding:1.25rem; }
  .customer-stat-grid { grid-template-columns:1fr 1fr; }
  .customer-order-card { align-items:flex-start; }
  .customer-mode .salesman-submit-panel { bottom:1rem; }
  .salesman-mode .app-main { padding:1rem .75rem 7rem !important; }
  .salesman-mode footer { display:none; }
  .salesman-mode .navbar-brand { max-width:calc(100vw - 75px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.92rem; }
  .salesman-bottom-nav { position:fixed; left:0; right:0; bottom:0; z-index:1040; display:grid; grid-template-columns:1fr 1.25fr 1fr; align-items:end; padding:.45rem max(.6rem,env(safe-area-inset-left)) calc(.45rem + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #dfe5e8; box-shadow:0 -8px 20px rgba(15,23,42,.1); }
  .salesman-bottom-nav a { display:flex; flex-direction:column; align-items:center; gap:.1rem; color:#64748b; text-decoration:none; font-size:.68rem; }
  .salesman-bottom-nav i { font-size:1.25rem; }
  .salesman-bottom-nav .salesman-new-booking { color:var(--npei-green); font-weight:700; }
  .salesman-bottom-nav .salesman-new-booking i { width:42px; height:42px; margin-top:-22px; display:grid; place-items:center; color:#fff; background:var(--npei-green); border:4px solid #fff; border-radius:50%; box-sizing:content-box; box-shadow:0 5px 14px rgba(15,118,110,.3); }
  .salesman-welcome { align-items:flex-start; }
  .salesman-primary-action { padding:.65rem .8rem; font-size:.88rem; white-space:nowrap; }
  .salesman-month-filter { max-width:none; }
  .salesman-stat-grid { grid-template-columns:1fr 1fr; }
  .salesman-stat-primary { grid-column:1/-1; }
  .salesman-stat-card { padding:.85rem; align-items:flex-start; }
  .salesman-stat-card:not(.salesman-stat-primary) { flex-direction:column; gap:.5rem; }
  .salesman-stat-card strong { font-size:1.15rem; }
  .salesman-bar-row { grid-template-columns:28px 1fr 82px; gap:.45rem; }
  .salesman-submit-panel { bottom:4.7rem; }
  .salesman-submit-panel .btn { padding:.7rem .8rem; font-size:.88rem; white-space:nowrap; }
  .salesman-submit-panel strong { font-size:1.08rem; }
  .salesman-booking-page .form-control-lg,.salesman-booking-page .form-select-lg { min-height:52px; font-size:1rem; }
  .salesman-item-card { padding:.85rem; }
  .uom-entry-row { grid-template-columns:1fr 1fr; padding:.8rem; }
  .uom-entry-label { grid-column:1/-1; padding-bottom:.35rem; border-bottom:1px solid #e5e7eb; }
  .uom-line-total { justify-items:start; }
  .order-product-total { align-items:flex-start; flex-direction:column; }
  .order-product-total>div:last-child { align-self:stretch; justify-content:space-between; }
}
@media (min-width:768px) and (max-width:1099px) { .storefront-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:768px) and (max-width:1199px) {
  .uom-entry-row { grid-template-columns:minmax(130px,1fr) minmax(170px,1.2fr) 1fr 1fr; }
  .uom-line-total { grid-column:4; }
}
@media print {
  body { background:#fff; font-size:9pt; }
  .no-print, nav, .btn { display:none !important; }
  .print-only { display:block !important; }
  .blind-print-hide { display:none !important; }
  .app-main { padding:0 !important; }
  .document,.report-sheet { box-shadow:none !important; max-width:none; padding:0; }
  .invoice-sheet,.price-list-sheet { box-shadow:none !important; width:auto; padding:0; border-radius:0; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .invoice-sheet { display:block; min-height:auto; }
  .invoice-company-name { font-size:11pt; }
  .invoice-company-details { font-size:7.5pt; }
  .invoice-document-title { font-size:19pt; }
  .invoice-title-block span { font-size:8pt; }
  .invoice-info-grid { font-size:9pt; }
  .invoice-field span { font-size:7.5pt; }
  .invoice-items-table { font-size:8.5pt; }
  .invoice-items-table th { font-size:8pt; }
  .invoice-signatures,.invoice-totals { font-size:9pt; }
  .invoice-grand-total { font-size:11pt; }
  .price-list-sheet { min-height:257mm; }
  .invoice-blank-row { display:none; }
  .invoice-items-table tr { break-inside:avoid; page-break-inside:avoid; }
  .invoice-print-footer { display:grid !important; margin-top:8mm; break-inside:avoid; page-break-inside:avoid; }
  .price-list-footer { display:flex !important; }
  .invoice-totals { break-inside:avoid; page-break-inside:avoid; }
  .table { font-size:8pt; }
  .card { border:0; }
  @page { margin:8mm; }
  @page invoice { size:Letter portrait; margin:8mm; }
  @page price-list { size:Letter portrait; margin:8mm; }
  @page report { size:A4 landscape; margin:8mm; }
  .invoice-sheet { page:invoice; }
  .price-list-sheet { page:price-list; }
  .invoice-items-table thead,.price-list-table thead { display:table-header-group; }
  .report-sheet { page:report; }
  .physical-count-sheet { border:0; box-shadow:none !important; }
  .physical-count-sheet .table-responsive { overflow:visible; }
  .physical-count-sheet .physical-qty { min-width:24mm; padding:0; border:0; border-bottom:1px solid #111; border-radius:0; background:transparent; color:#111; }
  .physical-count-sheet .physical-qty::placeholder { color:transparent; }
  .payslip-sheet { max-width:none; padding:0; box-shadow:none !important; }
  .payslip-net { color:#000; background:#fff; border:2px solid #111; }
}

.availability-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#123d36;color:#fff;padding:3.5rem;border-radius:24px;margin-bottom:1.5rem}.availability-hero h1,.login-story h1{font-size:clamp(2rem,4vw,3.7rem);font-weight:800;letter-spacing:-.04em;margin:1rem 0}.eyebrow{font-size:.72rem;letter-spacing:.15em;color:#d4e7a5;font-weight:700}.availability-hero p{color:#c8ded5}.package-art{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#d4e7a5}.package-art i{font-size:7rem}.availability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.availability-card{border-radius:16px;padding:1.5rem}.availability-pill{font-size:.85rem;font-weight:700}.in-stock{color:#147553}.out-stock{color:#8a5942}.login-shell{display:grid;grid-template-columns:1.1fr 1fr;max-width:1080px;margin:2rem auto;background:white;border-radius:28px;overflow:hidden;box-shadow:0 20px 65px #173d3614}.login-story{background:linear-gradient(140deg,#123d36,#217c62);color:white;padding:3.5rem;position:relative;overflow:hidden}.login-story p{color:#d3eadf;font-size:1.1rem}.login-art{display:flex;gap:2rem;align-items:center;min-height:140px;color:#d4e7a5}.login-art i:first-child{font-size:5rem;transform:rotate(-12deg)}.login-art i{font-size:2.5rem}.login-story-footer{display:flex;align-items:center;gap:1rem;margin-top:2rem;font-size:.8rem}.login-panel{padding:4rem 3rem;align-self:center}.login-panel h2{font-size:2.2rem;font-weight:750}.login-greeting{font-size:.72rem;letter-spacing:.16em;color:#548475;font-weight:750}.worksheet input[type=number]{min-width:100px}.attendance-table input{min-width:75px}.attendance-table .notes-input{min-width:140px}.dashboard-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.dashboard-widgets .metric-widget{min-height:150px}.dashboard-widgets .metric-value{font-size:2.2rem;font-weight:750;color:#12614e}.widget-chart{height:280px}.storefront-mode .navbar-brand{font-size:1rem;white-space:normal;max-width:80%}@media(max-width:1000px){.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-story{padding:2rem}.login-panel{padding:2rem}}@media(max-width:600px){.availability-grid,.dashboard-widgets,.login-shell{grid-template-columns:1fr}.availability-hero{padding:2rem 1.25rem}.package-art{display:none}.login-shell{margin:0}.login-story{padding:1.75rem}.login-art,.login-story-footer{display:none}.login-panel{padding:2rem 1.5rem}}

@media print{.availability-hero,.availability-search,.attendance-table~.card-footer,.login-shell{box-shadow:none}.attendance-table input,.attendance-table select{border:0;appearance:none}.dashboard-widgets{display:block}.dashboard-widgets section{break-inside:avoid;margin-bottom:12px}.widget-chart{height:65mm}}
.app-navbar .dropdown-menu{max-height:75vh;overflow-y:auto}
