:root { --ink:#17191c; --muted:#6f747c; --paper:#fcfbf8; --line:#e6e3dc; --accent:#205a43; --soft:#edf4ef; --danger:#a54436; }
* { box-sizing:border-box; }
body { margin:0 0 48px; background:var(--paper); color:var(--ink); font-family:"Segoe UI","Microsoft YaHei",sans-serif; }
button,input,select,textarea { font:inherit; }
.topbar { display:flex; align-items:center; justify-content:space-between; max-width:1360px; margin:auto; padding:26px 28px 16px; }
.eyebrow { margin:0 0 5px; color:var(--muted); font-size:13px; letter-spacing:.04em; }
.customer-badge { display:inline-block; margin:9px 0 0; padding:5px 9px; border-radius:999px; background:var(--soft); color:var(--accent); font-size:12px; font-weight:700; }
h1,h2,p { margin-top:0; } h1 { margin-bottom:0; font-size:26px; letter-spacing:-.03em; } h2 { margin:0; font-size:18px; }
.language,.icon-button { border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); cursor:pointer; }
.admin-nav { text-decoration:none; padding:9px 13px; }
.admin-navs { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.language { padding:8px 11px; font-weight:700; }.icon-button { width:34px; height:34px; font-size:24px; line-height:1; }
main { max-width:1360px; margin:auto; padding:0 28px; }.intro { border-left:3px solid var(--accent); background:var(--soft); padding:12px 14px; margin:4px 0 24px; border-radius:0 10px 10px 0; }.intro p { margin:0; font-size:14px; line-height:1.5; }
.quick-order { margin:0 0 24px; padding:18px; border:1px solid #cddbd1; border-radius:14px; background:#fff; }.quick-order h2 { margin:2px 0 6px; font-size:20px; }.quick-order-note { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.55; }.quick-order-workspace { display:grid; grid-template-columns:minmax(320px,1fr) minmax(420px,1.15fr); gap:18px; align-items:start; }.quick-order textarea { min-height:220px; font-family:ui-monospace,Consolas,monospace; line-height:1.45; }.quick-brand-field { display:block; max-width:280px; margin-top:10px; }.quick-brand-field span { display:block; margin-bottom:5px; color:var(--muted); font-size:12px; }.quick-order-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }.quick-order-preview { min-height:320px; padding:14px; border:1px solid var(--line); border-radius:11px; background:#fcfbf8; overflow:auto; }.quick-order-preview h3 { margin:0 0 8px; font-size:16px; }.quick-preview-hint { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }.quick-order-result { margin-top:10px; font-size:13px; line-height:1.55; }.quick-order-result .match-error { padding:10px 0; color:var(--danger); border-top:1px solid var(--line); }.quick-match-table { width:100%; border-collapse:collapse; font-size:13px; }.quick-match-table th,.quick-match-table td { padding:8px 7px; border-top:1px solid var(--line); text-align:left; vertical-align:top; white-space:nowrap; }.quick-match-table th { color:var(--muted); font-size:12px; font-weight:700; }.quick-match-table .difference-over { color:var(--accent); font-weight:700; }.quick-match-table .difference-short { color:var(--danger); font-weight:700; }.shipment-confirmation { display:flex; align-items:flex-start; gap:9px; margin:12px 0; padding:12px; border:1px solid var(--line); border-radius:9px; background:#fcfbf8; font-size:13px; line-height:1.45; }.shipment-confirmation input { width:auto; margin-top:3px; }
.quick-image-actions { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }.quick-image-field { display:block; max-width:360px; margin-top:10px; }.quick-image-field span { display:block; margin-bottom:5px; color:var(--muted); font-size:12px; }.quick-image-clear { margin-bottom:0; padding:8px 10px; font-size:12px; }.quick-paste-hint,.quick-image-status { min-height:18px; margin:6px 0 0; color:var(--muted); font-size:12px; }.quick-paste-hint { margin-bottom:0; }.quick-image-status.error { color:var(--danger); }.quick-image-status.success { color:var(--accent); }.quick-order textarea.image-paste-active { outline:2px solid var(--accent); outline-offset:2px; }
.toolbar { display:flex; justify-content:space-between; align-items:end; gap:10px; margin-bottom:14px; }.search-label { flex:1; }.search-label span,.quantity-field span,.options label>span,.customer-fields span { display:block; font-size:12px; color:var(--muted); margin-bottom:5px; }
input,select,textarea { width:100%; border:1px solid var(--line); border-radius:8px; padding:10px; background:#fff; color:var(--ink); }.result-count { color:var(--muted); font-size:13px; white-space:nowrap; margin:0 0 10px; }
.catalog { display:grid; gap:14px; }.product-card { display:grid; grid-template-columns:112px 1fr; gap:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }.product-image { width:112px; height:100%; min-height:220px; object-fit:cover; background:#f0eee9; }.product-content { padding:14px; }.product-heading { display:flex; justify-content:space-between; gap:8px; }.style-number { margin:0 0 3px; color:var(--muted); font-size:12px; font-weight:700; }.status { flex:0 0 auto; align-self:start; background:var(--soft); color:var(--accent); padding:5px 7px; border-radius:999px; font-size:11px; font-weight:700; }.product-meta { color:var(--muted); font-size:13px; margin:8px 0 14px; }
.options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.product-action { display:grid; grid-template-columns:76px 1fr; gap:8px; align-items:end; margin-top:10px; }.quantity-field span { margin-bottom:5px; }.secondary,.primary { cursor:pointer; border-radius:9px; padding:11px 14px; font-weight:700; }.secondary { background:#fff; border:1px solid var(--accent); color:var(--accent); }.primary { border:0; background:var(--accent); color:#fff; }.cart-panel { position:fixed; bottom:0; left:0; right:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:780px; margin:auto; padding:12px 20px; border-top:1px solid var(--line); background:rgba(252,251,248,.96); backdrop-filter:blur(8px); }.cart-summary { display:flex; gap:8px; align-items:center; }.cart-summary strong { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#dceae0; color:var(--accent); font-size:12px; }.cart-panel .primary { min-width:126px; }
dialog { width:min(100%,780px); max-width:780px; border:0; padding:0; background:transparent; }.dialog-content,.success-content { background:var(--paper); padding:22px 20px 28px; min-height:100svh; }.dialog-heading { display:flex; justify-content:space-between; }.cart-items { margin:24px 0; }.cart-row { display:grid; grid-template-columns:1fr 84px 28px; gap:8px; align-items:center; border-bottom:1px solid var(--line); padding:10px 0; }.cart-row p { margin:3px 0 0; color:var(--muted); font-size:12px; }.remove { border:0; background:transparent; color:var(--danger); font-size:20px; cursor:pointer; }.customer-fields { display:grid; gap:12px; }.submit { width:100%; margin-top:18px; }.empty { color:var(--muted); text-align:center; padding:26px 0; }.success-content { display:grid; align-content:center; text-align:center; }.success-mark { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 16px; border-radius:50%; background:var(--soft); color:var(--accent); font-size:28px; }.success-content p { color:var(--muted); margin:12px auto 24px; max-width:280px; line-height:1.5; }
#cartDialog { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; border:0; overflow:auto; }
#cartDialog .dialog-content { box-sizing:border-box; width:100%; min-height:100dvh; padding:28px clamp(20px,3vw,54px) 42px; }
.cart-table-note { margin:0 0 10px; color:var(--muted); font-size:12px; }.cart-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:10px; background:#fff; }.cart-table { width:100%; min-width:960px; border-collapse:collapse; font-size:13px; }.cart-table th,.cart-table td { padding:10px 8px; border-bottom:1px solid var(--line); text-align:center; vertical-align:top; }.cart-table thead th { position:sticky; top:0; background:#f7f6f2; color:var(--muted); font-size:12px; white-space:nowrap; }.cart-table tbody th { min-width:68px; text-align:center; white-space:nowrap; }.cart-size-cell { min-width:94px; }.cart-size-cell>span,.cart-size-cell>strong,.cart-size-cell>em,.cart-total-cell>strong,.cart-total-cell>em { display:block; line-height:1.35; }.cart-size-cell>span { color:var(--muted); }.cart-size-cell>strong,.cart-total-cell>strong { font-weight:700; }.cart-size-cell em,.cart-total-cell em { font-style:normal; font-weight:700; }.cart-size-cell .over,.cart-total-cell .over { color:var(--accent); }.cart-size-cell .short,.cart-total-cell .short { color:var(--danger); }.cart-size-cell .exact,.cart-total-cell .exact { color:var(--muted); }.carton-input { display:flex; align-items:center; justify-content:center; gap:3px; margin-top:6px; color:var(--muted); font-size:11px; }.carton-input input { width:46px; min-width:0; padding:4px; text-align:center; font-size:12px; }.cart-size-empty { color:#b7b2aa; }.cart-total-cell { min-width:78px; background:#fcfbf8; }
.cart-table .cart-product-cell { text-align:center !important; vertical-align:middle; }
.cart-table tbody td { vertical-align:middle; }
.quick-summary-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:9px; background:#fff; }.quick-summary-table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; font-size:11px; }.quick-summary-table th,.quick-summary-table td { padding:5px 3px; border-bottom:1px solid var(--line); text-align:center; vertical-align:top; }.quick-summary-table th:nth-child(1) { width:7%; }.quick-summary-table th:nth-child(2) { width:8%; }.quick-summary-table th:nth-child(3) { width:11%; }.quick-summary-table th:nth-child(n+4):nth-child(-n+8) { width:12%; }.quick-summary-table th:nth-child(9) { width:14%; }.quick-summary-table thead th { background:#f7f6f2; color:var(--muted); white-space:nowrap; }.quick-summary-table tbody th { text-align:left; white-space:nowrap; }.quick-size-cell>span,.quick-size-cell>strong,.quick-size-cell>em,.quick-total-cell>strong,.quick-total-cell>em { display:block; line-height:1.24; }.quick-size-cell>span { color:var(--muted); }.quick-size-cell em,.quick-total-cell em { font-style:normal; font-weight:700; }.quick-size-cell .over,.quick-total-cell .over { color:var(--accent); }.quick-size-cell .short,.quick-total-cell .short { color:var(--danger); }.quick-size-cell .exact,.quick-total-cell .exact { color:var(--muted); }.quick-size-empty { color:#b7b2aa; }.quick-total-cell { background:#fcfbf8; white-space:nowrap; }
@media (min-width:900px) { dialog { width:min(1180px, calc(100% - 48px)); max-width:1180px; } }
@media (max-width:420px) { .topbar { padding-top:20px; }.product-card { grid-template-columns:94px 1fr; }.product-image { width:94px; }.product-content { padding:12px; }.options { grid-template-columns:1fr; }.product-action { grid-template-columns:68px 1fr; } }

/* Desktop order-page layout.  The phone layout remains only as a small-screen fallback. */
@media (min-width:900px) {
  body { margin-bottom:32px; }
  .topbar { padding-top:34px; }
  h1 { font-size:34px; }
  .intro { margin-bottom:28px; }
  .toolbar { max-width:620px; margin-bottom:22px; }
  .catalog { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; align-items:stretch; }
  .product-card { display:flex; flex-direction:column; min-width:0; border-radius:12px; }
  .product-image { width:100%; height:280px; min-height:0; object-fit:contain; border-bottom:1px solid var(--line); }
  .product-content { display:flex; flex:1; flex-direction:column; padding:16px; }
  .product-meta { min-height:38px; margin-bottom:16px; }
  .product-action { margin-top:auto; }
  .cart-panel { left:auto; right:28px; bottom:28px; width:280px; max-width:none; margin:0; padding:12px 16px; border:1px solid var(--line); border-radius:14px; box-shadow:0 10px 32px rgba(23,25,28,.12); }
  dialog { width:min(760px, calc(100% - 48px)); }
  .dialog-content,.success-content { min-height:0; border-radius:16px; padding:28px; }
}

.admin-login { max-width:460px; margin:54px auto; padding:28px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.admin-page { background:#f7f7f5; }.admin-page .topbar { max-width:none; padding:22px 56px 20px; border-bottom:1px solid var(--line); background:rgba(252,251,248,.92); }.admin-page .topbar h1 { font-size:36px; line-height:1.05; }.admin-page main { max-width:none; padding:28px 56px 52px; }.admin-page .eyebrow { margin-bottom:7px; }.admin-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; }.admin-page .admin-navs { gap:0; padding:4px; border:1px solid var(--line); border-radius:12px; background:#fff; }.admin-page .admin-nav { border:0; border-radius:8px; color:var(--muted); padding:10px 15px; }.admin-page .admin-nav:hover { background:#edf4ef; color:var(--accent); }.admin-page .admin-nav[aria-current="page"] { background:var(--accent); color:#fff; }
.admin-page :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.admin-login p { color:var(--muted); line-height:1.5; }.admin-form { display:grid; gap:12px; margin-top:20px; }.admin-message { color:var(--danger) !important; font-size:13px; }
.admin-toolbar { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 0 16px; padding:20px 22px; border:1px solid var(--line); border-radius:14px; background:#fff; }.admin-toolbar h2 { font-size:20px; }.admin-toolbar .secondary { padding:9px 13px; }
.demand-history-panel { max-width:1120px; margin:0 auto; }.demand-history-list { display:grid; gap:12px; }.demand-history-list .history-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; min-width:0; padding:16px 18px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(23,25,28,.03); }.demand-history-list .history-row:hover { border-color:#cddbd1; }.demand-history-list .history-row>span { min-width:0; color:var(--muted); font-size:13px; line-height:1.55; overflow-wrap:anywhere; }.demand-history-list .history-row>span strong { display:block; margin-bottom:3px; color:var(--ink); font-size:15px; }.demand-history-list .history-row>button { min-height:42px; padding:9px 13px; border:1px solid var(--accent); border-radius:9px; background:#fff; color:var(--accent); font-weight:700; white-space:nowrap; cursor:pointer; }.demand-history-list .history-row>button:disabled { opacity:.6; cursor:not-allowed; }.demand-history-panel #loadMoreDemandHistory { margin-top:14px; }
.demand-history-detail { max-width:920px; margin-top:24px; padding:22px; border:1px solid #cddbd1; border-radius:14px; background:#fff; box-shadow:0 8px 28px rgba(23,25,28,.06); }.demand-history-detail h3 { margin:0 0 14px; font-size:19px; }.demand-detail-content { display:grid; gap:8px; }.demand-detail-content>p { min-width:0; margin:0; line-height:1.5; overflow-wrap:anywhere; }.demand-detail-content>p:nth-child(-n+2) { color:var(--muted); font-size:13px; }.demand-detail-content>p:nth-child(n+3) { padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:#fcfbf8; font-size:14px; }.source-naming-form { grid-template-columns:minmax(0,32rem) auto; align-items:end; max-width:44rem; margin-top:22px; }.source-naming-form label { grid-column:1 / -1; color:var(--muted); font-size:13px; font-weight:700; }.source-naming-form .primary { min-height:42px; white-space:nowrap; }.demand-history-detail>#retrySourceLabel,.demand-history-detail>#abandonSourceLabel { min-height:40px; margin-top:12px; }.demand-history-detail>#abandonSourceLabel { margin-left:6px; }.demand-history-detail>.admin-message { max-width:44rem; margin:10px 0 0; line-height:1.5; }
.orders { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:18px; }.order-card { padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; }.order-heading { display:flex; justify-content:space-between; gap:12px; }.order-code { color:var(--muted); font-size:13px; font-weight:400; }.order-contact,.order-notes { color:var(--muted); font-size:13px; }.device-control { display:flex; flex-wrap:wrap; gap:8px; align-items:end; margin:14px 0; padding:12px; border-radius:10px; background:var(--soft); }.device-control label { display:grid; gap:5px; font-size:13px; color:var(--muted); flex:1 1 180px; }.device-control input { min-width:0; }.order-items { display:grid; gap:8px; padding:0; margin:18px 0; list-style:none; }.order-items li { display:flex; justify-content:space-between; gap:8px; border-bottom:1px solid var(--line); padding-bottom:8px; font-size:13px; }.order-items b { white-space:nowrap; }.confirm { width:100%; }.confirm:disabled { opacity:.65; cursor:wait; }
.stock-status { align-self:start; padding:5px 8px; border-radius:999px; font-size:12px; font-weight:700; }.stock-ok { color:var(--accent); background:var(--soft); }.stock-short { color:#a54436; background:#f9e8e5; }.order-items-head,.order-items li { display:grid; grid-template-columns:minmax(180px,1fr) 70px 70px 82px; gap:8px; align-items:center; }.order-items-head { margin-top:16px; padding:8px 0; color:var(--muted); font-size:12px; font-weight:700; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.order-items { gap:0; margin:0 0 16px; }.order-items li { padding:10px 0; }.item-short { color:#a54436; background:#fff9f8; }.item-short span { padding-left:6px; }
.order-heading-actions { display:flex; align-items:center; gap:8px; }.collapse-order { padding:6px 9px; font-size:12px; }
.stock-confirmed { color:#46556a; background:#edf0f5; }.confirmed-note { color:#46556a; font-size:13px; margin:0; }.order-queue { display:block; max-width:1180px; }.order-section { margin:30px 0 38px; }.order-section .orders { display:grid; grid-template-columns:repeat(auto-fit, minmax(420px, 1fr)); gap:18px; }.section-title { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:12px; }.section-title h3 { margin:0; font-size:17px; }.section-title span { color:var(--muted); font-size:12px; }.empty.compact { padding:16px 0; text-align:left; }
.price-panel { margin:16px 0; border:1px solid var(--line); border-radius:10px; overflow:hidden; }.price-head,.price-row { display:grid; grid-template-columns:minmax(130px,1.2fr) 60px 90px 100px minmax(90px,1fr); gap:8px; align-items:center; padding:8px 10px; font-size:12px; }.price-head { background:#f7f6f2; color:var(--muted); font-weight:700; }.price-row { border-top:1px solid var(--line); }.price-row input { padding:6px 7px; font-size:12px; }.price-total { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px; border-top:1px solid var(--line); background:#fcfbf8; font-size:13px; }.price-total strong { color:var(--accent); }.price-total .secondary { margin-left:auto; padding:7px 10px; font-size:12px; }.price-total .export-pickup-workbook,.price-total .save-prices { margin-left:0; }.price-total .secondary:disabled { opacity:.55; cursor:not-allowed; }
.currency-choice { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:14px 0; color:var(--muted); font-size:13px; }.currency-choice select { width:120px; padding:7px 8px; }.currency-choice .secondary { padding:7px 10px; font-size:12px; }
.fulfillment-choice { display:flex; align-items:center; gap:9px; margin:14px 0 0; color:var(--muted); font-size:13px; }.fulfillment-choice select { width:170px; padding:7px 8px; }.fulfillment-closed { margin:14px 0 0; color:var(--muted); font-size:13px; }
.adjustment-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 0; }.adjustment-controls .add-variant { width:min(360px,100%); }.adjustment-controls .add-cartons { width:72px; padding:7px 8px; }.adjustment-controls .secondary { padding:7px 10px; font-size:12px; }
.history-summary { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:14px 18px; border:1px solid var(--line); border-radius:12px; background:#fff; }.history-summary:hover { border-color:#cddbd1; }.history-main { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; min-width:0; }.history-main strong { font-size:15px; }.history-main > span { font-weight:700; }.history-main .history-meta { color:var(--muted); font-size:12px; font-weight:400; }.history-summary .secondary { white-space:nowrap; padding:8px 12px; }
.order-pricing .order-items-head,.order-pricing .order-items li { grid-template-columns:minmax(210px,1fr) 70px 112px 100px 70px 82px; }.order-pricing .order-items li { padding:10px; }.order-pricing .order-items input { min-width:0; padding:7px 8px; font-size:13px; }.order-pricing .line-total { color:var(--accent); }
.order-pricing .order-items-head .pending-currency { padding:6px 7px; border-color:var(--line); background:#fff; color:var(--ink); font-weight:700; font-size:12px; }
.order-pricing-table-wrap { overflow-x:auto; }.order-pricing-table { width:100%; min-width:1020px; border-collapse:collapse; font-size:13px; }.order-pricing-table th,.order-pricing-table td { padding:9px 8px; border-bottom:1px solid var(--line); text-align:center; vertical-align:middle; }.order-pricing-table thead th { background:#f7f6f2; color:var(--muted); font-size:12px; white-space:nowrap; }.order-pricing-table tbody th { text-align:left; white-space:nowrap; }.order-pricing-table .admin-model-cell { background:#fcfbf8; font-weight:700; }.order-pricing-table .admin-size-cell { min-width:72px; }.admin-size-cell strong { display:block; }.admin-size-cell small { display:block; margin-top:3px; color:var(--muted); font-size:11px; white-space:nowrap; }.admin-size-cell input { width:54px; min-width:0; padding:5px; text-align:center; font-size:12px; }.admin-size-empty { color:#b7b2aa; }.model-price-cell { min-width:114px; background:#fcfbf8; }.model-price-input { width:76px; min-width:0; padding:6px 7px; font-size:12px; }.model-line-total { display:block; margin-top:6px; color:var(--accent); font-size:12px; white-space:nowrap; }.order-pricing-table .item-short { color:#a54436; background:#fff9f8; }
@media (max-width:700px) { .price-head { display:none; }.price-row { grid-template-columns:1fr 58px 1fr 1fr; }.price-row span:first-child { grid-column:1 / -1; }.price-row .line-total { grid-column:1 / -1; color:var(--accent); }.price-row b::before { content:'件/箱 '; color:var(--muted); font-weight:400; } }
@media (max-width:700px) { .order-items-head { display:none; }.order-items li { grid-template-columns:1fr repeat(3, 54px); font-size:12px; }.order-items li b::before { display:block; color:var(--muted); font-size:10px; }.order-items li b:nth-child(2)::before { content:'需求'; }.order-items li b:nth-child(3)::before { content:'库存'; }.order-items li b:nth-child(4)::before { content:'余量'; } }
@media (max-width:700px) { .order-pricing .order-items li { grid-template-columns:1fr 70px 1fr; }.order-pricing .order-items li > span { grid-column:1 / -1; }.order-pricing .order-items li > b:nth-of-type(1)::before { content:'需求'; }.order-pricing .order-items li > b.line-total::before { content:'合计'; }.order-pricing .order-items li > b:nth-of-type(3)::before { content:'库存'; }.order-pricing .order-items li > b:nth-of-type(4)::before { content:'确认后'; } }
.inventory-note { color:var(--muted); font-size:13px; margin:0 0 12px; }.inventory-table { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 1px 2px rgba(23,25,28,.03); }.inventory-head,.inventory-row { display:grid; grid-template-columns:1.3fr 1fr .7fr 1fr 82px; gap:10px; align-items:center; padding:10px 14px; }.inventory-head { background:#f0f5f1; color:var(--muted); font-size:12px; font-weight:700; }.inventory-row { border-top:1px solid var(--line); font-size:14px; }.inventory-row:hover { background:#fcfdfc; }.inventory-row input { padding:7px 8px; }.inventory-row .secondary { padding:7px 8px; font-size:12px; }
.inventory-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }.inventory-import { max-width:980px; margin:0 0 18px; padding:20px; border:1px solid #cddbd1; border-radius:14px; background:#fff; }.inventory-import h3 { margin:0; font-size:18px; }.inventory-import p { margin:10px 0; color:var(--muted); font-size:13px; line-height:1.6; }.inventory-import textarea { display:block; margin:12px 0; font-family:ui-monospace,Consolas,monospace; font-size:12px; line-height:1.45; }.import-preview { max-height:190px; overflow:auto; padding:12px; border:1px solid var(--line); border-radius:9px; background:#fcfbf8; color:var(--muted); font-size:13px; }.import-preview table { width:100%; border-collapse:collapse; color:var(--ink); }.import-preview th,.import-preview td { padding:5px 7px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }.replace-inventory { display:flex; align-items:center; gap:8px; margin:14px 0; font-size:13px; }.replace-inventory input { width:auto; }.import-buttons { display:flex; gap:8px; flex-wrap:wrap; }.import-message { min-height:20px; margin-bottom:0 !important; }.import-message.error { color:var(--danger); }.import-message.success { color:var(--accent); }
.inventory-file-dropzone { display:grid; place-items:center; width:100%; gap:5px; padding:22px; border:1px dashed #8caf9a; border-radius:10px; background:#f7fbf8; color:var(--accent); cursor:pointer; }.inventory-file-dropzone:hover,.inventory-file-dropzone.dragging { border-color:var(--accent); background:#edf4ef; }.inventory-file-dropzone strong { font-size:15px; }.inventory-file-dropzone span,.import-file-name { color:var(--muted); font-size:12px; }.import-file-name { min-height:18px; margin:8px 0 0 !important; }
.inventory-addition-history { margin:0 0 18px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; }.inventory-addition-history h3 { margin:0 0 10px; font-size:16px; }.inventory-addition-history table { width:100%; border-collapse:collapse; font-size:12px; }.inventory-addition-history th,.inventory-addition-history td { padding:7px 8px; border-bottom:1px solid var(--line); text-align:left; }.inventory-addition-history th { color:var(--muted); background:#f7f6f2; }.inventory-addition-history td:last-child { color:var(--accent); font-weight:700; }
.quick-confirmation { display:flex; align-items:flex-start; gap:8px; margin-top:14px; padding:10px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:13px; line-height:1.45; }.quick-confirmation input { width:auto; margin-top:3px; }.quick-confirm-button { width:100%; margin-top:8px; }
@media (max-width:700px) { .inventory-head { display:none; }.inventory-row { grid-template-columns:1fr 1fr; gap:8px; }.inventory-row span:nth-child(3)::before { content:'尺码：'; color:var(--muted); }.inventory-row input { grid-column:1; }.inventory-row .secondary { grid-column:2; } }
@media (max-width:850px) { .quick-order-workspace { grid-template-columns:1fr; }.quick-order-preview { min-height:0; }.quick-order textarea { min-height:170px; }.quick-match-table { font-size:12px; }.quick-match-table th,.quick-match-table td { padding:7px 5px; } }

/* A desktop stock table groups all sizes for one style and colour on one row. */
.inventory-table { max-width:1180px; }.inventory-head,.inventory-row { grid-template-columns:1.15fr 1fr repeat(5, .72fr) 88px; gap:8px; }.inventory-row label>span { display:none; }.inventory-row input { text-align:center; }
@media (max-width:700px) { .inventory-row label { display:grid; grid-template-columns:36px 1fr; align-items:center; gap:6px; }.inventory-row label>span { display:block; color:var(--muted); font-size:12px; }.inventory-row .secondary { grid-column:1 / -1; } }
@media (max-width:700px) { .admin-page .topbar { align-items:flex-start; padding:18px 20px; }.admin-page .topbar h1 { font-size:28px; }.admin-page main { padding:20px; }.admin-page .admin-navs { width:100%; }.admin-page .admin-nav { flex:1; text-align:center; padding:9px 6px; font-size:12px; }.admin-toolbar { padding:16px; align-items:flex-start; }.admin-toolbar h2 { font-size:18px; } }
.admin-size-cell .order-shortage { color:var(--danger); font-weight:700; }
.cancel-pending { margin-left:8px; }
.device-message { flex:1 0 100%; min-height:18px; margin:0; font-size:12px; color:var(--muted); }.device-message.success { color:var(--accent); }.device-message.error { color:var(--danger); }
.quick-shipment-total { margin:10px 0 0; padding:9px 10px; border:1px solid #cddbd1; border-radius:8px; background:#f7fbf8; color:var(--accent); font-size:13px; }.quick-shipment-total strong { color:var(--ink); }
.cart-shipment-total { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 22px; text-align:center; }
.clear-cart { width:100%; margin-top:10px; color:var(--danger); border-color:#c9776c; }
.legacy-readonly-notice { margin:0 0 16px; padding:14px 16px; border:1px solid #d5ddd7; border-radius:10px; background:#f4f7f4; color:#365440; font-size:14px; line-height:1.65; }
.admin-page [data-legacy-paused="true"]:disabled { opacity:.55; cursor:not-allowed; }
@media (max-width:700px) {
  .admin-page .topbar { flex-wrap:wrap; gap:16px; }
  .admin-header-actions { width:100%; flex-wrap:wrap; justify-content:space-between; }
  .admin-header-actions .admin-navs { flex:1 1 250px; }
  .admin-header-actions>#logoutAdmin { min-height:40px; }
  .demand-history-list .history-row { grid-template-columns:minmax(0,1fr); gap:12px; padding:14px; }
  .demand-history-list .history-row>button { width:100%; }
  .demand-history-detail { padding:17px 15px; }
  .source-naming-form { grid-template-columns:minmax(0,1fr); max-width:none; }
  .source-naming-form label { grid-column:auto; }
  .source-naming-form .primary { width:100%; }
  .demand-history-detail>#retrySourceLabel,.demand-history-detail>#abandonSourceLabel { width:100%; margin-left:0; }
  .admin-page .order-section .orders { grid-template-columns:minmax(0,1fr); }
  .admin-page .order-card { min-width:0; }
  .admin-page .order-heading,.admin-page .section-title { flex-wrap:wrap; }
  .admin-page .inventory-head,.admin-page .inventory-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .admin-page .inventory-row > * { min-width:0; overflow-wrap:anywhere; }
  .admin-page .inventory-row label input { grid-column:2; }
}
