/* 远山界面规范：让产品图片与资料成为主角。所有页面在旧样式之后加载此文件。 */
:root {
  --ink:#253b33;
  --muted:#63756c;
  --navy:#285342;
  --navy-soft:#35624e;
  --cyan:#285342;
  --cyan-soft:#eaf2ec;
  --green:#285342;
  --canvas:#f6f8f6;
  --surface:#fff;
  --line:#dce6de;
  --danger:#a3453b;
  --shadow:0 12px 36px rgba(29,58,42,.09);
  --ui-radius:12px;
  --ui-control:9px;
}
body { color:var(--ink); background:var(--canvas); font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif; line-height:1.6; letter-spacing:0; }
h1,h2,h3,p { overflow-wrap:anywhere; }
button,input,select,textarea { font:inherit; letter-spacing:inherit; }
input,select,textarea { accent-color:var(--navy); }
:is(input,select,textarea):focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(40,83,66,.1); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid var(--navy); outline-offset:3px; }
:is(.primary-button,.contact-button) { min-height:42px; border:1px solid var(--navy); border-radius:var(--ui-control); padding:9px 16px; background:var(--navy); color:#fff; font-size:14px; font-weight:600; box-shadow:none; }
:is(.primary-button,.contact-button):hover { background:var(--navy-soft); border-color:var(--navy-soft); }
:is(.ghost-button,.detail-back,.pagination button,.dialog-actions button) { min-height:42px; border:1px solid var(--line); border-radius:var(--ui-control); padding:9px 14px; background:#fff; color:var(--ink); font-size:14px; font-weight:500; box-shadow:none; }
:is(.ghost-button,.detail-back,.pagination button,.dialog-actions button):hover { border-color:#b8cfc0; background:#f8fbf8; }
:is(.app-dialog,.login-card,.overview-panel,.form-section,.contact-preview,.draft-recovery) { border-radius:var(--ui-radius); }
.app-dialog { width:min(440px,calc(100vw - 32px)); padding:28px; border:1px solid var(--line); box-shadow:0 22px 64px rgba(17,44,27,.18); }
.app-dialog::backdrop { background:rgba(24,48,35,.48); }
.app-dialog h2 { margin:0 36px 18px 0; font-size:20px; line-height:1.4; font-weight:600; }
.app-dialog p { color:var(--muted); font-size:14px; line-height:1.75; }
.dialog-close { width:36px; height:36px; min-width:36px; min-height:36px; border-radius:8px; background:var(--cyan-soft); color:var(--ink); }
:is(#contactDialog,#inquiryDialog) { text-align:center; }
:is(#contactDialog,#inquiryDialog) > h2 { margin-inline:28px; }
:is(#contactDialog,#inquiryDialog) .inquiry-content { align-items:center; }
:is(#contactDialog,#inquiryDialog) .inquiry-qr { margin-inline:auto; }
.notification { border-radius:var(--ui-control); background:var(--navy); font-size:14px; }
.site-icp { padding:28px 12px 24px; color:var(--muted); font-size:12px; line-height:1.6; text-align:center; }
.site-icp a { color:inherit; text-decoration:none; }
.site-icp a:hover { text-decoration:underline; }
.empty-state button { min-height:42px; border-radius:var(--ui-control); padding:9px 15px; font-size:14px; }
.series-admin-card button,.series-choices button,.analytics-product button,.operations-panel button,.draft-as-new,#reviewContactDraft { min-height:40px; border:1px solid var(--line); border-radius:var(--ui-control); padding:8px 13px; background:#fff; color:var(--ink); font-size:13px; }
.local-entry { border-color:var(--line); border-radius:var(--ui-radius); box-shadow:none; }
.local-entry a { border-radius:var(--ui-control); }

/* 产品库：统一的图片比例和两级文字，筛选始终独立于商品内容。 */
body[data-page="catalog"] { display:flex; flex-direction:column; min-height:100svh; background:var(--canvas); }
body[data-page="catalog"] .catalog-sidebar { background:#fff; border-color:var(--line); box-shadow:none; }
body[data-page="catalog"] .catalog-sidebar .brand { width:100%; min-width:0; }
body[data-page="catalog"] .catalog-sidebar .brand > span:last-child { min-width:0; flex:1; }
body[data-page="catalog"] .catalog-sidebar .brand small { white-space:normal; line-height:1.5; letter-spacing:0; }
@media(min-width:701px) {
  body[data-page="catalog"] .catalog-sidebar .classification-groups { gap:15px; }
  body[data-page="catalog"] .catalog-sidebar .classification-row { gap:6px; }
  body[data-page="catalog"] .catalog-sidebar .category-tabs { gap:3px; }
  body[data-page="catalog"] .catalog-sidebar .category-tabs button { min-height:32px; padding:5px 8px; font-size:13px; line-height:1.35; }
}
body[data-page="catalog"] .classification-row > strong { color:var(--muted); font-size:13px; font-weight:600; }
body[data-page="catalog"] .classification-empty { margin:8px 0; color:var(--muted); font-size:12px; line-height:1.5; }
body[data-page="catalog"] .category-tabs button { min-height:36px; border-radius:7px; color:var(--muted); font-size:13px; }
body[data-page="catalog"] .category-tabs button.active { background:var(--cyan-soft); color:var(--navy); font-weight:600; }
body[data-page="catalog"] .catalog-shell { display:flex; flex-direction:column; flex:1 0 auto; width:min(1240px,calc(100% - 72px)); padding:32px 0 0; }
body[data-page="catalog"] .catalog-shell > * { flex-shrink:0; }
body[data-page="catalog"] .catalog-heading { gap:16px; margin-bottom:24px; }
body[data-page="catalog"] .catalog-search input { height:44px; min-height:44px; border:1px solid var(--line); border-radius:var(--ui-control); padding:9px 14px; background:#fff; color:var(--ink); font-size:14px; }
body[data-page="catalog"] .catalog-search input::placeholder { color:#829187; }
body[data-page="catalog"] #resultCount { color:var(--muted); font-size:13px; }
body[data-page="catalog"] .view-switch { gap:3px; padding:3px; border:1px solid var(--line); border-radius:var(--ui-control); background:#fff; box-shadow:none; }
body[data-page="catalog"] .view-switch button { min-height:34px; border-radius:6px; padding:6px 14px; color:var(--muted); font-size:13px; }
body[data-page="catalog"] .view-switch button[aria-pressed="true"] { background:var(--cyan-soft); color:var(--navy); font-weight:600; box-shadow:none; }
body[data-page="catalog"] .filter-summary { margin:0 0 18px; }
body[data-page="catalog"] .active-filters button { border-radius:7px; }
body[data-page="catalog"][data-view="waterfall"] .product-grid,
body[data-page="catalog"].series-index .product-grid { display:grid; columns:auto; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); align-items:stretch; gap:28px 18px; }
body[data-page="catalog"] .series-product-heading { grid-column:1/-1; margin:10px 0 0; padding:0 0 10px; border-bottom:1px solid var(--line); color:var(--ink); font-size:17px; font-weight:600; }
body[data-page="catalog"] .series-no-matches { grid-column:1/-1; margin:0; color:var(--muted); font-size:14px; }
body[data-page="catalog"] .product-card,
body[data-page="catalog"] .series-entry,
.related-product { display:block; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--ui-radius); background:#fff; color:var(--ink); box-shadow:none; text-decoration:none; }
body[data-page="catalog"] .product-card { padding:0; margin:0; min-height:0; transition:border-color .16s ease; }
body[data-page="catalog"] .product-card:hover { opacity:1; transform:none; border-color:#acc8b4; box-shadow:none; }
body[data-page="catalog"] .product-media { width:100%; height:auto; aspect-ratio:4/3; overflow:hidden; border-radius:0; background:#edf2ed; }
body[data-page="catalog"] .product-media img { display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; border-radius:0; transition:none; }
body[data-page="catalog"] .product-card:hover .product-media img { transform:none; }
body[data-page="catalog"] .product-info { display:grid; min-width:0; align-content:start; gap:10px; padding:14px 15px 16px; }
body[data-page="catalog"] .product-info h3 { display:block; min-width:0; height:auto; min-height:0; margin:0; overflow:hidden; color:var(--ink); font-size:15px; font-weight:600; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
body[data-page="catalog"] .product-secondary { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:6px; }
body[data-page="catalog"] .product-origin { min-width:0; margin:0; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
body[data-page="catalog"] .product-secondary .arrival-badge { flex:none; padding:2px 6px; border-radius:4px; background:var(--cyan-soft); color:var(--navy); font-size:10px; line-height:1.35; font-weight:600; white-space:nowrap; }
body[data-page="catalog"] .product-meta { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:2px 8px; }
body[data-page="catalog"] .product-meta strong { color:var(--navy); font-size:16px; font-weight:600; line-height:1.35; font-variant-numeric:tabular-nums; }
body[data-page="catalog"] .product-meta span { color:var(--muted); font-size:12px; white-space:nowrap; }
body[data-page="catalog"] .series-entry img { width:100%; aspect-ratio:4/3; object-fit:cover; }
body[data-page="catalog"] .series-entry > div { padding:15px; }
body[data-page="catalog"] .series-entry h2 { display:-webkit-box; height:3em; margin:0 0 4px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:16px; line-height:1.5; font-weight:600; }
body[data-page="catalog"] .series-entry span { color:var(--muted); font-size:12px; }
.series-empty-cover { display:grid; aspect-ratio:4/3; place-items:center; background:var(--cyan-soft); color:var(--muted); font-size:14px; text-align:center; }
body[data-page="catalog"] .empty-state { min-height:240px; padding:48px 24px; border:1px solid var(--line); border-radius:var(--ui-radius); background:#fff; box-shadow:none; }
body[data-page="catalog"] .empty-state h2 { margin:0 0 8px; font-size:21px; font-weight:600; }
body[data-page="catalog"] .empty-state p { margin:0; color:var(--muted); font-size:14px; }
body[data-page="catalog"] .pagination:empty { display:none; }
body[data-page="catalog"] .pagination { min-height:42px; color:var(--muted); font-size:14px; }
body[data-page="catalog"] .site-icp { margin-top:auto; }
body[data-page="catalog"] .floating-contact { min-height:44px; border-radius:var(--ui-control); padding:10px 18px; box-shadow:none; font-size:14px; }

/* 详情页延续相同的图片、信息和操作比例。 */
body[data-page="product-detail"] { background:var(--canvas); }
body[data-page="product-detail"] > :is(#mobileTools,#catalogSidebar,#contactToggle,#contactDialog,#products) { display:none !important; }
.catalog-detail-route[hidden] { display:none !important; }
.catalog-detail-route { display:contents; }
body[data-page="product-detail"] .detail-topbar { min-height:72px; padding:12px clamp(18px,3vw,40px); border-bottom:1px solid var(--line); background:#fff; box-shadow:none; }
body[data-page="product-detail"] .detail-topbar .image-brand { width:54px; height:21.6px; flex-basis:54px; }
body[data-page="product-detail"] .detail-topbar .brand strong { font-size:17px; letter-spacing:.04em; }
body[data-page="product-detail"] .detail-back { justify-self:end; text-decoration:none; }
body[data-page="product-detail"] .detail-shell { width:min(1160px,calc(100% - 48px)); padding:26px 0 48px; }
body[data-page="product-detail"] .detail-hero { grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:clamp(28px,4vw,64px); background:transparent; border:0; padding:0; }
body[data-page="product-detail"] .detail-main-media { border:1px solid var(--line); border-radius:var(--ui-radius); background:#edf2ed; }
body[data-page="product-detail"] .detail-thumbnails { gap:9px; padding-top:12px; }
body[data-page="product-detail"] .detail-thumbnails button { border-radius:7px; }
body[data-page="product-detail"] .detail-thumbnails button.active { border-color:var(--navy); box-shadow:none; }
body[data-page="product-detail"] .detail-summary { padding:2px 0; }
body[data-page="product-detail"] .detail-tags span { padding:5px 8px; border:0; border-radius:6px; background:var(--cyan-soft); color:var(--navy); font-size:12px; }
body[data-page="product-detail"] .detail-sku { margin:20px 0 7px; color:var(--muted); font-size:12px; }
body[data-page="product-detail"] .detail-summary h1 { margin:0 0 24px; font-size:clamp(26px,2.7vw,36px); line-height:1.35; font-weight:600; letter-spacing:0; }
body[data-page="product-detail"] .detail-price { gap:16px; padding:18px 0; border-color:var(--line); }
body[data-page="product-detail"] .detail-price strong { color:var(--navy); font-size:28px; font-weight:600; font-variant-numeric:tabular-nums; }
body[data-page="product-detail"] .price-note { color:var(--muted); font-size:13px; line-height:1.7; }
body[data-page="product-detail"] .detail-key-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:16px 0 22px; }
body[data-page="product-detail"] .detail-origin { display:flex; align-items:baseline; gap:10px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
body[data-page="product-detail"] .detail-origin strong { min-width:0; color:var(--ink); font-size:14px; font-weight:500; overflow-wrap:anywhere; }
body[data-page="product-detail"] .detail-key-specs div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:var(--ui-control); background:#fff; }
body[data-page="product-detail"] .detail-key-specs span { color:var(--muted); font-size:12px; }
body[data-page="product-detail"] .detail-key-specs strong { color:var(--ink); font-size:14px; font-weight:600; }
body[data-page="product-detail"] .detail-inline-actions { gap:10px; }
body[data-page="product-detail"] .detail-inline-actions button { min-height:42px; border-radius:var(--ui-control); font-size:14px; }
body[data-page="product-detail"] .detail-content { gap:16px; margin-top:36px; padding-top:0; border:0; }
body[data-page="product-detail"] .detail-section { padding:24px; border:1px solid var(--line); border-radius:var(--ui-radius); background:#fff; box-shadow:none; }
body[data-page="product-detail"] .detail-section h2,
body[data-page="product-detail"] .related-section h2,
body[data-page="product-detail"] .detail-video h2 { margin:0 0 14px; font-size:18px; font-weight:600; }
body[data-page="product-detail"] .detail-section p { margin:0; color:var(--muted); font-size:14px; line-height:1.85; }
.detail-file-link { display:flex; align-items:center; gap:14px; width:fit-content; max-width:100%; padding:13px 18px; border-radius:8px; background:var(--navy); color:#fff; text-decoration:none; font-weight:600; }
.detail-file-link:hover { filter:brightness(1.12); }
.detail-file-link > span:first-child { display:grid; place-items:center; width:32px; height:32px; border:1px solid #ffffff88; border-radius:50%; font-size:21px; flex:none; }
.detail-file-link small { display:block; margin-top:2px; font-size:12px; font-weight:400; opacity:.78; }
.detail-file-empty { display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:14px; }
.detail-file-empty strong { color:var(--ink); font-size:15px; }
.detail-file-empty button { border:1px solid var(--line); background:#fff; border-radius:6px; padding:8px 12px; color:var(--navy); font-weight:600; }
.product-file-editor { display:grid; gap:12px; margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:8px; background:#f8faf8; }
.product-file-editor p { margin:4px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.product-file-editor label { display:grid; gap:6px; }
.product-file-editor input[type="url"] { width:100%; }
.product-file-editor .ghost-button { justify-self:start; }
body[data-page="product-detail"] .detail-spec-list div { gap:14px; border-color:var(--line); }
body[data-page="product-detail"] .detail-spec-list dd { font-weight:500; }
body[data-page="product-detail"] .related-section,
body[data-page="product-detail"] .detail-video { margin-top:36px; padding-top:26px; border-color:var(--line); }
body[data-page="product-detail"] .related-grid { gap:14px; }
body[data-page="product-detail"] .related-product { border-color:var(--line); }
body[data-page="product-detail"] .related-product > div { padding:13px; }
body[data-page="product-detail"] .related-product strong { font-size:14px; font-weight:600; }
body[data-page="product-detail"] .related-product b { color:var(--navy); font-size:14px; font-weight:600; }
body[data-page="product-detail"] .purchase-bar { border-color:var(--line); background:#fff; box-shadow:none; }
body[data-page="product-detail"] .purchase-bar > span { color:var(--navy); font-variant-numeric:tabular-nums; }

/* 登录页和后台使用相同的颜色、圆角、控件高度。 */
.login-page { padding:24px; background:var(--canvas); }
.login-card { width:min(420px,100%); padding:36px; border:1px solid var(--line); box-shadow:none; }
.login-card h1 { margin:24px 0 8px; font-size:23px; line-height:1.45; font-weight:600; }
.login-card p { margin:0 0 22px; color:var(--muted); font-size:14px; }
.login-card label { gap:8px; margin:18px 0; color:var(--ink); font-size:14px; }
.login-card input,.login-card button { min-height:46px; border-radius:var(--ui-control); }
.login-card input { background:#fff; font-size:16px; }
.login-card > a { margin-top:20px; color:var(--muted); font-size:13px; }
body[data-page="admin"] { --admin-blue:var(--navy); --admin-blue-dark:var(--navy-soft); --admin-ink:var(--ink); --admin-muted:var(--muted); --admin-line:var(--line); --admin-canvas:var(--canvas); background:var(--canvas); color:var(--ink); }
body[data-page="admin"] .admin-sidebar { background:#fff; border-right:1px solid var(--line); box-shadow:none; }
body[data-page="admin"] .admin-brand { padding-bottom:28px; color:var(--ink); }
body[data-page="admin"] .admin-brand strong { color:var(--ink); font-size:16px; }
body[data-page="admin"] .admin-brand small { margin-top:3px; color:var(--muted); font-size:11px; letter-spacing:0; }
body[data-page="admin"] .admin-nav-label { color:var(--muted); font-size:12px; font-weight:500; letter-spacing:0; }
body[data-page="admin"] .admin-nav button { display:flex; align-items:center; gap:8px; min-height:44px; border-radius:var(--ui-control); padding:8px 13px; color:var(--muted); font-size:14px; }
body[data-page="admin"] .admin-nav button > span:nth-child(2) { font-size:14px; font-weight:500; }
body[data-page="admin"] .admin-nav-icon { display:none; }
body[data-page="admin"] .admin-nav button.active { background:var(--cyan-soft); color:var(--navy); box-shadow:none; }
body[data-page="admin"] .admin-nav button.active > span:nth-child(2) { font-weight:600; }
body[data-page="admin"] .admin-nav button:hover { background:#f1f6f2; color:var(--navy); }
body[data-page="admin"] .admin-nav button small { margin-left:auto; border-radius:6px; background:#dceade; color:var(--navy); }
body[data-page="admin"] .admin-sidebar-foot { border-color:var(--line); }
body[data-page="admin"] .admin-avatar { background:var(--cyan-soft); color:var(--navy); }
body[data-page="admin"] .admin-sidebar-foot :is(strong,a) { color:var(--ink); }
body[data-page="admin"] .admin-sidebar-foot small { color:var(--muted); }
body[data-page="admin"] .admin-topbar { min-height:72px; border-bottom:1px solid var(--line); background:#fff; box-shadow:none; }
body[data-page="admin"] .admin-topbar > div:first-child { display:flex; align-items:center; min-width:0; }
body[data-page="admin"] .admin-topbar h1 { font-size:20px; font-weight:600; }
body[data-page="admin"] #adminBreadcrumb { display:none; }
body[data-page="admin"] .admin-top-actions :is(button,a) { min-height:38px; border:1px solid var(--line); border-radius:var(--ui-control); padding:8px 13px; background:#fff; color:var(--ink); font-size:13px; }
body[data-page="admin"] .admin-content { padding-top:30px; }
body[data-page="admin"] .overview-hero { justify-content:flex-end; min-height:0; margin-bottom:14px; padding:0; background:transparent; color:var(--ink); box-shadow:none; }
body[data-page="admin"] .overview-hero h2 { font-size:clamp(22px,2.2vw,28px); font-weight:600; letter-spacing:0; }
body[data-page="admin"] .admin-stats { gap:14px; margin-bottom:20px; }
body[data-page="admin"] .admin-stats article { display:block; padding:20px; border:1px solid var(--line); border-radius:var(--ui-radius); box-shadow:none; }
body[data-page="admin"] .stat-icon { display:none; }
body[data-page="admin"] .admin-stats small { margin-bottom:10px; color:var(--muted); font-size:13px; }
body[data-page="admin"] .admin-stats strong { color:var(--ink); font-size:30px; line-height:1.2; font-weight:600; font-variant-numeric:tabular-nums; }
body[data-page="admin"] .admin-stats p { display:none; }
body[data-page="admin"] .overview-grid { display:block; }
body[data-page="admin"] .overview-panel { padding:24px; border:1px solid var(--line); border-radius:var(--ui-radius); box-shadow:none; }
body[data-page="admin"] .panel-title h3,
body[data-page="admin"] .section-intro h2,
body[data-page="admin"] .form-card-title h3 { font-size:18px; line-height:1.5; font-weight:600; }
body[data-page="admin"] .panel-title p,
body[data-page="admin"] .section-intro p,
body[data-page="admin"] .form-card-title p { color:var(--muted); font-size:13px; line-height:1.6; }
body[data-page="admin"] .analytics-panel { margin-bottom:20px; }
body[data-page="admin"] .analytics-note { color:var(--muted); }
body[data-page="admin"] .section-intro { gap:16px; margin-bottom:20px; }
body[data-page="admin"] .section-intro h2 { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
body[data-page="admin"] .section-intro p { margin:0; }
body[data-page="admin"] :is(.admin-list-panel,.category-admin-panel,.contact-admin-panel,.series-manager-row,.category-manager-row,.form-section) { border:1px solid var(--line); border-radius:var(--ui-radius); background:#fff; box-shadow:none; }
body[data-page="admin"] .admin-list-panel { padding:22px; }
body[data-page="admin"] .admin-tools { gap:10px; margin-bottom:14px; }
body[data-page="admin"] .admin-tools .admin-search-field { flex:1 1 280px; min-width:220px; }
body[data-page="admin"] .admin-tools > select { flex:0 1 180px; width:auto; min-width:158px; }
body[data-page="admin"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea) { border:1px solid var(--line); border-radius:var(--ui-control); background:#fff; color:var(--ink); font-size:14px; }
body[data-page="admin"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select) { min-height:42px; }
body[data-page="admin"] :is(input,select,textarea):focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(40,83,66,.1); }
body[data-page="admin"] .admin-search-field input { background:#fff; }
body[data-page="admin"] :is(.primary-button,.ghost-button,.catalog-import-tools button,.product-bulk-toolbar button,.operations-panel button,.draft-recovery button,.admin-data-actions button,.backup-import) { min-height:40px; border-radius:var(--ui-control); padding:9px 14px; font-size:13px; line-height:1.5; font-weight:500; }
body[data-page="admin"] .primary-button { border-color:var(--navy); background:var(--navy); color:#fff; font-weight:600; }
body[data-page="admin"] .ghost-button { border-color:var(--line); background:#fff; color:var(--ink); }
body[data-page="admin"] .admin-table-head { padding:12px; border-radius:7px; background:var(--canvas); color:var(--muted); font-size:12px; }
body[data-page="admin"] .admin-row { padding:16px 12px; border-color:var(--line); }
body[data-page="admin"] .admin-row strong { color:var(--ink); font-size:14px; font-weight:600; }
body[data-page="admin"] .admin-row span { color:var(--muted); font-size:12px; line-height:1.6; }
body[data-page="admin"] .product-missing-fields { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.6; }
body[data-page="admin"] .product-missing-fields > summary { width:max-content; cursor:pointer; list-style:none; }
body[data-page="admin"] .product-missing-fields > summary::-webkit-details-marker { display:none; }
body[data-page="admin"] .product-missing-fields > summary::after { content:'⌄'; margin-left:5px; }
body[data-page="admin"] .product-missing-fields[open] > summary::after { content:'⌃'; }
body[data-page="admin"] .product-missing-fields > span { display:block; padding-top:3px; }
body[data-page="admin"] .admin-row img { border-radius:7px; }
body[data-page="admin"] .status { border-radius:6px; font-size:12px; }
body[data-page="admin"] .row-actions { display:flex; gap:7px; flex-wrap:wrap; }
body[data-page="admin"] .row-actions button { min-height:34px; border-radius:7px; font-size:12px; }
body[data-page="admin"] .row-more { position:relative; }
body[data-page="admin"] .row-more > summary { display:flex; align-items:center; min-height:34px; padding:6px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font-size:12px; cursor:pointer; list-style:none; }
body[data-page="admin"] .row-more > summary::-webkit-details-marker { display:none; }
body[data-page="admin"] .row-more > div { position:absolute; top:calc(100% + 5px); right:0; z-index:8; display:grid; gap:4px; min-width:110px; padding:5px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:var(--shadow); }
body[data-page="admin"] .row-more > div button { width:100%; border:0; background:#fff; text-align:left; }
body[data-page="admin"] .row-more > div button:hover { background:var(--canvas); }
body[data-page="admin"] .row-more > div button[data-action="delete"] { color:var(--danger); }
body[data-page="admin"] .form-section { padding:24px; gap:16px; }
body[data-page="admin"] .product-form .form-head { flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:16px 22px; border-color:var(--line); }
body[data-page="admin"] .product-form .form-head h2 { color:var(--ink); font-size:20px; font-weight:600; }
body[data-page="admin"] .form-close { flex:0 0 36px; color:var(--ink); border-color:var(--line); border-radius:var(--ui-control); }
body[data-page="admin"] .form-section h3 { color:var(--ink); font-size:16px; font-weight:600; }
body[data-page="admin"] label > span { color:var(--ink); font-size:13px; }
body[data-page="admin"] .product-category-picker { border-color:var(--line); border-radius:var(--ui-control); }
body[data-page="admin"] .admin-category-options button { min-height:36px; border-radius:7px; font-size:13px; }
body[data-page="admin"] .admin-category-options button,
body[data-page="admin"] .admin-category-options.secondary button { border-color:var(--line); background:#fff; color:var(--ink); }
body[data-page="admin"] .admin-category-options button.active,
body[data-page="admin"] .admin-category-options.secondary button.active { border-color:var(--navy); background:var(--cyan-soft); color:var(--navy); font-weight:600; }
body[data-page="admin"] .product-classification-head > button { color:var(--navy); }
body[data-page="admin"] .inline-category-form { border-color:var(--line); background:var(--canvas); }
body[data-page="admin"] .inline-category-form button[type="submit"] { border-color:var(--navy); background:var(--navy); }
body[data-page="admin"] .product-upload-field,
body[data-page="admin"] .upload-field { border-color:var(--line); border-radius:var(--ui-control); background:var(--canvas); }
body[data-page="admin"] .product-upload-field small { color:var(--muted); font-size:12px; }
body[data-page="admin"] .product-flags .check-row { border-color:var(--line); border-radius:var(--ui-control); background:var(--canvas); }
body[data-page="admin"] .form-actions { border-color:var(--line); background:#fff; }
body[data-page="admin"] .category-manager { gap:14px; }
body[data-page="admin"] .category-manager-row { margin-top:0; padding:20px; }
body[data-page="admin"] .managed-subcategory { border-color:var(--line); border-radius:7px; background:var(--canvas); }
body[data-page="admin"] .contact-admin-grid { gap:0; }
body[data-page="admin"] .contact-fields { gap:16px; padding:28px; }
body[data-page="admin"] .form-card-title { border-color:var(--line); }
body[data-page="admin"] .form-card-title > span { background:var(--cyan-soft); color:var(--navy); }
body[data-page="admin"] .contact-preview-wrap { min-height:0; padding:28px; border-color:var(--line); background:var(--canvas); }
body[data-page="admin"] .contact-preview { border:1px solid var(--line); background:#fff; box-shadow:none; }
body[data-page="admin"] .contact-preview p { color:var(--muted); }
body[data-page="admin"] .contact-preview > span { color:var(--navy); }
body[data-page="admin"] .product-completeness-help { margin:6px 2px 14px; color:var(--muted); font-size:12px; line-height:1.6; }
body[data-page="admin"] .product-bulk-toolbar { gap:10px; }
body[data-page="admin"] #productBulkToolbar:not(.has-selection) button { display:none; }
body[data-page="admin"] .product-data-tools { margin:0 0 14px; border:1px solid var(--line); border-radius:var(--ui-control); }
body[data-page="admin"] .product-data-tools > summary { width:100%; padding:12px 14px; color:var(--navy); font-size:13px; font-weight:600; cursor:pointer; list-style:none; }
body[data-page="admin"] .product-data-tools > summary::-webkit-details-marker { display:none; }
body[data-page="admin"] .product-data-tools > summary::after { float:right; content:'＋'; font-size:16px; line-height:1; font-weight:400; }
body[data-page="admin"] .product-data-tools[open] > summary::after { content:'−'; }
body[data-page="admin"] .product-data-tools[open] > summary { margin:0; border-bottom:1px solid var(--line); }
body[data-page="admin"] .catalog-import-tools,
body[data-page="admin"] .admin-data-actions { padding:14px; }
body[data-page="admin"] .admin-data-actions { display:flex; flex-wrap:wrap; gap:10px; }
body[data-page="admin"] .admin-data-actions #resetProducts { margin-left:auto; }
body[data-page="admin"] .operations-metrics > div { border-color:var(--line); border-radius:var(--ui-control); background:#fff; }
body[data-page="admin"] .admin-import-preview th { background:var(--cyan-soft); }

@media(max-width:820px) {
  body[data-page="admin"] .admin-content { padding:22px 18px 40px; }
  body[data-page="admin"] .admin-topbar { min-height:62px; padding:10px 18px; }
  body[data-page="admin"] .admin-topbar p { display:none; }
  body[data-page="admin"] .admin-topbar h1 { font-size:18px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  body[data-page="admin"] .admin-top-actions { gap:8px; }
  body[data-page="admin"] .admin-top-actions a { display:none; }
  body[data-page="admin"] .admin-top-actions button { min-height:36px; padding:6px 10px; white-space:nowrap; }
  body[data-page="admin"] .admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-page="admin"] .admin-stats article { padding:17px; }
  body[data-page="admin"] .admin-stats strong { font-size:27px; }
  body[data-page="admin"] .overview-panel { padding:20px; }
  body[data-page="admin"] .section-intro { align-items:flex-start; flex-wrap:wrap; }
  body[data-page="admin"] .admin-list-panel { padding:16px; }
  body[data-page="admin"] .admin-tools .admin-search-field { flex-basis:100%; min-width:0; }
  body[data-page="admin"] .admin-tools > select { flex:1 1 150px; min-width:0; }
  body[data-page="admin"] .contact-fields { padding:22px; }
  body[data-page="admin"] .contact-preview-wrap { padding:22px; }
  body[data-page="admin"] .category-manager-row { padding:16px; }
}
@media(max-width:700px) {
  body[data-page="catalog"] { padding-left:0; }
  body[data-page="catalog"] .mobile-filter-expansion { border-bottom:1px solid var(--line); background:#fff; box-shadow:0 12px 22px rgba(29,58,42,.1); }
  body[data-page="catalog"] .mobile-filter-inner { scrollbar-width:thin; }
  body[data-page="catalog"] .mobile-filter-hint { position:absolute; right:0; bottom:0; left:0; z-index:1; display:flex; align-items:flex-end; justify-content:center; gap:7px; height:40px; box-sizing:border-box; padding-bottom:7px; background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.5) 50%,rgba(255,255,255,.86)); color:rgba(35,76,64,.76); font-size:11px; line-height:1.4; pointer-events:none; }
  body[data-page="catalog"] .mobile-filter-hint::after { content:''; width:6px; height:6px; margin-bottom:4px; border-right:1.5px solid rgba(35,76,64,.6); border-bottom:1.5px solid rgba(35,76,64,.6); transform:rotate(45deg); }
  body[data-page="catalog"] .mobile-titlebar { display:flex; align-items:center; min-height:58px; height:auto; gap:10px; padding:8px 16px; border-bottom:0; background:#fff; }
  body[data-page="catalog"] .mobile-titlebar .brand-mark { width:38px; height:28px; flex:0 0 38px; }
  body[data-page="catalog"] .mobile-titlebar > div:not(.catalog-search-row) { display:none; }
  body[data-page="catalog"] .mobile-titlebar strong { font-size:15px; line-height:1.35; letter-spacing:0; }
  body[data-page="catalog"] .mobile-titlebar > div > span { display:none; }
  body[data-page="catalog"] .floating-contact { position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); left:auto; z-index:52; width:auto; min-height:44px; border-radius:22px; padding:9px 18px; box-shadow:0 6px 22px rgba(24,60,40,.2); font-size:14px; }
  body[data-page="catalog"] .mobile-titlebar .catalog-search-row { display:flex; flex:1 1 auto; align-items:center; gap:8px; min-width:0; width:auto; height:auto; margin:0; padding:0; background:transparent; }
  body[data-page="catalog"] .catalog-search { flex:1 1 auto; width:auto; max-width:none; min-width:0; }
  body[data-page="catalog"] .catalog-search input { height:40px; min-height:40px; padding:8px 11px; border-color:#e8ede9; background:#f6f8f6; color:var(--ink); font-size:16px; box-shadow:none; }
  body[data-page="catalog"] .catalog-search input::placeholder { color:#94a098; }
  body[data-page="catalog"] .catalog-search input:focus { border-color:var(--navy); background:#fff; box-shadow:0 0 0 3px rgba(40,83,66,.1); }
  body[data-page="catalog"] .mobile-category-bar { display:block; height:0; padding:0 16px; border:0; background:#fff; box-shadow:none; }
  body[data-page="catalog"].catalog-nav-open .mobile-category-bar { height:auto; }
  body[data-page="catalog"] .mobile-more-row { display:none; }
  body[data-page="catalog"] .mobile-menu-toggle { min-width:100px; min-height:42px; border:1px solid var(--navy); border-radius:8px; padding:0 11px; background:var(--navy); color:#fff; font-size:14px; font-weight:600; white-space:nowrap; }
  body[data-page="catalog"] .mobile-menu-toggle:hover { background:var(--navy-soft); border-color:var(--navy-soft); }
  body[data-page="catalog"] .mobile-menu-toggle b { background:#fff; color:var(--navy); }
  body[data-page="catalog"] #catalogSidebar .classification-groups { gap:8px; padding:9px 0 12px; }
  body[data-page="catalog"] #catalogSidebar .classification-row { grid-template-columns:58px minmax(0,1fr); gap:5px; }
  body[data-page="catalog"] #catalogSidebar .classification-row > strong { line-height:32px; }
  body[data-page="catalog"] #catalogSidebar .category-tabs { gap:3px; }
  body[data-page="catalog"] #catalogSidebar .category-tabs button { min-height:32px!important; padding:5px 7px; font-size:12px!important; line-height:1.3; white-space:nowrap; }
  body[data-page="catalog"] .catalog-shell { width:calc(100% - 32px); margin:0 16px; padding-top:16px; }
  body[data-page="catalog"] .catalog-heading { margin:0 0 18px; }
  body[data-page="catalog"] .results-toolbar { min-height:38px; margin:0 0 16px; gap:8px; }
  body[data-page="catalog"] .view-switch button { min-height:32px; padding:5px 11px; font-size:12px; }
  body[data-page="catalog"] #resultCount { font-size:12px; }
  body[data-page="catalog"][data-view="waterfall"] .product-grid { display:grid; columns:auto; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:8px; }
  body[data-page="catalog"].series-index .product-grid { display:grid; columns:auto; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:8px; }
  body[data-page="catalog"] .product-card { display:block; border:1px solid var(--line); padding:0; margin:0; }
  body[data-page="catalog"] .product-media { width:100%; height:auto; aspect-ratio:4/3; border-radius:0; }
  body[data-page="catalog"] .product-media img { width:100%; height:100%; aspect-ratio:4/3; border-radius:0; }
  body[data-page="catalog"] .product-info { display:grid; gap:9px; padding:11px 12px 13px; }
  body[data-page="catalog"] .product-info h3 { min-height:0; font-size:14px; line-height:1.45; }
  body[data-page="catalog"] .product-meta { display:grid; gap:2px; }
  body[data-page="catalog"] .product-meta strong { font-size:15px; }
  body[data-page="catalog"] .product-meta span { font-size:11px; }
  body[data-page="catalog"][data-view="waterfall"] .product-info { gap:6px; padding:8px; }
  body[data-page="catalog"][data-view="waterfall"] .product-info h3 { margin-bottom:4px; font-size:12px; line-height:1.45; }
  body[data-page="catalog"][data-view="waterfall"] .product-meta strong { font-size:13px; }
  body[data-page="catalog"][data-view="waterfall"] .product-meta span { font-size:10px; }
  body[data-page="product-detail"] .related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  body[data-page="product-detail"] .related-product > div { gap:4px; padding:8px; }
  body[data-page="product-detail"] .related-product strong { font-size:12px; line-height:1.45; }
  body[data-page="product-detail"] .related-product span { display:none; }
  body[data-page="product-detail"] .related-product b { font-size:12px; }
  body[data-page="catalog"] .series-entry > div { padding:8px; }
  body[data-page="catalog"] .series-entry h2 { font-size:12px; }
  body[data-page="catalog"] .series-entry span { font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
  body[data-page="catalog"] .series-entry-action { display:none; }
  body[data-page="catalog"] .site-icp { padding-bottom:calc(28px + env(safe-area-inset-bottom,0px)); }
  body[data-page="product-detail"] .detail-topbar { min-height:58px; padding:7px 16px; }
  body[data-page="product-detail"] .detail-topbar .brand { gap:9px; }
  body[data-page="product-detail"] .detail-topbar .image-brand { width:42px; height:16.8px; flex-basis:42px; }
  body[data-page="product-detail"] .detail-topbar .brand strong { font-size:15px; line-height:20px; letter-spacing:0; }
  body[data-page="product-detail"] .detail-back { padding:8px 10px; font-size:13px; }
  body[data-page="product-detail"] .detail-shell { width:calc(100% - 32px); padding-top:18px; }
  body[data-page="product-detail"] .detail-hero { grid-template-columns:1fr; gap:22px; }
  body[data-page="product-detail"] .detail-summary h1 { margin-bottom:18px; font-size:25px; }
  body[data-page="product-detail"] .detail-key-specs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  body[data-page="product-detail"] .detail-key-specs div { padding:9px; }
  body[data-page="product-detail"] .detail-key-specs strong { font-size:12px; }
  body[data-page="product-detail"] .detail-content { gap:12px; margin-top:24px; }
  body[data-page="product-detail"] .detail-section { padding:19px; }
  body[data-page="product-detail"] .detail-section h2 { font-size:17px; }
  body[data-page="product-detail"] .detail-inline-actions { display:none; }
  body[data-page="product-detail"] .purchase-bar { gap:8px; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); }
  body[data-page="product-detail"] .purchase-bar > button { min-height:42px; border-radius:var(--ui-control); font-size:13px; }
  body[data-page="product-detail"] .purchase-bar > span { font-size:15px; }
  .login-card { padding:28px 24px; }
  .login-card h1 { font-size:21px; }
  .app-dialog { padding:23px 20px; }
  body[data-page="admin"] .form-section { padding:18px; }
  body[data-page="admin"] .product-form .form-head { flex-direction:row; padding:14px 18px; }
  body[data-page="admin"] .product-form .form-head h2 { font-size:18px; }
  body[data-page="admin"] .admin-data-actions #resetProducts { margin-left:0; }
}
@media(max-width:319px) {
  body[data-page="catalog"][data-view="waterfall"] .product-grid,
  body[data-page="catalog"].series-index .product-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* 产品详情：让图片、价格和采购信息按阅读顺序呈现。 */
body[data-page="product-detail"] .detail-topbar { position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:16px; }
body[data-page="product-detail"] .detail-topbar .brand { min-width:0; }
body[data-page="product-detail"] .detail-back { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; flex-shrink:0; padding:8px 8px 8px 2px; border:0; border-radius:6px; background:transparent; color:#52645c; font-size:14px; font-weight:500; line-height:20px; text-decoration:none; white-space:nowrap; transition:color .18s ease; }
body[data-page="product-detail"] .detail-back:hover { border:0; background:transparent; color:var(--navy); }
body[data-page="product-detail"] .detail-back:focus-visible,
body[data-page="product-detail"] .detail-return:focus-visible { outline:2px solid var(--navy); outline-offset:3px; }
body[data-page="product-detail"] .detail-back svg,
body[data-page="product-detail"] .detail-return svg { display:block; width:19px; height:19px; flex:none; }
body[data-page="product-detail"] .detail-topbar .brand { gap:10px; }
body[data-page="product-detail"] .detail-topbar .image-brand { width:54px; height:19px; flex:0 0 54px; border-radius:0; background:transparent; box-shadow:none; }
body[data-page="product-detail"] .detail-topbar .image-brand img { display:block; }
body[data-page="product-detail"] .detail-topbar .brand strong { line-height:1.2; }
body[data-page="product-detail"] .detail-topbar .brand small { margin-top:3px; line-height:1.3; }
body[data-page="product-detail"] .detail-shell { padding-top:28px; }
body[data-page="product-detail"] .detail-hero { grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr); gap:clamp(28px,4vw,56px); align-items:start; }
body[data-page="product-detail"] .detail-main-media { display:block; background:#edf1ec; }
body[data-page="product-detail"] .detail-main-media img { display:block; aspect-ratio:4/3; object-fit:contain; }
body[data-page="product-detail"] .detail-summary { padding-top:0; }
body[data-page="product-detail"] .detail-summary h1 { margin:0 0 8px; font-size:clamp(27px,2.65vw,36px); line-height:1.4; }
body[data-page="product-detail"] .detail-sku { margin:0 0 16px; font-size:13px; }
body[data-page="product-detail"] .detail-tags { margin-bottom:22px; }
body[data-page="product-detail"] .detail-price { display:block; padding:19px 0 5px; border-top:1px solid var(--line); border-bottom:0; }
body[data-page="product-detail"] .detail-price span { display:block; margin-bottom:2px; color:var(--muted); font-size:13px; }
body[data-page="product-detail"] .detail-price strong { display:block; font-size:clamp(28px,3vw,36px); line-height:1.3; }
body[data-page="product-detail"] .price-note { margin:0 0 18px; }
body[data-page="product-detail"] .detail-key-specs { display:block; margin:0; padding:0; border-top:1px solid var(--line); }
body[data-page="product-detail"] .detail-key-specs div { display:grid; grid-template-columns:88px minmax(0,1fr); gap:12px; align-items:baseline; min-height:44px; padding:10px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
body[data-page="product-detail"] .detail-key-specs dt { color:var(--muted); font-size:13px; }
body[data-page="product-detail"] .detail-key-specs dd { min-width:0; margin:0; overflow-wrap:anywhere; }
body[data-page="product-detail"] .detail-key-specs strong { display:inline; margin:0; font-size:14px; font-weight:600; }
body[data-page="product-detail"] .detail-inline-actions { margin-top:24px; }
body[data-page="product-detail"] .detail-inline-actions .primary-button { min-width:160px; }
body[data-page="product-detail"] .detail-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; margin-top:42px; }
body[data-page="product-detail"] .detail-content-single { grid-template-columns:1fr; }
body[data-page="product-detail"] .detail-section { min-width:0; padding:26px; }
body[data-page="product-detail"] .detail-description,
body[data-page="product-detail"] .detail-parameters { min-height:100%; }
body[data-page="product-detail"] .detail-after-sales { grid-column:1/-1; }
body[data-page="product-detail"] .detail-report { grid-column:1/-1; }
body[data-page="product-detail"] .detail-spec-list div:first-child { padding-top:0; }
body[data-page="product-detail"] .detail-spec-list div:last-child { border-bottom:0; padding-bottom:0; }
body[data-page="product-detail"] .detail-return { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:42px; padding:8px 2px; color:#52645c; font-size:14px; font-weight:500; text-decoration:none; }
body[data-page="product-detail"] .detail-return:hover { color:var(--navy); }
@media(max-width:900px) {
  body[data-page="product-detail"] .detail-hero,
  body[data-page="product-detail"] .detail-content { grid-template-columns:1fr; }
  body[data-page="product-detail"] .detail-after-sales,
  body[data-page="product-detail"] .detail-report { grid-column:auto; }
}
@media(max-width:700px) {
  body[data-page="product-detail"] .detail-topbar { padding:8px 16px; }
  body[data-page="product-detail"] .detail-topbar .brand small { display:none; }
  body[data-page="product-detail"] .detail-back { min-height:44px; padding:8px 8px 8px 2px; font-size:13px; }
  body[data-page="product-detail"] .detail-topbar .image-brand { width:48px; height:17px; flex-basis:48px; }
  body[data-page="product-detail"] .detail-shell { padding-top:16px; }
  body[data-page="product-detail"] .detail-hero { gap:18px; }
  body[data-page="product-detail"] .detail-main-media img { aspect-ratio:1.25; }
  body[data-page="product-detail"] .detail-summary h1 { margin-bottom:6px; font-size:24px; }
  body[data-page="product-detail"] .detail-sku { margin-bottom:12px; }
  body[data-page="product-detail"] .detail-tags { margin-bottom:14px; }
  body[data-page="product-detail"] .detail-price { padding-top:15px; }
  body[data-page="product-detail"] .detail-key-specs div { grid-template-columns:80px minmax(0,1fr); }
  body[data-page="product-detail"] .detail-content { gap:12px; margin-top:28px; }
  body[data-page="product-detail"] .detail-section { padding:20px; }
  body[data-page="product-detail"] .detail-return { margin-top:28px; }
}
@media(max-width:390px) {
  body[data-page="product-detail"] .detail-topbar { gap:8px; }
  body[data-page="product-detail"] .detail-topbar .brand { gap:5px; }
  body[data-page="product-detail"] .detail-topbar .brand strong { font-size:13px; }
}

/* 详情页：大图为主，规格报价为第二视觉焦点。 */
body[data-page="product-detail"] { background:#f7f9f6; }
body[data-page="product-detail"] .detail-shell { width:min(1240px,calc(100% - 64px)); padding-top:34px; }
body[data-page="product-detail"] .detail-hero { grid-template-columns:minmax(0,1.16fr) minmax(350px,.84fr); gap:clamp(32px,4vw,64px); }
body[data-page="product-detail"] .detail-gallery { position:sticky; top:104px; }
body[data-page="product-detail"] .detail-main-media { border-color:#e1e8df; border-radius:16px; background:#eef2ed; }
body[data-page="product-detail"] .detail-main-media img { aspect-ratio:1.12; object-fit:contain; }
body[data-page="product-detail"] .zoom-trigger>span { bottom:16px; left:16px; border:1px solid #e1e8df; border-radius:7px; padding:7px 11px; background:rgba(255,255,255,.94); color:var(--ink); font-size:12px; font-weight:500; }
body[data-page="product-detail"] .detail-thumbnails { gap:10px; padding-top:14px; }
body[data-page="product-detail"] .detail-thumbnails button { flex-basis:80px; min-height:60px; border:1px solid #dce6de; border-radius:9px; background:#eef2ed; }
body[data-page="product-detail"] .detail-thumbnails button.active { border:2px solid var(--navy); }
body[data-page="product-detail"] .detail-summary h1 { margin-bottom:7px; font-size:clamp(29px,2.8vw,38px); line-height:1.33; font-weight:650; }
body[data-page="product-detail"] .detail-sku { margin-bottom:14px; }
body[data-page="product-detail"] .detail-tags { margin-bottom:19px; }
body[data-page="product-detail"] .detail-price { padding:22px; border:1px solid #dce7dd; border-radius:14px; background:#fff; }
body[data-page="product-detail"] .detail-price h2 { margin:0 0 9px; color:var(--ink); font-size:17px; line-height:1.45; font-weight:600; }
body[data-page="product-detail"] .detail-current-price { display:flex; align-items:baseline; gap:6px; }
body[data-page="product-detail"] .detail-current-price strong { color:var(--navy); font-size:clamp(34px,3.5vw,46px); line-height:1.15; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
body[data-page="product-detail"] .detail-current-price span { color:var(--muted); font-size:14px; }
body[data-page="product-detail"] .detail-current-variant { margin:7px 0 0; color:#536b5b; font-size:13px; line-height:1.6; }
body[data-page="product-detail"] .detail-variant-list { display:grid; gap:8px; margin-top:18px; }
body[data-page="product-detail"] .detail-variant { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:54px; padding:10px 14px; border:1px solid #dce6de; border-radius:9px; background:#fff; color:var(--ink); text-align:left; }
body[data-page="product-detail"] .detail-variant:hover { border-color:#98b6a2; background:#f8fbf8; }
body[data-page="product-detail"] .detail-variant.is-selected { border-color:var(--navy); background:#edf5ee; box-shadow:inset 3px 0 0 var(--navy); }
body[data-page="product-detail"] .detail-variant span { min-width:0; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
body[data-page="product-detail"] .detail-variant strong { flex-shrink:0; color:var(--navy); font-size:17px; line-height:1.3; font-weight:650; font-variant-numeric:tabular-nums; }
body[data-page="product-detail"] .price-note { margin:12px 2px 18px; font-size:12px; }
body[data-page="product-detail"] .detail-key-specs { border-top:0; }
body[data-page="product-detail"] .detail-key-specs div { grid-template-columns:84px minmax(0,1fr); }
body[data-page="product-detail"] .detail-inline-actions { margin-top:22px; }
body[data-page="product-detail"] .detail-inline-actions .primary-button { min-width:180px; }
body[data-page="product-detail"] .detail-content { margin-top:56px; }
body[data-page="product-detail"] .detail-section { border-color:#e1e9e1; }
body[data-page="product-detail"] .detail-spec-list dt { color:var(--muted); font-size:13px; }
body[data-page="product-detail"] .detail-spec-list dd { color:var(--ink); font-size:14px; }

/* 后台：每条规格在一行内完成命名与定价。 */
.variant-editor { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.variant-editor-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.variant-editor-heading strong { color:var(--ink); font-size:15px; font-weight:600; }
.variant-editor-heading p { margin:3px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.variant-editor-heading button,.variant-editor-row button { flex-shrink:0; min-height:40px; padding:8px 13px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--navy); font-size:13px; }
.variant-editor-heading button:hover,.variant-editor-row button:hover { border-color:#abc3ae; background:#f7faf7; }
.variant-editor-rows { display:grid; gap:10px; margin-top:14px; }
.variant-editor-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(130px,.8fr) auto; align-items:end; gap:10px; padding:13px; border:1px solid var(--line); border-radius:10px; background:#f8faf8; }
.variant-editor-row label { display:grid; gap:5px; min-width:0; }
.variant-editor-row label span { color:var(--muted); font-size:12px; }
.variant-editor-row input { width:100%; min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; font-size:14px; }
.variant-editor-row button { color:#8c4e43; }
body[data-page="admin"] #price[readonly] { background:#f3f7f3; color:var(--navy); font-weight:600; }
@media(max-width:900px) {
  body[data-page="product-detail"] .detail-gallery { position:static; }
  body[data-page="product-detail"] .detail-hero { grid-template-columns:1fr; }
  body[data-page="product-detail"] .detail-main-media img { aspect-ratio:1.3; }
}
@media(max-width:700px) {
  body[data-page="product-detail"] .detail-shell { width:calc(100% - 32px); padding-top:16px; }
  body[data-page="product-detail"] .detail-hero { gap:22px; }
  body[data-page="product-detail"] .detail-main-media { border-radius:12px; }
  body[data-page="product-detail"] .detail-main-media img { aspect-ratio:1.25; }
  body[data-page="product-detail"] .detail-summary h1 { font-size:25px; }
  body[data-page="product-detail"] .detail-price { padding:18px; }
  body[data-page="product-detail"] .detail-current-price strong { font-size:38px; }
  body[data-page="product-detail"] .detail-variant { min-height:56px; }
  body[data-page="product-detail"] .detail-content { margin-top:30px; }
  .variant-editor-heading { align-items:flex-start; }
  .variant-editor-row { grid-template-columns:minmax(0,1fr) minmax(100px,.65fr); }
  .variant-editor-row button { grid-column:1/-1; justify-self:end; }
}
@media(max-width:380px) {
  body[data-page="product-detail"] .detail-variant { align-items:flex-start; flex-direction:column; gap:3px; }
  .variant-editor-row { grid-template-columns:1fr; }
  .variant-editor-row button { grid-column:auto; }
}

/* 详情页信息按报价、供货和产品资料分组，减少不必要的纵向留白。 */
body[data-page="product-detail"] .detail-shell { padding-top:24px; }
body[data-page="product-detail"] .detail-hero { gap:clamp(24px,3vw,42px); }
body[data-page="product-detail"] .detail-main-media img { aspect-ratio:4/3; }
body[data-page="product-detail"] .detail-thumbnails { gap:8px; padding-top:10px; }
body[data-page="product-detail"] .detail-thumbnails button { flex-basis:68px; min-height:52px; }
body[data-page="product-detail"] .detail-summary h1 { margin-bottom:4px; font-size:clamp(27px,2.5vw,34px); }
body[data-page="product-detail"] .detail-sku { margin-bottom:9px; }
body[data-page="product-detail"] .detail-tags { margin-bottom:13px; }
body[data-page="product-detail"] .detail-price { padding:16px 18px; border-radius:11px; }
body[data-page="product-detail"] .detail-price h2,
body[data-page="product-detail"] .detail-supply h2 { margin:0 0 7px; color:var(--ink); font-size:16px; font-weight:600; line-height:1.4; }
body[data-page="product-detail"] .detail-current-price strong { font-size:clamp(31px,3vw,40px); }
body[data-page="product-detail"] .detail-current-variant { margin-top:4px; }
body[data-page="product-detail"] .detail-variant-list { gap:6px; margin-top:12px; }
body[data-page="product-detail"] .detail-variant { min-height:46px; padding:8px 11px; }
body[data-page="product-detail"] .detail-variant strong { font-size:15px; }
body[data-page="product-detail"] .price-note { margin:12px 0 0; padding-top:10px; border-top:1px solid var(--line); line-height:1.55; }
body[data-page="product-detail"] .detail-supply { margin-top:20px; }
body[data-page="product-detail"] .detail-key-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
body[data-page="product-detail"] .detail-key-specs div { grid-template-columns:68px minmax(0,1fr); gap:6px; min-height:40px; padding:8px 0; }
body[data-page="product-detail"] .detail-key-specs dt { font-size:12px; }
body[data-page="product-detail"] .detail-key-specs strong { font-size:13px; }
body[data-page="product-detail"] .detail-inline-actions { margin-top:16px; }
body[data-page="product-detail"] .detail-content { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:14px; margin-top:32px; }
body[data-page="product-detail"] .detail-info-column { display:grid; align-content:start; gap:14px; min-width:0; }
body[data-page="product-detail"] .detail-section { min-height:0; padding:19px 21px; }
body[data-page="product-detail"] .detail-section h2 { margin-bottom:10px; font-size:17px; }
body[data-page="product-detail"] .detail-section p { line-height:1.7; }
body[data-page="product-detail"] .detail-spec-list div { padding:8px 0; }
body[data-page="product-detail"] .detail-after-sales,
body[data-page="product-detail"] .detail-report { grid-column:auto; }
body[data-page="product-detail"] .detail-file-empty { gap:7px; }
body[data-page="product-detail"] .related-section,
body[data-page="product-detail"] .detail-video { margin-top:30px; padding-top:22px; }
@media(max-width:900px) {
  body[data-page="product-detail"] .detail-content { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  body[data-page="product-detail"] .detail-shell { padding-top:12px; }
  body[data-page="product-detail"] .detail-hero { gap:15px; }
  body[data-page="product-detail"] .detail-main-media img { aspect-ratio:1.35; }
  body[data-page="product-detail"] .detail-summary h1 { font-size:24px; }
  body[data-page="product-detail"] .detail-price { padding:15px; }
  body[data-page="product-detail"] .detail-variant { min-height:46px; }
  body[data-page="product-detail"] .detail-supply { margin-top:17px; }
  body[data-page="product-detail"] .detail-content { gap:12px; margin-top:24px; }
  body[data-page="product-detail"] .detail-info-column { gap:12px; }
  body[data-page="product-detail"] .detail-section { padding:17px; }
}
@media(max-width:390px) {
  body[data-page="product-detail"] .detail-key-specs { column-gap:8px; }
  body[data-page="product-detail"] .detail-key-specs div { grid-template-columns:1fr; gap:2px; }
}
