/* Compact desktop trial. No fields are hidden and the save contract is unchanged. */
body .product-editor-page:has(.product-entry-form) { max-width:1440px; margin-bottom:0; }
body .app:has(> .product-editor-page:not(.hidden)) { padding-bottom:8px; }
body .app:has(> .product-editor-page:not(.hidden)) .topbar { margin-bottom:12px; }
body .product-editor-page:has(.product-entry-form) .product-editor-page-head { display:flex; align-items:center; min-height:0; padding:8px 18px; border-radius:8px; }
body .product-editor-page:has(.product-entry-form) .product-editor-page-head > div:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; width:100%; }
body .product-editor-page:has(.product-entry-form) .product-editor-page-head h2 { margin:0; font-size:18px; line-height:26px; order:-1; }
body .product-editor-page:has(.product-entry-form) .product-editor-page-head > div > span { font-size:12px; line-height:18px; color:var(--ds-secondary,#666); }
body .product-editor-page:has(.product-entry-form) .product-editor-back { margin-left:auto; order:2; min-height:30px; padding:3px 10px; font-size:12px; }
body .product-editor-page:has(.product-entry-form) .product-editor-page-body { padding:8px 0 0; }
body .product-editor-page .product-entry-form {
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  grid-template-areas:"basics rent" "sn sn" "save save";
  gap:10px; padding:10px; align-items:stretch; border-radius:8px;
}
body .product-entry-form > .rental-product-form-head { display:none; }
body .product-entry-form > .rental-product-stock-layout { display:contents; }
body .product-entry-form .product-entry-overview {
  grid-area:basics; display:grid; grid-template-columns:96px minmax(0,1fr);
  gap:8px 16px; padding:10px 16px; margin:0;
  border:1px solid var(--ds-border,#e7e7e7); border-radius:6px; background:#fff;
}
body .product-entry-overview::before { content:"基本信息"; grid-column:1 / -1; font-size:14px; font-weight:600; line-height:20px; }
body .product-entry-overview > .rental-product-image-row { grid-column:1; grid-row:2 / 4; justify-content:flex-start; }
body .product-entry-overview > .rental-product-form-row:has([data-field="name"]) { grid-column:2; }
body .product-entry-overview .product-entry-attributes { grid-column:2; border:0; padding:0; gap:0; }
body .product-entry-overview .product-entry-attributes h4 { display:none; }
body .product-entry-overview .product-entry-attribute-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
body .product-entry-overview > .rental-product-form-row:has([data-field="note"]) { grid-column:1 / -1; }
body .product-entry-form .product-entry-overview .rental-product-image-row .product-image-editor { width:96px; gap:6px; }
body .product-entry-form .product-entry-overview .rental-product-image-row .product-image-preview { width:96px; height:96px; border-radius:6px; }
body .product-entry-form .product-entry-overview .product-image-upload-button { width:96px; min-height:28px; padding:3px 6px; font-size:12px; }
body .product-entry-form .product-entry-overview .rental-product-form-row,
body .product-entry-form .product-entry-overview .product-entry-attribute-field { gap:4px; }
body .product-entry-form .product-entry-overview :is(.product-option-picker summary,select,input:not([type="file"]):not([type="hidden"]),textarea) { min-height:30px; height:30px; padding:4px 9px; font-size:13px; line-height:20px; border-radius:5px; box-sizing:border-box; }
body .product-entry-form .product-entry-overview textarea { resize:none; }
body .product-entry-form .product-entry-overview label > span,
body .product-entry-form .product-entry-overview .rental-product-form-row > span,
body .product-entry-form .product-entry-overview .product-entry-attribute-field > span { font-size:12px; line-height:18px; font-weight:400; }
body .product-entry-form .rental-product-stock-fields { grid-area:rent; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:12px; padding:14px 16px; border-radius:6px; }
body .product-entry-form .rental-product-stock-fields::before { padding:0; line-height:20px; font-size:14px; }
body .product-entry-form .rental-product-compact-row { gap:4px; }
body .product-entry-form .rental-product-compact-row > span { line-height:18px; font-size:12px; font-weight:400; }
body .product-entry-form .rental-product-compact-row :is(input,textarea) { width:100%; min-height:32px; height:32px; padding:5px 9px; font-size:13px; line-height:20px; box-sizing:border-box; border-radius:5px; }
body .product-entry-form .rental-product-compact-row .rental-product-input-unit input { padding-right:45px; }
body .product-entry-form .rental-product-accessories-row { grid-column:1 / -1; }
body .product-entry-form .rental-product-accessories-row textarea { min-height:32px; max-height:32px; resize:none; white-space:nowrap; }
body .product-entry-form .rental-product-sn-editor { grid-area:sn; min-width:0; border-radius:6px; }
body .product-entry-form .rental-product-sn-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; padding:6px 12px; }
body .product-entry-form .rental-product-sn-head strong { font-size:14px; line-height:20px; }
body .product-entry-form .rental-product-sn-head span { font-size:12px; }
body .product-entry-form .rental-product-sn-table { max-height:clamp(80px,calc(100dvh - 650px),200px); overflow:auto; overscroll-behavior:contain; }
body .product-entry-form .rental-product-sn-header { position:sticky; top:0; z-index:2; padding-top:7px; padding-bottom:7px; background:#f3f4f6; }
body .product-entry-form .rental-product-sn-row { padding-top:5px; padding-bottom:5px; }
body .product-entry-form .rental-product-sn-row :is(input,select) { min-height:30px; height:30px; font-size:12px; padding:4px 7px; }
body .product-entry-form .rental-product-sn-actions { padding:8px 12px; gap:8px; }
body .product-entry-form .rental-product-sn-actions button { min-height:30px; padding:4px 10px; font-size:12px; }
body .product-entry-form > .rental-product-submit-actions { grid-area:save; display:flex; justify-content:flex-end; margin:0; padding:6px 0 0; border-top:1px solid var(--ds-border,#e7e7e7); }
body .product-entry-form > .rental-product-submit-actions button { min-height:34px; padding:5px 20px; }
body :is(#equipmentProductEditorForm,#accessoryProductEditorForm) .rental-product-submit-actions { justify-content:flex-end; }
@media(max-width:1050px) {
  body .product-editor-page .product-entry-form { grid-template-columns:minmax(0,1fr); grid-template-areas:"basics" "rent" "sn" "save"; }
  body .product-entry-form .product-entry-overview { grid-template-columns:110px minmax(0,1fr); }
  body .product-entry-form .product-entry-overview .product-entry-attribute-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body .product-entry-form .rental-product-sn-table { max-height:200px; }
}
@media(max-width:650px) {
  body .product-entry-form .product-entry-overview .product-entry-attribute-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .product-entry-form .rental-product-stock-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .product-entry-form .product-entry-overview { grid-template-columns:96px minmax(0,1fr); padding:12px; gap:10px; }
  body .product-editor-page:has(.product-entry-form) .product-editor-page-head > div > span { flex-basis:100%; }
}
