:root {
  --ink: #282526;
  --muted: #8f8888;
  --line: #ece6e4;
  --paper: #fbfaf9;
  --panel: #ffffff;
  --pink: #d98691;
  --pink-soft: #f8e8e9;
  --blue-soft: #e8f1f7;
  --sage: #8aa58e;
  --sage-soft: #e9f0e9;
  --orange: #dd9a56;
  --shadow: 0 12px 36px rgba(62, 48, 48, .09);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: #eeeae8; color: var(--ink); }
button, input { font: inherit; }
button { color: inherit; }
.app-shell { width: min(100%, 520px); min-height: 100dvh; margin: 0 auto; background: var(--paper); position: relative; overflow-x: hidden; padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
.topbar { height: 86px; padding: 17px 18px 10px; display: flex; justify-content: space-between; align-items: flex-start; background: rgba(251,250,249,.94); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(18px); border-bottom: 1px solid rgba(236,230,228,.75); }
.brand { font-size: 19px; letter-spacing: .8px; line-height: 1; font-weight: 650; }
.brand-o { color: var(--pink); }
.brand b { font-size: 11px; letter-spacing: .4px; margin-left: 2px; color: #a59d9c; }
.store-switch { background: transparent; border: 0; padding: 8px 0 0; color: #777070; font-size: 12px; }
.store-switch span { font-size: 13px; margin-left: 3px; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.sync-pill { height: 29px; border: 1px solid #dce8dd; border-radius: 20px; background: #f3f8f3; padding: 0 10px; color: #69816d; display: flex; gap: 6px; align-items: center; font-size: 11px; }
.sync-pill i { width: 6px; height: 6px; border-radius: 50%; background: #7ba281; box-shadow: 0 0 0 3px #e0ece2; }
.sync-pill.offline { border-color: #efdfc9; background: #fff8ef; color: #9b7147; }
.sync-pill.offline i { background: #dc9b55; box-shadow: 0 0 0 3px #f7e9d7; }
.sync-pill.syncing { border-color: #d9e5f5; background: #f3f7fc; color: #56779c; }
.sync-pill.syncing i { background: #6f98c5; box-shadow: 0 0 0 3px #dfeaf7; animation: syncPulse 1s ease-in-out infinite; }
.sync-pill.sync-failed { border-color: #efd6d7; background: #fff5f5; color: #a25e62; }
.sync-pill.sync-failed i { background: #cf7379; box-shadow: 0 0 0 3px #f5dfe1; }
.ledger-mode-pill { display: none !important; }
.ledger-mode-pill.production { background: #f2f7f3; color: #52735a; border-color: #cedfd1; }
.large-list-more { width: 100%; min-height: 46px; border: 1px solid #eadde1; border-radius: 16px; background: #fff8fa; color: #bf6681; font-weight: 700; grid-column: 1 / -1; margin: 8px 0 14px; }
@keyframes syncPulse { 50% { transform: scale(.65); opacity: .55; } }
.shop-toggle-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; padding: 4px 16px 12px; }
.shop-toggle-grid label { min-height: 42px; border: 1px solid #ebe5e2; border-radius: 12px; display: flex; align-items: center; gap: 9px; padding: 0 12px; background: #faf8f7; font-size: 13px; }
.shop-toggle-grid input { width: 18px; height: 18px; accent-color: #292524; }
.shop-description-row { display: grid; gap: 8px; padding: 13px 16px; border-top: 1px solid #f0ecea; color: #77706c; font-size: 13px; }
.shop-description-row textarea { width: 100%; border: 1px solid #e8e2df; border-radius: 12px; padding: 11px; resize: vertical; background: #fbfaf9; color: #292524; font: inherit; }
.sku-model-row { display: grid; grid-template-columns: 86px 1fr auto; gap: 8px; align-items: center; margin: 10px 0 2px; padding: 9px 10px; border-radius: 10px; background: #f7f5f4; font-size: 12px; color: #746d69; }
.sku-model-row input { min-width: 0; border: 0; background: transparent; font: inherit; color: #292524; outline: none; }
.sku-model-row em { font-style: normal; color: #9a8f89; }
.avatar { width: auto; min-width: 64px; max-width: 80px; height: 36px; padding: 0 11px; border-radius: 999px; border: 0; background: var(--ink); color: #fff; font-size: 10px; line-height: 1.15; text-align: center; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.content { padding: 0 16px 24px; }
.view { display: none; animation: fade .24s ease; }
.view.active { display: block; }
@keyframes fade { from { opacity: .45; transform: translateY(3px); } }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; padding: 18px 1px 14px; }
.eyebrow { margin: 0 0 5px; color: var(--muted); font-size: 11px; }
h1 { margin: 0; font-size: 25px; letter-spacing: -.6px; }
.soft-button, .primary-small { height: 34px; border-radius: 10px; border: 1px solid var(--line); background: #fff; padding: 0 12px; font-size: 12px; }
.soft-button b { min-width: 17px; height: 17px; line-height: 17px; text-align: center; display: inline-block; margin-left: 4px; border-radius: 10px; color: #fff; background: var(--pink); font-size: 10px; }
.primary-small { background: var(--ink); color: #fff; border-color: var(--ink); }
.search-row { display: grid; grid-template-columns: minmax(0,1fr) 198px; gap: 8px; }
.search-box { height: 44px; border: 1px solid var(--line); border-radius: 13px; background: #fff; display: flex; align-items: center; padding: 0 13px; gap: 9px; }
.search-box.full { width: 100%; }
.search-box span { font-size: 20px; color: #9b9392; transform: rotate(-16deg); }
.search-box input { border: 0; outline: 0; min-width: 0; width: 100%; background: transparent; font-size: 13px; color: var(--ink); }
.search-box input::placeholder { color: #aaa3a2; }
.scan-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; min-width:0; }
.scan-button,.stock-scan-button,.photo-lookup-button { min-width:0; height:44px; border-radius:13px; padding:0 4px; display:flex; align-items:center; justify-content:center; white-space:nowrap; line-height:1; font-size:9px; font-weight:650; }
.scan-button { border: 0; background: var(--ink); color: #fff; }
.stock-scan-button { border:1px solid var(--line); background:#fff; color:var(--ink); }
.photo-lookup-button { border:1px solid #efd7dc; background:#fff7f9; color:#b86576; }
.scan-corners { flex:0 0 auto; font-size:15px; line-height:1; margin-right:3px; }
.category-tabs, .period-tabs { display: flex; gap: 8px; padding: 14px 0 12px; overflow-x: auto; scrollbar-width: none; }
.category-tabs button, .period-tabs button { white-space: nowrap; height: 31px; border: 0; border-radius: 18px; background: #f1eeec; color: #847d7c; font-size: 12px; padding: 0 15px; }
.category-tabs button.active, .period-tabs button.active { background: var(--ink); color: #fff; }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.product-card { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; text-align: left; padding: 0; box-shadow: 0 4px 14px rgba(66,48,48,.03); }
.product-image { width: 100%; height: auto; aspect-ratio: 1 / 1; display: grid; place-items: center; position: relative; overflow: hidden; }
.product-image::before { content: ""; width: 52px; height: 82px; border: 4px solid rgba(255,255,255,.95); border-radius: 13px; box-shadow: 0 8px 17px rgba(62,45,45,.12), inset 0 0 0 2px rgba(43,38,38,.12); transform: rotate(-8deg); }
.product-image::after { content: ""; width: 21px; height: 21px; border: 3px solid rgba(255,255,255,.9); border-radius: 7px; position: absolute; top: 26px; left: calc(50% - 21px); transform: rotate(-8deg); }
.product-card:nth-child(2n) .product-image::before, .product-card:nth-child(2n) .product-image::after { transform: rotate(7deg); }
.product-card .info { padding: 10px 11px 12px; }
.product-card h3 { font-size: 13px; margin: 0 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product-card .meta { display: flex; align-items: center; justify-content: space-between; }
.product-card .meta strong { font-size: 15px; }
.product-card .meta span { color: #918a89; font-size: 10px; }
.cart-fab { position: fixed; z-index: 30; bottom: calc(78px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: min(calc(100% - 34px), 486px); height: 53px; border: 0; border-radius: 16px; background: var(--ink); color: #fff; padding: 0 18px; display: flex; align-items: center; box-shadow: 0 8px 18px rgba(40,37,38,.14); }
.cart-fab.hidden { display: none; }
.cart-fab span { font-size: 12px; }
.cart-fab b { margin-left: 6px; min-width: 20px; height: 20px; line-height: 20px; border-radius: 10px; background: var(--pink); font-size: 10px; }
.cart-fab strong { margin-left: auto; font-size: 17px; }
.bottom-nav { position: fixed; z-index: 25; bottom: 0; left: 50%; transform: translateX(-50%); width: min(100%, 520px); height: calc(69px + env(safe-area-inset-bottom)); padding: 7px 10px env(safe-area-inset-bottom); background: #fffdfb; border-top: 1px solid rgba(226,217,214,.82); display: grid; grid-template-columns: repeat(5, 1fr); box-shadow: none; filter: none; -webkit-filter: none; backdrop-filter: none; -webkit-backdrop-filter: none; isolation: isolate; }
.bottom-nav button { border: 0; background: transparent; color: #aaa2a1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 10px; }
.bottom-nav button i { font-style: normal; font-size: 20px; line-height: 20px; }
.bottom-nav button.active { color: var(--ink); font-weight: 650; }
.member-overview { margin-top: 12px; display: grid; grid-template-columns: 1fr 1.35fr; gap: 10px; }
.member-overview article { background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 14px; }
.member-overview span, .member-overview em { display: block; color: var(--muted); font-size: 10px; font-style: normal; }
.member-overview strong { display: block; margin: 8px 0 5px; font-size: 19px; }
.member-overview em { color: var(--sage); }
.section-title { font-size: 14px; margin: 21px 2px 10px; }
.member-list { display: grid; gap: 8px; }
.member-row { width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 12px; display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; text-align: left; }
.member-photo { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-size: 14px; color: #fff; }
.member-row b, .member-row small { display: block; }
.member-row b { font-size: 13px; margin-bottom: 4px; }
.member-row small { font-size: 10px; color: var(--muted); }
.member-assets { text-align: right; }
.member-assets strong { font-size: 13px; display: block; }
.member-assets span { font-size: 9px; color: var(--pink); }
.wechat-native-payment { display: grid; gap: 10px; justify-items: center; padding: 12px 0 4px; text-align: center; }
#wechatNativeQr { width: 240px; min-height: 240px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
#wechatNativeQr img, #wechatNativeQr canvas { display: block; width: 224px; height: 224px; }
#wechatNativeStatus { margin: 0; color: #6f6664; font-size: 12px; }
#wechatNativeCodeUrl { color: #a85e70; font-size: 11px; }
#wechatNativeCancel { min-height: 34px; border: 1px solid #efd7dc; border-radius: 10px; background: #fff7f9; color: #a85e70; padding: 0 14px; font-size: 12px; }
.period-tabs { padding-top: 0; }
.hero-kpi { background: linear-gradient(135deg, #332f30, #4a4344); border-radius: 20px; padding: 20px; color: #fff; min-height: 142px; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.hero-kpi::after { content: ""; position: absolute; width: 150px; height: 150px; right: -50px; top: -67px; border: 30px solid rgba(217,134,145,.18); border-radius: 50%; }
.hero-kpi span { color: #d9d3d2; font-size: 11px; }
.hero-kpi strong { display: block; font-size: 30px; letter-spacing: -.8px; margin: 12px 0 16px; }
.hero-kpi div { display: flex; align-items: center; gap: 8px; font-size: 10px; }
.hero-kpi div b { color: #bcd6c1; }
.hero-kpi div em { color: #afa8a8; font-style: normal; }
.kpi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }
.kpi-grid article { background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 13px; }
.kpi-grid span, .kpi-grid small { color: var(--muted); font-size: 10px; display: block; }
.kpi-grid strong { display: block; margin: 8px 0 5px; font-size: 18px; }
.chart-card, .ranking-card { margin-top: 10px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 15px; }
.card-heading { display: flex; justify-content: space-between; align-items: flex-start; }
.card-heading strong, .card-heading span { display: block; }
.card-heading strong { font-size: 13px; }
.card-heading span { color: var(--muted); font-size: 9px; margin-top: 4px; }
.card-heading b { font-size: 14px; color: var(--pink); }
.card-heading button { border: 0; background: none; color: var(--pink); font-size: 10px; }
.bar-chart { display: flex; gap: 7px; align-items: flex-end; height: 105px; padding-top: 19px; }
.bar { flex: 1; min-width: 0; border-radius: 5px 5px 2px 2px; background: #efe8e7; position: relative; }
.bar.active { background: linear-gradient(#d98791, #edb4ba); }
.bar.negative { background: linear-gradient(#a59da7, #c8c1ca); outline: 1px dashed #7e7582; }
.bar span { position: absolute; left: 50%; transform: translateX(-50%); bottom: -16px; font-size: 8px; color: #aaa2a1; }
.rank-row { display: grid; grid-template-columns: 22px 38px 1fr auto; align-items: center; padding: 9px 0; border-bottom: 1px solid #f1edeb; gap: 7px; }
.rank-row:last-child { border-bottom: 0; }
.rank-row > b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 7px; font-size: 10px; background: var(--pink-soft); color: var(--pink); }
.rank-row div strong, .rank-row div span { display: block; }
.rank-row div strong { font-size: 11px; margin-bottom: 3px; }
.rank-row div span { font-size: 9px; color: var(--muted); }
.rank-row > strong { font-size: 12px; }
.rank-image { width: 38px; height: 38px; aspect-ratio: 1; border-radius: 9px; overflow: hidden; display: grid; place-items: center; background: #f1edeb; color: var(--muted); font-size: 7px; }.rank-image img { width: 100%; height: 100%; object-fit: cover; }
.quick-tools { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0 18px; }
.quick-tools button { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 11px 7px; display: flex; align-items: center; gap: 7px; text-align: left; }
.quick-tools i { font-style: normal; width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 9px; background: var(--pink-soft); color: var(--pink); }
.quick-tools b, .quick-tools small { display: block; }
.quick-tools b { font-size: 10px; white-space: nowrap; }
.quick-tools small { color: var(--muted); font-size: 8px; margin-top: 3px; }
.list-toolbar { display: flex; align-items: center; justify-content: space-between; margin: 8px 2px; }
.list-toolbar strong { font-size: 14px; }
.list-toolbar button { border: 0; background: transparent; font-size: 10px; color: var(--muted); }
.product-list, .inventory-list { display: grid; gap: 8px; }
.product-list-row { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 11px; display: grid; grid-template-columns: 46px 1fr auto; gap: 10px; align-items: center; }
.mini-image { width: 46px; height: 46px; aspect-ratio: 1 / 1; border-radius: 11px; display: grid; place-items: center; overflow: hidden; }
.mini-image::after { content: ""; width: 24px; height: 36px; border: 2px solid rgba(255,255,255,.9); border-radius: 7px; }
.product-list-row h3 { margin: 0 0 5px; font-size: 12px; }
.product-list-row p { margin: 0; color: var(--muted); font-size: 9px; }
.product-list-row .price-stock { text-align: right; }
.price-stock strong, .price-stock span { display: block; }
.price-stock strong { font-size: 13px; }
.price-stock span { margin-top: 5px; font-size: 9px; color: var(--sage); }
.price-stock small { display: block; margin-top: 5px; color: #aaa2a1; font-size: 8px; }
.price-stock span.low { color: #cf765c; }
.stock-summary { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 8px; }
.stock-summary > div { background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 13px 10px; }
.stock-summary span, .stock-summary small { display: block; color: var(--muted); font-size: 9px; }
.stock-summary strong { display: inline-block; margin: 8px 2px 2px 0; font-size: 17px; }
.stock-summary .warning { background: #fff8f3; border-color: #f2dfd4; }
.stock-summary .warning strong { color: #cf765c; }
.inventory-actions { display: grid; grid-template-columns: repeat(4, 1fr); margin: 13px 0; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px 5px; }
.inventory-actions button { border: 0; background: transparent; display: flex; flex-direction: column; align-items: center; gap: 7px; font-size: 10px; }
.inventory-actions i { font-style: normal; width: 35px; height: 35px; border-radius: 12px; display: grid; place-items: center; background: #f3efed; font-size: 17px; }
.alert-card { border: 1px solid #f0ddd3; background: #fff9f5; border-radius: 14px; padding: 12px; display: flex; align-items: center; justify-content: space-between; }
.alert-card > div { display: flex; align-items: center; gap: 9px; }
.alert-card i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #f4dfd4; color: #c96b52; font-style: normal; font-weight: 700; }
.alert-card strong, .alert-card small { display: block; }
.alert-card strong { font-size: 11px; }
.alert-card small { color: #a3948e; margin-top: 3px; font-size: 9px; }
.alert-card button { border: 0; background: transparent; color: #c96b52; font-size: 10px; }
.ledger-integrity-warning { margin: 0 0 12px; padding: 11px 13px; border: 1px solid #e5a48d; border-radius: 12px; background: #fff4ef; color: #9a432b; font-size: 12px; line-height: 1.55; }
.document-integrity-warning { margin: 8px 0; padding: 9px 11px; border-radius: 10px; background: #fff0eb; color: #9a432b; font-size: 11px; line-height: 1.5; }
.online-order-row { display: grid; gap: 7px; padding: 14px; border-radius: 14px; background: #fff; border: 1px solid #eee8e4; }
.online-order-row > div { display: flex; align-items: center; gap: 8px; }
.online-order-row > div b { flex: 1; }
.online-order-row > div em { color: #9a8177; font-style: normal; font-size: 11px; }
.online-order-row p, .online-order-row small { margin: 0; color: #766d69; line-height: 1.45; }
.online-order-row > strong { justify-self: end; font-size: 18px; }
.stock-row { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 12px; }
.stock-row .stock-main { display: flex; justify-content: space-between; gap: 10px; }
.stock-row h3 { font-size: 12px; margin: 0 0 4px; }
.stock-row p { font-size: 9px; color: var(--muted); margin: 0; }
.stock-num { text-align: right; }
.stock-num strong, .stock-num span { display: block; }
.stock-num strong { font-size: 15px; }
.stock-num span { color: var(--muted); font-size: 8px; }
.stock-bar { height: 5px; background: #eee9e6; border-radius: 5px; margin-top: 10px; overflow: hidden; }
.stock-bar i { display: block; height: 100%; border-radius: 5px; background: var(--sage); }
.stock-row.low .stock-bar i { background: #d88168; }
.stock-row.low .stock-num strong { color: #cb7057; }
.sheet-backdrop { position: fixed; inset: 0; z-index: 50; background: rgba(36,31,32,.38); opacity: 0; pointer-events: none; transition: opacity .25s; backdrop-filter: blur(2px); }
.sheet-backdrop.show { opacity: 1; pointer-events: auto; }
.sheet-backdrop.above-form { z-index: 140; }
.bottom-sheet { position: fixed; z-index: 55; left: 50%; bottom: 0; width: min(100%, 520px); max-height: 88dvh; overflow: auto; transform: translate(-50%, 105%); transition: transform .3s cubic-bezier(.2,.8,.2,1); background: #fff; border-radius: 24px 24px 0 0; padding: 8px 17px calc(18px + env(safe-area-inset-bottom)); box-shadow: 0 -15px 50px rgba(45,35,35,.15); }
.bottom-sheet.above-form { z-index: 145; }
.bottom-sheet.show { transform: translate(-50%, 0); }
.bottom-sheet.compact { max-height: 78dvh; }
.product-import-sheet { padding-bottom:calc(28px + env(safe-area-inset-bottom)); }
.import-template-card { display:flex; align-items:center; gap:13px; margin:8px 0 14px; padding:16px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,#fff 0%,#faf6f5 100%); }
.import-file-icon { display:grid; place-items:center; width:46px; height:46px; flex:0 0 46px; border-radius:14px; color:#fff; background:#242120; font-size:17px; font-weight:800; }
.import-template-card div { display:grid; gap:4px; min-width:0; }
.import-template-card b { font-size:16px; color:var(--ink); }
.import-template-card small { color:var(--muted); line-height:1.45; }
.import-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.import-action-grid button { min-height:48px; border:1px solid var(--line); border-radius:15px; background:#fff; color:var(--ink); font-weight:750; }
.import-action-grid button.primary { border-color:#242120; background:#242120; color:#fff; }
.import-field-guide { margin-top:17px; padding:16px; border-radius:18px; background:#f7f5f4; }
.import-field-guide>b { display:block; margin-bottom:11px; font-size:14px; }
.import-field-guide>div { display:flex; flex-wrap:wrap; gap:7px; }
.import-field-guide span { padding:6px 9px; border-radius:999px; background:#fff; color:#5f5855; font-size:12px; }
.import-field-guide p { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.65; }
.sheet-handle { width: 40px; height: 4px; background: #ddd6d4; border-radius: 4px; margin: 2px auto 11px; }
.sheet-title { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 13px; }
.sheet-title h2 { font-size: 19px; margin: 0 0 4px; }
.sheet-title span { color: var(--muted); font-size: 10px; }
.icon-close { border: 0; background: #f4f0ee; width: 30px; height: 30px; border-radius: 50%; font-size: 20px; line-height: 28px; }
.member-link { width: 100%; border: 1px solid #eee5e2; background: #fcf7f6; border-radius: 14px; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 9px; align-items: center; text-align: left; padding: 10px; }
.member-link-summary,.member-link-picker { border: 0; background: transparent; color: inherit; padding: 0; font: inherit; }
.member-link-summary { min-width: 0; display: contents; }
.member-link-picker { min-width: 28px; height: 42px; display: grid; place-items: center; cursor: pointer; }
.member-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--pink-soft); color: var(--pink); display: grid; place-items: center; font-size: 12px; }
.member-link b, .member-link small { display: block; }
.member-link b { font-size: 12px; margin-bottom: 3px; }
.member-link small { font-size: 9px; color: var(--muted); }
.member-link i { font-size: 20px; font-style: normal; color: #a49c9b; }
.member-search-wrap { position: relative; }
.member-search-history { margin-top: 6px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.member-search-history[hidden] { display: none; }
.member-search-history-head { display: flex; justify-content: space-between; align-items: center; padding: 8px 11px 5px; color: var(--muted); font-size: 9px; }
.member-search-history-head button { border: 0; background: transparent; color: var(--pink); padding: 2px 0; font: inherit; cursor: pointer; }
.member-search-history-items { display: flex; gap: 7px; overflow-x: auto; padding: 0 11px 9px; scrollbar-width: thin; }
.member-search-history-item { flex: 0 0 auto; border: 1px solid #eee5e2; border-radius: 999px; background: #fff; padding: 6px 10px; text-align: left; color: var(--ink); font: inherit; font-size: 11px; cursor: pointer; white-space: nowrap; }
.member-search-history-item:active { background: var(--pink-soft); }
.member-sort-tabs { display: flex; gap: 5px; margin: 10px 0; }
.member-sort-tabs button { flex: 1; min-width: 0; border: 0; border-radius: 999px; padding: 9px 3px; background: var(--cream); color: var(--muted); font: inherit; font-size: 11px; white-space: nowrap; cursor: pointer; }
.member-sort-tabs button.active { background: var(--ink); color: #fff; }
.member-sort-tabs button:focus-visible { outline: 2px solid var(--pink); outline-offset: 2px; }
.sales-advisor-link { margin-top: 8px; background: #fff; }
.sales-advisor-link { grid-template-columns: 36px minmax(0,1fr) auto; }
.sales-advisor-avatar { background: #eef5f1; color: #5f8874; }
.sales-advisor-list button span { display:grid; gap:3px; }
.sales-advisor-list button small { color:var(--muted); font-size:10px; }
.cart-lines { display: grid; gap: 8px; margin: 13px 0; max-height: 32dvh; overflow-y: auto; }
.empty-cart { text-align: center; color: var(--muted); padding: 30px 0; font-size: 12px; }
.cart-line { display: grid; grid-template-columns: 1fr auto; gap: 8px; border-bottom: 1px solid #f2edeb; padding: 5px 0 11px; }
.cart-line h3 { font-size: 12px; margin: 0 0 4px; }
.cart-line p { font-size: 9px; margin: 0; color: var(--muted); }
.cart-line .line-bottom { margin-top: 9px; display: flex; align-items: center; gap: 6px; }
.cart-line .line-bottom button { border: 0; background: transparent; padding: 0; color: var(--pink); font-size: 9px; }
.line-price { text-align: right; }
.line-price > strong { display: block; font-size: 13px; margin-bottom: 8px; }
.qty-control { border: 1px solid var(--line); border-radius: 9px; display: flex; align-items: center; height: 29px; overflow: hidden; }
.qty-control button { width: 27px; height: 100%; border: 0; background: #f8f5f3; }
.qty-control span { width: 28px; text-align: center; font-size: 11px; }
.discount-row { display: flex; gap: 8px; }
.discount-row button { flex: 1; height: 35px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 10px; color: #746d6c; }
.total-panel { margin-top: 13px; padding: 12px 0; border-top: 1px solid var(--line); }
.total-panel > div { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: 10px; color: var(--muted); }
.total-panel .discount { color: var(--pink); }
.total-panel .grand-total { align-items: flex-end; color: var(--ink); margin: 12px 0 0; }
.grand-total span { font-size: 13px; }
.grand-total strong { font-size: 25px; }
.checkout-actions { display: grid; grid-template-columns: 85px 1fr; gap: 9px; }
.checkout-actions button { height: 49px; border-radius: 14px; border: 1px solid var(--line); background: #fff; font-size: 13px; }
.checkout-actions .checkout { border: 0; background: var(--ink); color: #fff; font-weight: 650; }
.payment-total { font-size: 35px; font-weight: 700; letter-spacing: -1px; margin: 8px 0 22px; }
.payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.payment-grid button { height: 92px; border: 1px solid var(--line); border-radius: 15px; background: #fff; display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; font-size: 11px; }
.payment-grid i { width: 35px; height: 35px; border-radius: 11px; display: grid; place-items: center; color: #fff; font-style: normal; font-weight: 700; }
.cashier-sku-list { display: grid; gap: 8px; max-height: 62dvh; overflow-y: auto; }.cashier-sku-row { width: 100%; display: grid; grid-template-columns: 52px 1fr auto; gap: 10px; align-items: center; border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 9px; text-align: left; }.cashier-sku-row.matched { border-color: #dc949e; background: #fff7f8; box-shadow: 0 0 0 2px #f8e6e8; }.cashier-sku-image { width: 52px; height: 52px; aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; background: #f1edeb; display: grid; place-items: center; color: var(--muted); font-size: 9px; }.cashier-sku-image img { width: 100%; height: 100%; object-fit: cover; }.cashier-sku-row b,.cashier-sku-row small { display: block; }.cashier-sku-row b { font-size: 12px; margin-bottom: 4px; }.cashier-sku-row small { color: var(--muted); font-size: 9px; }.cashier-sku-row strong { font-size: 14px; }.cashier-sku-row em { display: block; margin-top: 4px; color: var(--pink); font-style: normal; font-size: 8px; text-align: right; }
.wechat { background: #5ab76b; }.alipay { background: #4d99e9; }.cash { background: #df9d56; }.balance { background: var(--pink); }
.member-list.mini { margin-top: 12px; max-height: 45dvh; overflow: auto; }
.role-list { display: grid; gap: 8px; }
.role-list button { display: flex; justify-content: space-between; align-items: center; text-align: left; border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 13px; }
.role-list button.selected { border-color: #e4b0b6; background: #fff8f8; }
.role-list b, .role-list small { display: block; }.role-list b { font-size: 12px; margin-bottom: 4px; }.role-list small { font-size: 9px; color: var(--muted); }.role-list i { color: var(--pink); font-style: normal; }
.attribute-presets { display: grid; gap: 8px; }.attribute-presets button { min-height: 46px; border: 1px solid var(--line); border-radius: 13px; background: #fff; text-align: left; padding: 8px 12px; font-size: 12px; }.attribute-presets span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.custom-attribute { display: grid; grid-template-columns: 1fr 60px; gap: 8px; margin-top: 12px; }.custom-attribute input { min-width: 0; height: 40px; border: 1px solid var(--line); border-radius: 11px; padding: 0 11px; outline: 0; }.custom-attribute button { border: 0; border-radius: 11px; background: var(--ink); color: #fff; font-size: 10px; }
.manage-library-link { width: 100%; height: 42px; margin-top: 10px; border: 0; border-radius: 11px; background: #f3efed; color: #6d6665; font-size: 10px; }
.success-layer { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; background: rgba(36,31,32,.48); opacity: 0; pointer-events: none; transition: .25s; padding: 20px; backdrop-filter: blur(5px); }
.success-layer.show { opacity: 1; pointer-events: auto; }
.success-card { width: min(100%, 390px); border-radius: 23px; background: #fff; text-align: center; padding: 28px 20px 20px; box-shadow: var(--shadow); }
.success-check { width: 58px; height: 58px; margin: 0 auto 15px; display: grid; place-items: center; color: #fff; background: var(--sage); border-radius: 50%; font-size: 26px; }
.success-card h2 { margin: 0 0 7px; font-size: 21px; }.success-card p { margin: 0; color: var(--muted); font-size: 12px; }.receipt-no { background: #f7f4f2; border-radius: 11px; padding: 11px; margin: 18px 0; font-size: 10px; color: var(--muted); }.receipt-no b { color: var(--ink); }
.success-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.success-actions button { height: 43px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.success-actions button:last-child { background: var(--ink); color: #fff; border-color: var(--ink); }
.toast { position: fixed; z-index: 99; left: 50%; bottom: calc(88px + env(safe-area-inset-bottom)); transform: translate(-50%, 18px); background: rgba(40,37,38,.94); color: #fff; border-radius: 12px; padding: 10px 15px; font-size: 11px; opacity: 0; pointer-events: none; transition: .25s; white-space: nowrap; box-shadow: var(--shadow); }.toast.show { opacity: 1; transform: translate(-50%, 0); }
.form-page { position: fixed; z-index: 80; top: 0; bottom: 0; left: 50%; right: auto; width: min(100%, 520px); margin: 0; background: #f5f3f1; transform: translateX(calc(50vw + 8px)); visibility: hidden; pointer-events: none; transition: transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s linear .3s; overflow-y: auto; padding-bottom: 0; }
.form-page.show { transform: translateX(-50%); visibility: visible; pointer-events: auto; transition-delay: 0s; }

/* Native browser/PWA history already animates an edge-swipe. During popstate,
   restore the recorded page stack without running a second form-page exit. */
html.moli-history-instant .form-page,
html.moli-history-instant .form-page.show {
  transition: none !important;
  animation: none !important;
}
.form-header { position: sticky; top: 0; z-index: 5; height: 78px; display: grid; grid-template-columns: 42px 1fr 60px; align-items: center; padding: 10px 15px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.form-header h2 { margin: 0 0 4px; font-size: 19px; }.form-header span { color: var(--muted); font-size: 9px; }
.form-back { width: 36px; height: 36px; border: 0; background: transparent; font-size: 36px; line-height: 28px; padding: 0; text-align: left; }
.form-save { border: 0; background: transparent; color: var(--pink); font-weight: 650; font-size: 13px; }
.form-content { padding: 10px 12px 2px; display: grid; gap: 10px; }
.form-section { background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 15px; overflow: hidden; }
.form-section-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.form-section-title h3 { margin: 0; font-size: 14px; }.form-section-title > span { color: var(--muted); font-size: 9px; }.form-section-title i, .form-row i { color: var(--pink); font-style: normal; }.form-section-title p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.image-uploader { width: 112px; height: 112px; aspect-ratio: 1 / 1; padding:0; border-radius: 14px; background: #f6f4f2; border: 1px dashed #dcd5d2; display: flex; flex:0 0 112px; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; color: var(--muted); cursor: pointer; }
.image-uploader .upload-plus { font-size: 28px; font-weight: 250; color: #b9b1af; line-height: 1; }.image-uploader b { font-size: 10px; margin: 8px 0 3px; }.image-uploader small { font-size: 8px; }.image-uploader img { display: none; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.image-uploader.has-image img { display: block; }.image-uploader.has-image .upload-plus,.image-uploader.has-image b,.image-uploader.has-image small { display: none; }
.product-photo-editor{display:flex;align-items:stretch;gap:13px}.product-photo-copy{min-width:0;display:flex;flex:1;flex-direction:column;justify-content:center}.product-photo-copy>b{font-size:12px}.product-photo-copy>span{margin-top:6px;color:var(--muted);font-size:9px;line-height:1.65}.product-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.product-photo-actions button{min-width:0;height:36px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:9px;font-weight:700}.product-photo-actions button:first-child{border-color:var(--ink);background:var(--ink);color:#fff}
.product-photo-preview-sheet{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.product-photo-preview-frame{height:min(52dvh,510px);display:grid;place-items:center;overflow:hidden;border-radius:20px;background:#f1eeec}.product-photo-preview-frame img{width:100%;height:100%;object-fit:contain}.product-photo-preview-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:11px 0;padding:4px;border-radius:14px;background:#f3efed}.product-photo-preview-tabs button{height:36px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:10px;font-weight:700}.product-photo-preview-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 11px rgba(52,44,44,.08)}.product-photo-analysis{display:grid;gap:4px;padding:11px 12px;border:1px solid #f0dfe3;border-radius:13px;background:#fff8fa}.product-photo-analysis b{font-size:11px}.product-photo-analysis span{color:var(--muted);font-size:9px;line-height:1.55}.product-photo-preview-actions{display:grid;grid-template-columns:72px 92px 1fr;gap:7px;margin-top:12px}.product-photo-preview-actions button{height:43px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font-size:10px;font-weight:700}.product-photo-preview-actions button.primary{border-color:var(--ink);background:var(--ink);color:#fff}
.product-photo-crop-controls{margin:10px 0;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.product-photo-crop-controls summary{padding:11px 0;font-size:11px;font-weight:750;cursor:pointer}.product-photo-crop-controls label{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:8px;margin:6px 0}.product-photo-crop-controls label span,.product-photo-crop-controls small{font-size:9px;color:var(--muted)}.product-photo-crop-controls small{display:block;padding:4px 0 10px}.product-photo-crop-controls input{width:100%;accent-color:var(--pink)}
.product-photo-clean-strength{display:grid;gap:8px;margin:0 0 11px;padding:11px 12px;border:1px solid #f0dfe3;border-radius:13px;background:#fff8fa}.product-photo-clean-strength>span,.product-photo-clean-strength>small{display:flex;align-items:center;justify-content:space-between}.product-photo-clean-strength b{font-size:11px}.product-photo-clean-strength output{color:var(--pink-dark);font-size:10px;font-weight:750}.product-photo-clean-strength input{width:100%;accent-color:var(--pink)}.product-photo-clean-strength small{color:var(--muted);font-size:8px}.product-photo-clean-strength small i{font-style:normal}.product-photo-clean-strength.is-original{opacity:.45;pointer-events:none}
.product-camera-sheet{max-height:96vh}.product-camera-preview{position:relative;margin-top:8px;overflow:hidden;border-radius:17px;background:#111;aspect-ratio:3/4}.product-camera-preview video{width:100%;height:100%;object-fit:cover}.product-camera-square{position:absolute;left:8%;right:8%;top:17%;aspect-ratio:1/1;border:1px solid #ffffffa8;pointer-events:none}.product-camera-square i{position:absolute;width:24px;height:24px;border-color:#fff;border-style:solid}.product-camera-square i:nth-child(1){left:-1px;top:-1px;border-width:3px 0 0 3px}.product-camera-square i:nth-child(2){right:-1px;top:-1px;border-width:3px 3px 0 0}.product-camera-square i:nth-child(3){left:-1px;bottom:-1px;border-width:0 0 3px 3px}.product-camera-square i:nth-child(4){right:-1px;bottom:-1px;border-width:0 3px 3px 0}.product-camera-status{margin:9px 0 0;text-align:center;color:var(--muted);font-size:9px}.product-camera-note{display:block;margin:6px 18px 0;color:var(--muted);font-size:9px;line-height:1.45;text-align:center}.product-camera-zoom{display:flex;justify-content:center;gap:9px;margin:10px 0}.product-camera-zoom button{width:48px;height:34px;border:1px solid var(--line);border-radius:18px;background:#fff;font-weight:750}.product-camera-zoom button.active{border-color:#211f20;background:#211f20;color:#fff}.product-camera-zoom button:disabled{opacity:.35}.product-camera-actions{display:grid;grid-template-columns:1fr 1.7fr;gap:8px}.product-camera-actions button{height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;font-weight:750}.product-camera-actions .primary{border-color:#211f20;background:#211f20;color:#fff}
@media(max-width:380px){.product-photo-editor{align-items:center}.image-uploader{width:96px;height:96px;flex-basis:96px}.product-photo-actions{grid-template-columns:1fr}.product-photo-preview-actions{grid-template-columns:62px 82px 1fr}}
.form-row { min-height: 52px; display: grid; grid-template-columns: 94px minmax(0,1fr); align-items: center; border-bottom: 1px solid #f0ecea; position: relative; }
.form-row:last-child { border-bottom: 0; }.form-row > span:first-child { font-size: 12px; }.form-row input,.form-row select { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; appearance: none; }.form-row input::placeholder { color: #b0a8a7; }.form-row select:invalid { color: #b0a8a7; }
.form-row.code-row { grid-template-columns: 94px minmax(0,1fr) 59px; }.code-row button { height: 31px; border: 0; border-radius: 9px; background: #f3efed; font-size: 9px; color: #6e6665; }.row-arrow { position: absolute; right: 2px; font-size: 21px; color: #aaa2a1; font-weight: 400; }.form-row select { padding-right: 24px; }
.attribute-section .form-section-title button { border: 0; background: var(--pink-soft); color: #b86370; height: 29px; padding: 0 10px; border-radius: 9px; font-size: 9px; white-space: nowrap; }
.selected-attribute-chips { display: flex; flex-wrap: wrap; gap: 7px; padding-bottom: 3px; }.selected-attribute-chip { height: 33px; border: 0; border-radius: 12px; background: #eef2f4; padding: 0 11px; font-size: 10px; touch-action: pan-y; user-select: none; -webkit-user-select: none; transition: transform .16s ease, box-shadow .16s ease; }.selected-attribute-chip b { margin-left: 7px; font-size: 14px; font-weight: 400; }.selected-attribute-chip.is-dragging { z-index: 3; transform: scale(1.06); box-shadow: 0 8px 22px rgba(61,45,49,.16); touch-action: none; }
.attribute-group { border-top: 7px solid #f4f6f7; margin: 11px -15px -1px; padding: 12px 15px 14px; background: #fff; }
.attribute-group-head { min-height: 40px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #eee9e7; }.attribute-title { font-size: 12px; }.attribute-title b { font-size: 13px; }.sku-toggle { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; }.sku-toggle input { appearance: none; width: 22px; height: 22px; border: 1px solid #cfc8c6; border-radius: 5px; margin: 0; background: #fff; }.sku-toggle input:checked { border-color: var(--pink); background: var(--pink); box-shadow: inset 0 0 0 4px #fff; }
.attribute-branch { padding-top: 11px; }.branch-label { color: var(--muted); font-size: 9px; margin-bottom: 7px; }
.option-chips { display: flex; flex-wrap: wrap; gap: 6px; }.option-chip { height: 29px; border: 1px solid #e5ddda; background: #fff; border-radius: 9px; padding: 0 9px; font-size: 10px; touch-action: pan-y; user-select: none; -webkit-user-select: none; transition: transform .16s ease, box-shadow .16s ease; }.option-chip.selected { border-color: #e0a1a9; background: #fff5f6; color: #b85e6b; }.option-chip b { margin-left: 5px; font-weight: 400; color: #b3aaa8; }.option-chip.is-dragging { z-index: 3; border-color: var(--pink); box-shadow: 0 8px 22px rgba(61,45,49,.16); transform: scale(1.06); touch-action: none; }.is-sorting-form-attributes { overflow: hidden; }
.add-option-row { display: grid; grid-template-columns: 1fr 50px; gap: 7px; margin-top: 8px; }.add-option-row input { min-width: 0; height: 32px; border: 1px solid #e7e0dd; border-radius: 9px; padding: 0 9px; outline: 0; font-size: 10px; }.add-option-row button { border: 0; border-radius: 9px; background: #eee9e6; font-size: 9px; }
.sku-count { border-radius: 12px; background: var(--sage-soft); color: #66806a!important; padding: 5px 8px; white-space: nowrap; }.sku-help { margin: -2px 0 10px; padding: 9px 10px; border-radius: 10px; background: #f6f4f2; color: var(--muted); font-size: 9px; line-height: 1.5; }.sku-variant-list { display: grid; gap: 8px; }.sku-empty { padding: 18px 8px; text-align: center; color: var(--muted); font-size: 10px; }.sku-variant { border: 1px solid #e9e2df; border-radius: 13px; padding: 11px; background: #fff; }.sku-variant-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }.sku-variant-head b { font-size: 11px; }.sku-variant-head span { font-size: 8px; color: var(--muted); }.sku-code-row { display: grid; grid-template-columns: 68px 1fr 56px; align-items: center; gap: 7px; }.sku-code-row label { font-size: 9px; color: var(--muted); }.sku-code-row input { min-width: 0; height: 34px; border: 1px solid #e6dfdc; border-radius: 9px; padding: 0 9px; outline: 0; font-size: 10px; }.sku-code-row button { height: 34px; border: 0; border-radius: 9px; background: #f2eeec; color: #6d6665; font-size: 9px; }.sku-price-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 9px; }.sku-price-grid label { display: grid; gap: 4px; color: var(--muted); font-size: 8px; }.sku-price-grid input { width: 100%; min-width: 0; height: 34px; border: 1px solid #e6dfdc; border-radius: 9px; padding: 0 8px; outline: 0; font-size: 10px; }.sku-section.manager .sku-admin-price { display: none; }.sku-section.manager .sku-price-grid { grid-template-columns: repeat(2,1fr); }.sku-section.clerk .sku-admin-price,.sku-section.clerk .sku-wholesale-price { display: none; }.sku-section.clerk .sku-price-grid { grid-template-columns: 1fr; }
.sku-bulk-prices { border: 1px solid #eadfdb; background: #fdf9f8; border-radius: 12px; padding: 10px; margin-bottom: 9px; }.sku-bulk-title { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 8px; }.sku-bulk-title b { font-size: 10px; }.sku-bulk-title span { color: var(--muted); font-size: 8px; }.sku-bulk-fields { display: grid; grid-template-columns: repeat(3,1fr) 58px; gap: 6px; align-items: end; }.sku-bulk-fields label { color: var(--muted); font-size: 8px; }.sku-bulk-fields input { width: 100%; min-width: 0; height: 31px; margin-top: 4px; border: 1px solid #e6dfdc; border-radius: 8px; padding: 0 7px; outline: 0; font-size: 9px; }.sku-bulk-fields button { height: 31px; border: 0; border-radius: 8px; background: var(--ink); color: #fff; font-size: 8px; }.sku-section.manager .sku-bulk-fields { grid-template-columns: repeat(2,1fr) 58px; }.sku-section.clerk .sku-bulk-fields { grid-template-columns: 1fr 58px; }
.sku-variant { padding: 9px; }.sku-variant-top { display: grid; grid-template-columns: 46px 1fr; gap: 9px; align-items: center; }.sku-thumb { width: 46px; height: 46px; border-radius: 10px; background: #f1edeb; overflow: hidden; position: relative; display: grid; place-items: center; color: #aaa2a1; font-size: 9px; }.sku-thumb img { width: 100%; height: 100%; object-fit: cover; }.sku-thumb input { display: none; }.sku-thumb label { position: absolute; inset: auto 0 0; height: 16px; display: grid; place-items: center; background: rgba(40,37,38,.68); color: #fff; font-size: 7px; cursor: pointer; }.sku-variant .sku-variant-head { margin: 0 0 6px; }.sku-variant .sku-code-row { grid-template-columns: 1fr 50px; }.sku-variant .sku-code-row label { display: none; }.sku-variant .sku-code-row input,.sku-variant .sku-code-row button { height: 30px; }.sku-variant .sku-price-grid { margin-top: 7px; }.sku-variant .sku-price-grid input { height: 30px; }
.sku-actions { position: relative; display: inline-flex; margin-left: 5px; }.sku-actions-trigger { width: 28px; height: 28px; border: 1px solid #e9e2df; border-radius: 8px; background: #fff; color: #746d69; font-size: 18px; line-height: 20px; padding: 0 0 6px; }.sku-actions-menu { position: absolute; z-index: 5; right: 0; top: 32px; display: grid; min-width: 92px; padding: 4px; border: 1px solid #e9e2df; border-radius: 10px; background: #fff; box-shadow: 0 8px 22px rgba(62,48,48,.14); }.sku-actions-menu[hidden] { display: none; }.sku-actions-menu button { border: 0; border-radius: 7px; background: transparent; padding: 8px 9px; text-align: left; white-space: nowrap; color: #5f5754; font-size: 10px; }.sku-actions-menu button:hover { background: #f8e8e9; }
.permission-badge { border-radius: 12px; background: var(--blue-soft); color: #617f92!important; padding: 5px 8px; }.price-section .form-row { grid-template-columns: 94px 20px 1fr; }.currency { color: var(--muted); font-size: 12px!important; }.permission-note { margin-top: 10px; border-radius: 11px; background: #f8f4f2; padding: 10px; display: flex; gap: 8px; align-items: flex-start; }.permission-note b { font-size: 9px; color: var(--pink); white-space: nowrap; }.permission-note span { font-size: 9px; color: var(--muted); line-height: 1.5; }
.price-section.manager .admin-price { display: none; }.price-section.clerk .admin-price,.price-section.clerk .form-row:nth-of-type(2) { display: none; }
.form-bottom { position: static; width: 100%; padding: 10px 16px calc(18px + env(safe-area-inset-bottom)); background: #f5f3f1; }.form-bottom button { width: 100%; height: 48px; border: 0; border-radius: 14px; background: var(--ink); color: #fff; font-weight: 650; }
.library-intro { display: grid; grid-template-columns: 94px 1fr; gap: 8px 10px; align-items: center; }.library-intro b { font-size: 11px; }.library-intro span { color: var(--muted); font-size: 9px; }.library-add-row { display: grid; grid-template-columns: 1fr 64px; gap: 8px; }.library-add-row input { min-width: 0; height: 40px; border: 1px solid var(--line); border-radius: 11px; padding: 0 11px; outline: 0; }.library-add-row button { border: 0; border-radius: 11px; background: var(--ink); color: #fff; font-size: 10px; }.library-list { display: grid; gap: 10px; }.library-category-card { background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 14px; }.library-category-head { display: flex; align-items: center; justify-content: space-between; gap:8px; padding-bottom: 11px; border-bottom: 1px solid #f0ecea; }.library-category-head>div{min-width:0;flex:1}.library-category-head div span { display:block;color: var(--muted); font-size: 8px; margin-bottom: 5px; }.library-category-rename{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:6px}.library-category-rename input{min-width:0;height:32px;border:1px solid #e3dcd9;border-radius:9px;padding:0 9px;background:#fff;font:inherit;font-size:13px;font-weight:650;outline:0}.library-category-rename button,.library-category-head .library-delete-button { border: 0; background: #f7eeee; color: #c27379; border-radius: 9px; height: 32px; padding: 0 9px; font-size: 9px; }.library-category-head .library-delete-button{flex:0 0 auto}.library-attributes { padding-top: 11px; }.library-attributes > span { display: block; color: var(--muted); font-size: 9px; margin-bottom: 7px; }.library-attribute-chips { display: flex; flex-wrap: wrap; gap: 6px;min-height:30px; }.library-attribute-chip { min-height: 32px;display:inline-flex;align-items:center;gap:4px;border: 1px solid #e3dcd9; background: #fff; border-radius: 10px; padding: 0 5px 0 10px; font-size: 10px;touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease }.library-attribute-chip>button{width:24px;height:24px;border:0;background:transparent;color:#b5adaa;font-size:14px}.library-attribute-chip.is-dragging{z-index:3;border-color:var(--pink);box-shadow:0 8px 22px rgba(61,45,49,.16);transform:scale(1.06);touch-action:none}.is-sorting-attributes{overflow:hidden}.library-attribute-add { display: grid; grid-template-columns: 1fr 54px; gap: 7px; margin-top: 9px; }.library-attribute-add input { min-width: 0; height: 34px; border: 1px solid #e5dedb; border-radius: 9px; padding: 0 9px; outline: 0; font-size: 10px; }.library-attribute-add button { border: 0; border-radius: 9px; background: var(--pink-soft); color: #b35f6b; font-size: 9px; }
.cloud-model-catalog{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;background:linear-gradient(135deg,#fff7fa,#f4f8ff)}.cloud-model-catalog-copy>span{display:block;color:var(--pink);font-size:9px;font-weight:700}.cloud-model-catalog-copy h3{margin:3px 0 4px;font-size:14px}.cloud-model-catalog-copy p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.cloud-model-catalog>button{height:36px;padding:0 12px;border:0;border-radius:11px;background:var(--ink);color:#fff;font-size:9px;font-weight:650}.cloud-model-catalog>button:disabled{opacity:.45}.cloud-model-catalog>small{grid-column:1/-1;color:var(--muted);font-size:8px;line-height:1.55}
.library-add-row{grid-template-columns:minmax(0,1fr) 132px}.library-add-row>button{display:flex;align-items:center;justify-content:center;text-align:center}.library-kind-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.library-kind-tabs button{display:flex;align-items:center;justify-content:center;text-align:center;padding:0 6px}.library-display-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:11px 0;padding:10px;border-radius:12px;background:#faf7f6}.library-display-settings>label{display:grid;gap:4px;color:var(--muted);font-size:8px}.library-display-settings select,.library-display-settings input[type="text"],.library-display-settings input[type="number"]{width:100%;min-width:0;height:32px;border:1px solid #e4ddda;border-radius:9px;background:#fff;padding:0 8px;font-size:9px}.library-display-toggles{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.library-display-toggles label{display:flex;align-items:center;gap:5px;min-height:29px;padding:0 8px;border:1px solid #eadfdd;border-radius:9px;background:#fff;color:var(--ink);font-size:8px}.library-display-toggles input{accent-color:var(--pink)}.library-category-merge{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:7px;margin-top:9px}.library-category-merge select{min-width:0;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 8px;font-size:9px}.library-category-merge button{border:0;border-radius:10px;background:#2b2827;color:#fff;font-size:8px}.library-category-unused{margin-top:9px;padding:9px 10px;border-radius:10px;background:#f3f8f4;color:#69816e;font-size:8px}
.product-card .product-image img { width: 100%; height: 100%; object-fit: cover; }.product-card .product-image.has-real-image::before,.product-card .product-image.has-real-image::after { display: none; }.mini-image img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }.mini-image.has-real-image::after { display: none; }.price-lines { margin-top: 4px; color: var(--muted); font-size: 8px!important; line-height: 1.5; }
.product-card .product-image.is-loading{background:linear-gradient(110deg,#f5eff0 8%,#fbf8f7 18%,#f5eff0 33%);background-size:200% 100%;animation:product-image-skeleton 1.15s linear infinite}
.product-card .product-image img{opacity:0;transition:opacity .16s ease}
.product-card .product-image img.media-ready{opacity:1}
@keyframes product-image-skeleton{to{background-position-x:-200%}}
.member-profile-card { border-radius: 19px; background: linear-gradient(135deg,#332f30,#51494a); color: #fff; padding: 17px; box-shadow: var(--shadow); }.member-profile-top { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; }.member-profile-avatar { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--pink); font-size: 16px; }.member-profile-top h3 { margin: 0 0 4px; font-size: 16px; }.member-profile-top p { margin: 0; color: #c6bfbe; font-size: 9px; }.member-level-tag { border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.1); padding: 5px 8px; font-size: 8px; }.member-profile-stats { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.13); }.member-profile-stats div { text-align: center; border-right: 1px solid rgba(255,255,255,.12); }.member-profile-stats div:last-child { border-right: 0; }.member-profile-stats strong,.member-profile-stats span { display: block; }.member-profile-stats strong { font-size: 13px; }.member-profile-stats span { color: #bcb5b4; font-size: 8px; margin-top: 4px; }.member-assets-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.member-assets-grid article { border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 12px; }.member-assets-grid span,.member-assets-grid small { display: block; color: var(--muted); font-size: 9px; }.member-assets-grid strong { display: block; margin: 7px 0 4px; font-size: 17px; }.record-filter { border: 0; background: #f3efed; border-radius: 9px; height: 29px; padding: 0 9px; color: var(--muted); font-size: 9px; }.consumption-list { display: grid; gap: 9px; }.consumption-card { border: 1px solid var(--line); border-radius: 13px; padding: 11px; background: #fff; }.consumption-head,.consumption-total { display: flex; justify-content: space-between; gap: 8px; }.consumption-head { padding-bottom: 8px; border-bottom: 1px solid #f0ecea; }.consumption-head b { font-size: 10px; }.consumption-head span { color: var(--muted); font-size: 8px; }.consumption-items { padding: 8px 0; display: grid; gap: 5px; }.consumption-item { display: flex; justify-content: space-between; gap: 8px; font-size: 9px; }.consumption-item span:last-child { color: var(--muted); }.consumption-meta { color: var(--muted); font-size: 8px; margin-bottom: 8px; }.consumption-total { align-items: flex-end; }.consumption-total span { color: var(--sage); font-size: 8px; }.consumption-total div { text-align: right; }.consumption-total small { display: block; color: var(--muted); font-size: 8px; margin-bottom: 3px; }.consumption-total strong { font-size: 14px; }.consumption-empty { padding: 24px 0; text-align: center; color: var(--muted); font-size: 10px; }
.member-money-row { grid-template-columns: 94px 20px 1fr; }.member-note-input { width: 100%; min-height: 96px; resize: vertical; border: 1px solid var(--line); border-radius: 12px; padding: 11px; outline: 0; color: var(--ink); font: inherit; font-size: 11px; line-height: 1.55; }.member-note-input::placeholder { color: #aaa2a1; }
.back-to-apps { margin-top: 12px; border: 0; background: transparent; padding: 0 2px; color: var(--muted); font-size: 10px; }.app-hub-grid { display: grid; gap: 9px; }.app-hub-grid button { min-height: 72px; display: grid; grid-template-columns: 43px 1fr auto; gap: 11px; align-items: center; border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 12px; text-align: left; }.app-hub-grid i { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 13px; font-style: normal; font-weight: 700; }.app-pink { background: var(--pink-soft); color: var(--pink); }.app-blue { background: var(--blue-soft); color: #66859a; }.app-sage { background: var(--sage-soft); color: var(--sage); }.app-hub-grid b,.app-hub-grid small { display: block; }.app-hub-grid b { font-size: 13px; margin-bottom: 4px; }.app-hub-grid small { color: var(--muted); font-size: 9px; }.app-hub-grid em { color: #aaa2a1; font-size: 20px; font-style: normal; }.app-mini-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }.app-mini-grid button { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 10px 4px; display: flex; flex-direction: column; align-items: center; gap: 7px; font-size: 9px; }.app-mini-grid i { width: 31px; height: 31px; border-radius: 10px; display: grid; place-items: center; background: #f2eeec; font-style: normal; }
.temporary-warehouse-guide{display:grid;gap:6px;margin-bottom:12px;padding:13px 14px;border:1px solid #efdfe3;border-radius:15px;background:#fff8fa}.temporary-warehouse-guide b{font-size:11px}.temporary-warehouse-guide span{color:var(--muted);font-size:9px;line-height:1.65}.temporary-warehouse-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.temporary-warehouse-summary article{padding:12px 10px;border:1px solid var(--line);border-radius:14px;background:#fff}.temporary-warehouse-summary span,.temporary-warehouse-summary strong{display:block}.temporary-warehouse-summary span{color:var(--muted);font-size:8px}.temporary-warehouse-summary strong{margin-top:7px;font-size:16px}.temporary-warehouse-list{display:grid;gap:11px;padding-bottom:90px}.temporary-product-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff}.temporary-product-card>header{display:grid;grid-template-columns:62px 1fr;gap:11px;padding:13px;border-bottom:1px solid #f0e9e7}.temporary-product-image{width:62px;height:62px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#f3efed;color:var(--muted);font-size:8px}.temporary-product-image img{width:100%;height:100%;object-fit:cover}.temporary-product-card header small{display:block;color:var(--muted);font-size:8px}.temporary-product-card header input{width:100%;margin-top:5px;border:0;border-bottom:1px solid #eadfdd;background:transparent;font-size:13px;font-weight:700;outline:0}.temporary-product-card header button{margin-top:7px;padding:0;border:0;background:transparent;color:#c06980;font-size:8px}.temporary-sku-list{display:grid}.temporary-sku-list>section{display:grid;gap:9px;padding:13px;border-bottom:1px solid #f0e9e7}.temporary-sku-list>section:last-child{border-bottom:0}.temporary-sku-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.temporary-sku-head b,.temporary-sku-head small{display:block}.temporary-sku-head b{font-size:11px}.temporary-sku-head small{margin-top:4px;color:var(--muted);font-size:7px}.temporary-sku-head em{padding:4px 7px;border-radius:999px;background:var(--sage-soft);color:var(--sage);font-size:7px;font-style:normal}.temporary-sku-list label:not(.temporary-publish-toggle){display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px;color:var(--muted);font-size:8px}.temporary-sku-list label input{min-width:0;height:36px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;outline:0}.temporary-publish-toggle{display:flex;align-items:center;gap:8px;font-size:8px}.temporary-publish-toggle input{width:17px;height:17px}.temporary-sku-actions{display:flex;justify-content:flex-end;gap:7px}.temporary-sku-actions button{height:34px;padding:0 13px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-size:8px}.temporary-sku-actions button.danger{border:1px solid #ead6d9;background:#fff;color:#b95e69}.temporary-warehouse-empty{display:grid;place-items:center;gap:7px;padding:42px 20px;border:1px dashed #dfd5d2;border-radius:16px;background:#fff;text-align:center}.temporary-warehouse-empty span{color:var(--muted);font-size:9px;line-height:1.6}.temporary-scan-error{padding:13px;border-radius:12px;background:#fff0f2;color:#b85d68;font-size:9px;line-height:1.5}
.purchase-product-list { display: grid; gap: 7px; max-height: 38dvh; overflow-y: auto; }.purchase-product-row { display: grid; grid-template-columns: 44px 1fr auto; gap: 9px; align-items: center; border: 1px solid var(--line); border-radius: 13px; background: #fff; padding: 8px; text-align: left; }.purchase-product-image { width: 44px; height: 44px; aspect-ratio: 1; overflow: hidden; border-radius: 9px; background: #f1edeb; display: grid; place-items: center; font-size: 8px; color: var(--muted); }.purchase-product-image img { width: 100%; height: 100%; object-fit: cover; }.purchase-product-row b,.purchase-product-row small { display: block; }.purchase-product-row b { font-size: 10px; margin-bottom: 3px; }.purchase-product-row small { font-size: 8px; color: var(--muted); }.purchase-product-row strong { font-size: 11px; color: var(--pink); }.purchase-cart-card { margin-top: 10px; border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 13px; }.purchase-cart-list { display: grid; gap: 7px; margin-top: 10px; }.purchase-cart-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; border-bottom: 1px solid #f1edeb; padding-bottom: 8px; }.purchase-cart-row b,.purchase-cart-row small { display: block; }.purchase-cart-row b { font-size: 10px; margin-bottom: 3px; }.purchase-cart-row small { color: var(--muted); font-size: 8px; }.purchase-cart-controls { display: flex; align-items: center; gap: 6px; }.purchase-cart-controls button { width: 30px; height: 30px; border: 0; border-radius: 9px; background: #f2eeec; }.purchase-cart-controls span { min-width: 20px; text-align: center; font-size: 10px; }.purchase-qty-input{width:42px;height:30px;padding:0 4px;border:1px solid #e5ddda;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:650;text-align:center;-moz-appearance:textfield}.purchase-qty-input::-webkit-inner-spin-button,.purchase-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.purchase-total { display: flex; justify-content: space-between; align-items: flex-end; padding: 12px 0; }.purchase-total span { color: var(--muted); font-size: 9px; }.purchase-total strong { font-size: 20px; }.save-purchase-button { width: 100%; height: 43px; border: 0; border-radius: 12px; background: var(--ink); color: #fff; font-weight: 650; }.save-purchase-button:disabled{opacity:.55;pointer-events:none}
.document-tabs { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 10px; scrollbar-width: none; }.document-tabs button { height: 30px; border: 0; border-radius: 16px; padding: 0 13px; background: #eeeae8; color: var(--muted); font-size: 10px; white-space: nowrap; }.document-tabs button.active { background: var(--ink); color: #fff; }.document-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 11px; }.document-summary article { border: 1px solid var(--line); background: #fff; border-radius: 13px; padding: 11px; }.document-summary span { display: block; color: var(--muted); font-size: 8px; }.document-summary strong { display: block; margin-top: 6px; font-size: 14px; }.document-list { display: grid; gap: 8px; }.document-card { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 11px; }.document-card-head,.document-card-total,.document-actions { display: flex; justify-content: space-between; align-items: center; }.document-type { padding: 4px 7px; border-radius: 8px; background: var(--blue-soft); color: #658197; font-size: 8px; }.document-status { color: var(--sage); font-size: 8px; }.document-card h3 { margin: 9px 0 4px; font-size: 11px; }.document-card p { margin: 0 0 8px; color: var(--muted); font-size: 8px; }.document-card-total { padding: 8px 0; border-top: 1px solid #f1edeb; }.document-card-total span { color: var(--muted); font-size: 8px; }.document-card-total strong { font-size: 14px; }.document-actions { justify-content: flex-end; gap: 7px; }.document-actions button { height: 27px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 0 9px; font-size: 8px; }.document-actions button.danger { color: #c06a70; }
.document-date-controls{display:grid;gap:7px;margin:0 0 10px}.document-period-tabs{display:flex;gap:7px;overflow-x:auto}.document-period-tabs button{height:30px;border:0;border-radius:16px;padding:0 13px;background:#eeeae8;color:var(--muted);font-size:10px;white-space:nowrap}.document-period-tabs button.active{background:var(--ink);color:#fff}.document-date-controls label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px}.document-date-controls input{height:30px;border:1px solid var(--line);border-radius:9px;padding:0 8px;background:#fff;color:var(--ink)}
.purchase-receive-toolbar { display:flex; align-items:center; gap:8px; min-height:38px; margin:0 0 10px; }.purchase-receive-toolbar[hidden] { display:none!important; }.purchase-receive-toolbar>button,.purchase-receive-toolbar div button { height:34px; border:0; border-radius:10px; padding:0 13px; background:var(--ink); color:#fff; font-size:9px; }.purchase-receive-toolbar>span { flex:1; color:var(--muted); font-size:8px; }.purchase-receive-toolbar>div { display:flex; gap:7px; }.purchase-receive-toolbar div button.secondary { background:#eeeae8; color:var(--ink); }.purchase-receive-resume { width:100%; min-height:42px; margin:-2px 0 10px; border:1px solid #efc8cc; border-radius:12px; padding:8px 12px; background:#fff5f6; color:#aa5961; text-align:left; font-size:9px; }.document-card.purchase-receive-selectable { position:relative; padding-left:43px; cursor:pointer; }.purchase-receive-check { position:absolute; left:12px; top:14px; width:22px; height:22px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; background:#fff; color:#fff; font-size:11px; font-style:normal; }.document-card.purchase-receive-selected { border-color:#d58491; background:#fffafb; }.document-card.purchase-receive-selected .purchase-receive-check { border-color:#d58491; background:#d58491; }.document-card.purchase-receive-disabled { opacity:.5; }.document-card.purchase-receive-selectable .document-actions { display:none; }
.ranking-hero { border-radius: 18px; padding: 18px; color: #fff; background: linear-gradient(135deg,#332f30,#554a4c); }.ranking-hero > span { color: #c8c1c0; font-size: 9px; }.ranking-hero > strong { display: block; margin: 8px 0 14px; font-size: 28px; }.ranking-hero div { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 6px; align-items: baseline; }.ranking-hero b { font-size: 12px; }.ranking-hero small { color: #bdb5b5; font-size: 8px; }.weekly-product-ranking { display: grid; }.weekly-rank-row { display: grid; grid-template-columns: 24px 44px 1fr auto; gap: 8px; align-items: center; padding: 9px 0; border-bottom: 1px solid #f1edeb; }.weekly-rank-row:last-child { border-bottom: 0; }.weekly-rank-no { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; background: #f2eeec; font-size: 9px; }.weekly-rank-no.top { background: var(--pink-soft); color: var(--pink); font-weight: 700; }.weekly-rank-image { width: 44px; height: 44px; aspect-ratio: 1; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: #f1edeb; color: var(--muted); font-size: 8px; }.weekly-rank-image img { width: 100%; height: 100%; object-fit: cover; }.weekly-rank-copy b,.weekly-rank-copy small { display: block; }.weekly-rank-copy b { font-size: 10px; margin-bottom: 3px; }.weekly-rank-copy small { color: var(--muted); font-size: 8px; }.weekly-rank-value { text-align: right; }.weekly-rank-value strong,.weekly-rank-value span { display: block; }.weekly-rank-value strong { font-size: 12px; }.weekly-rank-value span { margin-top: 3px; color: var(--muted); font-size: 8px; }
.model-sales-row { display: grid; grid-template-columns: 24px 34px 1fr auto; gap: 8px; align-items: center; padding: 10px 0; border-bottom: 1px solid #f1edeb; }.model-sales-row:last-child { border-bottom: 0; }.model-phone-icon { width: 31px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: var(--blue-soft); color: #748e9e; font-size: 19px; }.model-sales-row b,.model-sales-row small { display: block; }.model-sales-row b { font-size: 11px; margin-bottom: 3px; }.model-sales-row small { color: var(--muted); font-size: 8px; }.model-sales-row > strong { font-size: 13px; }
@media (min-width: 700px) { .app-shell { min-height: 900px; margin-top: 25px; border-radius: 30px; box-shadow: none; } .bottom-nav { bottom: 25px; border-radius: 0 0 30px 30px; box-shadow: none; } .cart-fab,.stocktake-cart-fab { bottom:calc(103px + env(safe-area-inset-bottom)); } }
@media (max-width: 360px) { .quick-tools small { display: none; } .stock-summary { grid-template-columns: 1fr 1fr; }.stock-summary .warning { grid-column: span 2; } }
/* iOS Safari 会自动放大字号小于 16px 的表单；移动端统一到 16px，保持输入过程不跳变。 */
@media (max-width: 699px) {
  input, textarea, select { font-size: 16px !important; }
}
.product-page-header { display:grid; grid-template-columns:auto 1fr 40px; gap:10px; align-items:center; padding:15px 0 10px; }.product-page-header>div { text-align:center; }.product-page-header h1 { margin:0; font-size:17px; }.product-page-header p { margin:4px 0 0; color:var(--muted); font-size:8px; }.product-new-top { height:36px; border:0; border-radius:11px; padding:0 10px; background:var(--ink); color:#fff; font-size:10px; }.product-search-toggle { width:38px; height:38px; border:0; background:transparent; font-size:28px; line-height:1; }.product-search-panel { display:none; margin-bottom:9px; }.product-search-panel.show { display:flex; }
.product-detail-page { background:#f6f8f9; }.product-detail-page .form-header { background:#fff; }.detail-edit-button { width:38px; height:38px; border:0; background:transparent; font-size:24px; }.product-detail-content { padding-bottom:82px; }.detail-product-summary { background:#fff; padding:18px 16px 15px; }.detail-product-summary h2 { margin:0 0 20px; font-size:15px; font-weight:500; }.detail-category-row { display:grid; grid-template-columns:90px 1fr; padding:13px 0; border-bottom:1px solid #eee; }.detail-category-row span { color:var(--muted); font-size:11px; }.detail-category-row b { color:#8d8887; font-size:11px; font-weight:500; }.detail-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.detail-metrics span,.detail-metrics strong { display:block; }.detail-metrics span { color:var(--muted); font-size:9px; }.detail-metrics strong { margin-top:7px; font-size:13px; font-weight:500; }.detail-price-metrics { padding:14px 0; }.detail-sales-metrics { padding-top:9px; }.stock-link { text-decoration:underline; text-decoration-color:#73a8c2; text-underline-offset:3px; }.detail-sku-section { margin-top:9px; background:#fff; }.detail-sku-section>h3 { margin:0; padding:16px; border-bottom:1px solid #eee; font-size:14px; font-weight:500; }.detail-sku-card { padding:14px 16px; border-bottom:1px solid #e9e9e9; }.detail-sku-card h4 { margin:0 0 13px; font-size:12px; font-weight:500; }.detail-sku-body { display:grid; grid-template-columns:76px 1fr; gap:13px; }.detail-sku-image { width:76px; height:76px; display:grid; place-items:center; overflow:hidden; border-radius:5px; background:#eee; color:#aaa; font-size:28px; }.detail-sku-image img { width:100%; height:100%; object-fit:cover; }.detail-sku-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:13px 10px; }.detail-sku-metrics>span { color:var(--muted); font-size:8px; }.detail-sku-metrics strong { display:block; margin-top:6px; color:var(--ink); font-size:12px; font-weight:500; }.detail-sku-metrics i { font-style:normal; }.detail-bottom-actions { position:absolute; z-index:5; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:10px 18px calc(12px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #eee; }.detail-bottom-actions button { height:44px; border:0; border-radius:22px; background:#1675eb; color:#fff; font-size:12px; }.detail-bottom-actions button:last-child { background:#35c9e4; }
.transit-stock { display:inline-block!important; margin-left:4px; color:#4b9a68!important; font-style:normal; font-weight:700; font-size:8px; }
.member-consumption-list .consumption-card,.consumption-list .consumption-card { width:100%; text-align:left; }
.member-assets-grid article,.member-assets-grid button { border:1px solid var(--line); border-radius:14px; background:#fff; padding:12px; text-align:left; }.member-assets-grid button span,.member-assets-grid button small { display:block; color:var(--muted); font-size:9px; }.member-assets-grid button strong { display:block; margin:7px 0 4px; font-size:17px; }.payment-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:0 0 12px; }.payment-benefits button { min-width:0; border:1px solid var(--line); background:#faf7f5; border-radius:11px; min-height:38px; padding:7px 5px; font-size:8px; color:var(--ink); }.payment-benefits button.selected { border-color:var(--pink); color:var(--pink); background:var(--pink-soft); }.asset-summary { background:linear-gradient(135deg,#332f30,#51494a); color:#fff; border-radius:18px; padding:18px; margin-bottom:12px; }.asset-summary span,.asset-summary strong { display:block; }.asset-summary span { opacity:.65; font-size:10px; }.asset-summary strong { font-size:28px; margin-top:8px; }.asset-ledger,.settings-list,.benefit-list { display:grid; gap:8px; }.asset-ledger article,.settings-list article,.benefit-list button { border:1px solid var(--line); background:#fff; border-radius:13px; padding:12px; }.asset-ledger article { display:grid; grid-template-columns:1fr auto; gap:5px; }.asset-ledger small,.settings-list small,.benefit-list small { color:var(--muted); font-size:9px; }.asset-ledger strong.plus { color:var(--sage); }.asset-ledger strong.minus { color:#d46f74; }.settings-list article { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; }.settings-list label { display:flex; align-items:center; gap:8px; }.settings-list input { width:76px; border:1px solid var(--line); border-radius:8px; padding:7px; }.benefit-list button { width:100%; display:flex; justify-content:space-between; align-items:center; text-align:left; }.app-hidden { display:none !important; }
.member-card-ledger-item{cursor:pointer;align-items:center}.member-card-ledger-item:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.member-card-ledger-item em,.card-usage-record em{display:block;margin-top:5px;color:var(--pink);font-size:9px;font-style:normal}.member-card-usage-meta{display:grid;gap:1px;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.member-card-usage-meta>div,.member-card-usage-meta>button{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left}.member-card-usage-meta>:last-child{border-bottom:0}.member-card-usage-meta span{color:var(--muted)}.member-card-usage-list article{align-items:start}.member-card-usage-list article>span{display:grid;justify-items:end;gap:6px}.member-card-usage-list button{border:0;background:transparent;color:var(--pink);padding:2px;font-size:9px}.card-usage-record.is-restored{background:#faf8f7}.card-usage-record.is-restored>span>strong{color:var(--sage)}
.member-action-fields { display:grid; gap:8px; margin-bottom:12px; }.member-action-fields label { display:grid; grid-template-columns:100px 1fr; align-items:center; gap:8px; border:1px solid var(--line); background:#fff; border-radius:11px; padding:9px 11px; font-size:10px; }.member-action-fields input,.member-action-fields select { border:0; outline:0; width:100%; font:inherit; }
.template-delete { width:34px; height:34px; border:0; border-radius:11px; background:#fff0f1; color:#d36d74; display:grid; place-items:center; font-size:16px; }.template-delete:hover { background:#f9dfe2; }.template-card-main { display:flex; gap:10px; align-items:center; }.template-icon { width:36px; height:36px; border-radius:11px; background:var(--pink-soft); color:var(--pink); display:grid; place-items:center; font-weight:700; }
.business-overview-card { margin:10px 0 13px; min-height:220px; padding:22px 18px 17px; border-radius:22px; color:#fff; background:radial-gradient(circle at 47% 58%,rgba(255,255,255,.08),transparent 31%),linear-gradient(145deg,#3d3b3b,#222); box-shadow:0 12px 28px rgba(43,38,38,.18); }.business-overview-card>span { color:#aaa; font-size:12px; }.business-overview-card>strong { display:block; font-size:29px; margin:9px 0 24px; }.business-overview-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.business-overview-grid button { min-height:57px; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:rgba(255,255,255,.055); color:#fff; padding:9px; text-align:left; }.business-overview-grid small,.business-overview-grid em { display:block; font-style:normal; }.business-overview-grid small { color:#aaa; font-size:9px; margin-bottom:5px; }.business-overview-grid em { font-size:11px; }.business-overview-grid b { font-weight:600; }
.permission-hidden { display:none !important; }
.native-select-hidden { display:none !important; }.custom-select-trigger { width:100%; min-height:35px; border:0; background:transparent; text-align:left; color:var(--ink); font:inherit; }.app-select-options { display:grid; gap:7px; }.app-select-options button { width:100%; min-height:48px; border:1px solid var(--line); border-radius:13px; background:#fff; padding:10px 12px; display:flex; justify-content:space-between; align-items:center; text-align:left; }.app-select-options button.selected { border-color:var(--pink); background:var(--pink-soft); }.app-select-options i { font-style:normal; color:var(--pink); }.document-note-button { width:100%; margin:10px 0; border:1px solid var(--line); border-radius:13px; background:#fff; padding:12px; display:flex; gap:7px; text-align:left; }.document-note-button span { flex:1; color:var(--muted); }.document-note-button em { font-style:normal; color:var(--pink); }
#rankingList .rank-row { width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; }.rank-row.clickable { cursor:pointer; }.rank-row small { display:block; margin-top:4px; color:var(--muted); font-size:7px; }.rank-row.clickable div>span { color:#4d8f62; }
.sales-period-grid { grid-template-columns:repeat(2,1fr)!important; }
.member-discount-row { grid-template-columns:94px minmax(0,1fr) 18px; }.member-discount-row input { text-align:right; }.discount-suffix { justify-self:end; color:var(--muted); font-size:9px; font-weight:500; }
.settings-list .member-level-rule { grid-template-columns:1fr; gap:10px; padding:12px; }.level-rule-copy { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }.level-rule-copy b { display:block; font-size:11px; }.level-rule-copy small { display:block; margin-top:4px; font-size:7px; line-height:1.45; }.level-rule-controls { display:grid; grid-template-columns:1fr 1fr; gap:7px; align-items:end; }.level-rule-controls label { display:grid; gap:4px; color:var(--muted); font-size:8px; }.level-input-wrap { height:32px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:3px; border:1px solid var(--line); border-radius:9px; background:#faf9f8; padding:0 8px; }.level-input-wrap i { color:#aaa2a1; font-size:8px; font-style:normal; }.settings-list .level-input-wrap input { width:100%; min-width:0; border:0; border-radius:0; background:transparent; padding:0; text-align:right; font-size:10px; outline:0; }.level-rule-copy .template-delete { flex:0 0 32px; width:32px; height:32px; }
.form-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.form-header-actions .form-save{position:static;min-width:48px}.form-save.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}
.template-stats-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.template-stats-summary article{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;min-width:0}.template-stats-summary span,.template-stats-summary small{display:block;color:var(--muted);font-size:8px}.template-stats-summary strong{display:block;margin:7px 0 3px;font-size:18px}.template-stats-list{display:grid;gap:10px}.template-stats-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px}.template-stats-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #f0ecea}.template-stats-card h3{margin:0 0 4px;font-size:12px}.template-stats-card header small{color:var(--muted);font-size:8px}.template-stats-card header b{color:var(--pink);font-size:10px}.template-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 0}.template-stats-grid div{border-radius:10px;background:#faf8f6;padding:8px}.template-stats-grid span,.template-stats-grid strong{display:block}.template-stats-grid span{color:var(--muted);font-size:7px}.template-stats-grid strong{margin-top:4px;font-size:11px}.template-member-list{display:grid;gap:6px}.template-member-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding-top:7px;border-top:1px dashed #eee7e3}.template-member-row:first-child{border-top:0}.template-member-row b,.template-member-row small{display:block}.template-member-row b{font-size:9px}.template-member-row small{color:var(--muted);font-size:7px;margin-top:2px}.template-member-row>strong{font-size:9px;color:#655d5a}
.points-redeem-preview { padding:10px 12px; border-radius:11px; background:var(--pink-soft); color:#9e616a; font-size:9px; text-align:center; }
.receipt-member-row b { color:var(--pink); font-weight:650; }
.member-heading-actions { display:flex; align-items:center; gap:7px; }.member-heading-actions .soft-button,.member-heading-actions .primary-small { white-space:nowrap; }
.member-heading-actions button{border-radius:999px}
.member-level-tag { border:1px solid rgba(255,255,255,.2); color:#fff; cursor:pointer; }.member-level-tag::after { content:' ›'; color:#eab6bd; }
.permission-role-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:4px; border-radius:14px; background:#ece8e6; }.permission-role-tabs button { height:38px; border:0; border-radius:11px; background:transparent; color:var(--muted); font-size:10px; }.permission-role-tabs button.active { background:#fff; color:var(--ink); font-weight:700; box-shadow:0 3px 10px rgba(55,45,45,.08); }
.system-settings-card { border:1px solid var(--line); border-radius:17px; background:#fff; padding:14px; margin-bottom:12px; }.system-settings-card>h3 { margin:0; font-size:14px; }.system-settings-card>p { margin:5px 0 13px; color:var(--muted); font-size:9px; }.account-option-list { display:grid; gap:8px; }.account-option { width:100%; display:grid; grid-template-columns:42px 1fr auto; gap:10px; align-items:center; border:1px solid var(--line); border-radius:14px; background:#fff; padding:10px; text-align:left; }.account-option.selected { border-color:#dfabb2; background:#fff8f8; box-shadow:0 5px 16px rgba(188,120,130,.09); }.account-option-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#f0ecea; color:var(--ink); font-size:14px; font-weight:750; }.account-option.selected .account-option-avatar { background:#eed0d4; }.account-option b,.account-option small { display:block; }.account-option b { margin-bottom:4px; font-size:11px; }.account-option small { color:var(--muted); font-size:8px; }.account-option i { width:20px; height:20px; display:grid; place-items:center; border:1px solid #d6cfcd; border-radius:50%; color:transparent; font-size:10px; font-style:normal; }.account-option.selected i { border-color:#d98995; background:#d98995; color:#fff; }.current-account-summary { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.current-account-summary div { border-radius:12px; background:#f6f3f1; padding:11px; }.current-account-summary span,.current-account-summary strong { display:block; }.current-account-summary span { color:var(--muted); font-size:8px; }.current-account-summary strong { margin-top:5px; font-size:11px; }
.permission-explain { margin:11px 0; padding:12px; border:1px solid #eadfdb; border-radius:13px; background:#fdf9f8; }.permission-explain b,.permission-explain span { display:block; }.permission-explain b { font-size:12px; }.permission-explain span { margin-top:5px; color:var(--muted); font-size:8px; line-height:1.5; }
.permission-matrix { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }.permission-matrix-head,.permission-matrix article { display:grid; grid-template-columns:minmax(0,1fr) 52px 52px; align-items:center; gap:5px; }.permission-matrix-head { min-height:38px; padding:0 12px; background:#f5f2f0; color:var(--muted); font-size:8px; }.permission-matrix-head b { text-align:center; font-size:8px; }.permission-matrix article { min-height:62px; padding:9px 12px; border-top:1px solid #f0ecea; }.permission-matrix article b,.permission-matrix article small { display:block; }.permission-matrix article b { font-size:10px; }.permission-matrix article small { margin-top:4px; color:var(--muted); font-size:7px; line-height:1.4; }
.permission-switch { justify-self:center; position:relative; width:38px; height:22px; }.permission-switch input { position:absolute; opacity:0; pointer-events:none; }.permission-switch i { position:absolute; inset:0; border-radius:12px; background:#ddd8d6; transition:.18s; }.permission-switch i::after { content:''; position:absolute; width:18px; height:18px; left:2px; top:2px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.16); transition:.18s; }.permission-switch input:checked+i { background:var(--pink); }.permission-switch input:checked+i::after { transform:translateX(16px); }
#productGrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
#productGrid .product-card { border-radius:12px; box-shadow:0 2px 8px rgba(66,48,48,.025); }
#productGrid .product-image::before { width:38px; height:60px; border-width:3px; border-radius:10px; }
#productGrid .product-image::after { width:15px; height:15px; border-width:2px; border-radius:5px; top:18px; left:calc(50% - 15px); }
#productGrid .product-card .info { padding:7px 8px 8px; }
#productGrid .product-card h3 { margin-bottom:4px; font-size:10px; }
#productGrid .product-card .meta strong { font-size:12px; }
#productGrid .product-card .meta span { font-size:8px; }
.full-document-item.returned { opacity:.55; background:#f3f1ef; }.full-document-item.returned .full-item-check { border-color:#d78a91; color:#bd646b; }
.receipt-date-filter { display:flex; align-items:end; gap:9px; margin-bottom:10px; }.receipt-date-filter label { flex:1; display:grid; gap:5px; color:var(--muted); font-size:8px; }.receipt-date-filter input { width:100%; height:40px; border:1px solid var(--line); border-radius:11px; padding:0 10px; background:#fff; color:var(--ink); }.receipt-date-filter button { height:40px; border:0; border-radius:11px; padding:0 13px; background:#eeeae8; color:var(--ink); font-size:9px; }.receipt-list-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:10px; }.receipt-list-summary article { padding:11px; border:1px solid var(--line); border-radius:13px; background:#fff; }.receipt-list-summary span,.receipt-list-summary strong,.receipt-list-summary small { display:block; }.receipt-list-summary span,.receipt-list-summary small { color:var(--muted); font-size:7px; }.receipt-list-summary strong { margin:6px 0 3px; font-size:13px; }.receipt-page-list { padding:0; }
.sales-period-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:11px; }.sales-period-grid button { min-width:0; padding:13px 10px; border:1px solid var(--line); border-radius:15px; background:#fff; text-align:left; }.sales-period-grid span,.sales-period-grid strong,.sales-period-grid small { display:block; }.sales-period-grid span { color:var(--muted); font-size:8px; }.sales-period-grid strong { margin:8px 0 5px; font-size:14px; }.sales-period-grid small { color:#6e9a79; font-size:7px; }.sales-orders-page { z-index:85; background:#f6f8f9; }.document-detail-page { z-index:90; }.sales-orders-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:11px 12px; }.sales-orders-summary article { padding:11px; border:1px solid var(--line); border-radius:13px; background:#fff; }.sales-orders-summary span,.sales-orders-summary strong { display:block; }.sales-orders-summary span { color:var(--muted); font-size:8px; }.sales-orders-summary strong { margin-top:7px; font-size:13px; }.sales-orders-list { display:grid; gap:8px; padding:0 12px 24px; }.sales-orders-list button { display:grid; grid-template-columns:auto 1fr auto; gap:9px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:13px; background:#fff; text-align:left; }.sales-orders-list b,.sales-orders-list small,.sales-orders-list strong,.sales-orders-list em { display:block; }.sales-orders-list b { font-size:10px; }.sales-orders-list small { margin-top:4px; color:var(--muted); font-size:8px; }.sales-orders-list button>span:last-child { text-align:right; }.sales-orders-list strong { font-size:11px; }.sales-orders-list em { margin-top:4px; color:var(--sage); font-size:7px; font-style:normal; }
.product-filter-form { display:grid; gap:11px; }.product-filter-form label { display:grid; gap:6px; color:var(--muted); font-size:9px; }.product-filter-form select { width:100%; height:43px; border:1px solid var(--line); border-radius:11px; padding:0 11px; background:#fff; color:var(--ink); }.product-filter-form>div { display:grid; grid-template-columns:1fr 1.5fr; gap:9px; margin-top:4px; }.product-filter-form button { height:43px; border:0; border-radius:11px; background:#eeeae8; color:var(--ink); font-weight:650; }.product-filter-form button:last-child { background:var(--ink); color:#fff; }
.app-confirm-layer { position:fixed; inset:0; z-index:160; display:grid; place-items:center; padding:22px; background:rgba(36,31,32,.42); opacity:0; pointer-events:none; transition:opacity .2s; backdrop-filter:blur(3px); }.app-confirm-layer.show { opacity:1; pointer-events:auto; }.app-confirm-card { width:min(100%,330px); max-height:calc(100dvh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); display:flex; flex-direction:column; overflow:hidden; padding:22px 18px 16px; border-radius:22px; background:#fff; box-shadow:0 22px 65px rgba(38,30,31,.24); text-align:center; transform:scale(.94); transition:transform .2s; }.app-confirm-layer.show .app-confirm-card { transform:scale(1); }.app-confirm-icon { flex:0 0 auto; width:48px; height:48px; display:grid; place-items:center; margin:0 auto 12px; border-radius:16px; background:var(--pink-soft); color:var(--pink); font-weight:700; }.app-confirm-card h3 { flex:0 0 auto; margin:0; font-size:16px; }.app-confirm-card>p { flex:0 0 auto; margin:9px 0 0; color:#5f5959; font-size:11px; line-height:1.55; }.app-confirm-detail { min-height:0; max-height:min(55dvh,520px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; margin-top:12px; padding:10px; border-radius:11px; background:#f7f4f2; color:var(--muted); white-space:pre-line; font-size:9px; line-height:1.55; text-align:left; }.app-confirm-actions { flex:0 0 auto; display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:16px; }.app-confirm-actions button { height:42px; border:0; border-radius:12px; background:#eeeae8; color:var(--ink); font-weight:650; }.app-confirm-actions button:last-child { background:var(--ink); color:#fff; }.app-confirm-actions button.danger { background:#e75f69; color:#fff; }
.detail-header-actions { display:flex; align-items:center; gap:6px; }.detail-delete-button,.detail-edit-button { width:auto; min-width:44px; height:32px; padding:0 10px; border:1px solid #eadfdb; border-radius:999px; background:#fff; font-size:10px; font-weight:700; white-space:nowrap; }.detail-delete-button { border-color:#f0d9dc; background:#fff5f6; color:#c75e67; }.detail-edit-button { color:#625a58; }
.document-picker-row.selected { border-color:#8db9d1; background:#f3f9fc; }
.document-sku-picker-page { z-index:100; background:#f6f8f9; overflow:hidden; }.document-sku-picker-content { height:calc(100dvh - 64px); overflow-y:auto; padding:11px 12px 92px; }.document-sku-picker-list { display:grid; gap:8px; margin-top:10px; }.document-picker-row { display:grid; grid-template-columns:52px 1fr auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:13px; background:#fff; }.document-picker-image { width:52px; height:52px; display:grid; place-items:center; overflow:hidden; border-radius:10px; background:#eee; color:var(--muted); font-size:8px; }.document-picker-image img { width:100%; height:100%; object-fit:cover; }.document-picker-row b,.document-picker-row small { display:block; }.document-picker-row b { font-size:10px; }.document-picker-row small { margin-top:5px; color:var(--muted); font-size:8px; }.document-picker-add { height:32px; border:0; border-radius:9px; padding:0 10px; background:var(--ink); color:#fff; font-size:9px; }.document-picker-qty { display:flex; gap:6px; align-items:center; }.document-picker-qty button { width:28px; height:28px; border:0; border-radius:8px; background:#f0ecea; }.document-picker-qty strong { min-width:18px; text-align:center; font-size:10px; }.document-sku-picker-bottom { position:absolute; left:0; right:0; bottom:0; z-index:3; display:flex; justify-content:space-between; align-items:center; padding:10px 16px calc(12px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--line); }.document-sku-picker-bottom span { font-size:10px; }.document-sku-picker-bottom button { height:42px; border:0; border-radius:12px; padding:0 20px; background:var(--ink); color:#fff; font-weight:650; }
.document-detail-page { background:#f6f8f9; overflow:hidden; }.document-detail-page .form-header { background:#fff; }.full-document-content { height:calc(100dvh - 64px); overflow-y:auto; padding-bottom:92px; }.document-status-flow { display:flex; gap:3px; padding:14px 14px 12px; background:#fff; overflow:hidden; }.document-status-flow span { flex:1; min-width:0; height:34px; display:grid; place-items:center; background:#c7c7c7; color:#fff; font-size:9px; clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%,10% 50%); }.document-status-flow span:first-child { clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%); }.document-status-flow span.done { background:#59d6a0; }.document-status-flow span.active { background:#1677ed; }.full-document-info { padding:0 16px; background:#fff; }.full-document-info>div { min-height:52px; display:grid; grid-template-columns:105px 1fr; align-items:center; border-bottom:1px solid #eee; }.full-document-info span { color:#777; font-size:10px; }.full-document-info b { color:#969292; font-size:10px; font-weight:500; }.full-document-products { margin-top:9px; background:#fff; }.full-document-products-head { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; border-bottom:1px solid #eee; }.full-document-products-head h3 { margin:0; font-size:13px; }.full-document-products-head span { display:block; margin-top:8px; color:var(--muted); font-size:8px; }.full-document-products-head>div:last-child { display:flex; gap:8px; }.full-document-products-head button { width:36px; height:36px; display:grid; place-items:center; border:0; background:transparent; font-size:25px; }.full-document-products-head button:last-child { font-size:18px; }.full-document-item { width:100%; display:grid; grid-template-columns:20px 70px 1fr auto; gap:10px; align-items:center; padding:14px 16px; border:0; border-bottom:1px solid #eee; background:#fff; text-align:left; }.full-document-item.selected { background:#f2f8ff; }.full-item-check { width:18px; height:18px; display:grid; place-items:center; border:1px solid #ccc; border-radius:4px; color:#1677ed; font-size:10px; font-style:normal; }.full-document-item .document-item-image { width:70px; height:70px; }.full-document-item b,.full-document-item small,.full-document-item em { display:block; }.full-document-item b { font-size:10px; }.full-document-item small { margin-top:5px; color:var(--muted); font-size:9px; }.full-document-item em { margin-top:10px; color:#777; font-size:8px; font-style:normal; }.full-document-item>strong { font-size:20px; font-weight:400; }.full-document-actions { position:absolute; left:0; right:0; bottom:0; z-index:12; display:flex; justify-content:flex-end; gap:10px; padding:10px 18px calc(12px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #eee; }.full-document-actions:empty { display:none; }.full-document-actions button { min-width:96px; height:44px; border:0; border-radius:22px; background:#1677ed; color:#fff; }.full-document-actions button.danger { background:#ff4f57; }
html,body,button,a,input,select,textarea,[role="button"]{touch-action:manipulation}.full-document-content{scrollbar-width:none;-ms-overflow-style:none}.full-document-content::-webkit-scrollbar{display:none;width:0;height:0}
.temporary-sku-actions{align-items:center}.temporary-retire-lock{margin-right:auto;color:#aa817f;font-size:7px}
.temporary-cost-private{padding:9px 10px;border-radius:10px;background:#f7f4f2;color:#948b87;font-size:8px;text-align:center}
.temporary-image-upload{display:inline-flex!important;align-items:center;margin-top:7px;color:#c06980!important;font-size:8px!important;cursor:pointer}.temporary-image-upload input{display:none}
.stocktake-detail-tabs[hidden]{display:none}
.stocktake-detail-tabs{position:sticky;top:0;z-index:7;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:9px 12px;border-bottom:1px solid #eee5e2;background:rgba(255,253,251,.94);box-shadow:0 7px 16px rgba(70,55,57,.035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.stocktake-detail-tabs button{min-width:0;height:38px;padding:0 4px;border:1px solid #eadfdb;border-radius:12px;background:#fff;color:#827976;font-size:9px;white-space:nowrap}
.stocktake-detail-tabs button.active{border-color:#282425;background:#282425;color:#fff;font-weight:750}
.stocktake-detail-tabs button b{margin-left:3px;color:#d87596;font:inherit}.stocktake-detail-tabs button.active b{color:#ffc4d6}
.full-document-item.stocktake-document-item{grid-template-columns:34px 64px minmax(0,1fr) auto;cursor:default}
.full-document-item.readonly{grid-template-columns:70px minmax(0,1fr) auto;cursor:default}
.stocktake-line-state{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:10px;background:#e9f3ec;color:#66826d;font-size:9px;font-style:normal;font-weight:800}
.stocktake-document-item.pending{background:#fffcf8}.stocktake-document-item.pending .stocktake-line-state{background:#fff0db;color:#a9783c}
.stocktake-document-item.mismatch .stocktake-line-state{background:#fff0f2;color:#c76572}
.stocktake-document-item .stocktake-line-summary{margin-top:7px!important;line-height:1.55}.stocktake-document-item .stocktake-line-summary.pending{color:#a9783c}.stocktake-document-item .stocktake-line-summary.loss{color:#c76572}.stocktake-document-item .stocktake-line-summary.gain{color:#4f8e65}
.stocktake-document-item>strong{min-width:58px;color:#7e7573;font-size:10px;text-align:right}.stocktake-document-item>strong.loss{color:#c76572}.stocktake-document-item>strong.gain{color:#4f8e65}
.stocktake-detail-empty{min-height:240px;display:grid;place-items:center;align-content:center;gap:8px;color:#9d9491;text-align:center}.stocktake-detail-empty b{color:#4f4947;font-size:13px}.stocktake-detail-empty span{font-size:9px}
.stocktake-detail-more{width:calc(100% - 24px);height:42px;margin:10px 12px 16px;border:1px solid #eadfdb;border-radius:14px;background:#fff;color:#6f6765}
.stocktake-inline-edit-row{display:grid;gap:10px;padding:13px 14px;border-bottom:1px solid #eee;background:#fff}
.stocktake-inline-edit-row.pending{background:#fffcf8}.stocktake-inline-edit-row.mismatch{background:#fffafb}
.stocktake-inline-main{display:grid;grid-template-columns:34px 60px minmax(0,1fr);gap:10px;align-items:center}
.stocktake-inline-main .document-item-image{width:60px;height:60px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#eee;color:var(--muted);font-size:8px}
.stocktake-inline-main .document-item-image img{width:100%;height:100%;object-fit:cover}
.stocktake-inline-main b,.stocktake-inline-main small,.stocktake-inline-main em{display:block}.stocktake-inline-main b{font-size:10px}.stocktake-inline-main small{margin-top:4px;color:var(--muted);font-size:8px}.stocktake-inline-main em{margin-top:6px;font-size:8px;font-style:normal;line-height:1.45}
.stocktake-inline-controls{display:grid;grid-template-columns:minmax(82px,.7fr) minmax(170px,1.3fr);gap:8px;padding-left:44px}
.stocktake-inline-controls>button{min-width:0;height:38px;border:1px solid #e7dcd8;border-radius:11px;background:#fff;color:#746b68;font-size:9px}
.stocktake-inline-stepper{display:grid;grid-template-columns:38px minmax(58px,1fr) 38px;height:38px;overflow:hidden;border:1px solid #e2d8d4;border-radius:11px;background:#fff}
.stocktake-inline-stepper button{border:0;background:#f5f1ef;color:#342f2e;font-size:18px}.stocktake-inline-stepper input{min-width:0;border:0;background:#fff;text-align:center;font-size:12px;outline:0}
.full-document-actions .stocktake-inline-cancel{border:1px solid #ead8d8!important;background:rgba(255,249,249,.84)!important;color:#9a686d!important}
.document-stocktake-progress{display:flex!important;flex-wrap:wrap;gap:7px;margin-top:8px}.document-stocktake-progress b{padding:4px 8px;border-radius:999px;background:#f4f0ee;color:#756c69;font-size:8px}.document-stocktake-progress b.pending{background:#fff0db;color:#a9783c}.document-stocktake-progress b.mismatch{background:#fff0f2;color:#c76572}
.product-detail-page { overflow:hidden!important; }.product-detail-page .product-detail-content { height:calc(100dvh - 64px); overflow-y:auto; padding-bottom:96px; }.product-detail-page .detail-bottom-actions { position:absolute; left:0; right:0; bottom:0; z-index:12; }

.detail-header-actions{display:flex;align-items:center;gap:2px}.detail-performance-button{height:32px;padding:0 10px;border:1px solid #eadfdb;border-radius:999px;background:#fff8f6;color:#a66c74;font-size:10px;font-weight:700}.chart-card.clickable{cursor:pointer}.chart-card.clickable:active{transform:scale(.995)}
.product-detail-page .form-header{grid-template-columns:42px minmax(0,1fr) auto}.product-detail-page .form-header>div:nth-child(2){min-width:0}.product-detail-page .form-header h2,.product-detail-page .form-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-detail-page .detail-header-actions{min-width:max-content;flex-wrap:nowrap;justify-content:flex-end}
.cloud-settings-card{display:grid;gap:10px}.cloud-setting-field{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:8px;padding:9px 0;border-top:1px solid #f0ecea;font-size:9px}.cloud-setting-field input,.cloud-setting-field select{min-width:0;height:38px;padding:0 11px;border:1px solid #e7dfdc;border-radius:11px;background:#fbfaf9;color:var(--ink);font-size:9px}.cloud-setting-field select{appearance:auto}.cloud-setting-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cloud-setting-actions button{height:38px;border:1px solid #e3d9d5;border-radius:12px;background:#fff;color:#443d3b;font-size:10px}.cloud-conflict-summary{padding:10px 12px;border-radius:12px;background:#f8f5f3;color:#746a66;font-size:8px;line-height:1.55}.cloud-settings-card>small{color:var(--muted);font-size:8px;line-height:1.6}
.production-reset-card{border-color:#ecd9d9;background:#fffafa}.production-reset-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.production-reset-heading h3{margin:0;font-size:14px}.production-reset-heading p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.production-reset-heading>b{flex:0 0 auto;padding:5px 9px;border-radius:12px;background:#f5e9e9;color:#b76f75;font-size:8px}.production-reset-heading>b.official{background:#eaf4ec;color:#668d70}.production-reset-summary{margin:12px 0 9px;padding:10px 11px;border-radius:12px;background:#fff;color:#6e6664;font-size:9px;line-height:1.65}.production-reset-card>button{width:100%;height:42px;border:1px solid #d88389;border-radius:13px;background:#fff;color:#bd626a;font-weight:700;font-size:10px}.production-reset-card>small{display:block;margin-top:8px;color:#a09692;font-size:8px;line-height:1.55}
.style-performance-page,.hourly-sales-page{background:#f6f7f7}.style-performance-content,.hourly-sales-content{height:calc(100dvh - 64px);overflow-y:auto;padding:12px 13px 35px}.performance-view-tabs,.hourly-type-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding:4px;border-radius:14px;background:#ebe8e6}.hourly-type-tabs{grid-template-columns:repeat(3,1fr)}.performance-view-tabs button,.hourly-type-tabs button{height:38px;border:0;border-radius:11px;background:transparent;color:#817875;font-size:10px}.performance-view-tabs button.active,.hourly-type-tabs button.active{background:#fff;color:#222;box-shadow:0 4px 14px rgba(66,48,41,.08);font-weight:700}.performance-period-tabs{display:flex;gap:6px;margin:10px 0 12px;overflow-x:auto}.performance-period-tabs button{flex:0 0 auto;height:31px;padding:0 12px;border:1px solid #e6dedb;border-radius:999px;background:#fff;color:#777;font-size:9px}.performance-period-tabs button.active{border-color:#282423;background:#282423;color:#fff}.performance-conclusion{padding:16px;border:1px solid #ebe3df;border-radius:18px;background:#fff}.performance-conclusion small{color:#9a8f89;font-size:8px}.performance-conclusion h3{margin:6px 0 5px;font-size:16px}.performance-conclusion p{margin:0;color:#6e6561;font-size:9px;line-height:1.65}.performance-conclusion.good{background:#f3faf6;border-color:#d9ede0}.performance-conclusion.adjust{background:#fff8ef;border-color:#f0dfc6}.performance-conclusion.weak{background:#fff5f4;border-color:#efd9d7}.performance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.performance-grid article{min-height:63px;padding:10px 8px;border:1px solid #ebe5e2;border-radius:14px;background:#fff}.performance-grid span,.performance-grid strong{display:block}.performance-grid span{color:#928985;font-size:7px}.performance-grid strong{margin-top:7px;font-size:11px}.performance-section{margin-top:10px;padding:14px;border:1px solid #ebe5e2;border-radius:18px;background:#fff}.performance-section-head h3{margin:0;font-size:13px}.performance-section-head p{margin:4px 0 11px;color:#918985;font-size:8px}.performance-sku-row{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,.6fr);gap:7px;align-items:center;padding:11px 0;border-top:1px solid #f0ecea;text-align:left}.performance-sku-row:first-child{border-top:0}.performance-sku-row>div b,.performance-sku-row>div small,.performance-sku-row>div em,.performance-sku-row>span small,.performance-sku-row>span strong{display:block}.performance-sku-row b{font-size:10px}.performance-sku-row small{margin-top:3px;color:#999;font-size:7px}.performance-sku-row strong{font-size:10px}.performance-sku-row .sold-out{color:#d46e76}.performance-sku-row .action{color:#a35f6b}.performance-sku-row>div em{width:max-content;max-width:100%;margin-top:5px;padding:3px 5px;border-radius:999px;background:#f3f0ee;color:#776d69;font-size:6px;font-style:normal}.performance-sku-row.sold-out>div em{background:#fff0f1;color:#bc5b67}.performance-sku-row.trial>div em{background:#fff0f4;color:#ab5e6d}.performance-sku-row.missing>div em{background:#f1f0ef;color:#817976}.performance-sku-row p{grid-column:1/-1;margin:0;color:#817874;font-size:7px;line-height:1.5}.performance-reasons{display:grid;gap:8px}.performance-reasons article{padding:10px;border-radius:12px;background:#f8f6f5}.performance-reasons b{font-size:9px}.performance-reasons p{margin:4px 0 0;color:#766d69;font-size:8px;line-height:1.6}
.performance-sku-selector{display:flex;gap:7px;margin:-2px 0 11px;padding-bottom:2px;overflow-x:auto}.performance-sku-selector[hidden]{display:none}.performance-sku-selector button{flex:0 0 auto;min-width:78px;padding:8px 11px;border:1px solid #e5ddda;border-radius:12px;background:#fff;color:#756d69;text-align:left}.performance-sku-selector b,.performance-sku-selector small{display:block}.performance-sku-selector b{font-size:9px}.performance-sku-selector small{margin-top:3px;color:#aaa;font-size:7px}.performance-sku-selector button.active{border-color:#282423;background:#282423;color:#fff}.performance-sku-selector button.active small{color:#d9d3d0}.performance-sku-row{width:100%;border-right:0;border-bottom:0;border-left:0;background:transparent;color:#222;text-align:left}.performance-sku-row:first-child{border-top:0}.performance-sku-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.performance-sku-detail article{padding:10px;border-radius:12px;background:#f8f6f5}.performance-sku-detail span,.performance-sku-detail strong{display:block}.performance-sku-detail span{color:#968d88;font-size:7px}.performance-sku-detail strong{margin-top:5px;font-size:9px;line-height:1.4}
.replenishment-summary-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:15px;border:1px solid #eadfdc;border-radius:18px;background:linear-gradient(135deg,#fff8f8,#fff 58%,#f4faf6)}.replenishment-summary-copy{min-width:0}.replenishment-summary-copy span,.replenishment-summary-copy strong,.replenishment-summary-copy small{display:block}.replenishment-summary-copy span{color:#a36a75;font-size:8px;font-weight:700}.replenishment-summary-copy strong{margin-top:5px;font-size:14px}.replenishment-summary-copy small{margin-top:5px;color:#8f8581;font-size:8px;line-height:1.45}.replenishment-summary-card>button{flex:0 0 auto;height:36px;padding:0 13px;border:1px solid #eadfdb;border-radius:999px;background:#fff;color:#8f5e68;font-size:9px;font-weight:700}
.replenishment-advice-page{background:#f6f5f3}.replenishment-advice-content{height:calc(100dvh - 64px);overflow-y:auto;padding:12px 13px calc(42px + env(safe-area-inset-bottom))}.replenishment-advice-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.replenishment-advice-overview article{padding:12px 9px;border:1px solid #ebe3df;border-radius:14px;background:#fff}.replenishment-advice-overview span,.replenishment-advice-overview strong{display:block}.replenishment-advice-overview span{color:#958a86;font-size:7px}.replenishment-advice-overview strong{margin-top:7px;font-size:13px}.replenishment-filter-tabs{display:flex;gap:7px;margin:11px 0;overflow-x:auto}.replenishment-filter-tabs button{flex:0 0 auto;height:34px;padding:0 12px;border:1px solid #e7deda;border-radius:999px;background:#fff;color:#746b68;font-size:9px}.replenishment-filter-tabs button b{display:inline-grid;place-items:center;min-width:17px;height:17px;margin-left:4px;border-radius:9px;background:#f1ecea;font-size:7px}.replenishment-filter-tabs button.active{border-color:#292526;background:#292526;color:#fff}.replenishment-filter-tabs button.active b{background:#fff;color:#292526}.replenishment-advice-list{display:grid;gap:9px}.replenishment-advice-row{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:11px;border:1px solid #e9e1dd;border-radius:17px;background:#fff;color:#282425;text-align:left}.replenishment-advice-row.recommended{border-color:#ebcfd4;background:linear-gradient(135deg,#fff7f8,#fff)}.replenishment-product-image{width:58px;height:58px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#f1ecea;color:#a79c98;font-size:8px}.replenishment-product-image img{width:100%;height:100%;object-fit:cover}.replenishment-product-copy small,.replenishment-product-copy b,.replenishment-product-copy em,.replenishment-product-copy strong,.replenishment-product-copy i{display:block}.replenishment-product-copy small{color:#b46c79;font-size:7px;font-weight:700}.replenishment-product-copy b{margin-top:3px;font-size:10px}.replenishment-product-copy em{margin-top:3px;color:#908681;font-size:7px;font-style:normal}.replenishment-product-copy strong{margin-top:6px;color:#2f6f49;font-size:9px}.replenishment-product-copy i{margin-top:3px;color:#766c68;font-size:7px;font-style:normal}.replenishment-advice-row.covered .replenishment-product-copy strong{color:#817874}.replenishment-row-arrow{color:#b7adaa;font-size:20px}.replenishment-empty{padding:32px 18px;border:1px dashed #ded4d0;border-radius:17px;background:#fff;text-align:center}.replenishment-empty b,.replenishment-empty span{display:block}.replenishment-empty b{font-size:11px}.replenishment-empty span{margin-top:7px;color:#928985;font-size:8px;line-height:1.6}.replenishment-advice-note{margin:14px 5px 0;color:#9b918d;font-size:7px;line-height:1.55}
.performance-replenishment-section .performance-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.performance-lifecycle{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f1ecea;color:#716865;font-size:7px}.performance-lifecycle.new{background:#fff0f3;color:#af5f6e}.performance-lifecycle.stable{background:#edf7f0;color:#4a8460}.performance-replenishment-summary{margin:9px 0;padding:11px;border-radius:13px;background:#f8f5f3}.performance-replenishment-summary b,.performance-replenishment-summary span{display:block}.performance-replenishment-summary b{font-size:10px}.performance-replenishment-summary span{margin-top:4px;color:#857b77;font-size:7px}.performance-replenishment-list{display:grid}.performance-replenishment-list article{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,.62fr);gap:6px;align-items:center;padding:10px 0;border-top:1px solid #f0ecea}.performance-replenishment-list article:first-child{border-top:0}.performance-replenishment-list article>div b,.performance-replenishment-list article>div small,.performance-replenishment-list article>span small,.performance-replenishment-list article>span b{display:block}.performance-replenishment-list article>div b{font-size:9px}.performance-replenishment-list article>div small,.performance-replenishment-list article>span small{margin-top:3px;color:#99908c;font-size:6px}.performance-replenishment-list article>span b{margin-top:3px;font-size:9px}.performance-replenishment-list article>p{grid-column:1/-1;margin:0;color:#817874;font-size:7px;line-height:1.5}.performance-replenishment-list article.suggested>span:last-of-type b{color:#c05f70}
.hourly-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:11px 0}.hourly-summary article{padding:12px 9px;border:1px solid #ebe3df;border-radius:14px;background:#fff}.hourly-summary span,.hourly-summary strong{display:block}.hourly-summary span{color:#918985;font-size:8px}.hourly-summary strong{margin-top:7px;font-size:11px}.hourly-summary p{grid-column:1/-1;margin:0;padding:11px 12px;border-radius:13px;background:#fff8ef;color:#6b615c;font-size:9px;line-height:1.6}.hourly-period-list,.hourly-order-list{display:grid;margin-top:10px;border:1px solid #ebe3df;border-radius:16px;background:#fff;overflow:hidden}.hourly-period-list button{display:grid;grid-template-columns:76px 1fr 66px 34px;align-items:center;gap:7px;min-height:47px;padding:7px 11px;border:0;border-top:1px solid #f1edeb;background:#fff;text-align:left;font-size:9px}.hourly-period-list button:first-child{border-top:0}.hourly-period-list i{height:6px;border-radius:999px;background:#f1edeb;overflow:hidden}.hourly-period-list em{display:block;height:100%;border-radius:inherit;background:#dc8f99}.hourly-period-list strong{text-align:right}.hourly-period-list small{color:#999;text-align:right}.hourly-order-list button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border:0;border-top:1px solid #f1edeb;background:#fff;text-align:left}.hourly-order-list button:first-child{border-top:0}.hourly-order-list b,.hourly-order-list small{display:block}.hourly-order-list b{font-size:9px}.hourly-order-list small{margin-top:4px;color:#999;font-size:7px}.hourly-order-list strong{font-size:10px}
.detail-stock-button { display:block; width:100%; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; }.detail-stock-button span,.detail-stock-button i,.detail-stock-button strong { display:block; }.detail-stock-button i { color:var(--muted); font-size:8px; }.detail-stock-button strong { margin-top:6px; color:var(--ink); font-size:12px; font-weight:500; }
.document-edit-add { display:grid; grid-template-columns:1fr auto; gap:8px; margin-bottom:10px; }.document-edit-add select { min-width:0; height:40px; border:1px solid var(--line); border-radius:10px; padding:0 9px; background:#fff; }.document-edit-add button { border:0; border-radius:10px; padding:0 11px; background:var(--ink); color:#fff; font-size:9px; }.document-edit-items { display:grid; gap:7px; max-height:48dvh; overflow:auto; }.document-edit-row { display:grid; grid-template-columns:40px 1fr auto auto; gap:8px; align-items:center; padding:9px; border:1px solid var(--line); border-radius:12px; }.document-edit-row b,.document-edit-row small { display:block; }.document-edit-row b { font-size:9px; }.document-edit-row small { margin-top:3px; color:var(--muted); font-size:7px; }.document-edit-qty { display:flex; align-items:center; gap:5px; }.document-edit-qty button { width:25px; height:25px; border:0; border-radius:7px; background:#f1edeb; }.document-edit-qty strong { min-width:18px; text-align:center; font-size:10px; }.document-edit-delete { border:0; background:transparent; color:#c26d74; font-size:8px; }.document-edit-footer { display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:11px; border-top:1px solid var(--line); }.document-edit-footer span { font-size:10px; }.document-edit-footer>button { height:39px; border:0; border-radius:10px; padding:0 18px; background:var(--ink); color:#fff; font-weight:650; }
.warehouse-stock-label { display:block; margin-top:5px; color:var(--muted); font-size:8px; text-decoration:underline; text-decoration-color:#7fa9c1; text-underline-offset:3px; }.warehouse-stock-value { display:block; margin-top:4px; color:var(--ink); font-size:15px!important; line-height:1; }.warehouse-stock-value .transit-stock { margin-left:2px; font-size:13px!important; }
.warehouse-stock-button { display:block; margin-left:auto; padding:0; border:0; background:transparent; text-align:right; cursor:pointer; }.warehouse-stock-button .warehouse-stock-label { margin-top:5px; }.document-detail-item { display:grid; grid-template-columns:40px 1fr auto; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid #eae5e2; }.document-detail-item:last-child { border-bottom:0; }.document-item-image { width:40px; height:40px; overflow:hidden; display:grid; place-items:center; border-radius:8px; background:#e9e7e6; color:var(--muted); font-size:7px; }.document-item-image img { width:100%; height:100%; object-fit:cover; }.document-detail-item b,.document-detail-item small { display:block; }.document-detail-item b { font-size:9px; }.document-detail-item small { margin-top:3px; color:var(--muted); font-size:7px; }.document-detail-item>strong { font-size:10px; }
.inventory-list .stock-row { width:100%; text-align:left; }.inventory-trace-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }.inventory-trace-summary article { padding:11px; border:1px solid var(--line); border-radius:12px; background:#fff; }.inventory-trace-summary span,.inventory-trace-summary strong { display:block; }.inventory-trace-summary span { color:var(--muted); font-size:8px; }.inventory-trace-summary strong { margin-top:6px; font-size:16px; }.trace-transit { color:#4b9a68; }.inventory-trace-list { display:grid; gap:8px; }.inventory-trace-list button { width:100%; display:grid; grid-template-columns:auto 1fr auto; gap:9px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:12px; background:#fff; text-align:left; }.inventory-trace-list b,.inventory-trace-list small { display:block; }.inventory-trace-list b { font-size:10px; }.inventory-trace-list small { margin-top:3px; color:var(--muted); font-size:8px; }.inventory-trace-list button>span:last-child { display:flex; align-items:center; gap:7px; }.inventory-trace-list em { color:var(--sage); font-size:8px; font-style:normal; }.inventory-trace-list i { color:var(--muted); font-size:18px; font-style:normal; }
.purchase-cart-row em,.purchase-product-row em { display:block; margin-top:3px; color:var(--sage); font-size:8px; font-style:normal; }
.purchase-action-nav { display:flex; justify-content:flex-end; gap:8px; margin:10px 0; }
.purchase-action-nav button { height:38px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); }
.purchase-add-button { width:42px; font-size:24px; line-height:1; }
.purchase-edit-button { min-width:76px; padding:0 13px; font-size:10px; }
.purchase-edit-button.active { border-color:#d7969f; background:#fff5f6; color:#bc6f7a; }
.purchase-cart-main { margin-top:0; }
/* 采购车保持页头、合计和保存操作固定，仅让明细区域滚动。 */
.view[data-view="purchase"].active { height:calc(100dvh - 86px - env(safe-area-inset-bottom)); min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.view[data-view="purchase"].active .purchase-cart-main { min-height:0; flex:1; display:flex; flex-direction:column; overflow:hidden; }
.view[data-view="purchase"].active .purchase-cart-list { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:2px 3px 12px; }
.purchase-delete-selected { height:30px; border:0; border-radius:10px; padding:0 11px; background:#fff0f1; color:#c45e6c; font-size:9px; }
.purchase-cart-row.editing { grid-template-columns:28px 1fr; align-items:center; }
.purchase-cart-row.editing .purchase-cart-mainline { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; }
.purchase-select-circle { width:22px; height:22px; border:1.5px solid #cfc6c4; border-radius:50%; background:#fff; color:transparent; display:grid; place-items:center; padding:0; font-size:11px; }
.purchase-select-circle.selected { border-color:#d78391; background:#d78391; color:#fff; box-shadow:0 3px 9px rgba(190,100,115,.2); }
.purchase-picker-page { background:#f5f3f1; overflow:hidden; }
.purchase-picker-content { height:calc(100dvh - 78px); min-height:0; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding-bottom:max(36px,env(safe-area-inset-bottom)); }
.purchase-picker-page .purchase-product-list { max-height:none; overflow:visible; margin-top:12px; padding-bottom:28px; }
.purchase-picker-page .purchase-product-row { min-height:66px; grid-template-columns:52px 1fr auto; padding:9px; }
.purchase-picker-page .purchase-product-image { width:52px; height:52px; }
.refresh-rate-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.refresh-rate-heading h3 { margin:0; font-size:14px; }
.refresh-rate-heading p { margin:5px 0 12px; color:var(--muted); font-size:9px; }
.refresh-rate-heading b { flex:none; padding:5px 8px; border-radius:9px; background:#eef5ef; color:#60866a; font-size:9px; }
.refresh-rate-switch { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #f0ecea; padding-top:11px; font-size:10px; }
.refresh-rate-switch input { position:absolute; opacity:0; pointer-events:none; }
.refresh-rate-switch i { width:42px; height:24px; border-radius:20px; background:#d8d3d1; position:relative; transition:.2s; }
.refresh-rate-switch i::after { content:''; position:absolute; width:20px; height:20px; left:2px; top:2px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.18); transition:.2s; }
.refresh-rate-switch input:checked+i { background:#83a58b; }
.refresh-rate-switch input:checked+i::after { transform:translateX(18px); }
.order-benefits { margin:10px 0 0; padding:10px; border:1px solid #eee5e2; border-radius:14px; background:#fbf8f7; }
.order-benefits[hidden] { display:none; }
.order-benefits .payment-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.order-benefits .payment-benefits button { min-height:40px; padding:8px; background:#fff; font-size:9px; text-align:left; }
.order-benefits .payment-benefits button[hidden] { display:none; }
.order-sku-card { margin-top:10px; padding:0 10px; border:1px solid #eee9e7; border-radius:14px; background:#fff; }
.order-sku-card .cart-lines { margin:0; padding:10px 0; }
.payment-sheet .payment-benefits { display:none; }
#paymentSheet .payment-grid { grid-template-columns:repeat(3,1fr); }
.document-create-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-bottom:10px; }.document-create-actions button { height:38px; border:0; border-radius:11px; background:var(--ink); color:#fff; font-size:9px; }.document-filter-row { display:grid; gap:8px; margin-bottom:8px; }.document-filter-row .document-tabs { padding-bottom:0; }.document-date-controls { display:grid; gap:7px; }.document-period-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }.document-period-tabs button { height:30px; border:0; border-radius:16px; background:#eeeae8; color:var(--muted); font-size:10px; }.document-period-tabs button.active { background:var(--ink); color:#fff; }.document-date-controls>label { display:flex; align-items:center; justify-content:flex-end; gap:7px; color:var(--muted); font-size:9px; }.document-filter-row input { height:31px; border:1px solid var(--line); border-radius:9px; padding:0 8px; background:#fff; color:var(--ink); }.document-detail { display:none; padding:9px; margin:8px 0; border-radius:10px; background:#f7f4f2; }.document-detail.show { display:block; }.document-detail>b { font-size:9px; }.document-detail p { display:flex; justify-content:space-between; gap:9px; margin:7px 0 0; color:var(--ink); }.document-detail p span { color:var(--muted); text-align:right; }.stock-document-form { display:grid; gap:10px; }.stock-document-form label { display:grid; gap:5px; color:var(--muted); font-size:9px; }.stock-document-form input,.stock-document-form select { width:100%; height:40px; border:1px solid var(--line); border-radius:10px; padding:0 10px; background:#fff; outline:0; color:var(--ink); }.stock-document-form>button { height:45px; border:0; border-radius:12px; background:var(--ink); color:#fff; font-weight:650; }
.supplier-list { display:grid; gap:9px; }.supplier-card { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border:1px solid var(--line); border-radius:15px; background:#fff; }.supplier-card>div { display:flex; gap:10px; align-items:center; }.supplier-mark { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:var(--sage-soft); color:var(--sage); font-weight:700; }.supplier-card b,.supplier-card small,.supplier-card em { display:block; }.supplier-card b { font-size:11px; }.supplier-card small,.supplier-card em { margin-top:3px; color:var(--muted); font-size:8px; font-style:normal; }.supplier-card button { border:0; border-radius:9px; background:#f2eeec; height:30px; padding:0 10px; font-size:9px; }.supplier-select-list { display:grid; gap:7px; }.supplier-select-list button { display:flex; justify-content:space-between; align-items:center; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; text-align:left; }.supplier-select-list button.selected { border-color:var(--sage); background:var(--sage-soft); }.supplier-select-list b,.supplier-select-list small { display:block; }.supplier-select-list b { font-size:11px; }.supplier-select-list small { margin-top:3px; color:var(--muted); font-size:8px; }.supplier-select-list i { color:var(--sage); font-style:normal; }.supplier-form { display:grid; gap:9px; }.supplier-form label { display:grid; gap:5px; color:var(--muted); font-size:9px; }.supplier-form input { height:40px; border:1px solid var(--line); border-radius:10px; padding:0 11px; outline:0; }.supplier-form button { height:43px; border:0; border-radius:11px; background:var(--ink); color:#fff; font-weight:650; }
.sku-purchase-stepper { display:flex; align-items:center; gap:5px; }
.sku-purchase-stepper button { width:28px; height:28px; border:0; border-radius:9px; background:#f0ecea; color:var(--ink); font-size:16px; }
.sku-purchase-stepper button:last-child { background:var(--ink); color:#fff; }
.sku-purchase-stepper span { min-width:22px; text-align:center; font-size:11px; font-weight:700; }
.sku-purchase-stepper .sku-qty-direct-input { width:48px; height:28px; border:1px solid var(--line); border-radius:9px; background:#fff; text-align:center; font-size:12px; font-weight:700; color:var(--ink); }
.purchase-cart-unit-price { color:var(--ink); font-weight:650; }
.purchase-line-edit-sheet { max-height:78dvh; }
.purchase-line-summary { display:grid; grid-template-columns:96px 1fr; gap:14px; align-items:center; padding:6px 0 14px; border-bottom:1px solid var(--line); }
.purchase-line-image { width:96px; height:96px; display:grid; place-items:center; overflow:hidden; border-radius:13px; background:#f1edeb; color:var(--muted); font-size:9px; }
.purchase-line-image img { width:100%; height:100%; object-fit:cover; }
.purchase-line-summary h3 { margin:0; font-size:14px; }
.purchase-line-summary p { margin:8px 0 0; color:var(--muted); font-size:10px; }
.purchase-line-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:14px 0; }
.purchase-line-metrics span,.purchase-line-metrics b { display:block; }
.purchase-line-metrics span { color:var(--muted); font-size:8px; }
.purchase-line-metrics b { margin-top:5px; color:var(--ink); font-size:12px; }
.purchase-line-controls { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:8px 0 18px; }
.purchase-line-controls>label { display:grid; gap:7px; color:var(--muted); font-size:9px; }
.purchase-line-controls input { width:100%; height:42px; border:1px solid var(--line); border-radius:11px; background:#fff; padding:0 10px; color:var(--ink); font-size:13px; }
.purchase-line-controls input:disabled { background:#f3f0ee; color:var(--muted); }
.purchase-line-stepper { display:grid; grid-template-columns:40px 1fr 40px; }
.purchase-line-stepper button { border:1px solid var(--line); background:#f2eeec; color:var(--ink); font-size:18px; }
.purchase-line-stepper button:first-child { border-radius:11px 0 0 11px; }
.purchase-line-stepper button:last-child { border-radius:0 11px 11px 0; background:var(--ink); color:#fff; }
.purchase-line-stepper input { border-left:0; border-right:0; border-radius:0; text-align:center; }
.full-document-item:has(>.full-document-item-body){grid-template-columns:36px minmax(0,1fr)}
.full-document-item.readonly:has(>.full-document-item-body){grid-template-columns:minmax(0,1fr)}
.full-document-item-body{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;border:0;background:transparent;text-align:left;padding:0;width:100%;min-width:0;color:inherit}
button.full-document-item-body{cursor:pointer}
.full-document-item>button.full-item-check{width:36px;height:36px;background:transparent;cursor:pointer}
.full-document-item>button.full-item-check:disabled{cursor:default}
.cashier-sku-row.purchase-quantity { grid-template-columns:52px 1fr auto; }
.stock-qty-stepper { display:grid; grid-template-columns:42px 1fr 42px; gap:7px; margin-top:7px; }
.stock-qty-stepper button { height:42px; border:1px solid var(--line); border-radius:11px; background:#f2eeec; color:var(--ink); font-size:20px; }
.stock-qty-stepper button:last-child { border-color:var(--ink); background:var(--ink); color:#fff; }
.stock-qty-stepper input { margin:0!important; text-align:center; }
.bottom-sheet.purchase-mode { max-height:92dvh; padding:10px 0 calc(82px + env(safe-area-inset-bottom)); overflow:hidden; }
.bottom-sheet.purchase-mode>.sheet-handle { margin-bottom:8px; }
.bottom-sheet.purchase-mode>.sheet-title { padding:0 18px; margin-bottom:8px; }
.bottom-sheet.purchase-mode>.sheet-title>div { display:none; }
.purchase-sku-summary { display:grid; grid-template-columns:112px 1fr; gap:14px; padding:4px 18px 15px; border-bottom:1px solid var(--line); }
.purchase-sku-summary[hidden],.purchase-bulk-row[hidden],.purchase-sku-footer[hidden] { display:none!important; }
.purchase-sku-main-image { width:112px; height:112px; overflow:hidden; display:grid; place-items:center; border-radius:12px; background:#eee; color:#aaa; font-size:10px; }
.purchase-sku-main-image img { width:100%; height:100%; object-fit:cover; }
.purchase-sku-summary h3 { margin:4px 0 12px; font-size:14px; font-weight:600; }
.purchase-sku-main-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:11px 8px; }
.purchase-sku-main-metrics span,.purchase-sku-main-metrics b { display:block; }
.purchase-sku-main-metrics span { color:var(--muted); font-size:8px; }
.purchase-sku-main-metrics b { margin-top:5px; color:var(--ink); font-size:11px; font-weight:500; }
.purchase-bulk-row { min-height:62px; display:flex; align-items:center; justify-content:space-between; padding:10px 20px; border-bottom:1px solid var(--line); }
.purchase-bulk-row>strong { font-size:13px; }
.bottom-sheet.purchase-mode .cashier-sku-list { max-height:calc(92dvh - 284px); padding:0 18px; gap:0; }
.bottom-sheet.purchase-mode .cashier-sku-row { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:13px 0; }
.purchase-sku-copy b { font-size:11px; }
.purchase-sku-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.purchase-sku-metrics span,.purchase-sku-metrics b { display:block; }
.purchase-sku-metrics span { color:var(--muted); font-size:7px; }
.purchase-sku-metrics b { margin-top:4px; font-size:10px; font-weight:500; }
.purchase-sku-footer { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:10px 20px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fff; }
.purchase-sku-footer button { width:100%; height:50px; border:0; border-radius:25px; background:#1677ed; color:#fff; font-size:14px; }
.stocktake-cart-fab { position:fixed; z-index:31; left:50%; bottom:calc(78px + env(safe-area-inset-bottom)); transform:translateX(-50%); width:min(calc(100% - 34px),486px); height:53px; border:0; border-radius:16px; padding:0 18px; display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; background:#1677ed; color:#fff; box-shadow:0 13px 25px rgba(22,119,237,.25); text-align:left; }
.stocktake-cart-fab[hidden] { display:none; }
.stocktake-cart-fab b { min-width:24px; height:24px; display:grid; place-items:center; border-radius:12px; background:#fff; color:#1677ed; }
.stocktake-cart-fab strong { font-size:9px; font-weight:500; }
.stocktake-cart-sheet { max-height:88dvh; }
.stocktake-cart-list { display:grid; gap:8px; max-height:48dvh; overflow-y:auto; margin:10px 0; }
.stocktake-cart-row { display:grid; grid-template-columns:46px 1fr auto; gap:9px; align-items:center; padding:9px; border:1px solid var(--line); border-radius:13px; }
.stocktake-cart-row .cashier-sku-image { width:46px; height:46px; }
.stocktake-cart-row b,.stocktake-cart-row small { display:block; }
.stocktake-cart-row b { font-size:10px; }.stocktake-cart-row small { margin-top:4px; color:var(--muted); font-size:8px; }
.field-line { display:grid; grid-template-columns:80px 1fr; align-items:center; min-height:46px; border-bottom:1px solid var(--line); font-size:10px; }
.field-line input { height:38px; border:0; outline:0; font:inherit; }
.view[data-view="documents"]>.stocktake-cart-fab { position:static; left:auto; bottom:auto; transform:none; width:100%; height:54px; margin:8px 0 12px; border-radius:14px; box-shadow:none; }
.stocktake-mode-list { display:grid; gap:8px; margin-top:8px; }
.stocktake-mode-list>button { min-height:66px; display:grid; grid-template-columns:42px 1fr auto; gap:11px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:15px; background:#fff; text-align:left; }
.stocktake-mode-list i { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#eef4fb; color:#1677ed; font-style:normal; font-weight:700; }
.stocktake-mode-list b,.stocktake-mode-list small { display:block; }.stocktake-mode-list b { font-size:11px; }.stocktake-mode-list small { margin-top:4px; color:var(--muted); font-size:8px; line-height:1.4; }.stocktake-mode-list em { color:var(--muted); font-size:20px; font-style:normal; }
.stocktake-category-picker { margin-top:10px; padding:11px; border-radius:14px; background:#f6f4f2; }.stocktake-category-picker[hidden] { display:none; }.stocktake-category-picker label { display:grid; gap:6px; color:var(--muted); font-size:9px; }.stocktake-category-picker select { height:40px; border:1px solid var(--line); border-radius:10px; padding:0 10px; background:#fff; }.stocktake-category-picker button { width:100%; height:42px; margin-top:9px; border:0; border-radius:11px; background:#1677ed; color:#fff; }
.stocktake-mode-warning { margin:10px 2px 0; color:#9a7a5c; font-size:8px; line-height:1.5; }
.stocktake-cart-page { z-index:105; overflow:hidden; background:#fff; }
.stocktake-cart-page .form-header { grid-template-columns:42px 1fr 72px; }
.stocktake-cart-page .form-header h2 small { margin-left:8px; font-size:10px; font-weight:400; }
.stocktake-scope-bar { min-height:42px; display:flex; align-items:center; gap:9px; padding:0 16px; background:#eef5fd; border-bottom:1px solid #dce9f8; }.stocktake-scope-bar span { color:#1677ed; font-size:10px; font-weight:700; }.stocktake-scope-bar small { color:#68819d; font-size:8px; }
.stocktake-page-tools { min-height:52px; display:grid; grid-template-columns:1fr auto auto auto; gap:8px; align-items:center; border-bottom:1px solid var(--line); background:#fff; padding:0 16px; }
.stocktake-page-tools label { font-size:9px; color:#6f6968; }.stocktake-page-tools button { height:34px; border:0; background:transparent; font-size:10px; }
.stocktake-page-tools>span { color:var(--muted); font-size:8px; }
.stocktake-page-tabs { min-height:54px; display:grid; grid-template-columns:1fr 1fr 110px; border-bottom:1px solid var(--line); background:#fff; }
.stocktake-page-tabs button { border:0; border-bottom:3px solid transparent; background:#fff; color:var(--muted); }.stocktake-page-tabs button.active { border-color:#1677ed; color:#1677ed; }
.stocktake-page-tabs label { display:grid; place-items:center; font-size:8px; }.stocktake-page-tabs input { width:96px; border:0; font-size:8px; }
.stocktake-page-list { height:calc(100dvh - 288px); max-height:none; overflow-y:auto; padding:12px 16px 105px; margin:0; }
.stocktake-page-list .stocktake-cart-row { background:#fff; }
.stocktake-cart-row.mismatch { border-color:#efc1c5; background:#fffafa; }
.stocktake-cart-row em { display:block; margin-top:5px; font-size:8px; font-style:normal; }.stocktake-difference.gain { color:#4b9a68; }.stocktake-difference.loss { color:#d2666e; }.stocktake-pending-label { color:#9a918f; }
.stocktake-count-controls { display:grid; justify-items:end; gap:5px; }.stocktake-count-controls>button { border:0; background:transparent; color:#1677ed; font-size:8px; }.stocktake-count-controls .sku-purchase-stepper { gap:3px; }.stocktake-count-controls .sku-purchase-stepper button { width:26px; height:28px; }.stocktake-count-controls input { width:42px; height:28px; border:1px solid var(--line); border-radius:8px; text-align:center; outline:0; font-size:10px; }
.stocktake-empty { min-height:55dvh; display:grid; place-items:center; align-content:center; gap:12px; color:var(--muted); text-align:center; }
.stocktake-empty i { width:88px; height:88px; display:grid; place-items:center; border-radius:28px; background:#f1efee; font-style:normal; font-size:34px; }
.stocktake-empty b { color:var(--ink); font-size:13px; }.stocktake-empty span { font-size:9px; }
.stocktake-empty button { height:42px; padding:0 28px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.stocktake-page-note { position:absolute; left:16px; right:16px; bottom:76px; display:grid; grid-template-columns:70px 1fr; align-items:center; background:#fff; font-size:9px; }
.stocktake-page-note input { height:36px; border:0; outline:0; }
.stocktake-page-footer { position:absolute; left:0; right:0; bottom:0; z-index:5; min-height:72px; display:grid; grid-template-columns:1fr 68px 68px; gap:8px; align-items:center; padding:9px 16px calc(9px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fff; }
.stocktake-page-footer>div { display:flex; gap:16px; }.stocktake-page-footer span,.stocktake-page-footer strong { display:block; }.stocktake-page-footer span { color:var(--muted); font-size:8px; }.stocktake-page-footer strong { margin-top:4px; color:var(--ink); font-size:11px; }
.stocktake-page-footer button { height:38px; border:0; border-radius:19px; background:#e6e3e2; color:#777; }.stocktake-page-footer button:last-child { background:#1677ed; color:#fff; }
.label-print-page { z-index:106; background:#f5f3f1; overflow:hidden; }
.label-print-content { height:calc(100dvh - 132px); overflow-y:auto; padding-bottom:28px; }
.label-template-panel,.label-preview-panel,.label-queue-panel { margin-bottom:12px; padding:14px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.label-template-panel .form-section-title button,.label-queue-panel .form-section-title button { height:30px; border:0; border-radius:9px; padding:0 10px; background:#f2eeec; color:var(--ink); font-size:9px; }
.label-template-select { min-height:42px; display:grid; grid-template-columns:78px 1fr; align-items:center; border-bottom:1px solid var(--line); font-size:10px; }.label-template-select select { width:100%; height:36px; border:0; background:#fff; outline:0; }
.label-template-cards { display:grid; gap:7px; margin:10px 0; }
.label-template-card { border:1px solid var(--line); border-radius:12px; background:#fbf8f6; overflow:hidden; }
.label-template-card summary { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; cursor:pointer; list-style:none; }
.label-template-card summary::-webkit-details-marker { display:none; }
.label-template-card summary b { font-size:10px; }.label-template-card summary small { display:block; color:var(--muted); font-size:8px; margin-top:2px; }
.label-template-card .label-template-card-body { display:flex; justify-content:flex-end; padding:0 12px 10px; }.label-template-card button { height:28px; padding:0 12px; border:0; border-radius:8px; background:var(--ink); color:#fff; font-size:9px; }
.label-template-fields { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:8px; padding-top:10px; }.label-template-fields label { display:grid; gap:5px; color:var(--muted); font-size:8px; }.label-template-fields input { width:100%; min-width:0; height:37px; border:1px solid var(--line); border-radius:9px; padding:0 9px; outline:0; }
.label-layout-editor { margin-top:12px; border-top:1px solid var(--line); padding-top:10px; }
.label-layout-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.label-layout-head span { display:flex; flex-direction:column; gap:3px; }
.label-layout-head b { font-size:12px; }
.label-layout-head small,.label-layout-head em { color:var(--muted); font-size:9px; font-style:normal; }
.label-layout-head em { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#f3f0ee; }
.label-layout-head em.unsaved { color:#d95f8b; background:#fff0f5; }
.label-save-button { min-width:78px; min-height:38px; padding:0 14px!important; border:1px solid #f1b5c8!important; border-radius:20px!important; background:#fff5f8!important; white-space:nowrap; }
.label-layout-groups { display:grid; grid-template-columns:1fr; gap:9px; margin-top:10px; }
.label-layout-groups section { padding:10px; border-radius:12px; background:#f8f5f3; }
.label-layout-groups details { padding:10px; border-radius:12px; background:#f8f5f3; }
.label-layout-groups details>summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; }
.label-layout-groups details>summary::-webkit-details-marker { display:none; }
.label-layout-groups details>summary i { font-style:normal; color:var(--muted); transition:transform .2s; }
.label-layout-groups details[open]>summary i { transform:rotate(180deg); }
.label-layout-groups details>summary h4 { margin:0 0 8px; }
.label-layout-groups details>label { margin-top:4px; }
.label-stepper { display:flex; align-items:center; gap:3px; }
.label-stepper button { width:20px; height:20px; padding:0; border:0; border-radius:6px; background:#fff; color:var(--pink); line-height:1; }
.label-layout-groups h4 { margin:0 0 8px; font-size:10px; }
.label-layout-groups label { display:grid; grid-template-columns:58px minmax(0,1fr) 38px; gap:7px; align-items:center; min-height:30px; color:var(--muted); font-size:8px; }
.label-layout-groups input[type="range"] { width:100%; accent-color:var(--pink); }
.label-layout-groups output { color:var(--ink); text-align:right; font-size:8px; }
.label-layout-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:9px; }
.label-layout-actions button { min-height:36px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); font-weight:650; }
.label-layout-actions button:last-child { border-color:#f2b4c8; color:#d95f8b; background:#fff5f8; }
.label-preview-stage { min-height:180px; display:grid; place-items:center; overflow:auto; border-radius:13px; background:#eeeae8; padding:18px; }
.product-label { position:relative; width:min(100%,520px); aspect-ratio:var(--label-ratio,78/25); container-type:size; overflow:hidden; background:#fff; color:#050505; box-shadow:0 8px 24px rgba(50,42,40,.18); }
.fold-label-front,.fold-label-back { position:absolute; left:2%; width:46%; height:46%; display:flex; overflow:hidden; z-index:2; }.fold-label-front { top:2%; flex-direction:column; justify-content:center; gap:2px; padding:2px 7px; }.fold-label-front b { overflow:hidden; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }.fold-label-front span { font-size:9px; line-height:1.05; }.fold-label-back { bottom:2%; align-items:center; justify-content:center; padding:5px 7px; transform:rotate(180deg); }.fold-label-barcode { width:100%; height:78%; display:flex; align-items:stretch; overflow:hidden; }.fold-label-barcode i { display:block; flex:var(--bar) 1 0; min-width:1px; margin-right:calc(var(--gap)*.35px); background:#000; }.fold-label-line { position:absolute; left:2%; top:50%; width:46%; border-top:1px dashed #777; }.fold-label-tail { position:absolute; left:48%; top:39%; right:2%; height:24%; border:1px solid #9a9694; border-left:0; border-radius:0 7px 7px 0; }.fold-label-hint { margin:9px 2px 0; color:var(--muted); font-size:8px; text-align:center; }
.price-label-copy { position:absolute; inset:0; overflow:hidden; }
.price-label-title,.price-label-model,.price-label-price { position:absolute; line-height:1.08; white-space:nowrap; }
.price-label-title { font-weight:700; }
.price-label-model { font-weight:520; }
.price-label-price { font-weight:700; }
.price-label-barcode { position:absolute; display:flex; align-items:stretch; overflow:hidden; }
.price-label-barcode i { display:block; flex:var(--bar) 1 0; min-width:1px; margin-right:calc(var(--gap)*.35px); background:#000; }
.label-template-details{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.label-template-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;cursor:pointer;list-style:none}.label-template-details>summary::-webkit-details-marker{display:none}.label-template-details>summary span{display:grid;gap:3px}.label-template-details>summary b{font-size:13px}.label-template-details>summary small{color:var(--muted);font-size:9px}.label-template-details>summary i{font-style:normal;color:var(--muted);font-size:17px;transition:transform .2s}.label-template-details[open]>summary i{transform:rotate(180deg)}.label-template-details-body{padding:0 14px 14px}.label-template-details-body .form-section-title{margin-top:0}
.label-template-actions { display:flex; gap:6px; }.label-template-actions button:first-child { background:#fff0f1; color:#c45e6c; }
.label-queue-list { display:grid; gap:8px; }.label-queue-row { display:grid; grid-template-columns:42px 1fr auto; gap:9px; align-items:center; min-height:62px; padding:9px; border:1px solid var(--line); border-radius:12px; }.label-queue-row b,.label-queue-row small { display:block; }.label-queue-row b { font-size:9px; }.label-queue-row small { margin-top:4px; color:var(--muted); font-size:8px; }
.label-print-footer { position:absolute; left:0; right:0; bottom:0; z-index:6; display:grid; grid-template-columns:1fr 1.35fr; gap:9px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fff; }.label-print-footer button { height:46px; border:1px solid #1677ed; border-radius:23px; background:#fff; color:#1677ed; font-weight:650; }.label-print-footer button:last-child { background:#1677ed; color:#fff; }
.label-sku-search { margin:14px 0 8px; }
.label-search-results { display:grid; gap:7px; margin-bottom:10px; }
.label-search-result { width:100%; display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:#fff; text-align:left; color:var(--text); }
.label-search-result span { min-width:0; display:flex; flex-direction:column; gap:3px; }
.label-search-result b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.label-search-result small { color:var(--muted); font-size:11px; }
.label-search-result strong { color:var(--pink); font-size:12px; }
@media (max-width:430px){.label-template-fields{grid-template-columns:1fr 1fr}.label-template-fields label:first-child{grid-column:1/-1}.fold-label-front b{font-size:9px}.fold-label-front span{font-size:7px}.fold-label-back{padding:4px 6px}.fold-label-back small{font-size:6px}}

/* 底部导航使用实色暖白底，彻底避免透明模糊层吸入深色内容。 */
body .bottom-nav{background:#fffdfb!important;box-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body .bottom-nav::before,body .bottom-nav::after{display:none!important;content:none!important}
body .cart-fab{box-shadow:none}
@media (min-width:700px){html,body,.app-shell{box-shadow:none!important;filter:none!important;-webkit-filter:none!important}.bottom-nav{background:#fffdfb!important;box-shadow:none!important;filter:none!important;-webkit-filter:none!important}}

/* 关闭的底部弹窗不参与显示，避免多个弹窗阴影在导航下方叠成黑色区域。 */
body .bottom-sheet{
  visibility:hidden;
  pointer-events:none;
  box-shadow:none;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear .3s;
}
body .bottom-sheet.show{
  visibility:visible;
  pointer-events:auto;
  box-shadow:0 -15px 50px rgba(45,35,35,.15);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s;
}

/* Apple 风格液态玻璃底部导航：轻透明、悬浮椭圆，不使用浓重黑影。 */
body .bottom-nav{
  bottom:calc(10px + env(safe-area-inset-bottom));
  width:min(calc(100% - 24px),496px);
  height:64px;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,248,247,.68))!important;
  box-shadow:0 10px 28px rgba(78,62,64,.09),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(220,207,205,.34)!important;
  backdrop-filter:blur(24px) saturate(1.24)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.24)!important;
}
body .bottom-nav button{
  min-width:0;
  height:52px;
  padding:4px 2px;
  border:1px solid transparent;
  border-radius:999px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body .bottom-nav button.active{
  color:var(--ink);
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,244,245,.60));
  border-color:rgba(255,255,255,.9);
  box-shadow:0 5px 15px rgba(91,70,72,.065),inset 0 1px 0 rgba(255,255,255,.98);
}
body .bottom-nav button:active{transform:scale(.96)}

/* 主导航统一线性图标。 */
body .bottom-nav .nav-icon{
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  color:#8f8786;
  line-height:1;
}
body .bottom-nav .nav-icon svg{
  width:100%;
  height:100%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body .bottom-nav button.active .nav-icon{color:var(--pink)}

/* 电脑端与详情页使用同一套暖白背景；手机端保持全屏铺满。 */
html,body{min-height:100%;background:#f5f2ef}
body .app-shell,body .form-page{background:#fffdfa}
body .form-header{background:rgba(255,253,250,.94)}
@media (min-width:700px){
  body{background:linear-gradient(145deg,#f8f5f3 0%,#f1edeb 100%)}
  body .app-shell{
    border:1px solid rgba(226,217,214,.72);
    background:rgba(255,253,250,.96);
    box-shadow:0 18px 54px rgba(70,55,57,.055)!important;
  }
  body .form-page{
    border-left:1px solid rgba(226,217,214,.72);
    background:#fffdfa;
  }
}
@media (max-width:699px){
  html,body,body .app-shell,body .form-page{background:#fffdfa}
  body .app-shell{border:0;border-radius:0}
}

/* 商品详情使用与主导航一致的轻玻璃操作体系。 */
body .product-detail-page .form-header{
  top:10px;
  width:calc(100% - 24px);
  height:72px;
  margin:10px 12px 0;
  padding:8px 9px;
  grid-template-columns:42px minmax(0,1fr) auto;
  border:1px solid rgba(255,255,255,.88);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,248,247,.70));
  box-shadow:0 9px 26px rgba(78,62,64,.07),inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
}
body .product-detail-page .form-back{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0 0 3px;
  border:1px solid rgba(231,221,218,.78);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98);
  color:#383334;
  font-size:28px;
  line-height:1;
  text-align:center;
}
body .product-detail-page .detail-header-actions{gap:5px}
body .product-detail-page .detail-performance-button,
body .product-detail-page .detail-delete-button,
body .product-detail-page .detail-edit-button{
  min-width:46px;
  height:32px;
  padding:0 10px;
  border:1px solid rgba(232,220,218,.82);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
  color:#625958;
  font-size:10px;
  font-weight:700;
}
body .product-detail-page .detail-performance-button{color:#a66873;background:rgba(255,247,246,.74)}
body .product-detail-page .detail-delete-button{color:#c75e67;background:rgba(255,244,245,.78)}
body .product-detail-page .product-detail-content{
  height:calc(100dvh - 92px);
  padding-bottom:108px;
}
body .product-detail-page .detail-bottom-actions{
  left:12px;
  right:12px;
  bottom:calc(10px + env(safe-area-inset-bottom));
  gap:7px;
  padding:6px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,248,247,.70));
  box-shadow:0 10px 28px rgba(78,62,64,.085),inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
}
body .product-detail-page .detail-bottom-actions button{
  height:48px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-size:12px;
  font-weight:700;
}
body .product-detail-page .detail-bottom-actions button:last-child{
  border-color:rgba(230,219,216,.86);
  background:rgba(255,255,255,.68);
  color:var(--ink);
}
@media (max-width:430px){
  body .product-detail-page .form-header{grid-template-columns:40px minmax(0,1fr) auto;padding-left:7px;padding-right:7px}
  body .product-detail-page .form-header h2{font-size:16px}
  body .product-detail-page .form-header span{display:none}
  body .product-detail-page .detail-header-actions{gap:3px}
  body .product-detail-page .detail-performance-button,
  body .product-detail-page .detail-delete-button,
  body .product-detail-page .detail-edit-button{min-width:40px;height:30px;padding:0 7px;font-size:9px}
}

/* 商品列表优先显示主编码、价格与自动生成的整款结论。 */
body .product-list-row{grid-template-columns:52px minmax(0,1fr) auto;min-height:88px}
body .product-list-row .mini-image{width:52px;height:52px}
body .product-list-main{min-width:0}
body .product-list-main h3{
  margin:0 0 5px;
  overflow:hidden;
  color:#2d292a;
  font-size:12px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body .product-list-main .price-lines{margin:0;color:#8f8786;font-size:9px!important;line-height:1.45}
body .product-core-conclusion{
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:5px;
  margin:7px 0 0!important;
  padding:4px 7px;
  border-radius:999px;
  background:#f2efed;
  color:#756d6b!important;
  line-height:1.2;
}
body .product-core-conclusion span{font-size:8px;white-space:nowrap}
body .product-core-conclusion b{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
body .product-core-conclusion.good{background:#edf5ef;color:#63806a!important}
body .product-core-conclusion.adjust{background:#fff5e7;color:#9a7147!important}
body .product-core-conclusion.watch{background:#eef4f8;color:#607f96!important}
body .product-core-conclusion.weak{background:#fff0f2;color:#b76671!important}
body .product-list-row .price-stock{align-self:center}
body .product-list-row .mini-image.has-placeholder{
  position:relative;
  background:#f3eeec!important;
  color:#aaa19d;
}
body .product-list-row .mini-image.has-placeholder::after{display:none}
body .product-list-row .mini-image-placeholder{
  display:block;
  color:#aaa19d;
  font-size:8px;
  line-height:1.35;
  text-align:center;
}
body .product-list-row.temporary-product-row .product-list-main h3{white-space:normal}

/* 单据详情：玻璃返回、轻量状态圆点和明确的可用操作。 */
body .document-detail-page{background:linear-gradient(180deg,#fffdfb 0%,#faf7f4 100%)}
body .document-detail-page .document-detail-header{
  min-height:88px;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:10px;
  padding:12px 16px 12px 10px;
  border-bottom:1px solid rgba(229,220,216,.72);
  background:rgba(255,253,251,.84);
  backdrop-filter:blur(20px) saturate(1.15);
  -webkit-backdrop-filter:blur(20px) saturate(1.15);
}
body .document-detail-page .document-detail-header .form-back{
  width:48px;height:48px;border:1px solid rgba(231,220,216,.82);border-radius:50%;
  display:grid;place-items:center;padding:0;text-align:center;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,247,246,.68));
  box-shadow:0 8px 22px rgba(71,57,59,.08),inset 0 1px 0 rgba(255,255,255,.98);
  color:#332f30;font-size:30px;line-height:1;transform:none;
}
body .document-detail-page .document-detail-header h2{margin:0;color:#272324;font-size:20px;line-height:1.2}
body .document-detail-page .document-detail-header span{display:block;margin-top:5px;color:#9a908e;font-size:10px}
.document-detail-header-actions{display:flex;align-items:center;justify-content:flex-end;min-width:52px}
.document-header-edit{
  min-width:54px;height:34px;padding:0 15px;border:1px solid rgba(230,218,215,.88);border-radius:999px;
  background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.98);
  color:#5f5756;font-size:10px;font-weight:700;
}
.document-header-edit.active{border-color:#efc3d2;background:#fff3f7;color:#b4617d}
body .document-detail-page .full-document-content{height:calc(100dvh - 88px);padding-bottom:108px}
body .document-detail-page .document-status-flow{
  position:relative;display:flex;gap:0;padding:20px 24px 18px;background:transparent;overflow:visible;
}
body .document-detail-page .document-status-flow span{
  position:relative;z-index:1;flex:1;height:auto;display:flex;flex-direction:column;align-items:center;gap:8px;
  overflow:visible;background:transparent!important;color:#aaa19f;font-size:9px;clip-path:none!important;
}
body .document-detail-page .document-status-flow span::before{
  content:"";width:10px;height:10px;border:3px solid #faf7f4;border-radius:50%;background:#ddd7d5;
  box-shadow:0 0 0 1px rgba(208,200,197,.6);
}
body .document-detail-page .document-status-flow span:not(:last-child)::after{
  content:"";position:absolute;z-index:-1;top:6px;left:calc(50% + 6px);width:calc(100% - 12px);height:1px;background:#e4dedb;
}
body .document-detail-page .document-status-flow span.done{color:#76927d}
body .document-detail-page .document-status-flow span.done::before{background:#cfe4d4;box-shadow:0 0 0 1px #b8d3be}
body .document-detail-page .document-status-flow span.done:not(:last-child)::after{background:#cfe0d3}
body .document-detail-page .document-status-flow span.active{color:#2d292a;font-weight:800}
body .document-detail-page .document-status-flow span.active::before{background:#f28caf;box-shadow:0 0 0 2px rgba(242,140,175,.2)}
body .document-detail-page .document-audit-row{align-items:start!important;padding:13px 0}
body .document-detail-page .document-audit-row b{color:#776e6c}
body .document-detail-page .document-audit-row small{display:block;margin-top:6px;color:#a06b75;font-size:8px;line-height:1.55}
body .document-detail-page .full-document-actions{
  left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));padding:6px;border:1px solid rgba(255,255,255,.9);
  border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,248,247,.72));
  box-shadow:0 10px 28px rgba(78,62,64,.085),inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);
}
body .document-detail-page .full-document-actions button{height:46px;border-radius:999px;background:#242122;font-weight:700}
body .document-detail-page .full-document-actions .document-void-action{border:1px solid #ead8d8;background:rgba(255,249,249,.84);color:#b45f67}
.document-card.is-voided{opacity:.72}.document-voided-meta{color:#b36a72!important}.document-voided-meta::before{content:"· ";color:#f28caf}

/* 新建库存单据使用可搜索的多 SKU 清单，并在最终确认后才改库存。 */
.stock-document-product-field>button{
  width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding:12px 15px;
  border:1px solid #e6dcd7;border-radius:16px;background:#fffdfb;text-align:left;
}
.stock-document-product-field>button span{min-width:0;color:#8e8582;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stock-document-product-field>button b{flex:none;color:#d56f91;font-size:10px}
.stock-document-draft-items{display:grid;gap:7px;margin-top:-3px}
.stock-document-draft-items>p{margin:0;padding:14px;border:1px dashed #e5d9d4;border-radius:14px;color:#a29a97;font-size:9px;text-align:center}
.stock-document-draft-items article{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:9px;border:1px solid #eadfda;border-radius:14px;background:#fff}
.stock-document-draft-items .document-item-image{width:44px;height:44px}.stock-document-draft-items b,.stock-document-draft-items small{display:block}.stock-document-draft-items b{font-size:9px}.stock-document-draft-items small{margin-top:3px;color:#918986;font-size:8px}.stock-document-draft-items>article>strong{font-size:9px;color:#d56f91}
@media(max-width:430px){body .document-detail-page .document-detail-header{grid-template-columns:52px minmax(0,1fr) auto;padding-left:7px;padding-right:9px}body .document-detail-page .document-detail-header h2{font-size:17px}body .document-detail-page .document-detail-header span{display:block;font-size:9px}}
.sku-location-row { display:grid; grid-template-columns:86px 1fr auto; gap:8px; align-items:center; margin:6px 0 2px; padding:9px 10px; border-radius:10px; background:#f7f5f4; font-size:12px; color:#746d69; }
.sku-location-row input { min-width:0; border:0; background:transparent; font:inherit; color:#292524; outline:none; }
.sku-location-row em { font-style:normal; color:#9a8f89; font-size:10px; }
.barcode-scan-sheet { padding-bottom:calc(22px + env(safe-area-inset-bottom)); }
.barcode-mode-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:2px 0 12px; padding:4px; border-radius:18px; background:#f3efed; }
.barcode-mode-tabs button { height:42px; border:0; border-radius:15px; background:transparent; color:var(--muted); font-weight:700; }
.barcode-mode-tabs button.active { color:#fff; background:var(--ink); box-shadow:0 6px 16px rgba(35,31,32,.12); }
.camera-scanner { position:relative; height:235px; overflow:hidden; border-radius:22px; background:#1e1c1c; }
.camera-scanner video { width:100%; height:100%; object-fit:cover; }
.camera-scanner.unavailable video { display:none; }
.camera-scan-frame { position:absolute; left:11%; right:11%; top:31%; height:38%; }
.camera-scan-frame i { position:absolute; width:25px; height:25px; border-color:#fff; border-style:solid; filter:drop-shadow(0 1px 3px rgba(0,0,0,.45)); }
.camera-scan-frame i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px;border-radius:8px 0 0 0}.camera-scan-frame i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0;border-radius:0 8px 0 0}.camera-scan-frame i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 8px}.camera-scan-frame i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 8px 0}
.camera-scanner p { position:absolute; left:12px; right:12px; bottom:12px; margin:0; padding:7px 11px; border-radius:14px; background:rgba(20,18,18,.65); color:#fff; text-align:center; font-size:11px; backdrop-filter:blur(10px); }
.camera-scanner.unavailable { height:104px; background:#f5f1ef; }
.camera-scanner.unavailable .camera-scan-frame { display:none; }
.camera-scanner.unavailable p { top:50%; bottom:auto; transform:translateY(-50%); background:transparent; color:var(--muted); }
.barcode-manual-form { display:grid; grid-template-columns:1fr 76px; gap:8px; margin:11px 0; }
.barcode-manual-form label { min-width:0; display:grid; gap:4px; padding:8px 12px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.barcode-manual-form label span { color:var(--muted); font-size:9px; }
.barcode-manual-form input { min-width:0; border:0; outline:0; font-size:14px; }
.barcode-manual-form>button { border:0; border-radius:14px; background:#f1ece9; color:var(--ink); font-weight:700; }
.barcode-scan-result:empty { display:none; }
.scan-result-summary { display:grid; grid-template-columns:68px 1fr; gap:12px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.scan-result-summary.stock { background:#fbfdfb; border-color:#dce8dd; }
.scan-result-image { width:68px; height:68px; overflow:hidden; display:grid; place-items:center; border-radius:15px; background:#f1edeb; color:var(--muted); font-size:10px; }
.scan-result-image img { width:100%; height:100%; object-fit:cover; }
.scan-result-summary small,.scan-result-summary p,.scan-result-summary b { display:block; }
.scan-result-summary small { color:var(--pink); font-size:9px; }
.scan-result-summary h3 { margin:3px 0 4px; font-size:14px; line-height:1.25; }
.scan-result-summary p { margin:0 0 5px; color:var(--muted); font-size:10px; }
.scan-result-summary b { font-size:11px; font-weight:650; }
.scan-sibling-title { display:flex; justify-content:space-between; align-items:end; margin:14px 2px 7px; }
.scan-sibling-title b { font-size:13px; }.scan-sibling-title span { color:var(--muted); font-size:8px; }
.scan-sibling-list { display:grid; gap:6px; max-height:190px; overflow:auto; }
.scan-sibling-row { position:relative; display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.scan-sibling-row.selected { border-color:#ef9bb2; background:#fff7fa; }
.scan-sibling-row b,.scan-sibling-row small,.scan-sibling-row strong { display:block; }.scan-sibling-row b { font-size:11px; }.scan-sibling-row small { margin-top:3px; color:var(--muted); font-size:8px; }.scan-sibling-row strong { text-align:right; font-size:12px; }.scan-sibling-row i { position:absolute; right:8px; top:-7px; padding:2px 7px; border-radius:9px; background:var(--pink); color:#fff; font-style:normal; font-size:7px; }
.scan-result-actions { display:grid; grid-template-columns:1fr 1.4fr; gap:8px; margin-top:11px; }
.scan-result-actions button { height:45px; border:1px solid var(--line); border-radius:23px; background:#fff; color:var(--ink); font-weight:700; }.scan-result-actions button.primary { border-color:var(--ink); background:var(--ink); color:#fff; }
.legacy-quick-create{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fff}.legacy-quick-create h3{margin:3px 0;font-size:16px}.legacy-quick-create p,.legacy-quick-create small{margin:0;color:var(--muted);font-size:10px}.legacy-quick-create label{display:grid;gap:5px;font-size:10px;color:var(--muted)}.legacy-quick-create input{height:43px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font-size:14px;outline:0}.legacy-quick-note{display:grid;gap:4px;padding:10px;border-radius:12px;background:#faf4f3}.legacy-quick-note b{font-size:11px}.legacy-quick-note span{color:var(--muted);font-size:9px;line-height:1.55}.library-category-purpose{display:grid;gap:5px;margin-top:11px;padding:11px;border-radius:12px;background:#faf7f5}.library-category-purpose b{font-size:10px}.library-category-purpose span{font-size:9px;line-height:1.55;color:var(--muted)}
.photo-lookup-sheet {
  width:min(calc(100% - 8px),640px);
  max-height:96dvh;
  padding:8px 12px calc(18px + env(safe-area-inset-bottom));
  border-radius:28px 28px 0 0;
}
.photo-privacy-note { display:grid; gap:3px; margin:2px 0 11px; padding:11px 13px; border:1px solid #e1ebe2; border-radius:15px; background:#f6faf6; }
.photo-privacy-note b { color:#64806a; font-size:11px; }
.photo-privacy-note span { color:#88918a; font-size:9px; line-height:1.5; }
.photo-lookup-preview { height:clamp(280px,42dvh,390px); overflow:hidden; display:grid; place-items:center; border-radius:22px; background:#f3efed; color:var(--muted); font-size:11px; }
.photo-lookup-preview img { width:100%; height:100%; object-fit:contain; background:#f5f2f0; }
.photo-lookup-preview video { width:100%; height:100%; object-fit:cover; transform:translateZ(0); }
.photo-live-frame { position:absolute; top:18px; right:22%; bottom:18px; left:22%; border:1px solid rgba(255,255,255,.78); border-radius:25px; box-shadow:0 0 0 999px rgba(25,20,21,.24),0 0 0 1px rgba(255,255,255,.18) inset; pointer-events:none; }
.photo-lookup-preview { position:relative; }
.photo-live-frame i { position:absolute; width:22px; height:22px; border-color:#fff; filter:drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.photo-live-frame i:nth-child(1){left:-1px;top:-1px;border-left:3px solid #fff;border-top:3px solid #fff;border-radius:8px 0 0 0}.photo-live-frame i:nth-child(2){right:-1px;top:-1px;border-right:3px solid #fff;border-top:3px solid #fff;border-radius:0 8px 0 0}.photo-live-frame i:nth-child(3){left:-1px;bottom:-1px;border-left:3px solid #fff;border-bottom:3px solid #fff;border-radius:0 0 0 8px}.photo-live-frame i:nth-child(4){right:-1px;bottom:-1px;border-right:3px solid #fff;border-bottom:3px solid #fff;border-radius:0 0 8px 0}
.photo-live-badge { position:absolute; left:50%; bottom:9px; transform:translateX(-50%); padding:5px 9px; border-radius:13px; background:rgba(30,27,28,.72); color:#fff; font-size:8px; backdrop-filter:blur(10px); }
.photo-lookup-preview.matched { height:86px; background:#f7faf7; border:1px solid #dce8dd; }
.photo-live-complete { display:grid; gap:4px; text-align:center; }.photo-live-complete b { color:#64806a; font-size:11px; }.photo-live-complete span { color:var(--muted); font-size:8px; }.photo-live-complete.low-confidence b{color:#9a713c}
.photo-lookup-status { min-height:18px; margin:9px 2px; color:var(--muted); font-size:9px; line-height:1.5; }
.photo-candidate-heading { display:flex; justify-content:space-between; align-items:end; margin:10px 2px 7px; }
.photo-candidate-heading b { font-size:13px; }
.photo-candidate-heading span { color:var(--muted); font-size:8px; }
.photo-candidate-list { display:grid; gap:7px; }
.photo-candidate-row { width:100%; display:grid; grid-template-columns:58px minmax(0,1fr) 18px; gap:10px; align-items:center; padding:8px; border:1px solid var(--line); border-radius:16px; background:#fff; text-align:left; }
.photo-candidate-image { width:58px; height:58px; overflow:hidden; border-radius:13px; background:#f2eeec; }
.photo-candidate-image img { width:100%; height:100%; object-fit:cover; }
.photo-candidate-row small,.photo-candidate-row b,.photo-candidate-row em { display:block; }
.photo-candidate-row small { margin-bottom:3px; color:var(--pink); font-size:8px; }
.photo-candidate-row b { overflow:hidden; color:var(--ink); font-size:11px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.photo-candidate-row em { margin-top:4px; color:var(--muted); font-size:8px; font-style:normal; }
.photo-candidate-row i { color:#a59d9b; font-size:22px; font-style:normal; }
.photo-low-confidence{display:grid;gap:3px;margin:8px 0;padding:10px 12px;border:1px solid #ead9bd;border-radius:14px;background:#fffaf1}.photo-low-confidence b{font-size:10px;color:#8e6833}.photo-low-confidence span{font-size:8px;line-height:1.5;color:#9b7d55}.photo-manual-open{width:100%;height:42px;margin-top:9px;border:1px solid #e3d9d5;border-radius:21px;background:#fff;color:#6f6663;font-size:9px;font-weight:700}.photo-manual-search{display:grid;gap:8px}.photo-manual-search>input{width:100%;height:42px;padding:0 13px;border:1px solid #e1d9d6;border-radius:14px;background:#fbfaf9;font-size:10px}.photo-manual-search #photoManualSearchResults{display:grid;gap:7px;max-height:330px;overflow:auto}.photo-manual-search #photoManualSearchResults>button{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 16px;gap:9px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.photo-manual-search #photoManualSearchResults>button>span{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:#f3efed;color:var(--muted);font-size:8px}.photo-manual-search #photoManualSearchResults img{width:100%;height:100%;object-fit:cover}.photo-manual-search #photoManualSearchResults b,.photo-manual-search #photoManualSearchResults small{display:block}.photo-manual-search #photoManualSearchResults b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.photo-manual-search #photoManualSearchResults small{margin-top:4px;color:var(--muted);font-size:8px}.photo-manual-search #photoManualSearchResults i{color:#a59d9b;font-size:18px;font-style:normal}
.photo-lookup-empty { display:grid; gap:4px; padding:18px; border:1px dashed #ddd3d0; border-radius:16px; text-align:center; }
.photo-lookup-empty b { font-size:12px; }.photo-lookup-empty span { color:var(--muted); font-size:9px; }
.photo-stock-summary { display:grid; grid-template-columns:68px minmax(0,1fr); gap:11px; align-items:center; padding:10px; border:1px solid #dce8dd; border-radius:17px; background:#fbfdfb; }
.photo-stock-summary>span { width:68px; height:68px; overflow:hidden; display:grid; place-items:center; border-radius:14px; background:#f1edeb; color:var(--muted); font-size:9px; }
.photo-stock-summary img { width:100%; height:100%; object-fit:cover; }
.photo-stock-summary small,.photo-stock-summary b { display:block; }.photo-stock-summary small { color:var(--pink); font-size:8px; }
.photo-stock-summary h3 { margin:4px 0; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.photo-stock-summary b { font-size:10px; }
.photo-stock-note { margin:8px 2px; color:var(--muted); font-size:8px; }
.photo-stock-list { display:grid; gap:5px; max-height:210px; overflow:auto; }
.photo-stock-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 12px; border-radius:13px; background:#f8f6f5; }
.photo-stock-list span:last-child { text-align:right; }.photo-stock-list b,.photo-stock-list strong,.photo-stock-list small { display:block; }
.photo-stock-list b,.photo-stock-list strong { font-size:10px; }.photo-stock-list small { margin-top:3px; color:var(--muted); font-size:8px; }
.photo-stock-list span:last-child button{margin-top:5px;height:27px;border:0;border-radius:9px;padding:0 9px;background:var(--ink);color:#fff;font-size:8px}
.photo-learning-confirm{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid #efd7dc;border-radius:16px;background:#fff8fa}.photo-learning-confirm div{display:grid;gap:3px}.photo-learning-confirm b{font-size:11px}.photo-learning-confirm span,.photo-learning-confirm small{color:var(--muted);font-size:8px;line-height:1.55}.photo-learning-confirm button{width:100%;height:42px;border:0;border-radius:21px;background:var(--ink);color:#fff;font-size:10px;font-weight:750}.photo-learning-confirm button:disabled{background:#d9d3d1;color:#fff;opacity:.8}
.photo-back-candidates,.photo-retake-button { width:100%; height:42px; margin-top:9px; border:1px solid var(--line); border-radius:22px; background:#fff; font-size:10px; font-weight:700; }
.photo-retake-button { border-color:var(--ink); background:var(--ink); color:#fff; }
@media (max-width:380px){.search-row{grid-template-columns:minmax(0,1fr) 188px}.scan-button,.stock-scan-button,.photo-lookup-button{font-size:8px;padding:0 2px}.scan-corners{font-size:14px;margin-right:2px}.sku-location-row{grid-template-columns:72px 1fr}.sku-location-row em{display:none}}

/* 安全同步队列：只管理投递状态，不直接改写库存、单据或会员资产。 */
.sync-queue-open{overflow:hidden}.sync-queue-overlay{position:fixed;inset:0;z-index:10040;display:none;overflow:auto;background:#fbf9f7;color:var(--ink);padding:0 max(18px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.sync-queue-overlay.show{display:block}.sync-queue-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:14px;padding:calc(18px + env(safe-area-inset-top)) 0 16px;background:rgba(251,249,247,.9);border-bottom:1px solid #ebe3df;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.sync-queue-header>button{width:46px;height:46px;flex:0 0 46px;border:1px solid rgba(226,216,211,.9);border-radius:50%;background:rgba(255,255,255,.78);color:#262221;font-size:32px;line-height:1}.sync-queue-header h2{margin:0;font-size:22px;line-height:1.15}.sync-queue-header p{margin:4px 0 0;color:#8d837f;font-size:12px}.sync-queue-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:900px;margin:18px auto 12px}.sync-queue-filters button{height:42px;border:1px solid #e8ded9;border-radius:999px;background:#fff;color:#625a56;font-size:13px}.sync-queue-filters button.active{background:#252221;color:#fff;border-color:#252221}.sync-queue-filters b{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;margin-left:4px;border-radius:999px;background:rgba(242,140,175,.16);color:#e27fa2;font-size:11px}.sync-queue-note{max-width:900px;margin:0 auto 14px;padding:11px 14px;border-radius:14px;background:#fff1f5;color:#80656f;font-size:12px;line-height:1.55}.sync-queue-list{display:grid;gap:12px;max-width:900px;margin:0 auto}.sync-queue-row{padding:17px;border:1px solid #eadfda;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(57,42,35,.045)}.sync-queue-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sync-queue-row-head>div{display:grid;gap:3px}.sync-queue-row-head small{color:#a09792;font-size:11px}.sync-queue-row-head strong{font-size:17px;line-height:1.3}.sync-queue-state{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f5f1ef;color:#746a66;font-size:11px}.sync-queue-row[data-status=retrying] .sync-queue-state,.sync-queue-row[data-status=conflict] .sync-queue-state,.sync-queue-row[data-status=rejected] .sync-queue-state{background:#fff0f3;color:#d76786}.sync-queue-row[data-status=synced] .sync-queue-state{background:#edf7ef;color:#5e8868}.sync-queue-row>p{margin:12px 0 8px;font-size:14px}.sync-queue-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:#9a918d;font-size:11px}.sync-queue-reason{margin-top:11px;padding:10px 12px;border-radius:12px;background:#faf4f3;color:#805e5d;font-size:12px;line-height:1.5}.sync-queue-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:13px}.sync-queue-actions button{min-width:94px;height:38px;padding:0 14px;border:1px solid #ded3ce;border-radius:999px;background:#fff;color:#332f2d;font-size:12px}.sync-queue-actions button.danger{border-color:#f1c5d2;color:#d65f82}.sync-queue-actions span{color:#a09894;font-size:11px}.sync-queue-empty{display:grid;gap:7px;place-items:center;padding:70px 20px;border:1px dashed #e2d8d3;border-radius:22px;background:rgba(255,255,255,.66);text-align:center}.sync-queue-empty strong{font-size:16px}.sync-queue-empty span{max-width:360px;color:#968c87;font-size:12px;line-height:1.6}
.sync-queue-repair{max-width:900px;margin:0 auto 12px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #eadfda;border-radius:18px;background:#fff}.sync-queue-repair>div{display:grid;gap:5px}.sync-queue-repair strong{font-size:14px}.sync-queue-repair span{color:#8d837f;font-size:11px;line-height:1.5}.sync-queue-repair button{min-width:132px;height:40px;padding:0 16px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}.sync-queue-repair button:disabled{opacity:.55}
@media (max-width:600px){.sync-queue-overlay{padding-left:12px;padding-right:12px}.sync-queue-header{padding-left:4px;padding-right:4px}.sync-queue-header p{font-size:10px}.sync-queue-filters{gap:6px}.sync-queue-filters button{font-size:11px}.sync-queue-row{padding:15px}.sync-queue-row-head strong{font-size:15px}.sync-queue-actions{align-items:stretch;flex-direction:column}.sync-queue-actions button{width:100%}}
@media (max-width:600px){.sync-queue-repair{align-items:stretch;flex-direction:column}.sync-queue-repair button{width:100%}}
.moli-auth-gate,.moli-auth-manager{position:fixed;inset:0;z-index:10020;background:rgba(247,244,242,.97);display:grid;place-items:center;padding:20px}.moli-auth-gate[hidden],.moli-auth-manager[hidden]{display:none}.moli-auth-card,.moli-auth-manager-card{width:min(100%,430px);background:#fff;border:1px solid #eadfe2;border-radius:28px;box-shadow:0 24px 80px rgba(52,31,38,.16);padding:26px}.moli-auth-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.moli-auth-brand b{font-size:28px;letter-spacing:2px}.moli-auth-brand b span{color:#ec7597}.moli-auth-brand small{margin-top:6px;color:#7c7476}.moli-auth-card label{display:grid;gap:7px;margin:14px 0;font-weight:650}.moli-auth-card input,.moli-staff-create input,.moli-staff-create select{border:1px solid #ded7d9;border-radius:14px;padding:13px 14px;font:inherit;background:#fff}.moli-auth-card>button,.moli-staff-create button,.moli-storage-card button{width:100%;border:0;border-radius:14px;background:#222;color:#fff;padding:14px;font:inherit;font-weight:700}.moli-auth-card>button:disabled{opacity:.55}.moli-auth-error{min-height:20px;color:#b42318;font-size:13px}.moli-auth-note{display:block;margin-top:14px;line-height:1.5;color:#777;text-align:center}.moli-auth-manager{background:rgba(25,20,22,.5)}.moli-auth-manager-card{max-height:min(88vh,760px);overflow:auto}.moli-auth-manager-card header{display:flex;align-items:center;justify-content:space-between}.moli-auth-manager-card header div{display:grid;gap:3px}.moli-auth-manager-card header b{font-size:21px}.moli-auth-manager-card header small{color:#777}.moli-auth-manager-card header button,.moli-auth-row button{border:0;border-radius:10px;padding:8px 11px}.moli-auth-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:20px 0 14px}.moli-auth-tabs button{border:0;border-radius:11px;padding:10px 5px;background:#f5f1f2}.moli-auth-tabs button.active{background:#222;color:#fff}.moli-auth-list{display:grid;gap:9px}.moli-auth-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #eee6e8;border-radius:14px;padding:12px}.moli-auth-row div{display:grid;gap:4px}.moli-auth-row small{color:#777;line-height:1.35}.moli-staff-create{display:grid;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid #eee}.moli-auth-manager-card footer{margin-top:18px}.moli-auth-manager-card footer .danger,.moli-auth-wide{width:100%;border:1px solid #e8b5bc;border-radius:12px;background:#fff5f6;color:#a51d30;padding:11px}.moli-auth-empty,.moli-auth-loading{padding:30px 10px;text-align:center;color:#777}.moli-storage-card{display:grid;gap:10px;border:1px solid #eee6e8;border-radius:16px;padding:16px}.moli-storage-card span,.moli-storage-card p{color:#6d6668;line-height:1.5;margin:0}.moli-boot-error{position:fixed;inset:0;z-index:10050;background:#fff8f8;display:grid;place-content:center;text-align:center;gap:10px;padding:30px;color:#8a1c2c}.moli-boot-error b{font-size:22px}.moli-boot-error small{color:#777}
.moli-staff-create select[data-native-select]{display:block!important;width:100%;min-height:48px;color:#222;appearance:auto;-webkit-appearance:menulist}
.moli-auth-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

/* v74: one login account can switch between explicitly granted role views. */
.moli-role-switch-card{width:min(100%,390px);background:#fff;border:1px solid #eadfe2;border-radius:24px;box-shadow:0 24px 80px rgba(52,31,38,.16);padding:20px}
.moli-role-switch-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.moli-role-switch-card header div{display:grid;gap:4px}
.moli-role-switch-card header b{font-size:19px}
.moli-role-switch-card header small,.moli-role-switch-card>p{color:#777;font-size:12px;line-height:1.55}
.moli-role-switch-card header button,.moli-role-settings-link{min-height:34px;padding:0 12px;border:1px solid #e3dcde;border-radius:999px;background:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.moli-role-switch-list{display:grid;gap:9px;margin:16px 0}
.moli-role-switch-section{display:grid;gap:3px;margin-top:4px;padding:0 2px}
.moli-role-switch-section b{font-size:12px}
.moli-role-switch-section small{color:#888;font-size:10px}
.moli-role-switch-list>button{width:100%;min-height:62px;padding:11px 13px;border:1px solid #eee4e6;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.moli-role-switch-list>button.active{border-color:#dfabb2;background:#fff7f8}
.moli-role-switch-list span{display:grid;gap:4px}
.moli-role-switch-list b{font-size:14px}
.moli-role-switch-list small{color:#777;font-size:10px;line-height:1.4}
.moli-role-switch-list i{min-width:46px;color:#c36f7c;font-size:11px;font-style:normal;text-align:center}
.moli-role-settings-link{width:100%}
.moli-owner-merge{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:14px;padding:13px;border:1px solid #edccd1;border-radius:15px;background:#fff8f9}
.moli-owner-merge>div{grid-column:1/-1;display:grid;gap:4px}
.moli-owner-merge small{color:#777;font-size:10px;line-height:1.45}
.moli-owner-merge input{min-width:0;border:1px solid #ded7d9;border-radius:999px;padding:0 12px;height:36px;font:inherit}
.moli-owner-merge button,.moli-auth-footer-actions button{min-height:36px;border:1px solid #ded7d9;border-radius:999px;padding:0 13px;background:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.moli-owner-merge button{background:#222;color:#fff;border-color:#222}
.moli-auth-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.moli-auth-manager-card footer.moli-auth-footer-actions .danger{width:auto;padding:0 13px;border-radius:999px}
@media(max-width:700px){
  .top-actions{gap:5px}
  .avatar{min-width:70px;max-width:112px;padding:0 9px;font-size:9px}
  .moli-owner-merge{grid-template-columns:1fr}
  .moli-owner-merge>div{grid-column:auto}
}
.inventory-sales-policy-card{display:grid;gap:10px}
.inventory-sales-policy-card[hidden]{display:none}
.inventory-sales-policy-card>p{margin:0}
.inventory-policy-preview{padding:11px 13px;border-radius:13px;background:#f7f3f1;color:#746a66;font-size:11px;line-height:1.55}
.inventory-sales-policy-card>button{width:100%;height:44px;border:0;border-radius:14px;background:#252221;color:#fff;font-weight:700}
.inventory-sales-policy-card select:disabled{opacity:.55}
.inventory-sales-policy-card.policy-enabled{border-color:#dfabb2;background:#fffafa}
.photo-learning-settings-card{display:grid;gap:10px}.photo-learning-settings-card>p{margin:0}.photo-learning-settings-summary{padding:10px 11px;border-radius:12px;background:#f8f5f3;color:#6e6664;font-size:9px;line-height:1.6}.photo-learning-settings-card>button{width:100%;height:42px;border:1px solid #d88389;border-radius:13px;background:#fff;color:#bd626a;font-weight:700;font-size:10px}.photo-learning-settings-card>button:disabled{border-color:#dfd8d5;color:#aaa3a0;background:#faf8f7}.photo-learning-settings-card>small{color:var(--muted);font-size:8px;line-height:1.55}
/* Long-term mobile usability: keep native scrolling/inertia while removing the
   persistent desktop-style scrollbar rendered by some PWA WebViews. */
html,body,*{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:0;height:0;display:none}
html{touch-action:manipulation}
button,input,select,textarea{touch-action:manipulation}

.cashier-sort-row,.report-control-bar,.inventory-filter-tabs,.temporary-filter-tabs,
.library-kind-tabs,.library-publish-toolbar{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:8px 0}
.cashier-sort-row>span{flex:0 0 auto;color:#8b8583;font-size:12px}
.cashier-sort-row #cashierSortTabs{display:flex;align-items:center;gap:6px;overflow-x:auto;flex:1 1 auto}
.cashier-sort-row button,.report-control-bar button,.inventory-filter-tabs button,
.temporary-filter-tabs button,.library-kind-tabs button{min-height:40px;border:1px solid #e9e1dd;background:#fff;border-radius:999px;padding:0 12px;white-space:nowrap;color:#696361;font-size:13px;line-height:1}
.cashier-sort-row button.active,.report-control-bar button.active,.inventory-filter-tabs button.active,
.temporary-filter-tabs button.active,.library-kind-tabs button.active{background:#242120;color:#fff;border-color:#242120}
.report-control-bar{justify-content:space-between;flex-wrap:wrap}
.report-control-bar>div{display:flex;gap:7px;overflow-x:auto}
.report-admin-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.report-admin-period article{background:#fff;border:1px solid #eee5e1;border-radius:18px;padding:14px}
.report-admin-period span{display:block;color:#8c8582;font-size:12px;margin-bottom:7px}
.report-admin-period strong{font-size:19px}
.operating-conclusion-card{margin:12px 0;padding:16px;border:1px solid #eadfdb;border-radius:20px;background:linear-gradient(145deg,#fff,#fff8f6);box-shadow:0 8px 22px rgba(54,45,42,.06)}
.operating-conclusion-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.operating-conclusion-card header span,.operating-conclusion-card header strong{display:block}.operating-conclusion-card header span{color:var(--pink);font-size:10px;font-weight:700}.operating-conclusion-card header strong{margin-top:5px;font-size:16px}.operating-conclusion-card header small{max-width:42%;color:#8c8582;font-size:9px;text-align:right}
#operatingConclusionList{display:grid;gap:7px;margin-top:12px}.operating-conclusion-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px;border:1px solid #eee5e1;border-radius:14px;background:#fff;color:#292526;text-align:left}.operating-conclusion-row>i{width:27px;height:27px;display:grid;place-items:center;border-radius:10px;background:#fff0f3;color:#c56c80;font-style:normal}.operating-conclusion-row b,.operating-conclusion-row small{display:block}.operating-conclusion-row small{margin-top:3px;color:#918783;font-size:9px}.operating-conclusion-row>em{color:var(--pink);font-size:10px;font-style:normal;white-space:nowrap}
.business-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.business-theme-grid button{min-height:72px;padding:13px;border:1px solid #ebe3df;border-radius:17px;background:#fff;color:#292526;text-align:left}.business-theme-grid span,.business-theme-grid small{display:block}.business-theme-grid span{font-size:13px;font-weight:750}.business-theme-grid small{margin-top:7px;color:#8e8682;font-size:9px;line-height:1.45}
.report-manager-view .manager-sensitive{display:none!important}
.report-admin-view .report-admin-period{display:grid}
.report-accounting-note{margin:12px 0;padding:12px 15px;border:1px solid #eee5e1;border-radius:16px;background:#fff;color:#746d69}
.report-accounting-note summary{cursor:pointer;color:#3a3533;font-weight:700}
.report-accounting-note p{margin:9px 0 0;font-size:12px;line-height:1.55}

.product-create-actions{display:flex;gap:8px;align-items:center}
.product-create-actions>button{min-height:42px!important;padding:0 14px!important;border-radius:16px!important;font-size:13px!important;line-height:1!important}
.product-import-top{border:1px solid #eadfda;background:#fff;font-weight:700;white-space:nowrap}
.inventory-search{margin-top:14px}
.inventory-filter-tabs{margin-bottom:8px}
.inventory-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;background:#eef7f2;color:#648676}
.inventory-status.urgent{background:#fff0ed;color:#bb6258}
.inventory-status.observe{background:#fff7e7;color:#a77a30}
.stock-row .stock-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.stock-row .stock-actions span{font-size:11px;color:#8b8583}

.temporary-warehouse-guide summary{cursor:pointer;font-weight:700}
.temporary-warehouse-guide summary+span{display:block;margin-top:8px}
.temporary-compact-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid #eee3df;background:#fff;border-radius:20px;padding:12px;margin-bottom:10px}
.temporary-compact-card img,.temporary-compact-card .placeholder{width:64px;height:64px;border-radius:15px;object-fit:cover;background:#f6f1ee;display:grid;place-items:center;color:#a9a09c}
.temporary-compact-card b,.temporary-compact-card small{display:block}
.temporary-compact-card small{color:#8f8885;margin-top:4px}
.temporary-detail-card{margin-top:12px}
.temporary-archive-button{border:1px solid #efc9c8;background:#fff7f7;color:#b65d5c;border-radius:999px;padding:9px 12px}

.discount-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.discount-mode-tabs button{border:1px solid #eadfda;background:#fff;border-radius:14px;padding:11px 8px}
.discount-mode-tabs button.active{background:#242120;color:#fff}
.discount-input-row{display:grid;grid-template-columns:120px 1fr;align-items:center;border:1px solid #eee3df;border-radius:16px;padding:8px 12px}
.discount-input-row input{border:0;min-width:0;font-size:18px;text-align:right;padding:10px}
.discount-live-preview{background:#faf7f5;border-radius:18px;padding:8px 14px;margin:14px 0}
.discount-live-preview p{display:flex;justify-content:space-between;gap:16px;margin:10px 0}
.discount-sheet-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px}
.discount-sheet-actions button{border:0;border-radius:16px;padding:14px}
.discount-sheet-actions .primary{background:#242120;color:#fff}

.business-export-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.business-export-options button{border:1px solid #eadfda;background:#fff;border-radius:18px;padding:18px;text-align:left}
.business-export-options b,.business-export-options span{display:block}
.business-export-options span{font-size:12px;color:#8c8582;margin-top:7px}

.detail-product-hero{width:clamp(132px,34vw,220px);height:clamp(132px,34vw,220px);aspect-ratio:1;border:0;border-radius:14px;overflow:hidden;background:#f6f2ef;padding:0;margin:10px 0 24px;display:block}
.detail-product-hero img{width:100%;height:100%;object-fit:cover;display:block}
.detail-product-hero .placeholder{width:100%;height:100%;display:grid;place-items:center;color:#aaa19d}
.image-viewer{position:fixed;z-index:9999;inset:0;background:rgba(18,16,15,.94);display:grid;place-items:center;padding:20px}
.image-viewer[hidden]{display:none}
.image-viewer img{max-width:100%;max-height:88vh;object-fit:contain}
.image-viewer button{position:absolute;top:max(18px,env(safe-area-inset-top));right:18px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:28px}

.member-settings-page .form-header-actions,.form-header-actions{display:flex;gap:8px}
.member-settings-page .form-header-actions button,.form-header-actions button{min-width:0;border-radius:999px!important;padding:0 12px!important;white-space:nowrap}
.back-to-apps{border:1px solid #eadfda!important;background:#fff!important;border-radius:999px!important;padding:9px 14px!important}
.library-publish-toolbar{justify-content:flex-end;flex-wrap:nowrap}
.library-publish-toolbar span{margin-right:auto;color:#8d8582;white-space:nowrap;font-size:12px}
.library-publish-toolbar button{flex:0 0 auto;min-height:38px;border:1px solid #eadfda;background:#fff;border-radius:999px;padding:0 11px;font-size:12px;line-height:1}
#syncCloudModelCatalog{min-height:40px!important;padding:0 13px!important;border-radius:14px!important;font-size:12px!important;line-height:1!important}
.performance-decision-actions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.performance-decision-actions button{min-height:40px;border:1px solid #e9e1dd;border-radius:999px;background:#fff}
.performance-decision-actions button.active{background:#242120;color:#fff;border-color:#242120}
.report-custom-range{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin:0 0 12px;padding:12px;border:1px solid #eee5e1;border-radius:18px;background:#fff}
.report-custom-range[hidden]{display:none}
.report-custom-range label{display:grid;gap:5px;color:#8c8582;font-size:11px}
.report-custom-range input{min-width:0;height:42px;padding:0 9px;border:1px solid #e9e1dd;border-radius:12px;background:#fff}
.report-custom-range button{height:42px;padding:0 16px;border:0;border-radius:12px;background:#242120;color:#fff}
.inventory-decision-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}
.inventory-decision-actions button{min-height:44px;border:1px solid #e9e1dd;border-radius:14px;background:#fff;color:#242120}
.inventory-decision-actions button:first-child{background:#242120;color:#fff;border-color:#242120}
.inventory-decision-actions button.active{border-color:#ef8fb5;background:#fff2f7;color:#d86491}
.total-panel>div[hidden]{display:none}
.total-panel>div:not(.grand-total){min-height:30px}
.cart-lines{max-height:min(44vh,520px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.checkout-actions{position:sticky;bottom:0;z-index:3;padding-bottom:max(8px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,255,255,.62),#fff 24%)}

/* 分类与属性库：默认收起，点按单个卡片后再编辑详细设置。 */
.library-category-card{padding:0;overflow:hidden}
.library-category-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:14px;border:0;background:#fff;color:var(--ink);text-align:left}
.library-category-toggle>span:first-child{min-width:0;display:grid;gap:4px}
.library-category-toggle b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.library-category-toggle small{color:var(--muted);font-size:11px}
.library-category-toggle em{font-style:normal;color:var(--pink);font-size:11px;white-space:nowrap}
.library-category-badges{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.library-category-badges i{padding:4px 7px;border-radius:999px;background:var(--pink-soft);color:var(--pink);font-size:9px;font-style:normal;white-space:nowrap}
.library-category-body{padding:0 14px 14px;border-top:1px solid var(--line)}
.library-category-body[hidden]{display:none}
.attribute-sheet-category{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#faf7f5}
.attribute-sheet-category span{grid-column:1;color:var(--muted);font-size:11px}
.attribute-sheet-category b{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attribute-sheet-category button{grid-column:2;grid-row:1/3}

/* iOS 日期输入有固有宽度，必须允许左侧列真正收缩。 */
.receipt-date-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.receipt-date-filter label,.receipt-date-filter input{min-width:0}
.receipt-date-filter input{height:38px;padding:0 7px;font-size:12px;-webkit-appearance:none}
.receipt-date-filter button{width:78px;height:38px;padding:0 8px;white-space:nowrap;font-size:11px}

/* 次卡模板标题、说明固定分为两行。 */
.template-card-main>div{min-width:0;display:grid;gap:5px}
.template-card-main b,.template-card-main small{display:block;line-height:1.35}
.template-card-main small{color:var(--muted);white-space:normal}

/* 模板页右上角统一为小号胶囊并居中。 */
#memberSettingsPage .form-header-actions{gap:7px}
#memberSettingsPage .form-header-actions button{min-width:64px;height:38px;padding:0 13px!important;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px!important;line-height:1;text-align:center}
#memberSettingsPage #addMemberSetting{background:var(--pink-soft);border-color:#f2cedc;color:var(--pink)}

@media (min-width:720px){
  .report-admin-period{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* v73：新增操作统一为紧凑胶囊。仅约束工具/筛选按钮，不缩小收款、
   保存、确认入账等主流程按钮。 */
.ui-pill,
.cashier-heading-actions button,
.member-heading-actions button,
.cashier-sort-row button,
.report-control-bar button,
.inventory-filter-tabs button,
.temporary-filter-tabs button,
.library-kind-tabs button,
.library-publish-toolbar button,
.product-create-actions>button,
#memberSettingsPage .form-header-actions button,
.form-header-actions button,
.back-to-apps{
  min-width:0;
  min-height:36px;
  height:36px;
  max-height:36px;
  padding:0 12px!important;
  border-radius:999px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 auto;
  font-size:12px!important;
  font-weight:650;
  line-height:1!important;
  text-align:center;
  white-space:nowrap;
}
.cashier-heading-actions,.member-heading-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.account-login-card{display:flex;align-items:center;justify-content:space-between;gap:14px}
.account-login-card>div{min-width:0}
.account-login-card h3,.account-login-card p{margin:0}
.account-login-card p{margin-top:6px}
.account-login-card>button{flex:0 0 auto}
.system-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.system-card-heading>div{min-width:0}
.system-card-heading h3,.system-card-heading p{margin:0}
.system-card-heading p{margin-top:6px;color:var(--muted);font-size:9px}
.inline-store-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto auto;gap:8px;margin-top:12px}
.inline-store-form input,.inline-store-form button{min-height:40px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 12px;font:inherit}
.inline-store-form button{white-space:nowrap}
.inline-store-form button[type="submit"]{background:var(--black);color:#fff;border-color:var(--black)}
.inline-store-form .store-form-save{display:inline-flex!important;align-items:center;justify-content:center;visibility:visible!important;opacity:1!important}
@media(max-width:640px){.inline-store-form{grid-template-columns:1fr 1fr}.inline-store-form input{grid-column:1/-1}}
.cashier-heading-actions #heldCount{
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--pink);
  color:#fff;
  font-size:10px;
}
#paymentSheet .payment-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
#paymentSheet .payment-grid button{
  min-width:0;
  height:76px;
  padding:8px 4px;
  border-radius:16px;
  gap:6px;
  text-align:center;
  font-size:10px;
}
#paymentSheet .payment-grid i{
  width:32px;
  height:32px;
  border-radius:10px;
}
.external-pos{background:#2d2a29}
.member-import-preview{
  margin-top:12px;
  padding:13px 15px;
  border-radius:16px;
  background:#faf6f4;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.member-import-preview b{display:block;color:var(--ink);font-size:12px}
.member-import-preview p{margin:5px 0 0}
.member-import-sheet .import-action-grid button{
  min-height:40px;
  height:40px;
  padding:0 13px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:12px;
}
.full-document-info>.receipt-money-summary{
  display:block;
  min-height:0;
  margin:12px 0;
  padding:14px;
  border:1px solid #eedfdd;
  border-radius:16px;
  background:linear-gradient(135deg,#fff8fa,#fffdfb);
}
.receipt-money-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
}
.receipt-money-summary-head>span{
  color:var(--ink);
  font-size:11px;
  font-weight:800;
}
.receipt-money-summary-head>small{
  color:var(--muted);
  font-size:7px;
  text-align:right;
}
.receipt-money-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.receipt-money-metrics article{
  min-width:0;
  padding:10px;
  border:1px solid #eee5e2;
  border-radius:12px;
  background:#fff;
}
.receipt-money-metrics span,.receipt-money-metrics strong{display:block}
.receipt-money-metrics span{font-size:8px}
.receipt-money-metrics strong{
  margin-top:6px;
  color:var(--ink);
  font-size:13px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.receipt-money-metrics .discount strong{color:#c86b76}
.receipt-money-metrics .payable{
  border-color:#eecbd5;
  background:#fff2f6;
}
.receipt-money-metrics .payable strong{font-size:15px}
.receipt-discount-details{
  margin-top:10px;
  padding-top:9px;
  border-top:1px dashed #eadfdb;
}
.receipt-discount-details summary{
  color:#a06f7c;
  font-size:8px;
  cursor:pointer;
  list-style:none;
}
.receipt-discount-details summary::-webkit-details-marker{display:none}
.receipt-discount-details summary::after{content:'＋';margin-left:5px}
.receipt-discount-details[open] summary::after{content:'－'}
.receipt-discount-details>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  margin-top:8px;
}
.receipt-discount-details>div span{
  color:var(--muted);
  font-size:8px;
}
.receipt-discount-details>div b{
  margin-left:4px;
  color:#c86b76;
  font-size:8px;
  font-weight:700;
}
@media (max-width:460px){
  .page-heading{align-items:flex-start}
  .cashier-heading-actions{max-width:178px}
  .member-heading-actions{max-width:232px}
  #paymentSheet .payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #paymentSheet .payment-grid button{height:68px}
  .account-login-card{align-items:flex-start}
  .receipt-money-summary-head{align-items:flex-start}
  .receipt-money-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .receipt-money-metrics .payable{grid-column:1/-1}
}

/* v77: system settings keep the page compact; every major block expands in place. */
.settings-fold-card{padding:0;overflow:hidden}
.settings-fold-card>summary{
  min-height:66px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  list-style:none;
  -webkit-tap-highlight-color:transparent;
}
.settings-fold-card>summary::-webkit-details-marker{display:none}
.settings-fold-card>summary span{min-width:0;display:grid;gap:5px}
.settings-fold-card>summary b{font-size:14px}
.settings-fold-card>summary small{color:var(--muted);font-size:9px;line-height:1.45}
.settings-fold-card>summary>i{
  width:26px;
  height:26px;
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:50%;
  position:relative;
}
.settings-fold-card>summary>i::before,.settings-fold-card>summary>i::after{
  content:'';
  position:absolute;
  left:7px;
  right:7px;
  top:12px;
  height:1.5px;
  background:var(--ink);
  transition:transform .18s ease;
}
.settings-fold-card>summary>i::after{transform:rotate(90deg)}
.settings-fold-card[open]>summary>i::after{transform:rotate(0)}
.settings-fold-card[open]>summary{border-bottom:1px solid var(--line);background:#fdfafa}
.settings-fold-body{display:grid;gap:12px;padding:14px}
.settings-fold-body>p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}
.settings-fold-body .system-card-heading{margin-bottom:0}
.account-store-group{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff}
.account-store-group+.account-store-group{margin-top:2px}
.account-store-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.account-store-heading h3{margin:0;font-size:13px}
.account-store-heading p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.account-store-heading .ui-pill{flex:0 0 auto}
.account-store-group .current-account-summary{margin:0}
@media(max-width:560px){.account-store-heading{align-items:stretch}.account-store-heading .ui-pill{min-height:36px}}
@media(max-width:700px){.avatar{min-width:58px;max-width:70px;padding:0 9px;font-size:9px}}
.legacy-consumption-item{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(150px,1.8fr) minmax(54px,.45fr);gap:12px;align-items:start;width:100%}
.legacy-consumption-item>span{display:flex;min-width:0;flex-direction:column;gap:4px}
.legacy-consumption-item small,.legacy-consumption-total small{color:#999;font-size:12px;font-weight:500}
.legacy-consumption-item b{overflow-wrap:anywhere;color:#222;font-size:14px;line-height:1.35}
.legacy-consumption-total{justify-content:flex-end}
@media(max-width:520px){.legacy-consumption-item{grid-template-columns:minmax(82px,.75fr) minmax(0,1.55fr) 48px;gap:8px}.legacy-consumption-item b{font-size:13px}}

/* v96 经营汇总、模板可信关联与采购体验 */
.purchase-edit-button{display:grid;place-items:center;text-align:center}
.purchase-supplier-button{display:flex!important;align-items:center;justify-content:space-between;gap:10px;max-width:52%;padding-left:14px!important;padding-right:12px!important;text-align:left}
.purchase-supplier-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-supplier-button i{flex:0 0 auto;display:grid;place-items:center;width:18px;height:18px;font-style:normal;line-height:1;transform:translateY(-1px)}
.template-stats-toggle{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:0 0 10px;border:0;border-bottom:1px solid #f0ecea;background:transparent;text-align:left;color:inherit}.template-stats-toggle span{min-width:0}.template-stats-toggle h3 em,.template-stats-card h3 em{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#f3efed;color:#8d827d;font-size:7px;font-style:normal}.template-stats-toggle>b{display:flex;align-items:center;gap:5px;color:var(--pink);font-size:10px;white-space:nowrap}.template-stats-toggle i{font-size:13px;font-style:normal}.template-member-row{width:100%;border-left:0;border-right:0;border-bottom:0;background:transparent;text-align:left}.template-member-row>span{min-width:0}
.report-scope-bar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:0 0 12px;padding:13px 14px;border:1px solid #ece4e0;border-radius:17px;background:#fff}.report-scope-bar b,.report-scope-bar span{display:block}.report-scope-bar b{font-size:12px}.report-scope-bar span,.report-scope-bar>small{margin-top:4px;color:#8d8581;font-size:8px}.report-scope-bar>small{grid-column:1/-1;margin:0;padding-top:8px;border-top:1px solid #f0ebe8}.report-period-pills{display:flex;gap:5px}.report-period-pills button,.insight-date-pills button,.insight-tabs button{height:32px;padding:0 10px;border:1px solid #e7dfdc;border-radius:999px;background:#fff;color:#746c68;font-size:9px}.report-period-pills button.active,.insight-date-pills button.active,.insight-tabs button.active{border-color:#2a2625;background:#2a2625;color:#fff}
.report-stored-value-card,.report-anomaly-card{width:100%;display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center;margin:10px 0;padding:15px;border:1px solid #eadfdb;border-radius:17px;background:#fff;text-align:left;color:#292526}.report-stored-value-card span,.report-anomaly-card span{font-size:10px}.report-stored-value-card strong,.report-anomaly-card strong{font-size:20px}.report-stored-value-card small,.report-anomaly-card small{grid-column:1/-1;color:#968c88;font-size:8px}.report-anomaly-card{border-color:#f0cfcb;background:#fff8f6}.report-anomaly-card strong{color:#bf6157}
.insight-page{background:#f8f6f4}.insight-content{padding-bottom:calc(38px + env(safe-area-inset-bottom))}.insight-date-filter{display:grid;gap:8px;margin-bottom:11px}.insight-date-pills,.insight-tabs{display:flex;gap:6px;overflow-x:auto}.insight-custom-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:6px;align-items:center}.insight-custom-dates[hidden]{display:none}.insight-custom-dates input{min-width:0;height:38px;border:1px solid #e7dfdc;border-radius:10px;background:#fff;padding:0 8px}.insight-custom-dates span{color:#918783;font-size:9px}.insight-custom-dates button{height:38px;border:0;border-radius:10px;background:#292526;color:#fff;padding:0 12px}.insight-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:11px 0}.insight-summary article{min-width:0;padding:12px 10px;border:1px solid #ebe3df;border-radius:14px;background:#fff}.insight-summary span,.insight-summary strong{display:block}.insight-summary span{color:#938a86;font-size:8px}.insight-summary strong{margin-top:7px;font-size:15px;overflow:hidden;text-overflow:ellipsis}.insight-ledger,.insight-ranking-list{display:grid;gap:8px}.insight-ledger button,.insight-rank-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px;border:1px solid #e9e1dd;border-radius:15px;background:#fff;color:#292526;text-align:left}.insight-ledger button>span b,.insight-ledger button>span small,.insight-rank-row span strong,.insight-rank-row span small{display:block}.insight-ledger small,.insight-rank-row small{margin-top:4px;color:#928985;font-size:8px}.insight-ledger strong{font-size:10px}.insight-rank-row>b{width:24px;height:24px;display:grid;place-items:center;border-radius:9px;background:#fff0f3;color:#c26b80;font-size:9px}.insight-rank-row>i{color:#b4aaa6;font-size:17px;font-style:normal}.rank-thumb{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#f0ecea;color:#9a908b;font-size:7px}.rank-thumb img{width:100%;height:100%;object-fit:cover}.insight-rank-row:has(.rank-thumb){grid-template-columns:auto 42px minmax(0,1fr) auto}
.inventory-month-control{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;margin-bottom:14px}.inventory-month-control button,.inventory-month-control input{height:42px;border:1px solid #e7dfdc;border-radius:12px;background:#fff;text-align:center}.flow-section{margin-top:13px}.flow-section h3{margin:0 0 8px;font-size:13px}.flow-section>div{display:grid;gap:7px}.flow-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:12px;border:1px solid #e8e0dc;border-radius:14px;background:#fff;text-align:left;color:#292526}.flow-row b,.flow-row small{display:block}.flow-row small{margin-top:4px;color:#928985;font-size:8px}.flow-row>strong{font-size:10px}.flow-row>i{font-size:17px;font-style:normal;color:#b3a9a5}.flow-row>em{grid-column:1/-1;color:#6f8e7c;font-size:8px;font-style:normal}.document-header-export{height:32px;padding:0 10px;border:1px solid #dfd4cf;border-radius:999px;background:#fff;color:#5f5652;font-size:9px;font-weight:700;white-space:nowrap}
.report-anomaly-groups{display:grid;gap:12px}.report-anomaly-group{overflow:hidden;border:1px solid #eadfdb;border-radius:16px;background:#fff}.report-anomaly-group>header{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;border-bottom:1px solid #f0e9e6}.report-anomaly-group h3{margin:0;font-size:12px}.report-anomaly-group header b{padding:3px 7px;border-radius:999px;background:#fff0ed;color:#b85e58;font-size:8px}.report-anomaly-group button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 13px;border:0;border-bottom:1px solid #f2ece9;background:#fff;color:#292526;text-align:left}.report-anomaly-group button:last-child{border-bottom:0}.report-anomaly-group button strong,.report-anomaly-group button small{display:block}.report-anomaly-group button strong{font-size:10px}.report-anomaly-group button small{margin-top:4px;color:#938a86;font-size:8px;line-height:1.45}.report-anomaly-group button i{color:#bd665f;font-size:9px;font-style:normal;white-space:nowrap}.report-anomaly-note{margin:14px 3px 0;color:#918783;font-size:8px;line-height:1.6}
@media(max-width:380px){.report-scope-bar{grid-template-columns:1fr}.report-period-pills{justify-content:flex-start}.insight-summary{grid-template-columns:1fr 1fr}.insight-custom-dates{grid-template-columns:1fr auto 1fr}.insight-custom-dates button{grid-column:1/-1}.purchase-supplier-button{max-width:58%}}

/* v100 compact ranking rows */
.insight-rank-row.rank-product-row{grid-template-columns:24px 38px minmax(0,1fr) auto 12px;padding:8px 9px;gap:7px}.insight-rank-row.rank-sku-row{grid-template-columns:24px 38px minmax(70px,1fr) auto auto 12px;padding:8px 9px;gap:7px}.insight-rank-row.rank-plain-row{grid-template-columns:24px minmax(0,1fr) auto 12px;padding:9px}.rank-product-row .rank-thumb,.rank-sku-row .rank-thumb{width:38px;height:38px;border-radius:9px}.insight-rank-row .rank-primary{min-width:0}.insight-rank-row .rank-primary strong{display:block;font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insight-rank-row .rank-primary small{display:block;margin-top:3px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-side{text-align:right;white-space:nowrap}.rank-side small,.rank-side strong{display:block}.rank-side small{margin:0 0 2px;font-size:7px}.rank-side strong{font-size:9px}.rank-metric{text-align:right;white-space:nowrap}.rank-metric small,.rank-metric strong{display:block}.rank-metric small{margin:0 0 2px;font-size:7px;color:#928985}.rank-metric strong{font-size:9px}.rank-metric.amount{min-width:48px}.detail-sku-card.ranking-target{outline:2px solid #d77b91;box-shadow:0 0 0 5px rgba(215,123,145,.14);transition:box-shadow .2s,outline-color .2s}
.insight-rank-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.rank-direct-purchase{min-width:58px;border:1px solid #eadfdb;border-radius:14px;background:#fff7f8;color:var(--pink);font-size:9px;font-weight:700}.insight-rank-action-row .insight-rank-row{min-width:0}

/* v140：汇总只保留经营结论与主题入口，主题页承接原有经营数据。 */
.app-shell{overflow-x:clip}
.report-control-bar{position:sticky;top:86px;z-index:19;margin:0 -2px 10px;padding:8px 2px;background:rgba(255,253,250,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.theme-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}.theme-section-heading h3,.theme-section-heading p{margin:0}.theme-section-heading h3{font-size:13px}.theme-section-heading p{margin-top:4px;color:#938a86;font-size:8px}.theme-section-heading>button{height:31px;padding:0 11px;border:1px solid #e7ded9;border-radius:999px;background:#fff;color:#756b68;font-size:9px}
#salesThemeMetrics{display:grid;gap:10px}.theme-conclusion{margin:0;padding:11px 12px;border:1px solid #eadfdb;border-radius:14px;background:#fff8f6;color:#715f5a;font-size:9px;line-height:1.6}
#productThemeWeekly .ranking-card{margin:0 0 12px}.inventory-theme-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.inventory-theme-summary .permission-redacted strong{color:#9b918d}.inventory-theme-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.inventory-theme-actions button{min-height:42px;padding:8px;border:1px solid #e7ded9;border-radius:13px;background:#fff;color:#514946;font-size:9px}.unassigned-advisor{cursor:default}
#categoryTabs[hidden]{display:none!important}
.attachment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-tabs{margin:0 0 9px}.product-attachment-list{display:grid;gap:8px;margin-bottom:16px}.attachment-order-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;width:100%;padding:12px;border:1px solid #e9e1dd;border-radius:15px;background:#fff;text-align:left;color:#2a2726}.attachment-status{padding:5px 7px;border-radius:999px;background:#f8e9e4;color:#b25949;font-size:8px;font-weight:700;white-space:nowrap}.attachment-order-row.linked .attachment-status{background:#eaf5ef;color:#4d8a68}.attachment-order-main{display:grid;gap:3px;min-width:0}.attachment-order-main strong,.attachment-order-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-order-main strong{font-size:10px}.attachment-order-main small,.attachment-order-side small{color:#958c88;font-size:8px}.attachment-order-side{display:grid;gap:3px;text-align:right;white-space:nowrap}.attachment-order-side strong{font-size:9px}.attachment-order-row>i{color:#a49a96;font-style:normal}
.replenishment-advice-content{height:auto;min-height:calc(100dvh - 78px);overflow:visible}

/* 所有层级页使用同一不透明淡入，不再横向露出上一层。 */
.form-page{top:0;bottom:0;transform:translateX(-50%);opacity:0;transition:opacity .16s ease,visibility 0s linear .16s;background:#fffdfa}
.form-page.show{transform:translateX(-50%);opacity:1;transition:opacity .16s ease;transition-delay:0s}
html.moli-history-instant .form-page,html.moli-history-instant .form-page.show{opacity:1}

/* v144：收银首页只负责选品，确认订单使用同层级全屏销售单。 */
.cashier-order-entry{min-width:0;border:0;background:transparent;padding:0;display:flex;align-items:center;color:var(--ink);text-align:left}
.cashier-order-entry span{display:block}.cashier-order-entry small,.cashier-order-entry strong{display:block}.cashier-order-entry small{margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:500}.cashier-order-entry strong{font-size:24px;line-height:1.15}
.cashier-order-entry:focus-visible{outline:2px solid var(--pink);outline-offset:5px;border-radius:10px}
.checkout-page{z-index:110;overflow:hidden;background:#f7f4f2;opacity:1;transform:translateX(calc(50vw + 100%));transition:transform .28s cubic-bezier(.22,.78,.3,1),visibility 0s linear .28s;will-change:transform}
.checkout-page.show{opacity:1;transform:translateX(-50%);transition:transform .28s cubic-bezier(.22,.78,.3,1);transition-delay:0s}
.checkout-page-header{grid-template-columns:42px minmax(0,1fr) auto}.checkout-page-header .form-save{min-width:64px;padding:0;font-size:10px;white-space:nowrap}
.checkout-page-content{height:calc(100dvh - 151px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 14px 32px;display:grid;align-content:start;gap:10px}
.checkout-card{margin:0;border:1px solid var(--line);border-radius:17px;background:#fff;padding:13px;box-shadow:none}
.checkout-customer-card{padding:0 13px}.checkout-customer-card .member-link{margin:0;border:0;border-bottom:1px solid #f0ecea;border-radius:0;padding:12px 0;background:#fff}.checkout-customer-card .member-link:last-child{border-bottom:0}.checkout-customer-card .member-link-summary{width:100%}.checkout-customer-card .member-link-picker{justify-self:end}
.checkout-page .order-benefits{padding:10px}.checkout-page .order-benefits .payment-benefits{margin:0}
.checkout-card-heading{min-height:31px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.checkout-card-heading b{font-size:13px}.checkout-card-heading small{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:400}.checkout-card-heading>button{height:28px;border:0;border-radius:999px;background:#f2eeec;padding:0 10px;color:var(--muted);font-size:9px}
.checkout-page .cart-lines{max-height:none;overflow:visible;margin:3px 0 0}.checkout-page .empty-cart{padding:22px 0}
.checkout-discount-card{padding:0 13px 12px}.checkout-page .manual-discount-row{margin:0;border:0;border-bottom:1px solid #f0ecea;border-radius:0;padding:12px 0}.checkout-page .discount-row{margin-top:10px}
.checkout-page .total-panel{padding:8px 13px}.checkout-page .total-panel>div{min-height:39px}.checkout-page .total-panel .grand-total{margin-top:2px;padding-top:10px}
.fulfillment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.fulfillment-options button{min-height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:10px}.fulfillment-options button.selected{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:650}
.fulfillment-fields{display:grid;margin-top:10px;border-top:1px solid #f0ecea}.fulfillment-fields[hidden]{display:none}.fulfillment-fields label{min-height:49px;display:grid;grid-template-columns:75px minmax(0,1fr);align-items:center;border-bottom:1px solid #f0ecea}.fulfillment-fields label:last-child{border-bottom:0}.fulfillment-fields label>span:first-child{font-size:10px}.fulfillment-fields input,.fulfillment-fields textarea{width:100%;min-width:0;border:0;background:transparent;outline:0;color:var(--ink);font:inherit;font-size:10px;text-align:right}.fulfillment-fields textarea{padding:12px 0;resize:none;line-height:1.5}.fulfillment-money{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.fulfillment-money i{color:var(--muted);font-size:10px;font-style:normal}
.fulfillment-fields label[hidden]{display:none}
.checkout-page-actions{position:absolute;z-index:6;left:0;right:0;bottom:0;grid-template-columns:92px 1fr;min-height:73px;padding:9px 14px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.checkout-page-actions button{height:49px}.checkout-page-actions .checkout{display:flex;align-items:center;justify-content:center;gap:8px}.checkout-page-actions strong{font-size:13px}
@media (max-width:380px){.checkout-page-content{padding-left:10px;padding-right:10px}.fulfillment-options{gap:5px}.fulfillment-options button{font-size:9px}}

.sku-show-all{display:inline-flex;margin-top:6px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:9px}.sku-show-all[hidden]{display:none}
@media(max-width:380px){.inventory-theme-actions{grid-template-columns:1fr}.report-control-bar{top:86px}}

/* v141：汇总恢复每日必看卡片，重复日期只在顶部筛选显示一次。 */
.report-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px;margin:10px 0}
.report-action-grid .report-anomaly-card{margin:0}
.report-conclusion-entry{width:100%;display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center;min-height:76px;margin:0;padding:15px;border:1px solid #eadfdb;border-radius:17px;background:#fff;text-align:left;color:#292526}
.report-conclusion-entry span{font-size:10px}.report-conclusion-entry strong{font-size:18px}.report-conclusion-entry small{grid-column:1/-1;overflow:hidden;color:#968c88;font-size:8px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
#operatingBusinessOverview .business-overview-card{margin:0 0 12px}
.business-overview-mirror{box-shadow:0 9px 22px rgba(43,38,38,.15)}
#operatingConclusionPage .operating-conclusion-card{margin-top:0}
[data-view="report"]>.business-overview-card{margin-top:2px}
@media(max-width:380px){.report-action-grid{grid-template-columns:1fr 1fr}.report-conclusion-entry,.report-action-grid .report-anomaly-card{padding:12px}.report-conclusion-entry strong,.report-action-grid .report-anomaly-card strong{font-size:16px}}
/* v113: 商品分类树与 SKU 规格库彻底分离 */
.product-category-picker{border-top:1px solid #eee}.product-category-picker .form-row{border-top:0}.product-category-picker>small{display:block;padding:0 16px 14px;color:var(--muted);font-size:10px;line-height:1.6}.category-tree-list{display:grid;gap:14px;padding-bottom:24px}.category-tree-card{overflow:hidden;border:1px solid #ebe7e5;border-radius:20px;background:#fff}.category-tree-card>header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;background:#faf8f7}.category-tree-card>header div,.category-tree-card>header b,.category-tree-card>header small{display:block}.category-tree-card>header b{font-size:16px}.category-tree-card>header small{margin-top:5px;color:var(--muted);font-size:10px}.category-tree-card button{border:0;border-radius:14px;background:#f5eeee;color:#b76c78;padding:9px 12px}.category-tree-children{padding:4px 18px}.category-tree-children>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #f1eeee}.category-tree-children span,.category-tree-children b,.category-tree-children small{display:block}.category-tree-children b{font-size:13px}.category-tree-children small{margin-top:4px;color:var(--muted);font-size:9px}.category-tree-children p{color:var(--muted);font-size:11px}.category-child-add{display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px 18px}.category-child-add input{min-width:0;border:1px solid #e8e3e1;border-radius:14px;padding:11px}.category-child-add button{background:#252222;color:#fff}.library-kind-tabs.two{grid-template-columns:repeat(2,1fr)}

/* v146: 确认订单使用独立的小 SKU 选品页，复用现有购物车状态。 */
.checkout-sku-picker-page{z-index:111;overflow:hidden;background:#fffdfb}
.checkout-sku-picker-header{grid-template-columns:42px minmax(0,1fr) 42px}
.checkout-sku-picker-header h2{font-size:16px}.checkout-sku-picker-header span{display:block;margin-top:3px;color:var(--muted);font-size:8px}
.sku-picker-search-toggle{width:40px;height:40px;border:0;border-radius:20px;background:#f3efed;color:var(--ink);font-size:23px}
.checkout-sku-search{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);background:#fff}
.checkout-sku-search[hidden]{display:none}.checkout-sku-search input{height:40px;border:1px solid var(--line);border-radius:13px;padding:0 13px;background:#f8f5f3;outline:0;font-size:11px}.checkout-sku-search input:focus{border-color:#dba1b5;background:#fff}
.checkout-sku-search button{border:0;border-radius:12px;background:#f3efed;color:#716966;font-size:18px}
.checkout-sku-results{height:calc(100dvh - 142px - env(safe-area-inset-bottom));overflow:auto;display:grid;align-content:start;gap:8px;padding:12px 14px calc(92px + env(safe-area-inset-bottom))}
.checkout-sku-row{min-height:76px;display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left}
.checkout-sku-row .cashier-sku-image{width:50px;height:50px}.checkout-sku-row-copy{min-width:0}.checkout-sku-row-copy b,.checkout-sku-row-copy small,.checkout-sku-row-copy em{display:block}.checkout-sku-row-copy b{overflow:hidden;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.checkout-sku-row-copy small{margin-top:4px;color:#746c69;font-size:8px}.checkout-sku-row-copy em{margin-top:5px;color:var(--muted);font-size:8px;font-style:normal}
.checkout-sku-row-action{display:grid;justify-items:end;gap:6px}.checkout-sku-row-action strong{font-size:11px}.checkout-sku-row-action button{min-width:42px;height:32px;border:0;border-radius:16px;background:var(--ink);color:#fff;font-size:9px}.checkout-sku-row-action span{color:#c36e8a;font-size:8px}
.checkout-sku-empty{min-height:50dvh;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.checkout-sku-empty b{color:var(--ink);font-size:13px}.checkout-sku-empty span{max-width:260px;font-size:9px;line-height:1.6}
.checkout-sku-more{position:absolute;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:2;transform:translateX(-50%);height:34px;padding:0 18px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--muted)}
.checkout-sku-footer{position:absolute;left:0;right:0;bottom:0;z-index:3;min-height:72px;display:grid;grid-template-columns:1fr minmax(150px,1.5fr);gap:12px;align-items:center;padding:9px 16px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.97)}
.checkout-sku-footer span,.checkout-sku-footer strong{display:block}.checkout-sku-footer span{color:var(--muted);font-size:8px}.checkout-sku-footer strong{margin-top:3px;color:var(--ink);font-size:11px}.checkout-sku-footer button{height:44px;border:0;border-radius:22px;background:var(--ink);color:#fff;font-weight:750}

/* v146: 盘点行按内容高度排列，避免少量 SKU 被拉伸成巨型卡片。 */
.stocktake-page-list{align-content:start;grid-auto-rows:max-content;padding-bottom:calc(146px + env(safe-area-inset-bottom))}
.stocktake-page-list .stocktake-cart-row{min-height:76px;align-self:start;padding:9px 10px;grid-template-columns:42px minmax(0,1fr) auto}
.stocktake-page-list .stocktake-cart-row .cashier-sku-image{width:42px;height:42px}
.stocktake-page-note{bottom:calc(82px + env(safe-area-inset-bottom))}
.stocktake-page-footer{min-height:78px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}

/* v148: 旧标签建档盘点。扫码阶段只维护草稿，生成既有盘点单后才可入账。 */
.temporary-heading-actions{display:flex;gap:7px;align-items:center}.temporary-heading-actions .soft-button{white-space:nowrap}.temporary-heading-actions .secondary{background:#fff7f8;color:#b95f72;border:1px solid #f0ccd5}.legacy-count-content{padding-bottom:106px}.legacy-count-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border:1px solid #efd9d2;border-radius:18px;background:linear-gradient(135deg,#fff,#fff5f7)}.legacy-count-intro div{display:grid;gap:5px}.legacy-count-intro b{font-size:14px}.legacy-count-intro span{font-size:10px;line-height:1.55;color:var(--muted)}.legacy-count-intro button{height:42px;border:0;border-radius:13px;padding:0 15px;background:var(--ink);color:#fff;font-weight:700}.legacy-count-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:13px 0;border-radius:17px;overflow:hidden;background:#5c494f;color:#fff}.legacy-count-summary article{display:grid;gap:3px;place-items:center;min-width:0;padding:13px 4px;border-right:1px solid rgba(255,255,255,.22)}.legacy-count-summary article:last-child{border-right:0}.legacy-count-summary strong{font-size:18px}.legacy-count-summary span{font-size:8px;opacity:.76}.legacy-count-list{display:grid;gap:10px}.legacy-count-empty{display:grid;place-items:center;gap:7px;min-height:180px;border:1px dashed #e7d8d3;border-radius:18px;color:var(--muted);text-align:center}.legacy-count-empty b{color:var(--ink);font-size:14px}.legacy-count-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;border:1px solid #eadbd6;border-radius:17px;background:#fff}.legacy-count-row>span{display:grid;gap:3px;min-width:0}.legacy-count-row b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legacy-count-row small{font-size:9px;color:var(--muted)}.legacy-count-row em{font-size:9px;color:#bd6075;font-style:normal}.legacy-count-stepper{display:grid;grid-template-columns:32px 40px 32px;align-items:center;gap:4px}.legacy-count-stepper button{width:32px;height:32px;border:0;border-radius:10px;background:#f4efed;font-size:17px}.legacy-count-stepper strong{text-align:center;font-size:15px}.legacy-count-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr);align-items:center;gap:12px}.legacy-count-bottom span{font-size:10px;color:var(--muted)}.legacy-count-bottom button{min-width:0}.legacy-count-row.temporary{background:#fff8fa}.legacy-count-row.formal em{color:#678c72}@media(max-width:560px){.temporary-warehouse-view .page-heading{align-items:flex-start}.temporary-heading-actions{flex-direction:column;align-items:stretch}.temporary-heading-actions .soft-button{height:34px}.legacy-count-summary{grid-template-columns:repeat(2,1fr)}.legacy-count-summary article:nth-child(2){border-right:0}.legacy-count-summary article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.22)}.legacy-count-bottom{grid-template-columns:1fr}.legacy-count-bottom span{text-align:center}}
/* POS V160 启动壳：样式继续收敛在主入口，不新增版本 CSS。 */
.boot-status{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 16px;border:1px solid #eadfda;border-radius:16px;background:#fffaf8;color:#756a67;font-size:14px}
.boot-status[hidden]{display:none}
.boot-status i{width:10px;height:10px;border-radius:50%;background:#dc7fa1;box-shadow:0 0 0 5px rgba(220,127,161,.12);animation:moli-boot-pulse 1.2s ease-in-out infinite}
@keyframes moli-boot-pulse{50%{opacity:.45;transform:scale(.82)}}
html,body,.app-shell{box-shadow:none!important;filter:none!important;-webkit-filter:none!important}
.bottom-nav{background:#fffdfb!important;box-shadow:none!important;filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.bottom-nav::before,.bottom-nav::after{content:none!important;display:none!important;box-shadow:none!important}
/* Consolidated from styles-v114.css in POS V160. */
/* v114: 多颜色商品按颜色导航，单 SKU 与无颜色商品保持原列表 */
.detail-sku-navigation {
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px 16px;
  border-bottom:1px solid #eee;
  background:#fff;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.detail-sku-navigation::-webkit-scrollbar { display:none; }
.detail-sku-navigation[hidden] { display:none; }
.detail-sku-navigation button {
  flex:0 0 auto;
  min-height:38px;
  padding:0 16px;
  border:1px solid #e8dfdc;
  border-radius:999px;
  background:#fff;
  color:#6f6662;
  font-size:11px;
  white-space:nowrap;
}
.detail-sku-navigation button.active {
  border-color:#292526;
  background:#292526;
  color:#fff;
  font-weight:700;
}

/* Consolidated from styles-v115.css in POS V160. */
/* v115: 商品表单单入口分类选择、分类树折叠 */
.product-category-entry {
  width:100%;
  border:0;
  background:#fff;
  color:var(--ink);
  text-align:left;
}
.product-category-entry>span { flex:0 0 92px; }
.product-category-entry>strong {
  min-width:0;
  flex:1;
  overflow:hidden;
  color:#8d8887;
  font-size:12px;
  font-weight:500;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.product-category-entry.has-value>strong { color:var(--ink); }
.category-picker-sheet { max-height:min(78vh,720px); }
.product-category-select-list { display:grid;gap:10px;overflow-y:auto;padding:4px 18px calc(24px + env(safe-area-inset-bottom)); }
.product-category-select-card { overflow:hidden;border:1px solid #ebe6e4;border-radius:17px;background:#fff; }
.product-category-select-primary { width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border:0;background:#fff;color:var(--ink);text-align:left; }
.product-category-select-primary span,.product-category-select-primary b,.product-category-select-primary small { display:block; }
.product-category-select-primary b { font-size:14px; }
.product-category-select-primary small { margin-top:4px;color:var(--muted);font-size:9px; }
.product-category-select-primary i { flex:0 0 auto;color:#c47786;font-size:19px;font-style:normal;transition:transform .18s ease; }
.product-category-select-card.expanded .product-category-select-primary i { transform:rotate(90deg); }
.product-category-select-children { display:grid;padding:0 12px 10px;border-top:1px solid #f0ecea;background:#fdfbfa; }
.product-category-select-children[hidden] { display:none; }
.product-category-select-children button { width:100%;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 8px 0 18px;border:0;border-bottom:1px solid #f0ecea;background:transparent;color:var(--ink);font-size:12px;text-align:left; }
.product-category-select-children button:last-child { border-bottom:0; }
.product-category-select-children button.active { color:#bd6b7d;font-weight:700; }
.product-category-select-children button i { font-style:normal; }
.product-category-select-empty { margin:0;padding:15px 18px;color:var(--muted);font-size:10px;line-height:1.5; }

.category-tree-card>header { gap:8px;padding:0 10px 0 0; }
.category-tree-toggle { min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;padding:16px 8px 16px 18px!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;text-align:left; }
.category-tree-toggle>span { min-width:0; }
.category-tree-toggle>i { flex:0 0 auto;color:#c47786;font-size:18px;font-style:normal;transition:transform .18s ease; }
.category-tree-card.expanded .category-tree-toggle>i { transform:rotate(90deg); }
.category-tree-delete,.category-secondary-delete { padding:7px 9px!important;font-size:9px!important;font-weight:500; }
.category-tree-expand-body[hidden] { display:none; }
.category-child-add button { min-height:36px;padding:7px 10px!important;font-size:9px!important;white-space:nowrap; }

/* Consolidated from styles-v116.css in POS V160. */
/* v116: 选壳展示折叠、分类商品下钻 */
.shop-display-fold-toggle { width:100%;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 16px;border:0;background:#fff;color:var(--ink);text-align:left; }
.shop-display-fold-toggle h3 { margin:0;font-size:14px; }
.shop-display-fold-toggle>span { display:flex;align-items:center;gap:10px; }
.shop-display-fold-toggle em { font-style:normal; }
.shop-display-fold-toggle i { color:#c47786;font-size:19px;font-style:normal;transition:transform .18s ease; }
.shop-display-fold-toggle[aria-expanded="true"] i { transform:rotate(90deg); }
.shop-display-fold-body[hidden] { display:none; }
.shop-display-fold-body { border-top:1px solid #f0ecea;padding-top:10px; }

.category-child-open { min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between!important;padding:0!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;text-align:left; }
.category-child-open>span { min-width:0; }
.category-child-open>i { flex:0 0 auto;margin-left:10px;color:#c47786;font-size:17px;font-style:normal; }
.category-tree-children>div { gap:10px; }
.category-product-list { display:grid;gap:10px;padding-bottom:24px; }
.category-product-row { width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid #eae4e1;border-radius:16px;background:#fff;color:var(--ink);text-align:left; }
.category-product-image { width:52px;height:52px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#f1edeb;color:#9b918d;font-size:9px; }
.category-product-image img { width:100%;height:100%;object-fit:cover; }
.category-product-row span,.category-product-row b,.category-product-row small { display:block;min-width:0; }
.category-product-row b { overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap; }
.category-product-row small { margin-top:5px;color:var(--muted);font-size:9px; }
.category-product-row>i { color:#c47786;font-size:18px;font-style:normal; }
.category-product-empty { padding:28px 18px;border:1px dashed #ded5d1;border-radius:18px;background:#fff;color:var(--muted);font-size:11px;line-height:1.7;text-align:center; }

/* Consolidated from styles-v117.css in POS V160. */
/* v117: 汇总交互、手动优惠与新建商品排版 */
.manual-discount-row {
  min-height: 48px;
  margin-bottom: 8px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.manual-discount-row > span:first-child { flex: 0 0 auto; color: var(--ink); font-size: 11px; }
.manual-discount-input { min-width: 0; flex: 1; display: flex; align-items: center; justify-content: flex-end; color: var(--muted); }
.manual-discount-input i { font-size: 12px; font-style: normal; }
.manual-discount-input input { min-width: 0; width: min(170px,100%); height: 40px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; text-align: right; }
.manual-discount-input input::placeholder { color: #b0a8a7; }

.product-category-picker { border-bottom: 1px solid #f0ecea; }
.product-category-picker .product-category-entry { border-bottom: 0; }

.shop-display-section { padding: 15px; }
.shop-display-fold-toggle { min-height: 28px; padding: 0; }
.shop-display-fold-toggle h3 { font-size: 14px; font-weight: 650; line-height: 1.3; }
.shop-display-fold-toggle > span { gap: 8px; }
.shop-display-fold-toggle .permission-badge { font-size: 9px; line-height: 1.2; }
.shop-display-fold-toggle i { width: 18px; font-size: 19px; line-height: 1; text-align: center; }
.shop-display-fold-body { margin-top: 12px; padding-top: 12px; }

/* Consolidated from styles-v118.css in POS V160. */
/* v118: 商品基础信息统一排版，隐藏重复价格卡片 */
.basic-info-section .product-category-entry {
  display: grid;
  grid-template-columns: 94px minmax(0,1fr);
  align-items: center;
  padding: 0;
  font: inherit;
}
.basic-info-section .product-category-entry > span {
  min-width: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
}
.basic-info-section .product-category-entry > strong {
  min-width: 0;
  padding-right: 24px;
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
}
.basic-info-section .form-row > span:first-child,
.basic-info-section .form-row input,
.basic-info-section .form-row select { font-size: 12px; font-weight: 400; }
.legacy-price-section { display: none !important; }

/* Consolidated from styles-v119.css in POS V160. */
/* v119: 商品表单留白、说明文字与汇总权限 */
.attribute-section .form-section-title { align-items: center; }
.sku-section .form-section-title p,
.sku-section .sku-help,
.sku-section .sku-bulk-title span,
.sku-section .sku-empty {
  color: var(--muted);
  font-size: 9px;
  font-weight: 400;
  line-height: 1.55;
}
.sku-section .sku-help { text-align: center; }
.sku-section .sku-empty {
  min-height: 76px;
  display: grid;
  place-items: center;
  padding: 16px;
  text-align: center;
}
#productFormPage .form-content { padding-bottom: clamp(42px,7vh,68px); }
#productFormPage { scroll-padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
.report-admin-period { display: none !important; }
.report-admin-view .report-admin-period { display: grid !important; }

/* Consolidated from styles-v120.css in POS V160. */
/* v120: unify final product form controls, including enhanced supplier selects. */
.basic-info-section .form-row {
  grid-template-columns: 94px minmax(0, 1fr);
  align-items: center;
}
.basic-info-section .form-row.code-row {
  grid-template-columns: 94px minmax(0, 1fr) 59px;
}
.basic-info-section .basic-field-value,
.basic-info-section [data-custom-select-trigger="newProductSupplier"] {
  min-width: 0;
  margin: 0;
  padding: 0 24px 0 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  font-style: normal;
  line-height: 1.35 !important;
  letter-spacing: 0;
  text-align: left;
  -webkit-appearance: none;
  appearance: none;
}
.basic-info-section .code-row .basic-field-value { padding-right: 8px; }
.basic-info-section .basic-field-value::placeholder,
.basic-info-section .basic-field-value.is-placeholder,
.basic-info-section [data-custom-select-trigger="newProductSupplier"].is-placeholder {
  color: #b0a8a7 !important;
  opacity: 1;
}
.basic-info-section .custom-select-trigger.basic-field-value {
  width: 100%;
  min-height: 35px;
}
.attribute-section .form-section-title {
  min-height: 48px;
  margin-bottom: 0;
  align-items: center;
}
.attribute-section .form-section-title h3,
.attribute-section .form-section-title button {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.2;
}
.attribute-section .form-section-title button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.attribute-section .selected-attribute-chips:not(:empty) { padding-top: 7px; }
.attribute-section #attributeGroups:not(:empty) { padding-top: 3px; }

/* Consolidated from styles-v121.css in POS V160. */
/* v121: expanded temporary warehouse cards and catalog permissions. */
.temporary-detail-card { margin-top: 0; }
.temporary-detail-card > header {
  grid-template-columns: 62px minmax(0, 1fr) auto;
  align-items: start;
}
.temporary-detail-card .temporary-collapse-button {
  align-self: start;
  min-width: 44px;
  height: 30px;
  margin: 0;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  color: var(--muted);
  font-size: 8px;
  white-space: nowrap;
}
.temporary-sku-actions {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  justify-content: end;
  align-items: center;
  gap: 7px;
}
.temporary-sku-actions button,
.temporary-sku-actions .temporary-archive-button {
  height: 34px;
  margin: 0;
  padding: 0 13px;
  border-radius: 10px;
  font-size: 8px;
  line-height: 1;
  white-space: nowrap;
}
.temporary-sku-actions .temporary-archive-button.danger {
  border: 1px solid #ead6d9;
  background: #fff;
  color: #b95e69;
}
.catalog-readonly .form-save { display: none !important; }
.catalog-readonly :disabled { opacity: .48; }
@media (max-width: 380px) {
  .temporary-sku-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .temporary-sku-actions button,
  .temporary-sku-actions .temporary-archive-button { padding: 0 7px; }
}

/* Consolidated from styles-v122.css in POS V160. */
/* v122: temporary warehouse state, related documents and iOS sheet scrolling */
.temporary-compact-card[hidden],
.temporary-product-card[hidden] {
  display: none !important;
}

body.sheet-scroll-locked {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
}

.barcode-scan-sheet {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.receipt-list-summary > .receipt-adjustment-summary {
  display: block;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.receipt-list-summary > .receipt-adjustment-summary.active {
  border-color: #df9aaa;
  background: #fff6f8;
}

.receipt-list-summary > .receipt-adjustment-summary span,
.receipt-list-summary > .receipt-adjustment-summary strong,
.receipt-list-summary > .receipt-adjustment-summary small {
  display: block;
}

.receipt-list-summary > .receipt-adjustment-summary span,
.receipt-list-summary > .receipt-adjustment-summary small {
  color: var(--muted);
  font-size: 7px;
}

.receipt-list-summary > .receipt-adjustment-summary strong {
  margin: 6px 0 3px;
  font-size: 13px;
}

.full-document-info > .document-related-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 14px 0;
  border-bottom: 1px solid #eee;
}

.document-related-links h3 {
  margin: 0;
  font-size: 11px;
}

.document-related-links button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fff;
  text-align: left;
}

.document-related-links button b,
.document-related-links button small {
  display: block;
}

.document-related-links button small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 8px;
}

.document-related-links button > strong {
  color: #c16d82;
  font-size: 10px;
}

/* Consolidated from styles-v123.css in POS V160. */
/* v123 keeps the existing visual system; this release changes ranking content and cashier visibility rules. */
.rank-sku-row .rank-primary strong {
  overflow-wrap: anywhere;
}

/* Consolidated from styles-v124.css in POS V160. */
/* v124: actionable report warnings and cost-basis repair center. */
.ledger-integrity-warning[data-report-warning-center] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  cursor: pointer;
}
.ledger-integrity-warning[data-report-warning-center] b { white-space: nowrap; font-size: 10px; }
.cost-basis-issue-content { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
.cost-basis-batch { width: 100%; min-height: 46px; margin: 0 0 12px; border: 0; border-radius: 14px; background: #292526; color: #fff; font-size: 11px; font-weight: 700; }
.cost-basis-issue-list { display: grid; gap: 11px; }
.cost-basis-issue-card { padding: 13px; border: 1px solid #eadfdb; border-radius: 17px; background: #fff; }
.cost-basis-issue-card header { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.cost-basis-issue-card header strong,.cost-basis-issue-card header small { display: block; }
.cost-basis-issue-card header strong { font-size: 11px; line-height: 1.4; }
.cost-basis-issue-card header small,.cost-issue-source { margin-top: 4px; color: #948a86; font-size: 8px; line-height: 1.5; }
.cost-basis-issue-card header>b { padding: 4px 8px; border-radius: 999px; background: #fff0ed; color: #b85e58; font-size: 8px; white-space: nowrap; }
.cost-issue-meta { display: flex; flex-wrap: wrap; gap: 6px 11px; margin: 11px 0; color: #817773; font-size: 8px; }
.cost-basis-issue-card label { display: grid; grid-template-columns:auto auto minmax(0,1fr); gap: 8px; align-items:center; min-height: 44px; padding: 0 11px; border: 1px solid #e8dfdc; border-radius: 12px; }
.cost-basis-issue-card label span { font-size: 9px; }
.cost-basis-issue-card label i { color: #968c88; font-style: normal; }
.cost-basis-issue-card input { min-width: 0; width: 100%; border: 0; background: transparent; text-align: right; font-size: 15px; outline: none; }
.cost-basis-issue-card footer { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 11px; }
.cost-basis-issue-card footer button { min-height: 42px; border: 1px solid #e6ddda; border-radius: 12px; background: #fff; color: #4e4643; font-size: 9px; }
.cost-basis-issue-card footer button.primary { border-color: #292526; background: #292526; color: #fff; }

/* Consolidated from styles-v125.css in POS V160. */
/* v125: leave a comfortable scroll runway below the SKU attribute library. */
#attributeLibraryPage .form-content {
  padding-bottom: max(96px, calc(env(safe-area-inset-bottom) + 72px));
}

#attributeLibraryList::after {
  content: '';
  display: block;
  height: 20px;
}

/* Consolidated from styles-v126.css in POS V160. */
/* v126: Android WebView and tablet responsive layout. */
html,
body {
  min-width: 320px;
  overscroll-behavior-y: none;
}

body.moli-android-webview {
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

body.moli-android-webview input,
body.moli-android-webview textarea,
body.moli-android-webview select {
  user-select: text;
  -webkit-user-select: text;
}

@media (min-width: 700px) {
  body .app-shell {
    width: min(calc(100% - 24px), 1180px);
    min-height: calc(100dvh - 24px);
    margin: 12px auto;
    border-radius: 26px;
  }

  body .content {
    padding-right: 24px;
    padding-left: 24px;
  }

  body .topbar {
    padding-right: 24px;
    padding-left: 24px;
  }

  body #productGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  body .bottom-nav {
    width: min(calc(100% - 24px), 1180px);
    bottom: 12px;
    border: 1px solid rgba(226, 217, 214, .82);
    border-radius: 0 0 26px 26px;
  }

  body .cart-fab,
  body .stocktake-cart-fab {
    width: min(calc(100% - 64px), 1116px);
    bottom: calc(91px + env(safe-area-inset-bottom));
  }

  body .form-page {
    border-radius: 26px;
  }

  body .form-content {
    padding-right: clamp(18px, 3vw, 36px);
    padding-left: clamp(18px, 3vw, 36px);
  }
}

@media (min-width: 980px) {
  body #productGrid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  body .app-hub-grid,
  body .member-list,
  body .document-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1240px) {
  body .app-shell,
  body .bottom-nav {
    width: min(calc(100% - 32px), 1320px);
  }

  body #productGrid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  body .cart-fab,
  body .stocktake-cart-fab {
    width: min(calc(100% - 80px), 1240px);
  }
}

@media (display-mode: standalone) {
  html,
  body {
    background: #fffdfa;
  }
}

/* Consolidated from styles-v128.css in POS V160. */
/* v128: keep every second- and third-level form page aligned with the tablet app shell. */
@media (min-width: 700px) {
  body .form-page {
    top: 12px;
    bottom: 12px;
    width: min(calc(100% - 24px), 1180px);
    max-width: none;
    border: 1px solid rgba(226, 217, 214, .72);
    border-radius: 26px;
    box-shadow: 0 18px 54px rgba(70, 55, 57, .055);
  }
}

@media (min-width: 1240px) {
  body .form-page {
    width: min(calc(100% - 32px), 1320px);
  }
}

/* Consolidated from styles-v129.css in POS V160. */
/* v129: selectable, numbered held orders. */
.held-orders-sheet{max-height:min(78dvh,720px)}
.held-orders-list{display:grid;gap:10px;padding-bottom:8px}
.held-order-option{width:100%;min-height:78px;display:grid;grid-template-columns:auto minmax(0,1fr) auto 14px;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left;color:var(--ink)}
.held-order-option:active{background:#fff7f7;border-color:#e5b6bc}
.held-order-number{display:grid;place-items:center;min-width:58px;height:42px;padding:0 9px;border-radius:13px;background:var(--pink-soft);color:#b76370;font-size:12px;font-weight:750;white-space:nowrap}
.held-order-copy,.held-order-amount{display:grid;gap:5px;min-width:0}
.held-order-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.held-order-copy small,.held-order-amount small{color:var(--muted);font-size:9px}
.held-order-amount{text-align:right;white-space:nowrap}
.held-order-amount b{font-size:14px}
.held-order-option i{color:#a49c9b;font-size:20px;font-style:normal}
@media (min-width:700px){.held-orders-sheet{width:min(calc(100% - 48px),760px);border-radius:26px 26px 0 0}}

/* Consolidated from styles-v130.css in POS V160. */
.temporary-product-detail-page,.temporary-promotion-page{z-index:138;background:#fbfaf8}
.temporary-product-detail-content{padding-bottom:7rem}
.temporary-detail-hero,.temporary-detail-variants article,.temporary-promotion-entry,.temporary-promotion-warning{background:#fff;border:1px solid #ebe7e3;border-radius:24px;padding:18px;margin-bottom:16px}
.temporary-detail-hero{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start}
.temporary-detail-image{width:96px;height:112px;border-radius:18px;background:#f5efed;display:grid;place-items:center;overflow:hidden;position:relative;color:#999}
.temporary-detail-image img{width:100%;height:100%;object-fit:cover}.temporary-detail-image input{position:absolute;inset:0;opacity:0}
.temporary-detail-hero label:not(.temporary-detail-image),.temporary-detail-variants article>label{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}
.temporary-detail-hero input,.temporary-detail-variants input,.temporary-promotion-skus input[type=text],.temporary-promotion-skus input:not([type]){min-width:0;border:0;background:transparent;font:inherit}
.temporary-detail-variants article header{display:flex;justify-content:space-between;gap:12px}.temporary-detail-variants header span{display:grid;gap:5px}.temporary-detail-variants header small{color:#999}.temporary-detail-variants header em{font-style:normal;color:#6c927b}
.temporary-promotion-entry{display:flex;align-items:center;justify-content:space-between;gap:16px}.temporary-promotion-entry div{display:grid;gap:6px}.temporary-promotion-entry span,.temporary-promotion-warning span{color:#8c8783;font-size:.86rem;line-height:1.55}.temporary-promotion-entry button{border:0;border-radius:16px;background:#242120;color:#fff;padding:13px 18px;white-space:nowrap}
.temporary-promotion-skus{display:grid;gap:12px}.temporary-promotion-skus>label{display:grid;grid-template-columns:auto 1fr minmax(100px,150px);gap:12px;align-items:center;border:1px solid #ebe7e3;border-radius:18px;padding:14px}.temporary-promotion-skus span{display:grid;gap:4px}.temporary-promotion-skus small{color:#999}.temporary-promotion-skus [data-promote-sku-code]{border:1px solid #ddd;border-radius:12px;padding:10px;width:100%}
.temporary-promotion-warning{display:grid;gap:6px;background:#fff6f6;border-color:#eedddd}
.sku-heading-actions{display:flex;align-items:center;gap:10px}.sku-heading-actions button{border:0;background:transparent;color:#c47685;font-size:.9rem}.sku-variant.sku-sort-mode{position:relative;padding-left:52px}.sku-drag-handle{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:24px;color:#aaa;cursor:grab;touch-action:none;user-select:none}.sku-variant.is-dragging{opacity:.55}.is-sorting-skus{overscroll-behavior:none}
.bottom-sheet.purchase-mode .cashier-sku-list{padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:calc(94px + env(safe-area-inset-bottom))}
.shop-display-fold-toggle .permission-badge{min-width:78px;text-align:center}
@media(max-width:560px){.temporary-detail-hero{grid-template-columns:76px 1fr}.temporary-detail-image{width:76px;height:94px}.temporary-promotion-skus>label{grid-template-columns:auto 1fr}.temporary-promotion-skus [data-promote-sku-code]{grid-column:2}.temporary-promotion-entry{align-items:stretch;flex-direction:column}.temporary-promotion-entry button{width:100%}}

/* Consolidated from styles-v132.css in POS V160. */
.temporary-detail-category{position:relative}
.temporary-detail-category select{width:100%;min-width:0;border:0;background:transparent;font:inherit;color:#242120;padding:3px 28px 3px 0}
.temporary-detail-variants article{padding:0;overflow:hidden}
.temporary-sku-toggle{width:100%;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;text-align:left;color:#242120}
.temporary-sku-toggle>span{display:grid;gap:5px}.temporary-sku-toggle>span:last-child{justify-items:end}.temporary-sku-toggle small{color:#999}.temporary-sku-toggle em{font-style:normal;color:#6c927b}.temporary-sku-toggle i{font-style:normal;color:#a57a82;font-size:.82rem}
.temporary-sku-body{padding:0 18px 18px}.temporary-sku-body[hidden]{display:none!important}
.temporary-detail-variants .temporary-sku-body>label{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}
.temporary-sku-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #eee;margin-top:14px;padding-top:16px}
.temporary-sku-actions button{min-height:46px;border:1px solid #242120;border-radius:15px;background:#242120;color:#fff;font:inherit}
.temporary-sku-actions .danger-outline{background:#fff;color:#a85f6b;border-color:#e6c8ce}
.temporary-promotion-actions{display:flex!important;grid-auto-flow:column;gap:10px!important}.temporary-promotion-actions .secondary{background:#fff;color:#242120;border:1px solid #ddd}
@media(max-width:560px){.temporary-sku-actions{gap:10px}.temporary-promotion-actions{display:grid!important;grid-auto-flow:row}.temporary-promotion-actions button{width:100%}}

/* Consolidated from styles-v138.css in POS V160. */
/* v138: compact operations dashboard additions, aligned with the existing MOLiPOS visual system. */
.performance-scope-tabs{display:flex;gap:6px;flex-wrap:wrap}.performance-scope-tabs button{min-height:34px;padding:0 13px;border:1px solid #e7dfdc;border-radius:999px;background:#fff;color:#716966;font-size:11px;font-weight:650}.performance-scope-tabs button.active{border-color:#292526;background:#292526;color:#fff}.performance-scope-tabs button[hidden]{display:none!important}
.report-anomaly-top{width:100%;margin:10px 0 4px;text-align:left}.inventory-flow-entry{width:calc(100% - 32px);margin:12px 16px}
.receipt-date-filter{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.receipt-date-filter>button{white-space:nowrap}
.permission-matrix .permission-view-only,.permission-view-only{grid-template-columns:minmax(0,1fr) auto auto}.permission-na{min-width:54px;color:#a29a96;font-size:9px;text-align:center}
.report-anomaly-card[data-severity="critical"]{border-color:#e4aaa5;background:#fff2f0}.report-anomaly-card[data-severity="cost"]{border-color:#e9c38d;background:#fff8ea}.report-anomaly-card[data-severity="business"]{border-color:#e8d79b;background:#fffbed}.report-anomaly-card[data-severity="sync"]{border-color:#b8cedb;background:#f3f9fc}
@media(max-width:560px){.receipt-date-filter{grid-template-columns:1fr 1fr}.receipt-date-filter label{grid-column:1/-1}.performance-scope-tabs{gap:5px}.performance-scope-tabs button{min-height:32px;padding:0 11px;font-size:10px}}
.payment-filter-tabs{display:flex;gap:7px;overflow-x:auto;margin:0 0 10px;padding:2px 0 4px;scrollbar-width:none}.payment-filter-tabs button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;color:var(--muted);font-size:9px}.payment-filter-tabs button.active{border-color:var(--pink);background:var(--pink-soft);color:var(--pink);font-weight:700}.payment-analysis-list{display:grid;gap:10px;margin-top:14px}.payment-analysis-list article{display:grid;grid-template-columns:1fr auto;gap:7px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.payment-analysis-list article span,.payment-analysis-list article small{color:var(--muted)}.payment-analysis-list article strong{font-size:18px}.payment-analysis-list article div:last-child{text-align:right}.payment-analysis-list .permission-redacted{filter:none;color:var(--muted)}#onlineOrderPaymentQr img{display:block;width:240px;height:240px;border-radius:12px}
.online-order-actions{display:flex!important;gap:8px!important;margin-top:10px}.online-order-actions button{min-height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 13px;color:var(--ink)}.online-order-actions button:first-child{border-color:var(--pink);background:var(--pink-soft);color:var(--pink);font-weight:700}

/* Consolidated from styles-v133.css in POS V160. */
.category-tabs button i{font-style:normal;font-size:10px;margin-left:3px}
.temporary-category-entry{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;border:1px solid #ece7e5;border-radius:13px;background:#fff;color:var(--ink);font:inherit;text-align:left}
.temporary-category-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.temporary-category-entry i{color:#c47786;font-size:18px;font-style:normal}

/* Consolidated from styles-v134.css in POS V160. */
.legacy-quick-picker-field{display:block}
.legacy-quick-picker-field>span{display:block;margin-bottom:8px;color:#8f8885;font-size:13px}
.legacy-quick-picker-field>button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border:1px solid #ece7e5;border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left}
.legacy-quick-picker-field>button strong{font-size:15px;font-weight:500;color:#8f8885}
.legacy-quick-picker-field>button strong.has-value{color:var(--ink);font-weight:600}
.legacy-quick-picker-field>button i{color:#c47786;font-size:20px;font-style:normal}

/* Consolidated from styles-v155.css in POS V160. */
.member-none-row{border-style:dashed;background:#fffafc}.member-none-row .member-photo{background:#f6eef1;color:#a55a73}.benefit-choice-row>button{width:100%}.card-use-stepper{display:grid;grid-template-columns:1fr 42px 34px 42px;align-items:center;gap:8px;padding:10px 14px;margin:-4px 0 10px;border:1px solid #f0d9e1;border-radius:14px;background:#fff8fb}.card-use-stepper button{height:36px;border:1px solid #e7ccd6;border-radius:12px;background:#fff;font-size:20px}.card-use-stepper b{text-align:center}.card-use-stepper small{grid-column:1/-1;color:#bd4671}.asset-ledger article>span{display:flex;align-items:center;gap:10px}.asset-revoke-button{border:1px solid #edc7d5;border-radius:999px;background:#fff8fb;color:#b43d69;padding:7px 12px}.template-stats-card>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none}.template-stats-card>summary::-webkit-details-marker{display:none}.template-stats-card>summary i{display:inline-block;transition:transform .18s}.template-stats-card[open]>summary i{transform:rotate(180deg)}.photo-scope-switch{display:flex;gap:8px;margin:10px 0}.photo-scope-switch button{flex:1;border:1px solid #ead6de;border-radius:999px;background:#fff;padding:10px}.photo-scope-switch button.active{background:#231f20;color:#fff}.photo-warehouse-badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:#fff0f5;color:#bd4671;font-size:12px}.photo-stock-note.temporary{background:#fff8e8;color:#7c5b19}.card-sale-ledger-status{color:#6d8a74}.card-sale-ledger-status.is-reversed{color:#a36c6c}.card-sale-ledger-status.is-corrected{color:#b54b72}
.template-stats-body[hidden]{display:none!important}.template-stats-body{border-top:1px solid #eee}.template-stats-body .template-stats-grid{border-top:0}.template-stats-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
/* Explicit ordering controls for SKU attribute chips. */
.selected-attribute-chip,.option-chip{display:inline-flex;align-items:center;gap:5px}.selected-attribute-chip>button,.option-chip>button{border:0;background:transparent;color:var(--muted);padding:1px 3px;font-size:11px;line-height:1;cursor:pointer}.selected-attribute-chip>button:hover,.option-chip>button:hover{color:var(--ink)}.selected-attribute-chip>span,.option-chip>span{pointer-events:none}
