
.sidebar[data-v-ae38ac63] { position: sticky; top: 0; align-self: flex-start; width: 230px; height: 100vh; min-height: 100vh; overflow-y: auto; background: #102f5f; color: white; flex: 0 0 230px;
}
.logo[data-v-ae38ac63] { height: 80px; display: flex; align-items: center; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.08); background: #0c2852;
}
.logo img[data-v-ae38ac63] { width: 184px; height: auto; display: block; filter: brightness(0) invert(1) saturate(.1) brightness(2);
}
nav[data-v-ae38ac63] { padding: 15px 10px;
}
.menu-group[data-v-ae38ac63] { margin-bottom: 5px;
}
.menu-item[data-v-ae38ac63] { width: 100%; border: 0; background: transparent; text-align: left; padding: 12px 14px; margin-bottom: 4px; border-radius: 7px; color: #cbd5e1; cursor: pointer; transition: .2s; font-size: 14px; display: flex; align-items: center; gap: 9px;
}
.menu-item > span[data-v-ae38ac63] { width: 20px; text-align: center; color: #cbd5e1;
}
.menu-item[data-v-ae38ac63]:hover { background: rgba(255,255,255,.07);
}
.menu-item.active[data-v-ae38ac63] { background: #256fe8; color: white;
}
.menu-item.active > span[data-v-ae38ac63] { color: white;
}
.menu-parent[data-v-ae38ac63] { justify-content: flex-start;
}
.menu-parent b[data-v-ae38ac63] { margin-left: auto; font-size: 13px; font-weight: 600; color: #94a3b8;
}
.submenu[data-v-ae38ac63] { margin: -1px 0 8px 22px; padding-left: 10px; border-left: 1px solid rgba(255,255,255,.14);
}
.submenu-item[data-v-ae38ac63] { padding: 9px 12px; border-radius: 6px; color: #94a3b8; cursor: pointer; font-size: 13px;
}
.submenu-item[data-v-ae38ac63]:hover { background: rgba(255,255,255,.07); color: white;
}
.submenu-item.active[data-v-ae38ac63] { background: rgba(37,111,232,.42); color: white;
}
@media (max-width: 768px) {
.sidebar[data-v-ae38ac63] { display: none;
}
}

.app-toolbar[data-v-ddd0c076] { display:flex; align-items:center; gap:8px; padding:0; margin:0;
}
.app-toolbar > button[data-v-ddd0c076], .language-button[data-v-ddd0c076] { border:1px solid #d8dee8; background:#fff; color:#334155; padding:8px 11px; border-radius:7px; cursor:pointer; font-size:13px; transition:.2s; white-space:nowrap;
}
.app-toolbar > button[data-v-ddd0c076]:hover, .language-button[data-v-ddd0c076]:hover { background:#f8fafc; border-color:#cbd5e1; color:#1d4ed8;
}
.language-wrapper[data-v-ddd0c076] { position:relative;
}
.language-menu[data-v-ddd0c076] { position:absolute; top:calc(100% + 7px); right:0; min-width:125px; background:#fff; border:1px solid #d1d5db; border-radius:8px; box-shadow:0 8px 24px rgba(15,23,42,.14); overflow:hidden; z-index:1000;
}
.language-menu button[data-v-ddd0c076] { display:block; width:100%; padding:9px 12px; border:0; background:#fff; text-align:left; cursor:pointer; font-size:13px;
}
.language-menu button[data-v-ddd0c076]:hover { background:#f3f4f6;
}
.language-menu button.active[data-v-ddd0c076] { background:#eff6ff; color:#2563eb; font-weight:600;
}
@media (max-width: 900px) {
.app-toolbar[data-v-ddd0c076] { overflow-x:auto;
}
}

.menu-search[data-v-e289e33e]{position:relative;width:220px;height:36px;flex:0 0 220px}.menu-search>span[data-v-e289e33e]{position:absolute;left:11px;top:8px;color:#94a3b8;font-size:15px}.menu-search input[data-v-e289e33e]{width:100%;height:36px;border:1px solid #dbe3ed;border-radius:8px;background:#fff;padding:0 11px 0 31px;outline:none;font-size:12px;color:#334155}.menu-search input[data-v-e289e33e]:focus{border-color:#93b4e8;box-shadow:0 0 0 3px rgba(37,99,235,.06)}.match-list[data-v-e289e33e],.no-match[data-v-e289e33e]{position:absolute;top:41px;left:0;right:0;background:#fff;border:1px solid #e1e7ef;border-radius:8px;box-shadow:0 10px 24px rgba(15,35,70,.10);z-index:1001}.match-list[data-v-e289e33e]{overflow:hidden}.match-list button[data-v-e289e33e]{display:block;width:100%;padding:9px 11px;border:0;background:#fff;text-align:left;color:#334155;font-size:12px;cursor:pointer}.match-list button[data-v-e289e33e]:hover{background:#f5f8fc;color:#2563eb}.no-match[data-v-e289e33e]{padding:9px 11px;color:#94a3b8;font-size:12px}@media(max-width:720px){.menu-search[data-v-e289e33e]{width:180px;flex-basis:180px}}

.top-pagination[data-v-aa5ddcf5]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0;color:#718096;font-size:12px}.page-info[data-v-aa5ddcf5]{white-space:nowrap}.page-controls[data-v-aa5ddcf5]{display:flex;align-items:center;gap:5px}.page-controls button[data-v-aa5ddcf5]{min-width:34px;height:34px;padding:0 9px;border:1px solid #d8e0eb;border-radius:6px;background:#fff;color:#475569;cursor:pointer;white-space:nowrap}.page-controls button.active[data-v-aa5ddcf5]{border-color:#2563eb;background:#2563eb;color:#fff}.page-controls button[data-v-aa5ddcf5]:disabled{opacity:.45;cursor:not-allowed}@media(max-width:650px){.top-pagination[data-v-aa5ddcf5]{flex-basis:100%;order:3}.page-controls[data-v-aa5ddcf5]{gap:3px}.page-controls button[data-v-aa5ddcf5]{min-width:30px;height:30px;padding:0 6px}}

.product-page[data-v-17063699] {
  width: 100%;
}

/* 页面标题 */
.topbar[data-v-17063699] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}
.topbar h1[data-v-17063699] {
  margin: 0;
  font-size: 28px;
}
.topbar p[data-v-17063699] {
  margin: 7px 0 0;
  color: #6b7280;
}


/* 新增按钮 */
.add-button[data-v-17063699] {
  border: none;
  background: #2563eb;
  color: white;
  padding: 12px 20px;
  border-radius: 7px;
  font-size: 14px;
  cursor: pointer;
}
.add-button[data-v-17063699]:hover {
  background: #1d4ed8;
}
/* 搜索 */
.toolbar[data-v-17063699] {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
}
.search[data-v-17063699] {
  width: 360px;
  max-width: 100%;
  padding: 11px 14px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  outline: none;
  font-size: 14px;
  background: white;
}
.search[data-v-17063699]:focus {
  border-color: #2563eb;
}
.product-count[data-v-17063699] {
  margin-left: 15px;
  color: #6b7280;
  font-size: 14px;
}

/* 表格 */
.table-card[data-v-17063699] {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  overflow: hidden;
}
.table-title[data-v-17063699] {
  padding: 18px 20px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
}
.table-title span[data-v-17063699] {
  color: #9ca3af;
  font-size: 13px;
}
.table-wrapper[data-v-17063699] {
  overflow-x: auto;
}
table[data-v-17063699] {
  width: 100%;
  min-width: 1200px;
  border-collapse: collapse;
}
th[data-v-17063699],
td[data-v-17063699] {
  padding: 14px 12px;
  border-bottom: 1px solid #eef0f3;
  text-align: left;
  white-space: nowrap;
  font-size: 13px;
}
th[data-v-17063699] {
  background: #f9fafb;
  color: #6b7280;
  font-weight: 600;
}
td small[data-v-17063699] {
  color: #9ca3af;
  margin-left: 3px;
}


/* 弹窗 */
.modal-mask[data-v-17063699] {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  z-index: 100;
}
.modal[data-v-17063699] {
  width: 800px;
  max-width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  background: white;
  border-radius: 12px;
  box-shadow: 0 15px 50px rgba(0,0,0,0.2);
}
.modal-header[data-v-17063699] {
  padding: 22px 25px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
}
.modal-header h2[data-v-17063699] {
  margin: 0;
}
.modal-header p[data-v-17063699] {
  color: #9ca3af;
  font-size: 13px;
  margin: 6px 0 0;
}
.close[data-v-17063699] {
  border: none;
  background: transparent;
  font-size: 28px;
  color: #6b7280;
  cursor: pointer;
}


/* 表单错误提示 */
.form-error[data-v-17063699] {
  margin: 0 25px;
  padding: 10px 12px;
  border: 1px solid #fecaca;
  border-radius: 6px;
  background: #fef2f2;
  color: #dc2626;
  font-size: 13px;
}

/* 表单 */
.form-grid[data-v-17063699] {
  padding: 25px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.form-item label[data-v-17063699] {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}
.form-item input[data-v-17063699],
.form-item select[data-v-17063699] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
}
.form-item input[data-v-17063699]:focus,
.form-item select[data-v-17063699]:focus {
  border-color: #2563eb;
}


/* 弹窗底部 */
.modal-footer[data-v-17063699] {
  padding: 18px 25px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.cancel-button[data-v-17063699],
.save-button[data-v-17063699] {
  padding: 10px 18px;
  border-radius: 6px;
  cursor: pointer;
}
.cancel-button[data-v-17063699] {
  border: 1px solid #d1d5db;
  background: white;
}
.save-button[data-v-17063699] {
  border: none;
  background: #2563eb;
  color: white;
}


/* 手机 */
@media (max-width: 768px) {
.topbar[data-v-17063699] {
    align-items: flex-start;
    gap: 15px;
}
.topbar h1[data-v-17063699] {
    font-size: 22px;
}
.toolbar[data-v-17063699] {
    display: block;
}
.search[data-v-17063699] {
    width: 100%;
}
.product-count[data-v-17063699] {
    margin: 8px 0 0;
}
.form-grid[data-v-17063699] {
    grid-template-columns: 1fr;
    padding: 18px;
}
}
.table-wrapper tbody tr[data-v-17063699] { cursor: pointer;
}
.inactive-row[data-v-17063699] {
  background: #f5f5f5;
  color: #777;
}
.inactive-row td[data-v-17063699] {
  background: #f5f5f5;
}


/* 商品状态 */
.status-normal[data-v-17063699] {
  color:#16a34a;
  font-weight:600;
}
.status-disabled[data-v-17063699] {
  color:#dc2626;
  font-weight:600;
}
@media (max-width: 768px) {
.topbar[data-v-17063699] { align-items:center; justify-content:space-between; flex-direction:row; gap:8px; margin-bottom:12px;
}
.topbar > div[data-v-17063699] { min-width:0;
}
.topbar h1[data-v-17063699] { font-size:20px;
}
.topbar p[data-v-17063699] { margin-top:3px; font-size:11px;
}
.add-button[data-v-17063699] { flex:0 0 auto; min-height:36px; padding:0 10px; font-size:12px;
}
.toolbar[data-v-17063699] { display:flex; align-items:center; gap:8px; margin-bottom:12px;
}
.search[data-v-17063699] { flex:1; width:auto; min-width:0; padding:9px 10px;
}
.product-count[data-v-17063699] { flex:0 0 auto; margin:0; font-size:11px;
}
.table-title[data-v-17063699] { flex-wrap:wrap; gap:5px 8px; padding:10px 12px;
}
.table-wrapper[data-v-17063699] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.modal[data-v-17063699] { width:calc(100vw - 24px); max-height:calc(100dvh - 28px); overflow:auto;
}
.form-grid[data-v-17063699] { padding:14px; gap:12px;
}
}

.applied-query[data-v-371e5052]{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 12px;color:#64748b;font-size:12px}.applied-query strong[data-v-371e5052]{color:#475569;font-weight:600}.applied-query span[data-v-371e5052]{padding:4px 8px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#475569}

.inventory-page[data-v-e8caaa68] {
  width: 100%;
}


/* 标题 */
.topbar[data-v-e8caaa68] {
  margin-bottom: 25px;
}
.topbar h1[data-v-e8caaa68] {
  margin: 0;
  font-size: 28px;
}
.topbar p[data-v-e8caaa68] {
  margin: 7px 0 0;
  color: #6b7280;
}


/* 搜索 */
.toolbar[data-v-e8caaa68] {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
}
.search[data-v-e8caaa68] {
  width: 360px;
  max-width: 100%;
  padding: 11px 14px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  outline: none;
  font-size: 14px;
  background: white;
}
.inventory-search-button[data-v-e8caaa68]{height:38px;margin-left:10px;padding:0 14px;border:1px solid #2563eb;border-radius:7px;background:#2563eb;color:#fff;cursor:pointer;white-space:nowrap}
.stock-only-toggle[data-v-e8caaa68]{display:flex;align-items:center;gap:7px;margin-left:14px;color:#475569;font-size:13px;white-space:nowrap}.stock-only-toggle input[data-v-e8caaa68]{width:16px;height:16px}
.search[data-v-e8caaa68]:focus {
  border-color: #2563eb;
}
.inventory-count[data-v-e8caaa68] {
  margin-left: 15px;
  color: #6b7280;
  font-size: 14px;
}
.reconcile-button[data-v-e8caaa68]{height:38px;margin-left:auto;padding:0 14px;border:1px solid #b45309;border-radius:7px;background:#fff7ed;color:#9a3412;cursor:pointer;white-space:nowrap}
.reconcile-button[data-v-e8caaa68]:disabled{opacity:.6;cursor:wait}
.reconcile-message[data-v-e8caaa68]{margin:-8px 0 14px;color:#047857;font-size:13px}
.reconcile-message.error[data-v-e8caaa68]{color:#b91c1c}


/* 表格 */
.table-card[data-v-e8caaa68] {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  overflow: hidden;
}
.table-wrapper[data-v-e8caaa68] {
  overflow-x: auto;
}
table[data-v-e8caaa68] {
  width: 100%;
  min-width: 1200px;
  border-collapse: collapse;
}
th[data-v-e8caaa68],
td[data-v-e8caaa68] {
  padding: 14px 12px;
  border-bottom: 1px solid #eef0f3;
  text-align: left;
  white-space: nowrap;
  font-size: 13px;
}
th[data-v-e8caaa68] {
  background: #f9fafb;
  color: #6b7280;
  font-weight: 600;
}
td small[data-v-e8caaa68] {
  color: #9ca3af;
  margin-left: 3px;
}


/* 库存 */
.low-stock[data-v-e8caaa68] {
  color: red;
}
.high-stock[data-v-e8caaa68] {
  font-weight: 700;
}
.pieces[data-v-e8caaa68] {
  margin-top: 3px;
  color: #9ca3af;
  font-size: 11px;
}


/* 空数据 */
.empty[data-v-e8caaa68] {
  text-align: center;
  color: #9ca3af;
  padding: 50px;
}


/* 手机 */
@media (max-width: 768px) {
.topbar h1[data-v-e8caaa68] {
    font-size: 22px;
}
.toolbar[data-v-e8caaa68] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 7px;
    align-items: center;
}
.search[data-v-e8caaa68] {
    width: 100%;
    min-width: 0;
    padding: 9px 10px;
    font-size: 13px;
}
.stock-only-toggle[data-v-e8caaa68] { gap: 5px; margin: 0; font-size: 11px;
}
.stock-only-toggle input[data-v-e8caaa68] { flex: 0 0 16px; margin: 0;
}
.inventory-search-button[data-v-e8caaa68] { height: 36px; margin: 0; padding: 0 10px;
}
.inventory-count[data-v-e8caaa68] {
    grid-column: 1 / 2;
    margin: 3px 0 0;
    font-size: 12px;
}
.reconcile-button[data-v-e8caaa68] { grid-column: 2 / 4; justify-self: end; height: 34px; margin: 3px 0 0; padding: 0 9px; font-size: 11px;
}
.summary-cards[data-v-e8caaa68] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px;
}
.summary-card[data-v-e8caaa68] { min-width: 0; min-height: 74px; padding: 8px 6px; border-radius: 9px; text-align: center;
}
.summary-title[data-v-e8caaa68] { min-height: 2.5em; color: #475569; font-size: 10px; line-height: 1.25; overflow-wrap: anywhere;
}
.summary-number[data-v-e8caaa68] { margin-top: 3px; color: #2563eb; font-size: 17px; line-height: 1.1;
}
.warning-card .summary-number[data-v-e8caaa68] { color: #d97706;
}
.high-card .summary-number[data-v-e8caaa68] { color: #0f766e;
}
.summary-desc[data-v-e8caaa68] { display: none;
}
.summary-card.active[data-v-e8caaa68] { border: 1px solid #2563eb; background: #eff6ff; box-shadow: 0 2px 8px rgba(37,99,235,.12);
}
}
.summary-cards[data-v-e8caaa68] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.summary-card[data-v-e8caaa68] {
  background: white;
  border-radius: 8px;
  padding: 12px 15px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.summary-title[data-v-e8caaa68] {
  font-size: 13px;
  color: #6b7280;
}
.summary-number[data-v-e8caaa68] {
  margin-top: 4px;
  font-size: 22px;
  font-weight: 700;
}
.summary-desc[data-v-e8caaa68] {
  margin-top: 2px;
  font-size: 11px;
  color: #9ca3af;
}
.warning-card .summary-number[data-v-e8caaa68] {
  color: red;
}
.high-card .summary-number[data-v-e8caaa68] {
  font-weight: 700;
}
@media (max-width: 768px) {
.summary-cards[data-v-e8caaa68] { grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
.summary-card[data-v-e8caaa68] {
  cursor: pointer;
  transition: all 0.2s ease;
}
.summary-card[data-v-e8caaa68]:hover {
  transform: translateY(-2px);
}
.summary-card.active[data-v-e8caaa68] {
  border: 2px solid #2563eb;
  box-shadow: 0 3px 12px rgba(37, 99, 235, 0.15);
}
@media (max-width: 768px) {
.summary-cards[data-v-e8caaa68] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px;
}
.summary-card[data-v-e8caaa68] { min-width: 0; min-height: 74px; padding: 8px 6px; border-radius: 9px; text-align: center;
}
.summary-title[data-v-e8caaa68] { min-height: 2.5em; color: #475569; font-size: 10px; line-height: 1.25; overflow-wrap: anywhere;
}
.summary-number[data-v-e8caaa68] { margin-top: 3px; color: #2563eb; font-size: 17px; line-height: 1.1;
}
.warning-card .summary-number[data-v-e8caaa68] { color: #d97706;
}
.high-card .summary-number[data-v-e8caaa68] { color: #0f766e;
}
.summary-desc[data-v-e8caaa68] { display: none;
}
.summary-card.active[data-v-e8caaa68] { border: 1px solid #2563eb; background: #eff6ff; box-shadow: 0 2px 8px rgba(37,99,235,.12);
}
}


.ledger-page[data-v-24c8203d]{padding:24px;background:#f6f8fb;min-height:calc(100vh - 60px)}.ledger-header h1[data-v-24c8203d]{margin:0;color:#1f2937;font-size:24px}.ledger-header p[data-v-24c8203d]{margin:7px 0 18px;color:#718096}.card[data-v-24c8203d]{background:#fff;border:1px solid #e8edf4;border-radius:10px;box-shadow:0 3px 12px rgba(15,23,42,.04)}.ledger-filter-bar[data-v-24c8203d]{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:13px 15px;background:white;border:1px solid #e8edf4;border-radius:9px}.ledger-filter-bar label[data-v-24c8203d]{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#64748b}.ledger-filter-bar input[data-v-24c8203d]{height:36px;min-width:150px;padding:0 9px;border:1px solid #d1d5db;border-radius:6px}.ledger-filter-bar button[data-v-24c8203d]{height:36px;padding:0 14px;border-radius:6px;cursor:pointer}.ledger-reset[data-v-24c8203d]{background:white;border:1px solid #d1d5db;color:#475569}.ledger-search[data-v-24c8203d]{background:#2563eb;border:1px solid #2563eb;color:white}.ledger-search[data-v-24c8203d]:disabled{opacity:.55}.ledger-note[data-v-24c8203d]{font-size:12px;color:#7b8798;margin:10px 2px 14px}.ledger-error[data-v-24c8203d]{padding:10px 12px;margin-bottom:12px;border-radius:6px;background:#fef2f2;color:#b91c1c}.ledger-summary[data-v-24c8203d]{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:14px}.ledger-summary article[data-v-24c8203d]{background:#fff;border:1px solid #e8edf4;border-radius:9px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.ledger-summary span[data-v-24c8203d]{font-size:12px;color:#718096}.ledger-summary strong[data-v-24c8203d]{font-size:19px;color:#1f2937}.qty-in[data-v-24c8203d]{color:#15803d!important}.qty-out[data-v-24c8203d]{color:#b91c1c!important}.ledger-table-card[data-v-24c8203d]{overflow:hidden}.ledger-table-heading[data-v-24c8203d]{padding:15px 17px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef1f5}.ledger-table-heading span[data-v-24c8203d]{font-size:12px;color:#7b8798}.ledger-table-scroll[data-v-24c8203d]{overflow:auto}table[data-v-24c8203d]{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th[data-v-24c8203d],td[data-v-24c8203d]{padding:11px 12px;border-bottom:1px solid #eef1f5;text-align:left}th[data-v-24c8203d]{background:#f8fafc;color:#4b5563;font-size:12px}td small[data-v-24c8203d]{margin-left:5px}.estimate-tag[data-v-24c8203d]{padding:2px 5px;border-radius:4px;background:#fff7ed;color:#c2410c;font-size:10px}.empty-row[data-v-24c8203d]{text-align:center;color:#94a3b8;padding:36px}.ledger-pagination[data-v-24c8203d]{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;color:#718096;font-size:13px}.ledger-pagination div[data-v-24c8203d]{display:flex;gap:6px}.ledger-pagination button[data-v-24c8203d]{padding:7px 12px;border:1px solid #d8e0eb;background:white;border-radius:5px;cursor:pointer}.ledger-pagination button[data-v-24c8203d]:disabled{opacity:.45;cursor:not-allowed}.ledger-empty[data-v-24c8203d]{padding:54px 16px;text-align:center;color:#94a3b8}.ledger-empty.card[data-v-24c8203d]{border-style:dashed}@media(max-width:760px){.ledger-page[data-v-24c8203d]{padding:14px}.ledger-summary[data-v-24c8203d]{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sort-button[data-v-24c8203d]{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.sort-button span[data-v-24c8203d]{color:#2563eb;font-weight:700}.sort-button[data-v-24c8203d]:hover{color:#2563eb}
.ledger-filter-bar .ledger-product-field[data-v-24c8203d]{position:relative;z-index:2}.ledger-product-options[data-v-24c8203d]{position:absolute;top:calc(100% + 3px);left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid #dbe3ed;border-radius:7px;box-shadow:0 10px 22px rgba(15,23,42,.13);z-index:20}.ledger-product-options button[data-v-24c8203d]{display:flex;width:100%;height:auto;min-height:36px;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:0;border-radius:0;background:#fff;color:#334155;text-align:left;font-size:12px;cursor:pointer}.ledger-product-options button[data-v-24c8203d]:hover,.ledger-product-options button.active[data-v-24c8203d]{background:#eff6ff;color:#1d4ed8}.ledger-product-options small[data-v-24c8203d]{color:#94a3b8;font-size:11px}

@media(max-width:760px){
.ledger-page[data-v-24c8203d] { padding:12px;
}
.ledger-header h1[data-v-24c8203d] { font-size:20px;
}
.ledger-header p[data-v-24c8203d] { margin:4px 0 10px; font-size:11px;
}
.ledger-filter-bar[data-v-24c8203d] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; padding:10px;
}
.ledger-filter-bar .ledger-product-field[data-v-24c8203d] { grid-column:1 / -1;
}
.ledger-filter-bar label[data-v-24c8203d] { min-width:0;
}
.ledger-filter-bar input[data-v-24c8203d] { box-sizing:border-box; width:100%; min-width:0;
}
.ledger-filter-bar button[data-v-24c8203d] { width:100%; padding:0 8px;
}
.ledger-note[data-v-24c8203d] { margin:8px 2px 10px; line-height:1.45;
}
.ledger-summary[data-v-24c8203d] { gap:7px; margin-bottom:10px;
}
.ledger-summary article[data-v-24c8203d] { min-width:0; padding:10px; gap:5px;
}
.ledger-summary span[data-v-24c8203d] { font-size:11px;
}
.ledger-summary strong[data-v-24c8203d] { font-size:16px; overflow-wrap:anywhere;
}
.ledger-table-heading[data-v-24c8203d] { align-items:flex-start; flex-wrap:wrap; gap:7px; padding:11px 12px;
}
.ledger-table-scroll[data-v-24c8203d] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
}

.customer-page[data-v-00a527de] {
  width: 100%;
}


/* 顶部 */
.topbar[data-v-00a527de] {

  display: flex;

  justify-content: space-between;

  align-items: center;

  margin-bottom: 25px;
}
.topbar h1[data-v-00a527de] {

  margin: 0;

  font-size: 28px;
}
.topbar p[data-v-00a527de] {

  margin: 7px 0 0;

  color: #6b7280;
}


/* 新增按钮 */
.add-button[data-v-00a527de] {

  border: none;

  border-radius: 7px;

  padding: 11px 18px;

  background: #2563eb;

  color: white;

  cursor: pointer;

  font-size: 14px;
}
.add-button[data-v-00a527de]:hover {

  opacity: 0.9;
}


/* 搜索 */
.toolbar[data-v-00a527de] {

  display: flex;

  align-items: center;

  margin-bottom: 18px;
}
.search[data-v-00a527de] {

  width: 360px;

  max-width: 100%;

  padding: 11px 14px;

  border: 1px solid #d1d5db;

  border-radius: 7px;

  outline: none;

  font-size: 14px;

  background: white;
}
.search[data-v-00a527de]:focus {

  border-color: #2563eb;
}
.customer-count[data-v-00a527de] {

  margin-left: 15px;

  color: #6b7280;

  font-size: 14px;
}


/* 表格 */
.table-card[data-v-00a527de] {

  background: white;

  border-radius: 10px;

  box-shadow:
    0 2px 10px rgba(0,0,0,0.05);

  overflow: hidden;
}
.table-wrapper[data-v-00a527de] {

  overflow-x: auto;
}
table[data-v-00a527de] {

  width: 100%;

  min-width: 1250px;

  border-collapse: collapse;
}
th[data-v-00a527de],
td[data-v-00a527de] {

  padding: 14px 12px;

  border-bottom:
    1px solid #eef0f3;

  text-align: left;

  white-space: nowrap;

  font-size: 13px;
}
th[data-v-00a527de] {

  background: #f9fafb;

  color: #6b7280;

  font-weight: 600;
}


/* 客户等级 */
.level-tag[data-v-00a527de] {

  display: inline-block;

  padding: 4px 9px;

  border-radius: 5px;

  font-size: 12px;
}
.level-normal[data-v-00a527de] {

  background: #f3f4f6;

  color: #4b5563;
}
.level-good[data-v-00a527de] {

  background: #eff6ff;

  color: #2563eb;
}
.level-big[data-v-00a527de] {

  background: #fff7ed;

  color: #ea580c;

  font-weight: 600;
}
.table-wrapper tbody tr[data-v-00a527de] { cursor: pointer;
}
.inactive-row[data-v-00a527de] {
  background: #f5f5f5;
  color: #777;
}
.inactive-row td[data-v-00a527de] {
  background: #f5f5f5;
}


/* 欠款 */
.debt-normal[data-v-00a527de] {

  color: #6b7280;
}
.debt-warning[data-v-00a527de] {

  color: #dc2626;

  font-weight: 600;
}


/* 状态 */
.status-tag[data-v-00a527de] {

  display: inline-block;

  padding: 4px 9px;

  border-radius: 5px;

  font-size: 12px;
}
.status-active[data-v-00a527de] {

  background: #ecfdf5;

  color: #059669;
}
.status-disabled[data-v-00a527de] {

  background: #f3f4f6;

  color: #9ca3af;
}


/* 操作按钮 */
.edit-button[data-v-00a527de],
.status-button[data-v-00a527de] {

  border: none;

  border-radius: 5px;

  padding: 6px 10px;

  cursor: pointer;

  font-size: 12px;
}
.edit-button[data-v-00a527de] {

  background: #eff6ff;

  color: #2563eb;
}
.status-button[data-v-00a527de] {

  margin-left: 6px;

  background: #f3f4f6;

  color: #4b5563;
}


/* 空数据 */
.empty[data-v-00a527de] {

  text-align: center;

  color: #9ca3af;

  padding: 50px;
}


/* 弹窗 */
.modal-mask[data-v-00a527de] {

  position: fixed;

  inset: 0;

  background: rgba(0,0,0,0.45);

  display: flex;

  align-items: center;

  justify-content: center;

  z-index: 100;

  padding: 20px;
}
.modal[data-v-00a527de] {

  width: 560px;

  max-width: 100%;

  max-height: 90vh;

  overflow-y: auto;

  background: white;

  border-radius: 10px;

  box-shadow:
    0 15px 40px rgba(0,0,0,0.2);
}
.modal-header[data-v-00a527de] {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 18px 20px;

  border-bottom:
    1px solid #e5e7eb;
}
.modal-header h2[data-v-00a527de] {

  margin: 0;

  font-size: 20px;
}
.close-button[data-v-00a527de] {

  border: none;

  background: transparent;

  font-size: 25px;

  color: #6b7280;

  cursor: pointer;
}


/* 表单 */
.form-body[data-v-00a527de] {

  padding: 20px;
}
.form-group[data-v-00a527de] {

  margin-bottom: 16px;
}
.form-row[data-v-00a527de] {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 15px;
}
.form-group label[data-v-00a527de] {

  display: block;

  margin-bottom: 7px;

  font-size: 13px;

  font-weight: 600;

  color: #374151;
}
.required[data-v-00a527de] {

  color: #dc2626;
}
.form-group input[data-v-00a527de],
.form-group select[data-v-00a527de],
.form-group textarea[data-v-00a527de] {

  width: 100%;

  box-sizing: border-box;

  padding: 10px 12px;

  border:
    1px solid #d1d5db;

  border-radius: 6px;

  outline: none;

  font-size: 14px;

  background: white;
}
.form-group input[data-v-00a527de]:focus,
.form-group select[data-v-00a527de]:focus,
.form-group textarea[data-v-00a527de]:focus {

  border-color: #2563eb;
}
.form-group input[data-v-00a527de]:disabled {

  background: #f3f4f6;

  color: #6b7280;
}
.form-group small[data-v-00a527de] {

  display: block;

  margin-top: 5px;

  color: #9ca3af;

  font-size: 11px;
}


/* 错误 */
.form-error[data-v-00a527de] {

  margin: 15px 20px 0;

  padding: 10px 12px;

  background: #fef2f2;

  color: #dc2626;

  border-radius: 6px;

  font-size: 13px;
}


/* 底部 */
.modal-footer[data-v-00a527de] {

  display: flex;

  justify-content: flex-end;

  gap: 10px;

  padding: 15px 20px;

  border-top:
    1px solid #e5e7eb;
}
.cancel-button[data-v-00a527de],
.save-button[data-v-00a527de] {

  border: none;

  border-radius: 6px;

  padding: 9px 18px;

  cursor: pointer;

  font-size: 14px;
}
.cancel-button[data-v-00a527de] {

  background: #f3f4f6;

  color: #374151;
}
.save-button[data-v-00a527de] {

  background: #2563eb;

  color: white;
}


/* 手机 */
@media (max-width: 768px) {
.topbar[data-v-00a527de] {

    align-items: flex-start;

    gap: 15px;
}
.topbar h1[data-v-00a527de] {

    font-size: 22px;
}
.add-button[data-v-00a527de] {

    white-space: nowrap;
}
.toolbar[data-v-00a527de] {

    display: block;
}
.search[data-v-00a527de] {

    width: 100%;
}
.customer-count[data-v-00a527de] {

    margin: 8px 0 0;
}
.form-row[data-v-00a527de] {

    grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.topbar[data-v-00a527de] { align-items:center; justify-content:space-between; flex-direction:row; gap:8px; margin-bottom:12px;
}
.topbar > div[data-v-00a527de] { min-width:0;
}
.topbar h1[data-v-00a527de] { font-size:20px;
}
.topbar p[data-v-00a527de] { margin-top:3px; font-size:11px;
}
.add-button[data-v-00a527de] { flex:0 0 auto; min-height:36px; padding:0 10px; font-size:12px;
}
.toolbar[data-v-00a527de] { display:flex; align-items:center; gap:8px; margin-bottom:12px;
}
.search[data-v-00a527de] { flex:1; width:auto; min-width:0; padding:9px 10px;
}
.customer-count[data-v-00a527de] { flex:0 0 auto; margin:0; font-size:11px;
}
.table-title[data-v-00a527de], .table-head[data-v-00a527de] { flex-wrap:wrap; gap:6px;
}
.table-wrapper[data-v-00a527de] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.modal[data-v-00a527de] { width:calc(100vw - 24px); max-height:calc(100dvh - 28px); overflow:auto;
}
.form-grid[data-v-00a527de], .form-row[data-v-00a527de] { padding:14px; gap:12px;
}
}


[data-v-9af41061] {
  box-sizing: border-box;
}
.supplier-page[data-v-9af41061] {
  width: 100%;
}
.topbar[data-v-9af41061] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 25px;
}
.topbar h1[data-v-9af41061] {
  margin: 0;
  font-size: 28px;
}
.topbar p[data-v-9af41061] {
  margin: 7px 0 0;
  color: #6b7280;
}
.topbar-actions[data-v-9af41061] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.search-input[data-v-9af41061] {
  width: 360px;
  max-width: 100%;
  padding: 11px 14px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  outline: none;
  font-size: 14px;
  background: white;
}
.search-input[data-v-9af41061]:focus {
  border-color: #2563eb;
}
.add-button[data-v-9af41061] {
  border: none;
  background: #2563eb;
  color: white;
  padding: 12px 20px;
  border-radius: 7px;
  font-size: 14px;
  cursor: pointer;
}
.add-button[data-v-9af41061]:hover {
  background: #1d4ed8;
}
.table-card[data-v-9af41061] {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  overflow: hidden;
}
.table-title[data-v-9af41061] {
  padding: 18px 20px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.table-title strong[data-v-9af41061] {
  font-size: 15px;
}
.table-title span[data-v-9af41061] {
  margin-left: 12px;
  color: #9ca3af;
  font-size: 13px;
}
.table-wrapper[data-v-9af41061] {
  overflow-x: auto;
}
table[data-v-9af41061] {
  width: 100%;
  min-width: 1500px;
  border-collapse: collapse;
}
th[data-v-9af41061],
td[data-v-9af41061] {
  padding: 14px 12px;
  border-bottom: 1px solid #eef0f3;
  text-align: left;
  white-space: nowrap;
  font-size: 13px;
}
th[data-v-9af41061] {
  background: #f9fafb;
  color: #6b7280;
  font-weight: 600;
}
.table-wrapper tbody tr[data-v-9af41061] { cursor: pointer;
}
.inactive-row[data-v-9af41061] {
  background: #f5f5f5;
  color: #777;
}
.status-tag[data-v-9af41061] {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 5px;
  font-size: 12px;
}
.status-active[data-v-9af41061] {
  background: #ecfdf5;
  color: #059669;
}
.status-disabled[data-v-9af41061] {
  background: #f3f4f6;
  color: #6b7280;
}
.action-cell[data-v-9af41061] {
  display: flex;
  gap: 6px;
}
.action-cell button[data-v-9af41061] {
  border: 1px solid #d1d5db;
  background: white;
  padding: 6px 10px;
  border-radius: 5px;
  cursor: pointer;
}
.action-cell button[data-v-9af41061]:hover {
  background: #f3f4f6;
}
.empty[data-v-9af41061] {
  text-align: center;
  color: #9ca3af;
  padding: 50px;
}
.modal-mask[data-v-9af41061] {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  z-index: 1000;
}
.modal[data-v-9af41061] {
  width: 800px;
  max-width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  background: white;
  border-radius: 12px;
  box-shadow: 0 15px 50px rgba(0,0,0,0.2);
}
.modal-header[data-v-9af41061] {
  padding: 22px 25px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
}
.modal-header h2[data-v-9af41061] {
  margin: 0;
}
.modal-header p[data-v-9af41061] {
  color: #9ca3af;
  font-size: 13px;
  margin: 6px 0 0;
}
.close[data-v-9af41061] {
  border: none;
  background: transparent;
  font-size: 28px;
  color: #6b7280;
  cursor: pointer;
}
.form-error[data-v-9af41061] {
  margin: 18px 25px 0;
  padding: 10px 12px;
  border: 1px solid #fecaca;
  border-radius: 6px;
  background: #fef2f2;
  color: #dc2626;
  font-size: 13px;
}
.form-grid[data-v-9af41061] {
  padding: 25px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.form-item-full[data-v-9af41061] {
  grid-column: 1 / -1;
}
.form-item label[data-v-9af41061] {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}
.form-item input[data-v-9af41061],
.form-item select[data-v-9af41061],
.form-item textarea[data-v-9af41061] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
  background: white;
  font-family: inherit;
  resize: vertical;
}
.form-item input[data-v-9af41061]:focus,
.form-item select[data-v-9af41061]:focus,
.form-item textarea[data-v-9af41061]:focus {
  border-color: #2563eb;
}
.modal-footer[data-v-9af41061] {
  padding: 18px 25px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.cancel-button[data-v-9af41061],
.save-button[data-v-9af41061] {
  padding: 10px 22px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}
.cancel-button[data-v-9af41061] {
  border: 1px solid #d1d5db;
  background: white;
}
.save-button[data-v-9af41061] {
  border: none;
  background: #2563eb;
  color: white;
}
@media (max-width: 768px) {
.topbar[data-v-9af41061] {
    align-items: flex-start;
    flex-direction: column;
}
.topbar-actions[data-v-9af41061] {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
}
.search-input[data-v-9af41061] {
    width: 100%;
}
.form-grid[data-v-9af41061] {
    grid-template-columns: 1fr;
}
.form-item-full[data-v-9af41061] {
    grid-column: auto;
}
}


@media (max-width: 768px) {
.topbar[data-v-9af41061] { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:12px;
}
.topbar h1[data-v-9af41061] { font-size:20px;
}
.topbar p[data-v-9af41061] { margin-top:3px; font-size:11px;
}
.topbar-actions[data-v-9af41061] { display:flex; flex-direction:row; align-items:center; gap:7px;
}
.search-input[data-v-9af41061] { flex:1; width:auto; min-width:0; padding:9px 10px;
}
.add-button[data-v-9af41061] { flex:0 0 auto; min-height:36px; padding:0 10px; font-size:12px;
}
.table-title[data-v-9af41061] { align-items:center; flex-wrap:wrap; gap:6px;
}
.table-wrapper[data-v-9af41061] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.modal[data-v-9af41061] { width:calc(100vw - 24px); max-height:calc(100dvh - 28px); overflow:auto;
}
.form-grid[data-v-9af41061] { padding:14px; gap:12px;
}
}

[data-v-d11ceb1d] {
  box-sizing: border-box;
}
.purchase-header[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.purchase-list-filters[data-v-d11ceb1d]{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.purchase-list-filters label[data-v-d11ceb1d]{display:flex;flex-direction:column;gap:4px;color:#64748b;font-size:11px;position:relative}.purchase-list-filters select[data-v-d11ceb1d],.purchase-list-filters input[data-v-d11ceb1d]{height:34px;min-width:130px;padding:0 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.purchase-filter-supplier input[data-v-d11ceb1d]{width:210px}.purchase-list-filters>button[data-v-d11ceb1d]{height:34px;padding:0 12px;border:1px solid #2563eb;border-radius:6px;background:#2563eb;color:#fff;cursor:pointer}.purchase-filter-dropdown[data-v-d11ceb1d]{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:240px;overflow:auto;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 6px 18px #0f172a22}.purchase-filter-dropdown button[data-v-d11ceb1d]{display:block;width:100%;height:auto;padding:8px 10px;border:0;border-radius:0;background:#fff;color:#334155;text-align:left;cursor:pointer}.purchase-filter-dropdown button.highlighted[data-v-d11ceb1d],.purchase-filter-dropdown button[data-v-d11ceb1d]:hover{background:#eff6ff}
.purchase-header h1[data-v-d11ceb1d] {
  margin: 0;
  font-size: 28px;
}
.purchase-header p[data-v-d11ceb1d] {
  margin: 7px 0 0;
  color: #6b7280;
}
.purchase-actions[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.purchase-actions button[data-v-d11ceb1d] {
  width: 38px;
  height: 38px;
  border: 1px solid #d1d5db;
  background: white;
  border-radius: 6px;
  cursor: pointer;
  font-size: 18px;
}
.purchase-actions button[data-v-d11ceb1d]:hover:not(:disabled) {
  background: #f3f4f6;
}
.purchase-actions button[data-v-d11ceb1d]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.purchase-notice[data-v-d11ceb1d],
.purchase-confirm[data-v-d11ceb1d] {
  margin-bottom: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.purchase-notice[data-v-d11ceb1d] {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}
.purchase-notice.notice-error[data-v-d11ceb1d] {
  border-color: #fecaca;
  background: #fef2f2;
  color: #b91c1c;
}
.purchase-confirm[data-v-d11ceb1d] {
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #92400e;
}
.purchase-confirm-actions[data-v-d11ceb1d] {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.purchase-confirm-actions button[data-v-d11ceb1d] {
  border: 1px solid #d1d5db;
  background: white;
  border-radius: 6px;
  padding: 6px 14px;
  cursor: pointer;
}
.purchase-confirm-actions button[data-v-d11ceb1d]:hover {
  background: #f3f4f6;
}
.purchase-info[data-v-d11ceb1d] {
  background: white;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.purchase-info-item[data-v-d11ceb1d] {
  position: relative;
}
.purchase-info-item label[data-v-d11ceb1d] {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}
.purchase-info-item input[data-v-d11ceb1d],
.purchase-info-item select[data-v-d11ceb1d] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
  background: white;
}
.purchase-info-item input[data-v-d11ceb1d]:disabled,
.purchase-info-item select[data-v-d11ceb1d]:disabled {
  background: #f5f5f5;
  cursor: not-allowed;
}
.purchase-remark[data-v-d11ceb1d] {
  grid-column: 1 / -1;
}
.purchase-detail[data-v-d11ceb1d] {
  background: white;
  padding: 16px;
  margin-top: 16px;
  border-radius: 10px;
}
.detail-header[data-v-d11ceb1d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.detail-header button[data-v-d11ceb1d] {
  width: 34px;
  height: 34px;
  margin-left: 6px;
  cursor: pointer;
}
.detail-header button[data-v-d11ceb1d]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.table-wrapper[data-v-d11ceb1d] {
  overflow-x: auto;
}
.purchase-detail table[data-v-d11ceb1d] {
  width: 100%;
  min-width: 1100px;
  border-collapse: collapse;
}
.purchase-detail th[data-v-d11ceb1d],
.purchase-detail td[data-v-d11ceb1d] {
  border: 1px solid #ddd;
  padding: 8px;
  white-space: nowrap;
}
.purchase-detail input[data-v-d11ceb1d] {
  width: 100%;
  min-width: 90px;
}
.purchase-detail th[data-v-d11ceb1d] {
  background: #f8fafc;
  font-weight: 600;
}
.selected[data-v-d11ceb1d] {
  background: #eef6ff;
}
.product-cell[data-v-d11ceb1d] {
  position: relative;
}
.product-dropdown[data-v-d11ceb1d],
.supplier-dropdown[data-v-d11ceb1d] {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px);
  background: white;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  z-index: 50;
  max-height: 220px;
  overflow-y: auto;
}
.product-dropdown div[data-v-d11ceb1d],
.supplier-option[data-v-d11ceb1d] {
  padding: 9px 10px;
  cursor: pointer;
}
.product-dropdown-floating[data-v-d11ceb1d] {
  position: fixed;
  z-index: 2000;
  max-height: 260px;
}
.product-option[data-v-d11ceb1d] {
  padding: 9px 10px;
  cursor: pointer;
}
.product-option.highlighted[data-v-d11ceb1d],
.product-option[data-v-d11ceb1d]:hover,
.supplier-option.highlighted[data-v-d11ceb1d],
.supplier-option[data-v-d11ceb1d]:hover {
  background: #f3f4f6;
}
.empty-detail[data-v-d11ceb1d] {
  text-align: center;
  padding: 30px !important;
  color: #9ca3af;
}
@media (max-width: 900px) {
.purchase-info[data-v-d11ceb1d] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 600px) {
.purchase-header[data-v-d11ceb1d] {
    align-items: flex-start;
    gap: 12px;
    flex-direction: column;
}
.purchase-info[data-v-d11ceb1d] {
    grid-template-columns: 1fr;
}
.purchase-remark[data-v-d11ceb1d] {
    grid-column: auto;
}
}
.purchase-header-right[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.purchase-view-switch[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  background: #f5f7fa;
}
.purchase-view-switch button[data-v-d11ceb1d] {
  height: 30px;
  padding: 0 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #667085;
  cursor: pointer;
  font-size: 13px;
}
.purchase-view-switch button.active[data-v-d11ceb1d] {
  background: #ffffff;
  color: #1f2937;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}
.purchase-view-switch button[data-v-d11ceb1d]:disabled {
  cursor: not-allowed;
  opacity: .5;
}
.purchase-detail-view[data-v-d11ceb1d] {
  margin-top: 4px;
}
.purchase-document-nav[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 4px 0 10px;
}
.purchase-document-nav button[data-v-d11ceb1d] {
  border: 0;
  background: transparent;
  color: #667085;
  padding: 5px 8px;
  cursor: pointer;
  font-size: 13px;
}
.purchase-document-nav button[data-v-d11ceb1d]:hover:not(:disabled) {
  color: #2563eb;
}
.purchase-document-nav button[data-v-d11ceb1d]:disabled {
  color: #b8c0cc;
  cursor: not-allowed;
}
.purchase-document-nav span[data-v-d11ceb1d] {
  min-width: 120px;
  text-align: center;
  color: #344054;
  font-size: 13px;
  font-weight: 600;
}
.purchase-list-panel[data-v-d11ceb1d] {
  margin-top: 8px;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  background: #ffffff;
  overflow: hidden;
}
.purchase-list-table-wrap[data-v-d11ceb1d] {
  overflow-x: auto;
}
.purchase-list-table[data-v-d11ceb1d] {
  width: 100%;
  min-width: 1050px;
  border-collapse: collapse;
  table-layout: fixed;
}
.purchase-list-table th[data-v-d11ceb1d] {
  height: 42px;
  padding: 0 10px;
  background: #f8fafc;
  border-bottom: 1px solid #e4e7ec;
  color: #475467;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}
.purchase-list-table td[data-v-d11ceb1d] {
  height: 44px;
  padding: 0 10px;
  border-bottom: 1px solid #f0f2f5;
  color: #344054;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.purchase-list-table th[data-v-d11ceb1d]:nth-child(1),
.purchase-list-table td[data-v-d11ceb1d]:nth-child(1) {
  width: 125px;
}
.purchase-list-table th[data-v-d11ceb1d]:nth-child(2),
.purchase-list-table td[data-v-d11ceb1d]:nth-child(2) {
  width: 105px;
}
.purchase-list-table th[data-v-d11ceb1d]:nth-child(3),
.purchase-list-table td[data-v-d11ceb1d]:nth-child(3) {
  width: 150px;
}
.purchase-list-table th[data-v-d11ceb1d]:nth-child(4),
.purchase-list-table td[data-v-d11ceb1d]:nth-child(4) {
  width: 190px;
}
.purchase-list-table th[data-v-d11ceb1d]:nth-child(5),
.purchase-list-table td[data-v-d11ceb1d]:nth-child(5) {
  width: 125px;
}
.purchase-list-table th[data-v-d11ceb1d]:nth-child(6),
.purchase-list-table td[data-v-d11ceb1d]:nth-child(6) {
  width: 75px;
}
.purchase-list-table th[data-v-d11ceb1d]:nth-child(7),
.purchase-list-table td[data-v-d11ceb1d]:nth-child(7) {
  width: 90px;
}
.purchase-list-table tbody tr[data-v-d11ceb1d] {
  cursor: pointer;
}
.purchase-list-table tbody tr[data-v-d11ceb1d]:hover {
  background: #f8fafc;
}
.purchase-list-table tbody tr.selected[data-v-d11ceb1d] {
  background: #eef6ff;
}
.purchase-list-table tbody tr:last-child td[data-v-d11ceb1d] {
  border-bottom: 0;
}
.purchase-status[data-v-d11ceb1d] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1;
}
.purchase-status.pending[data-v-d11ceb1d] {
  color: #9a6700;
  background: #fff7d6;
}
.purchase-status.audited[data-v-d11ceb1d] {
  color: #18794e;
  background: #e9f8f0;
}
.purchase-status.cancelled[data-v-d11ceb1d] {
  color: #b42318;
  background: #fdecec;
}
.empty-purchase-list[data-v-d11ceb1d] {
  height: 160px !important;
  text-align: center !important;
  color: #98a2b3 !important;
}
.purchase-list-footer[data-v-d11ceb1d] {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  border-top: 1px solid #eef0f3;
}
.purchase-list-summary[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  gap: 24px;
}
.purchase-list-count[data-v-d11ceb1d] {
  color: #98a2b3;
  font-size: 12px;
}
.purchase-list-subtotal[data-v-d11ceb1d] {
  color: #475467;
  font-size: 13px;
}
.purchase-list-subtotal strong[data-v-d11ceb1d] {
  color: #111827;
  font-size: 14px;
}
.purchase-pagination[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.purchase-pagination button[data-v-d11ceb1d] {
  min-width: 29px;
  height: 29px;
  padding: 0 7px;
  border: 1px solid #d9dee7;
  border-radius: 6px;
  background: #fff;
  color: #475467;
  cursor: pointer;
}
.purchase-pagination button[data-v-d11ceb1d]:hover:not(:disabled) {
  background: #f8fafc;
}
.purchase-pagination button.active[data-v-d11ceb1d] {
  border-color: #9dbce8;
  background: #eef6ff;
  color: #2563eb;
  font-weight: 600;
}
.purchase-pagination button[data-v-d11ceb1d]:disabled {
  opacity: .45;
  cursor: not-allowed;
}
@media (max-width: 900px) {
.purchase-header-right[data-v-d11ceb1d] {
    flex-wrap: wrap;
    justify-content: flex-end;
}
.purchase-header[data-v-d11ceb1d] {
    align-items: flex-start;
}
}
.purchase-selected-caption[data-v-d11ceb1d] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  margin: 10px 0 6px;
  padding: 0 4px;
  color: #667085;
  font-size: 12px;
}
.purchase-selected-caption strong[data-v-d11ceb1d] {
  color: #344054;
  font-size: 13px;
}
.purchase-selected-caption span[data-v-d11ceb1d]:last-child {
  padding-left: 8px;
  border-left: 1px solid #e4e7ec;
}


.sales-page[data-v-0b9219b2] {
  height: calc(100vh - 110px);
  height: calc(100dvh - 110px);
  min-height: 0;
  padding: 0;
  background: transparent;
  color: #1f2937;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
  box-sizing: border-box;
}
.sales-mobile-header[data-v-0b9219b2],
.sales-mobile-checkout[data-v-0b9219b2],
.mobile-field-label[data-v-0b9219b2],
.mobile-empty-message[data-v-0b9219b2] { display: none;
}
.mobile-details-toggle[data-v-0b9219b2] { display: none;
}
.mobile-stepper[data-v-0b9219b2], .mobile-price-editor[data-v-0b9219b2], .mobile-scan-input-row[data-v-0b9219b2] { display: contents;
}
.mobile-step-button[data-v-0b9219b2], .mobile-price-edit[data-v-0b9219b2], .mobile-scan-button[data-v-0b9219b2] { display: none;
}
.sales-layout[data-v-0b9219b2] {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 12px;
}
.customer-search-wrap[data-v-0b9219b2] { position: relative; margin-bottom: 5px;
}
.customer-search-label[data-v-0b9219b2] { display:block; margin:0 0 4px 2px; font-size:11px; color:#4b5563;
}
.customer-search-input[data-v-0b9219b2] {
  width:100%; height:40px; box-sizing:border-box; padding:7px 9px;
  border:1px solid #aeb6c2; border-radius:2px; outline:none; font-size:12px;
}
.customer-search-input[data-v-0b9219b2]:focus { border-color:#2563eb; box-shadow:0 0 0 1px #2563eb;
}
.customer-search-results[data-v-0b9219b2] {
  position:absolute; top:100%; left:0; right:0; z-index:120;
  max-height:230px; overflow-y:auto; background:#fff;
  border:1px solid #cbd5e1; box-shadow:0 8px 20px rgba(15,23,42,.14);
}
.customer-search-option[data-v-0b9219b2] {
  display:block; width:100%; padding:8px 10px; border:0; border-bottom:1px solid #eef2f7;
  background:#fff; text-align:left; cursor:pointer;
}
.customer-search-option strong[data-v-0b9219b2],.customer-search-option span[data-v-0b9219b2] { display:block;
}
.customer-search-option strong[data-v-0b9219b2] { font-size:12px; color:#1f2937;
}
.customer-search-option span[data-v-0b9219b2] { margin-top:3px; font-size:10px; color:#6b7280;
}
.customer-search-option[data-v-0b9219b2]:hover,.customer-search-option.active[data-v-0b9219b2] { background:#eff6ff;
}
.customer-search-empty[data-v-0b9219b2] {
  position:absolute; top:100%; left:0; right:0; z-index:120; padding:10px;
  background:#fff; border:1px solid #cbd5e1; color:#6b7280; font-size:11px;
}
.sales-side-panel[data-v-0b9219b2] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-y: auto;
  padding: 2px;
}
.sales-side-toolbar[data-v-0b9219b2] {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px;
  align-items: center;
  margin-bottom: 9px;
}
.sales-mode-switch[data-v-0b9219b2] {
  display: flex;
  min-width: 0;
}
.sales-mode-switch button[data-v-0b9219b2] {
  height: 38px;
  flex: 1;
  min-width: 0;
  border: 1px solid #aeb6c2;
  background: #fff;
  cursor: pointer;
}
.sales-mode-switch button + button[data-v-0b9219b2] {
  border-left: 0;
}
.sales-mode-switch button.active[data-v-0b9219b2] {
  background: #2563eb;
  color: #fff;
  border-color: #2563eb;
}
.shortcut-button[data-v-0b9219b2] {
  height: 38px;
  border: 1px solid #aeb6c2;
  background: #fff;
  border-radius: 2px;
  cursor: pointer;
  white-space: nowrap;
  padding: 0 10px;
}
.shortcut-button[data-v-0b9219b2]:hover { background: #f8fafc;
}
.sales-table-card[data-v-0b9219b2] {
  min-width: 0;
  height: 100%;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 1px 5px rgba(15, 23, 42, .06);
  overflow: hidden;
  box-sizing: border-box;
}
.table-scroll[data-v-0b9219b2] {
  height: 100%;
  overflow: auto;
}
.sales-table[data-v-0b9219b2] {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
}
.col-code[data-v-0b9219b2] { width: 8%;
}
.col-info[data-v-0b9219b2] { width: 40%;
}
.col-box-count[data-v-0b9219b2] { width: 8%;
}
.col-quantity[data-v-0b9219b2] { width: 10%;
}
.col-price[data-v-0b9219b2] { width: 8%;
}
.col-amount[data-v-0b9219b2] { width: 14%;
}
.col-discount[data-v-0b9219b2] { width: 10%;
}
.col-currency[data-v-0b9219b2] { width: 10%;
}
.sales-table.wholesale-table .col-info[data-v-0b9219b2] { width: 34%;
}
.sales-table.wholesale-table .col-quantity[data-v-0b9219b2] { width: 9%;
}
.sales-table.wholesale-table .col-amount[data-v-0b9219b2] { width: 13%;
}
.sales-table th[data-v-0b9219b2] {
  height: 42px;
  padding: 5px 6px;
  border-bottom: 1px solid #d8dde5;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  text-align: center;
}
.sales-table td[data-v-0b9219b2] {
  height: 48px;
  padding: 5px 6px;
  border-bottom: 1px solid #e6e9ee;
  font-size: 12px;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}
.code-cell[data-v-0b9219b2] {
  position: relative;
  font-weight: 700;
  padding-right: 22px !important;
}
.code-cell-with-remove[data-v-0b9219b2] {
  padding-right: 18px !important;
}
.line-remove[data-v-0b9219b2] {
  position: absolute;
  top: 2px;
  right: 3px;
  width: 14px;
  height: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #9ca3af;
  font-size: 15px;
  line-height: 16px;
  cursor: pointer;
}
.line-remove[data-v-0b9219b2]:hover {
  color: #dc2626;
}
.product-info-cell[data-v-0b9219b2] {
  min-width: 0;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden;
}
.product-info-cell > strong[data-v-0b9219b2] {
  display: block;
  overflow: hidden;
  line-height: 1.25;
  max-height: 2.5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
}
.product-inventory-info[data-v-0b9219b2] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 4px;
  color: #6b7280;
  font-size: 11px;
  white-space: nowrap;
}
.product-inventory-info em[data-v-0b9219b2] { color:#374151; font-style:normal; font-weight:600;
}
.selected-row td[data-v-0b9219b2] {
  background: #e8f1ff;
}
.selected-row:hover td[data-v-0b9219b2] {
  background: #dbeafe;
}
.duplicate-row td[data-v-0b9219b2] {
  background: #fff7ed;
}
.stock-zero[data-v-0b9219b2] {
  color: #dc2626;
  font-weight: 700;
}
.stock-low[data-v-0b9219b2] {
  color: #dc2626;
}
.cell-number[data-v-0b9219b2] {
  width: 100%;
  max-width: 64px;
  height: 32px;
  box-sizing: border-box;
  padding: 4px 7px;
  border: 1px solid #d4dbe5;
  border-radius: 3px;
  text-align: right;
  font-size: 12px;
  background: #fff;
}
.price-input[data-v-0b9219b2] {
  max-width: 56px;
}
.amount-cell[data-v-0b9219b2] {
  font-weight: 700;
}
.empty-row[data-v-0b9219b2] {
  height: 100%;
}
.customer-summary[data-v-0b9219b2] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 7px;
  padding: 2px 4px 8px;
  font-size: 11px;
  line-height: 1.4;
}
.customer-summary span[data-v-0b9219b2] { color: #6b7280;
}
.payment-panel[data-v-0b9219b2] {
  border: 1px solid #cbd2dc;
  background: #fff;
  padding: 9px;
  font-size: 11px;
  margin-bottom: 4px;
}
.payment-panel-title[data-v-0b9219b2] {
  margin: -9px -9px 7px;
  padding: 7px 9px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
  font-weight: 700;
}
.payment-totals[data-v-0b9219b2] {
  display: grid;
  gap: 4px;
  margin-bottom: 8px;
}
.payment-totals > div[data-v-0b9219b2] { display: flex; justify-content: space-between; gap: 6px;
}
.payment-totals span[data-v-0b9219b2] { color: #6b7280;
}
.payment-totals strong[data-v-0b9219b2] { text-align: right;
}
.payment-inline-row[data-v-0b9219b2] {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}
.payment-inline-row > span[data-v-0b9219b2] { color: #4b5563;
}
.payment-inline-row input[data-v-0b9219b2],
.payment-inline-row select[data-v-0b9219b2] {
  min-width: 0;
  width: 100%;
  height: 31px;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  padding: 4px 6px;
  outline: none;
  font-size: 11px;
}
.payment-inline-row input[data-v-0b9219b2]:focus,
.payment-inline-row select[data-v-0b9219b2]:focus { border-color: #2563eb;
}
.payment-inline-row input[data-v-0b9219b2]:disabled { background: #f3f4f6;
}
.payment-inline-amount[data-v-0b9219b2] { min-width: 0; display: flex; gap: 4px;
}
.payment-inline-amount button[data-v-0b9219b2] {
  padding: 0 6px;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  font-size: 10px;
  white-space: nowrap;
  cursor: pointer;
}
.settle-button[data-v-0b9219b2] {
  display: block;
  min-width: 80px;
  height: 34px;
  margin: 8px 0 0 auto;
  padding: 0 13px;
  border: 1px solid #2563eb;
  border-radius: 2px;
  background: #2563eb;
  color: #fff;
  cursor: pointer;
}
.settle-button[data-v-0b9219b2]:hover { background: #1d4ed8;
}
.quick-entry-panel[data-v-0b9219b2] {
  margin-top: 0;
  padding: 0 2px 2px;
}
.quick-entry-label[data-v-0b9219b2] {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
}
.quick-entry-input[data-v-0b9219b2] {
  width: 100%;
  height: 48px;
  box-sizing: border-box;
  border: 2px solid #111827;
  border-radius: 2px;
  padding: 7px 10px;
  outline: none;
  font-size: 15px;
}
.quick-entry-input[data-v-0b9219b2]:focus {
  border-color: #111827;
  box-shadow: 0 0 0 1px #111827;
}
.entry-options[data-v-0b9219b2] { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:9px;
}
.entry-option-group[data-v-0b9219b2] { display:flex; align-items:center; gap:5px;
}
.entry-option-group > span[data-v-0b9219b2] { margin-right:2px; color:#64748b; font-size:11px; white-space:nowrap;
}
.entry-option-group button[data-v-0b9219b2] { padding:4px 7px; border:1px solid #cbd5e1; border-radius:5px; background:#fff; color:#475569; font-size:11px; cursor:pointer; white-space:nowrap;
}
.entry-option-group button.active[data-v-0b9219b2] { border-color:#2563eb; background:#eff6ff; color:#1d4ed8; font-weight:700;
}
.notice[data-v-0b9219b2] {
  position: fixed;
  top: 70px;
  right: 24px;
  z-index: 5000;
  max-width: 460px;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #cbd5e1;
  box-shadow: 0 8px 25px rgba(0,0,0,.12);
  font-size: 13px;
}
.notice.error[data-v-0b9219b2] {
  border-color: #fca5a5;
  color: #b91c1c;
}
.notice.success[data-v-0b9219b2] {
  color: #065f46;
}
.modal-mask[data-v-0b9219b2] {
  position: fixed;
  inset: 0;
  z-index: 6000;
  background: rgba(15, 23, 42, .38);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal[data-v-0b9219b2] {
  width: min(620px, 94vw);
  max-height: 82vh;
  overflow: auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 18px 50px rgba(0,0,0,.2);
}
.modal header[data-v-0b9219b2] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 15px 18px;
  border-bottom: 1px solid #e5e7eb;
}
.modal header h2[data-v-0b9219b2] {
  margin: 0;
  font-size: 18px;
}
.modal header p[data-v-0b9219b2] {
  margin: 4px 0 0;
  color: #6b7280;
  font-size: 12px;
}
.modal header button[data-v-0b9219b2] {
  border: 0;
  background: transparent;
  font-size: 24px;
  cursor: pointer;
}
.modal-search[data-v-0b9219b2] {
  width: calc(100% - 36px);
  margin: 15px 18px 8px;
  padding: 9px 10px;
  border: 1px solid #cbd5e1;
  box-sizing: border-box;
}
.customer-list[data-v-0b9219b2],
.product-choice-list[data-v-0b9219b2],
.draft-list[data-v-0b9219b2] {
  padding: 0 18px 18px;
}
.customer-option[data-v-0b9219b2],
.product-option[data-v-0b9219b2],
.draft-option[data-v-0b9219b2] {
  width: 100%;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 3px;
  text-align: left;
  cursor: pointer;
}
.customer-option[data-v-0b9219b2]:hover,
.product-option[data-v-0b9219b2]:hover,
.product-option.keyboard-active[data-v-0b9219b2],
.draft-option[data-v-0b9219b2]:hover {
  border-color: #2563eb;
  background: #eff6ff;
}
.customer-option strong[data-v-0b9219b2],
.customer-option span[data-v-0b9219b2],
.product-option strong[data-v-0b9219b2],
.product-option span[data-v-0b9219b2],
.draft-option strong[data-v-0b9219b2],
.draft-option span[data-v-0b9219b2] {
  display: block;
}
.customer-option span[data-v-0b9219b2],
.product-option span[data-v-0b9219b2],
.draft-option span[data-v-0b9219b2] {
  margin-top: 3px;
  color: #6b7280;
  font-size: 12px;
}
.modal-empty[data-v-0b9219b2] {
  padding: 30px;
  text-align: center;
  color: #9ca3af;
}
.return-search-row[data-v-0b9219b2] {
  display: grid;
  grid-template-columns: 1fr 82px;
  gap: 8px;
  padding: 7px 18px 0;
}
.return-search-row .modal-search[data-v-0b9219b2] {
  width: 100%;
  margin: 0;
}
.return-search-button[data-v-0b9219b2] {
  border: 1px solid #cbd5e1;
  background: #fff;
  cursor: pointer;
}
.return-order-info[data-v-0b9219b2] {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  padding: 10px 18px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
  font-size: 12px;
}
.return-item-list[data-v-0b9219b2] {
  padding: 10px 18px 4px;
}
.return-select-all[data-v-0b9219b2],
.return-item-option[data-v-0b9219b2] {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 8px;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
}
.return-select-all[data-v-0b9219b2] {
  font-weight: 700;
  background: #f8fafc;
}
.return-item-main[data-v-0b9219b2],
.return-item-main span[data-v-0b9219b2] {
  display: block;
}
.return-item-main span[data-v-0b9219b2] {
  margin-top: 3px;
  color: #6b7280;
  font-size: 12px;
}
.return-error[data-v-0b9219b2] {
  margin: 8px 18px 0;
}
.shortcut-actions[data-v-0b9219b2] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: 16px 18px 6px;
}
.shortcut-actions button[data-v-0b9219b2],
.payment-actions button[data-v-0b9219b2] {
  min-height: 36px;
  border: 1px solid #cbd5e1;
  background: #fff;
  cursor: pointer;
}
.shortcut-list[data-v-0b9219b2] {
  padding: 10px 18px 20px;
}
.shortcut-list > div[data-v-0b9219b2] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 13px;
}
kbd[data-v-0b9219b2] {
  min-width: 70px;
  padding: 4px 7px;
  border: 1px solid #cbd5e1;
  border-bottom-width: 2px;
  border-radius: 3px;
  background: #f8fafc;
  text-align: center;
  font-family: inherit;
  font-size: 11px;
}
.payment-form[data-v-0b9219b2],
.discount-form[data-v-0b9219b2] {
  padding: 18px;
}
.payment-row[data-v-0b9219b2] {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 13px;
  font-size: 13px;
}
.payment-row input[data-v-0b9219b2],
.payment-row select[data-v-0b9219b2],
.discount-form input[data-v-0b9219b2] {
  width: 100%;
  height: 38px;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  padding: 6px 9px;
  outline: none;
}
.payment-row input[data-v-0b9219b2]:focus,
.payment-row select[data-v-0b9219b2]:focus,
.discount-form input[data-v-0b9219b2]:focus {
  border-color: #2563eb;
}
.payment-row input[data-v-0b9219b2]:disabled {
  background: #f3f4f6;
}
.payment-amount-wrap[data-v-0b9219b2] { display: flex; gap: 8px; align-items: center; flex: 1;
}
.payment-amount-wrap input[data-v-0b9219b2] { flex: 1;
}
.payment-fill-button[data-v-0b9219b2] { white-space: nowrap; min-width: 76px; padding: 7px 10px; border: 1px solid #cbd5e1; border-radius: 6px; background: #f8fafc; cursor: pointer;
}
.payment-fill-button[data-v-0b9219b2]:hover { background: #eef2ff;
}
.payment-error[data-v-0b9219b2] {
  min-height: 20px;
  color: #b91c1c;
  font-size: 13px;
  margin-bottom: 5px;
}
.payment-actions[data-v-0b9219b2] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 15px;
}
.payment-actions button[data-v-0b9219b2] {
  min-width: 78px;
  padding: 7px 15px;
}
.payment-actions .confirm-button[data-v-0b9219b2] {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}
.discount-form > label[data-v-0b9219b2] {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
@media (max-width: 1050px) {
.sales-layout[data-v-0b9219b2] { grid-template-columns: minmax(0, 1fr) 250px; gap: 8px;
}
}
@media (max-width: 768px) {
.sales-page[data-v-0b9219b2] {
    height: auto;
    min-height: 0;
}
.sales-mobile-header[data-v-0b9219b2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 40px;
    margin: 0 0 10px;
    color: #172033;
    font-size: 18px;
}
.sales-mobile-header button[data-v-0b9219b2] {
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #dbe3ed;
    border-radius: 8px;
    background: #fff;
    color: #2563eb;
}
.sales-layout[data-v-0b9219b2] {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sales-side-panel[data-v-0b9219b2] { display: contents;
}
.sales-side-toolbar[data-v-0b9219b2] { order: 0; grid-template-columns: 1fr; margin: 0;
}
.sales-mode-switch button[data-v-0b9219b2] { height: 44px; border-radius: 8px; font-size: 15px;
}
.sales-mode-switch button + button[data-v-0b9219b2] { border-left: 1px solid #aeb6c2;
}
.sales-side-toolbar > .shortcut-button[data-v-0b9219b2] { display: none;
}
.quick-entry-panel[data-v-0b9219b2] { order: 4; padding: 0;
}
.quick-entry-label[data-v-0b9219b2] { margin-bottom: 5px; font-size: 13px;
}
.mobile-scan-input-row[data-v-0b9219b2] { display:grid; grid-template-columns:minmax(0,1fr) 48px; gap:7px; align-items:center;
}
.quick-entry-input[data-v-0b9219b2] { height: 48px; border: 1px solid #cbd5e1; border-radius: 10px; font-size: 16px;
}
.mobile-scan-button[data-v-0b9219b2] { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid #bfdbfe; border-radius:10px; background:#eff6ff; color:#1687dc; font-size:25px; line-height:1;
}
.quick-entry-input[data-v-0b9219b2]:focus { border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,.12);
}
.entry-options[data-v-0b9219b2] { gap: 7px 10px;
}
.entry-option-group[data-v-0b9219b2] { flex-wrap: wrap;
}
.entry-option-group button[data-v-0b9219b2] { min-height: 40px; padding: 7px 9px; font-size: 12px;
}
.customer-search-wrap[data-v-0b9219b2] { order: 1; margin: 0;
}
.customer-search-label[data-v-0b9219b2] { margin-bottom: 5px; font-size: 12px;
}
.customer-search-input[data-v-0b9219b2] { height: 44px; border-radius: 9px; padding: 8px 10px; font-size: 16px;
}
.customer-search-option[data-v-0b9219b2] { min-height: 52px;
}
.customer-search-option strong[data-v-0b9219b2] { font-size: 14px;
}
.customer-search-option span[data-v-0b9219b2] { font-size: 12px;
}
.customer-summary[data-v-0b9219b2] { order: 2; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 4px; padding: 4px 0 0; font-size: 11px;
}
.customer-summary > div[data-v-0b9219b2] { min-width: 0; overflow-wrap: anywhere;
}
.customer-summary span[data-v-0b9219b2] { display: block; margin-bottom: 2px;
}
.payment-panel[data-v-0b9219b2] { order: 5; margin: 0; padding: 10px; border-radius: 10px; font-size: 13px;
}
.payment-panel-title[data-v-0b9219b2] { margin: -10px -10px 8px; padding: 9px 10px; border-radius: 10px 10px 0 0; font-size: 14px;
}
.payment-totals[data-v-0b9219b2] { display: none;
}
.payment-inline-row[data-v-0b9219b2] { grid-template-columns: minmax(76px, 34%) minmax(0,1fr); gap: 8px; margin-top: 8px;
}
.payment-inline-row > span[data-v-0b9219b2] { font-size: 12px;
}
.payment-inline-row input[data-v-0b9219b2], .payment-inline-row select[data-v-0b9219b2] { height: 44px; padding: 7px 9px; border-radius: 8px; font-size: 16px;
}
.payment-inline-amount[data-v-0b9219b2] { gap: 6px;
}
.payment-inline-amount button[data-v-0b9219b2] { min-width: 48px; min-height: 44px; padding: 0 9px; border-radius: 8px; font-size: 12px;
}
.payment-panel .settle-button[data-v-0b9219b2] { display: none;
}
.sales-table-card[data-v-0b9219b2] { order: 3; height: auto; min-height: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.table-scroll[data-v-0b9219b2] { height: auto; overflow: visible;
}
.sales-table[data-v-0b9219b2], .sales-table tbody[data-v-0b9219b2] { display: block; width: 100%;
}
.sales-table thead[data-v-0b9219b2] { display: none;
}
.sales-table tbody tr[data-v-0b9219b2]:not(.empty-row-row) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 10px;
    margin: 0 0 10px;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #fff;
}
.sales-table:not(.wholesale-table) tbody tr[data-v-0b9219b2]:not(.empty-row-row) { grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sales-table tbody td[data-v-0b9219b2] {
    display: flex;
    min-width: 0;
    min-height: 46px;
    height: auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 3px;
    padding: 3px 2px;
    border: 0;
    font-size: 14px;
    text-align: left;
    white-space: normal;
}
.sales-table tbody .code-cell[data-v-0b9219b2],
  .sales-table tbody .product-info-cell[data-v-0b9219b2] { grid-column: 1 / -1;
}
.sales-table tbody .code-cell[data-v-0b9219b2] { order: 0; min-height: 32px; padding-right: 36px !important; font-size: 12px; color: #64748b;
}
.sales-table tbody .product-info-cell[data-v-0b9219b2] { order: 1; min-height: 44px; padding: 2px 0 5px; border-bottom: 1px solid #e5e7eb;
}
.product-info-cell > strong[data-v-0b9219b2] { max-height: none; font-size: 16px; -webkit-line-clamp: 2;
}
.product-inventory-info[data-v-0b9219b2] { flex-wrap: wrap; align-items:center; gap: 3px 9px; margin-top: 4px; font-size: 11px; white-space: normal;
}
.mobile-details-toggle[data-v-0b9219b2] { display:inline-flex; align-items:center; margin-left:auto; padding:2px 5px; border:0; border-radius:5px; background:transparent; color:#64748b; font:inherit; font-size:11px; white-space:nowrap;
}
.sales-table tbody .box-count-cell[data-v-0b9219b2] { order: 2;
}
.sales-table tbody .quantity-cell[data-v-0b9219b2] { order: 3;
}
.sales-table tbody .price-cell[data-v-0b9219b2] { order: 4;
}
.sales-table tbody .amount-cell[data-v-0b9219b2] { order: 5;
}
.sales-table tbody .discount-cell[data-v-0b9219b2] { order: 6;
}
.sales-table tbody .currency-cell[data-v-0b9219b2] { order: 7;
}
.sales-table tbody .mobile-detail-cell[data-v-0b9219b2] { display:none;
}
.sales-table tbody tr.mobile-details-expanded .mobile-detail-cell[data-v-0b9219b2] { display:flex;
}
.mobile-field-label[data-v-0b9219b2] { display: block; color: #64748b; font-size: 11px; font-weight: 500;
}
.sales-table .cell-number[data-v-0b9219b2], .sales-table .price-input[data-v-0b9219b2] { width: 100%; max-width: none; height: 38px; min-height:38px; border-radius: 7px; padding: 4px 7px; font-size: 16px; text-align: left;
}
.mobile-stepper[data-v-0b9219b2] { display:grid; grid-template-columns:36px minmax(0,1fr) 36px; width:100%; min-height:38px; overflow:hidden; border:1px solid #dbe3ed; border-radius:8px; background:#fff;
}
.mobile-step-button[data-v-0b9219b2] { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:36px; padding:0; border:0; background:#f3f4f6; color:#64748b; font-size:21px; line-height:1;
}
.mobile-step-button[data-v-0b9219b2]:last-child { background:#fff; color:#1687dc; font-size:24px;
}
.sales-table .mobile-stepper .cell-number[data-v-0b9219b2] { height:36px; min-height:36px; padding:3px 2px; border:0; border-radius:0; text-align:center;
}
.mobile-price-editor[data-v-0b9219b2] { display:flex; align-items:stretch; min-width:0; width:100%; border-radius:8px; background:#fff7e8;
}
.sales-table .mobile-price-editor .price-input[data-v-0b9219b2] { height:38px; min-height:38px; padding:4px 6px; border:0; border-radius:8px 0 0 8px; background:transparent; color:#d97706; font-size:16px; font-weight:700; text-align:center;
}
.mobile-price-edit[data-v-0b9219b2] { display:inline-flex; align-items:center; justify-content:center; min-width:34px; padding:0 7px; border:0; border-radius:0 8px 8px 0; background:transparent; color:#9a6700; font-size:19px;
}
.sales-table tbody .amount-cell[data-v-0b9219b2] { font-size: 15px;
}
.line-remove[data-v-0b9219b2] { top: 50%; right: 0; width: 36px; height: 36px; transform: translateY(-50%); font-size: 22px;
}
.sales-table tbody .empty-row-row[data-v-0b9219b2] { display: block; margin: 0; padding: 0; border: 0; background: transparent;
}
.sales-table .empty-row[data-v-0b9219b2] { display: block; min-height: 52px; padding: 15px; color: #64748b; text-align: center;
}
.sales-table .mobile-empty-message[data-v-0b9219b2] { display: block;
}
.sales-mobile-checkout[data-v-0b9219b2] {
    position: fixed;
    right: 0;
    bottom: calc(53px + max(5px, env(safe-area-inset-bottom, 0px)));
    left: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 64px;
    padding: 8px 14px;
    border-top: 1px solid #e2e8f0;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -4px 14px rgba(15,23,42,.08);
}
.sales-mobile-checkout > div[data-v-0b9219b2] { display: flex; flex-direction: column; gap: 1px;
}
.sales-mobile-checkout span[data-v-0b9219b2] { color: #64748b; font-size: 12px;
}
.sales-mobile-checkout strong[data-v-0b9219b2] { color: #172033; font-size: 18px;
}
.sales-mobile-checkout button[data-v-0b9219b2] { min-width: 136px; min-height: 46px; padding: 0 16px; border: 0; border-radius: 10px; background: #2563eb; color: #fff; font-size: 15px; font-weight: 700;
}
.barcode-scanner-mask[data-v-0b9219b2] { z-index:220;
}
.barcode-scanner-modal[data-v-0b9219b2] { padding-bottom:12px;
}
.barcode-scanner-modal > header[data-v-0b9219b2] { padding:14px;
}
.barcode-scanner-modal > header h2[data-v-0b9219b2] { margin:0 0 4px; font-size:18px;
}
.barcode-scanner-modal > header p[data-v-0b9219b2] { margin:0; color:#64748b; font-size:12px;
}
.barcode-scanner-viewfinder[data-v-0b9219b2] { position:relative; width:calc(100% - 28px); aspect-ratio:4 / 3; margin:14px; overflow:hidden; border-radius:12px; background:#0f172a;
}
.barcode-scanner-viewfinder video[data-v-0b9219b2] { width:100%; height:100%; object-fit:contain;
}
.barcode-scanner-frame[data-v-0b9219b2] { position:absolute; top:35%; left:9%; width:82%; height:30%; border:2px solid #f59e0b; border-radius:8px; box-shadow:0 0 0 999px rgba(15,23,42,.16);
}
.barcode-scanner-error[data-v-0b9219b2] { margin:0 14px 10px; color:#b91c1c; font-size:13px;
}
.barcode-scanner-cancel[data-v-0b9219b2] { display:block; min-height:42px; width:calc(100% - 28px); margin:0 14px; border:1px solid #dbe3ed; border-radius:9px; background:#fff; color:#334155; font:inherit;
}
}
@media (min-width: 769px) {
.sales-mobile-header[data-v-0b9219b2], .sales-mobile-checkout[data-v-0b9219b2], .mobile-field-label[data-v-0b9219b2] { display: none;
}
}
@media (max-width: 360px) {
.sales-mobile-checkout[data-v-0b9219b2] { padding-right: 10px; padding-left: 10px;
}
.sales-mobile-checkout button[data-v-0b9219b2] { min-width: 120px; padding: 0 10px;
}
.customer-summary[data-v-0b9219b2] { font-size: 10px;
}
}
.receipt-settings-modal[data-v-0b9219b2]{max-width:520px}.receipt-setting-row[data-v-0b9219b2]{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;margin:14px 0;font-size:13px}.receipt-setting-row select[data-v-0b9219b2],.receipt-setting-row input[data-v-0b9219b2]{min-width:0;padding:9px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.receipt-setting-help[data-v-0b9219b2]{font-size:12px;color:#64748b;line-height:1.5}.receipt-setting-actions[data-v-0b9219b2]{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.receipt-setting-actions button[data-v-0b9219b2]{border:1px solid #d1d5db;background:#fff;border-radius:6px;padding:8px 14px;cursor:pointer}.receipt-setting-actions .receipt-save[data-v-0b9219b2]{background:#2563eb;border-color:#2563eb;color:white}
.receipt-policy-actions[data-v-0b9219b2]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.receipt-policy-actions button[data-v-0b9219b2]{border:1px solid #2563eb;border-radius:6px;padding:8px 11px;background:#eff6ff;color:#1d4ed8;cursor:pointer}.receipt-policy-actions span[data-v-0b9219b2]{font-size:11px;color:#64748b}.receipt-browser-warning[data-v-0b9219b2]{padding:9px 11px;border-radius:6px;background:#fff7ed;color:#c2410c;font-size:12px;line-height:1.5}

.reprint-modal[data-v-0b9219b2]{max-width:720px}
.reprint-search[data-v-0b9219b2]{display:flex;gap:8px;padding:14px 18px;border-bottom:1px solid #e5e7eb}
.reprint-search input[data-v-0b9219b2]{flex:1;min-width:0;height:38px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px}
.reprint-search button[data-v-0b9219b2],.reprint-actions button[data-v-0b9219b2]{height:38px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:0 13px;cursor:pointer}
.reprint-list[data-v-0b9219b2]{padding:10px 18px 16px;max-height:50vh;overflow:auto}
.reprint-option[data-v-0b9219b2]{display:grid;grid-template-columns:24px 150px minmax(130px,1fr) minmax(110px,1fr) 110px;align-items:center;gap:8px;width:100%;box-sizing:border-box;padding:11px 12px;margin-top:7px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}
.reprint-option.selected[data-v-0b9219b2]{border-color:#2563eb;background:#eff6ff}
.reprint-option input[data-v-0b9219b2]{margin:0}
.reprint-option span[data-v-0b9219b2]{color:#475569;font-variant-numeric:tabular-nums}
.reprint-option strong[data-v-0b9219b2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reprint-option em[data-v-0b9219b2]{text-align:right;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.reprint-customer[data-v-0b9219b2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b5563}
.reprint-actions[data-v-0b9219b2]{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid #e5e7eb}
.reprint-actions .reprint-primary[data-v-0b9219b2]{background:#2563eb;border-color:#2563eb;color:#fff}
.reprint-actions button[data-v-0b9219b2]:disabled{opacity:.5;cursor:not-allowed}
.reprint-error[data-v-0b9219b2]{margin:0 18px 10px}
@media(max-width:650px){.reprint-option[data-v-0b9219b2]{grid-template-columns:24px 1fr;}.reprint-option strong[data-v-0b9219b2],.reprint-option em[data-v-0b9219b2],.reprint-customer[data-v-0b9219b2]{grid-column:2}.reprint-option em[data-v-0b9219b2]{text-align:left}}
.product-option-heading[data-v-0b9219b2]{display:flex!important;align-items:baseline;gap:10px;margin:2px 0 5px}
.product-option .product-option-code[data-v-0b9219b2]{flex:0 0 auto;margin-top:0;color:#94a3b8;font-size:12px;font-weight:400}
.product-option .product-option-name[data-v-0b9219b2]{margin-top:0;color:#111827;font-size:19px;font-weight:750;line-height:1.4}

[data-v-fff724aa] { box-sizing: border-box;
}
.shipment-page[data-v-fff724aa] { padding: 24px; min-height: calc(100vh - 58px); background: #f5f7fa;
}
.page-header[data-v-fff724aa] { display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;
}
.page-header h1[data-v-fff724aa] { margin: 0 0 6px; font-size: 24px;
}
.page-header p[data-v-fff724aa] { margin: 0; color: #6b7280;
}
.shipment-filters[data-v-fff724aa]{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.shipment-filters label[data-v-fff724aa]{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#64748b;position:relative}.shipment-filters input[data-v-fff724aa],.shipment-filters select[data-v-fff724aa]{height:34px;min-width:125px;padding:0 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.shipment-customer-filter input[data-v-fff724aa]{width:210px}.shipment-customer-dropdown[data-v-fff724aa]{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:240px;overflow:auto;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 6px 18px #0f172a22}.shipment-customer-dropdown button[data-v-fff724aa]{display:block;width:100%;height:auto;padding:8px 10px;border:0;border-radius:0;background:#fff;color:#334155;text-align:left;cursor:pointer}.shipment-customer-dropdown button.highlighted[data-v-fff724aa],.shipment-customer-dropdown button[data-v-fff724aa]:hover{background:#eff6ff}.shipment-search[data-v-fff724aa]{height:34px;padding:0 12px;border:1px solid #2563eb;border-radius:6px;background:#2563eb;color:#fff;cursor:pointer}
.filter-card[data-v-fff724aa], .list-card[data-v-fff724aa] { background: white; border: 1px solid #e5e7eb; border-radius: 10px; margin-bottom: 16px;
}
.filter-row[data-v-fff724aa] { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; padding: 16px;
}
.filter-row label[data-v-fff724aa] { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #4b5563;
}
.filter-row input[data-v-fff724aa], .filter-row select[data-v-fff724aa] { height: 36px; min-width: 150px; padding: 0 10px; border: 1px solid #d1d5db; border-radius: 6px; background: white;
}
button[data-v-fff724aa] { border: 1px solid #d1d5db; background: white; border-radius: 6px; padding: 8px 13px; cursor: pointer;
}
button[data-v-fff724aa]:disabled { opacity: .5; cursor: not-allowed;
}
button.primary[data-v-fff724aa] { background: #2563eb; border-color: #2563eb; color: white;
}
button.secondary[data-v-fff724aa] { background: white;
}
.list-toolbar[data-v-fff724aa] { display: flex; justify-content: space-between; align-items: center; padding: 13px 16px; border-bottom: 1px solid #e5e7eb; font-size: 13px; color: #6b7280;
}
.toolbar-actions[data-v-fff724aa] { display: flex; align-items: center; gap: 12px;
}
.table-wrap[data-v-fff724aa], .detail-wrap[data-v-fff724aa] { overflow-x: auto;
}
table[data-v-fff724aa] { width: 100%; border-collapse: collapse; min-width: 900px;
}
th[data-v-fff724aa], td[data-v-fff724aa] { padding: 11px 12px; border-bottom: 1px solid #eef0f3; text-align: left; white-space: nowrap; font-size: 13px;
}
th[data-v-fff724aa] { background: #f8fafc; font-weight: 600;
}
.check-col[data-v-fff724aa] { width: 42px; text-align: center;
}
.sales-no[data-v-fff724aa] { font-weight: 600;
}
.link-button[data-v-fff724aa] { color: #2563eb; border: 0; background: transparent; padding: 4px;
}
.status[data-v-fff724aa] { display: inline-block; padding: 3px 8px; border-radius: 12px; font-size: 12px;
}
.status.pending[data-v-fff724aa] { background: #fff7ed; color: #c2410c;
}
.status.done[data-v-fff724aa] { background: #ecfdf5; color: #047857;
}
.empty[data-v-fff724aa] { text-align: center; color: #9ca3af; padding: 36px;
}
.modal-mask[data-v-fff724aa] { position: fixed; inset: 0; background: rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; z-index: 100; padding: 20px;
}
.modal[data-v-fff724aa] { background: white; width: min(1000px, 96vw); max-height: 90vh; overflow: auto; border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,.18);
}
.modal header[data-v-fff724aa] { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-bottom: 1px solid #e5e7eb;
}
.modal header h2[data-v-fff724aa] { margin: 0 0 5px; font-size: 18px;
}
.modal header p[data-v-fff724aa] { margin: 0; color: #6b7280; font-size: 13px;
}
.modal header > button[data-v-fff724aa] { border: 0; font-size: 24px; padding: 0 6px;
}
.shipment-actions[data-v-fff724aa] { display: flex; gap: 8px; padding: 14px 20px;
}
.box-input[data-v-fff724aa] { width: 78px; height: 34px; border: 1px solid #cbd5e1; border-radius: 5px; padding: 0 8px;
}
.debt-highlight[data-v-fff724aa] { color: #dc2626; font-weight: 700;
}
.qty-input[data-v-fff724aa] { width: 100px; height: 34px; border: 1px solid #cbd5e1; border-radius: 5px; padding: 0 8px;
}
.cell-selected[data-v-fff724aa] { background: #eff6ff; outline: 2px solid #2563eb; outline-offset: -2px;
}
.cell-menu[data-v-fff724aa], .batch-qty-popover[data-v-fff724aa] { position: fixed; z-index: 300; background: white; border: 1px solid #d1d5db; border-radius: 7px; box-shadow: 0 8px 25px rgba(0,0,0,.16); padding: 6px;
}
.cell-menu button[data-v-fff724aa] { border: 0; background: white; padding: 8px 12px; white-space: nowrap;
}
.cell-menu button[data-v-fff724aa]:hover { background: #f3f4f6;
}
.batch-qty-popover[data-v-fff724aa] { padding: 12px; min-width: 210px;
}
.batch-qty-popover label[data-v-fff724aa] { display: flex; gap: 8px; align-items: center; font-size: 13px;
}
.batch-qty-popover input[data-v-fff724aa] { width: 100px; height: 34px; border: 1px solid #d1d5db; border-radius: 5px; padding: 0 8px;
}
.batch-qty-popover > div[data-v-fff724aa] { display: flex; justify-content: flex-end; gap: 7px; margin-top: 10px;
}
.shipment-summary[data-v-fff724aa] { display: flex; flex-wrap: wrap; gap: 20px; padding: 16px 20px; background: #f8fafc;
}
.modal-actions[data-v-fff724aa] { display: flex; justify-content: flex-end; gap: 8px; padding: 16px 20px; border-top: 1px solid #e5e7eb;
}
.error[data-v-fff724aa] { margin: 0 20px 12px; padding: 9px 12px; border-radius: 6px; background: #fef2f2; color: #b91c1c; font-size: 13px;
}
.batch-list[data-v-fff724aa] { padding: 10px 20px;
}
.batch-row[data-v-fff724aa] { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid #eef0f3;
}
.notice[data-v-fff724aa] { position: fixed; right: 22px; bottom: 22px; z-index: 200; padding: 11px 16px; border-radius: 7px; background: #111827; color: white; box-shadow: 0 8px 25px rgba(0,0,0,.15);
}
.notice.error[data-v-fff724aa] { background: #b91c1c;
}
@media (max-width: 768px) {
.shipment-page[data-v-fff724aa] { padding: 14px;
}
.page-header[data-v-fff724aa] { align-items:stretch; flex-direction:column; gap:10px;
}
.page-header h1[data-v-fff724aa] { font-size:20px;
}
.page-header p[data-v-fff724aa] { font-size:11px;
}
.shipment-filters[data-v-fff724aa] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%;
}
.shipment-filters label[data-v-fff724aa] { min-width:0;
}
.shipment-filters input[data-v-fff724aa], .shipment-filters select[data-v-fff724aa] { box-sizing:border-box; width:100%; min-width:0; height:38px;
}
.shipment-customer-filter[data-v-fff724aa] { grid-column:1 / -1;
}
.shipment-search[data-v-fff724aa] { min-height:38px; padding:0 10px;
}
.list-toolbar[data-v-fff724aa] { align-items:center; flex-wrap:wrap; gap:8px; padding:10px 12px;
}
.toolbar-actions[data-v-fff724aa] { margin-left:auto;
}
.table-wrap[data-v-fff724aa], .detail-wrap[data-v-fff724aa] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.shipment-modal[data-v-fff724aa] { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); overflow:auto;
}
.shipment-actions[data-v-fff724aa] { flex-wrap:wrap; gap:7px;
}
}

.retail-query-page[data-v-db351ce9] { padding: 24px; min-height: calc(100vh - 58px); background: linear-gradient(180deg, #f7f9fc 0%, #f3f6fa 100%); color: #1f2937; font-size: 14px; line-height: 1.5;
}
.retail-query-header[data-v-db351ce9] { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px;
}
.eyebrow[data-v-db351ce9] { color:#2563eb; font-size:12px; font-weight:700; letter-spacing:.08em; margin-bottom:6px;
}
.retail-query-header h1[data-v-db351ce9] { margin:0 0 6px; font-size:24px; line-height:1.35; color:#172033;
}
.retail-query-header p[data-v-db351ce9] { margin:0; color:#64748b; line-height:1.5;
}
.retail-filter[data-v-db351ce9]{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.retail-filter label[data-v-db351ce9]{display:flex;flex-direction:column;gap:4px;color:#64748b;font-size:11px}.retail-filter input[data-v-db351ce9]{height:34px;min-width:120px;padding:0 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.retail-filter button[data-v-db351ce9]{height:34px;padding:0 11px;border-radius:6px;cursor:pointer;white-space:nowrap}.retail-reset[data-v-db351ce9]{background:#fff;border:1px solid #d1d5db;color:#475569}.retail-search[data-v-db351ce9]{background:#2563eb;border:1px solid #2563eb;color:#fff}
.retail-query-list-card[data-v-db351ce9], .retail-detail-card[data-v-db351ce9] { margin-bottom:16px; overflow:hidden; border:1px solid #e2e8f0; border-radius:14px; box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.retail-query-page table[data-v-db351ce9] { width:100%; min-width:900px; border-collapse:collapse; line-height:1.45;
}
.retail-query-page th[data-v-db351ce9], .retail-query-page td[data-v-db351ce9] { padding:10px 12px; border-bottom:1px solid #eef0f3; text-align:left; white-space:nowrap; font-size:13px;
}
.retail-query-page th[data-v-db351ce9] { color:#475569; font-weight:600;
}
.section-heading[data-v-db351ce9] { display:flex; align-items:center; justify-content:space-between; padding:15px 18px; border-bottom:1px solid #e8edf3; background:#fff;
}
.section-heading div[data-v-db351ce9] { display:flex; align-items:baseline; gap:10px;
}
.section-heading strong[data-v-db351ce9] { font-size:16px; line-height:1.4;
}
.section-heading div span[data-v-db351ce9] { color:#94a3b8; font-size:12px;
}
.type-badge[data-v-db351ce9] { display:inline-flex; align-items:center; padding:4px 9px; border-radius:999px; background:#eff6ff; color:#2563eb; font-size:12px; font-weight:700;
}
.selected-retail-order[data-v-db351ce9] { background:#eff6ff !important; box-shadow:inset 3px 0 0 #2563eb;
}
.retail-query-list-card tbody tr[data-v-db351ce9] { cursor:pointer; transition:background .15s ease, transform .15s ease;
}
.retail-query-list-card tbody tr[data-v-db351ce9]:hover { background:#f8fbff;
}
.retail-query-list-card tbody td[data-v-db351ce9] { padding-top:10px; padding-bottom:10px;
}
.sales-no[data-v-db351ce9] { font-weight:700; color:#1e40af;
}
.status-badge[data-v-db351ce9] { display:inline-flex; padding:4px 9px; border-radius:999px; font-size:12px; font-weight:600;
}
.status-badge.done[data-v-db351ce9] { background:#ecfdf5; color:#047857;
}
.status-badge.pending[data-v-db351ce9] { background:#fff7ed; color:#c2410c;
}
.detail-title[data-v-db351ce9] { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; border-bottom:1px solid #e8edf3; background:#fff;
}
.detail-title > div[data-v-db351ce9]:first-child { display:flex; flex-direction:column; gap:5px;
}
.detail-title span[data-v-db351ce9] { color:#64748b; font-size:13px; line-height:1.45;
}
.detail-code[data-v-db351ce9] { font-weight:800; font-size:17px; color:#172033;
}
.detail-meta[data-v-db351ce9] { display:flex; align-items:center; gap:12px;
}
.detail-meta strong[data-v-db351ce9] { font-size:16px; color:#172033;
}
.retail-detail-card table th[data-v-db351ce9] { background:#f8fafc;
}
.retail-detail-card tbody tr[data-v-db351ce9]:hover { background:#fbfdff;
}
.retail-detail-empty[data-v-db351ce9] { padding:54px 20px; text-align:center; color:#94a3b8; background:#fff;
}
@media (max-width: 720px) {
.retail-query-page[data-v-db351ce9] { padding:14px;
}
.retail-query-header[data-v-db351ce9] { align-items:flex-start;
}
.query-count-card[data-v-db351ce9] { min-width:105px;
}
.detail-title[data-v-db351ce9] { align-items:flex-start;
}
.detail-meta[data-v-db351ce9] { flex-direction:column; align-items:flex-end;
}
}

.retail-filter label.retail-customer-filter[data-v-db351ce9]{position:relative}.retail-customer-filter input[data-v-db351ce9]{width:210px}.retail-customer-dropdown[data-v-db351ce9]{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:240px;overflow:auto;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 6px 18px #0f172a22}.retail-customer-dropdown button[data-v-db351ce9]{display:block;width:100%;height:auto;padding:8px 10px;border:0;border-radius:0;background:#fff;color:#334155;text-align:left;cursor:pointer}.retail-customer-dropdown button.highlighted[data-v-db351ce9],.retail-customer-dropdown button[data-v-db351ce9]:hover{background:#eff6ff}
.retail-query-empty-state[data-v-db351ce9]{min-height:180px;display:flex;align-items:center;justify-content:center;color:#94a3b8;background:#fff;border:1px dashed #dbe2ea;border-radius:12px}

@media(max-width:720px){
.retail-query-header[data-v-db351ce9] { flex-direction:column; gap:10px;
}
.retail-query-header h1[data-v-db351ce9] { font-size:20px;
}
.retail-query-header p[data-v-db351ce9] { font-size:11px;
}
.retail-filter[data-v-db351ce9] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; width:100%; padding:10px;
}
.retail-filter label[data-v-db351ce9] { min-width:0;
}
.retail-filter input[data-v-db351ce9] { box-sizing:border-box; width:100%; min-width:0; height:38px;
}
.retail-customer-filter[data-v-db351ce9] { grid-column:1 / -1;
}
.retail-filter button[data-v-db351ce9] { min-height:36px; padding:0 9px;
}
.section-heading[data-v-db351ce9] { flex-wrap:wrap; gap:7px;
}
.table-wrap[data-v-db351ce9] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
}

.receipt-tools[data-v-4f0d206d]{display:flex;align-items:center;gap:14px}.receipt-tools label[data-v-4f0d206d]{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.receipt-tools select[data-v-4f0d206d]{height:30px;padding:0 7px;border:1px solid #d1d5db;border-radius:5px;background:#fff;color:#374151}.link[data-v-4f0d206d]{border:0;padding:0;background:transparent;color:#2563eb;font:inherit;cursor:pointer}.link[data-v-4f0d206d]:hover{text-decoration:underline}.debt-cell[data-v-4f0d206d]{color:#dc2626;font-weight:700}
[data-v-4f0d206d]{box-sizing:border-box}.receivable-page[data-v-4f0d206d]{min-height:calc(100vh - 58px);padding:24px;background:#f5f7fa}.page-header[data-v-4f0d206d]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.page-header h1[data-v-4f0d206d]{margin:0 0 6px;font-size:24px}.page-header p[data-v-4f0d206d]{margin:0;color:#6b7280}.finance-header-tools[data-v-4f0d206d]{display:flex;align-items:center;gap:9px}.customer-search[data-v-4f0d206d]{height:38px;width:min(300px,40vw);padding:0 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.card[data-v-4f0d206d]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:16px}.card-title-row[data-v-4f0d206d]{padding:14px 16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;gap:12px}.card-title-row div[data-v-4f0d206d]{display:flex;gap:12px;align-items:center}.card-title-row span[data-v-4f0d206d]{color:#6b7280;font-size:12px}.table-wrap[data-v-4f0d206d]{overflow-x:auto}table[data-v-4f0d206d]{width:100%;border-collapse:collapse;min-width:900px}th[data-v-4f0d206d],td[data-v-4f0d206d]{padding:10px 12px;border-bottom:1px solid #eef0f3;text-align:left;white-space:nowrap;font-size:13px}th[data-v-4f0d206d]{background:#f8fafc}.selected[data-v-4f0d206d]{background:#eff6ff}.customer-card tbody tr[data-v-4f0d206d]{cursor:pointer;transition:background .15s}.customer-card tbody tr[data-v-4f0d206d]:hover{background:#f8fafc}.select-hint[data-v-4f0d206d]{color:#2563eb;font-weight:600}.debt-cell[data-v-4f0d206d]{font-weight:700}.empty[data-v-4f0d206d]{text-align:center;color:#9ca3af;padding:28px}.primary[data-v-4f0d206d],.secondary[data-v-4f0d206d]{border-radius:6px;padding:9px 15px;cursor:pointer}.primary[data-v-4f0d206d]{background:#2563eb;color:#fff;border:1px solid #2563eb}.primary[data-v-4f0d206d]:disabled{opacity:.5;cursor:not-allowed}.secondary[data-v-4f0d206d]{background:#fff;border:1px solid #d1d5db}.section-card[data-v-4f0d206d]{margin-bottom:16px}.responsive-pagination[data-v-4f0d206d]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;color:#64748b;font-size:12px}.responsive-pagination>div[data-v-4f0d206d]{display:flex;gap:5px}.responsive-pagination button[data-v-4f0d206d]{padding:6px 9px;border:1px solid #d1d5db;border-radius:5px;background:white;color:#475569;cursor:pointer}.responsive-pagination button.active[data-v-4f0d206d]{border-color:#2563eb;background:#eff6ff;color:#2563eb}.responsive-pagination button[data-v-4f0d206d]:disabled{opacity:.45;cursor:not-allowed}.modal-mask[data-v-4f0d206d]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal[data-v-4f0d206d]{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:12px}.modal header[data-v-4f0d206d]{padding:18px 20px;display:flex;justify-content:space-between;border-bottom:1px solid #e5e7eb}.modal header h2[data-v-4f0d206d]{margin:0 0 5px}.modal header p[data-v-4f0d206d]{margin:0;color:#6b7280;font-size:13px}.modal header button[data-v-4f0d206d]{border:0;background:transparent;font-size:24px;cursor:pointer}.receipt-form[data-v-4f0d206d]{padding:18px 20px;display:grid;gap:12px}.receipt-form label[data-v-4f0d206d]{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px}.receipt-form input[data-v-4f0d206d],.receipt-form select[data-v-4f0d206d]{height:38px;border:1px solid #d1d5db;border-radius:6px;padding:0 10px}.allocation-section[data-v-4f0d206d]{margin:0 20px 16px;border:1px solid #e5e7eb;border-radius:8px}.allocation-head[data-v-4f0d206d]{padding:12px;display:flex;justify-content:space-between}.allocation-head span[data-v-4f0d206d]{color:#6b7280;font-size:12px}.allocation-options[data-v-4f0d206d]{display:flex;gap:18px;padding:10px 12px;border-top:1px solid #e5e7eb}.specific-list[data-v-4f0d206d]{border-top:1px solid #e5e7eb}.specific-row[data-v-4f0d206d]{display:grid;grid-template-columns:24px 1fr 1fr;padding:10px 12px;border-bottom:1px solid #f1f5f9}.error[data-v-4f0d206d]{margin:0 20px 12px;padding:9px 12px;background:#fef2f2;color:#b91c1c;border-radius:6px}.modal-actions[data-v-4f0d206d]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e5e7eb}.notice[data-v-4f0d206d]{position:fixed;right:22px;bottom:22px;background:#111827;color:#fff;padding:11px 16px;border-radius:7px;z-index:200}@media(max-width:800px){.page-header[data-v-4f0d206d]{flex-direction:column}.finance-header-tools[data-v-4f0d206d]{width:100%}.customer-search[data-v-4f0d206d]{flex:1;width:auto}}

@media(max-width:800px){
.receivable-page[data-v-4f0d206d] { padding:12px;
}
.page-header[data-v-4f0d206d] { gap:8px; margin-bottom:10px;
}
.page-header h1[data-v-4f0d206d] { font-size:20px;
}
.page-header p[data-v-4f0d206d] { font-size:11px;
}
.finance-header-tools[data-v-4f0d206d] { gap:7px;
}
.finance-header-tools .customer-search[data-v-4f0d206d] { box-sizing:border-box; min-width:0; height:38px; padding:0 9px; font-size:13px;
}
.finance-header-tools .primary[data-v-4f0d206d] { min-height:38px; padding:0 10px; white-space:nowrap; font-size:12px;
}
.card[data-v-4f0d206d] { margin-bottom:10px; border-radius:9px;
}
.card-title-row[data-v-4f0d206d] { flex-wrap:wrap; gap:6px; padding:10px 11px;
}
.card-title-row div[data-v-4f0d206d] { min-width:0; flex-wrap:wrap; gap:4px 8px;
}
.card-title-row span[data-v-4f0d206d] { font-size:11px;
}
.table-wrap[data-v-4f0d206d] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.modal-mask[data-v-4f0d206d] { padding:8px;
}
.modal[data-v-4f0d206d] { width:100%; max-height:calc(100dvh - 16px); border-radius:14px;
}
.modal header[data-v-4f0d206d] { padding:13px 14px;
}
.receipt-form[data-v-4f0d206d] { padding:12px 14px; gap:9px;
}
.receipt-form label[data-v-4f0d206d] { grid-template-columns:78px minmax(0,1fr); gap:7px;
}
.allocation-section[data-v-4f0d206d] { margin:0 12px 12px;
}
.allocation-options[data-v-4f0d206d] { flex-wrap:wrap; gap:8px 14px;
}
.modal-actions[data-v-4f0d206d] { flex-wrap:wrap; padding:12px 14px;
}
}

[data-v-b3baa6c2]{box-sizing:border-box}.statement-page[data-v-b3baa6c2]{min-height:calc(100vh - 58px);padding:24px;background:#f5f7fa}.page-header[data-v-b3baa6c2]{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.page-header h1[data-v-b3baa6c2]{margin:0 0 6px;font-size:24px}.page-header p[data-v-b3baa6c2]{margin:0;color:#6b7280}.statement-tools[data-v-b3baa6c2]{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.customer-lookup[data-v-b3baa6c2]{position:relative}.customer-lookup input[data-v-b3baa6c2],.statement-date input[data-v-b3baa6c2]{height:36px;padding:0 9px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.customer-lookup input[data-v-b3baa6c2]{min-width:220px}.statement-date[data-v-b3baa6c2]{display:flex;flex-direction:column;gap:4px;color:#64748b;font-size:11px}.customer-options[data-v-b3baa6c2]{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:10;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 6px 18px #0f172a22;max-height:250px;overflow:auto}.customer-options button[data-v-b3baa6c2]{display:flex;width:100%;gap:9px;padding:8px 10px;border:0;border-bottom:1px solid #eef2f7;background:#fff;text-align:left;cursor:pointer}.customer-options b[data-v-b3baa6c2]{color:#2563eb}.customer-options span[data-v-b3baa6c2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-customer-match[data-v-b3baa6c2]{padding:10px;color:#94a3b8;font-size:12px}.card[data-v-b3baa6c2]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:16px}.customer-select[data-v-b3baa6c2]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:18px;padding:14px 16px}.customer-select div[data-v-b3baa6c2]{display:flex;flex-direction:column;gap:4px}.customer-select span[data-v-b3baa6c2],.customer-select small[data-v-b3baa6c2]{color:#6b7280;font-size:12px}.customer-select strong[data-v-b3baa6c2]{font-size:16px}.customer-select .debt[data-v-b3baa6c2]{font-size:20px}.card-title-row[data-v-b3baa6c2]{padding:14px 16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between}.card-title-row div[data-v-b3baa6c2]{display:flex;gap:12px}.card-title-row span[data-v-b3baa6c2]{color:#6b7280;font-size:12px}.table-wrap[data-v-b3baa6c2]{overflow-x:auto}table[data-v-b3baa6c2]{width:100%;border-collapse:collapse;min-width:900px}th[data-v-b3baa6c2],td[data-v-b3baa6c2]{padding:10px 12px;border-bottom:1px solid #eef0f3;text-align:left;white-space:nowrap;font-size:13px}th[data-v-b3baa6c2]{background:#f8fafc}.num[data-v-b3baa6c2]{text-align:right}.payment[data-v-b3baa6c2]{font-weight:600}.balance[data-v-b3baa6c2]{font-weight:700}.empty[data-v-b3baa6c2],.empty-state[data-v-b3baa6c2]{text-align:center;color:#9ca3af;padding:35px}.secondary[data-v-b3baa6c2]{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 13px;cursor:pointer}.secondary[data-v-b3baa6c2]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.page-header[data-v-b3baa6c2]{flex-direction:column}.statement-tools[data-v-b3baa6c2]{width:100%}}@media print{.statement-page[data-v-b3baa6c2]{padding:0;background:#fff}.page-header .secondary[data-v-b3baa6c2]{display:none}.statement-tools[data-v-b3baa6c2]{display:none}.customer-select[data-v-b3baa6c2]{border:0}.card[data-v-b3baa6c2]{border:0}.page-header[data-v-b3baa6c2]{margin-bottom:10px}}

@media(max-width:760px){
.statement-page[data-v-b3baa6c2] { padding:12px;
}
.page-header[data-v-b3baa6c2] { gap:8px; margin-bottom:10px;
}
.page-header h1[data-v-b3baa6c2] { font-size:20px;
}
.page-header p[data-v-b3baa6c2] { font-size:11px;
}
.statement-tools[data-v-b3baa6c2] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;
}
.customer-lookup[data-v-b3baa6c2] { grid-column:1 / -1; min-width:0;
}
.customer-lookup input[data-v-b3baa6c2] { box-sizing:border-box; width:100%; min-width:0;
}
.statement-date input[data-v-b3baa6c2] { box-sizing:border-box; width:100%; min-width:0;
}
.statement-tools .secondary[data-v-b3baa6c2] { min-height:36px; align-self:end;
}
.customer-select[data-v-b3baa6c2] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:11px;
}
.customer-select > div[data-v-b3baa6c2]:first-child { grid-column:1 / -1;
}
.customer-select strong[data-v-b3baa6c2] { font-size:14px; overflow-wrap:anywhere;
}
.customer-select .debt[data-v-b3baa6c2] { font-size:16px;
}
.card-title-row[data-v-b3baa6c2] { align-items:flex-start; flex-wrap:wrap; gap:6px; padding:11px 12px;
}
.table-wrap[data-v-b3baa6c2] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
}

.dashboard-page[data-v-e93856e9]{max-width:1500px;margin:0 auto;padding-bottom:24px}.dashboard-heading[data-v-e93856e9]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.dashboard-heading h1[data-v-e93856e9]{margin:0 0 5px;font-size:26px;color:#172033}.dashboard-heading p[data-v-e93856e9]{margin:0;color:#8a97a8;font-size:13px}.refresh-btn[data-v-e93856e9]{border:1px solid #d7e0ec;background:#fff;color:#334155;padding:8px 14px;border-radius:8px;cursor:pointer}.dashboard-layout[data-v-e93856e9]{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px}.dashboard-main-column[data-v-e93856e9],.dashboard-side-column[data-v-e93856e9]{min-width:0}.dashboard-side-column[data-v-e93856e9]{display:flex;flex-direction:column;gap:16px}.section-card[data-v-e93856e9]{background:#fff;border:1px solid #e4eaf2;border-radius:12px;box-shadow:0 3px 16px rgba(15,35,70,.045)}.overview-card[data-v-e93856e9]{padding:18px}.section-head[data-v-e93856e9]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.section-head strong[data-v-e93856e9]{display:block;font-size:16px;color:#172033}.section-head span[data-v-e93856e9]{display:block;margin-top:4px;color:#94a3b8;font-size:12px}.today-label[data-v-e93856e9]{white-space:nowrap;color:#64748b!important}.metric-grid[data-v-e93856e9]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-card[data-v-e93856e9]{min-width:0;border:1px solid #e7edf5;border-radius:10px;background:#fff;padding:16px;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 2px 9px rgba(15,35,70,.035)}.metric-card[data-v-e93856e9]:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,35,70,.08);border-color:#cdd9e8}.metric-top[data-v-e93856e9]{display:flex;justify-content:space-between;align-items:center;color:#64748b;font-size:13px}.metric-icon[data-v-e93856e9],.todo-icon[data-v-e93856e9],.quick-icon[data-v-e93856e9]{display:grid;place-items:center;font-weight:700}.metric-icon[data-v-e93856e9]{width:32px;height:32px;border-radius:9px}.metric-card>strong[data-v-e93856e9]{display:block;margin-top:12px;font-size:22px;color:#111827;overflow-wrap:anywhere}.metric-card>small[data-v-e93856e9]{display:block;margin-top:8px;color:#94a3b8;font-size:11px}.metric-card.blue .metric-icon[data-v-e93856e9],.blue-icon[data-v-e93856e9]{background:#eaf2ff;color:#2563eb}.metric-card.green .metric-icon[data-v-e93856e9],.green-icon[data-v-e93856e9]{background:#e9fbf2;color:#0f9f63}.metric-card.purple .metric-icon[data-v-e93856e9],.purple-icon[data-v-e93856e9]{background:#f2ebff;color:#7c3aed}.metric-card.orange .metric-icon[data-v-e93856e9],.orange-icon[data-v-e93856e9]{background:#fff3e6;color:#ea7a12}.trend-card[data-v-e93856e9]{margin-top:16px;padding:16px;border:1px solid #edf1f6;border-radius:10px;background:#fbfcfe}.trend-head[data-v-e93856e9]{display:flex;justify-content:space-between;gap:12px}.trend-head strong[data-v-e93856e9]{font-size:14px;color:#25334a}.trend-head span[data-v-e93856e9]{display:block;margin-top:4px;color:#94a3b8;font-size:11px}.chart-wrap[data-v-e93856e9]{position:relative;height:225px;margin-top:4px}.chart-wrap svg[data-v-e93856e9]{width:100%;height:100%;display:block}.chart-empty[data-v-e93856e9]{position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;font-size:12px}.todo-card[data-v-e93856e9],.quick-card[data-v-e93856e9],.notice-card[data-v-e93856e9]{padding:17px}.todo-card .section-head[data-v-e93856e9],.quick-card .section-head[data-v-e93856e9],.notice-card .section-head[data-v-e93856e9]{margin-bottom:7px}.todo-card button[data-v-e93856e9]{width:100%;border:0;background:transparent;padding:11px 2px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;text-align:left;color:#475569;cursor:pointer;border-bottom:1px solid #eef2f7}.todo-card button[data-v-e93856e9]:last-child{border-bottom:0}.todo-card button[data-v-e93856e9]:hover{background:#f8fafc}.todo-card button strong[data-v-e93856e9]{color:#1e3a66;font-size:15px}.todo-icon[data-v-e93856e9]{width:30px;height:30px;border-radius:8px;font-size:12px}.red-icon[data-v-e93856e9]{background:#fff0f0;color:#dc2626}.quick-grid[data-v-e93856e9]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button[data-v-e93856e9]{border:1px solid #e8edf4;background:#fbfcfe;border-radius:9px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#475569;cursor:pointer;font-size:12px}.quick-grid button[data-v-e93856e9]:hover{border-color:#cbd9eb;background:#fff}.quick-icon[data-v-e93856e9]{width:34px;height:34px;border-radius:9px}.notice-row[data-v-e93856e9]{display:flex;gap:8px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #eef2f7;color:#64748b;font-size:12px;line-height:1.5}.notice-row[data-v-e93856e9]:last-child{border-bottom:0}.notice-tag[data-v-e93856e9]{flex:0 0 auto;padding:2px 5px;border-radius:4px;background:#eaf2ff;color:#2563eb;font-size:10px}.notice-tag.normal[data-v-e93856e9]{background:#f3f5f8;color:#64748b}.heading-actions[data-v-e93856e9]{display:flex;align-items:center;gap:8px}.compact-module-search[data-v-e93856e9]{position:relative;width:220px;height:36px}.compact-module-search>span[data-v-e93856e9]{position:absolute;left:11px;top:8px;color:#94a3b8;font-size:15px}.compact-module-search input[data-v-e93856e9]{width:100%;height:36px;border:1px solid #dbe3ed;border-radius:8px;background:#fff;padding:0 11px 0 31px;outline:none;font-size:12px;color:#334155}.compact-module-search input[data-v-e93856e9]:focus{border-color:#93b4e8;box-shadow:0 0 0 3px rgba(37,99,235,.06)}.compact-match-list[data-v-e93856e9]{position:absolute;top:41px;left:0;right:0;background:#fff;border:1px solid #e1e7ef;border-radius:8px;box-shadow:0 10px 24px rgba(15,35,70,.10);overflow:hidden;z-index:20}.compact-match-list button[data-v-e93856e9]{display:block;width:100%;padding:9px 11px;border:0;background:#fff;text-align:left;color:#334155;font-size:12px;cursor:pointer}.compact-match-list button[data-v-e93856e9]:hover{background:#f5f8fc;color:#2563eb}.compact-no-match[data-v-e93856e9]{position:absolute;top:41px;left:0;right:0;padding:9px 11px;background:#fff;border:1px solid #e1e7ef;border-radius:8px;box-shadow:0 10px 24px rgba(15,35,70,.10);color:#94a3b8;font-size:12px;z-index:20}.dashboard-error[data-v-e93856e9]{margin-bottom:14px;padding:10px 12px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px}@media(max-width:1050px){.dashboard-layout[data-v-e93856e9]{grid-template-columns:1fr}.dashboard-side-column[data-v-e93856e9]{display:grid;grid-template-columns:repeat(3,1fr)}.metric-grid[data-v-e93856e9]{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.dashboard-side-column[data-v-e93856e9]{grid-template-columns:1fr}.metric-grid[data-v-e93856e9]{grid-template-columns:1fr}.dashboard-heading[data-v-e93856e9]{align-items:flex-start}.heading-actions[data-v-e93856e9]{width:100%;justify-content:flex-end}.compact-module-search[data-v-e93856e9]{width:190px}}

.chart-empty[data-v-e93856e9]{padding:24px 8px;text-align:center;color:#94a3b8;font-size:12px}
.category-donut-grid[data-v-e93856e9]{margin-top:16px}
.category-donut-card[data-v-e93856e9]{padding:14px;border:1px solid #edf1f6;border-radius:10px;background:#fff}
.category-donut-content[data-v-e93856e9]{display:flex;align-items:center;justify-content:center;gap:28px;max-width:760px;margin:0 auto}
.category-donut[data-v-e93856e9]{width:210px;height:210px;flex:0 0 210px;overflow:visible}
.donut-center-label[data-v-e93856e9]{fill:#64748b;font-size:5px}
.donut-center-total[data-v-e93856e9]{fill:#172033;font-size:7px;font-weight:700}
.category-donut-legend[data-v-e93856e9]{list-style:none;display:grid;grid-template-columns:1fr;gap:8px;min-width:220px;max-height:210px;overflow:auto;padding:0;margin:0}
.category-donut-legend li[data-v-e93856e9]{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;color:#475569}
.category-donut-legend li i[data-v-e93856e9]{width:9px;height:9px;border-radius:3px}
.category-donut-legend li span[data-v-e93856e9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-donut-legend li strong[data-v-e93856e9]{color:#172033;font-size:11px;white-space:nowrap}
.ranking-list[data-v-e93856e9]{list-style:none;padding:0;margin:8px 0 0}
.ranking-list li[data-v-e93856e9]{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf1f6;font-size:12px;color:#475569}
.ranking-list li[data-v-e93856e9]:last-child{border-bottom:0}
.ranking-list b[data-v-e93856e9]{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#eff6ff;color:#2563eb}
.ranking-list li:nth-child(-n+3) b[data-v-e93856e9]{background:#fef3c7;color:#b45309}
.ranking-list li span[data-v-e93856e9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranking-list li strong[data-v-e93856e9]{color:#172033;white-space:nowrap}
@media(max-width:700px){.category-donut-content[data-v-e93856e9]{flex-direction:column;gap:16px}.category-donut[data-v-e93856e9]{width:180px;height:180px;flex-basis:180px}.category-donut-legend[data-v-e93856e9]{width:100%;min-width:0;max-height:180px}}

.reports-page[data-v-92e0d3a0]{max-width:1500px;margin:0 auto}.page-header[data-v-92e0d3a0]{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.page-header h1[data-v-92e0d3a0]{margin:0 0 6px;font-size:28px}.page-header p[data-v-92e0d3a0]{margin:0;color:#6b7280}.filter-card[data-v-92e0d3a0]{display:flex;gap:12px;align-items:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:16px}.primary[data-v-92e0d3a0]{height:38px;border:0;border-radius:7px;background:#2563eb;color:#fff;padding:0 18px;cursor:pointer}.summary-grid[data-v-92e0d3a0]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.summary-grid>div[data-v-92e0d3a0]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.summary-grid span[data-v-92e0d3a0]{display:block;color:#64748b;font-size:13px}.summary-grid strong[data-v-92e0d3a0]{display:block;margin-top:7px;font-size:22px;color:#111827}.negative[data-v-92e0d3a0]{color:#dc2626!important}.table-card[data-v-92e0d3a0]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.table-head[data-v-92e0d3a0]{padding:16px 18px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between}.table-head span[data-v-92e0d3a0]{color:#94a3b8;font-size:12px}.table-wrap[data-v-92e0d3a0]{overflow:auto}table[data-v-92e0d3a0]{width:100%;border-collapse:collapse}th[data-v-92e0d3a0],td[data-v-92e0d3a0]{padding:13px 14px;border-bottom:1px solid #eef2f7;text-align:left;font-size:13px;white-space:nowrap}th[data-v-92e0d3a0]{background:#f8fafc;color:#64748b}.empty[data-v-92e0d3a0]{text-align:center;color:#94a3b8;padding:30px}.error[data-v-92e0d3a0]{margin-bottom:16px;padding:12px 14px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px}@media(max-width:800px){.page-header[data-v-92e0d3a0]{flex-direction:column;align-items:flex-start}.summary-grid[data-v-92e0d3a0]{grid-template-columns:1fr 1fr}}@media(max-width:500px){.summary-grid[data-v-92e0d3a0]{grid-template-columns:1fr}}
.reports-page[data-v-92e0d3a0]{max-width:1500px;margin:0 auto}.page-header[data-v-92e0d3a0]{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.page-header h1[data-v-92e0d3a0]{margin:0 0 6px;font-size:28px}.page-header p[data-v-92e0d3a0]{margin:0;color:#6b7280}.report-filter[data-v-92e0d3a0]{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:13px 16px;margin-bottom:16px}.report-filter label[data-v-92e0d3a0]{display:flex;flex-direction:column;gap:5px;color:#64748b;font-size:12px}.report-filter input[data-v-92e0d3a0]{height:36px;min-width:160px;padding:0 9px;border:1px solid #d1d5db;border-radius:6px}.primary[data-v-92e0d3a0]{height:38px;border:0;border-radius:7px;background:#2563eb;color:#fff;padding:0 18px;cursor:pointer}.primary[data-v-92e0d3a0]:disabled{opacity:.55;cursor:not-allowed}.summary-grid[data-v-92e0d3a0]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.summary-grid>div[data-v-92e0d3a0]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.summary-grid span[data-v-92e0d3a0]{display:block;color:#64748b;font-size:13px}.summary-grid strong[data-v-92e0d3a0]{display:block;margin-top:7px;font-size:22px;color:#111827}.negative[data-v-92e0d3a0]{color:#dc2626!important}.table-card[data-v-92e0d3a0]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.table-head[data-v-92e0d3a0]{padding:16px 18px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between}.table-head span[data-v-92e0d3a0]{color:#94a3b8;font-size:12px}.table-wrap[data-v-92e0d3a0]{overflow:auto}table[data-v-92e0d3a0]{width:100%;border-collapse:collapse}th[data-v-92e0d3a0],td[data-v-92e0d3a0]{padding:13px 14px;border-bottom:1px solid #eef2f7;text-align:left;font-size:13px;white-space:nowrap}th[data-v-92e0d3a0]{background:#f8fafc;color:#64748b}.empty[data-v-92e0d3a0]{text-align:center;color:#94a3b8;padding:30px}.error[data-v-92e0d3a0]{margin-bottom:16px;padding:12px 14px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px}@media(max-width:800px){.page-header[data-v-92e0d3a0]{flex-direction:column;align-items:flex-start}.summary-grid[data-v-92e0d3a0]{grid-template-columns:1fr 1fr}}@media(max-width:500px){.summary-grid[data-v-92e0d3a0]{grid-template-columns:1fr}}
.total-row th[data-v-92e0d3a0],.total-row td[data-v-92e0d3a0]{background:#f1f5f9;color:#172033;font-weight:700;border-top:2px solid #cbd5e1}.summary-grid.cost-summary[data-v-92e0d3a0]{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1050px){.summary-grid.cost-summary[data-v-92e0d3a0]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
.page-header h1[data-v-92e0d3a0] { font-size:20px;
}
.page-header p[data-v-92e0d3a0] { font-size:11px;
}
.report-filter[data-v-92e0d3a0] { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; margin-bottom:10px; padding:10px;
}
.report-filter label[data-v-92e0d3a0] { min-width:0;
}
.report-filter input[data-v-92e0d3a0] { box-sizing:border-box; width:100%; min-width:0; height:38px;
}
.report-filter .primary[data-v-92e0d3a0] { min-height:38px; padding:0 12px;
}
.summary-grid[data-v-92e0d3a0] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:10px;
}
.summary-grid>div[data-v-92e0d3a0] { min-width:0; padding:10px; border-radius:9px;
}
.summary-grid span[data-v-92e0d3a0] { font-size:11px; line-height:1.3;
}
.summary-grid strong[data-v-92e0d3a0] { margin-top:5px; font-size:16px; overflow-wrap:anywhere;
}
.summary-grid.cost-summary[data-v-92e0d3a0] { grid-template-columns:repeat(2,minmax(0,1fr));
}
.table-head[data-v-92e0d3a0] { align-items:flex-start; flex-wrap:wrap; gap:5px 10px; padding:11px 12px;
}
.table-wrap[data-v-92e0d3a0] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
}

.reports-page[data-v-dd795fbb]{max-width:1500px;margin:0 auto}.page-header[data-v-dd795fbb]{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.page-header h1[data-v-dd795fbb]{margin:0 0 6px;font-size:28px}.page-header p[data-v-dd795fbb]{margin:0;color:#6b7280}.customer-report-filter[data-v-dd795fbb]{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:13px 16px;margin-bottom:16px}.customer-report-filter label[data-v-dd795fbb]{display:flex;flex-direction:column;gap:5px;color:#64748b;font-size:12px}.customer-report-filter input[data-v-dd795fbb],.customer-report-filter select[data-v-dd795fbb]{height:36px;min-width:145px;padding:0 9px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.primary[data-v-dd795fbb]{height:38px;border:0;border-radius:7px;background:#2563eb;color:#fff;padding:0 18px;cursor:pointer}.primary[data-v-dd795fbb]:disabled{opacity:.6}.summary-grid[data-v-dd795fbb]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.summary-grid>div[data-v-dd795fbb]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.summary-grid span[data-v-dd795fbb]{display:block;color:#64748b;font-size:13px}.summary-grid strong[data-v-dd795fbb]{display:block;margin-top:7px;font-size:22px;color:#111827}.negative[data-v-dd795fbb]{color:#dc2626!important}.table-card[data-v-dd795fbb]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.table-head[data-v-dd795fbb]{padding:16px 18px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between}.table-head span[data-v-dd795fbb]{color:#94a3b8;font-size:12px}.table-wrap[data-v-dd795fbb]{overflow:auto}table[data-v-dd795fbb]{width:100%;border-collapse:collapse}th[data-v-dd795fbb],td[data-v-dd795fbb]{padding:13px 14px;border-bottom:1px solid #eef2f7;text-align:left;font-size:13px;white-space:nowrap}th[data-v-dd795fbb]{background:#f8fafc;color:#64748b}.empty[data-v-dd795fbb]{text-align:center;color:#94a3b8;padding:30px}.error[data-v-dd795fbb]{margin-bottom:16px;padding:12px 14px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px}@media(max-width:800px){.page-header[data-v-dd795fbb]{flex-direction:column;align-items:flex-start}.summary-grid[data-v-dd795fbb]{grid-template-columns:1fr 1fr}}@media(max-width:500px){.summary-grid[data-v-dd795fbb]{grid-template-columns:1fr}}
.total-row th[data-v-dd795fbb],.total-row td[data-v-dd795fbb]{background:#f1f5f9;color:#172033;font-weight:700;border-top:2px solid #cbd5e1}.summary-grid.cost-summary[data-v-dd795fbb]{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1050px){.summary-grid.cost-summary[data-v-dd795fbb]{grid-template-columns:repeat(3,minmax(0,1fr))}}
.customer-report-filter label[data-v-dd795fbb]{position:relative}.customer-filter-label input[data-v-dd795fbb]{width:230px}.customer-dropdown[data-v-dd795fbb]{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:240px;overflow:auto;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 6px 18px #0f172a22}.customer-dropdown button[data-v-dd795fbb]{display:block;width:100%;height:auto;padding:8px 10px;border:0;border-radius:0;background:#fff;color:#334155;text-align:left;cursor:pointer}.customer-dropdown button.highlighted[data-v-dd795fbb],.customer-dropdown button[data-v-dd795fbb]:hover{background:#eff6ff}

@media(max-width:800px){
.page-header h1[data-v-dd795fbb] { font-size:20px;
}
.page-header p[data-v-dd795fbb] { font-size:11px;
}
.customer-report-filter[data-v-dd795fbb] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; padding:10px;
}
.customer-report-filter label[data-v-dd795fbb] { min-width:0;
}
.customer-report-filter input[data-v-dd795fbb],.customer-report-filter select[data-v-dd795fbb] { box-sizing:border-box; width:100%; min-width:0; height:38px;
}
.customer-filter-label[data-v-dd795fbb] { grid-column:1 / -1;
}
.customer-report-filter .primary[data-v-dd795fbb] { min-height:38px; padding:0 12px;
}
.summary-grid[data-v-dd795fbb] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:10px;
}
.summary-grid>div[data-v-dd795fbb] { min-width:0; padding:10px; border-radius:9px;
}
.summary-grid span[data-v-dd795fbb] { font-size:11px; line-height:1.3;
}
.summary-grid strong[data-v-dd795fbb] { margin-top:5px; font-size:16px; overflow-wrap:anywhere;
}
.summary-grid.cost-summary[data-v-dd795fbb] { grid-template-columns:repeat(2,minmax(0,1fr));
}
.table-head[data-v-dd795fbb] { align-items:flex-start; flex-wrap:wrap; gap:5px 10px; padding:11px 12px;
}
.table-wrap[data-v-dd795fbb] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
}

.reports-page[data-v-04a68fc9]{max-width:1500px;margin:0 auto}.page-header[data-v-04a68fc9]{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.page-header h1[data-v-04a68fc9]{margin:0 0 6px;font-size:28px}.page-header p[data-v-04a68fc9]{margin:0;color:#6b7280}.product-report-filter[data-v-04a68fc9]{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:13px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.product-report-filter label[data-v-04a68fc9]{display:flex;flex-direction:column;gap:5px;color:#64748b;font-size:12px}.product-report-filter input[data-v-04a68fc9]{height:36px;min-width:155px;padding:0 9px;border:1px solid #d1d5db;border-radius:6px}.product-report-filter button[data-v-04a68fc9]{height:36px;padding:0 16px;border:1px solid #2563eb;border-radius:6px;background:#2563eb;color:#fff;cursor:pointer}.product-report-filter button[data-v-04a68fc9]:disabled{opacity:.55}.table-card[data-v-04a68fc9]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.table-head[data-v-04a68fc9]{padding:16px 18px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;gap:12px}.table-head span[data-v-04a68fc9]{color:#94a3b8;font-size:12px;white-space:nowrap}.table-wrap[data-v-04a68fc9]{overflow:auto}table[data-v-04a68fc9]{width:100%;border-collapse:collapse}th[data-v-04a68fc9],td[data-v-04a68fc9]{padding:13px 14px;border-bottom:1px solid #eef2f7;text-align:left;font-size:13px;white-space:nowrap}th[data-v-04a68fc9]{background:#f8fafc;color:#64748b}.empty[data-v-04a68fc9]{text-align:center;color:#94a3b8;padding:30px}.negative[data-v-04a68fc9]{color:#dc2626}.error[data-v-04a68fc9]{margin-bottom:16px;padding:12px 14px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px}@media(max-width:800px){.page-header[data-v-04a68fc9]{flex-direction:column;align-items:flex-start}}
.total-row th[data-v-04a68fc9],.total-row td[data-v-04a68fc9]{background:#f1f5f9;color:#172033;font-weight:700;border-top:2px solid #cbd5e1}
@media(max-width:800px){
.page-header h1[data-v-04a68fc9] { font-size:20px;
}
.page-header p[data-v-04a68fc9] { font-size:11px;
}
.product-report-filter[data-v-04a68fc9] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; padding:10px;
}
.product-report-filter label[data-v-04a68fc9] { min-width:0;
}
.product-report-filter input[data-v-04a68fc9] { box-sizing:border-box; width:100%; min-width:0; height:38px;
}
.product-report-filter .primary[data-v-04a68fc9] { grid-column:1 / -1; min-height:38px;
}
.table-head[data-v-04a68fc9] { align-items:flex-start; flex-wrap:wrap; gap:5px 10px; padding:11px 12px;
}
.table-wrap[data-v-04a68fc9] { overflow-x:auto; -webkit-overflow-scrolling:touch;
}
}

.login-page[data-v-db40d7dc] {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
  background: #f5f7fa;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}
.login-language[data-v-db40d7dc] { position:absolute; top:20px; right:24px; display:flex; gap:4px; padding:4px; border:1px solid #dbe3ed; border-radius:8px; background:#fff;
}
.login-language button[data-v-db40d7dc] { min-width:38px; padding:6px 8px; border:0; border-radius:5px; background:transparent; color:#475569; font-size:12px; font-weight:600; cursor:pointer;
}
.login-language button.active[data-v-db40d7dc] { background:#eff6ff; color:#2563eb;
}
.login-card[data-v-db40d7dc] {
  width: 410px;
  max-width: 100%;
  padding: 36px 38px 40px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(15, 23, 42, .08);
}
.login-brand[data-v-db40d7dc] { display:flex; justify-content:center; margin-bottom:30px;
}
.login-brand img[data-v-db40d7dc] { width:260px; height:auto;
}
.login-icon[data-v-db40d7dc] {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #2563eb;
  color: #fff;
  font-size: 26px;
}
.login-title[data-v-db40d7dc] {
  font-size: 22px;
  font-weight: 700;
  color: #172033;
}
.login-subtitle[data-v-db40d7dc] {
  margin-top: 2px;
  font-size: 12px;
  color: #9ca3af;
}
.login-heading[data-v-db40d7dc] {
  margin-bottom: 22px;
}
.login-heading h1[data-v-db40d7dc] {
  margin: 0;
  color: #111827;
  font-size: 25px;
  letter-spacing: 0;
}
.login-heading p[data-v-db40d7dc] {
  margin: 7px 0 0;
  color: #6b7280;
  font-size: 13px;
}
.login-field[data-v-db40d7dc] {
  display: block;
  margin-bottom: 18px;
}
.login-field > span[data-v-db40d7dc] {
  display: block;
  margin-bottom: 7px;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
}
.login-field input[data-v-db40d7dc] {
  width: 100%;
  height: 42px;
  box-sizing: border-box;
  padding: 0 12px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  outline: none;
  color: #111827;
  background: #fff;
  font-size: 14px;
}
.login-field input[data-v-db40d7dc]:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .1);
}
.password-wrap[data-v-db40d7dc] {
  position: relative;
}
.password-wrap input[data-v-db40d7dc] {
  padding-right: 58px;
}
.password-toggle[data-v-db40d7dc] {
  position: absolute;
  right: 4px;
  top: 4px;
  height: 34px;
  border: 0;
  border-radius: 5px;
  padding: 0 9px;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
}
.password-toggle[data-v-db40d7dc]:hover {
  background: #f3f4f6;
}
.login-error[data-v-db40d7dc] {
  margin: -2px 0 14px;
  padding: 9px 11px;
  border: 1px solid #fecaca;
  border-radius: 6px;
  background: #fef2f2;
  color: #b91c1c;
  font-size: 13px;
}
.login-submit[data-v-db40d7dc] {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 7px;
  background: #2563eb;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.login-submit[data-v-db40d7dc]:hover:not(:disabled) {
  background: #1d4ed8;
}
.login-submit[data-v-db40d7dc]:disabled {
  opacity: .65;
  cursor: not-allowed;
}
@media (max-width: 520px) {
.login-page[data-v-db40d7dc] { padding: 16px;
}
.login-card[data-v-db40d7dc] { padding: 30px 24px 32px;
}
}

.initial-import[data-v-5d235781]{padding:16px}.intro[data-v-5d235781]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.intro h3[data-v-5d235781]{margin:0 0 6px}.intro p[data-v-5d235781]{margin:0;color:#6b7280;font-size:13px}.entity-select[data-v-5d235781]{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:13px}.entity-select select[data-v-5d235781]{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff}.notice[data-v-5d235781]{margin-top:14px;padding:11px 13px;border-radius:6px;background:#eff6ff;color:#1e40af;font-size:13px}.file-actions[data-v-5d235781]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.primary[data-v-5d235781],.secondary[data-v-5d235781],.file-picker[data-v-5d235781]{border:1px solid #2563eb;border-radius:6px;padding:8px 13px;cursor:pointer;font-size:13px}.primary[data-v-5d235781]{background:#2563eb;color:#fff}.primary[data-v-5d235781]:disabled{opacity:.5;cursor:not-allowed}.secondary[data-v-5d235781],.file-picker[data-v-5d235781]{background:#fff;color:#1d4ed8}.file-picker input[data-v-5d235781]{display:none}.filename[data-v-5d235781]{color:#6b7280;font-size:12px}.error[data-v-5d235781],.success[data-v-5d235781]{padding:10px 12px;border-radius:6px;margin:10px 0}.error[data-v-5d235781]{background:#fef2f2;color:#b91c1c}.success[data-v-5d235781]{background:#ecfdf5;color:#047857}.preview-summary[data-v-5d235781]{display:flex;align-items:center;gap:16px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:7px}.preview-summary button[data-v-5d235781]{margin-left:auto}.valid[data-v-5d235781]{color:#047857}.invalid[data-v-5d235781]{color:#b91c1c}.errors[data-v-5d235781],.data-preview[data-v-5d235781]{margin-top:14px;border:1px solid #e5e7eb;border-radius:7px;overflow:hidden}.errors table[data-v-5d235781],.data-preview table[data-v-5d235781]{width:100%;border-collapse:collapse;font-size:12px}.errors th[data-v-5d235781],.errors td[data-v-5d235781],.data-preview th[data-v-5d235781],.data-preview td[data-v-5d235781]{padding:8px 10px;text-align:left;border-bottom:1px solid #eef0f3}.errors th[data-v-5d235781],.data-preview th[data-v-5d235781]{background:#f8fafc;white-space:nowrap}.errors p[data-v-5d235781]{margin:10px;color:#b91c1c;font-size:12px}.preview-heading[data-v-5d235781]{padding:10px 12px;font-weight:700;border-bottom:1px solid #e5e7eb}.table-scroll[data-v-5d235781]{overflow:auto}.data-preview table[data-v-5d235781]{min-width:800px}@media(max-width:700px){.intro[data-v-5d235781]{align-items:flex-start;flex-direction:column}.preview-summary[data-v-5d235781]{flex-wrap:wrap}.preview-summary button[data-v-5d235781]{margin-left:0}}

.settings-page[data-v-88eb26bc]{padding:24px;background:#f6f8fb;min-height:calc(100vh - 60px)}
.page-header[data-v-88eb26bc]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.page-header h2[data-v-88eb26bc]{margin:0 0 6px;font-size:22px}.page-header p[data-v-88eb26bc]{margin:0;color:#6b7280;font-size:13px}.refresh[data-v-88eb26bc]{border:1px solid #d1d5db;background:#fff;padding:8px 14px;border-radius:6px;cursor:pointer}
.tabs[data-v-88eb26bc]{display:flex;gap:2px;margin-bottom:12px}.tabs button[data-v-88eb26bc]{border:1px solid #d1d5db;background:#fff;padding:10px 18px;cursor:pointer}.tabs button[data-v-88eb26bc]:first-child{border-radius:7px 0 0 7px}.tabs button[data-v-88eb26bc]:last-child{border-radius:0 7px 7px 0}.tabs button.active[data-v-88eb26bc]{background:#2563eb;border-color:#2563eb;color:#fff}
.panel-grid[data-v-88eb26bc]{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}.panel[data-v-88eb26bc]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.list-panel[data-v-88eb26bc]{overflow:hidden}.detail-panel[data-v-88eb26bc]{padding:18px;max-height:calc(100vh - 190px);overflow:auto}.panel-title[data-v-88eb26bc]{font-weight:700;padding:15px 16px;border-bottom:1px solid #eef0f3}.panel-title-row[data-v-88eb26bc]{display:flex;align-items:center;justify-content:space-between;gap:8px}.list-row[data-v-88eb26bc]{width:100%;border:0;border-bottom:1px solid #f0f1f3;background:#fff;padding:12px 16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.list-row[data-v-88eb26bc]:hover{background:#f8fafc}.list-row.selected[data-v-88eb26bc]{background:#eff6ff;border-left:3px solid #2563eb;padding-left:13px}.list-row.disabled[data-v-88eb26bc]{color:#9ca3af}.list-row small[data-v-88eb26bc],.check-row small[data-v-88eb26bc],.role-info span[data-v-88eb26bc],.user-info span[data-v-88eb26bc]{color:#9ca3af;font-size:12px}.user-info[data-v-88eb26bc],.role-info[data-v-88eb26bc]{display:flex;gap:10px;align-items:center;margin-bottom:16px}.user-info span[data-v-88eb26bc]{font-family:monospace}.check-row[data-v-88eb26bc]{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:10px 8px;border-bottom:1px solid #f3f4f6}.check-row input[data-v-88eb26bc]{width:16px;height:16px}.permission-group[data-v-88eb26bc]{margin-bottom:16px;border:1px solid #eef0f3;border-radius:8px;overflow:hidden}.group-title[data-v-88eb26bc]{padding:10px 12px;background:#f8fafc;font-weight:700}.permission-row code[data-v-88eb26bc]{color:#6b7280;font-size:11px}.actions[data-v-88eb26bc]{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.split-actions[data-v-88eb26bc]{justify-content:space-between;margin:12px 0 18px}.primary[data-v-88eb26bc],.small-primary[data-v-88eb26bc]{border:1px solid #2563eb;background:#2563eb;color:#fff;border-radius:6px;padding:9px 16px;cursor:pointer}.small-primary[data-v-88eb26bc]{padding:6px 9px;font-size:12px}.secondary[data-v-88eb26bc]{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;padding:8px 14px;cursor:pointer}.primary[data-v-88eb26bc]:disabled,.refresh[data-v-88eb26bc]:disabled{opacity:.55;cursor:not-allowed}.error[data-v-88eb26bc],.success[data-v-88eb26bc]{padding:10px 12px;border-radius:6px;margin-bottom:12px}.error[data-v-88eb26bc]{background:#fef2f2;color:#b91c1c}.success[data-v-88eb26bc]{background:#ecfdf5;color:#047857}.empty[data-v-88eb26bc]{padding:20px;color:#9ca3af}.sticky-actions[data-v-88eb26bc]{position:sticky;bottom:0;background:#fff;padding-top:12px}.section-caption[data-v-88eb26bc]{font-size:13px;font-weight:700;color:#374151;margin:20px 0 6px}.user-edit-grid[data-v-88eb26bc],.role-edit-grid[data-v-88eb26bc]{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px}.user-edit-grid label[data-v-88eb26bc],.role-edit-grid label[data-v-88eb26bc],.dialog-card>label[data-v-88eb26bc]{display:flex;flex-direction:column;gap:5px;color:#4b5563;font-size:13px}.user-edit-grid input[data-v-88eb26bc],.user-edit-grid select[data-v-88eb26bc],.role-edit-grid input[data-v-88eb26bc],.dialog-card input[data-v-88eb26bc]{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #d1d5db;border-radius:6px;background:white}.hint[data-v-88eb26bc]{color:#6b7280;font-size:12px;margin:10px 0}.dialog-backdrop[data-v-88eb26bc]{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:18px}.dialog-card[data-v-88eb26bc]{width:min(520px,100%);max-height:90vh;overflow:auto;background:white;border-radius:10px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.dialog-card h3[data-v-88eb26bc]{margin:0 0 18px}.dialog-card>label[data-v-88eb26bc]{margin:12px 0}.dialog-actions[data-v-88eb26bc]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.number-rules-panel[data-v-88eb26bc]{padding:0 16px 18px}.number-help[data-v-88eb26bc]{color:#6b7280;font-size:13px;margin:14px 0}.number-rule-table-wrap[data-v-88eb26bc]{overflow:auto}.number-rule-table[data-v-88eb26bc]{width:100%;border-collapse:collapse}.number-rule-table th[data-v-88eb26bc],.number-rule-table td[data-v-88eb26bc]{padding:10px 12px;border-bottom:1px solid #eef0f3;text-align:left;white-space:nowrap}.number-rule-table input[data-v-88eb26bc]:not([type=checkbox]){width:190px;padding:8px;border:1px solid #d1d5db;border-radius:5px}.number-rule-table input[type=checkbox][data-v-88eb26bc]{width:18px;height:18px}.number-rule-table code[data-v-88eb26bc]{font-family:monospace}
@media(max-width:800px){.panel-grid[data-v-88eb26bc]{grid-template-columns:1fr}.detail-panel[data-v-88eb26bc]{max-height:none}.user-edit-grid[data-v-88eb26bc],.role-edit-grid[data-v-88eb26bc]{grid-template-columns:1fr}.panel-title-row[data-v-88eb26bc]{flex-wrap:wrap}}
.category-panel[data-v-88eb26bc]{padding:0 16px 18px}.category-add[data-v-88eb26bc]{display:flex;gap:8px;padding:0 0 14px}.category-add input[data-v-88eb26bc],.category-row input[data-v-88eb26bc]{min-width:0;flex:1;padding:9px 10px;border:1px solid #d1d5db;border-radius:6px}.category-list[data-v-88eb26bc]{display:grid;gap:8px}.category-row[data-v-88eb26bc]{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #eef0f3;border-radius:7px}
.business-add[data-v-88eb26bc],.business-row[data-v-88eb26bc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.business-add[data-v-88eb26bc]{padding:4px 0 16px;border-bottom:1px solid #eef0f3;margin-bottom:12px}.business-add label[data-v-88eb26bc],.business-row label[data-v-88eb26bc]{display:flex;flex-direction:column;gap:5px;color:#4b5563;font-size:12px}.business-add input[data-v-88eb26bc],.business-row input[data-v-88eb26bc]{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #d1d5db;border-radius:6px}.business-row[data-v-88eb26bc]{padding:12px 0;border-bottom:1px solid #eef0f3}.business-actions[data-v-88eb26bc]{display:flex;gap:8px}
[data-v-81d11661] {
  box-sizing: border-box;
}
/*库存查询样式 */
.low-stock[data-v-81d11661]{  color:red;}
.high-stock[data-v-81d11661]{  font-weight:bold;}
.app[data-v-81d11661] {
  min-height: 100vh;
  background: #f6f8fc;
  color: #1f2937;
  display: flex;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Microsoft YaHei", sans-serif;
}
.mobile-main-nav[data-v-81d11661] { display: none;
}
.mobile-more-mask[data-v-81d11661] { display: none;
}

/* 左侧菜单 */
.sidebar[data-v-81d11661] {
  width: 230px;
  min-height: 100vh;
  background: #172033;
  color: white;
  flex-shrink: 0;
}
.logo[data-v-81d11661] {
  height: 80px;
  display: flex;
  align-items: center;
  padding: 0 22px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.logo-icon[data-v-81d11661] {
  font-size: 30px;
  margin-right: 12px;
}
.logo-title[data-v-81d11661] {
  font-size: 20px;
  font-weight: 700;
}
.logo-subtitle[data-v-81d11661] {
  font-size: 12px;
  color: #9ca3af;
  margin-top: 3px;
}
nav[data-v-81d11661] {
  padding: 15px 10px;
}
.menu-item[data-v-81d11661] {
  padding: 13px 16px;
  margin-bottom: 5px;
  border-radius: 7px;
  color: #cbd5e1;
  cursor: pointer;
}
.menu-item[data-v-81d11661]:hover {
  background: rgba(255,255,255,0.07);
}
.menu-item.active[data-v-81d11661] {
  background: #2563eb;
  color: white;
}

/* 主区域 */
.main[data-v-81d11661] {
  flex: 1;
  min-width: 0;
  padding: 20px 24px 30px;
}
.topbar[data-v-81d11661] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}
h1[data-v-81d11661] {
  margin: 0;
  font-size: 28px;
}
.page-placeholder[data-v-81d11661] {
  background: white;
  border-radius: 10px;
  padding: 30px;
  min-height: 300px;
}
.page-placeholder p[data-v-81d11661] {
  color: #6b7280;
}
.topbar p[data-v-81d11661] {
  margin: 7px 0 0;
  color: #6b7280;
}
.add-button[data-v-81d11661] {
  border: none;
  background: #2563eb;
  color: white;
  padding: 12px 20px;
  border-radius: 7px;
  font-size: 14px;
  cursor: pointer;
}
.add-button[data-v-81d11661]:hover {
  background: #1d4ed8;
}

/* 搜索 */
.toolbar[data-v-81d11661] {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
}
.search[data-v-81d11661] {
  width: 360px;
  max-width: 100%;
  padding: 11px 14px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  outline: none;
  font-size: 14px;
  background: white;
}
.search[data-v-81d11661]:focus {
  border-color: #2563eb;
}
.product-count[data-v-81d11661] {
  margin-left: 15px;
  color: #6b7280;
  font-size: 14px;
}

/* 表格 */
.table-card[data-v-81d11661] {
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  overflow: hidden;
}
.table-title[data-v-81d11661] {
  padding: 18px 20px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
}
.table-title span[data-v-81d11661] {
  color: #9ca3af;
  font-size: 13px;
}
.table-wrapper[data-v-81d11661] {
  overflow-x: auto;
}
table[data-v-81d11661] {
  width: 100%;
  min-width: 1200px;
  border-collapse: collapse;
}
th[data-v-81d11661],
td[data-v-81d11661] {
  padding: 14px 12px;
  border-bottom: 1px solid #eef0f3;
  text-align: left;
  white-space: nowrap;
  font-size: 13px;
}
th[data-v-81d11661] {
  background: #f9fafb;
  color: #6b7280;
  font-weight: 600;
}
td small[data-v-81d11661] {
  color: #9ca3af;
  margin-left: 3px;
}
.stock strong[data-v-81d11661] {
  display: block;
  font-size: 14px;
}
.stock small[data-v-81d11661] {
  display: block;
  color: #9ca3af;
  margin: 4px 0 0;
}
.stock.warning strong[data-v-81d11661] {
  color: #dc2626;
}

/* 弹窗 */
.modal-mask[data-v-81d11661] {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  z-index: 100;
}
.modal[data-v-81d11661] {
  width: 800px;
  max-width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  background: white;
  border-radius: 12px;
  box-shadow: 0 15px 50px rgba(0,0,0,0.2);
}
.modal-header[data-v-81d11661] {
  padding: 22px 25px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
}
.modal-header h2[data-v-81d11661] {
  margin: 0;
}
.modal-header p[data-v-81d11661] {
  color: #9ca3af;
  font-size: 13px;
  margin: 6px 0 0;
}
.close[data-v-81d11661] {
  border: none;
  background: transparent;
  font-size: 28px;
  color: #6b7280;
  cursor: pointer;
}
.form-grid[data-v-81d11661] {
  padding: 25px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.form-item label[data-v-81d11661] {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}
.form-item input[data-v-81d11661],
.form-item select[data-v-81d11661] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
  background: white;
}
.form-item input[data-v-81d11661]:focus,
.form-item select[data-v-81d11661]:focus {
  border-color: #2563eb;
}
.modal-footer[data-v-81d11661] {
  padding: 18px 25px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.cancel-button[data-v-81d11661],
.save-button[data-v-81d11661] {
  padding: 10px 22px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}
.cancel-button[data-v-81d11661] {
  border: 1px solid #d1d5db;
  background: white;
}
.save-button[data-v-81d11661] {
  border: none;
  background: #2563eb;
  color: white;
}

/* 手机 */
@media (max-width: 768px) {
.sidebar[data-v-81d11661] {
    display: none;
}
.main[data-v-81d11661] {
    padding: 18px;
}
.app[data-v-81d11661] { display: block; min-height: 100dvh; padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px));
}
.main[data-v-81d11661] { padding: 12px;
}
.main.main-sales-mobile[data-v-81d11661] { padding: 8px 12px 76px;
}
.main-sales-mobile > .session-bar[data-v-81d11661] { min-height:40px; justify-content:flex-end; gap:6px; margin:0 0 5px; padding:0; border:0; background:transparent; position:static;
}
.main-sales-mobile > .session-bar > .menu-search[data-v-81d11661] { display:none;
}
.main-sales-mobile .session-user > span[data-v-81d11661]:not(.session-avatar) { display:none;
}
.main-sales-mobile .session-user[data-v-81d11661] { gap:0;
}
.main-sales-mobile .session-avatar[data-v-81d11661] { width:30px; height:30px;
}
.main-sales-mobile .logout-button[data-v-81d11661] { min-height:40px; padding:0 10px;
}
.main-sales-mobile[data-v-81d11661] .app-toolbar > button { display:none;
}
.main-sales-mobile[data-v-81d11661] .language-button { min-height:40px;
}
.mobile-main-nav[data-v-81d11661] {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 80;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 5px 4px max(5px, env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #e2e8f0;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -3px 12px rgba(15,23,42,.06);
}
.mobile-main-nav button[data-v-81d11661] {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 2px;
    min-width: 0;
    min-height: 48px;
    padding: 2px;
    border: 0;
    background: transparent;
    color: #64748b;
    font: inherit;
    font-size: 11px;
}
.mobile-main-nav button > span[data-v-81d11661] { font-size: 17px; line-height: 1.2;
}
.mobile-main-nav button[aria-current="page"][data-v-81d11661] { color: #2563eb; font-weight: 700;
}
.mobile-more-mask[data-v-81d11661] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: flex-end;
    padding: 0;
    background: rgba(15,23,42,.38);
}
.mobile-more-sheet[data-v-81d11661] {
    width: 100%;
    max-height: 78dvh;
    overflow: auto;
    padding: 12px 14px calc(14px + env(safe-area-inset-bottom, 0px));
    border-radius: 18px 18px 0 0;
    background: #fff;
    box-shadow: 0 -10px 30px rgba(15,23,42,.16);
}
.mobile-more-sheet > header[data-v-81d11661] { display:flex; align-items:center; justify-content:space-between; min-height:44px; margin-bottom:8px; font-size:16px;
}
.mobile-more-sheet > header button[data-v-81d11661] { width:44px; height:44px; border:0; background:transparent; color:#64748b; font-size:24px;
}
.mobile-more-grid[data-v-81d11661] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;
}
.mobile-more-grid button[data-v-81d11661] { min-height:48px; padding:8px; border:1px solid #e2e8f0; border-radius:9px; background:#fff; color:#1f2937; font:inherit; text-align:left;
}
.topbar[data-v-81d11661] {
    align-items: flex-start;
}
h1[data-v-81d11661] {
    font-size: 24px;
}
.add-button[data-v-81d11661] {
    padding: 10px 13px;
}
.toolbar[data-v-81d11661] {
    display: block;
}
.search[data-v-81d11661] {
    width: 100%;
}
.product-count[data-v-81d11661] {
    margin: 10px 0 0;
}
.form-grid[data-v-81d11661] {
    grid-template-columns: 1fr;
}
}

/*库存预警 */
.inventory-summary[data-v-81d11661] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 20px;
}
.summary-card[data-v-81d11661] {
  background: white;
  padding: 18px 20px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.summary-card span[data-v-81d11661] {
  color: #6b7280;
  font-size: 13px;
}
.summary-card strong[data-v-81d11661] {
  display: block;
  margin-top: 8px;
  font-size: 28px;
}
.summary-card.low strong[data-v-81d11661] {
  color: red;
}
.summary-card.high strong[data-v-81d11661] {
  font-weight: 800;
}
.summary-card[data-v-81d11661] {
  cursor: pointer;
  transition: all 0.2s ease;
}
.summary-card.active[data-v-81d11661] {
  box-shadow: 0 0 0 2px #2563eb;
}

/*语言*/
.language-switcher[data-v-81d11661] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.topbar-actions[data-v-81d11661] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.language-switcher button[data-v-81d11661] {
  border: 1px solid #d1d5db;
  background: white;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
}
.language-switcher button[data-v-81d11661]:hover {
  background: #f3f4f6;
}
.language-switcher button.active[data-v-81d11661] {
  background: #2563eb;
  color: white;
  border-color: #2563eb;
}
.inactive-row[data-v-81d11661] {
  opacity: 0.55;
  background: #f5f5f5;
}

/*业务单头 采购入库*/
.purchase-header[data-v-81d11661]{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}
.purchase-actions[data-v-81d11661]{
  display:flex;
  align-items:center;
  gap:8px;
}
.purchase-actions button[data-v-81d11661]{
  width:38px;
  height:38px;
  border:1px solid #d1d5db;
  background:white;
  border-radius:6px;
  cursor:pointer;
  font-size:18px;
}
.purchase-actions button[data-v-81d11661]:hover{
  background:#f3f4f6;
}
.purchase-info[data-v-81d11661]{
  background:white;
  padding:20px;
  border-radius:10px;
  margin-bottom:16px;
  box-shadow:0 2px 10px rgba(0,0,0,0.05);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.purchase-info-item label[data-v-81d11661]{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:600;
  color:#374151;
}
.purchase-info-item input[data-v-81d11661],
.purchase-info-item select[data-v-81d11661]{
  width:100%;
  padding:10px 12px;
  border:1px solid #d1d5db;
  border-radius:6px;
  outline:none;
  background:white;
}
.purchase-remark[data-v-81d11661]{
  grid-column:1 / -1;
}

/*采购明细 */
.purchase-detail[data-v-81d11661]{
  background:white;
  padding:16px;
  margin-top:16px;
  border-radius:10px;
}
.detail-header[data-v-81d11661]{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.detail-header button[data-v-81d11661]{
  width:34px;
  height:34px;
  margin-left:6px;
  cursor:pointer;
}
.purchase-detail table[data-v-81d11661]{
  width:100%;
  border-collapse:collapse;
}
.purchase-detail th[data-v-81d11661],
.purchase-detail td[data-v-81d11661]{
  border:1px solid #ddd;
  padding:8px;
}
.purchase-detail input[data-v-81d11661]{
  width:100%;
}
.selected[data-v-81d11661]{
 background:#eef6ff;
}



.session-bar {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 12px;
  padding: 0 2px;
  border-bottom: 1px solid #e5e7eb;
  background: rgba(255,255,255,.98);
  position: sticky;
  top: 0;
  z-index: 50;
}
.page-close-row { height: 22px; display: flex; justify-content: flex-end; align-items: flex-start; margin: -8px 0 4px;
}
.page-close-button { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #94a3b8; cursor: pointer; font-size: 19px; line-height: 20px;
}
.page-close-button:hover { background: #f1f5f9; color: #475569;
}
.session-user {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #374151;
  font-size: 13px;
}
.session-avatar {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2563eb;
  color: white;
  font-weight: 600;
}
.session-role {
  color: #9ca3af;
  margin-left: 2px;
}
.logout-button {
  border: 1px solid #d1d5db;
  background: #fff;
  color: #374151;
  padding: 7px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
}
.logout-button:hover { background: #f3f4f6;
}
.auth-loading {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  background: #f5f7fa;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}
:root {
  --text: #6b6375;
  --text-h: #08060d;
  --bg: #fff;
  --border: #e5e4e7;
  --code-bg: #f4f3ec;
  --accent: #aa3bff;
  --accent-bg: rgba(170, 59, 255, 0.1);
  --accent-border: rgba(170, 59, 255, 0.5);
  --social-bg: rgba(244, 243, 236, 0.5);
  --shadow:
    rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px;

  --sans: system-ui, 'Segoe UI', Roboto, sans-serif;
  --heading: system-ui, 'Segoe UI', Roboto, sans-serif;
  --mono: ui-monospace, Consolas, monospace;

  font: 18px/145% var(--sans);
  letter-spacing: 0.18px;
  color-scheme: light dark;
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  @media (max-width: 1024px) {
    font-size: 16px;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --text: #9ca3af;
    --text-h: #f3f4f6;
    --bg: #16171d;
    --border: #2e303a;
    --code-bg: #1f2028;
    --accent: #c084fc;
    --accent-bg: rgba(192, 132, 252, 0.15);
    --accent-border: rgba(192, 132, 252, 0.5);
    --social-bg: rgba(47, 48, 58, 0.5);
    --shadow:
      rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px;
  }

  #social .button-icon {
    filter: invert(1) brightness(2);
  }
}

body {
  margin: 0;
}

h1,
h2 {
  font-family: var(--heading);
  font-weight: 500;
  color: var(--text-h);
}

h1 {
  font-size: 56px;
  letter-spacing: -1.68px;
  margin: 32px 0;
  @media (max-width: 1024px) {
    font-size: 36px;
    margin: 20px 0;
  }
}
h2 {
  font-size: 24px;
  line-height: 118%;
  letter-spacing: -0.24px;
  margin: 0 0 8px;
  @media (max-width: 1024px) {
    font-size: 20px;
  }
}
p {
  margin: 0;
}

code,
.counter {
  font-family: var(--mono);
  display: inline-flex;
  border-radius: 4px;
  color: var(--text-h);
}

code {
  font-size: 15px;
  line-height: 135%;
  padding: 4px 8px;
  background: var(--code-bg);
}

.counter {
  font-size: 16px;
  padding: 5px 10px;
  border-radius: 5px;
  color: var(--accent);
  background: var(--accent-bg);
  border: 2px solid transparent;
  transition: border-color 0.3s;
  margin-bottom: 24px;

  &:hover {
    border-color: var(--accent-border);
  }
  &:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
}

.hero {
  position: relative;

  .base,
  .framework,
  .vite {
    inset-inline: 0;
    margin: 0 auto;
  }

  .base {
    width: 170px;
    position: relative;
    z-index: 0;
  }

  .framework,
  .vite {
    position: absolute;
  }

  .framework {
    z-index: 1;
    top: 34px;
    height: 28px;
    transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg)
      scale(1.4);
  }

  .vite {
    z-index: 0;
    top: 107px;
    height: 26px;
    width: auto;
    transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg)
      scale(0.8);
  }
}

#app {
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: left;
  border-inline: 0;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

#center {
  display: flex;
  flex-direction: column;
  gap: 25px;
  place-content: center;
  place-items: center;
  flex-grow: 1;

  @media (max-width: 1024px) {
    padding: 32px 20px 24px;
    gap: 18px;
  }
}

#next-steps {
  display: flex;
  border-top: 1px solid var(--border);
  text-align: left;

  & > div {
    flex: 1 1 0;
    padding: 32px;
    @media (max-width: 1024px) {
      padding: 24px 20px;
    }
  }

  .icon {
    margin-bottom: 16px;
    width: 22px;
    height: 22px;
  }

  @media (max-width: 1024px) {
    flex-direction: column;
    text-align: center;
  }
}

#docs {
  border-right: 1px solid var(--border);

  @media (max-width: 1024px) {
    border-right: none;
    border-bottom: 1px solid var(--border);
  }
}

#next-steps ul {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 8px;
  margin: 32px 0 0;

  .logo {
    height: 18px;
  }

  a {
    color: var(--text-h);
    font-size: 16px;
    border-radius: 6px;
    background: var(--social-bg);
    display: flex;
    padding: 6px 12px;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: box-shadow 0.3s;

    &:hover {
      box-shadow: var(--shadow);
    }
    .button-icon {
      height: 18px;
      width: 18px;
    }
  }

  @media (max-width: 1024px) {
    margin-top: 20px;
    flex-wrap: wrap;
    justify-content: center;

    li {
      flex: 1 1 calc(50% - 8px);
    }

    a {
      width: 100%;
      justify-content: center;
      box-sizing: border-box;
    }
  }
}

#spacer {
  height: 88px;
  border-top: 1px solid var(--border);
  @media (max-width: 1024px) {
    height: 48px;
  }
}

.ticks {
  position: relative;
  width: 100%;

  &::before,
  &::after {
    content: '';
    position: absolute;
    top: -4.5px;
    border: 5px solid transparent;
  }

  &::before {
    left: 0;
    border-left-color: var(--border);
  }
  &::after {
    right: 0;
    border-right-color: var(--border);
  }
}

/* 响应式表格分页：一页行数随当前屏幕高度调整 */
.responsive-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-top: 1px solid #eef2f7;
  background: #fbfcfe;
  color: #64748b;
  font-size: 12px;
}
.responsive-pagination > div { display: flex; align-items: center; gap: 4px; }
.responsive-pagination button {
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid #dbe3ed;
  border-radius: 6px;
  background: #fff;
  color: #475569;
  cursor: pointer;
}
.responsive-pagination button:hover:not(:disabled) { border-color: #93b4e8; color: #2563eb; }
.responsive-pagination button.active { background: #2563eb; border-color: #2563eb; color: #fff; }
.responsive-pagination button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 720px) {
  .responsive-pagination { flex-direction: column; align-items: stretch; }
  .responsive-pagination > div { justify-content: center; overflow-x: auto; }
}
.list-top-controls,.purchase-list-top-controls{display:flex;align-items:center;padding:8px 14px;border-bottom:1px solid #e5e7eb;background:#fff}

@media (max-width: 768px) {
  .table-wrapper, .table-wrap, .table-scroll, .ledger-table-scroll, .detail-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .modal-mask { align-items:flex-end; padding:8px; }
  .modal-mask > .modal { width:min(100%, 620px); max-height:calc(100dvh - 16px); margin:0 auto; overflow:auto; border-radius:14px 14px 10px 10px; }
  .list-top-controls, .purchase-list-top-controls { flex-wrap:wrap; gap:6px; padding:8px 10px; }
}
