:root {
  --ink: #172720;
  --muted: #718078;
  --green: #167653;
  --green-dark: #105c40;
  --mint: #e8f4ed;
  --line: #e4ebe6;
  --paper: #f5f8f6;
  --shadow: 0 12px 34px rgba(25, 48, 35, .055);
}

html { min-height: 100%; }
body { min-height: 100vh; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease; }
button, input, select { font: inherit; }
:focus-visible { outline: 3px solid rgba(38, 139, 93, .35); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.sidebar { width: 254px; padding: 24px 16px 15px; background: #fff; border-right-color: #e7ede9; box-shadow: 4px 0 24px rgba(29, 50, 38, .025); }
.brand { gap: 11px; padding: 0 10px 30px; font-size: 19px; letter-spacing: -.55px; }
.brand-mark { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(145deg, #259269, #126747); font-size: 17px; box-shadow: 0 5px 12px rgba(22,118,83,.18); }
.nav-label { padding: 0 12px 9px; color: #a0aaa4; font-size: 9px; letter-spacing: 1.4px; }
.sidebar-nav { display: grid; gap: 4px; }
.sidebar-link { min-height: 42px; display: flex; align-items: center; gap: 12px; padding: 0 11px; color: #637169; text-decoration: none; border-radius: 9px; font-size: 12px; font-weight: 550; }
.sidebar-link:hover { color: var(--green); background: #f4f8f5; }
.sidebar-link.is-active { color: #126b49; background: #eaf5ee; font-weight: 700; }
.nav-icon { flex: 0 0 21px; width: 21px; text-align: center; font-size: 17px; color: #8a9b91; }
.sidebar-link.is-active .nav-icon { color: var(--green); }
.side-bottom { padding: 14px 7px 0; border-color: #edf1ee; }
.side-bottom b { max-width: 132px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar { background: #e5f3ea; }
.main { max-width: 1720px; margin-left: 254px; padding: 0 42px 64px; }
.topbar { height: 88px; margin-bottom: 28px; border-color: #e6ece8; }
.topbar small { color: #8a9890; font-size: 9px; }
h1 { font-size: 24px; letter-spacing: -.7px; }
h2 { font-size: 20px; }
.top-actions { gap: 12px; }
.top-actions select { min-height: 38px; max-width: 240px; border-color: #e1e9e3; border-radius: 9px; font-size: 12px; box-shadow: 0 2px 6px rgba(25,48,35,.025); }
.status-pill { padding: 8px 12px; color: #65766c; border-color: #e5ece7; font-size: 10px; }
.status-pill i { background: #38a66d; box-shadow: 0 0 0 3px #e5f5ea; margin: 0 8px 0 1px; }

.welcome { position: relative; overflow: hidden; min-height: 148px; padding: 27px 31px; border: 1px solid #dcebe1; border-radius: 16px; background: linear-gradient(115deg, #edf7f0 0%, #e8f3ec 58%, #deeee4 100%); box-shadow: var(--shadow); }
.welcome::after { content: ""; position: absolute; width: 230px; height: 230px; right: 7%; top: -140px; border: 1px solid rgba(41,126,83,.12); border-radius: 50%; box-shadow: 0 0 0 25px rgba(255,255,255,.13), 0 0 0 54px rgba(255,255,255,.1); pointer-events: none; }
.welcome h2 { color: #214d37; letter-spacing: -.6px; }
.welcome p { max-width: 560px; line-height: 1.65; }
.welcome-mark { position: relative; z-index: 1; color: #74a687; }
.metric-grid { gap: 16px; margin: 20px 0 32px; }
.metric-card, .panel, .shop-card, .step-card { border-color: #e6ece8; border-radius: 13px; box-shadow: var(--shadow); }
.metric-card { position: relative; min-height: 132px; padding: 20px 21px; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; width: 64px; height: 64px; top: -25px; right: -20px; border-radius: 50%; background: #f4f8f5; }
.metric-label { position: relative; z-index: 1; color: #6c7b72; font-size: 11px; }
.metric-label span { padding: 4px 7px; border-radius: 6px; background: #eff7f1; font-size: 10px; }
.metric-card strong { margin: 13px 0 4px; font-size: 28px; letter-spacing: -.9px; }
.metric-card small { color: #89968e; font-size: 11px; }
.section-heading { margin: 32px 0 15px; }
.section-heading h2 { letter-spacing: -.55px; }
.shop-grid, .steps-grid { gap: 14px; }
.shop-card { min-height: 75px; padding: 16px; }
.shop-card:hover, .step-card:hover { transform: translateY(-2px); border-color: #d1e4d7; box-shadow: 0 15px 34px rgba(25,48,35,.08); }
.shop-icon { width: 40px; height: 40px; border-radius: 11px; }
.shop-card h3 { font-size: 13px; }
.shop-card small { font-size: 10px; }
.step-card { padding: 18px 19px; }
.step-card>span { letter-spacing: .15px; }
.step-card p { color: #77867d; line-height: 1.65; }

.button { min-height: 38px; padding: 10px 15px; border-radius: 9px; font-size: 11px; box-shadow: none; }
.button.primary { background: linear-gradient(135deg, #1d865d, #146d4b); box-shadow: 0 5px 12px rgba(22,118,83,.13); }
.button.primary:hover { transform: translateY(-1px); background: var(--green-dark); box-shadow: 0 7px 16px rgba(22,118,83,.2); }
.button.secondary { border-color: #e3eae5; color: #526258; }
.button.secondary:hover { border-color: #cbded1; color: var(--green); background: #f8fbf8; }
.panel { padding: 21px; }
.panel-head { margin-bottom: 17px; }
.panel-head h3 { font-size: 15px; letter-spacing: -.2px; }
.two-col, .pos-layout { gap: 17px; }
.stack { gap: 15px; }
.stack label, .filters label { color: #4e5f54; font-size: 11px; }
.stack input, .stack select, .filters input, .search { min-height: 40px; border-color: #e0e8e2; border-radius: 8px; font-size: 12px; }
.stack input::placeholder, .filters input::placeholder { color: #a7b1ab; }
.stack input:focus, .stack select:focus, .filters input:focus, .search:focus { border-color: #72af8b; box-shadow: 0 0 0 3px rgba(36,123,93,.1); }
.list-row { padding: 14px 2px; border-color: #edf1ee; }
.tag, .count-badge { padding: 5px 9px; font-weight: 650; }
.table-scroll { border: 1px solid #eaf0eb; border-radius: 9px; }
.table-scroll table { border: 0; }
th { padding: 12px 11px; color: #85948a; background: #f7faf8; letter-spacing: .8px; }
td { padding: 12px 11px; font-size: 11px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfdfb; }
td b { font-size: 11px; }
.pos-product { min-height: 132px; padding: 14px; border-radius: 10px; }
.pos-product:hover { border-color: #91bda1; box-shadow: 0 8px 19px rgba(25,48,35,.07); }
.product-glyph { border-radius: 8px; }
.cart-panel { border-color: #dce8df; }
.cart-total { border-color: #e8eeea; }
.payment-balance { margin: -5px 0 0; color: #5f7166; font-size: 11px; font-weight: 650; }
.payment-balance.has-error { color: #a24335; }
.pos-product:disabled { cursor: not-allowed; opacity: .55; transform: none; box-shadow: none; }
.button:disabled, button:disabled { cursor: not-allowed; opacity: .55; transform: none; box-shadow: none; }
.customer-create { display: grid; grid-template-columns: minmax(180px,.55fr) minmax(0,1.45fr); gap: 18px; align-items: center; }
.customer-create h3 { margin-bottom: 5px; }
.customer-create p { margin: 0; font-size: 11px; line-height: 1.55; }
.customer-create-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: 10px; align-items: end; }
.customer-create-form label { display: flex; flex-direction: column; gap: 6px; color: #4e5f54; font-size: 10px; font-weight: 650; }
.customer-create-form input, .inline-form select { min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid #e0e8e2; border-radius: 8px; background: #fff; color: var(--ink); font-size: 12px; }
.inline-form input[type=number] { width: 100px; }
.inline-form select { min-height: 32px; padding: 5px 7px; font-size: 10px; }
.receipt-actions { max-width: 780px; display: flex; justify-content: space-between; gap: 10px; margin: 0 auto 14px; }
.receipt-link { color: var(--green); font-size: 10px; font-weight: 700; text-decoration: none; }
.receipt-link:hover { text-decoration: underline; }
.receipt-page { max-width: 780px; margin: 0 auto; padding: 38px 42px; border: 1px solid #e4ebe6; border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.receipt-header { padding-bottom: 20px; border-bottom: 1px dashed #dce6df; text-align: center; }
.receipt-brand-mark { width: 38px; height: 38px; display: grid; place-items: center; margin: 0 auto 10px; border-radius: 12px; color: white; background: linear-gradient(145deg,#259269,#126747); font-size: 19px; }
.receipt-header h2 { margin: 0 0 6px; font-size: 22px; }
.receipt-header p { margin: 2px 0; color: #728178; font-size: 11px; }
.receipt-label { display: inline-block; margin-top: 13px; color: #75857b; font-size: 9px; font-weight: 750; letter-spacing: 1.5px; }
.receipt-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; padding: 20px 0; }
.receipt-meta span, .receipt-meta b { display: block; }
.receipt-meta span { margin-bottom: 4px; color: #85938a; font-size: 9px; text-transform: uppercase; letter-spacing: .6px; }
.receipt-meta b { font-size: 11px; }
.receipt-lines { border: 0; border-radius: 0; border-top: 1px solid #e8eeea; }
.receipt-lines th { padding: 10px 7px; }
.receipt-lines td { padding: 10px 7px; font-size: 11px; white-space: normal; }
.receipt-lines th:not(:first-child), .receipt-lines td:not(:first-child) { text-align: right; }
.receipt-returned { display: block; margin-top: 3px; color: #a05b4c; font-size: 9px; }
.receipt-totals { max-width: 310px; margin: 19px 0 0 auto; }
.receipt-totals div, .receipt-payments>div { display: flex; justify-content: space-between; gap: 18px; padding: 6px 0; font-size: 11px; }
.receipt-totals dt { color: #6d7a72; }
.receipt-totals dd { margin: 0; text-align: right; font-weight: 650; }
.receipt-grand-total { margin-top: 5px; padding-top: 10px !important; border-top: 1px solid #e5ece7; font-size: 14px !important; font-weight: 750; }
.receipt-grand-total dt, .receipt-grand-total dd, .receipt-balance dt, .receipt-balance dd { color: var(--ink); }
.receipt-balance { margin-top: 4px; padding-top: 9px !important; border-top: 1px dashed #dce6df; font-weight: 750; }
.receipt-payments { margin-top: 22px; padding-top: 14px; border-top: 1px dashed #dce6df; }
.receipt-payments h3 { margin-bottom: 7px; font-size: 12px; }
.receipt-payments>div { padding: 4px 0; color: #718078; font-size: 10px; }
.receipt-payments b { color: var(--ink); }
.receipt-footer { display: flex; flex-direction: column; gap: 5px; margin-top: 30px; padding-top: 16px; border-top: 1px dashed #dce6df; text-align: center; }
.receipt-footer b { font-size: 12px; }
.receipt-footer span { color: #85938a; font-size: 10px; }
.notice { border-color: #e1ebe4; border-radius: 11px; background: #f1f7f3; }
.empty-state { padding: 62px 20px; border: 1px dashed #dce7df; border-radius: 14px; background: rgba(255,255,255,.58); }
.empty-icon { width: 50px; height: 50px; border-radius: 14px; }
.flash { border: 1px solid transparent; border-radius: 10px; }
.flash.success { border-color: #d7ebdd; }
.flash.error { border-color: #f1d7d1; }
.auth-wrap { background: radial-gradient(ellipse at 50% 0%, #e8f3ec 0, transparent 44%), #f5f8f6; }
.auth-card { border-color: #e3ebe5; border-radius: 16px; box-shadow: 0 20px 55px rgba(31,59,42,.09); }
.auth-brand { display: flex; align-items: center; gap: 10px; color: var(--ink); letter-spacing: -.5px; }
.auth-card h2 { letter-spacing: -.55px; }
.inline-form input[type=number] { min-height: 34px; border-color: #e1e9e3; }
.mini-action { min-height: 30px; }
.team-member { padding: 0 0 11px; border-bottom: 1px solid #edf1ee; }
.team-member:last-of-type { border-bottom: 0; }
.permission-editor { padding: 0 0 0 43px; }
.permission-editor summary { width: fit-content; color: #377759; cursor: pointer; font-size: 10px; font-weight: 700; list-style-position: inside; }
.permission-editor[open] summary { margin-bottom: 10px; }
.permission-editor form { padding-top: 3px; }

@media (max-width: 1100px) {
  .sidebar { width: 220px; }
  .main { margin-left: 220px; padding-right: 26px; padding-left: 26px; }
  .metric-grid { gap: 12px; }
}
@media (max-width: 760px) {
  body { padding-bottom: 72px; }
  .sidebar { inset: auto 0 0; z-index: 20; width: 100%; height: 68px; padding: 0 7px env(safe-area-inset-bottom); flex-direction: row; align-items: stretch; border: 0; border-top: 1px solid #e3ebe5; box-shadow: 0 -6px 22px rgba(28,49,37,.07); }
  .brand, .nav-label, .side-bottom { display: none; }
  .sidebar-nav { width: 100%; display: flex; align-items: stretch; gap: 1px; overflow-x: auto; scrollbar-width: none; }
  .sidebar-nav::-webkit-scrollbar { display: none; }
  .sidebar-link { min-width: 58px; min-height: 58px; flex: 1 0 58px; padding: 7px 4px 5px; flex-direction: column; justify-content: center; gap: 2px; border-radius: 8px; font-size: 9px; line-height: 1.1; text-align: center; }
  .nav-icon { flex-basis: auto; width: auto; font-size: 17px; }
  .main { margin: 0; padding: 0 16px 32px; }
  .topbar { height: 74px; margin-bottom: 19px; }
  .topbar h1 { font-size: 19px; }
  .top-actions { gap: 8px; }
  .top-actions .status-pill { display: none; }
  .top-actions select { max-width: 145px; min-height: 35px; padding: 8px 24px 8px 9px; font-size: 11px; }
  .welcome { min-height: 128px; padding: 19px; }
  .welcome h2 { font-size: 18px; }
  .welcome p { max-width: 82%; font-size: 12px; }
  .welcome-mark { margin: 0; font-size: 36px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin: 14px 0 23px; }
  .metric-card { min-height: 112px; padding: 14px; }
  .metric-card strong { font-size: 23px; }
  .metric-label { align-items: flex-start; gap: 5px; font-size: 10px; }
  .metric-label span { font-size: 9px; }
  .shop-grid, .steps-grid, .two-col, .catalog-layout, .pos-layout { grid-template-columns: 1fr; }
  .shop-grid, .steps-grid { gap: 10px; }
  .section-heading { margin: 24px 0 12px; }
  .section-heading h2 { font-size: 17px; }
  .panel { padding: 15px; }
  .receipt-page { padding: 22px 16px; }
  .receipt-meta { gap: 10px; }
  .receipt-lines table { min-width: 0; }
  .receipt-lines th, .receipt-lines td { padding-right: 4px; padding-left: 4px; font-size: 9px; }
  .customer-create { grid-template-columns: 1fr; gap: 14px; }
  .customer-create-form { grid-template-columns: 1fr 1fr; }
  .customer-create-form button { grid-column: 1 / -1; }
  .pos-products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filters { align-items: stretch; flex-direction: column; }
  .filters label { min-width: 0; }
  .filters button { width: 100%; }
  .panel-head { align-items: flex-start; flex-wrap: wrap; }
  .cash-start { align-items: stretch; flex-direction: column; }
  .cash-start .inline-form { align-items: stretch; flex-direction: column; }
  .cash-start .inline-form > label, .cash-start .inline-form .money-input { width: 100%; }
  .money-input input { width: 100%; }
  .permission-grid { grid-template-columns: 1fr; }
  .auth-card { padding: 24px; }
  .table-scroll table { min-width: 520px; }
  .main .shop-tools { margin: 0 0 15px; }
}
@media (max-width: 390px) {
  .main { padding-right: 12px; padding-left: 12px; }
  .metric-grid { grid-template-columns: 1fr; }
  .welcome { padding: 16px; }
  .welcome p { max-width: 100%; }
  .welcome-mark { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
  @page { margin: 8mm; }
  .sidebar, .topbar, .receipt-actions { display: none !important; }
  body { padding: 0; background: #fff; }
  .main { margin: 0; padding: 0; }
  .receipt-page { width: 80mm; max-width: 80mm; margin: 0 auto; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .receipt-lines { overflow: visible; }
  .receipt-lines table { min-width: 0; white-space: normal; }
}

/* Owner workspace and grouped inventory / sales entry */
.owner-welcome { min-height:170px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.owner-welcome>div { position:relative; z-index:1; }.owner-welcome h2 { margin-top:9px; }
.owner-quick-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }.owner-quick-actions .button { min-height:35px; font-size:10px; }
.owner-welcome .welcome-mark { margin-right:14px; font-size:48px; }
.purchase-workspace { align-items:start; }.purchase-workspace>.stack { min-width:0; }.purchase-editor,.supplier-editor,.purchase-history { border-radius:15px; }
.purchase-editor { padding:23px; }.purchase-editor>.panel-head,.supplier-editor>.panel-head { align-items:flex-start; }.purchase-editor .panel-head h3,.supplier-editor .panel-head h3,.purchase-history .panel-head h3 { margin-top:5px; font-size:17px; }
.purchase-editor>p { margin:-6px 0 3px; font-size:11px; line-height:1.65; }
.purchase-editor label,.supplier-editor label { gap:7px; }.purchase-editor label>.muted { display:inline; font-weight:450; }
.memo-lines-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:9px 0 2px; padding-top:15px; border-top:1px solid #edf1ee; }
.memo-lines-head>div b,.memo-lines-head>div small { display:block; }.memo-lines-head>div b { font-size:11px; }.memo-lines-head>div small { margin-top:4px; color:#8a968e; font-size:9px; line-height:1.4; }
.memo-lines-head .button { min-height:33px; padding:8px 11px; white-space:nowrap; }
.inventory-lines,.bulk-sale-lines { display:grid; gap:8px; }
.inventory-line { display:grid; grid-template-columns:minmax(150px,1.55fr) minmax(76px,.55fr) minmax(88px,.72fr) 28px; align-items:end; gap:8px; padding:10px; border:1px solid #edf1ee; border-radius:10px; background:#fbfdfb; }
.inventory-line label,.sale-entry-row label { min-width:0; display:flex; flex-direction:column; gap:5px; color:#68786e; font-size:9px; font-weight:650; }
.inventory-line input,.inventory-line select,.sale-entry-row input,.sale-entry-row select { width:100%; min-width:0; min-height:36px; padding:8px; border:1px solid #e0e8e2; border-radius:7px; color:var(--ink); background:white; font-size:10px; }
.remove-memo-row { width:28px; height:34px; display:grid; place-items:center; border:1px solid #e5ebe7; border-radius:7px; color:#7b8880; background:white; font-size:17px; cursor:pointer; }
.remove-memo-row:hover:not(:disabled) { color:#a24335; border-color:#eccfc9; background:#fff8f6; }.remove-memo-row:disabled { opacity:.35; cursor:not-allowed; }
.purchase-estimate { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 14px; border:1px solid #e3eee6; border-radius:9px; background:#f4f9f5; }
.purchase-estimate>span { color:#64746a; font-size:10px; }.purchase-estimate>span b { display:block; margin-top:3px; color:#1a3927; font-size:17px; letter-spacing:-.3px; }.purchase-estimate>small { color:#738279; font-size:9px; text-align:right; }
.purchase-payment { align-items:end; }.purchase-payment .memo-hint { margin:0; padding-bottom:10px; color:#87938b; font-size:9px; line-height:1.55; }
.purchase-history { padding:21px; }.purchase-history .table-scroll { margin-top:10px; }.purchase-history td b { display:inline-block; max-width:190px; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; }
.supplier-editor { padding:20px 22px; }.supplier-editor .stack { gap:12px; }
.bulk-entry { margin-top:19px; padding-top:15px; border-top:1px solid #edf1ee; }.bulk-entry .memo-lines-head { margin-top:0; padding-top:0; border-top:0; }
.sale-entry-row { display:grid; grid-template-columns:minmax(0,1fr) 75px 28px; align-items:end; gap:8px; padding:8px; border:1px solid #edf1ee; border-radius:9px; background:#fbfdfb; }
.bulk-add-button { width:100%; margin-top:9px; min-height:35px; }
.cart-panel>h3 { margin-bottom:12px; }.cart-panel label>.muted { display:inline; font-weight:450; }
.cart-panel .stack { gap:12px; }.cart-panel .payment-row { gap:9px; }.cart-panel .payment-row label { min-width:0; }
.recent-sales { margin-top:17px; }.recent-sales .panel-head { margin-bottom:12px; }
.owner-welcome .button.secondary { background:rgba(255,255,255,.76); }
@media(max-width:1050px) { .inventory-line { grid-template-columns:minmax(130px,1.4fr) minmax(68px,.5fr) minmax(80px,.7fr) 28px; gap:6px; padding:8px; }.purchase-history { padding:17px; } }
@media(max-width:760px) { .owner-welcome { align-items:flex-start; }.owner-welcome .welcome-mark { display:none; }.owner-quick-actions { margin-top:14px; }.owner-quick-actions .button { flex:1 1 auto; }.purchase-editor { padding:17px; }.purchase-history { padding:16px; }.inventory-line { grid-template-columns:minmax(0,1fr) 78px 28px; }.inventory-line .inventory-product { grid-column:1/-1; }.inventory-line label:nth-child(2) { grid-column:1; }.inventory-line label:nth-child(3) { grid-column:2; }.inventory-line .remove-memo-row { grid-column:3; grid-row:2; }.purchase-payment { grid-template-columns:1fr; gap:3px; }.purchase-payment .memo-hint { padding:0; }.purchase-estimate { align-items:flex-start; flex-direction:column; }.purchase-estimate>small { text-align:left; }.memo-lines-head { align-items:flex-start; }.memo-lines-head>div small { max-width:220px; }.sale-entry-row { grid-template-columns:minmax(0,1fr) 64px 28px; }.bulk-entry .memo-lines-head .button { padding:7px 9px; font-size:9px; } }
.purchase-heading-actions { display:flex; align-items:center; gap:10px; }.purchase-heading-actions .button { min-height:36px; font-size:10px; }
.supplier-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }.supplier-workspace.has-editor { grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); }
.supplier-create-panel,.supplier-directory { padding:22px; border-radius:14px; }.supplier-create-panel>.panel-head { align-items:flex-start; }.supplier-create-panel .panel-head h3,.supplier-directory .panel-head h3 { margin-top:5px; font-size:16px; }.supplier-create-panel>p { margin:-5px 0 4px; font-size:11px; line-height:1.65; }.supplier-create-panel .stack { gap:12px; }
.supplier-directory-head { align-items:flex-end; margin-bottom:11px; }.supplier-directory-head .search { min-height:36px; }.supplier-list { border-top:1px solid #edf1ee; }.supplier-row { display:grid; grid-template-columns:40px minmax(0,1fr) minmax(130px,.65fr) auto; align-items:center; gap:13px; min-height:75px; padding:12px 5px; border-bottom:1px solid #edf1ee; }.supplier-row:last-child { border-bottom:0; }.supplier-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:#287b54; background:#eaf5ed; font-size:13px; font-weight:750; }.supplier-contact b,.supplier-contact span,.supplier-meta span,.supplier-meta small { display:block; }.supplier-contact b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }.supplier-contact span,.supplier-meta span { overflow:hidden; color:#718078; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.supplier-contact span { margin-top:5px; }.supplier-meta { display:grid; gap:5px; }.supplier-meta small { color:#98a29c; font-size:8px; }.supplier-row .tag { white-space:nowrap; }.supplier-empty { padding:43px 20px 31px; text-align:center; }.supplier-empty .empty-icon { margin-bottom:11px; }.supplier-empty h3 { font-size:14px; }.supplier-empty p { margin:0; font-size:10px; }
@media(max-width:900px) { .supplier-workspace.has-editor { grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr); gap:11px; }.supplier-row { grid-template-columns:36px minmax(0,1fr) auto; gap:9px; }.supplier-meta { grid-column:2; grid-row:2; }.supplier-row .tag { grid-column:3; grid-row:1/3; }.supplier-create-panel,.supplier-directory { padding:16px; } }
@media(max-width:760px) { .purchase-heading-actions { gap:6px; }.purchase-heading-actions .status-pill { display:none; }.supplier-workspace.has-editor { grid-template-columns:1fr; }.supplier-directory-head { align-items:flex-start; flex-direction:column; }.supplier-directory-head .search { max-width:none; width:100%; }.supplier-row { grid-template-columns:36px minmax(0,1fr) auto; }.supplier-meta { grid-column:2; grid-row:2; }.supplier-row .tag { grid-column:3; grid-row:1/3; } }
.sales-products-head { align-items:flex-end; }.sales-products-head h3 { margin:5px 0 0; font-size:16px; }.sales-products-head .search { width:min(48%,270px); max-width:270px; min-height:40px; border-radius:10px; background:#fbfdfb; }
.catalog-help { margin:-6px 0 13px; color:#87948b; font-size:10px; }.catalog-result-count { margin:11px 0 0; color:#98a39c; font-size:9px; }.catalog-message { grid-column:1/-1; padding:23px 10px; text-align:center; font-size:11px; }
.pos-products { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:410px; overflow:auto; align-content:start; padding:2px 3px 3px 0; scrollbar-color:#dce8df transparent; scrollbar-width:thin; }
.pos-product { min-width:0; min-height:125px; position:relative; padding:13px; border-radius:11px; }.pos-product b { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pos-product strong { margin-top:auto; padding-top:6px; color:#176b4b; }.pos-product:disabled { opacity:.48; }.pos-product:not(:disabled)::after { content:"+"; position:absolute; top:10px; right:10px; width:22px; height:22px; display:grid; place-items:center; border-radius:7px; color:#21744d; background:#eff7f1; font-size:14px; font-weight:600; }
.product-picker { position:relative; }.product-picker>input[type=search] { width:100%; min-width:0; min-height:36px; padding:8px 9px; border:1px solid #e0e8e2; border-radius:7px; color:var(--ink); background:#fff; font-size:10px; }.product-picker>input[type=search]:focus { border-color:#72af8b; outline:0; box-shadow:0 0 0 3px rgba(36,123,93,.1); }
.product-suggestions { position:absolute; z-index:30; top:calc(100% + 5px); right:0; left:0; max-height:260px; overflow:auto; padding:4px; border:1px solid #e0e8e2; border-radius:9px; background:#fff; box-shadow:0 12px 30px rgba(24,51,34,.15); }.product-suggestion { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px; border:0; border-radius:6px; color:#536258; background:#fff; text-align:left; cursor:pointer; }.product-suggestion:hover,.product-suggestion:focus-visible { background:#f1f7f2; }.product-suggestion>span:first-child { min-width:0; }.product-suggestion b,.product-suggestion small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.product-suggestion b { color:#26392d; font-size:10px; }.product-suggestion small { margin-top:3px; color:#829087; font-size:8px; }.product-suggestion>span:last-child { flex:none; color:#668071; font-size:8px; }.product-suggestion-empty { padding:12px 9px; color:#829087; font-size:9px; }
.sale-entry-row { position:relative; }.sale-entry-row>label:first-child { position:relative; z-index:2; }.sale-entry-row:focus-within { z-index:3; }
@media(max-width:900px) { .pos-products { max-height:350px; grid-template-columns:repeat(2,minmax(0,1fr)); }.pos-product { min-height:112px; } }
@media(max-width:760px) { .sales-products-head { align-items:stretch; flex-direction:column; }.sales-products-head .search { width:100%; max-width:none; }.catalog-help { margin-top:-6px; }.pos-products { max-height:380px; }.sale-entry-row>label:first-child { grid-column:1/-1; }.sale-entry-row>label:nth-child(2) { grid-column:1/3; }.sale-entry-row>.remove-memo-row { grid-column:3; grid-row:2; }.product-suggestions { max-height:210px; } }
.customer-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }.customer-workspace.has-editor { grid-template-columns:minmax(310px,.85fr) minmax(0,1.15fr); }
.customer-create-panel,.customer-directory,.customer-balances { padding:22px; border-radius:14px; }.customer-create-panel>.panel-head { align-items:flex-start; }.customer-create-panel .panel-head h3,.customer-directory .panel-head h3,.customer-balances .panel-head h3 { margin-top:5px; font-size:16px; }.customer-create-panel>p { margin:-5px 0 2px; font-size:11px; line-height:1.65; }.customer-batch-form { gap:10px; }
.customer-entry-list { display:grid; gap:9px; }.customer-entry-row { display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:start; gap:8px; padding:12px; border:1px solid #e9efeb; border-radius:10px; background:#fbfdfb; }.customer-entry-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.customer-entry-fields label { min-width:0; display:flex; flex-direction:column; gap:5px; color:#68786e; font-size:9px; font-weight:650; }.customer-entry-fields label:first-child,.customer-entry-fields label:last-child { grid-column:1/-1; }.customer-entry-fields input,.customer-entry-fields textarea { width:100%; min-width:0; min-height:35px; padding:8px 9px; border:1px solid #e0e8e2; border-radius:7px; color:var(--ink); background:#fff; font-size:10px; resize:vertical; }.customer-entry-fields textarea { min-height:52px; }.customer-entry-row .remove-memo-row { margin-top:1px; }.customer-add-row { align-self:flex-start; }
.customer-directory-head { align-items:flex-end; }.customer-directory-head h3 { margin-bottom:0; }.customer-directory-head .search { width:min(48%,230px); max-width:230px; min-height:36px; }.customer-list { border-top:1px solid #edf1ee; }.customer-row-card { display:grid; grid-template-columns:38px minmax(100px,.85fr) minmax(100px,1fr) auto; align-items:center; gap:10px; min-height:76px; padding:11px 3px; border-bottom:1px solid #edf1ee; }.customer-row-card:last-child { border-bottom:0; }.customer-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#287b54; background:#eaf5ed; font-size:12px; font-weight:750; }.customer-contact b,.customer-contact span,.customer-address span,.customer-address small,.customer-balance small,.customer-balance b { display:block; }.customer-contact b { overflow:hidden; color:#26392d; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.customer-contact span,.customer-address span,.customer-address small { overflow:hidden; margin-top:4px; color:#7b8980; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.customer-address small { color:#98a39c; }.customer-balance { text-align:right; white-space:nowrap; }.customer-balance small { color:#95a097; font-size:8px; }.customer-balance b { margin-top:4px; color:#345941; font-size:10px; }.customer-empty { padding:42px 15px 28px; text-align:center; }.customer-empty .empty-icon { margin-bottom:10px; }.customer-empty h3 { font-size:14px; }.customer-empty p { font-size:10px; }.customer-balances { margin-top:17px; }.customer-balances .panel-head { align-items:flex-end; }.customer-balances .panel-head h3 { margin-bottom:0; }
@media(max-width:1050px) { .customer-workspace.has-editor { grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr); gap:11px; }.customer-create-panel,.customer-directory,.customer-balances { padding:17px; }.customer-row-card { grid-template-columns:34px minmax(90px,.8fr) minmax(90px,1fr) auto; gap:8px; } }
@media(max-width:760px) { .customer-workspace.has-editor { grid-template-columns:1fr; }.customer-create-panel,.customer-directory,.customer-balances { padding:15px; }.customer-directory-head { align-items:flex-start; flex-direction:column; }.customer-directory-head .search { width:100%; max-width:none; }.customer-row-card { grid-template-columns:34px minmax(0,1fr) auto; gap:8px; }.customer-address { grid-column:2; grid-row:2; }.customer-balance { grid-column:3; grid-row:1/3; }.customer-contact { grid-column:2; grid-row:1; }.customer-row-card .customer-avatar { grid-column:1; grid-row:1/3; }.customer-balances .panel-head { align-items:flex-start; flex-direction:column; } }
.cart-panel .payment-row { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }.cart-panel .payment-row select,.cart-panel .payment-row input { min-width:0; }.cart-panel input[readonly] { color:#607168; background:#f6f9f7; }.customer-credit-hint { display:block; margin-top:-2px; color:#87948b; font-size:9px; font-weight:450; }
@media(max-width:1050px) { .cart-panel .payment-row { grid-template-columns:1fr 1fr; }.cart-panel .payment-row label:first-child { grid-column:1/-1; } }
@media(max-width:760px) { .cart-panel .payment-row { grid-template-columns:1fr; }.cart-panel .payment-row label:first-child { grid-column:auto; } }
