.sidebar { padding-top: 20px; overflow: hidden; }
.brand { padding-bottom: 18px; }
.sidebar nav { flex: 1; min-height: 0; gap: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #536078 transparent; padding-right: 4px; }
.sidebar nav::-webkit-scrollbar { width: 6px; }
.sidebar nav::-webkit-scrollbar-thumb { background: #536078; border-radius: 10px; }
.sidebar nav::-webkit-scrollbar-track { background: transparent; }
.sidebar nav > .nav { margin: 0; padding: 5px 12px; min-height: 32px; border-bottom: 1px solid #2b374b; border-radius: 4px; font-size: 13px; transition: background-color .16s ease, color .16s ease; }
.sidebar nav > .nav.active { background: #2b3c59; color: #fff; box-shadow: inset 3px 0 0 #78a6ff; }
.sidebar nav > .nav:last-child { border-bottom-color: transparent; }
.menu-order-controls { display: grid; grid-template-columns: 1fr auto auto; gap: 6px; margin: 10px 6px 2px; }
.menu-order-controls button { border: 1px solid #344056; border-radius: 7px; background: #202b3e; color: #aeb8ca; padding: 7px 9px; cursor: pointer; }
.menu-order-controls button:hover { background: #2b3951; color: #fff; }
.menu-order-controls button[hidden] { display: none; }
.sidebar nav.sorting .nav { cursor: grab; border: 1px dashed #59677e; }
.sidebar nav.sorting .nav:active { cursor: grabbing; }
.sidebar nav.sorting .nav.sort-selected { color: #fff; background: #344766; outline: 2px solid #557ee8; }
.sidebar nav.sorting .nav.dragging { opacity: .45; }
.cell-sub { display: block; color: var(--muted); margin-top: 4px; }
.address-cell { max-width: 230px; overflow: hidden; text-overflow: ellipsis; }
.readonly { background: #f1f4f8 !important; color: #6f7a8d; cursor: not-allowed; }
.field-with-button { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.field-with-button button { border: 1px solid #dfe3eb; border-radius: 8px; padding: 0 12px; background: #fff; color: var(--blue); cursor: pointer; white-space: nowrap; }
.product-dialog { width: min(930px, calc(100% - 30px)); }
.product-form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.product-form-grid .product-level-field { grid-column: span 2; }
.product-form-grid .field-with-button { min-width: 0; }
.product-form-grid [name="category"] { min-width: 0; }
.staff-dialog { width: min(980px, calc(100% - 30px)); }
.staff-form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.staff-form-grid label.wide { grid-column: span 2; }
.stock-dialog { width: min(760px, calc(100% - 30px)); }
.adjustment-dialog { width: min(1180px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); overflow: auto; }
.stock-form-grid { grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.inbound-dialog { width: min(1040px,calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: hidden; border: 1px solid #dfe6f1; border-radius: 20px; background: #f5f7fb; box-shadow: 0 28px 90px #101a304d; }
.inbound-dialog::backdrop { background: #14213d99; backdrop-filter: blur(4px); }
#stock-form { display: flex; max-height: calc(100vh - 32px); padding: 0; flex-direction: column; }
.inbound-dialog-head { flex: 0 0 auto; align-items: center; padding: 22px 28px; border-bottom: 1px solid #dae4f5; background: linear-gradient(135deg,#f9fbff 0%,#edf4ff 58%,#e6efff 100%); }
.inbound-title-wrap { display: flex; align-items: center; gap: 15px; }
.inbound-title-icon { display: grid; width: 50px; height: 50px; flex: 0 0 50px; place-items: center; border-radius: 15px; background: linear-gradient(135deg,#4677ee,#2857cf); color: #fff; font-size: 22px; font-weight: 800; box-shadow: 0 9px 22px #315fce45; }
.inbound-dialog-head h2 { margin: 2px 0 4px; color: #172033; font-size: 24px; }
.inbound-dialog-head p { margin: 0; color: #6d7b92; font-size: 13px; }
.inbound-dialog-head .icon-btn { border: 1px solid #d5dfef; background: #ffffffcc; color: #65728a; transition: .18s ease; }
.inbound-dialog-head .icon-btn:hover { border-color: #b7c7e1; background: #fff; color: #244fae; transform: rotate(5deg); }
.inbound-dialog-body { min-height: 0; padding: 20px 24px; overflow: auto; }
.inbound-card { margin-bottom: 16px; padding: 18px 20px; border: 1px solid #e1e7f0; border-radius: 14px; background: #fff; box-shadow: 0 4px 15px #192a4608; }
.inbound-card:last-child { margin-bottom: 0; }
.inbound-section-title { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 15px; }
.inbound-section-title > div { display: flex; align-items: center; gap: 10px; }
.inbound-section-title h3 { margin: 0; color: #263248; font-size: 16px; }
.inbound-section-title p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.inbound-section-title small { color: #8a95a8; font-size: 12px; }.inbound-section-title small b,.inbound-basic-grid label span b { color: #e35252; }
.section-step { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #edf3ff; color: #3765d2; font-size: 11px; font-weight: 800; }
.inbound-basic-grid { margin-top: 0; }
.inbound-basic-grid label > span { color: #435068; font-size: 13px; font-weight: 700; }
.inbound-basic-grid input { height: 42px; background: #fbfcfe; transition: border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.inbound-basic-grid input:focus { background: #fff; }
.inbound-lines-title { margin-bottom: 13px; }
.inbound-lines-actions { display: flex!important; align-items: center; gap: 10px!important; }
.inbound-count-badge { padding: 6px 11px; border-radius: 99px; background: #edf3ff; color: #55709f; font-size: 12px; white-space: nowrap; }
.inbound-count-badge strong { color: #2f5ec9; font-size: 14px; }
.inbound-lines-actions .secondary { padding: 8px 13px; border-color: #cbd8ee; color: #315ec4; }
.inbound-table-shell { overflow: hidden; border: 1px solid #e1e6ef; border-radius: 12px; background: #fff; }
.inbound-item-head,.inbound-item-row { display: grid; grid-template-columns: minmax(245px,2.1fr) minmax(145px,1.05fr) minmax(120px,.9fr) minmax(150px,1fr) 58px; gap: 12px; align-items: center; }
.inbound-item-head { padding: 10px 14px; background: #f4f7fb; color: #77849a; font-size: 12px; font-weight: 700; }
.inbound-item-head span:last-child { text-align: center; }
.inbound-item-row { padding: 12px 14px; border-top: 1px solid #e9edf3; background: #fff; transition: background .15s ease; }
.inbound-item-row:hover { background: #fbfcff; }
.inbound-item-row select,.inbound-item-row input { width: 100%; min-width: 0; height: 40px; border: 1px solid #dce2eb; border-radius: 8px; padding: 9px 11px; background: #fff; outline: none; }
.inbound-item-row select:focus,.inbound-item-row input:focus { border-color: #4a74dc; box-shadow: 0 0 0 3px #3568e814; }
.ib-spec { overflow: hidden; padding: 6px 9px; border-radius: 7px; background: #f3f5f8; color: #657188; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ib-stock { color: #637086; font-size: 12px; }.ib-stock strong { color: #26364f; font-size: 15px; }
.inbound-qty-field { position: relative; display: block!important; }
.inbound-qty-field .ib-qty { padding-right: 48px; font-weight: 700; color: #244fac; }
.inbound-qty-field .ib-unit { position: absolute; top: 50%; right: 11px; color: #7b879a; font-size: 12px; font-weight: 500; transform: translateY(-50%); pointer-events: none; }
.remove-inbound-item { width: 32px; height: 32px; justify-self: center; border: 1px solid #f0d4d4; border-radius: 9px; background: #fff8f8; color: #c64a4a; font-size: 18px; cursor: pointer; }
.remove-inbound-item:hover { border-color: #dfaaaa; background: #fff0f0; }
.inbound-remark { display: block; }.inbound-remark textarea { width: 100%; min-height: 70px; border: 1px solid #dfe4ec; border-radius: 10px; padding: 12px 14px; background: #fbfcfe; resize: vertical; outline: none; }.inbound-remark textarea:focus { border-color: #4a74dc; background: #fff; box-shadow: 0 0 0 3px #3568e814; }
.inbound-dialog-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex: 0 0 auto; padding: 15px 24px; border-top: 1px solid #dfe5ee; background: #fff; box-shadow: 0 -8px 24px #1720330a; }
.inbound-dialog-footer .dialog-actions { margin: 0; }
.inbound-summary { display: flex; align-items: center; gap: 10px; color: #7a8699; font-size: 12px; }.inbound-summary strong { color: #35425a; font-size: 13px; }.inbound-summary strong b { color: #2f60ce; font-size: 17px; }.inbound-summary i { width: 1px; height: 22px; background: #dfe5ee; }
.inbound-save-button { min-width: 205px; padding: 12px 18px; font-size: 14px; }.inbound-save-button span { margin-right: 5px; }
.stock-product-field { grid-column: 1 / -1; padding: 14px; border: 1px solid #dfe5ef; border-radius: 10px; background: #f7f9fc; }
.stock-product-field select { background: #fff; }
.stock-product-field .stock-tip { display: block; margin-top: 6px; color: var(--blue); }
.inbound-record-panel { margin-top: 18px; }
.inbound-record-panel .search { min-width: 330px; }
.header-actions { display: flex; gap: 10px; }
.toolbar-actions { display: flex; align-items: center; gap: 10px; }
.product-list-controls label { display: grid; gap: 4px; min-width: 112px; color: #667085; font-size: 12px; font-weight: 600; }
.product-list-controls select { width: 100%; min-height: 36px; border: 1px solid #dfe3eb; border-radius: 8px; padding: 7px 9px; background: #fff; color: #344054; }
.secondary { border: 1px solid #dce1ea; border-radius: 8px; background: #fff; color: #465168; padding: 10px 16px; font-weight: 600; cursor: pointer; }
.secondary:hover { border-color: var(--blue); color: var(--blue); }
.secondary[hidden] { display: none; }
.secondary.refreshing { animation: refresh-pulse .7s infinite alternate; }
@keyframes refresh-pulse { to { opacity: .45; } }
.settings-intro { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.settings-intro h2 { margin: 0; font-size: 20px; }
.settings-intro p { margin: 0; color: var(--muted); font-size: 13px; }
.settings-section { margin-bottom: 22px; }
.settings-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 0 0 12px; }
.settings-section-head h3 { margin: 0; color: #172033; font-size: 16px; }
.settings-section-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.delivery-commission-card .table-wrap{max-height:calc(100vh - 330px);overflow:auto}.delivery-commission-card thead th{position:sticky;top:0;z-index:1;background:#f8fafc}.delivery-commission-card input[type="number"]{width:140px;min-width:110px}.delivery-commission-card td:first-child{min-width:180px}
.commerce-delivery-actions{align-items:center;flex-wrap:wrap}.commerce-driver-select{width:132px;min-width:112px;height:36px;padding:6px 9px}.commerce-delivery-actions .commerce-assign-driver{white-space:nowrap}
.settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; grid-auto-flow: dense; }
.settings-grid.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-grid.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.settings-grid.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.setting-card { margin: 0; }
.print-tuning-card { grid-column: 1 / -1; margin: 0; }
.settings-grid.grid-2 > .print-tuning-card { grid-column: auto; }
.print-tuning-summary { color: var(--muted); font-size: 13px; }
.backup-note { margin-bottom: 12px; padding: 10px 12px; border-radius: 8px; background: #f2f6ff; color: #465168; font-size: 13px; }
.backup-schedule{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px;border:1px solid #dbe7ff;border-radius:9px;background:#f8fbff}.backup-schedule label{display:flex;align-items:center;gap:8px;font-weight:600;color:#344054}.backup-schedule input{width:112px}.backup-schedule span{flex:1;color:#475467;font-size:13px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:14px;border:1px solid #fecdca;border-radius:9px;background:#fffbfa}.danger-zone>div{display:grid;gap:4px}.danger-zone span{font-size:13px;color:#b42318}@media(max-width:760px){.backup-schedule,.backup-directory,.danger-zone{align-items:flex-start;flex-direction:column}.backup-directory-actions{width:100%}}
.backup-directory { display: flex; align-items: end; gap: 12px; margin: 0 0 12px; padding: 12px; border: 1px solid #e3e8f1; border-radius: 9px; background: #fbfcff; }
.backup-directory label { display: grid; flex: 1; gap: 7px; color: #344054; font-size: 13px; font-weight: 700; }
.backup-directory input { width: 100%; min-height: 38px; border: 1px solid #dfe3eb; border-radius: 8px; padding: 8px 10px; background: #fff; }
.backup-directory-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.backup-directory-actions .secondary { white-space: nowrap; }
.backup-table { max-height: 300px; overflow: auto; }
.backup-table th { position: sticky; top: 0; z-index: 1; background: #f7f9fc; }
.backup-table td:nth-child(4) { max-width: 320px; overflow-wrap: anywhere; }
.backup-actions { display: flex; gap: 8px; white-space: nowrap; }
.audit-table { max-height: 258px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.audit-table th { position: sticky; top: 0; z-index: 1; background: #f7f9fc; box-shadow: 0 1px 0 var(--line); }
.member-balance-dialog { width: min(980px, calc(100% - 30px)); padding: 0; overflow: hidden; border: 0; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px #17203345; }
.member-balance-dialog::backdrop { background: #17203388; backdrop-filter: blur(3px); }
.member-balance-head { margin: 0; padding: 24px 28px 20px; border-bottom: 1px solid #e7ebf2; background: linear-gradient(135deg,#f8faff 0%,#eef4ff 100%); }
.member-balance-head h2 { margin: 2px 0 4px; font-size: 25px; color: #172033; }
.member-balance-head p { margin: 0; color: var(--muted); font-size: 13px; }
.dialog-eyebrow { color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: 1.6px; }
.member-balance-overview { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 14px; padding: 20px 28px; background: #fff; }
.member-identity,.member-balance-metric { min-height: 78px; box-sizing: border-box; border: 1px solid #e4e9f2; border-radius: 13px; background: #f8faff; }
.member-identity { display: flex; align-items: center; gap: 13px; padding: 14px 16px; }
.member-avatar { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 14px; background: linear-gradient(135deg,#5279e8,#345ac8); color: #fff; font-size: 22px; font-weight: 800; box-shadow: 0 7px 16px #456bd83d; }
.member-identity div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.member-identity small,.member-balance-metric span { color: var(--muted); font-size: 12px; }
.member-identity strong { overflow: hidden; color: #1f2a40; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.member-identity div > span { color: #68758d; font-size: 12px; }
.member-balance-metric { display: flex; justify-content: center; flex-direction: column; padding: 14px 18px; }
.member-balance-metric strong { margin-top: 5px; color: #1f2a40; font-size: 23px; }
.member-balance-metric:nth-child(2) strong { color: #18864b; }
.member-balance-section-title { display: flex; justify-content: space-between; align-items: end; padding: 2px 28px 12px; }
.member-balance-section-title h3 { margin: 0; color: #1f2a40; font-size: 17px; }
.member-balance-section-title p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.member-balance-section-title > span { padding: 5px 10px; border-radius: 20px; background: #edf2ff; color: var(--blue); font-size: 12px; font-weight: 700; }
.member-balance-table { max-height: 390px; margin: 0 28px; overflow: auto; border: 1px solid #e2e7ef; border-radius: 12px; }
.member-balance-table table { margin: 0; }
.member-balance-table th { position: sticky; top: 0; z-index: 1; padding: 12px 14px; background: #f5f7fb; color: #69758b; font-size: 12px; }
.member-balance-table td { padding: 13px 14px; border-bottom-color: #edf0f5; }
.member-balance-table tbody tr:nth-child(even) { background: #fbfcfe; }
.member-balance-table tbody tr:hover { background: #f4f7ff; }
.balance-action { display: inline-block; padding: 4px 9px; border-radius: 18px; background: #edf2ff; color: #3f61bf; font-size: 12px; font-weight: 700; white-space: nowrap; }
.balance-order-no { color: #4c5d7d; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 12px; }
.member-balance-footer { margin-top: 18px; padding: 14px 28px 20px; border-top: 1px solid #edf0f5; }
.member-balance-footer button { min-width: 110px; }
.balance-change.positive { color: #18864b; }
.balance-change.negative { color: #c53b3b; }
.danger-text { color: #c53b3b !important; }
.setting-card .primary { padding: 8px 12px; box-shadow: none; }
.setting-item { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 9px 4px; border-bottom: 1px solid var(--line); }
.setting-item:last-child { border-bottom: 0; }
.setting-item > span { font-weight: 600; }
.setting-parent { display: block; margin-bottom: 3px; color: var(--muted); font-size: 11px; font-weight: 500; }
.setting-list { max-height: 192px; overflow-y: hidden; overscroll-behavior: contain; }
.setting-list.has-more { overflow-y: scroll; padding-right: 6px; scrollbar-width: auto; scrollbar-color: #8290a8 #edf0f5; }
.setting-list.has-more::-webkit-scrollbar { width: 9px; }
.setting-list.has-more::-webkit-scrollbar-track { border-radius: 9px; background: #edf0f5; }
.setting-list.has-more::-webkit-scrollbar-thumb { min-height: 36px; border: 2px solid #edf0f5; border-radius: 9px; background: #8290a8; }
.setting-scroll-hint { margin: 8px 0 -5px; padding-top: 7px; border-top: 1px dashed var(--line); color: var(--blue); font-size: 12px; text-align: center; }
.personnel-config-card { grid-column: 1 / -1; }
.personnel-config-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.personnel-role-section { min-width: 0; padding: 13px; border: 1px solid #e3e8f1; border-radius: 10px; background: #fbfcff; }
.personnel-role-section h3 { margin: 0; color: #344054; font-size: 14px; }
.personnel-role-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.personnel-role-section:not(.personnel-fixed-section) { padding: 0; }
.personnel-role-section:not(.personnel-fixed-section) > .personnel-role-head { min-height: 48px; margin: 0; padding: 0 13px; cursor: pointer; list-style: none; }
.personnel-role-section:not(.personnel-fixed-section) > .personnel-role-head::-webkit-details-marker { display: none; }
.personnel-role-section:not(.personnel-fixed-section) > .personnel-role-head::after { content: '⌄'; order: 4; color: #7a879c; font-size: 16px; transition: transform .16s ease; }
.personnel-role-section[open] > .personnel-role-head { border-bottom: 1px solid #e3e8f1; }
.personnel-role-section[open] > .personnel-role-head::after { transform: rotate(180deg); }
.personnel-role-section:not(.personnel-fixed-section) .personnel-role-list { padding: 12px 13px 13px; }
.personnel-role-head .add-personnel-role { position: relative; z-index: 1; margin-left: auto; }
.personnel-role-count { min-width: 22px; padding: 2px 7px; border-radius: 999px; background: #edf3ff; color: #3568d5; font-size: 12px; font-weight: 700; line-height: 1.35; text-align: center; }
.personnel-fixed-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.personnel-fixed-grid label { display: grid; gap: 6px; color: #465168; font-size: 12px; font-weight: 700; }
.personnel-select-row { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: 8px; margin-bottom: 8px; }
.personnel-select-row:last-child { margin-bottom: 0; }
.personnel-role-section select { width: 100%; min-width: 0; min-height: 38px; border: 1px solid #dfe3eb; border-radius: 8px; padding: 8px 10px; background: #fff; }
.paged-table { max-height: 560px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.paged-table thead th { position: sticky; top: 0; z-index: 2; box-shadow: 0 1px 0 var(--line); }
.pagination { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; color: var(--muted); font-size: 13px; }
.pagination button,.pagination select { border: 1px solid #dfe3eb; border-radius: 7px; background: #fff; padding: 7px 10px; color: #465168; cursor: pointer; }
.pagination button:hover:not(:disabled),.pagination select:focus { border-color: var(--blue); color: var(--blue); }
.pagination button:disabled { opacity: .45; cursor: not-allowed; }
.pagination-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.pagination-row > button { margin-top: 14px; flex: 0 0 auto; }
.pagination-row .pagination { flex: 1; }
.order-filter { flex-wrap: wrap; }
.order-filter .search { min-width: 240px; }
.order-filter > input[type="date"] { width: 145px; flex: 0 0 145px; }
.order-filter > select { width: 150px; flex: 0 0 150px; }
.order-filter > .document-delivery-filter { width: 150px; flex: 0 0 150px; }
.document-delivery-editor { display: flex; align-items: center; gap: 7px; min-width: 220px; }
.document-delivery-editor input { width: 150px; min-height: 34px; border: 1px solid #dfe3eb; border-radius: 7px; padding: 7px 9px; background: #fff; }
.document-delivery-editor input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #3568e814; outline: none; }
.document-delivery-editor .text-btn { flex: 0 0 auto; }
.single-grid { grid-template-columns: 1fr; }
.dashboard-overview { grid-template-columns: repeat(3, 1fr); }
.dashboard-overview > .stat:nth-child(3) { grid-row: span 2; min-height: 100%; }
.today-panel { padding: 26px; }
.dynamic-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.dynamic-grid > div { display: flex; align-items: center; gap: 15px; min-height: 112px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfe; }
.dynamic-icon { flex: 0 0 50px; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; font-weight: 800; font-size: 19px; }
.dynamic-icon.blue { color: #3568e8; background: #eaf0ff; }
.dynamic-icon.green { color: #0b9660; background: #e5f8ef; }
.dynamic-icon.orange { color: #d97913; background: #fff0dc; }
.dynamic-icon.violet { color: #7046d5; background: #efe9ff; }
.dynamic-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.dynamic-grid strong { display: block; margin: 5px 0 3px; color: var(--ink); font-size: 24px; }
.dynamic-grid small { color: #9aa3b3; font-size: 11px; }
.rank-number { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #eef1f6; font-weight: 700; }
.rank-1 { background: #fff0c7; color: #bd7800; }
.rank-2 { background: #e9edf3; color: #68758a; }
.rank-3 { background: #f8e1d2; color: #ad6337; }
.sales-podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sales-rank-card { position: relative; min-height: 165px; padding: 45px 20px 20px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, #fff, #f8faff); text-align: center; overflow: hidden; }
.sales-rank-card.place-1 { border-color: #efd68c; background: linear-gradient(145deg, #fffdf5, #fff6d9); }
.sales-rank-card.place-2 { border-color: #cfd6e1; background: linear-gradient(145deg, #fff, #f0f3f7); }
.sales-rank-card.place-3 { border-color: #e5c2aa; background: linear-gradient(145deg, #fffaf7, #f8e9df); }
.place-label { position: absolute; top: 0; left: 0; padding: 6px 14px; border-radius: 0 0 12px 0; background: #e9edf4; color: #59677e; font-size: 12px; font-weight: 700; }
.place-1 .place-label { background: #f3d36e; color: #805900; }
.place-2 .place-label { background: #cbd2dc; color: #536075; }
.place-3 .place-label { background: #dba987; color: #754124; }
.sales-rank-card h3 { margin: 0 0 4px; font-size: 18px; }
.sales-rank-card > p { margin: 0; color: var(--muted); font-size: 12px; }
.rank-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 20px; padding-top: 15px; border-top: 1px solid #dde3ed; }
.rank-metrics span { color: var(--muted); font-size: 11px; }
.rank-metrics strong { display: block; margin-top: 4px; color: var(--ink); font-size: 14px; }
.empty-rank { opacity: .65; }
.report-filter > div { display: flex; gap: 15px; }
.report-filter label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
.report-filter input { width: 150px; }
.report-today { padding: 9px 15px; color: var(--blue); }
.report-today.active { border-color: var(--blue); background: var(--blue); color: #fff; box-shadow: 0 5px 13px #315cc52b; }
.report-today.active:hover { color: #fff; }
.report-sales-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:14px 0 18px; }
.report-sales-card { min-height:92px; padding:16px 18px; border:1px solid var(--line,#e6ebf2); border-radius:14px; background:var(--panel,#fff); box-shadow:0 6px 18px rgba(36,55,88,.05); display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:center; column-gap:16px; }
.report-sales-card span { color:var(--muted,#6f7d91); font-size:13px; }
.report-sales-card strong { color:var(--ink,#1f2c40); font-size:24px; line-height:1.1; }
.report-sales-card small { grid-column:1 / -1; color:var(--muted,#6f7d91); font-size:12px; margin-top:5px; }
.report-sales-card.mall { border-left:4px solid #2d7ff9; }
.report-sales-card.personal { border-left:4px solid #6b5ce7; }
@media(max-width:680px){ .report-sales-split{grid-template-columns:1fr;} .report-sales-card strong{font-size:21px;} }
.outbound-workspace { max-width: 980px; margin: 0 auto 24px; padding: 28px 32px; }
.inventory-heading { align-items: center; gap: 18px; }
.inventory-heading > .toolbar-actions { flex: 1 1 660px; min-width: 0; justify-content: flex-end; }
.inventory-heading .search { flex: 1 1 360px; min-width: 360px; max-width: 540px; }
.inventory-heading .search input { width: 100%; min-width: 0; }
.inventory-group-filter { display: flex; align-items: center; gap: 8px; color: #465168; font-size: 13px; font-weight: 700; white-space: nowrap; }
.inventory-group-filter select { width: 126px; min-height: 40px; border: 1px solid #dfe3eb; border-radius: 8px; padding: 8px 10px; background: #fff; }
.inventory-board-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.inventory-board-group { min-width: 0; height: 100%; overflow: hidden; border: 1px solid #dde4ef; border-radius: 11px; background: #fff; box-shadow: 0 5px 16px #2332520a; }
.inventory-board-group-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-bottom: 1px solid #e4e9f1; background: #f4f7fc; }
.inventory-board-group-title strong { color: #2e4f92; font-size: 13px; }
.inventory-board-group-title span { color: var(--muted); font-size: 11px; }
.inventory-board-table { width: 100%; table-layout: fixed; font-size: 12px; }
.inventory-board-table th,.inventory-board-table td { padding: 9px 6px; }
.inventory-board-table th:nth-child(1),.inventory-board-table td:nth-child(1) { width: 34px; text-align: center; }
.inventory-board-table th:nth-child(3),.inventory-board-table td:nth-child(3) { width: 82px; }
.inventory-board-table th:nth-child(4),.inventory-board-table td:nth-child(4),.inventory-board-table th:nth-child(5),.inventory-board-table td:nth-child(5) { width: 64px; text-align: center; }
.inventory-board-table td:nth-child(2) { white-space: normal; line-height: 1.45; overflow-wrap: anywhere; }
.inventory-board-table td:nth-child(3) { white-space: normal; line-height: 1.4; overflow-wrap: anywhere; color: #59657a; }
.inventory-board-table td:nth-child(4),.inventory-board-table td:nth-child(5) { white-space: nowrap; }
.inventory-board-empty { grid-column: 1 / -1; padding: 52px 20px; border: 1px dashed #ccd5e3; border-radius: 11px; color: var(--muted); text-align: center; background: #fafcff; }
.loose-stock-board-table { width: 100%; table-layout: fixed; font-size: 12px; }
.loose-stock-board-table th,.loose-stock-board-table td { padding: 9px 6px; }
.loose-stock-board-table th:nth-child(2),.loose-stock-board-table td:nth-child(2) { width: 82px; }
.loose-stock-board-table th:nth-child(3),.loose-stock-board-table td:nth-child(3),.loose-stock-board-table th:nth-child(4),.loose-stock-board-table td:nth-child(4) { width: 58px; text-align: center; }
.loose-stock-board-table th:nth-child(5),.loose-stock-board-table td:nth-child(5) { width: 76px; text-align: center; }
.loose-stock-board-table td:nth-child(2) { color: #59657a; line-height: 1.4; overflow-wrap: anywhere; }
.loose-stock-board-table td:nth-child(n+3) { white-space: nowrap; }
.loose-stock-board-table .loose-product-cell { white-space: normal; line-height: 1.4; overflow-wrap: anywhere; }
.loose-stock-board-table .loose-product-cell strong { display: block; color: #315cc5; font-size: 11px; }
.loose-stock-board-table .loose-product-cell span { display: block; margin-top: 2px; color: #26364f; font-weight: 700; }
.deleted-orders-panel { margin-top: 20px; border-color: #ead7d7; }
.deleted-orders-panel .panel-title { background: #fffafa; }
.void-order-warning { margin-bottom: 16px; padding: 13px 15px; border: 1px solid #efc7c7; border-radius: 9px; background: #fff5f5; color: #8f3333; line-height: 1.7; }
.void-reason-section > strong { display: block; margin-bottom: 10px; color: #465168; font-size: 13px; }
.void-reason-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.void-reason-option,.business-void-reason-option { padding: 12px 10px; border: 1px solid #e1b4b4; border-radius: 9px; background: #fff; color: #a83d3d; font-weight: 700; cursor: pointer; }
.void-reason-option:hover,.business-void-reason-option:hover { background: #fff4f4; }
.void-reason-option.selected,.business-void-reason-option.selected { border-color: #c94040; background: #c94040; color: #fff; box-shadow: 0 4px 10px #c9404033; }
.adjustment-item-head,.adjustment-item-row { display: grid; grid-template-columns: minmax(190px,1.6fr) minmax(105px,.8fr) minmax(150px,1fr) minmax(95px,.7fr) minmax(95px,.7fr) minmax(150px,1fr) 36px; gap: 10px; align-items: center; }
.adjustment-item-head { padding: 0 5px 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
.adjustment-item-row { margin-bottom: 9px; }
.adjustment-item-row select,.adjustment-item-row input { width: 100%; border: 1px solid #dfe3eb; border-radius: 8px; padding: 10px; }
.adjustment-dialog .adjustment-item-head,.adjustment-dialog .adjustment-item-row { grid-template-columns: minmax(240px,2.15fr) minmax(120px,1fr) minmax(180px,1.2fr) minmax(120px,.85fr) minmax(120px,.85fr) minmax(150px,1fr) 38px; gap: 8px; }
.adjustment-dialog .adjustment-item-row select,.adjustment-dialog .adjustment-item-row input { min-width: 0; }
.adjustment-dialog .adjustment-item-head { padding: 0 4px 8px; }
.adj-spec,.adj-stock { display: block; min-width: 0; color: #657188; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.adj-stock { color: #536076; }
.adj-difference { display: block; text-align: center; font-size: 13px; font-weight: 700; }
.adj-difference.positive { color: #078052; }.adj-difference.negative { color: #c92f2f; }
.member-ledger-tip { padding: 12px 14px; border: 1px solid #dce5f7; border-radius: 9px; background: #f6f9ff; }
.member-ledger-tip span { color: #59677d; font-weight: 400; line-height: 1.6; }
.danger-button { background: #c94040 !important; }
.danger-button:hover { background: #ad3030 !important; }
.outbound-heading { display: flex; align-items: center; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.outbound-heading .form-icon { flex: 0 0 54px; margin: 0; }
.outbound-heading h2 { margin: 0 0 6px; font-size: 20px; }
.outbound-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.outbound-customer { margin-top: 16px; }
.outbound-bottom { margin-top: 22px; }
#outbound-form .submit-wide { font-size: 16px; padding: 14px; }
.personnel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin: 22px 0; padding: 18px; border-radius: 10px; background: #f6f8fc; }
.personnel-grid label { display: grid; gap: 7px; color: #465168; font-size: 13px; font-weight: 600; }
.personnel-grid select { width: 100%; border: 1px solid #dfe3eb; border-radius: 8px; padding: 10px 12px; background: #fff; }
.member-top-row { display: grid; grid-template-columns: minmax(300px,1.2fr) minmax(180px,.65fr) minmax(300px,1fr); gap: 12px; align-items: stretch; }
.member-select-card { display: grid; gap: 7px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfe; color: #465168; font-size: 13px; font-weight: 600; }
.member-select-card select,.member-select-card input { width: 100%; min-width: 0; border: 1px solid #dfe3eb; border-radius: 8px; padding: 9px 11px; background: #fff; }
.member-search-field { position: relative; min-width: 0; }
.clearable-input { position: relative; width: 100%; min-width: 0; }
.clearable-input input { width: 100%; padding-right: 36px !important; }
.input-clear-btn { position: absolute; z-index: 2; top: 50%; right: 8px; width: 24px; height: 24px; padding: 0; transform: translateY(-50%); border: 0; border-radius: 50%; background: #edf0f5; color: #667085; font-size: 17px; line-height: 22px; cursor: pointer; }
.input-clear-btn:hover { background: #dfe5ee; color: #344054; }
.member-suggestions { top: calc(100% + 6px); min-width: 360px; font-weight: 400; }
.member-discount-card { border-color: #d7ccef; background: #faf7ff; color: #6544a0; }
.member-sale-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 14px; margin: 0; padding: 9px 12px; border: 1px solid #cfe0ff; border-radius: 9px; background: #f3f7ff; }
.member-sale-info span,.member-sale-info strong { display: block; }
.member-sale-info span { color: var(--muted); font-size: 11px; }
.member-sale-info strong { margin-top: 3px; color: #254eaa; font-size: 14px; }
.delivery-multiselect { position: relative; min-width: 0; }
.delivery-multiselect-toggle { position: relative; width: 100%; min-height: 40px; padding: 9px 34px 9px 11px; overflow: hidden; border: 1px solid #dfe3eb; border-radius: 8px; background: #fff; color: #667085; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.delivery-multiselect-toggle::after { content: '⌄'; position: absolute; right: 12px; color: #667085; }
.delivery-multiselect-toggle.has-value { border-color: #a9bdec; color: #254eaa; font-weight: 700; }
.delivery-multiselect-menu { position: absolute; z-index: 42; top: calc(100% + 6px); left: 0; right: 0; max-height: 250px; overflow-y: auto; padding: 7px; border: 1px solid #ccd5e3; border-radius: 9px; background: #fff; box-shadow: 0 12px 30px #17203322; }
.delivery-multiselect-searchbar { display: flex; gap: 8px; align-items: center; }
.delivery-multiselect-search { flex: 1; min-width: 0; min-height: 40px; padding: 9px 11px; border: 1px solid #dfe3eb; border-radius: 8px; background: #fff; outline: none; }
.delivery-multiselect-search:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #3568e814; }
.delivery-multiselect-searchbar .delivery-multiselect-toggle { width: auto; min-width: 132px; flex: 0 0 auto; }
.field-participants-summary { margin-top: 6px; color: #667085; font-size: 12px; line-height: 1.5; }
.field-participants-empty { padding: 10px 8px; color: #98a2b3; }
.field-participants-picker .delivery-multiselect-menu { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px; align-items: start; }
.field-participants-picker .field-participants-empty,.field-participants-picker .delivery-person-empty { grid-column: 1 / -1; }
.field-participants-picker .delivery-person-option {
  width: 100%;
  min-width: 0;
  align-items: center;
}
.field-participants-picker .delivery-person-option span {
  display: block;
  min-width: 0;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}
.field-participants-picker .delivery-person-option input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #98a2b3 !important;
  border-radius: 3px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.delivery-person-option { display: flex !important; grid-template-columns: none !important; flex-direction: row; align-items: center; gap: 9px !important; min-height: 36px; padding: 7px 9px; border-radius: 7px; color: #344054 !important; cursor: pointer; }
.delivery-person-option[hidden] { display: none !important; }
.delivery-person-option:hover,.delivery-person-option.selected { background: #eef4ff; color: #254eaa !important; }
.delivery-person-option input[type="checkbox"] { width: 16px !important; height: 16px; margin: 0; accent-color: var(--blue); }
.delivery-person-empty { padding: 12px 8px; color: var(--muted); font-size: 12px; text-align: center; }
.outbound-item-head,.outbound-item-row { display: grid; grid-template-columns: minmax(210px,2fr) minmax(120px,1.1fr) 105px 110px 120px 34px; gap: 9px; align-items: center; }
.outbound-item-head { padding: 0 10px 8px; color: var(--muted); font-size: 12px; font-weight: 600; }
.outbound-item-row { margin-bottom: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfe; }
.outbound-item-row select,.outbound-item-row input { min-width: 0; width: 100%; border: 1px solid #dfe3eb; border-radius: 7px; padding: 9px; background: #fff; }
.product-picker { position: relative; min-width: 0; }
.product-picker-menu { position: absolute; z-index: 35; top: calc(100% + 5px); left: 0; right: 0; max-height: 280px; overflow-y: auto; border: 1px solid #d9e0eb; border-radius: 9px; background: #fff; box-shadow: 0 12px 30px #17203322; }
.product-picker-menu button { display: block; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); background: #fff; text-align: left; cursor: pointer; }
.product-picker-menu button:last-child { border-bottom: 0; }
.product-picker-menu button:hover { background: #f2f6ff; }
.product-picker-menu strong,.product-picker-menu span { display: block; }
.product-picker-menu span { margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 400; white-space: normal; }
.ob-spec { color: #59657a; font-size: 13px; }
.ob-amount { text-align: right; color: var(--blue); }
.amount-case { display: grid; grid-template-columns: 1fr 1.5fr; gap: 14px; margin: 20px 0; padding: 18px 20px; border-radius: 10px; background: #f4f7fc; }
.amount-case div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.amount-case span { color: var(--muted); font-size: 13px; }
.amount-case strong { color: var(--blue); font-size: 19px; }
.outbound-bottom textarea,.outbound-bottom select { min-height: 64px; }
.reason-emphasis { color: #d93636 !important; }
.reason-emphasis select { color: #d93636; border-color: #e7a4a4 !important; background: #fff8f8; font-weight: 700; }
.reason-status { color: #c92f2f; background: #ffeded; }
.reason-text,.receipt-reason,.receipt-reason strong { color: #c92f2f; }
.customer-name-field { position: relative; }
.customer-suggestions { position: absolute; z-index: 30; top: calc(100% + 5px); left: 0; right: 0; max-height: 260px; overflow-y: auto; border: 1px solid #d9e0eb; border-radius: 9px; background: #fff; box-shadow: 0 12px 30px #17203322; }
.customer-suggestions button { display: block; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); background: #fff; text-align: left; cursor: pointer; }
.customer-suggestions button:last-child { border-bottom: 0; }
.customer-suggestions button:hover { background: #f2f6ff; }
.customer-suggestions strong,.customer-suggestions span { display: block; }
.customer-suggestions span { margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 400; }
.report-inventory-scroll { max-height: 272px; overflow-y: auto; scrollbar-width: thin; }
.report-inventory-scroll thead { position: sticky; z-index: 2; top: 0; }
[hidden] { display: none !important; }
.order-items-head { display: flex; align-items: center; justify-content: space-between; margin: 24px 0 10px; }
.order-items-head h3 { font-size: 15px; margin: 0; }
.print-dialog { width: min(24.1cm, calc(100% - 30px)); max-width: 24.1cm; padding: 4.5mm 5.5mm; box-sizing: border-box; }
html[data-print-orientation="portrait"] .print-dialog { width: min(14cm, calc(100% - 30px)); max-width: 14cm; }
.print-tuning-dialog { width: min(1100px, calc(100% - 24px)); max-width: 1100px; max-height: 94vh; padding: 22px; overflow: auto; }
.print-tuning-dialog form { padding: 0; }
.print-tuning-controls { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 18px 0; }
.print-tuning-controls fieldset { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; min-width: 0; padding: 9px; border: 1px solid var(--line); border-radius: 9px; }
.print-tuning-controls legend { padding: 0 5px; color: #465168; font-size: 12px; font-weight: 700; }
.print-tuning-controls label { display: grid; gap: 4px; color: var(--muted); font-size: 11px; }
.print-tuning-controls input,.print-tuning-controls select { min-width: 0; width: 100%; padding: 6px; border: 1px solid #dfe3eb; border-radius: 6px; background: #fff; }
.print-tuning-controls .print-page-controls { grid-column: 1 / -1; grid-template-columns: minmax(190px, .7fr) minmax(190px, .7fr) minmax(320px, 1.6fr); align-items: end; background: #f5f8ff; }
.print-page-controls small { align-self: center; color: #687489; line-height: 1.5; }
.print-tuning-controls .custom-text-controls { grid-column: 1 / -1; grid-template-columns: minmax(300px,2fr) repeat(3,1fr); }
.custom-text-controls textarea { width: 100%; min-height: 48px; padding: 7px; border: 1px solid #dfe3eb; border-radius: 6px; resize: vertical; }
.print-tuning-preview { max-height: 540px; overflow: auto; padding: 14px; border: 1px solid #ccd3df; border-radius: 10px; background: #e9edf4; }
#tuning-preview { width: 24.1cm; min-height: 14cm; padding: .45cm .55cm; box-sizing: border-box; background: #fff; box-shadow: 0 5px 20px #17203322; }
html[data-print-orientation="portrait"] #tuning-preview { width: 14cm; min-height: 24.1cm; }
.receipt { width: 100%; min-height: 14cm; box-sizing: border-box; display: flex; flex-direction: column; color: #111; background: #fff; }
html[data-print-orientation="portrait"] .receipt { min-height: 24.1cm; }
html[data-print-orientation="portrait"] .receipt h2 { margin-bottom: 14px; }
html[data-print-orientation="portrait"] .receipt-meta { grid-template-columns: 1fr; gap: 7px; margin-bottom: 12px; }
html[data-print-orientation="portrait"] .receipt-meta-col { gap: 5px; }
html[data-print-orientation="portrait"] .receipt-document { padding: 0; }
html[data-print-orientation="portrait"] .receipt table { table-layout: fixed; }
html[data-print-orientation="portrait"] .receipt table th,html[data-print-orientation="portrait"] .receipt table td { padding: 5px 4px; word-break: break-word; }
html[data-print-orientation="portrait"] .receipt-summary-block { margin-top: 12px; }
html[data-print-orientation="portrait"] .receipt-settlement,html[data-print-orientation="portrait"] .receipt-settlement.has-member-discount,html[data-print-orientation="portrait"] .receipt-settlement.is-discounted { grid-template-columns: 1fr; gap: 5px; }
html[data-print-orientation="portrait"] .receipt-member-consumption { grid-template-columns: 1fr; gap: 5px; text-align: left; }
html[data-print-orientation="portrait"] .receipt-member-consumption span { text-align: left; }
html[data-print-orientation="portrait"] .receipt-signatures { grid-template-columns: 1fr 1fr; white-space: normal; }
.receipt-main { flex: 0 0 auto; }
.receipt h2 { position: relative; top: var(--pt-title-y,0); text-align: center; margin: 0 0 11px; font-size: var(--pt-title-size,22px); letter-spacing: 2px; white-space: nowrap; }
.receipt-voided { margin: -5px auto 7px; width: fit-content; padding: 2px 14px; border: 2px solid #c62828; color: #c62828; font-size: 16px; font-weight: 800; letter-spacing: 2px; }
.receipt-meta { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1.15fr); gap: 8px 22px; align-items: start; margin-bottom: 11px; font-size: 12px; }
.receipt-meta-col { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.receipt-meta-col span { min-width: 0; overflow-wrap: anywhere; }
.receipt-address-line { display: grid; grid-template-columns: 5em minmax(0,1fr); align-items: baseline; }
.receipt-address-label { white-space: nowrap; }
.receipt-address-line + .receipt-address-line .receipt-address-label { visibility: hidden; }
.receipt-customer-info { position: relative; top: var(--pt-customer-y,0); font-size: var(--pt-customer-size,14px); }
.receipt-customer-info strong { font-size: inherit; color: #111; }
.receipt-date { font-size: 13px; }
.receipt-document { position: relative; left: var(--pt-order-x,0); top: var(--pt-order-y,0); padding: 8px 0 0 8px; text-align: left; }
.receipt-order-no,.receipt-order-no strong { font-size: var(--pt-order-size,16px); white-space: nowrap; overflow-wrap: normal; word-break: keep-all; }
.receipt-order-no strong { letter-spacing: .3px; }
.receipt table { margin-top: var(--pt-table-y,0); margin-bottom: 0; font-size: var(--pt-table-size,13px); }
.receipt table th,.receipt table td { padding: 6px 8px; }
.receipt-summary-block { margin-top: 18px; }
.receipt-settlement-group { position: relative; top: var(--pt-settlement-y,0); }
.receipt-settlement { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 20px; align-items: baseline; padding: 6px 0; border-top: 1px solid #222; border-bottom: 1px solid #222; font-size: var(--pt-settlement-size,13px); }
.receipt-settlement.has-member-discount { grid-template-columns: minmax(0,.58fr) minmax(0,.82fr) minmax(0,1.2fr); gap: 12px; }
.receipt-settlement.is-discounted { grid-template-columns: minmax(0,.52fr) minmax(0,.72fr) minmax(0,.72fr) minmax(0,1.14fr); gap: 10px; }
.receipt-settlement strong { font-size: 16px; }
.receipt-discount { color: #6544a0; }
.receipt-discount strong { font-size: 15px; }
.receipt-member-consumption { position: relative; top: var(--pt-member-y,0); display: grid; grid-template-columns: auto repeat(3,1fr); gap: 12px; align-items: center; padding: 7px 0; border-top: 1px solid #aaa; font-size: var(--pt-member-size,12px); }
.receipt-member-consumption > strong { color: #254eaa; }
.receipt-member-consumption span { text-align: center; }
.receipt-member-consumption b { font-size: 14px; }
.receipt-remark { box-sizing: border-box; min-height: 54px; margin: 7px 0 0; font-size: var(--pt-remark-size,12px); line-height: 1.5; overflow-wrap: anywhere; }
.receipt-remark-custom { position: relative; left: var(--pt-custom-x,0); top: var(--pt-custom-y,0); margin-top: 3px; font-size: var(--pt-custom-size,12px); color: #222; white-space: pre-wrap; }
.receipt-signatures { position: relative; top: var(--pt-signature-y,0); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; margin-top: 16px; padding-top: 10px; border-top: 1px dashed #888; font-size: var(--pt-signature-size,12px); white-space: nowrap; }
.receipt-field .receipt-main { display: flex; flex-direction: column; min-height: 0; }
.receipt-field h2 { margin-bottom: 4px; }
.receipt-field .receipt-voided { margin: -2px auto 3px; font-size: 12px; }
.receipt-field .receipt-meta { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .9fr); gap: 4px 12px; margin-bottom: 5px; font-size: 10px; }
.receipt-field .receipt-document { padding: 4px 0 0 4px; }
.receipt-field .field-print-participants { margin: 0 0 4px; font-size: 10px; line-height: 1.2; overflow-wrap: anywhere; }
.receipt-field .field-print-participants strong { font-size: inherit; color: #111; }
.receipt-field table { table-layout: fixed; margin-top: 3px; font-size: var(--pt-table-size,10px); }
.receipt-field table th,.receipt-field table td { padding: 2px 4px; line-height: 1.08; }
.receipt-field table th:nth-child(1),.receipt-field table td:nth-child(1) { width: 25%; }
.receipt-field table th:nth-child(2),.receipt-field table td:nth-child(2) { width: 16%; }
.receipt-field table th:nth-child(3),.receipt-field table td:nth-child(3) { width: 12%; }
.receipt-field table th:nth-child(4),.receipt-field table td:nth-child(4) { width: 12%; }
.receipt-field table th:nth-child(5),.receipt-field table td:nth-child(5) { width: 14%; }
.receipt-field table th:nth-child(6),.receipt-field table td:nth-child(6) { width: 21%; }
.receipt-field .field-print-spec { display: inline-block; margin-left: 4px; color: #6a7280; font-size: .88em; white-space: nowrap; }
.receipt-field .receipt-summary-block { margin-top: 6px; }
.receipt-field .receipt-remark { min-height: 0; margin-top: 4px; line-height: 1.2; }
.receipt-field .field-remark-signature { margin-top: 5px; }
.receipt-field .receipt-signatures { gap: 6px; margin-top: 6px; padding-top: 6px; font-size: var(--pt-signature-size,10px); }
@media (max-width: 800px) {
  .report-filter, .report-filter > div { align-items: stretch; flex-direction: column; }
  .toolbar-actions,.inventory-heading { align-items: stretch; flex-direction: column; }
  .inventory-heading .search { min-width: 0; }
  .report-filter input { width: 100%; }
  .settings-grid,.settings-grid.grid-2,.settings-grid.grid-3,.settings-grid.grid-4 { grid-template-columns: 1fr; }
  .settings-intro { align-items: stretch; flex-direction: column; }
  .header-actions .secondary { padding: 9px 11px; }
  .dashboard-overview, .dynamic-grid, .sales-podium { grid-template-columns: 1fr; }
  .menu-order-controls { grid-template-columns: 1fr; }
  .personnel-grid,.member-top-row,.member-sale-info,.amount-case { grid-template-columns: 1fr; }
  .outbound-item-head { display: none; }
  .outbound-item-row { grid-template-columns: 1fr 1fr; }
  .outbound-workspace { padding: 18px; }
  .product-form-grid { grid-template-columns: 1fr; }
  .product-form-grid .product-level-field { grid-column: auto; }
  .stock-form-grid { grid-template-columns: 1fr; }
  .stock-product-field { grid-column: auto; }
  .inbound-record-panel .panel-title { align-items: stretch; flex-direction: column; }
  .inbound-record-panel .search { min-width: 0; width: 100%; }
  .member-balance-overview { grid-template-columns: 1fr 1fr; padding: 16px; }
  .member-identity { grid-column: 1 / -1; }
  .member-balance-section-title { padding: 2px 16px 10px; }
  .member-balance-table { margin: 0 16px; }
  .member-balance-head { padding: 20px 18px 16px; }
  .print-tuning-controls { grid-template-columns: 1fr 1fr; }
  .print-tuning-controls .custom-text-controls { grid-template-columns: 1fr 1fr; }
  .custom-text-controls .custom-text-input { grid-column: 1 / -1; }
  .order-filter { align-items: stretch; flex-direction: column; }
  .order-filter .search,.order-filter > input[type="date"],.order-filter > select,.order-filter > .document-delivery-filter { width: 100%; max-width: none; flex-basis: auto; }
  .pagination,.pagination-row { justify-content: center; }
  .pagination-row { flex-wrap: wrap; }
}
@media (min-width: 801px) and (max-width: 1200px) { .dynamic-grid { grid-template-columns: 1fr 1fr; } }
@page { size: auto; margin: 0; }
@page warehouseDriver { size: auto; margin: 0; }
@page warehouseLandscape { size: 241mm 140mm; margin: 0; }
@page warehousePortrait { size: 140mm 241mm; margin: 0; }
@media print {
  html, body { min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
  html[data-print-orientation="landscape"], html[data-print-orientation="landscape"] body { width: 241mm; height: 140mm; overflow: hidden !important; }
  html[data-print-orientation="portrait"], html[data-print-orientation="portrait"] body { width: 140mm; height: 241mm; overflow: hidden !important; }
  body > *:not(#print-dialog) { display: none !important; }
  body > #print-dialog { display: block !important; visibility: visible !important; }
  .print-dialog, .print-dialog * { visibility: visible; }
  .print-dialog { page: warehouseDriver; position: static; width: 100%; max-width: none; height: auto; max-height: none; margin: 0; padding: 4.5mm 5.5mm; border: 0; border-radius: 0; box-shadow: none; overflow: visible; box-sizing: border-box; break-after: avoid-page; page-break-after: avoid; }
  html[data-print-orientation="landscape"] .print-dialog { page: warehouseLandscape; position: fixed; inset: 0; width: 241mm; max-width: 241mm; height: 140mm; max-height: 140mm; overflow: hidden; }
  html[data-print-orientation="portrait"] .print-dialog { page: warehousePortrait; position: fixed; inset: 0; width: 140mm; max-width: 140mm; height: 241mm; max-height: 241mm; overflow: hidden; }
  .print-dialog::backdrop { display: none; }
  #print-content { width: 100%; height: auto; }
  html[data-print-orientation="landscape"] #print-content,html[data-print-orientation="portrait"] #print-content { height: 100%; }
  .no-print { display: none !important; }
  .receipt { width: 100%; height: auto; min-height: 0; color: #000; }
  html[data-print-orientation="landscape"] .receipt,html[data-print-orientation="portrait"] .receipt { height: 100%; }
  .receipt table { font-size: var(--pt-table-size,11px); }
}
.field-note,.field-settle-help{margin:-4px 0 18px;padding:12px 14px;border-radius:9px;background:#eef5ff;color:#3f5f9c;font-size:13px;line-height:1.6}
.field-dialog{width:min(1080px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:calc(100vh - 32px);overflow:hidden}
.field-dialog form{max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.field-dialog form>.dialog-actions{position:sticky;z-index:3;bottom:-25px;margin:22px -25px -25px;padding:14px 25px 25px;border-top:1px solid var(--line);background:linear-gradient(to bottom,#ffffffdd,#fff 35%)}
.field-dialog-actions{flex-wrap:wrap}
.field-item-head,.field-item-row{display:grid;grid-template-columns:minmax(230px,2fr) minmax(125px,1fr) minmax(205px,1.55fr) 120px 120px 42px;gap:10px;align-items:center}
.field-item-head,.field-settle-head{padding:8px 10px;color:var(--muted);font-size:12px;font-weight:700}
.field-item-row{padding:9px 10px;border-top:1px solid var(--line)}
.field-item-row select,.field-item-row input,.field-settle-row input{width:100%;border:1px solid #dfe3eb;border-radius:8px;padding:9px 10px;background:#fff}
.field-product-picker{width:100%}.field-product-search{min-width:0}
.field-specification{color:#3568d5;font-size:12px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.field-stock-info{color:#5f6d86;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.field-stock-info strong{color:#20304a}
.field-settle-head,.field-settle-row{display:grid;grid-template-columns:minmax(180px,1.65fr) minmax(110px,.95fr) minmax(100px,.9fr) repeat(2,minmax(95px,.8fr)) minmax(105px,.9fr) minmax(210px,1.7fr);gap:8px;align-items:center}
.field-settle-row{padding:10px;border-top:1px solid var(--line)}
.field-settle-row span strong,.field-settle-row span small{display:block}.field-settle-row span small{margin-top:4px;color:var(--muted)}
.field-settle-row input:disabled{background:#f0f2f5;color:#a0a8b5;cursor:not-allowed}.field-calculated{text-align:center;color:var(--green)}
.field-settle-spec{color:#3568d5;font-size:12px;overflow-wrap:anywhere}.field-settle-issued{color:#5f6d86;font-size:12px}.field-settle-note{display:grid;grid-template-columns:minmax(78px,1fr) 68px 68px;gap:4px}.field-settle-note select,.field-settle-note input{min-width:0!important;padding:8px 6px!important;font-size:12px}
.field-filter{flex-wrap:wrap}.field-filter .search{min-width:300px}
@media(max-width:1000px){.field-item-head{display:none}.field-item-row{grid-template-columns:1fr 1fr}.field-item-row .icon-btn{grid-column:2}.field-settle-head{display:none}.field-settle-row{grid-template-columns:repeat(2,1fr)}.field-settle-row>span{grid-column:1/-1}.field-settle-note{grid-column:1/-1}}
@media(max-width:800px){.inbound-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px);border-radius:14px}#stock-form{max-height:calc(100vh - 16px)}.inbound-dialog-head{padding:17px 18px}.inbound-title-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.inbound-dialog-head h2{font-size:20px}.inbound-dialog-body{padding:14px}.inbound-card{padding:15px}.inbound-basic-grid{grid-template-columns:1fr}.inbound-lines-title,.inbound-dialog-footer{align-items:stretch;flex-direction:column}.inbound-lines-actions{justify-content:space-between}.inbound-item-head{display:none}.inbound-item-row{grid-template-columns:1fr 1fr;padding:13px}.inbound-item-row .ib-product{grid-column:1/-1}.inbound-item-row .remove-inbound-item{grid-column:2;justify-self:end}.inbound-dialog-footer{gap:12px;padding:14px 16px}.inbound-summary{justify-content:center}.inbound-dialog-footer .dialog-actions{justify-content:stretch}.inbound-dialog-footer .dialog-actions button{flex:1}.inbound-save-button{min-width:0}.staff-dialog{width:calc(100% - 16px)}.staff-form-grid{grid-template-columns:1fr}.staff-form-grid label.wide{grid-column:auto}}
/* 散水管理 */
.loose-overview{display:flex;align-items:center;justify-content:space-between;gap:20px}.loose-overview h2{margin:0 0 6px}.loose-overview p{margin:0;color:var(--muted,#667085)}.custodian-settings{align-items:end}.custodian-settings button{height:42px}@media(max-width:760px){.loose-overview{align-items:flex-start;flex-direction:column}}
.loose-management-title{align-items:center;gap:18px}.loose-management-title>div:first-child{min-width:260px}.loose-management-actions{justify-content:flex-end}.loose-management-actions .loose-action{white-space:nowrap}@media(max-width:900px){.loose-management-title{align-items:flex-start;flex-direction:column}.loose-management-actions{width:100%;justify-content:flex-start}}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.help-tip{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 22px;padding:0;border:1px solid #9db9ee;border-radius:50%;background:#eef4ff;color:#3568d5;font-size:13px;font-weight:700;line-height:1;cursor:help}.help-tip::after{content:attr(data-tip);position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 40px));padding:10px 12px;border:1px solid #d8e3f5;border-radius:8px;background:#fff;color:#344054;font-size:12px;font-weight:400;line-height:1.55;text-align:left;white-space:normal;box-shadow:0 8px 24px rgba(20,45,90,.16);opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none}.help-tip:hover::after,.help-tip:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}.commerce-summary .help-tip{margin-left:auto}.commerce-invoice-help{margin:0 0 14px 2px}
.product-top-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:14px;align-items:stretch;margin-bottom:12px}.product-toolbar{min-width:0;height:100%;margin:0;align-content:flex-start;align-items:flex-end;flex-wrap:wrap}.product-toolbar .search{flex:1 1 260px;max-width:none}.product-toolbar .product-list-controls{flex:1 1 100%;align-items:flex-end;justify-content:flex-start}.product-navigator{height:100%;margin:0;padding:12px;border:1px solid #dbe7ff;border-radius:10px;background:#fbfdff}.product-tabs,.product-brand-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.product-brand-tabs{margin-top:10px;color:#667085;font-size:13px}.product-tab,.product-brand-tab{border:1px solid #d0d5dd;border-radius:999px;padding:7px 13px;background:#fff;color:#344054;cursor:pointer;font-weight:600}.product-tab.active,.product-brand-tab.active{border-color:#2e6bdc;background:#2e6bdc;color:#fff}
@media(max-width:1350px){.product-top-row{grid-template-columns:1fr}.inventory-heading{align-items:stretch;flex-direction:column}.inventory-heading>.toolbar-actions{flex-basis:auto;justify-content:flex-start}.inventory-heading .search{max-width:none}}
.company-person-guide{display:grid;gap:4px;margin:0 0 12px;padding:10px 12px;border:1px solid #b2ddff;border-radius:8px;background:#eff8ff;color:#175cd3;font-size:13px}.company-person-guide strong{font-size:14px}.company-person-guide span{color:#475467}
.data-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.data-center-grid>div{display:grid;gap:10px;padding:16px;border:1px solid #dfe7f3;border-radius:10px;background:#fbfdff}.data-center-grid span{min-height:36px;color:#667085;font-size:13px}.data-export-actions{display:flex;flex-wrap:wrap;gap:10px}.member-toolbar{align-items:flex-start}.member-toolbar .toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.member-actions{flex-wrap:wrap}.member-actions .button-link,.member-actions .secondary,.member-actions .primary{white-space:nowrap}@media(max-width:760px){.data-center-grid{grid-template-columns:1fr}}

/* Windows 桌面端：统一紧凑字号，避免系统缩放后按钮、表单过大或文字被裁切。 */
html { font-size: 14px; }
body { font-family: "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", "PingFang SC", sans-serif; font-size: 14px; line-height: 1.45; }
button,input,select,textarea { font-size: 14px; line-height: 1.35; }
main { padding: 0 28px 32px; }
header { height: 88px; }
h1 { margin-bottom: 4px; font-size: 22px; }
header p,.panel-title p,.form-page>p { font-size: 12px; }
.header-actions,.toolbar-actions { flex-wrap: wrap; gap: 8px; }
.header-actions { justify-content: flex-end; }
.primary,.secondary { min-height: 38px; padding: 8px 13px; font-size: 14px; line-height: 1.25; }
.panel { padding: 18px; margin-bottom: 16px; }
.panel-title,.toolbar { gap: 10px; margin-bottom: 14px; }
.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea { min-height: 38px; padding: 8px 10px; }
.toolbar select { width: 150px; }
.search span { top: 8px; }
.search input { min-height: 40px !important; }
table { font-size: 12.5px; }
th,td { padding: 10px 10px; }
.paged-table { max-height: min(560px, calc(100vh - 245px)); }
.pagination { gap: 8px; margin-top: 12px; font-size: 12px; }
.pagination button,.pagination select { min-height: 34px; padding: 6px 9px; font-size: 12px; }
.order-filter > input[type="date"] { width: 164px; flex-basis: 164px; }
.field-filter .search,.order-filter .search { min-width: 260px; }
.company-person-guide,.field-note,.field-settle-help { font-size: 12px; line-height: 1.5; }

/* 设置页不再裁掉最后一项；内容较多时在卡片内滚动。 */
.setting-list { max-height: 250px; overflow-y: auto; padding-right: 5px; scrollbar-width: thin; scrollbar-color: #8290a8 #edf0f5; }
.setting-list.has-more { overflow-y: auto; }
.setting-item { min-height: 44px; padding: 8px 4px; }
.setting-item > span { font-size: 14px; }
.setting-card .primary { min-height: 36px; padding: 7px 11px; }

/* 销售、数据中心和散水页的标题与大按钮保持层级清晰而不过度放大。 */
.outbound-workspace { max-width: 940px; padding: 24px 28px; }
.outbound-heading h2,.settings-intro h2 { font-size: 18px; }
#outbound-form .submit-wide { min-height: 44px; padding: 11px; font-size: 15px; }
.personnel-grid { gap: 13px; margin: 18px 0; padding: 14px; }
.data-center-grid>div { gap: 8px; padding: 14px; }
.data-center-grid>div strong { font-size: 16px; }
.loose-overview h2 { font-size: 20px; }

/* 在 Windows 的常见 125% 缩放/笔记本窗口中再压缩一档，优先保证完整显示。 */
@media (max-width: 1500px), (max-height: 860px) {
  main { padding: 0 22px 26px; }
  .sidebar { width: 214px; padding-left: 14px; padding-right: 14px; }
  main { margin-left: 214px; }
  header { height: 80px; }
  .panel { padding: 16px; }
  .primary,.secondary { min-height: 36px; padding: 7px 11px; }
  .toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea { min-height: 36px; padding: 7px 9px; }
  th,td { padding: 9px 8px; }
  .paged-table { max-height: min(500px, calc(100vh - 220px)); }
}

@media (max-width: 1100px) {
  .toolbar-actions { justify-content: flex-start; }
  .settings-grid.grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .personnel-config-grid { grid-template-columns: 1fr; }
  .inventory-board-grid { grid-template-columns: 1fr; }
  .header-actions .secondary { padding: 7px 10px; }
}

/* 顶部只保留当前页面标题；工具按钮统一收进各自页面，减少无效占位。 */
header { height: 68px; }

/* 商品工具栏：搜索框收窄，排序、分页和操作按钮在桌面端保持同一行。 */
.product-toolbar {
  display: grid;
  grid-template-columns: minmax(210px, .62fr) minmax(0, 1fr);
  align-items: end;
  gap: 10px;
  flex-wrap: nowrap;
}
.product-toolbar .search { width: 100%; max-width: 330px; min-width: 0; }
.product-toolbar .product-list-controls {
  min-width: 0;
  flex: none;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.product-list-controls label { min-width: 86px; }
.product-list-controls label:first-child { min-width: 104px; }
.product-list-controls .secondary,
.product-list-controls .primary,
.product-list-controls .button-link { flex: 0 0 auto; white-space: nowrap; padding-left: 9px; padding-right: 9px; }

@media (max-width: 900px) {
  header { height: 64px; }
  .product-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .product-toolbar .search { max-width: 100%; }
  .product-toolbar .product-list-controls { justify-content: flex-start; }
}

/* 商品页顶部工具栏最终布局：搜索、筛选、操作各自成组，避免旧版卡片规则互相挤压。 */
.product-panel { overflow: visible; }
.product-toolbar-shell {
  margin: -2px 0 0;
  padding: 2px 0 16px;
  border-bottom: 1px solid #e5eaf2;
}
.product-toolbar {
  display: grid;
  grid-template-columns: minmax(210px, 240px) minmax(300px, 1fr) auto auto;
  grid-template-areas: "search category filter actions";
  align-items: end;
  gap: 14px;
  min-width: 0;
  margin: 0;
}
.product-search-block,
.product-navigator,
.product-filter-group,
.product-action-group { min-width: 0; }
.product-search-block {
  grid-area: search;
  display: grid;
  gap: 6px;
}
.product-toolbar-label,
.product-filter-field > span {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}
.product-search-block .search { width: 100%; max-width: none; min-width: 0; }
.product-search-block .search input {
  width: 100%;
  min-height: 40px;
  border-color: #cfd8e6;
  background: #fbfcfe;
}
.product-search-block .search input:focus {
  border-color: #4b73d5;
  background: #fff;
  box-shadow: 0 0 0 3px #3568e814;
}
.product-filter-group {
  grid-area: filter;
  display: flex;
  align-items: end;
  gap: 9px;
}
.product-filter-field {
  display: grid;
  gap: 6px;
  min-width: 102px;
}
.product-filter-field select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #cfd8e6;
  border-radius: 8px;
  padding: 8px 28px 8px 10px;
  background: #fff;
  color: #344054;
}
.product-action-group {
  grid-area: actions;
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}
.product-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 40px;
  padding: 8px 11px;
  border-radius: 8px;
  white-space: nowrap;
  line-height: 1.2;
}
.product-action-icon {
  color: currentColor;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}
.product-action-primary {
  min-width: 104px;
  box-shadow: 0 4px 10px #3568d52b;
}
.product-navigator {
  grid-area: category;
  display: grid;
  align-content: end;
  gap: 6px;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.product-nav-row {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.product-nav-label {
  flex: 0 0 auto;
  color: #475467;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.product-tabs,
.product-brand-tabs {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 7px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #c7d1e2 transparent;
}
.product-tabs { width: 100%; flex: 1 1 auto; }
.product-brand-tabs {
  margin: 10px 0 12px;
  padding: 10px 0 0;
  border-top: 1px dashed #e2e7ef;
  color: #667085;
  font-size: 12px;
}
.product-brand-tabs > span {
  flex: 0 0 auto;
  color: #667085;
  font-weight: 700;
  white-space: nowrap;
}
.product-brand-tabs:empty { display: none; }
.product-tab,
.product-brand-tab {
  flex: 0 0 auto;
  border: 1px solid #d5dce7;
  border-radius: 8px;
  padding: 7px 12px;
  background: #fff;
  color: #344054;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.product-tab:hover,
.product-brand-tab:hover {
  border-color: #8fa9df;
  color: #2455b7;
}
.product-tab.active,
.product-brand-tab.active {
  border-color: #3568d5;
  background: #3568d5;
  color: #fff;
  box-shadow: 0 3px 8px #3568d52b;
}
.product-brand-tab:not(.active) { background: #f8fafc; }

/* 普通笔记本/Windows 125% 缩放：操作区独占一行，但四个动作仍保持一排。 */
@media (max-width: 1350px) {
  .product-toolbar {
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
    grid-template-areas: "search category" "filter actions";
    row-gap: 12px;
  }
  .product-filter-group { justify-content: flex-start; }
  .product-action-group {
    justify-content: flex-end;
    padding-top: 11px;
    border-top: 1px solid #f0f2f6;
  }
}

@media (max-width: 1000px) and (min-width: 721px) {
  .product-toolbar {
    grid-template-areas: "search category" "filter filter" "actions actions";
  }
  .product-action-group { justify-content: flex-start; }
}

@media (max-width: 720px) {
  .product-toolbar {
    grid-template-columns: 1fr;
    grid-template-areas: "search" "category" "filter" "actions";
  }
  .product-search-block { max-width: none; }
  .product-filter-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-action-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-action { width: 100%; }
  .product-nav-row { gap: 8px; }
  .product-tabs { width: 100%; }
  .product-brand-tabs { padding-left: 0; }
}

/* 香城水管家商城业务区 */
.commerce-page-heading{margin-bottom:14px}.commerce-page-heading h2{font-size:21px}.commerce-page-heading p{max-width:780px;line-height:1.65}.commerce-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.commerce-toolbar .search{flex:1;min-width:260px}.commerce-toolbar select{min-width:150px}.commerce-flow{display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid #dbe7fb;border-radius:10px;background:#f7faff}.flow-step{display:flex;align-items:center;gap:10px;min-width:0;color:#53637a}.flow-step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7edf7;color:#63738a;font-size:13px}.flow-step.active b{background:#3568d5;color:#fff}.flow-step span{display:grid;gap:2px}.flow-step strong{font-size:13px;color:#34435a}.flow-step small{font-size:12px;color:#758299}.commerce-flow>i{height:1px;flex:1;min-width:24px;background:#d5dfed}.commerce-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:16px 0}.commerce-summary .summary-chip{border:1px solid #e1e8f3;border-radius:9px;background:#fff;color:#64728a;text-align:left;font:inherit;cursor:pointer;padding:13px 15px}.commerce-summary .summary-chip:hover{border-color:#9bb7e8;background:#f8fbff}.commerce-summary .summary-chip span,.commerce-summary .summary-chip strong{display:block}.commerce-summary .summary-chip strong{margin-top:5px;color:#253550;font-size:22px}.commerce-status,.commerce-invoice-state{display:inline-block;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}.commerce-status.warn,.commerce-invoice-state{background:#fff4df;color:#a96808}.commerce-status.info{background:#eaf2ff;color:#2762b4}.commerce-status.ok,.commerce-invoice-state.done{background:#e8f8ef;color:#167c4a}.commerce-status.danger{background:#ffeaeb;color:#c14245}.commerce-status.muted{background:#f0f2f5;color:#6f7887}.commerce-address{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commerce-row-actions{display:flex;gap:7px;align-items:center}.commerce-row-actions .secondary,.commerce-row-actions .primary,.commerce-order-action{padding:8px 10px;white-space:nowrap;font-size:12px}.commerce-finished{color:#7d8797;font-size:12px}.commerce-order-empty{display:grid;gap:7px;padding:44px 12px;text-align:center;color:#7c8799}.commerce-order-empty strong{color:#47556c}.commerce-invoice-panel{margin-top:18px}.commerce-invoice-panel summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.commerce-invoice-panel summary::-webkit-details-marker{display:none}.commerce-invoice-panel summary span{display:grid;gap:4px}.commerce-invoice-panel summary strong{font-size:16px;color:#25334a}.commerce-invoice-panel summary small{color:#77849a;font-size:12px}.commerce-invoice-panel[open] summary{padding-bottom:16px}.commerce-empty-cell{text-align:center;color:#8490a2;padding:28px}.commerce-layout-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:26px;align-items:start}.layout-editor{min-width:0}.layout-section{padding:18px 0;border-top:1px solid #e9edf3}.layout-section:first-child{padding-top:0;border-top:0}.layout-section h3{margin:0;color:#26344b;font-size:16px}.layout-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.layout-section-head p{margin:4px 0 0;color:#7b8798;font-size:12px}.layout-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.layout-basic-grid label{display:grid;gap:7px;color:#56647a;font-size:13px}.layout-basic-grid .wide{grid-column:1/-1}.layout-basic-grid input,.layout-banner-row input,.layout-category-add input{min-width:0;border:1px solid #dbe2ec;border-radius:8px;padding:10px 11px;background:#fff;font:inherit;outline:none}.layout-basic-grid input:focus,.layout-banner-row input:focus,.layout-category-add input:focus{border-color:#5c85dc;box-shadow:0 0 0 3px #3568e814}.layout-banner-list{display:grid;gap:8px}.layout-banner-row{display:grid;grid-template-columns:30px minmax(0,1fr) 32px;gap:9px;align-items:center}.layout-banner-row>span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#eff4fb;color:#4b6896;font-size:12px;font-weight:700}.layout-banner-row .icon-btn{width:30px;height:30px;font-size:18px;background:#fff5f5;color:#c25353;border:1px solid #f0d8d8}.layout-empty{padding:26px;text-align:center;border:1px dashed #d9e1ec;border-radius:8px;color:#8793a4;font-size:13px}.layout-empty.compact{padding:14px;text-align:left}.layout-selection-count{padding:5px 9px;border-radius:99px;background:#edf3ff;color:#4269b4;font-size:12px;white-space:nowrap}.layout-product-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:350px;overflow:auto;padding-right:4px}.layout-product-option{display:grid;grid-template-columns:16px 32px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #e0e6ef;border-radius:8px;background:#fff;cursor:pointer}.layout-product-option:hover,.layout-product-option.selected{border-color:#85a7e3;background:#f5f9ff}.layout-product-option input{margin:0}.layout-product-thumb{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#eaf2ff;color:#3568d5;font-weight:800}.layout-product-option>span:nth-of-type(2){min-width:0}.layout-product-option strong,.layout-product-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-product-option strong{color:#36435a;font-size:12px}.layout-product-option small{margin-top:3px;color:#8390a2;font-size:11px}.layout-product-option>b{color:#dd623c;font-size:12px}.layout-category-list{display:flex;flex-wrap:wrap;gap:8px}.layout-category-item{display:flex;align-items:center;gap:6px;padding:5px 6px 5px 10px;border:1px solid #dbe3ee;border-radius:8px;background:#fafcff;color:#43526a;font-size:13px}.layout-category-item>div{display:flex;gap:2px}.layout-category-item button{width:22px;height:22px;border:0;border-radius:4px;background:transparent;color:#6b7d95;cursor:pointer}.layout-category-item button:hover:not(:disabled){background:#e8f0fe;color:#3568d5}.layout-category-item .layout-category-remove{color:#b86161}.layout-category-item button:disabled{opacity:.35;cursor:default}.layout-category-add{display:flex;gap:8px;margin-top:12px}.layout-category-add input{flex:1}.layout-category-add .secondary{padding:9px 12px;white-space:nowrap}.layout-phone-frame{position:sticky;top:20px;width:350px;padding:9px;border:8px solid #263246;border-radius:30px;background:#263246;box-shadow:0 16px 35px #1c294229}.layout-phone-notch{width:110px;height:18px;margin:0 auto -12px;border-radius:0 0 12px 12px;background:#263246;position:relative;z-index:2}.layout-phone-screen{min-height:600px;overflow:hidden;border-radius:20px;background:#f5f7fa;color:#243249}.phone-status{display:flex;justify-content:space-between;padding:14px 16px 8px;font-size:11px;font-weight:700}.layout-phone-screen header{display:grid;gap:4px;padding:9px 16px 13px;background:#fff}.layout-phone-screen header strong{font-size:18px}.layout-phone-screen header small{color:#738098;font-size:11px}.phone-banner{display:grid;place-items:center;height:142px;margin:0 10px;border-radius:10px;overflow:hidden;background:#c8dfeb;color:#477188;font-size:13px}.phone-banner img{width:100%;height:100%;object-fit:cover}.phone-notice{display:flex;gap:7px;margin:10px;padding:8px 9px;border-radius:7px;background:#fff;color:#68748a;font-size:11px}.phone-notice b{color:#df8141}.phone-notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-categories{display:flex;gap:15px;overflow:hidden;padding:7px 13px 12px;background:#fff;font-size:11px;white-space:nowrap}.phone-categories span{color:#708096}.phone-categories .active{color:#23784a;font-weight:800}.phone-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.phone-products>p{grid-column:1/-1;padding:35px 5px;text-align:center;color:#8e99a8;font-size:12px}.phone-products article{min-width:0;padding:8px;border-radius:8px;background:#fff}.phone-products article>div{display:grid;place-items:center;height:78px;border-radius:6px;background:#e4eff9;color:#5081b5;font-size:24px;font-weight:800}.phone-products strong,.phone-products span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-products strong{margin-top:7px;font-size:11px}.phone-products span{margin-top:4px;color:#e15d39;font-size:12px;font-weight:800}@media(max-width:1100px){.commerce-layout-workspace{grid-template-columns:1fr}.layout-phone-frame{position:relative;top:auto;margin:auto}.commerce-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.commerce-flow{display:grid;grid-template-columns:1fr}.commerce-flow>i{width:1px;height:14px;margin-left:15px}.layout-basic-grid,.layout-product-picker{grid-template-columns:1fr}.layout-basic-grid .wide{grid-column:auto}.commerce-row-actions{flex-wrap:wrap}.commerce-toolbar .search{min-width:100%}}

/* 系统设置改为小卡片入口，实际编辑内容放入弹窗。 */
.settings-launchers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.settings-launcher-card{min-height:104px;display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid #e5eaf2;border-radius:10px;background:#fff;text-align:left;color:#25324a;box-shadow:0 5px 18px rgba(30,50,85,.05);cursor:pointer;font:inherit}.settings-launcher-card:hover,.settings-launcher-card:focus-visible{border-color:#8eafea;background:#f8fbff;outline:none}.settings-launcher-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#eef3ff;color:#3568d5;font-size:18px;font-weight:800}.settings-launcher-card>div{flex:1;min-width:0}.settings-launcher-card strong,.settings-launcher-card small{display:block}.settings-launcher-card strong{font-size:16px}.settings-launcher-card small{margin-top:6px;color:#7a879c;font-size:12px;line-height:1.45}.settings-launcher-card i{color:#9aa6b8;font-style:normal;font-size:24px}.page#settings>.settings-section{display:none}.settings-panel-dialog{width:min(1180px,94vw);max-height:90vh;padding:0;border:0;border-radius:12px;overflow:auto}.settings-panel-dialog::backdrop{background:rgba(20,31,50,.46)}.settings-panel-dialog>.dialog-head{position:sticky;top:0;z-index:3;background:#fff}.settings-panel-dialog #settings-panel-body{padding:20px 24px}.settings-panel-dialog .settings-section{display:block;margin:0}.settings-panel-dialog .settings-section-head{display:none}.settings-panel-dialog .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-panel-dialog>.dialog-actions{position:sticky;bottom:0;margin:0;padding:14px 24px;background:#fff;border-top:1px solid #edf0f5}@media(max-width:900px){.settings-launchers{grid-template-columns:1fr 1fr}.settings-panel-dialog .settings-grid{grid-template-columns:1fr}}@media(max-width:620px){.settings-launchers{grid-template-columns:1fr}}
/* 商城布局：在系统设置内以完整工作区打开，预览与小程序四个底部页面保持一致。 */
.settings-panel-dialog.commerce-layout-dialog{width:min(1440px,96vw);max-height:94vh;background:#f7f9fc}
.settings-panel-dialog.commerce-layout-dialog>.dialog-head{padding:18px 26px;border-bottom:1px solid #e7ecf4}
.settings-panel-dialog.commerce-layout-dialog #settings-panel-body{padding:0 26px 26px}
.settings-panel-dialog.commerce-layout-dialog>.dialog-actions{padding:12px 26px;background:#fff}
.commerce-layout-dialog .commerce-settings-section{display:block!important}
.commerce-layout-dialog .commerce-layout-panel{padding-top:20px}
.commerce-layout-dialog .commerce-layout-actions{display:flex;justify-content:flex-end;margin-bottom:12px}
.commerce-layout-dialog .commerce-page-heading{margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid #e5ebf4}
.commerce-layout-dialog .commerce-layout-workspace{grid-template-columns:minmax(520px,1fr) 410px;gap:32px;align-items:start}
.commerce-layout-dialog .layout-editor{padding:20px 22px;border:1px solid #e3e9f2;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(36,55,86,.05)}
.layout-preview-area{position:sticky;top:0;display:grid;gap:12px;justify-items:center}
.layout-preview-head{display:flex;align-items:end;justify-content:space-between;width:100%;padding:0 4px}.layout-preview-head strong,.layout-preview-head small{display:block}.layout-preview-head strong{font-size:15px;color:#28374f}.layout-preview-head small{margin-top:4px;color:#8793a5;font-size:11px}
.layout-preview-switches{display:flex;gap:4px;padding:3px;border:1px solid #e1e6ee;border-radius:9px;background:#fff}.layout-preview-switches button{border:0;border-radius:6px;background:transparent;color:#718096;padding:5px 7px;cursor:pointer;font:600 11px/1 inherit}.layout-preview-switches button.active{background:#e7f5ed;color:#167347}
.commerce-layout-dialog .layout-phone-frame{position:relative;top:auto;box-sizing:border-box;width:min(100%,340px);aspect-ratio:440/956;min-height:0;margin:0;padding:7px;border:7px solid #1d2533;border-radius:45px;background:#1d2533;box-shadow:0 22px 42px rgba(25,37,57,.3)}
.commerce-layout-dialog .layout-phone-island{position:absolute;top:8px;left:50%;z-index:4;width:105px;height:28px;border-radius:18px;transform:translateX(-50%);background:#0c1018}
.commerce-layout-dialog .layout-phone-screen{position:relative;min-height:0;height:100%;border-radius:31px;overflow:hidden;background:#f5f6f8;color:#263349;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.layout-phone-screen .preview-status{display:flex;justify-content:space-between;align-items:center;height:30px;padding:0 18px;font-size:9px;font-weight:800;color:#172236;background:#fff}.layout-phone-screen .preview-navbar{display:flex;align-items:center;justify-content:center;min-height:34px;padding:0 15px 7px;background:#fff;position:relative}.layout-phone-screen .preview-navbar strong{font-size:14px;line-height:1.2}.layout-phone-screen .preview-navbar>span{position:absolute;right:14px;color:#526178;font-size:10px}
.layout-phone-screen .preview-scroll{position:absolute;top:64px;right:0;bottom:53px;left:0;box-sizing:border-box;margin:0;padding:0;overflow:hidden;background:#f5f6f8}.layout-phone-screen .preview-banner{display:grid;place-items:center;height:126px;margin:9px 9px 0;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,#d3f0e4,#b7dbe9);color:#267152}.layout-phone-screen .preview-banner img{width:100%;height:100%;object-fit:cover}.layout-phone-screen .preview-banner>span{display:grid;gap:4px;text-align:center}.layout-phone-screen .preview-banner b{font-size:17px}.layout-phone-screen .preview-banner small{font-size:10px;opacity:.8}
.layout-phone-screen .preview-notice{display:flex;gap:6px;margin:7px 9px 0;padding:6px 7px;border-radius:6px;background:#fffdf6;color:#6b7380;font-size:9px}.layout-phone-screen .preview-notice b{color:#df7c2e}.layout-phone-screen .preview-notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-phone-screen .preview-category-tabs{display:flex;gap:15px;overflow:hidden;padding:10px 12px 9px;background:#fff;white-space:nowrap}.layout-phone-screen .preview-category-tabs button{position:relative;flex:none;border:0;background:transparent;color:#758196;padding:0 0 6px;font:600 10px/1 inherit;cursor:pointer}.layout-phone-screen .preview-category-tabs button.active{color:#147048}
.layout-phone-screen .preview-section-title{display:flex;align-items:center;justify-content:space-between;padding:12px 10px 7px}.layout-phone-screen .preview-section-title b{font-size:13px}.layout-phone-screen .preview-section-title span{color:#8b96a8;font-size:9px}.layout-phone-screen .preview-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 9px 12px}.layout-phone-screen .preview-product-grid article{min-width:0;padding:6px;border-radius:8px;background:#fff}.preview-product-image{display:grid;place-items:center;height:74px;border-radius:6px;background:linear-gradient(135deg,#e7f2fa,#d9e7f0);color:#4e87a9;font-size:25px;font-weight:800}.preview-product-image.compact{flex:none;width:53px;height:53px;font-size:17px}.layout-phone-screen .preview-product-grid article strong,.layout-phone-screen .preview-product-grid article small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-phone-screen .preview-product-grid article strong{margin-top:6px;color:#334057;font-size:10px}.layout-phone-screen .preview-product-grid article small{margin-top:3px;color:#909bad;font-size:8px}.layout-phone-screen .preview-product-grid article>div:last-child{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.layout-phone-screen .preview-product-grid article>div:last-child b{color:#e45a35;font-size:11px}.layout-phone-screen .preview-product-grid article>div:last-child i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#1b9b61;color:#fff;font-style:normal;font-size:13px}
.layout-phone-screen .preview-empty{display:grid;gap:6px;place-items:center;padding:35px 12px;color:#8a96a8;font-size:10px;text-align:center}.layout-phone-screen .preview-empty b{color:#58677d;font-size:12px}.layout-phone-screen .preview-float-cart{position:absolute;right:11px;bottom:61px;z-index:4;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#18784d;box-shadow:0 5px 15px rgba(37,67,84,.2);cursor:pointer;font-size:16px}.layout-phone-screen .preview-float-cart i{position:absolute;top:-3px;right:-2px;display:grid;place-items:center;min-width:13px;height:13px;border:1px solid #fff;border-radius:8px;background:#e95848;color:#fff;font-style:normal;font-size:8px}
.layout-phone-screen .preview-tabbar{position:absolute;right:0;bottom:0;left:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);height:53px;border-top:1px solid #eaedf1;background:rgba(255,255,255,.98)}.layout-phone-screen .preview-tabbar button{position:relative;display:grid;place-content:center;gap:2px;border:0;background:transparent;color:#778399;cursor:pointer;font:9px/1 inherit}.layout-phone-screen .preview-tabbar b{font-size:13px;line-height:1;font-weight:500}.layout-phone-screen .preview-tabbar button.active{color:#198b58}.layout-phone-screen .preview-tabbar i{position:absolute;top:5px;right:calc(50% - 17px);display:grid;place-items:center;min-width:12px;height:12px;border:1px solid #fff;border-radius:7px;background:#e95a4d;color:#fff;font-style:normal;font-size:7px}
.layout-phone-screen .preview-category{display:grid;grid-template-columns:72px minmax(0,1fr);background:#fff}.layout-phone-screen .preview-category>aside{overflow:hidden;background:#f5f6f8;padding-top:3px}.layout-phone-screen .preview-category>aside button{display:block;width:100%;min-height:39px;border:0;border-left:3px solid transparent;background:transparent;color:#657288;cursor:pointer;font:10px/1 inherit}.layout-phone-screen .preview-category>aside button.active{border-left-color:#1c9a60;background:#fff;color:#16774c;font-weight:800}.layout-phone-screen .preview-category>section{overflow:hidden;padding:0 9px;background:#fff}.layout-phone-screen .preview-category h3{margin:10px 0 8px;font-size:13px}.layout-phone-screen .preview-category article{display:flex;gap:7px;padding:7px 0;border-bottom:1px solid #f0f2f5}.layout-phone-screen .preview-category article>div:last-child{min-width:0;flex:1}.layout-phone-screen .preview-category article strong,.layout-phone-screen .preview-category article small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-phone-screen .preview-category article strong{font-size:10px}.layout-phone-screen .preview-category article small{margin-top:4px;color:#8d98a9;font-size:8px}.layout-phone-screen .preview-category article p{display:flex;align-items:center;gap:5px;margin:6px 0 0}.layout-phone-screen .preview-category article p b{color:#e55b36;font-size:11px}.layout-phone-screen .preview-category article p i{flex:1;color:#98a1ad;font-size:8px;font-style:normal}.layout-phone-screen .preview-category article p em{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#1b9b61;color:#fff;font-size:14px;font-style:normal}
.layout-phone-screen .preview-cart{padding:8px 9px}.layout-phone-screen .preview-cart-store{display:flex;justify-content:space-between;padding:10px 9px;background:#fff;border-radius:8px 8px 0 0;font-size:10px}.layout-phone-screen .preview-cart-store span{color:#8d98a7;font-size:9px}.layout-phone-screen .preview-cart article{display:flex;align-items:center;gap:7px;padding:9px;background:#fff;border-top:1px solid #f0f2f5}.layout-phone-screen .preview-cart article>i{display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#1c9b61;color:#fff;font-size:9px;font-style:normal}.layout-phone-screen .preview-cart article>div:last-child{min-width:0;flex:1}.layout-phone-screen .preview-cart article strong,.layout-phone-screen .preview-cart article small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-phone-screen .preview-cart article strong{font-size:10px}.layout-phone-screen .preview-cart article small{margin-top:4px;color:#8d98a7;font-size:8px}.layout-phone-screen .preview-cart article p{display:flex;justify-content:space-between;align-items:center;margin:6px 0 0}.layout-phone-screen .preview-cart article p b{color:#e35b36;font-size:11px}.layout-phone-screen .preview-cart article p span{padding:2px 5px;border:1px solid #e5e9ee;border-radius:4px;color:#5d6b7d;font-size:9px}.layout-phone-screen .preview-checkout{position:absolute;right:0;bottom:53px;left:0;z-index:4;display:flex;align-items:center;gap:6px;height:42px;padding:0 10px;border-top:1px solid #e7ebf0;background:#fff;font-size:9px}.layout-phone-screen .preview-checkout p{flex:1;text-align:right}.layout-phone-screen .preview-checkout p b{color:#e45732;font-size:13px}.layout-phone-screen .preview-checkout button{border:0;border-radius:16px;background:#1c985e;color:#fff;padding:9px 12px;font:600 10px/1 inherit}
.layout-phone-screen .preview-user{padding-bottom:8px}.layout-phone-screen .preview-user-hero{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 14px;background:linear-gradient(135deg,#c7ead7,#d9eef8);color:#24583e}.layout-phone-screen .preview-user-hero div{display:grid;gap:6px}.layout-phone-screen .preview-user-hero b{font-size:13px}.layout-phone-screen .preview-user-hero small{font-size:9px}.layout-phone-screen .preview-user-hero>i{font-size:22px;font-style:normal}.layout-phone-screen .preview-user-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:9px 5px;background:#fff}.layout-phone-screen .preview-user-stats span{display:grid;gap:4px;place-items:center;color:#788598;font-size:8px}.layout-phone-screen .preview-user-stats b{color:#2f3d51;font-size:12px}.layout-phone-screen .preview-gift-card{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 18px);margin:8px 9px;padding:12px 10px;border:0;border-radius:9px;background:linear-gradient(120deg,#254d58,#4c8571);color:#fff;text-align:left;cursor:pointer}.layout-phone-screen .preview-gift-card b{font-size:12px}.layout-phone-screen .preview-gift-card span{font-size:8px;opacity:.85}.layout-phone-screen .preview-user-card{margin:8px 9px;padding:10px;border-radius:8px;background:#fff}.layout-phone-screen .preview-user-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0;background:transparent}.layout-phone-screen .preview-user-card header b{font-size:11px}.layout-phone-screen .preview-user-card header span{color:#8591a3;font-size:8px}.layout-phone-screen .preview-user-card>div{display:grid;grid-template-columns:repeat(5,1fr)}.layout-phone-screen .preview-user-card>div span{display:grid;gap:5px;place-items:center;color:#69768a;font-size:8px;text-align:center}.layout-phone-screen .preview-user-card>div i{color:#469275;font-size:14px;font-style:normal}.layout-phone-screen .preview-services>div{grid-template-columns:repeat(4,1fr)}.layout-phone-screen .preview-services>div i{color:#5d7fb1}
@media(max-width:1120px){.commerce-layout-dialog .commerce-layout-workspace{grid-template-columns:1fr}.layout-preview-area{position:relative;top:auto}}@media(max-width:680px){.settings-panel-dialog.commerce-layout-dialog #settings-panel-body{padding:0 14px 18px}.settings-panel-dialog.commerce-layout-dialog>.dialog-head{padding:15px 16px}.commerce-layout-dialog .layout-editor{padding:16px}.layout-preview-head{align-items:start;gap:10px;flex-direction:column}.layout-preview-switches{width:100%;justify-content:space-between}.layout-preview-switches button{flex:1}}
.layout-phone-screen .preview-navbar{display:flex;gap:0}.layout-phone-screen .preview-navbar strong{display:block}.layout-phone-screen .preview-user-card header{display:flex;gap:0}.layout-phone-screen .preview-user-card header strong{display:inline}

/* 2026-09 紧凑工作台：左侧导航已表达当前位置，主区域只保留真正要操作的数据。 */
.commerce-after-sales-panel{margin-top:18px}.commerce-after-sales-panel summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.commerce-after-sales-panel summary::-webkit-details-marker{display:none}.commerce-after-sales-panel summary span{display:grid;gap:4px}.commerce-after-sales-panel summary strong{font-size:16px;color:#25334a}.commerce-after-sales-panel summary small{color:#77849a;font-size:12px}.commerce-after-sales-panel[open] summary{padding-bottom:16px}.commerce-after-sales-note{max-width:260px;white-space:normal;line-height:1.5}
.commerce-invoice-requests-panel{margin-top:18px}.commerce-invoice-requests-panel summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.commerce-invoice-requests-panel summary::-webkit-details-marker{display:none}.commerce-invoice-requests-panel summary span{display:grid;gap:4px}.commerce-invoice-requests-panel summary strong{font-size:16px;color:#25334a}.commerce-invoice-requests-panel summary small{color:#77849a;font-size:12px}.commerce-invoice-requests-panel[open] summary{padding-bottom:16px}.commerce-invoice-requests-panel td strong,.commerce-invoice-requests-panel td small{display:block}.commerce-invoice-requests-panel td small{margin-top:4px}.commerce-invoice-requests-panel .toolbar{margin:0 0 14px}.commerce-invoice-requests-panel .search{min-width:260px}
/* 左侧导航就是当前位置提示，主工作区不再重复展示同一标题。 */
main{padding-top:22px}
main > header{display:none}
.panel{margin-bottom:16px}
.panel-title p{display:none}
.inventory-toolbar{justify-content:flex-start;margin-bottom:16px}
.inventory-toolbar .search{max-width:none;min-width:260px}
.loose-management-actions{justify-content:flex-end;margin-bottom:16px}
.settings-intro{justify-content:flex-end;margin-bottom:14px}
.settings-launchers{margin-top:0}
.gift-card-settings-card .toolbar{justify-content:flex-start;margin-bottom:14px}.gift-card-settings-card .search{min-width:280px;max-width:460px}.gift-card-background-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#66758b}.gift-card-settings-card table td{vertical-align:middle}.gift-card-toolbar{display:flex;align-items:center;justify-content:space-between!important;gap:12px;flex-wrap:wrap}.gift-card-toolbar .toolbar-actions{margin-left:auto}.gift-card-account,.gift-card-generated-password{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em}.gift-card-password-mask{font-size:16px;letter-spacing:.16em;color:#68768a}.gift-card-generate-dialog{width:min(820px,calc(100vw - 32px));max-width:820px}.gift-card-generate-dialog form{width:100%}.gift-card-generate-dialog label small{display:block;margin-top:6px;color:#7a8798;font-size:12px}.gift-card-generated-result{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.gift-card-generated-result[hidden]{display:none}.gift-card-generated-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.gift-card-generated-head>div{display:grid;gap:4px}.gift-card-generated-head small{color:#758297}.gift-card-generated-table{max-height:320px;background:#fff}.gift-card-generated-password{color:#b65029;font-size:15px}@media(max-width:720px){.gift-card-toolbar .search,.gift-card-toolbar .toolbar-actions{width:100%;max-width:none}.gift-card-toolbar .toolbar-actions{display:flex;flex-wrap:wrap}.gift-card-generated-head{align-items:flex-start;flex-direction:column}}
#gift-card-generate-dialog .form-grid{align-items:start}

/* 商城订单筛选项形成一个连续的操作区，不再分散到整行四角。 */
.commerce-orders-panel{padding-top:18px}
.commerce-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:10px;margin:0 0 12px}
.commerce-toolbar .search{width:100%;max-width:none;min-width:0}
.commerce-toolbar-controls{display:flex;align-items:center;gap:8px}
.commerce-toolbar-controls select{width:170px;min-width:170px}
.commerce-toolbar-controls .secondary,.commerce-toolbar-controls .primary{min-height:40px;padding:9px 14px;white-space:nowrap}
.commerce-toolbar-controls .help-tip{margin-left:2px}
.commerce-summary{gap:8px;margin:10px 0 12px}
.commerce-summary .summary-chip{padding:9px 12px}
.commerce-summary .summary-chip strong{margin-top:2px;font-size:18px}

/* 销售出库使用整块宽屏：左侧客户和经办信息，右侧商品明细。 */
.outbound-workspace{width:100%;max-width:none;margin:0 0 16px;padding:18px 20px}
.outbound-workspace-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:20px;align-items:start}
.outbound-info-column,.outbound-items-column{min-width:0}
.outbound-info-column{padding-right:20px;border-right:1px solid var(--line)}
.member-top-row{grid-template-columns:minmax(0,1fr);gap:8px}
.member-select-card{padding:9px 10px}
.member-sale-info{grid-template-columns:repeat(4,minmax(0,1fr));padding:9px 10px}
.outbound-customer{grid-template-columns:1fr 1fr;gap:11px;margin-top:11px}
.personnel-grid{grid-template-columns:1fr 1fr;gap:11px;margin:11px 0 0;padding:12px}
.personnel-grid .delivery-people-field{grid-column:1/-1}
.outbound-bottom{grid-template-columns:1fr 1fr;gap:11px;margin-top:11px}
.outbound-bottom textarea,.outbound-bottom select{min-height:62px}
.amount-case{gap:9px;margin:11px 0 0;padding:12px 14px}
.amount-case strong{font-size:16px}
.outbound-items-column .order-items-head{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.outbound-item-head,.outbound-item-row{grid-template-columns:minmax(120px,1.9fr) minmax(70px,.9fr) 72px 78px 88px 28px;gap:7px}
.outbound-item-row{padding:9px}
#outbound-items{max-height:560px;overflow:auto;padding-right:3px;overscroll-behavior:contain}
#outbound-form>.submit-wide{width:220px;min-height:42px;margin:16px 0 0 auto;padding:10px 20px;display:block}

@media(max-width:900px){
  .outbound-workspace-grid{grid-template-columns:1fr}
  .outbound-info-column{padding-right:0;padding-bottom:16px;border-right:0;border-bottom:1px solid var(--line)}
  .member-top-row{grid-template-columns:minmax(300px,1.2fr) minmax(170px,.65fr) minmax(300px,1fr)}
  .personnel-grid{grid-template-columns:repeat(3,1fr)}
  .personnel-grid .delivery-people-field{grid-column:auto}
  #outbound-items{max-height:none;overflow:visible}
}
@media(max-width:900px){
  .commerce-toolbar{grid-template-columns:1fr}
  .commerce-toolbar-controls{flex-wrap:wrap}
  .commerce-toolbar-controls select{flex:1;min-width:150px}
}
@media(max-width:760px){
  main > header{height:64px}
  .member-top-row,.personnel-grid,.outbound-customer,.outbound-bottom{grid-template-columns:1fr}
  .personnel-grid .delivery-people-field{grid-column:auto}
  .outbound-item-head{display:none}
  .outbound-item-row{grid-template-columns:1fr 1fr}
  #outbound-form>.submit-wide{width:100%}
  .commerce-toolbar-controls>*{flex:1}
}

/* media45：上传说明改为悬浮气泡，文件夹移动使用站内选择弹窗。 */
.media-upload-trigger{position:relative;overflow:visible!important}
.media-upload-trigger::after{content:attr(data-upload-tip);position:absolute;right:0;bottom:calc(100% + 11px);z-index:80;width:250px;padding:10px 12px;border:1px solid #d9e4f4;border-radius:10px;background:#172033;color:#fff;box-shadow:0 12px 28px rgba(20,34,61,.24);font-size:12px;font-weight:500;line-height:1.55;text-align:left;white-space:normal;pointer-events:none;opacity:0;transform:translateY(5px);transition:opacity .16s ease,transform .16s ease}
.media-upload-trigger:hover::after,.media-upload-trigger:focus-visible::after{opacity:1;transform:translateY(0)}
.xcx-confirm-dialog.media-folder-choice-dialog{width:min(980px,calc(100vw - 32px));max-width:none}
.media-folder-choice-dialog .dialog-head{padding-bottom:10px}
.media-folder-choice-dialog .dialog-head p{margin:7px 0 0;color:#66758d;font-size:13px}
.media-folder-choice-list{display:grid;grid-template-rows:repeat(2,64px);grid-auto-flow:column;grid-auto-columns:180px;gap:10px;max-width:100%;margin:8px 24px 4px;padding:2px 2px 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.media-folder-choice{display:flex;min-width:0;align-items:center;gap:10px;padding:12px;border:1px solid #dce5f2;border-radius:12px;background:#f8faff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.media-folder-choice:hover{border-color:#a9c1ef;background:#f3f7ff}
.media-folder-choice:has(input:checked){border-color:#3568e8;background:#edf3ff;box-shadow:0 0 0 2px rgba(53,104,232,.11)}
.media-folder-choice:has(input:disabled){cursor:not-allowed;opacity:.5}
.media-folder-choice input{width:17px;height:17px;margin:0;accent-color:#3568e8}
.media-folder-choice span{display:grid;min-width:0;gap:2px}
.media-folder-choice strong{overflow:hidden;color:#263752;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.media-folder-choice small{color:#7a879b;font-size:11px}
@media(max-width:560px){.xcx-confirm-dialog.media-folder-choice-dialog{width:calc(100vw - 24px)}.media-folder-choice-list{grid-template-rows:repeat(2,62px);grid-auto-columns:168px;margin-inline:16px}.media-upload-trigger::after{right:-8px;width:220px}}

/* 小程序预约配送与客户备注在商城订单中保持紧凑展示。 */
.commerce-order-details{max-width:260px}.commerce-order-details strong,.commerce-order-details small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commerce-order-details strong{color:#42526a;font-size:12px;font-weight:600}.commerce-order-details small{margin-top:4px}.commerce-reminder{display:grid;gap:5px;min-width:100px}.commerce-reminder .commerce-status{justify-self:start}.commerce-reminder-action{padding:5px 8px;font-size:11px;white-space:nowrap}.commerce-reminder-none{color:#98a2b3;font-size:12px}
.page#reports{height:calc(100vh - 145px);overflow:auto;overscroll-behavior:contain;padding-bottom:24px}.page#commerce-layout{max-width:1600px}.page#commerce-layout>.commerce-layout-panel{margin-bottom:0}.admin-permission-field{margin:0}.admin-permission-field legend{font-weight:600}.admin-permission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.admin-permission-options fieldset{border:1px solid #e4e9f2;border-radius:8px;padding:10px;margin:0;background:#fbfcfe}.admin-permission-options fieldset legend{font-size:12px;color:#31415d;padding:0 4px}.admin-permission-options fieldset>div{display:flex;flex-wrap:wrap;gap:8px 14px}.admin-permission-options label{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#59677c;white-space:nowrap}.admin-permission-options input{accent-color:#3568d5}@media(max-width:680px){.admin-permission-options{grid-template-columns:1fr}}
.finance-panel .commerce-toolbar { grid-template-columns: minmax(260px, 1fr) auto; }
.finance-panel .commerce-toolbar-controls { flex-wrap: nowrap; white-space: nowrap; }
.finance-panel .commerce-toolbar-controls input[type="date"] { width: 132px; min-width: 132px; }
.finance-panel .commerce-toolbar-controls select { width: 156px; min-width: 156px; }
.finance-summary { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.finance-summary .summary-chip { min-width:120px; }
@media (max-width: 980px) {
  .finance-panel .commerce-toolbar { grid-template-columns: 1fr; }
  .finance-panel .commerce-toolbar-controls { flex-wrap: wrap; white-space: normal; }
  .finance-panel .commerce-toolbar-controls > * { flex: 1 1 120px; }
}

/* 系统设置弹窗：统一标题层级、留白和操作区，避免标题贴边。 */
.settings-panel-dialog{
  border:1px solid rgba(210,219,233,.9);
  border-radius:20px;
  overflow:auto;
  background:#f7f9fc;
  box-shadow:0 28px 90px rgba(17,31,55,.28),0 8px 24px rgba(17,31,55,.12)
}
.settings-panel-dialog::backdrop{background:rgba(18,29,47,.56);backdrop-filter:blur(3px)}
.settings-panel-dialog>.dialog-head{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  gap:14px;
  margin:0;
  padding:22px 26px 19px;
  border-bottom:1px solid #e4eaf2;
  background:linear-gradient(135deg,#ffffff 0%,#f7faff 72%,#eef4ff 100%);
  box-shadow:0 4px 14px rgba(45,66,101,.06)
}
.settings-panel-dialog>.dialog-head::before{content:"";flex:none;width:4px;height:42px;border-radius:4px;background:linear-gradient(180deg,#3568e8,#63a0f2)}
.settings-panel-dialog>.dialog-head>div{flex:1;min-width:0}
.settings-panel-dialog>.dialog-head h2{margin:0;color:#1c2a40;font-size:21px;font-weight:750;line-height:1.3;letter-spacing:.02em}
.settings-panel-dialog>.dialog-head p{margin:6px 0 0;color:#748197;font-size:13px;line-height:1.5}
.settings-panel-dialog>.dialog-head .icon-btn{flex:none;width:38px;height:38px;border:1px solid #e1e7f0;background:#fff;color:#718096;box-shadow:0 3px 10px rgba(38,56,88,.08);transition:.18s ease}
.settings-panel-dialog>.dialog-head .icon-btn:hover{border-color:#cbd8ec;background:#edf4ff;color:#315fae;transform:rotate(4deg)}
.settings-panel-dialog #settings-panel-body{padding:26px;background:#f7f9fc}
.settings-panel-dialog #settings-panel-body>.settings-section>.panel,.settings-panel-dialog #settings-panel-body>.settings-section>.settings-grid>.panel{border-color:#e3e9f2;box-shadow:0 8px 24px rgba(33,52,84,.055)}
.settings-panel-dialog>.dialog-actions{position:sticky;bottom:0;z-index:4;margin:0;padding:14px 26px;border-top:1px solid #e2e8f1;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.settings-panel-dialog>.dialog-actions .primary{min-width:96px;border-radius:9px}

/* 设置页内的二级表单弹窗使用同一视觉语言。 */
#setting-dialog,#admin-account-dialog,#gift-card-style-dialog,#gift-card-generate-dialog,#gift-card-delete-dialog,#gift-card-batch-delete-dialog,#print-tuning-dialog{border:1px solid #dfe6f0;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(17,31,55,.3)}
#setting-dialog::backdrop,#admin-account-dialog::backdrop,#gift-card-style-dialog::backdrop,#gift-card-generate-dialog::backdrop,#gift-card-delete-dialog::backdrop,#gift-card-batch-delete-dialog::backdrop,#print-tuning-dialog::backdrop{background:rgba(18,29,47,.58);backdrop-filter:blur(3px)}
#setting-dialog form,#admin-account-dialog form,#gift-card-style-dialog form,#gift-card-generate-dialog form,#gift-card-delete-dialog form,#gift-card-batch-delete-dialog form,#print-tuning-dialog form{padding:28px 30px 24px}
#setting-dialog .dialog-head,#admin-account-dialog .dialog-head,#gift-card-style-dialog .dialog-head,#gift-card-generate-dialog .dialog-head,#gift-card-delete-dialog .dialog-head,#gift-card-batch-delete-dialog .dialog-head,#print-tuning-dialog .dialog-head{align-items:center;gap:18px;margin:-28px -30px 0;padding:22px 26px 19px;border-bottom:1px solid #e5eaf2;background:linear-gradient(135deg,#fff,#f3f7ff)}
#setting-dialog .dialog-head>div,#admin-account-dialog .dialog-head>div,#gift-card-style-dialog .dialog-head>div,#gift-card-generate-dialog .dialog-head>div,#gift-card-delete-dialog .dialog-head>div,#gift-card-batch-delete-dialog .dialog-head>div,#print-tuning-dialog .dialog-head>div{flex:1;min-width:0}
#setting-dialog .dialog-head h2,#admin-account-dialog .dialog-head h2,#gift-card-style-dialog .dialog-head h2,#gift-card-generate-dialog .dialog-head h2,#gift-card-delete-dialog .dialog-head h2,#gift-card-batch-delete-dialog .dialog-head h2,#print-tuning-dialog .dialog-head h2{color:#1c2a40;font-size:20px;line-height:1.3;font-weight:750}
#setting-dialog .dialog-head p,#admin-account-dialog .dialog-head p,#gift-card-style-dialog .dialog-head p,#gift-card-generate-dialog .dialog-head p,#gift-card-delete-dialog .dialog-head p,#gift-card-batch-delete-dialog .dialog-head p,#print-tuning-dialog .dialog-head p{margin-top:6px;color:#748197;line-height:1.5}
#setting-dialog .form-grid,#admin-account-dialog .form-grid,#gift-card-style-dialog .form-grid,#gift-card-generate-dialog .form-grid{margin-top:24px}
#setting-dialog .dialog-actions,#admin-account-dialog .dialog-actions,#gift-card-style-dialog .dialog-actions,#gift-card-generate-dialog .dialog-actions,#gift-card-delete-dialog .dialog-actions,#gift-card-batch-delete-dialog .dialog-actions,#print-tuning-dialog .dialog-actions{margin-top:24px;padding-top:18px;border-top:1px solid #edf0f5}
.gift-card-row-actions{display:flex;align-items:center;gap:8px}
.gift-card-delete-dialog{width:min(500px,calc(100vw - 32px))}.gift-card-material-delete-dialog,.gift-card-batch-style-dialog{width:min(560px,calc(100vw - 32px))}
.gift-card-material-usage{display:grid;gap:4px;margin-top:14px;padding:12px 14px;border:1px solid #e4ebf4;border-radius:10px;background:#f7faff}
.gift-card-material-usage span{color:#7b899e;font-size:12px}
.gift-card-material-usage p{margin:0;color:#35445b;font-size:13px;font-weight:600;word-wrap:break-word}
.gift-card-delete-warning{display:flex;align-items:center;gap:15px;margin-top:24px;padding:18px;border:1px solid #f0dedb;border-radius:12px;background:#fff8f6}
.gift-card-delete-warning>span{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;background:#fee9e4;color:#bc513c;font-size:20px;font-weight:800}
.gift-card-delete-warning>div{display:grid;gap:4px;min-width:0}
.gift-card-delete-warning small{color:#8b6c66}
.gift-card-delete-warning strong{color:#27364d;font:700 17px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em}
.gift-card-delete-warning p{margin:2px 0 0;color:#8a6d68;font-size:12px}
.gift-card-delete-dialog .danger-button{border:0;border-radius:9px;padding:10px 18px;background:#d94b4b;color:#fff;font-weight:700;cursor:pointer}
.gift-card-delete-dialog .danger-button:hover{background:#c43e3e}
.gift-card-material-delete-dialog .danger-button{border:0;border-radius:9px;padding:10px 18px;background:#d94b4b !important;color:#fff;font-weight:700;cursor:pointer}
.gift-card-material-delete-dialog .danger-button:hover{background:#c43e3e !important}
.gift-card-material-delete-dialog .danger-button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:680px){.settings-panel-dialog>.dialog-head{padding:18px}.settings-panel-dialog #settings-panel-body{padding:18px}.settings-panel-dialog>.dialog-actions{padding:12px 18px}}

/* 独立商城布局页面 */
.page#commerce-layout{max-width:1600px;margin:0 auto;padding-bottom:30px}
.page#commerce-layout>.commerce-layout-panel{min-height:calc(100vh - 155px);padding:24px 26px 30px;border:1px solid #e2e8f1;border-radius:18px;background:#f7f9fc;box-shadow:0 10px 30px rgba(35,54,86,.06)}
.page#commerce-layout .commerce-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid #dfe6f0}
.page#commerce-layout .commerce-page-heading h2{margin:0 0 6px;color:#1c2a40;font-size:24px}
.page#commerce-layout .commerce-page-heading p{margin:0;color:#748197;font-size:13px}
.page#commerce-layout .commerce-layout-workspace{grid-template-columns:minmax(520px,1fr) 410px;gap:32px;align-items:start}
.page#commerce-layout .layout-editor{padding:22px 24px;border:1px solid #e1e8f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(35,54,86,.05)}
.page#commerce-layout .layout-preview-area{position:sticky;top:18px;display:grid;justify-items:center;gap:14px}
.page#commerce-layout .layout-preview-head{width:100%}
.page#commerce-layout .layout-phone-frame{position:relative;top:auto;box-sizing:border-box;width:min(100%,340px);aspect-ratio:440/956;min-height:0;margin:0;padding:7px;border:7px solid #1d2533;border-radius:45px;background:#1d2533;box-shadow:0 22px 42px rgba(25,37,57,.3)}
.page#commerce-layout .layout-phone-island{position:absolute;top:8px;left:50%;z-index:4;width:105px;height:28px;border-radius:18px;transform:translateX(-50%);background:#0c1018}
.page#commerce-layout .layout-phone-screen{position:relative;min-height:0;height:100%;border-radius:31px;overflow:hidden;background:#f5f6f8;color:#263349;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}

/* 礼品卡完整管理 */
.settings-panel-dialog.gift-card-management-dialog{width:min(1500px,97vw);max-height:94vh}
.gift-card-management-dialog #settings-panel-body{padding:22px}
.gift-card-settings-card{padding:0;border:0!important;background:transparent;box-shadow:none!important}
.gift-card-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-bottom:16px}
.gift-card-summary article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border:1px solid #e1e8f2;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(35,54,86,.04)}
.gift-card-summary span{color:#758297;font-size:12px}.gift-card-summary strong{color:#243550;font-size:22px}
.gift-card-summary article:nth-child(2) strong{color:#4a67a2}.gift-card-summary article:nth-child(3) strong{color:#148257}.gift-card-summary article:nth-child(4) strong{color:#b47718}.gift-card-summary article:nth-child(5) strong{color:#3568d5}
.gift-card-filterbar,.gift-card-actionbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 14px;border:1px solid #e1e7f0;background:#fff}
.gift-card-filterbar{border-radius:12px 12px 0 0}.gift-card-filterbar .search{flex:1;min-width:260px}
.gift-card-filterbar>label{display:flex;align-items:center;gap:7px;color:#66758b;font-size:12px;font-weight:700;white-space:nowrap}
.gift-card-filterbar select,.gift-card-delivery-select,.gift-card-note-input{min-height:36px;border:1px solid #dce3ed;border-radius:8px;padding:7px 9px;background:#fff;color:#344054;outline:none}
.gift-card-filterbar select:focus,.gift-card-delivery-select:focus,.gift-card-note-input:focus{border-color:#6f94d9;box-shadow:0 0 0 3px rgba(53,104,213,.1)}
.gift-card-actionbar{justify-content:space-between;border-top:0;border-radius:0 0 12px 12px;background:#f8faff}
.gift-card-actionbar>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.gift-card-actionbar>div:first-child>span{margin-right:4px;color:#5f6f87;font-size:12px;font-weight:700}
.gift-card-actionbar button:disabled{opacity:.45;cursor:not-allowed}
.gift-card-management-table{max-height:520px;margin-top:14px;border:1px solid #e1e7f0;border-radius:12px;background:#fff;overflow:auto}
.gift-card-management-table table{min-width:1280px;margin:0}.gift-card-management-table thead th{position:sticky;top:0;z-index:2;background:#f4f7fb;box-shadow:0 1px 0 #dfe6f0}
.gift-card-management-table td{padding:12px 10px;vertical-align:middle}.gift-card-management-table tbody tr:hover{background:#f8fbff}
.gift-card-management-table th:first-child,.gift-card-management-table td:first-child{width:38px;text-align:center}
.gift-card-management-table th:nth-child(2){min-width:180px}.gift-card-management-table th:nth-child(4){min-width:145px}.gift-card-management-table th:nth-child(5){min-width:130px}.gift-card-management-table th:nth-child(6){min-width:210px}.gift-card-management-table th:nth-child(7){min-width:170px}.gift-card-management-table th:last-child{min-width:135px}
.gift-card-password-line{display:flex;align-items:center;gap:7px;margin:5px 0 2px;min-height:22px}.gift-card-password-line .text-btn{font-size:11px}.gift-card-password-value{color:#b65029;font:700 13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}
.gift-card-note-input{width:100%;min-width:190px}.gift-card-delivery-select{width:112px;font-weight:700}
.gift-card-row-actions{flex-wrap:wrap}.gift-card-row-actions .text-btn{white-space:nowrap}
.gift-card-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;color:#68758a;font-size:12px}.gift-card-pagination label{display:flex;align-items:center;gap:7px}.gift-card-pagination select{min-height:34px;border:1px solid #dce3ed;border-radius:8px;padding:6px 8px;background:#fff}.gift-card-pagination button{padding:7px 12px}.gift-card-pagination button:disabled{opacity:.45;cursor:not-allowed}
.danger-outline{border-color:#efc8c8!important;color:#bd4545!important;background:#fff8f8!important}.danger-outline:hover:not(:disabled){border-color:#dd9696!important;background:#fff0f0!important}.danger-outline[aria-disabled="true"]{border-color:#e6ebf2!important;color:#a9b4c4!important;background:#f7f9fc!important;cursor:not-allowed}.danger-outline[aria-disabled="true"]:hover{border-color:#e6ebf2!important;background:#f7f9fc!important}
.gift-card-material-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.gift-card-material-item{overflow:hidden;border:1px solid #e0e7f0;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(35,54,86,.04)}.gift-card-material-item img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#eef2f7}.gift-card-material-info{display:grid;gap:8px;padding:11px}.gift-card-material-info strong{overflow:hidden;color:#35445b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.gift-card-material-info small{color:#8290a4}.gift-card-material-actions{display:flex;gap:8px}.gift-card-material-actions button{flex:1}.gift-card-material-list>.layout-empty{grid-column:1/-1}
@media(max-width:1120px){.page#commerce-layout .commerce-layout-workspace{grid-template-columns:1fr}.page#commerce-layout .layout-preview-area{position:relative;top:auto}.gift-card-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.page#commerce-layout>.commerce-layout-panel{padding:18px 14px}.page#commerce-layout .commerce-page-heading{align-items:flex-start;flex-direction:column}.page#commerce-layout .layout-editor{padding:16px}.gift-card-material-list{grid-template-columns:1fr}.gift-card-summary{grid-template-columns:1fr 1fr}.gift-card-filterbar .search{min-width:100%}.gift-card-actionbar{align-items:flex-start;flex-direction:column}.gift-card-pagination{justify-content:flex-start;flex-wrap:wrap}}

/* 商城布局控制台：手机预览固定，内容配置按功能进入弹窗。 */
.page#commerce-layout>.commerce-layout-panel{height:calc(100vh - 128px);min-height:650px;box-sizing:border-box;overflow:hidden}
.page#commerce-layout .commerce-layout-workspace{display:block;height:calc(100% - 82px);min-height:0;overflow:hidden}
.page#commerce-layout .layout-preview-area{grid-column:1;position:relative;top:auto;align-self:start;height:100%;overflow:hidden}
.page#commerce-layout .layout-phone-frame{width:auto;max-width:100%;height:min(560px,calc(100vh - 300px));aspect-ratio:440/956}
.page#commerce-layout .layout-editor.layout-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:16px;height:100%;box-sizing:border-box;padding:4px 8px 18px 4px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow-y:auto;overscroll-behavior:contain}
.commerce-layout-inline-editor{height:100%;min-height:560px;overflow:hidden;border:1px solid #e1e8f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(35,54,86,.05)}
.commerce-layout-inline-editor>.scroll-tabs{position:sticky;top:0;z-index:5;background:#fff}
.commerce-layout-inline-editor>.commerce-layout-editor-body{height:calc(100% - 55px);min-height:0;box-sizing:border-box;overflow:auto;padding:24px 26px}
.commerce-layout-inline-editor .layout-dialog-panel.active{display:block}
.layout-config-card{display:flex;align-items:center;gap:14px;min-height:112px;padding:18px;border:1px solid #e0e7f1;border-radius:15px;background:#fff;color:#26344b;text-align:left;cursor:pointer;font:inherit;box-shadow:0 7px 20px rgba(35,54,86,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.layout-config-card:hover,.layout-config-card:focus-visible{border-color:#8eafe8;outline:none;box-shadow:0 11px 26px rgba(45,83,149,.11);transform:translateY(-2px)}
.layout-config-card>span{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#edf3ff,#e3edff);color:#3568d5;font-size:18px;font-weight:800}
.layout-config-card:nth-child(5n+2)>span{background:linear-gradient(135deg,#edf9f2,#ddf2e6);color:#24815a}.layout-config-card:nth-child(5n+3)>span{background:linear-gradient(135deg,#fff7e8,#ffecd0);color:#ad6b14}.layout-config-card:nth-child(5n+4)>span{background:linear-gradient(135deg,#f6efff,#ebdfff);color:#7951af}.layout-config-card:nth-child(5n)>span{background:linear-gradient(135deg,#fff0ef,#ffe1de);color:#b85b50}
.layout-config-card>div{flex:1;min-width:0}.layout-config-card strong,.layout-config-card small{display:block}.layout-config-card strong{font-size:16px}.layout-config-card small{margin-top:7px;overflow:hidden;color:#7b8799;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.layout-config-card>i{flex:none;color:#7d91af;font-size:12px;font-style:normal;font-weight:700}
.commerce-layout-editor-dialog{width:min(980px,94vw);max-height:90vh;padding:0;border:1px solid #d9e2ef;border-radius:20px;background:#f7f9fc;box-shadow:0 28px 90px rgba(17,31,55,.28)}
.commerce-layout-editor-dialog::backdrop{background:rgba(18,29,47,.56);backdrop-filter:blur(3px)}
.commerce-layout-editor-dialog>.dialog-head{position:sticky;top:0;z-index:4;margin:0;padding:21px 25px;border-bottom:1px solid #e2e8f1;background:linear-gradient(135deg,#fff,#f2f7ff)}
.commerce-layout-editor-dialog>.dialog-head h2{margin:3px 0 0}.commerce-layout-editor-dialog>.dialog-head p{margin:6px 0 0;color:#748197}
.commerce-layout-editor-body{min-height:250px;padding:24px 26px;background:#fff}.layout-dialog-panel{display:none}.layout-dialog-panel.active{display:block}
.commerce-layout-editor-dialog>.dialog-actions{position:sticky;bottom:0;z-index:4;margin:0;padding:14px 25px;border-top:1px solid #e2e8f1;background:rgba(255,255,255,.97)}
.commerce-layout-editor-dialog textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #dbe2ec;border-radius:9px;padding:11px;background:#fff;font:inherit;line-height:1.65;outline:none}.commerce-layout-editor-dialog textarea:focus{border-color:#5c85dc;box-shadow:0 0 0 3px #3568e814}
.commerce-layout-editor-dialog .layout-product-picker{max-height:55vh}.commerce-layout-editor-dialog .gift-card-material-list{max-height:55vh;overflow:auto;padding-right:4px}
.layout-content-list{display:grid;gap:12px}.layout-content-item{display:grid;grid-template-columns:1.1fr 1.5fr .7fr 34px;gap:10px;align-items:end;padding:14px;border:1px solid #e2e8f1;border-radius:12px;background:#f9fbfe}.layout-content-item label{display:grid;gap:6px;color:#59677c;font-size:12px;font-weight:700}.layout-content-item input,.layout-content-item select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #dbe2ec;border-radius:8px;padding:9px;background:#fff;font:inherit}.layout-content-item .wide{grid-column:1/-2}.layout-content-item .layout-benefits{grid-column:1/-2}.layout-content-remove{grid-column:4;grid-row:1;width:34px;height:34px;border:1px solid #efd5d5;border-radius:8px;background:#fff5f5;color:#bd5151;cursor:pointer;font-size:18px}.layout-content-item.activity{grid-template-columns:1fr 1.6fr 120px 34px}.layout-content-item.coupon{grid-template-columns:1.2fr .65fr .65fr 90px 34px}.layout-content-item.rights{grid-template-columns:1.1fr .55fr .55fr 34px}
.layout-policy-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #e5eaf2}.layout-policy-tabs button{border:1px solid #dbe3ee;border-radius:9px;padding:9px 12px;background:#fff;color:#53627a;cursor:pointer;font-weight:700}.layout-policy-tabs button.active{border-color:#3568d5;background:#3568d5;color:#fff}
.layout-product-option{display:block;padding:0;overflow:hidden;cursor:default}.layout-product-select{display:grid;grid-template-columns:16px 42px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;cursor:pointer}.layout-product-select>span:nth-of-type(2){min-width:0}.layout-product-select strong,.layout-product-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-product-select strong{color:#36435a;font-size:12px}.layout-product-select small{margin-top:3px;color:#8390a2;font-size:11px}.layout-product-select>b{color:#dd623c;font-size:12px}.layout-product-thumb{width:42px;height:42px;overflow:hidden}.layout-product-thumb.has-image{background:#eef2f7}.layout-product-thumb img{display:block;width:100%;height:100%;object-fit:cover}.edit-layout-product{width:calc(100% - 20px);margin:0 10px 10px;border:1px solid #bcd0ee;border-radius:8px;padding:7px 10px;background:#f5f9ff;color:#3568d5;cursor:pointer;font-size:12px;font-weight:700}.edit-layout-product:hover{border-color:#6f96da;background:#ebf3ff}
.layout-product-picker{grid-template-columns:1fr;gap:12px}.layout-product-group{overflow:hidden;border:1px solid #dce4ef;border-radius:12px;background:#f8faff}.layout-product-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #e4eaf3;background:#eef4ff}.layout-product-group-head label{display:flex;min-width:0;align-items:center;gap:10px;cursor:pointer}.layout-product-group-head label>span{display:grid;min-width:0;gap:2px}.layout-product-group-head strong{overflow:hidden;color:#2f3f59;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.layout-product-group-head small{color:#74839a;font-size:11px}.layout-product-group-head>b{flex:0 0 auto;color:#d85d39;font-size:12px}.layout-product-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.showcase-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.showcase-variant-grid label{display:grid;gap:7px;color:#56647a;font-size:13px}.showcase-variant-grid input{width:100%;box-sizing:border-box;border:1px solid #dbe2ec;border-radius:8px;padding:10px 11px;font:inherit;outline:none}.showcase-variant-grid input:focus{border-color:#5c85dc;box-shadow:0 0 0 3px #3568e814}@media(max-width:760px){.layout-product-group-items,.showcase-variant-grid{grid-template-columns:1fr}}
.preview-product-image{overflow:hidden}.preview-product-image img{display:block;width:100%;height:100%;object-fit:cover}
.commerce-product-showcase-dialog{width:min(1040px,95vw);max-height:92vh;padding:0;border:1px solid #d9e2ef;border-radius:20px;background:#f7f9fc;box-shadow:0 28px 90px rgba(17,31,55,.3)}.commerce-product-showcase-dialog::backdrop{background:rgba(16,27,44,.62);backdrop-filter:blur(3px)}.commerce-product-showcase-dialog form{display:flex;max-height:92vh;flex-direction:column}.commerce-product-showcase-dialog .dialog-head{flex:none;margin:0;padding:21px 25px;border-bottom:1px solid #e2e8f1;background:linear-gradient(135deg,#fff,#f2f7ff)}.commerce-product-showcase-dialog .dialog-head h2{margin:3px 0 0}.commerce-product-showcase-dialog .dialog-head p{margin:6px 0 0;color:#748197}.commerce-product-showcase-dialog .dialog-actions{flex:none;margin:0;padding:14px 25px;border-top:1px solid #e2e8f1;background:#fff}.product-showcase-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;overflow-y:auto;padding:20px 24px}.showcase-section{min-width:0;padding:17px;border:1px solid #e1e7f0;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(35,54,86,.04)}.showcase-section:nth-child(n+3){grid-column:1/-1}.showcase-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.showcase-section-head h3{margin:0;color:#2a3850;font-size:15px}.showcase-section-head p{margin:5px 0 0;color:#7c899b;font-size:11px}.showcase-section-head button{flex:none;padding:8px 11px;font-size:12px}.showcase-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.showcase-media-grid>.layout-empty{grid-column:1/-1;padding:24px 12px}.showcase-media-grid article{position:relative;overflow:hidden;aspect-ratio:1;border:1px solid #dfe6ef;border-radius:10px;background:#eef2f7}.showcase-media-grid img{display:block;width:100%;height:100%;object-fit:cover}.showcase-media-grid article>span{position:absolute;right:5px;bottom:5px;padding:3px 6px;border-radius:10px;background:rgba(23,34,51,.72);color:#fff;font-size:9px}.remove-showcase-media{position:absolute;top:5px;right:5px;display:grid;width:24px;height:24px;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(28,37,52,.75);color:#fff;cursor:pointer;font-size:15px}.showcase-link-add{display:flex;gap:8px;margin-top:10px}.showcase-link-add input,.showcase-parameter-row input,.showcase-section textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #dbe2ec;border-radius:8px;padding:9px 10px;background:#fff;font:inherit;outline:none}.showcase-link-add input:focus,.showcase-parameter-row input:focus,.showcase-section textarea:focus{border-color:#5c85dc;box-shadow:0 0 0 3px #3568e814}.showcase-link-add button{flex:none;padding:8px 11px}.showcase-section textarea{resize:vertical;line-height:1.65}.showcase-parameter-list{display:grid;gap:8px}.showcase-parameter-row{display:grid;grid-template-columns:minmax(140px,.65fr) minmax(220px,1.35fr) 34px;gap:8px}.remove-showcase-parameter{border:1px solid #efd5d5;border-radius:8px;background:#fff5f5;color:#bd5151;cursor:pointer;font-size:18px}
@media(max-width:1120px){.page#commerce-layout>.commerce-layout-panel{height:auto;min-height:0;overflow:visible}.page#commerce-layout .commerce-layout-workspace{height:auto;overflow:visible}.page#commerce-layout .layout-editor.layout-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;max-height:none;overflow:visible}}
@media(max-width:820px){.page#commerce-layout .layout-editor.layout-config-grid{grid-template-columns:1fr}.layout-content-item,.layout-content-item.activity,.layout-content-item.coupon,.layout-content-item.rights{grid-template-columns:1fr}.layout-content-item .wide,.layout-content-item .layout-benefits{grid-column:1}.layout-content-remove{grid-column:1;grid-row:auto;justify-self:end}.product-showcase-body{grid-template-columns:1fr}.showcase-section:nth-child(n+3){grid-column:1}.showcase-parameter-row{grid-template-columns:1fr 1fr 34px}}
@media(max-width:560px){.showcase-section-head{flex-direction:column}.showcase-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-link-add{flex-direction:column}.showcase-parameter-row{grid-template-columns:1fr 34px}.showcase-parameter-row input:nth-child(2){grid-column:1}.showcase-parameter-row button{grid-column:2;grid-row:1/3}.commerce-product-showcase-dialog .dialog-head,.commerce-product-showcase-dialog .dialog-actions{padding:16px}.product-showcase-body{padding:14px}}

/* 商城草稿发布、素材库与版本管理 */
.commerce-publish-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.commerce-publish-actions>span{margin-right:4px;padding:7px 10px;border:1px solid #dfe6f0;border-radius:20px;background:#fff;color:#66758b;font-size:12px}.commerce-publish-actions button{min-height:38px}
.layout-content-item.activity{grid-template-columns:1.1fr 1.5fr 1fr 1fr 90px 90px 34px}.layout-content-item.activity .layout-content-remove{grid-column:7}.layout-content-item.rights{grid-template-columns:1.1fr .55fr .55fr .6fr 90px 34px}.layout-content-item.rights .layout-content-remove{grid-column:6}.layout-content-item.coupon{grid-template-columns:1.2fr .55fr .55fr .75fr 1fr 1fr 90px 34px}.layout-content-item.coupon .layout-content-remove{grid-column:8}
.product-media-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;max-height:58vh;overflow:auto;padding:2px}.product-media-library>.layout-empty{grid-column:1/-1}.product-media-item{overflow:hidden;border:1px solid #e0e7f0;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(35,54,86,.05)}.product-media-item>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef2f7}.product-media-item>div{display:grid;gap:6px;padding:11px}.product-media-item strong,.product-media-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-media-item strong{color:#35445b;font-size:12px}.product-media-item small{color:#8290a4;font-size:11px}.product-media-item>div>div{display:flex;gap:7px;margin-top:3px}.product-media-item button{flex:1;padding:7px 8px;font-size:11px}.product-media-item button:disabled{opacity:.45;cursor:not-allowed}
.commerce-preflight-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}.commerce-preflight-summary article{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #e1e7f0;border-radius:12px;background:#f8fafc}.commerce-preflight-summary span{color:#6e7b90;font-size:12px}.commerce-preflight-summary strong{color:#33425a;font-size:24px}.commerce-preflight-summary .danger strong{color:#c34e4e}.commerce-preflight-summary .warn strong{color:#b17618}.commerce-preflight-summary .ok strong{color:#20815c}
.commerce-preflight-issues{display:grid;gap:8px;max-height:250px;overflow:auto}.commerce-preflight-issues>div:not(.layout-empty){display:grid;grid-template-columns:58px minmax(120px,.5fr) minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid #e5e9f0;border-radius:9px;background:#fbfcfe}.commerce-preflight-issues span{justify-self:start;padding:3px 7px;border-radius:10px;background:#fff2d8;color:#9a6413;font-size:10px;font-weight:700}.commerce-preflight-issues .error span{background:#ffebe9;color:#b74343}.commerce-preflight-issues strong{font-size:12px}.commerce-preflight-issues p{margin:0;color:#69778c;font-size:12px}.version-heading{margin-top:24px;padding-top:20px;border-top:1px solid #e4e9f1}.commerce-layout-versions{display:grid;gap:9px}.commerce-layout-versions article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid #e2e8f1;border-radius:10px;background:#f9fbfe}.commerce-layout-versions article>div{display:grid;gap:3px}.commerce-layout-versions strong{color:#35445a;font-size:13px}.commerce-layout-versions small{color:#7b889c;font-size:11px}
@media(max-width:1100px){.layout-content-item.activity,.layout-content-item.rights,.layout-content-item.coupon{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-content-item.activity .layout-content-remove,.layout-content-item.rights .layout-content-remove,.layout-content-item.coupon .layout-content-remove{grid-column:2;grid-row:auto;justify-self:end}.product-media-library{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.commerce-publish-actions{justify-content:flex-start}.product-media-library,.commerce-preflight-summary{grid-template-columns:1fr}.commerce-preflight-issues>div:not(.layout-empty){grid-template-columns:1fr}.commerce-layout-versions article{align-items:flex-start;flex-direction:column}.commerce-layout-versions button{width:100%}}

/* 商品页筛选控件与操作按钮统一贴底，避免带标题的下拉框把按钮顶高。 */
.page#products .product-toolbar{align-items:end}
.page#products .product-filter-group,.page#products .product-action-group{align-self:end}
.page#products .product-action-group{padding-top:0;border-top:0}
.page#products .product-filter-field select,.page#products .product-action{height:40px;min-height:40px}
.page#products .product-search-block,.page#products .product-navigator,.page#products .product-filter-field{gap:0}
.page#products .product-nav-row{display:block}

/* V3.9 统一后台工作台：控件、筛选区、状态卡和可用视口采用同一套尺寸。 */
:root{--admin-control-height:40px;--admin-page-gap:16px;--admin-panel-radius:14px}
html,body{height:100%;min-height:100%}
body{overflow:hidden;background:#f3f6fa}
main{height:100vh;min-height:0;padding:18px 24px;overflow:hidden}
.page.active{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 2px 2px}
.panel,.stat,.form-page{border-color:#e1e7f0;border-radius:var(--admin-panel-radius);box-shadow:0 5px 18px rgba(32,51,84,.055)}
.panel{padding:18px 20px}

/* 所有顶部工具栏共享同一高度和节奏。 */
.toolbar,.product-toolbar,.commerce-toolbar,.gift-card-filterbar,.gift-card-actionbar{min-height:46px;gap:10px;margin-bottom:14px;align-items:center}
.toolbar input,.toolbar select,.toolbar button,.toolbar .button-link,
.commerce-toolbar input,.commerce-toolbar select,.commerce-toolbar button,
.product-toolbar input,.product-toolbar select,.product-toolbar button,.product-toolbar .button-link,
.report-filter input,.report-filter button{height:var(--admin-control-height);min-height:var(--admin-control-height);box-sizing:border-box}
.toolbar input,.toolbar select,.commerce-toolbar input,.commerce-toolbar select,.report-filter input{padding:8px 11px;border-radius:8px}
.toolbar .search,.commerce-toolbar .search{width:min(420px,100%);min-width:280px;max-width:420px;flex:1 1 360px}
.search span{top:10px}
.search input{height:var(--admin-control-height)!important;min-height:var(--admin-control-height)!important}
.toolbar select,.commerce-toolbar-controls select{width:156px;min-width:156px}
.toolbar input[type="date"],.commerce-toolbar-controls input[type="date"],.report-filter input[type="date"]{width:146px;min-width:146px}
.toolbar-actions,.commerce-toolbar-controls{gap:8px;flex-wrap:wrap}
.order-filter,.field-filter,.member-toolbar,.inventory-toolbar{justify-content:flex-start;flex-wrap:wrap}
.order-filter .search{margin-right:auto}
.document-delivery-filter{width:156px!important;flex:0 0 156px!important}
.report-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0}
.report-filter>div{align-items:center;gap:10px;flex-wrap:wrap}
.report-filter label{min-height:40px}

/* 顶部状态卡固定为相同高度；宽屏保持一行，窄屏等宽换行。 */
.stat-grid,.commerce-summary{grid-auto-rows:minmax(82px,auto)}
.dashboard-overview{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.dashboard-overview>.stat:nth-child(3){grid-row:auto;min-height:0}
.stat{height:100%;min-height:82px;padding:15px 17px}
.stat i{width:44px;height:44px;flex:0 0 44px}
.stat strong{font-size:22px}
#commerce-order-summary,.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:76px;gap:10px;margin:10px 0 14px}
.finance-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
#commerce-order-summary .summary-chip,.finance-summary .summary-chip{display:flex;min-width:0;min-height:76px;justify-content:center;flex-direction:column;padding:12px 14px}
#commerce-member-summary{min-height:0}

/* 单页列表占满可用高度，表格在面板内部滚动。 */
#products,#inbound,#field,#outbound,#members,#finance,#documents{overflow:hidden}
#products>.panel,#inbound>.panel,#field>.panel,#outbound>.panel,#members>.panel,#finance>.panel,#documents>.panel{height:100%;min-height:0;margin:0;display:flex;flex-direction:column}
#products .paged-table,#field .paged-table,#members .paged-table,#finance .paged-table,#documents .paged-table{max-height:none;min-height:220px;flex:1 1 auto;overflow:auto}
#inbound .inventory-board-grid{min-height:0;flex:1 1 auto;overflow:auto;align-content:start}
.pagination{min-height:34px;flex:0 0 auto;margin-top:10px}
table thead th{position:sticky;top:0;z-index:2;background:#f7f9fc;box-shadow:0 1px 0 #e4e9f1}
#dashboard.active{display:flex;min-height:0;flex-direction:column;overflow:hidden}
#dashboard>.dashboard-overview,#dashboard>.today-panel{flex:0 0 auto}
#dashboard>.panel:last-child{min-height:0;flex:1 1 auto;margin-bottom:0;overflow:auto}

/* 出库单使用完整视口；左右两栏独立滚动，提交区始终落在面板底部。 */
.outbound-workspace{padding:18px 20px!important}
#outbound-form{display:flex;min-height:0;height:100%;flex-direction:column}
.outbound-workspace-grid{min-height:0;flex:1 1 auto;align-items:stretch}
.outbound-info-column,.outbound-items-column{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain}
.outbound-info-column{padding-right:20px}
.outbound-items-column{display:flex;flex-direction:column}
#outbound-items{max-height:none;min-height:160px;flex:1 1 auto;overflow:auto}
#outbound-form>.submit-wide{flex:0 0 auto;margin-top:12px}

/* 商品组批量维护。 */
.layout-product-manager-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px;gap:10px;margin-bottom:13px}
.layout-product-manager-toolbar .search{max-width:none}
.layout-product-manager-toolbar input,.layout-product-manager-toolbar select{width:100%;height:40px;border:1px solid #dbe2ec;border-radius:8px;background:#fff;padding:8px 11px;outline:none}
.layout-product-manager-toolbar .search input{padding-left:38px}
.layout-product-group-head>div{display:flex;align-items:center;gap:10px}.layout-product-group-head>div>b{color:#d85d39;font-size:12px}
.manage-product-group{border:1px solid #aac1e9;border-radius:7px;background:#fff;color:#3568d5;padding:6px 9px;cursor:pointer;font-size:11px;font-weight:700}
.layout-product-select>b{display:grid;justify-items:end;gap:4px}.layout-product-select>b em{font-style:normal}
.product-state{padding:2px 6px;border-radius:10px;background:#e8f8ef;color:#167c4a;font-size:9px}.product-state.sold_out{background:#fff3dc;color:#a96808}.product-state.hidden{background:#eef1f5;color:#6f7887}.product-state.discontinued{background:#ffeaeb;color:#c14245}
.showcase-variant-grid select{width:100%;height:40px;border:1px solid #dbe2ec;border-radius:8px;background:#fff;padding:8px 10px}.showcase-group-sync{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important;align-self:end;min-height:40px;padding:9px 11px;border:1px solid #e0e7f1;border-radius:8px;background:#f8faff}.showcase-group-sync input{width:auto!important;margin:0 8px 0 0}
.commerce-product-group-dialog{width:min(1080px,calc(100vw - 32px));max-height:92vh;padding:0;border:1px solid #d9e2ef;border-radius:20px;background:#f7f9fc;box-shadow:0 28px 90px rgba(17,31,55,.3)}
.commerce-product-group-dialog::backdrop{background:rgba(16,27,44,.62);backdrop-filter:blur(3px)}
.commerce-product-group-dialog form{display:flex;max-height:92vh;flex-direction:column}.commerce-product-group-dialog .dialog-head{flex:none;padding:21px 25px;border-bottom:1px solid #e2e8f1;background:linear-gradient(135deg,#fff,#f2f7ff)}
.product-group-dialog-body{min-height:0;overflow:auto;padding:20px 24px;background:#fff}
.product-group-batch-fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;padding:15px;border:1px solid #dfe7f1;border-radius:12px;background:#f8faff}
.product-group-brand-field{grid-column:span 3}.product-group-name-field{grid-column:span 3}.product-group-category-field{grid-column:span 2}.product-group-status-field{grid-column:span 2}.product-group-sort-field{grid-column:span 2}.product-group-title-field,.product-group-subtitle-field{grid-column:span 6}.product-group-batch-fields label small{color:#8994a5;font-size:10px;font-weight:500;line-height:1.45}
.product-group-batch-fields label,.product-group-variant-row label{display:grid;gap:6px;color:#56647a;font-size:12px;font-weight:700}.product-group-batch-fields input,.product-group-batch-fields select,.product-group-variant-row input{width:100%;height:40px;border:1px solid #dbe2ec;border-radius:8px;background:#fff;padding:8px 10px;outline:none}
.product-group-selection-actions{display:flex;align-items:center;gap:12px;margin:15px 2px 9px;color:#607087;font-size:12px}.product-group-selection-actions label{display:flex;align-items:center;gap:7px;font-weight:700}.product-group-selection-actions>input{min-width:220px;flex:1;border:1px solid #dbe2ec;border-radius:8px;padding:8px 10px}.product-group-selection-actions>span{margin-left:auto;white-space:nowrap}.dialog-action-spacer{flex:1}
.product-group-variant-list{display:grid;gap:8px}.product-group-variant-row{display:grid;grid-template-columns:20px minmax(180px,1fr) minmax(150px,.75fr) minmax(180px,.9fr);gap:10px;align-items:center;padding:11px 13px;border:1px solid #e1e7ef;border-radius:10px;background:#fbfcfe}.product-group-variant-row>input{width:16px;height:16px;padding:0}.product-group-variant-row>div{min-width:0}.product-group-variant-row strong,.product-group-variant-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-group-variant-row strong{font-size:13px}.product-group-variant-row small{margin-top:4px;color:#7b8799;font-size:11px}.commerce-product-group-dialog>.dialog-actions,.commerce-product-group-dialog form>.dialog-actions{flex:none;margin:0;padding:14px 24px;border-top:1px solid #e2e8f1;background:#fff}

@media(max-width:1450px){.product-group-batch-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.product-group-batch-fields>label{grid-column:span 1}.product-group-title-field,.product-group-subtitle-field{grid-column:span 1!important}}
@media(max-width:920px){.dashboard-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){body{overflow:auto}main{height:auto;min-height:100vh;overflow:visible}.page.active{height:auto;min-height:calc(100vh - 36px);overflow:visible}#dashboard.active{display:block;overflow:visible}#products,#inbound,#field,#outbound,#members,#finance,#documents{overflow:visible}#products>.panel,#inbound>.panel,#field>.panel,#outbound>.panel,#members>.panel,#finance>.panel,#documents>.panel{height:auto;min-height:calc(100vh - 36px)}.outbound-info-column,.outbound-items-column{height:auto;overflow:visible}#commerce-order-summary,.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){main{padding:14px 12px}.dashboard-overview,#commerce-order-summary,.finance-summary{grid-template-columns:1fr}.layout-product-manager-toolbar,.product-group-batch-fields,.product-group-variant-row{grid-template-columns:1fr}.toolbar .search,.commerce-toolbar .search{width:100%;min-width:100%;max-width:none}.toolbar select,.toolbar input[type="date"],.commerce-toolbar-controls select,.commerce-toolbar-controls input[type="date"],.document-delivery-filter{width:100%!important;min-width:0!important;flex:1 1 100%!important}.product-group-variant-row>input{justify-self:start}.showcase-variant-grid{grid-template-columns:1fr}}

/* V4.0 统一运营中心 */
#operations.page.active{height:100%;min-height:0;overflow:hidden}
.operations-shell{height:100%;min-height:0;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;background:#f7f9fc;border:1px solid #e5eaf2}
.operations-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px 14px;background:linear-gradient(135deg,#fff 0%,#f3f7ff 100%);border-bottom:1px solid #e5eaf2}
.operations-hero h2{margin:3px 0 2px;font-size:21px;color:#172033}.operations-hero p{margin:0;color:#77839a;font-size:13px}.operations-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#3b6eea}
.operations-stats{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid #e7ebf2}
.operations-stats article{position:relative;min-width:0;padding:11px 12px 10px 17px;border:1px solid #e6eaf1;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(31,50,81,.04)}
.operations-stats article>i{position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0}.operations-stats i.blue{background:#3b6eea}.operations-stats i.violet{background:#7859d8}.operations-stats i.orange{background:#e6902a}.operations-stats i.red{background:#dd4b55}.operations-stats i.green{background:#22a56e}
.operations-stats span,.operations-stats small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operations-stats span{font-size:12px;color:#647086}.operations-stats strong{display:block;margin:2px 0;font-size:22px;color:#172033}.operations-stats small{font-size:10px;color:#98a2b4}
.operations-tabs{display:flex;align-items:center;gap:5px;padding:9px 16px 0;background:#fff;border-bottom:1px solid #e4e9f1}.operations-tabs button{height:38px;padding:0 20px;border:0;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:#667085;font-weight:700}.operations-tabs button:hover{background:#f3f6fb}.operations-tabs button.active{color:#2f63dc;border-color:#3970eb;background:#eef4ff}
.operations-content{flex:1;min-height:0;overflow:auto;padding:14px 16px 18px}.operations-tab{display:none}.operations-tab.active{display:block}.operations-grid{display:grid;gap:14px;margin-bottom:14px}.operations-grid.two-columns{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.operations-card{min-width:0;border:1px solid #e4e9f1;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(29,47,76,.04);overflow:hidden}.operations-card-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-bottom:1px solid #eef1f5}.operations-card-head h3{margin:0 0 2px;font-size:15px;color:#1c2940}.operations-card-head p{margin:0;font-size:11px;color:#8a95a8}.operations-card-head select{width:132px;height:36px}
.operations-table{max-height:258px;overflow:auto}.operations-table table{min-width:620px}.operations-table th{position:sticky;top:0;z-index:1;background:#f8fafc;font-size:11px}.operations-table td{font-size:12px;padding-top:9px;padding-bottom:9px}.operations-table td strong,.operations-table td small{display:block}.operations-table td small{margin-top:3px;color:#929daf;font-size:10px}.operations-overdue{color:#ce3845;font-weight:700}.operations-overdue small{color:#ce3845!important}
.operations-list{max-height:220px;overflow:auto;padding:7px}.operations-list>button{display:grid;width:100%;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) auto;align-items:center;gap:10px;padding:10px;border:0;border-bottom:1px solid #eef1f5;border-radius:7px;background:#fff;text-align:left;color:#344054}.operations-list>button:hover{background:#f6f9ff}.operations-list>button span{display:flex;align-items:center;gap:7px;min-width:0}.operations-list>button strong,.operations-list>button b,.operations-list>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operations-list>button b{font-size:12px}.operations-list>button small{color:#8a95a8}.operations-empty{padding:52px 20px;text-align:center;color:#929daf}
.operations-actions{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.operations-actions button{height:40px}
.operations-profile-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.operations-profile-grid article{padding:16px;border:1px solid #e4e9f1;border-radius:12px;background:#fff}.operations-profile-grid span,.operations-profile-grid small{display:block;color:#77839a}.operations-profile-grid strong{display:block;margin:6px 0 3px;font-size:25px;color:#1c2940}.operations-profile-grid small{font-size:11px}
.operations-metrics{display:flex;flex-wrap:wrap;gap:8px;padding:11px 14px;background:#f8fafc;border-bottom:1px solid #edf0f5}.operations-metrics span{padding:6px 9px;border-radius:7px;background:#fff;border:1px solid #e5eaf2;font-size:11px;color:#707c90}.operations-metrics b{color:#1d2b43;font-size:13px}
.operations-guides{padding-bottom:8px}.operations-guides>.operations-card-head{margin-bottom:6px}.operations-guides>button{display:flex;width:calc(100% - 16px);justify-content:space-between;align-items:center;gap:12px;margin:7px 8px;padding:14px;border:1px solid #e8ecf3;border-radius:9px;background:#fbfcfe;text-align:left}.operations-guides>button:hover{border-color:#9db7ef;background:#f3f7ff}.operations-guides>button span{font-weight:800;color:#273650}.operations-guides>button small{color:#7c879a}
.operations-health-box{padding:16px}.operations-health-line{display:flex;align-items:center;gap:11px;padding:4px 0 14px}.operations-health-line strong,.operations-health-line small{display:block}.operations-health-line small{margin-top:3px;color:#8792a5}.health-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 5px rgba(66,112,220,.1);background:#4270dc}.health-dot.ok{background:#23a66f;box-shadow:0 0 0 5px rgba(35,166,111,.1)}.health-dot.warn{background:#e69a2c;box-shadow:0 0 0 5px rgba(230,154,44,.12)}.health-dot.danger{background:#d94b55;box-shadow:0 0 0 5px rgba(217,75,85,.12)}
.operations-health-box dl{margin:0;border-top:1px solid #edf0f5}.operations-health-box dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f2f6}.operations-health-box dt{color:#788398}.operations-health-box dd{margin:0;font-weight:700;color:#26354f}
.operations-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.operations-quick-grid button{display:block;padding:17px;border:1px solid #e4e9f1;border-radius:11px;background:#fff;text-align:left}.operations-quick-grid button:hover{border-color:#9db7ef;box-shadow:0 5px 15px rgba(41,74,136,.08)}.operations-quick-grid strong,.operations-quick-grid span{display:block}.operations-quick-grid strong{margin-bottom:5px;color:#253550}.operations-quick-grid span{font-size:11px;color:#8792a5}
.operations-dialog{width:min(720px,calc(100vw - 28px))}.operations-dialog form{max-height:min(760px,calc(100vh - 40px));overflow:auto}.operations-dialog .form-grid{padding:18px 22px}.operations-dialog .dialog-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e7ebf2}
@media(max-width:1450px){.operations-stats{grid-template-columns:repeat(4,1fr)}.operations-profile-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:980px){#operations.page.active{overflow:auto}.operations-shell{height:auto;min-height:100%}.operations-stats{grid-template-columns:repeat(2,1fr)}.operations-grid.two-columns{grid-template-columns:1fr}.operations-profile-grid{grid-template-columns:repeat(2,1fr)}.operations-quick-grid{grid-template-columns:repeat(2,1fr)}.operations-hero{align-items:flex-start}.operations-tabs{overflow:auto}.operations-tabs button{white-space:nowrap}}
@media(max-width:620px){.operations-hero{display:block}.operations-hero .toolbar-actions{margin-top:12px}.operations-stats{grid-template-columns:1fr 1fr}.operations-profile-grid,.operations-quick-grid{grid-template-columns:1fr}.operations-content{padding:10px}.operations-list>button{grid-template-columns:1fr}.operations-dialog .form-grid{padding:14px}}

.operations-card-actions{padding:0 16px 15px;margin:0}.operations-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.operations-quality-grid>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:44px;padding:9px 11px;border:1px solid #e8ecf3;border-radius:9px;background:#fafbfd}.operations-quality-grid strong{font-size:17px;color:#26354f}.operations-quality-grid .health-dot{width:9px;height:9px}.operations-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px}.operations-export-grid button{height:42px}.operations-card>.operations-actions{padding-left:15px;padding-right:15px}@media(max-width:620px){.operations-quality-grid,.operations-export-grid{grid-template-columns:1fr}}

/* 会员合并与删除：编辑会员弹窗底部操作区与合并选择弹窗 */
.member-dialog-actions { justify-content: flex-start; }
.member-dialog-spacer { flex: 1; }
.member-related { margin-top: 16px; padding: 14px 16px; border: 1px solid #e2e9f5; border-radius: 12px; background: #f7faff; }
.member-related-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.member-related-head strong { color: #22314c; font-size: 14px; }
.member-related-head span { color: #6c7c95; font-size: 12px; }
.member-related-list { display: grid; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.member-related-list li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; padding: 9px 11px; border: 1px solid #e8eef8; border-radius: 9px; background: #fff; }
.member-related-list li strong { color: #25324a; }
.member-related-list li small { color: #7a879c; font-size: 12px; }
.member-dup-badge { display: inline-block; margin-left: 7px; padding: 1px 7px; border-radius: 999px; background: #fdf1e2; color: #a2661b; font-size: 11px; font-weight: 700; }
.member-merge-dialog { width: min(720px, calc(100% - 30px)); }
.member-merge-dialog::backdrop { background: #17203388; backdrop-filter: blur(3px); }
.member-merge-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 4px; }
.member-merge-summary article { padding: 13px 15px; border: 1px solid #e4ebf6; border-radius: 11px; background: #f8fafd; }
.member-merge-summary article span { display: block; color: #7a879c; font-size: 12px; }
.member-merge-summary article strong { display: block; margin-top: 5px; color: #22314c; font-size: 15px; }
.member-merge-summary article small { display: block; margin-top: 5px; color: #6f7d94; font-size: 12px; line-height: 1.5; }
.member-merge-search { display: grid; gap: 8px; margin-top: 18px; font-weight: 600; color: #2d3b55; }
.member-merge-list { display: grid; gap: 8px; max-height: 300px; overflow: auto; margin-top: 12px; padding: 2px; }
.member-merge-item { display: grid; gap: 3px; width: 100%; padding: 11px 13px; border: 1px solid #e3e9f3; border-radius: 10px; background: #fff; color: #25324a; font: inherit; text-align: left; cursor: pointer; }
.member-merge-item:hover { border-color: #a9c3ee; background: #f7fbff; }
.member-merge-item.selected { border-color: #3568d5; background: #eef4ff; box-shadow: inset 0 0 0 1px #3568d5; }
.member-merge-item strong { font-size: 14px; }
.member-merge-item span { font-weight: 600; }
.member-merge-item small { color: #7a879c; font-size: 12px; }
.member-merge-empty { padding: 26px; border: 1px dashed #dde5f1; border-radius: 10px; color: #7a879c; text-align: center; }
.member-merge-dialog .dialog-actions { margin-top: 20px; padding-top: 16px; border-top: 1px solid #edf0f5; }
@media (max-width: 700px) { .member-merge-summary { grid-template-columns: 1fr; } }

/* 商品编辑：商城素材库选择器与产品参数行编辑 */
.product-media-field { display: grid; gap: 8px; }
.product-media-picker { display: flex; flex-wrap: wrap; gap: 10px; }
.product-media-picker.is-empty { display: block; }
.product-media-thumb { position: relative; width: 108px; margin: 0; border: 1px solid #e2e8f2; border-radius: 10px; overflow: hidden; background: #fff; }
.product-media-thumb img { display: block; width: 100%; height: 104px; object-fit: cover; background: #f3f5f9; }
.product-media-thumb figcaption { padding: 5px 7px; color: #66748c; font-size: 11px; text-align: center; }
.remove-product-media { position: absolute; top: 5px; right: 5px; width: 22px; height: 22px; border: 0; border-radius: 50%; background: #172033cc; color: #fff; font-size: 14px; line-height: 1; cursor: pointer; }
.remove-product-media:hover { background: #b3383c; }
.product-media-empty { color: #7a879c; font-size: 12px; }
.product-media-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.product-media-actions button { padding: 8px 14px; }
.product-media-hint { color: #7a879c; font-size: 12px; }
.product-parameter-field { display: grid; gap: 10px; padding: 14px 16px; border: 1px solid #e5eaf2; border-radius: 10px; background: #fbfcfe; }
.product-parameter-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.product-parameter-head strong { color: #25324a; font-size: 14px; }
.product-parameter-head span { color: #7a879c; font-size: 12px; font-weight: 400; }
.product-parameter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.product-parameter-chip { padding: 5px 11px; border: 1px dashed #b9cbe8; border-radius: 999px; background: #fff; color: #3568d5; font-size: 12px; cursor: pointer; }
.product-parameter-chip:hover:not(:disabled) { border-style: solid; background: #f2f7ff; }
.product-parameter-chip:disabled { border-color: #e6ebf2; color: #a9b4c4; background: #f7f9fc; cursor: default; }
.product-parameter-list { display: grid; gap: 8px; }
.product-parameter-row { display: grid; grid-template-columns: 180px minmax(0, 1fr) 34px; gap: 8px; align-items: center; }
.product-parameter-row input { min-height: 36px; }
.remove-product-parameter { width: 34px; height: 34px; border: 1px solid #e6ebf2; border-radius: 8px; background: #fff; color: #8a95a6; font-size: 16px; cursor: pointer; }
.remove-product-parameter:hover { border-color: #efc8c8; color: #bd4545; background: #fff8f8; }
.product-parameter-empty { color: #7a879c; font-size: 12px; }
#add-product-parameter { justify-self: start; }
.product-media-dialog { width: min(980px, calc(100% - 30px)); padding: 25px; }
.product-media-dialog::backdrop { background: #17203388; backdrop-filter: blur(3px); }
.product-media-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.product-media-toolbar input { flex: 1; min-width: 200px; }
.product-media-counter { color: #6c7c95; font-size: 12px; }
.product-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; max-height: 54vh; overflow: auto; margin-top: 14px; padding: 2px; }
.product-media-card { position: relative; padding: 0; border: 1px solid #e3e9f3; border-radius: 11px; overflow: hidden; background: #fff; cursor: pointer; }
.product-media-card img { display: block; width: 100%; height: 118px; object-fit: cover; background: #f3f5f9; }
.product-media-card small { display: block; padding: 6px 8px; color: #66748c; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-media-card.selected { border-color: #3568d5; box-shadow: 0 0 0 2px #3568d533; }
.product-media-order { position: absolute; top: 6px; left: 6px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #3568d5; color: #fff; font-size: 12px; font-weight: 700; }
.product-media-order:empty { display: none; }
@media (max-width: 700px) { .product-parameter-row { grid-template-columns: 1fr; } .product-media-dialog { padding: 18px; } }
.member-related-sub { margin-top: 14px; }
.member-related-more { display: block; margin-top: 8px; color: #7a879c; font-size: 12px; }

/* 会员列表：用户编号 / 昵称 / 礼品卡卡号 */
.member-card-filter{min-width:170px;padding:9px 12px;border:1px solid #dfe6f0;border-radius:9px;background:#fff;color:#35445b;font-size:13px;font-weight:600}
.member-toolbar .member-card-filter{margin-right:auto}
.member-account-cell{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;color:#35445b;font-weight:600}
.member-card-cell{display:block;min-width:150px}
.member-card-nos{display:flex;flex-wrap:wrap;gap:6px}
.member-card-nos strong{font-variant-numeric:tabular-nums;color:#1c5f92;letter-spacing:.3px}
.member-card-cell .cell-sub{margin-top:3px}

/* 礼品卡素材库：卡面模板 */
.material-library-actions{display:flex;flex-wrap:wrap;gap:10px}
.gift-card-material-sets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.gift-card-material-set{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #dfe7f3;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(35,54,86,.04)}
.material-set-faces{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.material-set-face{position:relative;margin:0;overflow:hidden;border:1px solid #e3eaf3;border-radius:9px;background:#f4f7fb}
.material-set-face img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.material-set-face figcaption{position:absolute;left:5px;bottom:5px;padding:1px 7px;border-radius:999px;background:rgba(15,35,60,.62);color:#fff;font-size:10px;font-weight:700}
.material-set-face.is-empty{display:grid;place-items:center;aspect-ratio:16/10;color:#9aa7ba;font-size:11px}
.material-set-body{display:grid;gap:6px;align-content:start;min-width:0}
.material-set-body strong{color:#22364f;font-size:14px;word-wrap:break-word}
.material-set-body small{color:#8290a4;font-size:12px}
.material-set-warning{color:#c9772a !important;font-weight:700}
.material-set-actions{display:flex;gap:8px;margin-top:2px}
.material-set-actions button{flex:1;white-space:nowrap}
.gift-card-material-sets>.layout-empty{grid-column:1/-1}
.material-set-picker{display:flex;gap:8px}
.material-set-picker select{flex:1;min-width:0}
.material-set-picker button{white-space:nowrap}
.material-set-preview{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px dashed #d4dee9;border-radius:11px;background:#fafcff}
.material-set-preview>span{color:#7b899e;font-size:12px;font-weight:700}
.material-set-preview>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.material-set-preview figure{position:relative;margin:0;overflow:hidden;border:1px solid #e3eaf3;border-radius:9px;background:#fff}
.material-set-preview figure img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.material-set-preview figure figcaption{position:absolute;left:6px;bottom:6px;padding:1px 8px;border-radius:999px;background:rgba(15,35,60,.62);color:#fff;font-size:10px;font-weight:700}
.material-set-preview figure.is-empty{display:grid;place-items:center;aspect-ratio:16/10;color:#9aa7ba;font-size:11px}
.gift-card-material-upload{margin-top:2px}
.gift-card-material-upload button{width:100%}
.gift-card-material-set-dialog{width:min(660px,calc(100vw - 32px))}
.gift-card-template-field{display:grid;gap:6px;padding:11px 13px;border:1px solid #cfe6dc;border-radius:11px;background:#f4fbf7}
.gift-card-template-field select{background:#fff}
@media(max-width:1080px){.gift-card-material-sets{grid-template-columns:1fr}}
@media(max-width:720px){.gift-card-material-set{grid-template-columns:1fr}.member-card-filter{min-width:100%}}
.member-row-actions{display:flex;flex-wrap:wrap;gap:4px 10px;min-width:118px}
.member-row-actions .text-btn{padding:0}
#member-body .address-cell{max-width:150px}
#member-body .member-card-cell{min-width:0;max-width:170px}
#member-body td{padding:9px 8px}
.product-parameter-chips[hidden]{display:none}

/* ===== 通用交互组件：筛选胶囊 / 分段控件 / 滑动确认条 ===== */
:root{--xcx-ease:cubic-bezier(.4,0,.2,1);--xcx-motion:280ms}
.filter-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0;scrollbar-width:none}
.filter-chips::-webkit-scrollbar{display:none}
.filter-chip{flex:0 0 auto;padding:7px 15px;border:1px solid #dfe6f0;border-radius:999px;background:#fff;color:#5b6b82;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--xcx-motion) var(--xcx-ease),color var(--xcx-motion) var(--xcx-ease),border-color var(--xcx-motion) var(--xcx-ease),box-shadow var(--xcx-motion) var(--xcx-ease)}
.filter-chip:hover{border-color:#b9cbe8;color:#3568d5}
.filter-chip.active{border-color:#3568d5;background:#3568d5;color:#fff;box-shadow:0 6px 16px rgba(53,104,213,.24)}

.segment-control{position:relative;display:flex;gap:0;margin:16px 0 14px;padding:4px;border:1px solid #e3eaf3;border-radius:12px;background:#f3f6fb;--segment-index:0}
.segment-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(35,54,86,.12);transform:translateX(calc(var(--segment-index) * 100%));transition:transform var(--xcx-motion) var(--xcx-ease)}
.segment-item{position:relative;z-index:1;flex:1;padding:9px 12px;border:0;background:transparent;color:#5b6b82;font-size:13.5px;font-weight:700;cursor:pointer;transition:color var(--xcx-motion) var(--xcx-ease)}
.segment-item.active{color:#22364f}
.segment-viewport{overflow:hidden;transition:height var(--xcx-motion) var(--xcx-ease)}
.segment-track{display:flex;width:200%;transition:transform var(--xcx-motion) var(--xcx-ease)}
.segment-panel{width:50%;min-width:0;padding:2px}
.member-ledger-dialog .segment-panel[data-panel="logs"] .member-balance-table{max-height:44vh;overflow:auto}

.slide-confirm{position:relative;display:flex;align-items:center;height:48px;margin:0 0 14px;padding:0 3px;border-radius:999px;background:#fdeeee;overflow:hidden;user-select:none;touch-action:none}
.slide-confirm-fill{position:absolute;top:0;left:0;bottom:0;width:46px;border-radius:999px;background:linear-gradient(90deg,#f6d3d3,#efb9b9);transition:width var(--xcx-motion) var(--xcx-ease)}
.slide-confirm.is-dragging .slide-confirm-fill{transition:none}
.slide-confirm-label{position:relative;z-index:1;margin-left:auto;margin-right:auto;color:#b4553f;font-size:13px;font-weight:600}
.slide-confirm-thumb{position:absolute;z-index:2;left:0;top:0;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:999px;background:#d94b4b;color:#fff;font-size:18px;font-weight:700;cursor:grab;box-shadow:0 6px 16px rgba(217,75,75,.28)}
.slide-confirm-thumb:active{cursor:grabbing}
.slide-confirm.is-animating .slide-confirm-thumb{transition:transform var(--xcx-motion) var(--xcx-ease)}
.slide-confirm.is-animating .slide-confirm-fill{transition:width var(--xcx-motion) var(--xcx-ease)}
.slide-confirm.is-confirmed .slide-confirm-thumb{background:#1f9254;box-shadow:0 6px 16px rgba(31,146,84,.3)}
.member-ledger-dialog{width:min(720px,calc(100vw - 32px))}
.member-ledger-dialog .member-balance-overview{margin-bottom:0}
.member-ledger-dialog #member-recharge-form{display:grid;gap:14px}
.member-ledger-dialog .recharge-current{margin:0}
.member-ledger-dialog .segment-panel .dialog-actions{margin-top:0}

/* 会员表格：账户余额与地址换行 */
.member-account-balance{color:#1c5f92;font-variant-numeric:tabular-nums}
#member-body .member-address-cell{max-width:none;white-space:normal;word-break:break-word;line-height:1.45;min-width:160px}

/* ============ 交互增强层：筛选胶囊 / 滑动确认对话框 / 输入框装饰 ============ */
.chip-filter-source{display:none!important}
.chip-filter{flex:1 1 auto;min-width:0;flex-wrap:nowrap}
.chip-filter .filter-chip{white-space:nowrap}
.toolbar .chip-filter,.order-filter .chip-filter,.field-filter .chip-filter,.commerce-toolbar .chip-filter,.commerce-toolbar-controls .chip-filter,.gift-card-filterbar .chip-filter,.gift-card-actionbar .chip-filter,.operations-card-head .chip-filter{margin:0}
.gift-card-filterbar .chip-filter{padding:0}
.operations-card-head{align-items:flex-start}
.operations-card-head .chip-filter{max-width:100%}

.xcx-confirm-dialog{width:min(460px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;background:#fff;box-shadow:0 28px 80px #101a3040}
.xcx-confirm-dialog::backdrop{background:#14213d8c;backdrop-filter:blur(3px)}
.xcx-confirm-dialog .dialog-head{padding:22px 24px 6px;align-items:flex-start}
.xcx-confirm-dialog .dialog-head h2{margin:4px 0 0;font-size:19px}
.xcx-confirm-message{margin:8px 0 0;color:#5f6b80;font-size:13px;line-height:1.62;white-space:pre-line}
.xcx-confirm-dialog .slide-confirm{margin:18px 24px 4px}
.xcx-confirm-dialog .dialog-actions{padding:12px 24px 22px}
.xcx-confirm-dialog .danger-button{border:0;border-radius:9px;background:#d94b4b;color:#fff;padding:11px 17px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(217,75,75,.24)}
.xcx-confirm-dialog .danger-button:hover{background:#c93c3c}

.search input{padding-right:34px!important}
.field-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:#eaedf3;color:#7b8798;font-size:14px;line-height:1;cursor:pointer;padding:0}
.field-clear:hover{background:#dfe4ec;color:#4c586c}
.field-clear[hidden]{display:none}
.field-counted{display:block;position:relative}
.field-counted textarea{padding-bottom:22px!important;resize:vertical}
.field-counted>input{padding-right:58px!important}
.field-counter{position:absolute;right:9px;bottom:6px;color:#9aa5b6;font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none}
.field-counted>input+.field-counter{bottom:auto;top:50%;transform:translateY(-50%)}
.field-counter.is-full{color:#d97706}
.form-grid .field-counted,.member-ledger-dialog .field-counted{width:100%}

/* 跟手顶部标签页：用于商城布局编辑器，标签过多可横向滚动，指示器跟随拖拽。 */
.scroll-tabs{position:sticky;z-index:3;display:flex;align-items:stretch;gap:2px;overflow-x:auto;overflow-y:hidden;margin:0;padding:0 22px;border-bottom:1px solid #e2e8f1;background:#fff;user-select:none;-webkit-user-select:none;touch-action:pan-x;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.scroll-tabs::-webkit-scrollbar{display:none}
.scroll-tabs.is-dragging{cursor:grabbing}
.scroll-tab{flex:0 0 auto;margin:0 10px;padding:13px 2px 14px;border:0;background:transparent;color:#64748b;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color var(--xcx-motion) var(--xcx-ease)}
.scroll-tab:hover{color:#315ac7}
.scroll-tab.active{color:#1f4fd8}
.scroll-tab:focus-visible{outline:2px solid #8eb0f0;outline-offset:2px;border-radius:6px}
.scroll-tab-indicator{position:absolute;left:0;bottom:0;height:3px;width:0;border-radius:3px 3px 0 0;background:#3568d5;transform:translateX(0)}
.scroll-tab-indicator.is-animating{transition:transform var(--xcx-motion) var(--xcx-ease),width var(--xcx-motion) var(--xcx-ease)}

/* 会员卡号：竖向列表展示，不再并排 */
.member-card-list{display:grid;gap:6px;margin:0;padding:0;list-style:none;min-width:132px}
.member-card-list>li{display:grid;gap:1px;padding:5px 9px;border:1px solid #e3ebf6;border-radius:8px;background:#f7faff}
.member-card-no{color:#1c5f92;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.2px}
.member-card-list>li>small{color:#8593a8;font-size:11px}
#member-body .member-card-cell{min-width:0;max-width:190px}

/* 统一弹窗：替代浏览器原生 alert / prompt */
.xcx-prompt-dialog{width:min(440px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;background:#fff;box-shadow:0 28px 80px #101a3040}
.xcx-prompt-dialog::backdrop{background:#14213d8c;backdrop-filter:blur(3px)}
.xcx-prompt-dialog .dialog-head{padding:22px 24px 4px;align-items:flex-start}
.xcx-prompt-dialog .dialog-head h2{margin:4px 0 0;font-size:19px}
.xcx-dialog-body{padding:10px 24px 4px}
.xcx-dialog-message{margin:0 0 14px;color:#5f6b80;font-size:13px;line-height:1.62;white-space:pre-line}
.xcx-dialog-field{display:grid;gap:7px;color:#465168;font-size:13px;font-weight:600}
.xcx-dialog-field input,.xcx-dialog-field textarea{width:100%;border:1px solid #dfe3eb;border-radius:9px;padding:11px 12px;background:#fff;font:inherit;outline:none}
.xcx-dialog-field textarea{resize:vertical;line-height:1.6}
.xcx-dialog-field input:focus,.xcx-dialog-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3568e814}
.xcx-dialog-error{display:block;margin-top:7px;color:#d64040;font-size:12px}
.xcx-dialog-error[hidden]{display:none}
.xcx-prompt-dialog .dialog-actions{padding:16px 24px 22px;gap:10px}

/* 进度时间线卡片：已完成 / 进行中 / 未开始 */
.xcx-timeline{margin:0;padding:2px 0 0 4px;list-style:none}
.xcx-timeline-node{position:relative;display:grid;grid-template-columns:20px 1fr;gap:11px;padding-bottom:14px}
.xcx-timeline-node:last-child{padding-bottom:0}
.xcx-timeline-node::before{content:'';position:absolute;left:9px;top:16px;bottom:0;width:2px;background:#e4eaf3}
.xcx-timeline-node:last-child::before{display:none}
.xcx-timeline-dot{position:relative;z-index:1;width:18px;height:18px;margin-top:3px;border-radius:50%;border:2px solid #c7d3e5;background:#fff}
.xcx-timeline-node.is-done .xcx-timeline-dot{border-color:#18a66a;background:#18a66a;box-shadow:inset 0 0 0 3px #fff}
.xcx-timeline-node.is-current .xcx-timeline-dot{border-color:#3568d5;background:#fff;box-shadow:0 0 0 4px #3568d51f}
.xcx-timeline-card{padding:9px 12px;border:1px solid #e8eef7;border-radius:10px;background:#fbfcff}
.xcx-timeline-node.is-current .xcx-timeline-card{border-color:#c9dcff;background:#f4f8ff;box-shadow:0 6px 18px #3568d51a}
.xcx-timeline-head{display:flex;align-items:center;gap:8px;justify-content:space-between}
.xcx-timeline-head strong{color:#243349;font-size:13.5px}
.xcx-timeline-state{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:#eef2f8;color:#7b899e;font-size:11px;font-weight:700}
.xcx-timeline-node.is-done .xcx-timeline-state{background:#e8f8f1;color:#078052}
.xcx-timeline-node.is-current .xcx-timeline-state{background:#e8f0ff;color:#2f5fd0}
.xcx-timeline-card p{margin:6px 0 0;color:#5f6b80;font-size:12.5px;line-height:1.6}
.xcx-timeline-card time{display:block;margin-top:5px;color:#94a1b5;font-size:11.5px}

/* ============ 统一按钮交互（全站生效） ============ */
button, .button-link, .summary-chip {
  transition: background-color var(--xcx-motion) var(--xcx-ease), color var(--xcx-motion) var(--xcx-ease),
              border-color var(--xcx-motion) var(--xcx-ease), box-shadow var(--xcx-motion) var(--xcx-ease),
              transform 120ms var(--xcx-ease), opacity var(--xcx-motion) var(--xcx-ease);
}
button:not(:disabled):not([aria-disabled="true"]):active, .button-link:active { transform: translateY(1px); }
button:focus-visible, .button-link:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 2px solid #8eb0f0; outline-offset: 2px; }
button:disabled { opacity: .5; cursor: not-allowed; box-shadow: none !important; transform: none !important; }
button[data-loading="1"] { position: relative; color: transparent !important; pointer-events: none; }
.xcx-collapse-toggle {
  display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 6px 10px; border: 1px solid #e1e8f3;
  border-radius: 999px; background: #fff; color: #607089; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.xcx-collapse-toggle:hover { border-color: #b9cbe8; color: #3568d5; background: #f7faff; }
.xcx-collapse-arrow { font-style: normal; font-size: 13px; line-height: 1; transition: transform var(--xcx-motion) var(--xcx-ease); }
.xcx-collapsible.is-collapsed .xcx-collapse-arrow { transform: rotate(-90deg); }
.xcx-collapsible>.xcx-collapse-body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows var(--xcx-motion) var(--xcx-ease); }
.xcx-collapsible>.xcx-collapse-body>.xcx-collapse-inner { overflow: hidden; opacity: 1; transition: opacity var(--xcx-motion) var(--xcx-ease); }
.xcx-collapsible.is-collapsed>.xcx-collapse-body { grid-template-rows: 0fr; }
.xcx-collapsible.is-collapsed>.xcx-collapse-body>.xcx-collapse-inner { opacity: 0; }

/* 运营中心卡片头：标题与收起按钮一行，筛选胶囊独占一行，避免挤压截断 */
#operations .operations-card-head{flex-wrap:wrap;row-gap:8px}
#operations .operations-card-head>.chip-filter{order:3;flex:1 1 100%;max-width:100%}
#operations .operations-card-head>.xcx-collapse-toggle{order:2}

/* ===================== Uiverse 风格交互组件替换 ===================== */

/* ---- 1. 按钮保持普通静态样式，不再绘制悬浮圆形填充 ---- */
button,
.button-link,
[role="button"],
.splash-upload-label{
  animation:none!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  box-shadow:none!important;
}
button::before,
input[type="button"]::before,
input[type="submit"]::before,
.button-link::before,
[role="button"]::before,
.splash-upload-label::before{
  content:none!important;
  display:none!important;
}

/* ---- 2. 搜索框：填充式圆角 + 内置图标 + 柔和光晕 ---- */
.search input {
  border: 2px solid transparent !important;
  border-radius: 10px !important;
  background: #eef2f8 !important;
  box-shadow: 0 0 5px #c9d8ea, 0 0 0 6px #f6f8fc;
  transition: background-color var(--xcx-motion) var(--xcx-ease), box-shadow var(--xcx-motion) var(--xcx-ease),
              border-color var(--xcx-motion) var(--xcx-ease);
}
.search input::placeholder { color: #8a95a8; }
.search input:hover { background: #e7edf6 !important; }
.search input:focus {
  border-color: #3568e8 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 5px #3568e81f;
}
.search>span { color: #7d8a9e !important; font-size: 15px; top: 50%; transform: translateY(-50%); }
.search input + .field-clear { right: 10px; }

/* ---- 3. 加载动画：三点脉冲（替换转圈） ---- */
.xcx-dots {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  gap: 4px; pointer-events: none;
}
.xcx-dots i {
  width: 6px; height: 6px; border-radius: 50%; background: #3568d5;
  animation: xcx-pulse 1.2s infinite ease-in-out;
}
.xcx-dots i:nth-child(1) { animation-delay: -.24s; }
.xcx-dots i:nth-child(2) { animation-delay: -.06s; }
.xcx-dots i:nth-child(3) { animation-delay: .12s; }
button[data-loading="1"] { color: transparent !important; }
button.primary[data-loading="1"] .xcx-dots i, button.danger-button[data-loading="1"] .xcx-dots i,
button.danger-outline[data-loading="1"] .xcx-dots i, button.secondary[data-loading="1"] .xcx-dots i,
button.button-link[data-loading="1"] .xcx-dots i { background: #ffffff; }
button.text-btn[data-loading="1"] .xcx-dots i, button.link[data-loading="1"] .xcx-dots i,
button.icon-btn[data-loading="1"] .xcx-dots i { background: #3568d5; }
@keyframes xcx-pulse {
  0%   { transform: scale(.7); opacity: .55; box-shadow: 0 0 0 0 rgba(53,104,213,.35); }
  50%  { transform: scale(1.25); opacity: 1; box-shadow: 0 0 0 5px rgba(53,104,213,0); }
  100% { transform: scale(.7); opacity: .55; box-shadow: 0 0 0 0 rgba(53,104,213,.35); }
}

/* ---- 4. 开关：滑块左右切换 ---- */
.switch {
  position: relative;
  display: inline-block;
  width: 3.4em;
  height: 1.9em;
  flex: 0 0 auto;
  vertical-align: middle;
  font-size: 15px;
}
.switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.switch .slider {
  position: absolute; inset: 0; border-radius: 999px; background: #c3ccda; cursor: pointer;
  transition: background-color .4s var(--xcx-ease);
}
.switch .slider::before {
  content: ""; position: absolute; width: 1.35em; height: 1.35em; left: .27em; bottom: .27em;
  border-radius: 9px; background: #fff; transform: rotate(270deg);
  transition: transform .4s var(--xcx-ease); box-shadow: 0 1px 3px #1f30501f;
}
.switch input:checked + .slider { background: #21cc4c; }
.switch input:checked + .slider::before { transform: rotate(0deg) translateX(1.5em); }
.switch input:focus-visible + .slider { box-shadow: 0 0 0 3px #2196f34d; }
.switch input:disabled + .slider { opacity: .5; cursor: not-allowed; }
.switch input:disabled ~ .slider { cursor: not-allowed; }
.xcx-switch-field { display: flex !important; align-items: center; justify-content: flex-start; gap: 14px; }
.xcx-switch-field>span:first-child { color: #465168; font-size: 13px; font-weight: 600; }
.xcx-switch-note { display: block; margin-top: 3px; color: #98a2b3; font-size: 11.5px; font-weight: 400; }
.account-switch-cell .switch { font-size: 14px; }

/* ---- 5. 复选框：静态为 ×，勾选后变成 ✓ ---- */
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 22px; height: 22px; margin: 0; flex: 0 0 auto;
  display: inline-grid; place-items: center;
  border-radius: 7px; background: #e6eaf1; cursor: pointer;
  box-shadow: inset -2px -2px 5px #ffffff, inset 2px 2px 5px #b8c1cf;
  transition: background-color var(--xcx-motion) var(--xcx-ease), box-shadow var(--xcx-motion) var(--xcx-ease);
}
input[type="checkbox"]::before, input[type="checkbox"]::after {
  content: ""; grid-area: 1 / 1; width: 13px; height: 2.6px; border-radius: 2px; background: #9aa5b6;
  transition: transform var(--xcx-motion) var(--xcx-ease), background-color var(--xcx-motion) var(--xcx-ease), width var(--xcx-motion) var(--xcx-ease);
}
input[type="checkbox"]::before { transform: rotate(45deg); }
input[type="checkbox"]::after { transform: rotate(-45deg); }
input[type="checkbox"]:hover { background: #dfe5ee; }
input[type="checkbox"]:checked {
  background: #d4e9d4;
  box-shadow: inset -2px -2px 5px #ffffff, inset 2px 2px 5px #a8c9a8;
}
input[type="checkbox"]:checked::before { width: 7px; transform: rotate(45deg) translate(-3px, 2px); background: #169c1f; }
input[type="checkbox"]:checked::after { width: 13px; transform: rotate(-47deg) translate(3px, -1px); background: #169c1f; }
input[type="checkbox"]:focus-visible { outline: 2px solid #8eb0f0; outline-offset: 2px; }
input[type="checkbox"]:disabled { opacity: .45; cursor: not-allowed; }
.table-wrap input[type="checkbox"], .layout-product-picker input[type="checkbox"] { width: 19px; height: 19px; border-radius: 6px; }
.table-wrap input[type="checkbox"]::before, .table-wrap input[type="checkbox"]::after { width: 11px; height: 2.2px; }
.table-wrap input[type="checkbox"]:checked::before { width: 6px; }
.table-wrap input[type="checkbox"]:checked::after { width: 11px; }
.switch input[type="checkbox"] { appearance: none; width: 100%; height: 100%; background: transparent; box-shadow: none; display: block; }
.switch input[type="checkbox"]::before, .switch input[type="checkbox"]::after { content: none; }

/* ===================== 下拉组件库样式 ===================== */
.xcx-select { position: relative; display: block; width: 100%; min-width: 0; }
.xcx-select-trigger {
  display: flex; align-items: center; gap: 8px; width: 100%; min-height: 40px; padding: 9px 12px;
  border: 1px solid #dfe3eb; border-radius: 9px; background: #fff; color: #35445b;
  font-size: 13.5px; font-weight: 500; text-align: left; cursor: pointer;
  transition: border-color var(--xcx-motion) var(--xcx-ease), box-shadow var(--xcx-motion) var(--xcx-ease), background-color var(--xcx-motion) var(--xcx-ease);
}
.xcx-select-trigger:hover { border-color: #b9cbe8; background: #f8fbff; }
.xcx-select[data-open="1"] > .xcx-select-trigger { border-color: #3568e8; box-shadow: 0 0 0 3px #3568e814; }
.xcx-select-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xcx-select.is-empty .xcx-select-value { color: #98a2b3; }
.xcx-select-arrow { flex: 0 0 auto; font-style: normal; color: #98a2b3; font-size: 12px; transition: transform var(--xcx-motion) var(--xcx-ease); }
.xcx-select[data-open="1"] .xcx-select-arrow { transform: rotate(180deg); }
.xcx-select-panel {
  position: fixed; z-index: 2147482000; display: flex; flex-direction: column; max-height: 320px; padding: 6px;
  border: 1px solid #dfe6f1; border-radius: 12px; background: #fff; box-shadow: 0 22px 55px #16233a26;
  animation: xcx-panel-in .18s var(--xcx-ease);
}
@keyframes xcx-panel-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.xcx-select-panel[data-placement="up"] { animation: xcx-panel-in-up .18s var(--xcx-ease); }
@keyframes xcx-panel-in-up { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.xcx-select-search { padding: 4px 4px 8px; }
.xcx-select-search input {
  width: 100%; border: 1px solid #e1e7f0; border-radius: 8px; padding: 9px 11px; background: #f7f9fc;
  font-size: 13px; outline: none; box-shadow: none !important;
}
.xcx-select-search input:focus { border-color: #3568e8; background: #fff; box-shadow: 0 0 0 3px #3568e814 !important; }
.xcx-select-options { flex: 1; min-height: 0; margin: 0; padding: 0; list-style: none; overflow: auto; overscroll-behavior: contain; }
.xcx-select-group {
  position: sticky; top: 0; z-index: 1; padding: 8px 10px 6px; background: #fff; color: #8593a8;
  font-size: 11.5px; font-weight: 700; letter-spacing: .3px; border-bottom: 1px solid #eef2f8;
}
.xcx-select-option {
  display: flex; align-items: center; gap: 8px; padding: 9px 11px; border-radius: 8px;
  color: #35445b; font-size: 13.5px; cursor: pointer; transition: background-color 140ms var(--xcx-ease), color 140ms var(--xcx-ease);
}
.xcx-select-option > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xcx-select-option small { color: #94a1b5; font-size: 11.5px; white-space: nowrap; }
.xcx-select-option:hover, .xcx-select-option.is-active { background: #f0f5ff; color: #2350c4; }
.xcx-select-option.is-selected { background: #e8f0ff; color: #2350c4; font-weight: 700; }
.xcx-select-option.is-selected::after { content: "✓"; color: #3568e8; font-weight: 700; }
.xcx-select-option.is-create { color: #1f8a4c; background: #f2fbf5; font-weight: 600; }
.xcx-select-option.is-create:hover { background: #e6f7ec; }
.xcx-select-status { padding: 16px 12px; text-align: center; color: #98a2b3; font-size: 12.5px; }
.xcx-select-status[data-tone="loading"]::before {
  content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 7px; vertical-align: -2px;
  border: 2px solid #c3d3ee; border-top-color: #3568d5; border-radius: 50%; animation: xcx-spin-fast .6s linear infinite;
}
@keyframes xcx-spin-fast { to { transform: rotate(360deg); } }
.xcx-select-status[data-tone="error"] { color: #d64040; }

/* 区间选择器 */
.xcx-range { position: relative; display: inline-flex; }
.xcx-range-trigger {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 13px;
  border: 1px solid #dfe3eb; border-radius: 9px; background: #fff; color: #35445b; font-size: 13px; font-weight: 600; cursor: pointer;
  transition: border-color var(--xcx-motion) var(--xcx-ease), background-color var(--xcx-motion) var(--xcx-ease);
}
.xcx-range-trigger:hover { border-color: #b9cbe8; background: #f8fbff; }
.xcx-range[data-open="1"] .xcx-range-trigger { border-color: #3568e8; box-shadow: 0 0 0 3px #3568e814; }
.xcx-range-icon { color: #7d8a9e; font-size: 12px; }
.xcx-range.is-empty .xcx-range-value { color: #98a2b3; }
.xcx-range-panel { width: 340px !important; padding: 14px; gap: 12px; }
.xcx-range-preview { padding: 11px 13px; border: 1px solid #e3ebf6; border-radius: 10px; background: #f7faff; }
.xcx-range-preview span { display: block; color: #8593a8; font-size: 11.5px; }
.xcx-range-preview strong { display: block; margin-top: 4px; color: #2350c4; font-size: 14px; font-variant-numeric: tabular-nums; }
.xcx-range-preview small { display: block; margin-top: 3px; color: #7b899e; font-size: 11.5px; }
.xcx-range-preview small[data-tone="error"] { color: #d64040; }
.xcx-range-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.xcx-range-field { display: grid; gap: 6px; color: #465168; font-size: 12px; font-weight: 600; }
.xcx-range-field input[type="date"] { width: 100%; border: 1px solid #dfe3eb; border-radius: 9px; padding: 9px 10px; background: #fff; font-size: 13px; outline: none; }
.xcx-range-field input[type="date"]:focus { border-color: #3568e8; box-shadow: 0 0 0 3px #3568e814; }
.xcx-range-presets { display: flex; flex-wrap: wrap; gap: 7px; }
.xcx-range-presets .filter-chip { padding: 6px 12px; font-size: 12px; }
.xcx-range-panel .dialog-actions { margin: 0; padding: 0; gap: 9px; }
.xcx-range-panel .dialog-actions button { padding: 9px 14px; }

/* 多选选择器：可删除块 + 折叠 + 剩余数量 */
.xcx-multi-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.xcx-multi-chips[hidden] { display: none; }
.xcx-multi-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 10px; border: 1px solid #d6e2f5;
  border-radius: 999px; background: #f2f7ff; color: #2f5fd0; font-size: 12px; font-weight: 600;
}
.xcx-multi-chip > button {
  display: grid; place-items: center; width: 16px; height: 16px; border: 0; border-radius: 50%;
  background: #d9e5fa; color: #2f5fd0; font-size: 11px; line-height: 1; cursor: pointer; padding: 0;
}
.xcx-multi-chip > button:hover { background: #c3d6f7; }
.xcx-multi-chip.is-more { padding: 4px 11px; border-style: dashed; background: #fff; color: #6b7c96; cursor: pointer; }
.xcx-multi-chip.is-more:hover { border-color: #9bb7e8; color: #2350c4; }
.xcx-multi { display: block; }

/* 会员页：商城同步会员提示并入工具栏，紧跟在搜索框右侧。 */
.member-toolbar{align-items:center;row-gap:8px}
.member-toolbar .search{flex:1 1 280px;max-width:420px;margin-right:0}
.member-sync-hint{display:inline-flex!important;align-items:center;gap:8px;min-height:0!important;margin:0;padding:5px 10px 5px 12px;border:1px solid #dbe6f5;border-radius:999px;background:#f4f8ff;color:#55617a;font-size:12.5px;white-space:nowrap;grid-auto-rows:auto}
.member-sync-hint .member-sync-label{display:inline-flex;align-items:center;gap:6px}
.member-sync-hint strong{color:#1c5f92;font-size:14px;font-variant-numeric:tabular-nums}
.member-sync-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#2bb673;box-shadow:0 0 0 3px #2bb67322}
.member-sync-hint .help-tip{width:20px;height:20px;flex:0 0 20px;font-size:12px;line-height:1;margin:0}
@media(max-width:760px){.member-sync-hint{white-space:normal}}

/* 下拉组件在工具栏 / 表单中的尺寸对齐。 */
.toolbar>.xcx-select,.product-toolbar>.xcx-select,.commerce-toolbar>.xcx-select,.commerce-toolbar-controls>.xcx-select,.order-filter>.xcx-select,.field-filter>.xcx-select,.report-filter>.xcx-select,.gift-card-filterbar>.xcx-select,.gift-card-actionbar>.xcx-select{width:176px;min-width:176px;flex:0 0 auto}
.xcx-select>.xcx-select-trigger{min-height:var(--admin-control-height)}
.xcx-select.is-invalid>.xcx-select-trigger{border-color:#e05252;box-shadow:0 0 0 3px #e0525222;animation:xcx-invalid-shake .3s var(--xcx-ease)}
@keyframes xcx-invalid-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.xcx-range{display:inline-flex;flex:0 0 auto;position:relative}
.report-filter .xcx-range>.xcx-range-trigger{height:var(--admin-control-height)}
.xcx-range-parked{display:none!important}
.xcx-range-field-bare{width:100%;box-sizing:border-box;border:1px solid #dfe3eb;border-radius:9px;padding:9px 10px;background:#fff;font-size:13px;outline:none}
.xcx-range-field-bare:focus{border-color:#3568e8;box-shadow:0 0 0 3px #3568e814}

/* 字数统计与“清除 ×”不再重叠：计数挪到清除按钮左侧，输入框留出足够右侧内边距。 */
.field-counted:has(>.input-clear-btn)>input,.field-counted:has(>.field-clear)>input{padding-right:78px!important}
.field-counted:has(>.input-clear-btn)>.field-counter,.field-counted:has(>.field-clear)>.field-counter{top:50%;bottom:auto;right:38px;transform:translateY(-50%)}
/* 已被下拉组件接管（隐藏）的输入框不再显示字数统计，避免出现无意义的 “0/100”。 */
.field-counted:has(>.chip-filter-source)>.field-counter{display:none}
.nav .nav-count {
  float: right;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  box-shadow: 0 0 0 2px #111827;
}
.nav .nav-count[hidden] { display: none; }
.material-library-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.material-library-head > div { display: flex; gap: 8px; }
.material-library-head button[disabled] { opacity: .45; cursor: not-allowed; }
.material-library-head { justify-content: flex-end; }
.material-library-head > small { margin-right: auto; }
.product-media-library { min-height: 0; align-content: start; }
.asset-library-header-row + .product-media-library { padding-bottom: 8px; }
.finance-check-result,.launch-check-result { margin: 12px 0 16px; padding: 14px; border: 1px solid #e2e8f0; border-radius: 14px; background: #f8fafc; }
.finance-check-head,.launch-check-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: #334155; }
.finance-check-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 10px; }
.finance-check-card { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #e5e7eb; }
.finance-check-card.ok span { color: #16a34a; }.finance-check-card.warn span { color: #d97706; }
.launch-check-list { display: grid; gap: 8px; }
.launch-check-item { display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: start; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #e5e7eb; }
.launch-check-item > span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #fff; font-weight: 800; }
.launch-check-item.ok > span { background: #16a34a; }.launch-check-item.danger > span { background: #dc2626; }
.launch-check-item small { display: block; margin-top: 3px; color: var(--muted); }
.commerce-quick-actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); gap: 10px; margin: 0 0 14px; }
.commerce-quick { border: 1px solid #dce5f2; border-radius: 12px; padding: 12px 14px; background: #f8fbff; color: #31548a; font-weight: 800; cursor: pointer; }
.commerce-quick:hover { border-color: #9bb9f4; background: #eef5ff; }


/* 2026-09 admin simplification */
.nav[data-page="operations"],#operations{display:none!important}

/* 后台仅保留有操作意义的控件图标，信息卡和导航全部直接用文字说明。 */
.sidebar nav>.nav{justify-content:flex-start;gap:0;padding-left:18px}
.sidebar nav>.nav>span{font-weight:650;letter-spacing:.2px}
.stat{position:relative;display:flex;align-items:center;border-top:3px solid #dce6fb}
.stat:nth-child(2n){border-top-color:#d8eee5}
.stat:nth-child(3n){border-top-color:#eadffb}
.stat>div{width:100%;min-width:0}
.stat>div>span{display:block;color:#66738a;font-size:13px;font-weight:700}
.stat>div>small{display:block;margin-top:3px;color:#98a2b3;font-size:11px}
.dynamic-grid>div{position:relative;display:block;padding:19px 20px;border-left:4px solid #3f70e8;background:#fbfcff}
.dynamic-grid>div:nth-child(2){border-left-color:#0fac69}.dynamic-grid>div:nth-child(3){border-left-color:#e69a35}.dynamic-grid>div:nth-child(4){border-left-color:#8057d8}
.dynamic-grid p{width:100%}
.dynamic-icon,.stat>i{display:none!important}
.layout-config-card>span:first-child,.product-action-icon,.inbound-title-icon,.gift-card-delete-warning>span{display:none!important}
.layout-config-card{grid-template-columns:minmax(0,1fr) auto!important}
.search>span{display:none!important}
.search input{padding-left:12px!important}

/* 商城素材统一管理：加载图、轮播图和商品素材通过顶部状态栏切换。 */
.commerce-media-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:6px;border:1px solid #dce4f0;border-radius:13px;background:#f5f8fc}
.commerce-media-tabs button{height:42px;border:0;border-radius:9px;background:transparent;color:#58677e;font-size:14px;font-weight:750;cursor:pointer}
.commerce-media-tabs button.active{background:#3568e8;color:#fff;box-shadow:0 7px 18px rgba(53,104,232,.22)}
.commerce-media-panel{display:none}.commerce-media-panel.active{display:block}
.splash-image-manager{display:grid;grid-template-columns:minmax(220px,340px) minmax(280px,1fr);align-items:start;gap:22px}
.splash-image-manager>label{display:grid;gap:8px;color:#46546c;font-size:13px;font-weight:700}
.splash-image-manager input{width:100%;height:42px;box-sizing:border-box;border:1px solid #dce4f0;border-radius:9px;padding:0 12px}
.splash-image-preview{min-height:280px;display:grid;place-items:center;overflow:hidden;border:1px solid #dce4f0;border-radius:15px;background:#f8fafc}
.splash-image-preview>img{display:block;width:100%;height:280px;object-fit:cover}
.splash-image-preview>div:not(.layout-empty){width:100%;box-sizing:border-box;padding:14px 16px;background:#fff;display:grid;gap:6px}
.splash-image-preview small{color:#8490a3;font-weight:500}.splash-image-preview button{width:max-content;margin-top:5px}
@media(max-width:760px){.splash-image-manager{grid-template-columns:1fr}}
.dashboard-message-panel .table-wrap{max-height:360px;overflow:auto}.dashboard-message-row{cursor:pointer}.dashboard-message-row:hover{background:#f7fbff}
#dashboard .dashboard-overview,#dashboard .today-panel{position:sticky;background:#f6f8fb;z-index:3}#dashboard .dashboard-overview{top:0}#dashboard .today-panel{top:126px}
.member-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow:visible}.member-toolbar .search{flex:1 1 360px;min-width:320px;max-width:560px}.member-sync-hint{flex:0 0 auto;min-height:42px}.member-toolbar #member-card-filter{flex:1 1 300px}.member-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.member-actions>*{white-space:nowrap}
.commerce-order-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0 0 14px}.commerce-order-tab{height:44px;border:1px solid #dbe5f1;border-radius:13px;background:#f8fbff;color:#31548a;font-weight:900;cursor:pointer}.commerce-order-tab.active{background:#356be8;border-color:#356be8;color:#fff;box-shadow:0 8px 18px rgba(53,107,232,.18)}.commerce-toolbar #commerce-order-filter{display:none}.commerce-reminder-status,.commerce-after-sales-status{height:32px;border:1px solid #d8e3f0;border-radius:999px;padding:0 10px;background:#fff;color:#2f3d52;font-weight:800}.commerce-after-sales-note strong{display:block;color:#25334a}.commerce-review-panel{margin-top:18px}.commerce-layout-extra-settings{display:grid;gap:16px;margin-top:18px}.commerce-layout-extra-settings .settings-section{display:block}.finance-panel table th:first-child{min-width:150px}.report-inventory-panel{min-height:0;overflow:visible}.report-inventory-panel .report-inventory-scroll{max-height:none;min-height:260px;height:auto;overflow:auto}.report-inventory-panel table{min-width:900px}
@media(max-width:900px){.commerce-order-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}#dashboard .dashboard-overview,#dashboard .today-panel{position:relative;top:auto}.member-toolbar .search{min-width:100%}}

/* 2026-09-16 fix: prevent the monthly inventory report card from being clipped at the bottom. */
.page#reports.page.active {
  box-sizing: border-box;
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 2px 56px;
}

.page#reports .report-inventory-panel {
  margin-bottom: 0;
  overflow: visible;
}

.page#reports .report-inventory-panel .report-inventory-scroll {
  max-height: clamp(320px, calc(100vh - 430px), 520px);
  min-height: 320px;
  overflow: auto;
  overscroll-behavior: contain;
}

@media (max-height: 760px) {
  .page#reports .report-inventory-panel .report-inventory-scroll {
    max-height: 360px;
  }
}


/* 2026-09-16 account dialog redesign */
#admin-account-dialog {
  width: min(980px, calc(100vw - 36px));
  max-height: 92vh;
  padding: 0;
  overflow: hidden;
}
#admin-account-dialog form {
  display: flex;
  max-height: 92vh;
  flex-direction: column;
  box-sizing: border-box;
  padding: 0;
  background: #f6f8fc;
}
#admin-account-dialog .dialog-head {
  flex: 0 0 auto;
  margin: 0;
  padding: 24px 28px 22px;
  border-bottom: 1px solid #dfe7f2;
  background: linear-gradient(135deg, #ffffff 0%, #f3f7ff 58%, #edf4ff 100%);
}
#admin-account-dialog .dialog-head h2 {
  font-size: 24px;
  letter-spacing: -.02em;
}
#admin-account-dialog .dialog-head p {
  max-width: 640px;
  color: #6d7c92;
}
#admin-account-dialog .form-grid {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 22px 26px 8px;
  overflow: auto;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  align-content: start;
}
#admin-account-dialog .form-grid > label {
  grid-column: span 2;
  min-width: 0;
  padding: 13px 14px 15px;
  border: 1px solid #e2e8f2;
  border-radius: 14px;
  background: #fff;
  color: #344257;
  font-weight: 800;
  box-shadow: 0 6px 18px rgba(32, 51, 84, .045);
}
#admin-account-dialog .form-grid > label:focus-within {
  border-color: #95b4f2;
  box-shadow: 0 0 0 4px rgba(53, 104, 229, .10), 0 8px 22px rgba(32, 51, 84, .06);
}
#admin-account-dialog .form-grid input,
#admin-account-dialog .form-grid select {
  height: 44px;
  margin-top: 8px;
  border-color: #d9e1ec;
  border-radius: 11px;
  background: #f9fbfe;
  font-weight: 650;
}
#admin-account-dialog .form-grid input:focus,
#admin-account-dialog .form-grid select:focus {
  background: #fff;
}
#admin-account-dialog .admin-permission-field {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  padding: 18px;
  border: 1px solid #dfe7f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(32, 51, 84, .055);
}
#admin-account-dialog .admin-permission-field legend {
  float: left;
  width: 100%;
  margin: 0 0 14px;
  padding: 0;
  color: #1f2d42;
  font-size: 17px;
  font-weight: 900;
}
#admin-account-dialog .admin-permission-field > legend::after {
  content: '按岗位勾选需要开放的功能，未勾选的模块会在后台菜单中隐藏。';
  display: block;
  margin-top: 5px;
  color: #7b8798;
  font-size: 12px;
  font-weight: 500;
}
#admin-account-dialog .admin-permission-options {
  clear: both;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}
#admin-account-dialog .admin-permission-options fieldset {
  position: relative;
  margin: 0;
  padding: 42px 14px 14px;
  overflow: hidden;
  border: 1px solid #e1e8f2;
  border-radius: 16px;
  background: linear-gradient(180deg, #fbfdff, #fff);
  box-shadow: 0 5px 16px rgba(32, 51, 84, .04);
}
#admin-account-dialog .admin-permission-options fieldset::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 36px;
  background: linear-gradient(90deg, #edf5ff, #f8fbff);
  border-bottom: 1px solid #e3ebf6;
}
#admin-account-dialog .admin-permission-options fieldset legend {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 14px;
  padding: 0;
  color: #24436d;
  font-size: 13px;
  font-weight: 900;
}
#admin-account-dialog .admin-permission-options fieldset > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#admin-account-dialog .admin-permission-options label {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px 0 38px;
  border: 1px solid #dde6f1;
  border-radius: 999px;
  background: #f8fafd;
  color: #56657a;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
#admin-account-dialog .admin-permission-options label:has(input:checked) {
  border-color: #bce9ca;
  background: #effaf3;
  color: #176d3c;
  box-shadow: inset 0 0 0 1px rgba(31, 180, 92, .10);
}
#admin-account-dialog .admin-permission-options label:hover {
  border-color: #a9c5f5;
  background: #f4f8ff;
}
#admin-account-dialog .admin-permission-options input[type="checkbox"] {
  position: absolute;
  left: 10px;
  top: 50%;
  width: 20px;
  height: 20px;
  margin: 0;
  appearance: none;
  transform: translateY(-50%);
  border: 1px solid #cfd9e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(39, 55, 82, .10);
}
#admin-account-dialog .admin-permission-options input[type="checkbox"]::before {
  content: '×';
  position: absolute;
  inset: 0;
  color: #98a5b7;
  font-size: 16px;
  line-height: 18px;
  text-align: center;
  font-weight: 900;
}
#admin-account-dialog .admin-permission-options input[type="checkbox"]:checked {
  border-color: #24b86a;
  background: linear-gradient(180deg, #ddf8e6, #c9f0d5);
}
#admin-account-dialog .admin-permission-options input[type="checkbox"]:checked::before {
  content: '✓';
  color: #0b8f48;
  font-size: 15px;
}
#admin-account-dialog .dialog-actions {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin: 0;
  padding: 16px 26px 18px;
  border-top: 1px solid #e0e7f1;
  background: rgba(255,255,255,.96);
  box-shadow: 0 -10px 24px rgba(27, 43, 70, .055);
}
#admin-account-dialog .dialog-actions button {
  min-width: 112px;
  height: 42px;
  border-radius: 12px;
}
@media (max-width: 860px) {
  #admin-account-dialog .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 18px; }
  #admin-account-dialog .form-grid > label { grid-column: span 1; }
  #admin-account-dialog .admin-permission-options { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  #admin-account-dialog .form-grid { grid-template-columns: 1fr; }
  #admin-account-dialog .form-grid > label { grid-column: 1; }
}

/* 商城订单顶部工具栏精简 */
.commerce-order-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:8px 0 14px}
.commerce-order-toolbar .commerce-order-search{flex:0 0 280px;width:280px;max-width:280px;min-width:220px}
.commerce-order-toolbar #commerce-order-filter{display:none!important}
.commerce-order-date-filter{display:flex;align-items:center;gap:8px;margin-left:auto}
.commerce-order-date-filter label{display:flex;align-items:center;gap:7px;color:#65738a;font-size:12px;font-weight:700;white-space:nowrap}
.commerce-order-date-filter input[type="date"]{width:142px;min-width:142px;height:40px;padding:0 10px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;color:#34445c;font:inherit}
.commerce-order-date-filter .date-separator{color:#8a96a8;font-size:12px}
.commerce-order-date-filter .secondary{height:40px;padding:0 13px;white-space:nowrap}
.commerce-order-tabs{grid-template-columns:repeat(7,minmax(0,1fr));align-items:center}
.commerce-order-tab{min-width:0;white-space:nowrap}
@media(max-width:1100px){.commerce-order-toolbar{align-items:stretch;flex-wrap:wrap}.commerce-order-toolbar .commerce-order-search{flex:1 1 280px;max-width:none}.commerce-order-date-filter{margin-left:0}}
@media(max-width:900px){.commerce-order-date-filter{width:100%;flex-wrap:wrap}.commerce-order-tabs{display:flex;overflow-x:auto;padding-bottom:4px}.commerce-order-tab{flex:0 0 104px}}

/* 2026-09-17 后台顶部筛选栏、评论管理和子账号弹窗统一 */
@media (min-width: 901px) {
  .page > .panel > .toolbar,
  .page > article > .toolbar,
  .product-toolbar,
  .commerce-toolbar,
  .order-filter,
  .field-filter,
  .member-toolbar,
  .inventory-toolbar,
  .report-filter {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: thin;
  }
  .toolbar > *, .order-filter > *, .field-filter > *, .commerce-toolbar > * { flex-shrink: 0; }
  .order-filter { gap: 8px; }
  .order-filter .search { width: 290px; min-width: 290px; flex: 0 0 290px; margin-right: 0; }
  .order-filter > .xcx-select { width: 130px; min-width: 130px; }
  .order-filter > .document-delivery-filter { width: 130px; flex-basis: 130px; }
  .commerce-order-toolbar { overflow: visible; }
}

.help-tip {
  box-sizing: border-box !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  appearance: none;
  line-height: 20px !important;
  text-align: center;
}
.member-sync-hint .help-tip { width: 22px !important; height: 22px !important; flex-basis: 22px !important; }
.commerce-review-hidden { opacity: .62; background: #f8fafc; }
.commerce-review-panel .commerce-row-actions { flex-wrap: nowrap; }

#admin-account-dialog { width: min(920px, calc(100vw - 40px)); }
#admin-account-dialog .form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 20px 24px 10px;
}
#admin-account-dialog .form-grid > label {
  grid-column: span 1;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
#admin-account-dialog .form-grid > label:focus-within { border-color: transparent; box-shadow: none; }
#admin-account-dialog .admin-role-template-field{background:#f6f9ff;border-color:#d7e3f7}
#admin-account-dialog .admin-role-template-field .field-help{display:block;margin-top:7px;color:#708097;font-size:12px;font-weight:500;line-height:1.45}
#admin-account-dialog .admin-permission-field { padding: 16px; border-radius: 14px; }
#admin-account-dialog .admin-permission-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#admin-account-dialog .admin-permission-options fieldset { padding: 38px 10px 11px; border-radius: 12px; }
#admin-account-dialog .admin-permission-options fieldset > div { gap: 7px; }
#admin-account-dialog .admin-permission-options label {
  min-height: 30px;
  padding: 0 10px 0 30px;
  font-size: 11.5px;
}
#admin-account-dialog .admin-permission-options input[type="checkbox"] {
  left: 8px;
  width: 16px;
  height: 16px;
  border-radius: 5px;
}
#admin-account-dialog .admin-permission-options input[type="checkbox"]::before { font-size: 12px; line-height: 14px; }
@media (max-width: 860px) {
  #admin-account-dialog .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #admin-account-dialog .admin-permission-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.splash-upload-label{display:inline-flex;align-items:center;justify-content:center;min-width:154px;height:40px;box-sizing:border-box;padding:0 18px;border-radius:8px;cursor:pointer}
.splash-upload-actions{display:flex;flex-direction:column;align-items:flex-end}
#splash-image-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.splash-upload-status{display:block;margin-top:7px;color:#7d899c;font-size:12px}.splash-upload-actions progress,.layout-section-head progress{width:150px;height:8px;margin:0 8px;vertical-align:middle}
.asset-picker-dialog{width:min(900px,90vw);max-height:85vh;border:0;border-radius:16px;padding:20px}.asset-picker-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.asset-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;max-height:70vh;overflow:auto}.asset-picker-item{border:1px solid #d9e2ef;border-radius:12px;background:#fff;padding:8px;text-align:left;cursor:pointer}.asset-picker-item:hover{border-color:#3568e8;box-shadow:0 0 0 2px #dce7ff}.asset-picker-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.asset-picker-item span{display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-picker-dialog header>div{display:grid;gap:3px}.asset-picker-dialog header>div>strong{color:#243550;font-size:18px}.asset-picker-folder-tabs{display:flex;gap:8px;overflow-x:auto;margin:-2px 0 10px;padding:2px 2px 9px;border-bottom:1px solid #e5ebf3;scrollbar-width:thin}.asset-picker-folder-tab{display:grid;min-width:112px;gap:2px;padding:9px 12px;border:1px solid #dce5f2;border-radius:10px;background:#f8faff;color:#50617a;cursor:pointer;text-align:left}.asset-picker-folder-tab strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.asset-picker-folder-tab span{color:#8794a7;font-size:10px}.asset-picker-folder-tab:hover{border-color:#aac0e8;background:#f2f6ff}.asset-picker-folder-tab.active{border-color:#3568e8;background:#3568e8;color:#fff;box-shadow:0 4px 11px rgba(53,104,232,.2)}.asset-picker-folder-tab.active span{color:#dce7ff}.asset-picker-current{margin:0 0 10px;color:#7b899d;font-size:12px}.asset-picker-current strong{color:#2f4361}.asset-picker-dialog .asset-picker-grid{max-height:56vh;padding:2px}
.asset-picker-item .asset-picker-image-wrap{position:relative;display:block;margin:0;overflow:visible}.asset-picker-item .asset-picker-name{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-picker-item.is-added{border-color:#3568e8;background:#f3f7ff;box-shadow:0 0 0 2px #dce7ff;cursor:default;opacity:1}.asset-picker-item.is-added img{filter:none}.asset-picker-item.is-selected{border-color:#0da66a;background:#f0fbf6;box-shadow:0 0 0 2px #c9f0de}.asset-picker-added,.asset-picker-selected{position:absolute;top:7px;right:7px;padding:4px 8px;border-radius:999px;color:#fff;box-shadow:0 3px 9px rgba(25,57,132,.28);font-size:11px;font-weight:800;line-height:1.2}.asset-picker-added{background:#3568e8}.asset-picker-selected{background:#0b9b62}.asset-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:14px -20px -20px;padding:13px 20px;border-top:1px solid #e4eaf2;background:#f9fbfe}.asset-picker-actions>div{display:grid;min-width:0;margin-right:auto;gap:2px}.asset-picker-actions strong{color:#2d405d;font-size:13px}.asset-picker-actions small{color:#8290a4;font-size:11px}.asset-picker-actions button{min-width:88px}
.splash-upload-status.uploading{color:#3568e8}.splash-upload-status.success{color:#07945b}.splash-upload-status.error{color:#c93d3d}

/* 商城素材：固定工作区、紧凑缩略图、批量管理和原图预览。 */
.commerce-layout-editor-dialog{width:min(1120px,94vw);height:min(820px,90vh);overflow:hidden}
.commerce-layout-editor-dialog>.commerce-layout-editor-body{height:calc(100% - 190px);box-sizing:border-box;overflow:auto}
.commerce-layout-editor-dialog .commerce-media-panel{min-height:500px}
.product-media-library{grid-template-columns:repeat(auto-fill,180px);justify-content:start;max-height:500px;align-content:start}
.product-media-item{position:relative;width:180px}.product-media-item>img{width:180px;height:180px;aspect-ratio:1;object-fit:cover;cursor:pointer}.product-media-item>div{padding:9px}.product-media-item>div>div{display:grid;grid-template-columns:repeat(3,1fr)}
[data-commerce-media-panel="product-detail"] .product-media-item>img{object-fit:contain}
.asset-select{position:absolute;top:7px;left:7px;z-index:2;display:flex;align-items:center;gap:4px;padding:4px 7px;border-radius:14px;background:rgba(255,255,255,.92);font-size:11px}
.asset-library-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:12px}.asset-library-toolbar input{flex:1;min-width:220px;height:38px;border:1px solid #dbe3ee;border-radius:8px;padding:0 11px}.asset-library-toolbar select{height:38px;border:1px solid #dbe3ee;border-radius:8px;background:#fff;padding:0 28px 0 10px}.asset-library-toolbar span{min-width:110px;color:#3568d5;font-size:12px}
.asset-library-header-row{display:flex;align-items:center;gap:9px;margin-bottom:14px;white-space:nowrap}.asset-library-header-row h3{flex:none;margin:0 10px 0 0;color:#26344b;font-size:16px}.asset-library-header-row input{flex:1;min-width:180px;height:40px;box-sizing:border-box;border:1px solid #dbe3ee;border-radius:8px;padding:0 11px}.asset-library-header-row select{flex:1;min-width:150px;height:40px;border:1px solid #dbe3ee;border-radius:8px;background:#fff;padding:0 28px 0 10px}.asset-library-header-row button{flex:none;height:40px}.asset-library-header-row span{min-width:0;color:#3568d5;font-size:12px}
.layout-banner-list{display:grid;grid-template-columns:repeat(auto-fill,180px);gap:13px}.banner-material-card{display:flex;width:180px;box-sizing:border-box;flex-direction:column;gap:9px;align-items:stretch;padding:0 0 9px;overflow:hidden;border:1px solid #e0e7f0;border-radius:12px;background:#fff}.banner-material-card img{width:180px;height:180px;border-radius:0;object-fit:cover}.banner-material-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 8px}.banner-material-card strong{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-material-card button{padding:7px 4px;font-size:11px}
.splash-image-preview{width:180px;min-height:180px}.splash-image-preview>img,.splash-image-preview img{width:180px;height:180px;max-width:180px;max-height:180px;object-fit:cover}.splash-image-preview>div:not(.layout-empty){display:flex;width:180px;box-sizing:border-box;align-items:center;gap:8px;flex-wrap:wrap}.splash-image-manager{grid-template-columns:180px minmax(280px,1fr)}
.asset-preview-dialog{width:min(1100px,92vw);height:min(820px,90vh);padding:46px 18px 18px;border:0;border-radius:16px;background:#111}.asset-preview-dialog::backdrop{background:rgba(0,0,0,.72)}.asset-preview-dialog>img{display:block;width:100%;height:100%;object-fit:contain}.asset-preview-dialog>.asset-preview-close{position:absolute;top:10px;right:10px;background:#fff;color:#111}
.managed-cloud-library{margin-top:20px;padding-top:16px;border-top:1px solid #e3eaf3}.managed-cloud-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.managed-cloud-library-head h4{margin:0 0 4px;color:#26344b;font-size:15px}.managed-cloud-library-head p{margin:0;color:#7a879c;font-size:12px}.managed-cloud-library-head>div:last-child{display:flex;align-items:center;gap:9px}.managed-cloud-library-head span{color:#3568d5;font-size:12px;font-weight:800;white-space:nowrap}.managed-cloud-grid{display:grid;gap:12px;max-height:430px;padding:2px;overflow:auto}.managed-cloud-card.is-selected{border-color:#4b78df;box-shadow:0 0 0 2px rgba(53,104,232,.14)}.managed-cloud-card .asset-in-use{color:#2f64c9;font-weight:700}.managed-cloud-card button:disabled{opacity:.5;cursor:not-allowed}.asset-sync-warning{grid-column:1/-1;padding:10px 12px;border:1px solid #efcf91;border-radius:9px;background:#fff8e8;color:#97631a;font-size:12px}
@media(max-width:900px){.commerce-media-tabs{grid-template-columns:repeat(2,1fr)}.asset-library-header-row{flex-wrap:wrap;white-space:normal}.asset-library-header-row h3{width:100%}.asset-library-header-row input,.asset-library-header-row select{flex:1 1 180px}.product-media-library{grid-template-columns:repeat(auto-fill,180px)}}
@media(max-width:680px){.managed-cloud-library-head{flex-direction:column}.managed-cloud-library-head>div:last-child{width:100%;justify-content:space-between}}

/* 系统设置直接使用顶部栏目切换，不再经过入口卡片和弹窗。 */
.page#settings{max-width:1600px;margin:0 auto}
.page#settings>.settings-intro{display:flex;justify-content:flex-end;margin-bottom:12px}
.settings-inline-tabs{display:flex;align-items:stretch;gap:4px;overflow-x:auto;margin:0 0 18px;padding:0 4px;border-bottom:1px solid #dce4ef;background:#fff;scrollbar-width:thin}
.settings-inline-tab{flex:0 0 auto;min-width:112px;height:52px;padding:0 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:#5b6b82;cursor:pointer;font:inherit;font-weight:800;white-space:nowrap}
.settings-inline-tab:hover{color:#2f63cc;background:#f7faff}.settings-inline-tab.active{border-bottom-color:#3568e8;color:#285bc7;background:#f8fbff}
.page#settings>.settings-section{display:block;margin:0;min-height:calc(100vh - 235px);padding:20px 22px;border:1px solid #e2e8f1;border-radius:14px;background:#f7f9fc;box-sizing:border-box}
.page#settings>.settings-section[hidden]{display:none!important}
.page#settings>.settings-section>.settings-section-head{align-items:flex-start;margin-bottom:16px}
@media(max-width:760px){.page#settings>.settings-section{padding:14px}.settings-inline-tab{min-width:96px;padding:0 12px}}

/* 后台统一恢复普通复选框：点击方框即可勾选或取消。 */
input[type="checkbox"]:not(.switch input){appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;margin:0 6px 0 0!important;border:initial!important;border-radius:initial!important;background:initial!important;box-shadow:none!important;accent-color:#3568e8;cursor:pointer}
input[type="checkbox"]:not(.switch input)::before,input[type="checkbox"]:not(.switch input)::after{content:none!important;display:none!important}
#admin-account-dialog .admin-permission-options input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;margin:0 6px 0 0!important;border:initial!important;border-radius:initial!important;background:initial!important;box-shadow:none!important}
#admin-account-dialog .admin-permission-options input[type="checkbox"]::before,#admin-account-dialog .admin-permission-options input[type="checkbox"]::after{content:none!important;display:none!important}

/* 商城布局顶部改为订单页同款按钮导航，发布操作同行展示。 */
.page#commerce-layout .commerce-page-heading{display:none!important}
.commerce-layout-inline-editor>.scroll-tabs{position:sticky;top:0;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:10px 12px;border-bottom:1px solid #e2e8f1;background:#fff}
.commerce-layout-inline-editor .scroll-tab{flex:1 0 108px;height:44px;margin:0;padding:0 12px;border:1px solid #dbe5f1;border-radius:13px;background:#f8fbff;color:#31548a;font-size:13px;font-weight:900;text-align:center}
.commerce-layout-inline-editor .scroll-tab:hover{border-color:#afc5ea;background:#f1f6ff;color:#285bb8}
.commerce-layout-inline-editor .scroll-tab.active{border-color:#356be8;background:#356be8;color:#fff;box-shadow:0 8px 18px rgba(53,107,232,.18)}
.commerce-layout-inline-editor .scroll-tab-indicator{display:none!important}
.commerce-layout-inline-editor .commerce-publish-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:4px;flex-wrap:nowrap}
.commerce-layout-inline-editor .commerce-publish-actions>span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.commerce-layout-inline-editor>.commerce-layout-editor-body{height:calc(100% - 65px)}
@media(max-width:1100px){.commerce-layout-inline-editor .scroll-tab{flex-basis:102px}.commerce-layout-inline-editor .commerce-publish-actions>span{display:none}}

/* 系统设置的保存操作与顶部栏同行。 */
.settings-inline-tabs>.settings-intro{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;margin:0 0 0 auto;padding-left:12px;background:#fff}
.settings-inline-tabs>.settings-intro #save-system-settings{height:40px;white-space:nowrap}

/* 全局表单对齐：输入内容、占位提示和字数统计保持在控件内垂直居中。 */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]),select{box-sizing:border-box;vertical-align:middle;line-height:normal}
input::placeholder,textarea::placeholder{line-height:inherit;color:#8a95a8;opacity:1}
textarea{box-sizing:border-box;line-height:1.55}
.field-counter{display:flex;align-items:center;justify-content:flex-end;min-height:16px;line-height:16px}
.field-counted>input+.field-counter{top:auto;bottom:12px;transform:none}
#admin-account-dialog label.field-counted>input+.field-counter{top:auto;right:23px;bottom:29px;transform:none}
#admin-account-dialog label.field-counted>input{padding-right:62px!important}
.field-counted:has(>.input-clear-btn)>.field-counter,.field-counted:has(>.field-clear)>.field-counter{top:50%;bottom:auto;transform:translateY(-50%)}

/* 桌面端左侧主导航缩窄，给业务页面留出更多空间。 */
@media(min-width:1101px){.sidebar{width:180px!important;padding-left:12px!important;padding-right:12px!important}.sidebar nav>.nav{padding-left:15px!important;padding-right:10px!important;font-size:13px!important}main{width:calc(100% - 180px)!important;margin-left:180px!important;box-sizing:border-box}.sidebar .brand strong{font-size:14px}.sidebar .brand small{display:block}.menu-order-controls{grid-template-columns:1fr auto auto;gap:4px}.menu-order-controls button:not([hidden]){min-width:0}.page,.page>.panel,.page>article{max-width:none}.outbound-workspace{max-width:none}.page#commerce-layout,.page#settings{max-width:none}}

/* 出库商品与会员改为原位输入，匹配项只在输入框下方展开。 */
.outbound-product-picker{position:relative;min-width:0}.outbound-product-picker>.ob-product-search{width:100%;height:40px;box-sizing:border-box;border:1px solid #dfe3eb;border-radius:8px;padding:9px 11px;background:#fff;outline:none}.outbound-product-picker>.ob-product-search:focus{border-color:#3568e8;box-shadow:0 0 0 3px #3568e814}
#outbound-form .member-search-field>input[name="member_search"],#outbound-form input[name="customer_name"],#outbound-form input[name="customer_phone"],#outbound-form input[name="delivery_address"]{cursor:text}

/* 会员卡号、面值和余额在同一紧凑单元内展示。 */
#member-body td{padding-top:6px;padding-bottom:6px}
#member-body .member-card-cell{min-width:205px;max-width:245px}
.member-card-list{gap:3px;min-width:190px}
.member-card-list>li{display:grid;grid-template-columns:minmax(92px,1fr) auto;align-items:center;gap:8px;min-height:32px;padding:3px 7px}
.member-card-no{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-card-meta{display:grid;gap:0;text-align:right;white-space:nowrap}
.member-card-meta small{color:#8593a8;font-size:10px;line-height:1.25}

/* 各页状态栏使用与充值明细相同的滑动选中动画。 */
.xcx-sliding-tabs{position:relative;isolation:isolate}
.xcx-tab-glider{position:absolute;z-index:0;top:0;left:0;margin:0;border:0;border-radius:12px;background:#356be8;box-shadow:0 7px 17px rgba(53,107,232,.2);opacity:0;pointer-events:none;will-change:transform,width,height}
.xcx-tab-glider.is-ready{transition:transform var(--xcx-motion) var(--xcx-ease),width var(--xcx-motion) var(--xcx-ease),height var(--xcx-motion) var(--xcx-ease),opacity .16s ease}
.xcx-sliding-tabs>button{position:relative;z-index:1;transition:color var(--xcx-motion) var(--xcx-ease),border-color var(--xcx-motion) var(--xcx-ease),background-color var(--xcx-motion) var(--xcx-ease),box-shadow var(--xcx-motion) var(--xcx-ease)}
.xcx-sliding-tabs>button.active,.xcx-sliding-tabs>button[aria-selected="true"]{border-color:transparent!important;background:transparent!important;color:#fff!important;box-shadow:none!important}
.xcx-sliding-tabs.filter-chips>.xcx-tab-glider{border-radius:999px}

/* 页面顶部已经说明当前栏目，内容区不再重复显示同名标题。 */
.page#settings>.settings-section>.settings-section-head:not(:has(>button)){display:none}
.page#settings>.settings-section>.settings-section-head:has(>button)>div{display:none}
.page#settings>.settings-section>.settings-section-head:has(>button){justify-content:flex-end;margin-bottom:10px}

/* 商城布局只保留内容层边框，压缩中间功能卡片并充分利用横向空间。 */
.page#commerce-layout>.commerce-layout-panel{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.page#commerce-layout .layout-editor.layout-config-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:2px 2px 16px}
.page#commerce-layout .layout-config-card{min-height:88px;padding:14px 16px;border-radius:12px;box-shadow:0 4px 13px rgba(35,54,86,.045)}
.page#commerce-layout .layout-config-card strong{font-size:15px}.page#commerce-layout .layout-config-card small{margin-top:5px}

/* 数据中心按三个并排栏目切换，每次只显示一个完整工作区。 */
.data-center-tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.data-center-tabs>button{position:relative;z-index:1;height:44px;border:1px solid #dbe5f1;border-radius:12px;background:#f8fbff;color:#31548a;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.data-center-tabs>button:hover{border-color:#afc5ea;background:#f1f6ff;color:#285bb8}
.data-center-panels{display:block!important}.data-center-panel{width:100%;min-height:430px;box-sizing:border-box;margin:0!important}.data-center-panel[hidden]{display:none!important}
.data-center-panel .data-center-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1400px){.page#commerce-layout .layout-editor.layout-config-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.page#commerce-layout .layout-editor.layout-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.data-center-tabs{grid-template-columns:1fr}.data-center-panel .data-center-grid{grid-template-columns:1fr}.data-center-panel{min-height:0}}

.audit-filterbar{display:grid;grid-template-columns:minmax(220px,1fr) 170px 150px 150px auto;gap:10px;align-items:center;margin-bottom:12px}.audit-filterbar input,.audit-filterbar select{width:100%;height:40px}.account-password-pending{color:#b06a13!important;font-weight:700}@media(max-width:980px){.audit-filterbar{grid-template-columns:1fr 1fr}.audit-filterbar button{grid-column:span 2}}

/* 商城布局增高并让内容区独立滚动，配送规则并入首页信息。 */
.page#commerce-layout>.commerce-layout-panel{height:calc(100vh - 82px)!important;min-height:760px!important}
.page#commerce-layout .commerce-layout-workspace{height:100%!important}
.commerce-layout-inline-editor{min-height:700px}
.commerce-layout-inline-editor>.commerce-layout-editor-body{height:calc(100% - 65px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:40px}
.home-delivery-rules{margin-top:20px;padding-top:18px;border-top:1px solid #e3e9f2}.home-delivery-rules>.panel{margin:0;box-shadow:none}.home-delivery-rules .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-delivery-rules .dialog-actions{margin:14px 0 0;padding:0;border:0;background:transparent;justify-content:flex-end}
.commerce-layout-extra-settings{display:none}
.mini-order-rules-card .form-grid input:disabled{background:#f3f5f8;color:#9aa4b5;cursor:not-allowed}
.mini-order-rules-preview{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid #dce7f8;border-radius:10px;background:#f6f9ff;color:#263a5c}
.mini-order-rules-preview span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#e6efff;color:#3568e8;font-size:12px;font-weight:800}
.mini-order-rules-preview strong{font-size:13px;line-height:1.55}
.mini-order-rules-actions{align-items:center}
.mini-order-rules-status{margin-right:auto;color:#7b879a;font-size:12px;font-weight:700}
.mini-order-rules-status.is-saved{color:#14845a}
.mini-order-rules-status.is-dirty{color:#d97706}
.mini-order-rules-status.is-error{color:#d14343}
@media(max-width:700px){.mini-order-rules-preview{align-items:flex-start;flex-direction:column;gap:7px}.mini-order-rules-actions{align-items:stretch;flex-direction:column}.mini-order-rules-actions .primary{width:100%}}

/* 上架商品的标题、搜索、状态和统计合并为一行；规格以正方形卡片展示。 */
.layout-product-manager-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.layout-product-brand-tabs{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:6px;overflow-x:auto;padding:3px;border:1px solid #dbe4f1;border-radius:10px;background:#f6f9fd;scrollbar-width:thin}.layout-product-brand-tab{flex:0 0 auto;height:36px;border:1px solid transparent;border-radius:8px;padding:0 13px;background:transparent;color:#53657d;cursor:pointer;font:inherit;font-size:12px;font-weight:800;white-space:nowrap}.layout-product-brand-tab span{margin-left:4px;color:#8290a4;font-size:11px}.layout-product-brand-tab:hover{border-color:#bdd0ed;background:#fff;color:#315fae}.layout-product-brand-tab.active{border-color:#3568e8;background:#3568e8;color:#fff;box-shadow:0 4px 10px rgba(53,104,232,.18)}.layout-product-brand-tab.active span{color:#dce7ff}.layout-product-manager-top>#create-product-group{flex:0 0 auto;height:42px;white-space:nowrap}
.layout-product-group-items{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.layout-product-option{position:relative;display:flex!important;aspect-ratio:1;min-width:0;flex-direction:column;justify-content:space-between;padding:10px!important}.layout-product-select{display:flex!important;min-height:0;flex:1;flex-direction:column;justify-content:center;gap:7px;padding:0!important;text-align:center}.layout-product-select>input{position:absolute;top:9px;left:9px}.layout-product-select .layout-product-thumb{width:72px;height:72px;flex:0 0 72px;border-radius:12px}.layout-product-select>span:nth-of-type(2){width:100%}.layout-product-select>b{display:grid;gap:3px}.layout-product-option .edit-layout-product{width:100%;margin:6px 0 0;padding:6px 7px}
@media(max-width:1000px){.layout-product-manager-top{align-items:stretch;flex-direction:column}.layout-product-manager-top>#create-product-group{align-self:flex-end}.home-delivery-rules .form-grid{grid-template-columns:1fr}}
.xcx-sliding-tabs.settings-inline-tabs>.xcx-tab-glider{border-radius:10px}
.xcx-sliding-tabs.scroll-tabs>.scroll-tab-indicator{display:none!important}
@keyframes xcx-tab-panel-in{from{opacity:.45;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
.layout-dialog-panel.active,.commerce-media-panel.active,.page#settings>.settings-section.active,.commerce-tab-panel:not([hidden]){animation:xcx-tab-panel-in var(--xcx-motion) var(--xcx-ease)}
@media(prefers-reduced-motion:reduce){.xcx-tab-glider.is-ready{transition:none}.layout-dialog-panel.active,.commerce-media-panel.active,.page#settings>.settings-section.active,.commerce-tab-panel:not([hidden]){animation:none}}

/* 2026-09-17 management workspace refinements */
.pagination{flex-wrap:nowrap}.pagination>span{white-space:nowrap}.pagination .pager-page-select{display:flex;align-items:center;gap:6px;white-space:nowrap}.pagination .pager-page-select select{width:64px!important;min-width:64px!important;max-width:64px!important;height:34px;padding:4px 22px 4px 8px}
.account-panel .table-wrap:has(#admin-session-body){max-height:360px;overflow:auto}.account-panel .table-wrap:has(#admin-session-body) thead th{position:sticky;top:0;z-index:2;background:#f8fafc}
.commerce-order-tab{position:relative}.tab-notice-badge{position:absolute;top:-7px;right:12px;display:grid;min-width:20px;height:20px;box-sizing:border-box;place-items:center;padding:0 6px;border:2px solid #fff;border-radius:999px;background:#e24b4b;color:#fff;font-size:11px;line-height:1}.commerce-order-tab.active .tab-notice-badge{border-color:#356be8;background:#fff;color:#d63f47}
.settings-intro{display:flex;align-items:center;gap:8px}.settings-inline-tabs>.settings-intro{gap:8px}.settings-inline-tabs>.settings-intro #refresh-audit-logs{height:40px;white-space:nowrap}
.settings-card-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 14px;padding:3px;border-radius:12px;background:#edf2f8}.settings-card-tab{flex:1 0 120px;height:40px;border:0;border-radius:9px;background:transparent;color:#53647d;font-weight:800;cursor:pointer;white-space:nowrap}.settings-card-tab.active{background:#356be8;color:#fff;box-shadow:0 5px 14px rgba(53,107,232,.18)}.settings-card-panel[hidden]{display:none!important}.settings-card-panel{min-height:420px}.settings-card-panel.panel{margin:0}
.home-business-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding:16px;border:1px solid #dce6f4;border-radius:12px;background:#f7faff}.home-business-actions span{color:#718096;font-size:12px}
.gift-card-material-list{grid-template-columns:repeat(auto-fill,minmax(150px,180px));justify-content:start}.gift-card-material-item{width:180px}.gift-card-material-item img{width:180px;height:112px;aspect-ratio:auto}.gift-card-material-sets{grid-template-columns:repeat(auto-fill,minmax(190px,220px))}.material-set-face img,.material-set-face{max-height:112px}
.layout-dialog-panel[data-layout-panel="products"]{min-height:0}.layout-dialog-panel[data-layout-panel="products"] .layout-product-picker{max-height:none;height:calc(100vh - 330px);min-height:430px;padding-bottom:28px}.commerce-layout-inline-editor>.commerce-layout-editor-body{padding-bottom:80px}
.document-filter-hierarchy{display:flex;align-items:center;gap:9px;width:100%;flex-wrap:wrap}.document-filter-group{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #e2e8f1;border-radius:11px;background:#f8fafc}.document-filter-group>span{color:#718096;font-size:11px;font-weight:800;white-space:nowrap}.document-filter-group .xcx-select,.document-filter-group select{min-width:130px;width:130px}
@media(max-width:760px){.pagination{overflow-x:auto;justify-content:flex-start}.settings-card-tab{flex-basis:105px}.layout-dialog-panel[data-layout-panel="products"] .layout-product-picker{height:auto;min-height:520px}.gift-card-material-item{width:150px}.gift-card-material-item img{width:150px;height:94px}}
.product-toolbar-shell{margin-bottom:10px;padding:10px 12px;border:1px solid #e0e7f1;border-radius:13px;background:#fff}
.page#products .product-toolbar{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(360px,1.8fr) auto auto;align-items:center;gap:10px;margin:0}.product-search-block .search{width:100%;max-width:none}.product-search-block input{width:100%;box-sizing:border-box}.page#products .product-navigator{min-width:0;height:auto;padding:0;border:0;background:transparent}.page#products .product-nav-row{overflow-x:auto;padding:2px}.page#products .product-tabs{flex-wrap:nowrap}.page#products .product-tab{flex:0 0 auto}.product-filter-group,.product-action-group{display:flex;align-items:center;gap:8px;white-space:nowrap}.product-brand-tabs{display:flex;min-height:40px;align-items:center;gap:7px;overflow-x:auto;margin:0 0 10px;padding:5px 8px;border-bottom:1px solid #e7ebf2;flex-wrap:nowrap}.product-brand-tab{flex:0 0 auto;padding:6px 12px}.page#products>.product-panel>.help-tip{display:none}
@media(max-width:1450px){.page#products .product-toolbar{grid-template-columns:minmax(250px,1fr) minmax(360px,1.5fr)}.product-filter-group,.product-action-group{justify-content:flex-start}}
@media(max-width:900px){.page#products .product-toolbar{grid-template-columns:1fr}.product-filter-group,.product-action-group{overflow-x:auto}}

/* 2026-09-17 ui8：设置页面与业务页使用完整可视区域 */
.page#settings .settings-grid > .settings-card-panel{grid-column:1/-1;width:100%;min-height:calc(100vh - 286px);box-sizing:border-box}
.page#settings .settings-card-panel .setting-list{max-height:calc(100vh - 410px);overflow:auto}
#settings-section-audit>.panel{height:calc(100vh - 250px);min-height:560px;display:flex;flex-direction:column;box-sizing:border-box}
#settings-section-audit .audit-table{flex:1;max-height:none;overflow:auto}
.page#documents>.panel{min-height:calc(100vh - 120px)}
.page#documents .order-filter{display:grid;grid-template-columns:minmax(300px,2fr) repeat(3,minmax(145px,1fr)) minmax(150px,1fr) repeat(2,145px) auto auto auto;align-items:end}
.page#documents .order-filter .search{min-width:0}
.layout-gift-card-management{margin-top:18px}.layout-gift-card-management>.panel{box-shadow:none}
[data-layout-panel="materials"]>.layout-section-head{margin-bottom:16px}
.commerce-invoice-requests-panel{margin-top:18px}
@media(max-width:1400px){.page#documents .order-filter{grid-template-columns:repeat(4,minmax(150px,1fr))}.page#documents .order-filter .search{grid-column:span 2}}

/* 2026-09-17 ui9：操作日志占满系统设置剩余视口 */
.page#settings.active{display:flex;min-height:0;height:100%;flex-direction:column;overflow:hidden}
.page#settings>.settings-inline-tabs{flex:0 0 auto;margin-bottom:14px}
.page#settings>.settings-section.active{flex:1 1 auto;width:100%;min-height:0;height:auto;overflow:auto}
.page#settings>#settings-section-audit.active{display:flex;flex-direction:column;overflow:hidden}
#settings-section-audit>.panel{flex:1 1 auto;width:100%;height:auto!important;min-height:0!important;margin:0;overflow:hidden}
#settings-section-audit .audit-filterbar{flex:0 0 auto}
#settings-section-audit .audit-table{flex:1 1 0;min-height:0;max-height:none!important;overflow:auto}

/* 2026-09-17 ui10：账号与登录设备分页面管理 */
#settings-section-accounts .account-management-panels{grid-template-columns:1fr}
#settings-section-accounts .settings-card-panel{height:calc(100vh - 286px);min-height:520px;overflow:hidden;display:flex;flex-direction:column}
#settings-section-accounts .settings-card-panel>.table-wrap{flex:1;min-height:0;overflow:auto}
#settings-section-accounts .settings-card-panel>.table-wrap thead th{position:sticky;top:0;z-index:2;background:#f8fafc}
.account-row-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}
#admin-reset-password-dialog{width:min(500px,calc(100vw - 40px));border:1px solid #dfe6f0;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(17,31,55,.3)}
#admin-reset-password-dialog::backdrop{background:rgba(18,29,47,.58);backdrop-filter:blur(3px)}
#admin-reset-password-dialog form{padding:28px 30px 24px}

/* 2026-09-17 ui11：经营报表分页面，经营概览合并至工作台 */
#dashboard .dashboard-overview{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
#dashboard .dashboard-sales-split{margin:0 0 16px}
#dashboard .dashboard-dynamic-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.page#reports.active{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden;padding-bottom:2px}
.page#reports .report-toolbar-panel{flex:0 0 auto;margin-bottom:12px;padding:12px 18px}
.page#reports .report-toolbar-panel .toolbar{margin:0}
.report-view-tabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 auto;gap:10px;margin-bottom:14px;padding:3px;border-radius:14px;background:#edf2f8}
.report-view-tabs button{position:relative;z-index:1;height:44px;border:0;border-radius:11px;background:transparent;color:#48617f;font-weight:800;cursor:pointer}
.report-view-tabs button.active{color:#fff}
.report-view-tabs>.xcx-tab-glider{position:absolute;z-index:0;left:0;top:0;border-radius:11px;background:#356be8;box-shadow:0 7px 18px rgba(53,104,232,.22);pointer-events:none;transition:transform .24s ease,width .24s ease}
.report-view-panels{flex:1 1 auto;min-height:0}
.report-view-panel{height:100%;min-height:0;margin:0!important;overflow:hidden;display:flex;flex-direction:column}
.report-view-panel[hidden]{display:none!important}
.report-view-panel>.table-wrap{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto}
.report-view-panel>.table-wrap thead th{position:sticky;top:0;z-index:2;background:#f8fafc}
@media(max-width:1000px){#dashboard .dashboard-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#dashboard .dashboard-overview,#dashboard .dashboard-dynamic-three{grid-template-columns:1fr}.report-view-tabs{grid-template-columns:1fr}.page#reports.active{height:auto;overflow:visible}.report-view-panel{height:auto;min-height:520px}}

/* 2026-09-17 ui12：单据中心双层筛选导航 */
.page#documents>.documents-panel{display:flex;height:calc(100vh - 36px);min-height:0;flex-direction:column;margin:0;overflow:hidden}
.document-filter-shell{flex:0 0 auto;margin:-2px -4px 14px;padding:12px 14px;border:1px solid #dfe7f1;border-radius:14px;background:#f8faff}
.document-filter-level{display:flex;align-items:flex-end;gap:12px;min-width:0}
.document-filter-primary{padding-bottom:12px;border-bottom:1px solid #e1e8f2}
.document-filter-secondary{padding-top:12px}
.document-filter-search{display:grid;min-width:300px;flex:1 1 440px;gap:7px}
.document-filter-search .search{width:100%;max-width:none;min-width:0}
.document-filter-search input{width:100%;height:40px;box-sizing:border-box;border:1px solid #dce4ef;border-radius:9px;padding:0 12px!important;background:#fff;outline:none}
.document-filter-field{display:grid;min-width:0;gap:7px}
.document-filter-label{color:#66768d;font-size:11px;font-weight:800;line-height:1;white-space:nowrap}
.document-filter-primary .document-filter-field{flex:0 0 190px}
.document-paper-field{flex:0 0 190px}.document-delivery-field{flex:1 1 240px;max-width:340px}.document-date-field{flex:0 0 300px}
.document-filter-field>.xcx-select,.document-filter-field>select{width:100%;min-width:0}
.document-filter-field .xcx-select-trigger{width:100%;height:40px;border-radius:9px;background:#fff}
.document-delivery-field input{width:100%;height:40px;box-sizing:border-box;border:1px solid #dce4ef;border-radius:9px;padding:0 12px;background:#fff;outline:none}
.document-date-controls{display:flex;align-items:center;gap:8px;height:40px}
.document-date-controls>.xcx-range{width:220px;min-width:220px}.document-date-controls .xcx-range-trigger{width:100%;height:40px;padding:0 12px;border-radius:9px;background:#fff}.document-date-controls>#document-today{height:40px;min-width:70px;padding:0 14px}
.document-filter-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}.document-filter-actions button{height:40px;white-space:nowrap}
.page#documents>.documents-panel>.table-wrap{flex:1 1 auto;min-height:0;overflow:auto}.page#documents>.documents-panel>.table-wrap thead th{position:sticky;top:0;z-index:2;background:#f8fafc}
.page#documents>.documents-panel>.pagination{flex:0 0 auto;margin-top:12px}
@media(max-width:1380px){.document-filter-level{flex-wrap:wrap}.document-filter-search{flex-basis:100%}.document-filter-secondary .document-filter-actions{margin-left:0}.page#documents>.documents-panel{height:auto;min-height:calc(100vh - 36px);overflow:visible}}
@media(max-width:760px){.document-filter-primary .document-filter-field,.document-paper-field,.document-delivery-field,.document-date-field{flex:1 1 100%;max-width:none}.document-filter-actions{width:100%;flex-wrap:wrap}.document-filter-actions button{flex:1}.document-date-controls>.xcx-range{flex:1;min-width:0}}

/* 2026-09-17 ui13：单据中心简洁工具栏 */
.document-toolbar-simple{display:flex;flex:0 0 auto;align-items:center;gap:9px;margin-bottom:12px;padding:11px 12px;border:1px solid #dfe7f1;border-radius:13px;background:#f8faff}
.document-main-search{min-width:260px;max-width:none!important;flex:1 1 360px!important}.document-main-search input{width:100%;height:40px!important;padding-left:12px!important;border-radius:9px}
.document-toolbar-simple>.xcx-select{flex:0 0 138px;width:138px}.document-toolbar-simple .xcx-select-trigger{width:100%;height:40px;border-radius:9px;background:#fff}
.document-main-date{display:flex;flex:0 0 226px;min-width:226px;align-items:center}.document-main-date>.xcx-range{width:100%}.document-main-date .xcx-range-trigger{width:100%;height:40px;padding:0 11px;border-radius:9px;background:#fff}.document-main-date>input{display:none}
.document-toolbar-simple>button{height:40px;white-space:nowrap}.document-toolbar-simple>#document-today{padding:0 14px}.document-more-toggle{min-width:98px}.document-more-toggle.active{border-color:#8daee8;color:#285fc7;background:#edf4ff}
.document-more-toggle span{margin-left:5px;color:#7890b3}
.document-main-actions{display:flex;flex:0 0 auto;gap:8px;margin-left:auto}.document-main-actions button{height:40px;white-space:nowrap}
.document-more-filters{display:flex;flex:0 0 auto;align-items:end;gap:12px;margin:-3px 0 12px;padding:12px 14px;border:1px solid #e2e8f1;border-radius:11px;background:#fff}
.document-more-filters[hidden]{display:none!important}.document-more-filters label{display:grid;gap:7px;color:#68788e;font-size:11px;font-weight:800}.document-more-filters label>.xcx-select{width:190px}.document-more-filters .xcx-select-trigger{width:100%;height:38px;background:#fff}.document-more-delivery{flex:0 1 300px}.document-more-delivery input{width:280px;height:38px;border:1px solid #dce4ef;border-radius:8px;padding:0 11px;outline:none}.document-more-filters>#document-clear-filters{height:38px;margin-left:auto;white-space:nowrap}
@media(max-width:1450px){.document-toolbar-simple{flex-wrap:wrap}.document-main-search{flex-basis:420px!important}.document-main-actions{margin-left:0}.page#documents>.documents-panel{height:auto;min-height:calc(100vh - 36px);overflow:visible}}
@media(max-width:850px){.document-main-search{flex-basis:100%!important}.document-toolbar-simple>.xcx-select,.document-main-date{flex:1 1 180px;width:auto;min-width:0}.document-main-actions{width:100%}.document-main-actions button{flex:1}.document-more-filters{align-items:stretch;flex-direction:column}.document-more-filters label>.xcx-select,.document-more-delivery input{width:100%}.document-more-filters>#document-clear-filters{margin-left:0}}

/* 2026-09-17 ui14：财务逐笔对账 */
.finance-panel table{min-width:1280px}.finance-panel th:first-child,.finance-panel td:first-child{min-width:190px}.finance-order-no{display:block;color:#2458b3;font-variant-numeric:tabular-nums;word-break:break-all}.finance-trade-no{display:block;max-width:230px;color:#52627a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.finance-panel .commerce-row-actions{min-width:142px}.finance-panel .commerce-row-actions .finance-note{padding-inline:11px}
/* 2026-09-17 ui15：单据状态筛选移入列表表头 */
.document-status-header{min-width:132px}.document-status-header>span{display:block;margin-bottom:5px}.document-status-header>.xcx-select{width:108px;min-width:108px;font-weight:500}.document-status-header .xcx-select-trigger{height:30px;padding:0 9px;border-color:#dbe3ee;border-radius:7px;background:#fff;font-size:12px}.document-status-header .xcx-select-menu{font-weight:500;text-align:left}.document-status-header>select:not(.xcx-select-native){width:108px;height:30px;border:1px solid #dbe3ee;border-radius:7px;background:#fff;color:#53637a;font-size:12px}

/* 2026-09-17 ui16：财务备注直接在表格输入 */
.finance-panel table{min-width:1480px}.finance-note-input{display:block;width:210px;height:36px;box-sizing:border-box;border:1px solid #d8e2ef;border-radius:8px;padding:0 10px;background:#fff;color:#26354c;font:inherit;outline:none}.finance-note-input:focus{border-color:#5d86dc;box-shadow:0 0 0 3px rgba(53,104,213,.1)}.finance-note-input:disabled{background:#f3f6fa;color:#778397}.finance-note-state{display:block;margin-top:4px;color:#8995a7;font-size:10px;white-space:nowrap}

/* 2026-09-17 ui18：状态标题与筛选框同排 */
.document-status-header{min-width:148px;white-space:nowrap}.document-status-header>span{display:inline-block;margin:0 7px 0 0;vertical-align:middle}.document-status-header>.xcx-select{display:inline-block;width:92px;min-width:92px;vertical-align:middle}.document-status-header .xcx-select-trigger{width:92px}

/* 2026-09-17 ui19：上架商品组按内容展开，完整显示正方形规格卡片。 */
.layout-dialog-panel[data-layout-panel="products"] .layout-product-picker{align-content:start;grid-auto-rows:max-content;overflow-y:auto;overflow-x:hidden}.layout-dialog-panel[data-layout-panel="products"] .layout-product-group{height:max-content;min-height:0;align-self:start}.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:start}.layout-dialog-panel[data-layout-panel="products"] .layout-product-option{width:100%;height:auto;min-height:180px;box-sizing:border-box;overflow:visible}.layout-dialog-panel[data-layout-panel="products"] .layout-product-select .layout-product-thumb{width:78px;height:78px;flex-basis:78px}.layout-dialog-panel[data-layout-panel="products"] .layout-product-select small{white-space:normal;line-height:1.35;min-height:30px}.layout-dialog-panel[data-layout-panel="products"] .edit-layout-product{min-height:32px}

/* 2026-09-19：上架商品按“一级品牌 → 二级产品 → 规格”展示。 */
.layout-product-brand{overflow:hidden;border:1px solid #cfdbea;border-radius:15px;background:#f7f9fd;box-shadow:0 4px 14px rgba(35,57,91,.05)}
.layout-product-brand-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #dce5f1;background:linear-gradient(135deg,#eaf2ff,#f5f8ff)}
.layout-product-brand-head label{display:flex;min-width:0;align-items:center;gap:11px;cursor:pointer}.layout-product-brand-head input{width:16px;height:16px}.layout-product-brand-head span{display:grid;min-width:0;gap:3px}.layout-product-brand-head strong{color:#263b5d;font-size:15px}.layout-product-brand-head small{color:#71819a;font-size:11px}
.layout-product-brand-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:11px}.layout-product-brand-groups>.layout-product-group{min-width:0;border-color:#dce5f0;border-radius:11px;background:#fff}.layout-product-brand-groups .layout-product-group-head{background:#f7faff}.layout-product-brand-groups .layout-product-group-head strong{color:#315687}
.layout-product-brand-head-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.toggle-product-brand-groups{min-height:32px;border:1px solid #a9c0e8;border-radius:8px;padding:6px 11px;background:#fff;color:#3568d5;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.toggle-product-brand-groups:hover{border-color:#6f96da;background:#edf4ff}.toggle-product-brand-groups[aria-expanded="true"]{background:#3568d5;color:#fff}
@media(max-width:1180px){.layout-product-brand-groups{grid-template-columns:1fr}}
@media(max-width:760px){.layout-product-brand-groups{padding:8px}.layout-product-brand-head{align-items:flex-start;flex-direction:column;padding:11px}.layout-product-brand-head-actions,.toggle-product-brand-groups{width:100%}.layout-product-group-head{align-items:flex-start;flex-direction:column}.layout-product-group-head>div{width:100%;justify-content:space-between}}

/* 2026-09-17 ui20：礼品卡素材与账号生成/管理分为两个页面。 */
.gift-card-workspace-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}.gift-card-workspace-tabs>button{height:44px;border:1px solid #dbe5f1;border-radius:13px;background:#f8fbff;color:#31548a;font-weight:900;cursor:pointer}.gift-card-workspace-tabs>button.active{border-color:#356be8;background:#356be8;color:#fff;box-shadow:0 8px 18px rgba(53,107,232,.18)}.gift-card-workspace-panel[hidden]{display:none!important}.gift-card-workspace-panel.active{animation:xcx-tab-panel-in var(--xcx-motion) var(--xcx-ease)}.gift-card-workspace-panel .layout-gift-card-management{margin-top:0}.gift-card-workspace-panel .gift-card-settings-card{margin:0;box-shadow:none}

/* 2026-09-17 ui22：账号管理占满礼品卡工作区，表格独立滚动。 */
.layout-dialog-panel[data-layout-panel="materials"].active{height:100%;box-sizing:border-box}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"].active{display:flex;height:calc(100% - 62px);min-height:0}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"]>.layout-gift-card-management{display:flex;min-height:0;flex:1}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-settings-card{display:flex;min-height:0;flex:1;flex-direction:column}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-summary,.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-filterbar,.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-actionbar,.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-pagination{flex:0 0 auto}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-management-table{min-height:240px;max-height:none;flex:1;margin-top:12px}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-pagination{margin-top:10px}

/* 2026-09-17 ui23：账号页紧凑布局并扩大列表可视区。 */
.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-summary{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:10px;margin-bottom:12px}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-filterbar{flex-wrap:nowrap;margin-bottom:0}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-filterbar .search{max-width:none;flex:1 1 320px}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-actionbar{margin-bottom:0}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-management-table{height:clamp(360px,calc(100vh - 500px),640px);min-height:360px;max-height:640px;flex:0 0 auto}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-pagination{padding:0 2px 4px}
@media(max-width:1100px){.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-filterbar{flex-wrap:wrap}.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2026-09-17 ui24：礼品卡账号页按实际视口分配高度，分页始终完整可见。 */
.page#commerce-layout.active{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden}
.page#commerce-layout>.commerce-layout-panel{display:flex;height:auto!important;min-height:0!important;flex:1 1 auto;flex-direction:column;overflow:hidden}
.page#commerce-layout .commerce-layout-workspace{height:auto!important;min-height:0;flex:1 1 auto}
.commerce-layout-inline-editor{display:flex;height:100%;min-height:0;flex-direction:column}
.commerce-layout-inline-editor>.scroll-tabs{flex:0 0 auto}
.commerce-layout-inline-editor>.commerce-layout-editor-body{height:auto!important;min-height:0;flex:1 1 auto;padding-bottom:24px}
.commerce-layout-inline-editor>.commerce-layout-editor-body:has(.layout-dialog-panel[data-layout-panel="materials"].active){overflow:hidden}
.layout-dialog-panel[data-layout-panel="materials"].active{display:flex;height:auto;min-height:0;flex:1 1 auto;flex-direction:column}
.layout-dialog-panel[data-layout-panel="materials"]>.gift-card-workspace-tabs{flex:0 0 auto}
.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"].active{height:auto;min-height:0;flex:1 1 auto}
.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-management-table{height:auto;min-height:0;max-height:none;flex:1 1 auto}
.gift-card-workspace-panel[data-gift-card-workspace-panel="accounts"] .gift-card-pagination{min-height:36px;margin:8px 0 0;padding:0 2px}

/* 2026-09-17 ui25：统一修复页面高度重复计算与底部裁切。 */
@media(min-width:1101px){
  main{display:flex;min-height:0;flex-direction:column}
  main>header{height:68px;min-height:68px;flex:0 0 68px}
  main>.page.active{height:auto!important;min-height:0!important;max-height:none!important;flex:1 1 auto;box-sizing:border-box}

  /* 单面板业务页：工具栏和分页固定，数据区域使用剩余高度。 */
  main>:is(#products,#inbound,#field,#outbound,#members,#documents).page.active{display:flex;flex-direction:column;overflow:hidden}
  main>:is(#products,#inbound,#field,#outbound,#members,#documents).page.active>.panel{height:auto!important;min-height:0!important;flex:1 1 auto}
  main>:is(#products,#field,#members,#documents) .paged-table{min-height:0}
  .page#documents>.documents-panel{height:auto!important;min-height:0!important}

  /* 商城订单：普通订单列表占满剩余空间，评论等独立栏目打开时也完整显示。 */
  #commerce-orders.page.active{display:flex;min-height:0;flex-direction:column;overflow:hidden}
  #commerce-orders>.commerce-orders-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;margin:0;overflow:hidden}
  #commerce-orders>.commerce-orders-panel>.commerce-orders-table{min-height:0;max-height:none;flex:1 1 auto;overflow:auto}
  #commerce-orders:has(>.commerce-tab-panel:not([hidden]))>.commerce-orders-panel{flex:0 0 auto}
  #commerce-orders>.commerce-tab-panel:not([hidden]){display:flex;min-height:0;flex:1 1 auto;flex-direction:column;margin:12px 0 0;overflow:hidden}
  #commerce-orders>.commerce-tab-panel:not([hidden])>.table-wrap{min-height:0;flex:1 1 auto;overflow:auto}

  /* 财务页包含对账和发票申请两个板块，页面滚动，两个板块都不会被首个面板遮住。 */
  #finance.page.active{display:block;overflow:auto}
  #finance>.panel{height:auto!important;min-height:0!important;margin:0 0 14px;display:block}
  #finance>.finance-panel>.paged-table{min-height:0;max-height:420px;overflow:auto}
  #finance>.commerce-invoice-requests-panel>.table-wrap{max-height:360px;overflow:auto}

  /* 设置页中的长表格沿用相同的剩余空间规则。 */
  #settings-section-staff.active{display:flex;min-height:0;flex-direction:column;overflow:hidden}
  #settings-section-staff>.staff-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;margin:0;overflow:hidden}
  #settings-section-staff>.staff-panel>.paged-table{min-height:0;max-height:none;flex:1 1 auto;overflow:auto}
  #settings-section-accounts .settings-card-panel{height:auto!important;min-height:0!important}

  /* 报表和商城布局去除旧版为补空白加入的额外高度。 */
  .page#reports.active{padding-bottom:2px!important}
  .page#reports .report-view-panel .table-wrap{min-height:0!important;max-height:none!important}
  .page#commerce-layout.active{height:auto!important}
}
.pagination,.gift-card-pagination{position:relative;z-index:3;overflow:visible}

/* 2026-09-17 ui26：修复嵌套工作区未参与弹性高度计算的问题。 */
@media(min-width:1101px){
  .page#settings>#settings-section-staff.settings-section.active{display:flex!important;min-height:0;flex-direction:column;overflow:hidden!important}
  .page#settings>#settings-section-staff.settings-section.active>.staff-panel{height:auto!important;min-height:0;flex:1 1 auto}
  .commerce-layout-inline-editor>.commerce-layout-editor-body:has(>.layout-dialog-panel[data-layout-panel="materials"].active){display:flex;min-height:0;flex-direction:column;overflow:hidden}
  .commerce-layout-inline-editor>.commerce-layout-editor-body>.layout-dialog-panel[data-layout-panel="materials"].active{width:100%;height:auto;min-height:0;flex:1 1 auto}
}

/* 2026-09-17 ui27：所有一级页面统一占满主工作区宽度。 */
main>.page.active{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  align-self:stretch!important;
}
main>.page.active>.panel,
main>.page.active>.form-page,
main>.page.active>article{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

/* 2026-09-19 cards32：上架商品规格卡片紧凑排列，状态与价格同排且不被操作按钮遮挡。 */
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:8px;
  align-items:start;
}
@media(max-width:1500px){.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1180px){.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{grid-template-columns:1fr}}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-option{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:auto;
  justify-content:flex-start;
  overflow:hidden;
  padding:8px!important;
}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-select{
  min-height:0;
  flex:0 0 auto;
  justify-content:flex-start;
  gap:4px;
}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-select>input{
  top:8px;
  left:8px;
}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-select .layout-product-thumb{
  width:56px;
  height:56px;
  flex:0 0 56px;
  border-radius:10px;
}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-select>span:nth-of-type(2){
  display:grid;
  gap:2px;
}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-select strong{
  line-height:1.25;
}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-select small{
  min-height:0;
  margin-top:0;
  line-height:1.25;
}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-select>b{
  display:flex;
  min-height:18px;
  align-items:center;
  justify-content:center;
  gap:6px;
  line-height:1;
}
.layout-dialog-panel[data-layout-panel="products"] .product-state{
  flex:0 0 auto;
  line-height:1.35;
}
.layout-dialog-panel[data-layout-panel="products"] .edit-layout-product{
  width:100%;
  min-height:28px;
  margin:5px 0 0;
  padding:4px 7px;
  line-height:18px;
}

/* 2026-09-24：按卡片内商品数量分行；同一行卡片等宽、等高并铺满可用空间。 */
.layout-dialog-panel[data-layout-panel="products"] .layout-product-brand-groups{display:grid;grid-template-columns:1fr;align-items:start;gap:14px;padding:10px}
.layout-product-count-row{display:grid;min-width:0;gap:8px;padding:10px;border:1px solid #e1e8f2;border-radius:13px;background:#f7f9fd}
.layout-product-count-row>header{display:flex;align-items:center;gap:8px;padding:0 2px;color:#315687}
.layout-product-count-row>header strong{font-size:13px}.layout-product-count-row>header span{border-radius:999px;background:#e7efff;padding:3px 8px;color:#58709a;font-size:10px;font-weight:800}
.layout-product-count-grid{display:grid;align-items:stretch;gap:10px}
.layout-product-count-row-1 .layout-product-count-grid{grid-template-columns:repeat(auto-fit,minmax(188px,1fr))}
.layout-product-count-row-2 .layout-product-count-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.layout-product-count-row-3 .layout-product-count-grid{grid-template-columns:repeat(auto-fit,minmax(620px,1fr))}
.layout-product-count-row-4 .layout-product-count-grid{grid-template-columns:repeat(auto-fit,minmax(760px,1fr))}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group{min-width:0;width:100%;max-width:none;box-sizing:border-box;transition:border-color .15s ease,opacity .15s ease,transform .15s ease}
.layout-product-count-row-1 .layout-product-group-head>div{gap:4px;flex-wrap:nowrap}
.layout-product-count-row-1 .layout-product-drag-grip{margin-right:0;font-size:16px}
.layout-product-count-row-1 .layout-product-group-head>div>b{margin-left:auto;font-size:11px;white-space:nowrap}
.layout-product-count-row-1 .manage-product-group{flex:0 0 auto;padding:5px 6px;font-size:10px;white-space:nowrap}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{grid-template-columns:repeat(var(--product-group-columns,1),minmax(0,1fr));justify-content:stretch;min-height:178px}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-head{height:104px;min-height:104px;align-items:flex-start;align-content:space-between;flex-wrap:wrap;box-sizing:border-box;cursor:grab}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-head:active{cursor:grabbing}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-head>label{width:100%}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-head strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-head small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35;white-space:normal}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-group-head>div{width:100%;justify-content:flex-end;flex-wrap:wrap}
.layout-dialog-panel[data-layout-panel="products"] .layout-product-option{height:170px;min-height:170px}
.layout-product-drag-grip{margin-right:auto;color:#8191a9;font-size:18px;line-height:1;cursor:grab}
.layout-product-group.is-dragging{opacity:.42}
.layout-product-group.drag-before{border-left:4px solid #3568d5!important;transform:translateX(3px)}
.layout-product-group.drag-after{border-right:4px solid #3568d5!important;transform:translateX(-3px)}
@media(max-width:1500px){.layout-product-count-row-1 .layout-product-count-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.layout-product-count-row-2 .layout-product-count-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}.layout-product-count-row-3 .layout-product-count-grid{grid-template-columns:repeat(auto-fit,minmax(560px,1fr))}.layout-product-count-row-4 .layout-product-count-grid{grid-template-columns:1fr}}
@media(max-width:1050px){.layout-product-count-row-2 .layout-product-count-grid,.layout-product-count-row-3 .layout-product-count-grid,.layout-product-count-row-4 .layout-product-count-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .layout-dialog-panel[data-layout-panel="products"] .layout-product-brand-groups{grid-template-columns:1fr}
  .layout-product-count-row{padding:8px}.layout-product-count-row-1 .layout-product-count-grid{grid-template-columns:1fr}
  .layout-dialog-panel[data-layout-panel="products"] .layout-product-group-items{grid-template-columns:1fr}
  .layout-dialog-panel[data-layout-panel="products"] .layout-product-group-head{height:auto;min-height:104px}
  .layout-dialog-panel[data-layout-panel="products"] .layout-product-option{height:auto;min-height:170px}
}

/* 素材面板紧凑布局：避免空白撑高，状态卡片只占实际内容高度 */
.commerce-layout-editor-dialog .commerce-media-panel{min-height:0!important}
.commerce-media-panel.active{height:auto!important}
.splash-image-preview{width:min(100%,420px)!important;min-height:74px!important;height:auto!important;display:flex!important;align-items:center;justify-content:space-between;padding:12px 14px;box-sizing:border-box}
.splash-image-preview>img{width:72px!important;height:48px!important;object-fit:cover;border-radius:8px}
.splash-image-preview>div:not(.layout-empty){width:auto!important;padding:0!important;display:flex!important;align-items:center;gap:10px;flex-wrap:wrap}
.managed-cloud-library{margin-top:14px}

/* 商品素材选择器紧凑卡片布局 */
.product-media-field{padding:14px 16px;border:1px solid #e1e8f2;border-radius:14px;background:#fbfcff}
.product-media-field>label{color:#2f405b;font-weight:800}
.product-media-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,112px));gap:10px;min-height:72px;padding:10px;border:1px dashed #cdd9eb;border-radius:10px;background:#f7faff}
.product-media-thumb{position:relative;margin:0;overflow:hidden;border:1px solid #dbe4f1;border-radius:10px;background:#fff}
.product-media-thumb img{display:block;width:100%;height:82px;object-fit:cover}
.product-media-thumb figcaption{padding:5px 4px;text-align:center;color:#52647f;font-size:11px}
.product-media-thumb .remove-product-media{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:#26344bcc;color:#fff;cursor:pointer}
.product-media-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.product-media-actions .product-media-hint{color:#71819a;font-size:12px}
.media-upload-actions-row{display:flex;align-items:center;justify-content:flex-end;min-height:40px;margin-bottom:10px}
.media-upload-actions-row>div{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}

/* 商品主图文件夹直接显示在状态栏，素材筛选框缩短。 */
[data-commerce-media-panel="product-main"] .asset-library-header-row,[data-commerce-media-panel="product-detail"] .asset-library-header-row{gap:8px;align-items:center;flex-wrap:wrap;white-space:normal}
[data-commerce-media-panel="product-main"] .asset-library-header-row #asset-library-usage{flex:0 0 16%;width:16%;min-width:120px}
[data-commerce-media-panel="product-main"] .asset-library-header-row #batch-move-product-media,[data-commerce-media-panel="product-detail"] .asset-library-header-row #batch-move-detail-media{border-color:#b9cbea;background:#f5f8ff;color:#315ea9}
.asset-folder-statusbar{display:flex;min-width:220px;max-width:42%;flex:1 1 320px;align-items:center;gap:6px;overflow-x:auto;padding:3px;border:1px solid #dbe4f1;border-radius:10px;background:#f6f9fd;scrollbar-width:thin}
.product-main-folder-tab,.product-detail-folder-tab{flex:0 0 auto;height:32px;border:1px solid transparent;border-radius:8px;padding:0 11px;background:transparent;color:#53657d;cursor:pointer;font:inherit;font-size:12px;font-weight:800;white-space:nowrap}
.product-main-folder-tab span,.product-detail-folder-tab span{margin-left:3px;color:#8290a4;font-size:11px}
.product-main-folder-tab:hover,.product-detail-folder-tab:hover{border-color:#bdd0ed;background:#fff;color:#315fae}
.product-main-folder-tab.active,.product-detail-folder-tab.active{border-color:#3568e8;background:#3568e8;color:#fff;box-shadow:0 4px 10px rgba(53,104,232,.18)}
.product-main-folder-tab.active span,.product-detail-folder-tab.active span{color:#dce7ff}
.asset-folder-tab-wrap{display:inline-flex;flex:0 0 auto;align-items:center;border-radius:8px;background:transparent}
.asset-folder-tab-wrap>.product-main-folder-tab,.asset-folder-tab-wrap>.product-detail-folder-tab{border-radius:8px 0 0 8px;padding-right:8px}
.asset-folder-menu-toggle{width:27px;height:32px;padding:0;border:1px solid transparent;border-left:0;border-radius:0 8px 8px 0;background:transparent;color:#60718a;font-size:15px;font-weight:800;cursor:pointer}
.asset-folder-tab-wrap:has(.active) .asset-folder-menu-toggle{border-color:#3568e8;background:#3568e8;color:#fff}
.asset-folder-menu{position:fixed;inset:auto;width:132px;margin:0;padding:5px;border:1px solid #dce5f2;border-radius:9px;background:#fff;box-shadow:0 10px 26px rgba(28,45,73,.18)}
.asset-folder-menu::backdrop{background:transparent}
.asset-folder-menu button{display:block;width:100%;padding:8px 10px;border:0;border-radius:6px;background:#fff;color:#344761;font-size:12px;text-align:left;cursor:pointer}
.asset-folder-menu button:hover{background:#f3f6fb}
.asset-folder-menu button.danger{color:#c43d3d}

/* 分页位于素材列表最后一行的右下角，不再挤进第一张素材卡片。 */
.product-media-library>.material-library-pagination{grid-column:1/-1;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%;padding:6px 0 0;color:var(--muted);font-size:12px}
.material-library-pagination>div{display:flex;gap:8px}
.material-library-pagination>small{margin-right:auto}

/* 素材页按实际内容收起，去除卡片列表下方被遮挡的空白区域。 */
.commerce-layout-inline-editor>.commerce-layout-editor-body:has(>.layout-dialog-panel[data-layout-panel="media"].active){height:auto!important;min-height:0;flex:0 1 auto;overflow:auto}
.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active{min-height:0!important}

/* 商品主图列表由页面内容区统一滚动，避免底部空白层遮住素材卡片。 */
[data-commerce-media-panel="product-main"]{overflow:visible!important}
[data-commerce-media-panel="product-main"] #product-media-library{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding:2px 2px 0;align-items:start;align-content:start}
[data-commerce-media-panel="product-main"] #product-media-library>.product-media-item{align-self:start}
[data-commerce-media-panel="product-main"] #product-media-library>.material-library-pagination{margin-bottom:0;padding-bottom:0}
@media(max-width:900px){.asset-folder-statusbar{max-width:100%;flex-basis:100%}[data-commerce-media-panel="product-main"] .asset-library-header-row #asset-library-usage{width:150px;flex-basis:150px}}

/* 2026-09-21 media40：五个商城素材页统一为左图右信息，上传入口固定在右下角。 */
.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel{position:relative}
.layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important;gap:12px;justify-content:stretch}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item{display:grid!important;width:auto!important;min-width:0;min-height:180px;grid-template-columns:160px minmax(0,1fr);align-items:stretch}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{width:160px!important;height:100%!important;min-height:180px;align-self:stretch;aspect-ratio:auto!important;object-fit:cover}
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item>img{object-fit:contain}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>div{min-width:0;align-content:start;padding:12px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>div>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item button{min-width:0;padding:7px 5px;white-space:nowrap}
.layout-dialog-panel[data-layout-panel="media"] .asset-select{top:8px;left:8px}

.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-upload-actions-row,
.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-floating-upload{position:fixed;right:28px;bottom:24px;z-index:30;display:flex;width:auto;min-height:0;align-items:center;justify-content:flex-end;gap:9px;margin:0;padding:9px;border:1px solid rgba(190,205,228,.9);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(28,50,88,.2);backdrop-filter:blur(10px)}
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row>div{display:flex;align-items:center;gap:9px;flex-direction:row}
.layout-dialog-panel[data-layout-panel="media"] .media-floating-upload>button,
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row button,
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row label{min-width:132px;height:42px;margin:0}
.layout-dialog-panel[data-layout-panel="media"] .media-floating-upload>span,
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row span{max-width:220px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.layout-dialog-panel[data-layout-panel="media"] .media-floating-upload>span:empty{display:none}

[data-commerce-media-panel="product-main"] .product-main-statusbar,[data-commerce-media-panel="product-detail"] .product-detail-statusbar{display:flex!important;flex-wrap:nowrap!important;align-items:center;overflow-x:auto;overflow-y:hidden;padding:2px 0 5px;white-space:nowrap;scrollbar-width:thin}
[data-commerce-media-panel="product-main"] .asset-folder-statusbar,[data-commerce-media-panel="product-detail"] .asset-folder-statusbar{min-width:260px;max-width:none;flex:1 1 auto;flex-wrap:nowrap}
[data-commerce-media-panel="product-main"] .product-main-statusbar>button,[data-commerce-media-panel="product-detail"] .product-detail-statusbar>button{flex:0 0 auto}
@media(max-width:760px){
  .layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:1fr!important}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item{grid-template-columns:126px minmax(0,1fr)}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{width:126px!important;min-height:164px}
  .layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-upload-actions-row,
  .layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-floating-upload{right:14px;bottom:14px;max-width:calc(100vw - 28px)}
}

/* media41：素材卡片使用固定紧凑宽度，避免右侧信息区被无限拉伸。 */
.layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:repeat(auto-fill,340px)!important;grid-auto-rows:max-content;justify-content:start!important;align-items:start}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item{width:340px!important;min-height:158px;box-sizing:border-box;grid-template-columns:144px minmax(0,1fr)}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{width:144px!important;min-height:158px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>div{display:flex;min-height:158px;box-sizing:border-box;flex-direction:column;justify-content:center;gap:5px;padding:10px 11px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>div>div{margin-top:3px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item strong{font-size:12px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item small{font-size:10px}
@media(max-width:760px){
  .layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:1fr!important}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item{width:100%!important;grid-template-columns:128px minmax(0,1fr)}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{width:128px!important}
}

/* media42：素材卡片拖拽排序；信息区与操作按钮同步收紧。 */
.layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:repeat(auto-fill,276px)!important;gap:10px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item{width:276px!important;min-height:150px;grid-template-columns:144px 130px;cursor:grab;user-select:none;transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item:active{cursor:grabbing}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{min-height:150px;-webkit-user-drag:none;pointer-events:none}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>div{min-height:150px;gap:4px;padding:8px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>div>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item button{padding:6px 3px;font-size:10px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item strong,
.layout-dialog-panel[data-layout-panel="media"] .product-media-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item.is-dragging{opacity:.38;transform:scale(.98)}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item.drag-before{border-color:#3568e8;box-shadow:-5px 0 0 #3568e8,0 8px 22px rgba(37,82,170,.16)}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item.drag-after{border-color:#3568e8;box-shadow:5px 0 0 #3568e8,0 8px 22px rgba(37,82,170,.16)}
@media(max-width:760px){
  .layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:1fr!important}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item{width:100%!important;grid-template-columns:116px minmax(0,1fr)}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{width:116px!important}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item.drag-before{box-shadow:0 -5px 0 #3568e8,0 8px 22px rgba(37,82,170,.16)}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item.drag-after{box-shadow:0 5px 0 #3568e8,0 8px 22px rgba(37,82,170,.16)}
}

/* media43：主图区域使用六列紧凑卡片，充分利用右侧空间。 */
.layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:repeat(auto-fill,264px)!important}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item{width:264px!important;grid-template-columns:136px 126px}
.layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{width:136px!important}
@media(max-width:760px){
  .layout-dialog-panel[data-layout-panel="media"] .product-media-library{grid-template-columns:1fr!important}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item{width:100%!important;grid-template-columns:116px minmax(0,1fr)}
  .layout-dialog-panel[data-layout-panel="media"] .product-media-item>img{width:116px!important}
}

/* detail-vertical52：商品详情长图使用上图下信息布局，便于查看纵向素材的完整内容。 */
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-library{
  grid-template-columns:repeat(auto-fill,240px)!important;
  gap:12px;
}
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item{
  display:flex!important;
  width:240px!important;
  min-height:0;
  flex-direction:column;
  align-self:start;
}
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item>img{
  display:block;
  width:100%!important;
  height:320px!important;
  min-height:320px;
  align-self:auto;
  object-fit:contain;
  background:#f4f7fb;
}
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item>div{
  display:flex;
  min-height:0;
  flex-direction:column;
  justify-content:flex-start;
  gap:5px;
  padding:10px;
  border-top:1px solid #e4eaf2;
}
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item>div>div{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px;
  margin-top:4px;
}
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item.drag-before{
  box-shadow:0 -5px 0 #3568e8,0 8px 22px rgba(37,82,170,.16);
}
.layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item.drag-after{
  box-shadow:0 5px 0 #3568e8,0 8px 22px rgba(37,82,170,.16);
}
@media(max-width:760px){
  .layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-library{
    grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
  }
  .layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item{
    width:100%!important;
  }
  .layout-dialog-panel[data-layout-panel="media"] [data-commerce-media-panel="product-detail"] .product-media-item>img{
    height:280px!important;
    min-height:280px;
  }
}

/* upload-progress53：真实上传进度位于上传按钮上方；按钮保持普通、静态样式。 */
.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-upload-actions-row,
.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-floating-upload{
  flex-direction:column!important;
  align-items:stretch!important;
}
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row>div{
  display:flex;
  min-width:180px;
  align-items:stretch!important;
  flex-direction:column!important;
  gap:7px!important;
}
.media-upload-progress{
  display:grid;
  min-width:180px;
  gap:4px;
}
.media-upload-progress:not(:has(progress:not([hidden]))):has(.upload-progress-text:empty){display:none}
.media-upload-progress progress{
  display:block;
  width:100%;
  height:7px;
  margin:0;
  accent-color:#3568e8;
}
.media-upload-progress progress[hidden]{display:none}
.upload-progress-text{
  min-height:16px;
  color:#3568d5;
  font-size:11px;
  font-weight:700;
  line-height:16px;
  text-align:center;
  white-space:nowrap;
}
.layout-dialog-panel[data-layout-panel="media"] .media-floating-upload>button,
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row button,
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row label{
  width:100%;
}

button,
[role="button"],
.splash-upload-label{
  animation:none!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  box-shadow:none!important;
}
button:hover,
button:active,
[role="button"]:hover,
[role="button"]:active,
.splash-upload-label:hover,
.splash-upload-label:active{
  filter:none!important;
  transform:none!important;
  box-shadow:none!important;
}

@keyframes page-switch-natural{
  from{opacity:0}
  to{opacity:1}
}
main>.page.active,
.layout-dialog-panel.active,
.commerce-media-panel.active,
.commerce-tab-panel:not([hidden]),
.report-view-panel:not([hidden]),
.page#settings>.settings-section.active,
.segment-panel.active{
  animation:page-switch-natural 180ms cubic-bezier(.2,.7,.2,1) both;
}
@media(prefers-reduced-motion:reduce){
  main>.page.active,
  .layout-dialog-panel.active,
  .commerce-media-panel.active,
  .commerce-tab-panel:not([hidden]),
  .report-view-panel:not([hidden]),
  .page#settings>.settings-section.active,
  .segment-panel.active{animation:none}
}

/* upload-static55：上传入口贴紧视口右下角，所有按钮不再保留悬浮填充层。 */
.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-upload-actions-row,
.layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-floating-upload{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  z-index:100!important;
  width:180px!important;
  min-width:180px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row>div{
  width:180px!important;
  min-width:180px!important;
}
.layout-dialog-panel[data-layout-panel="media"] .media-floating-upload>button,
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row button,
.layout-dialog-panel[data-layout-panel="media"] .media-upload-actions-row label{
  width:180px!important;
  min-width:180px!important;
  height:42px!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.layout-dialog-panel[data-layout-panel="media"] .media-upload-trigger::before{
  content:none!important;
  display:none!important;
}
.layout-dialog-panel[data-layout-panel="media"] .media-upload-trigger::after{
  transform:none!important;
  transition:none!important;
}
@media(max-width:760px){
  .layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-upload-actions-row,
  .layout-dialog-panel[data-layout-panel="media"] .commerce-media-panel.active>.media-floating-upload{
    right:14px!important;
    bottom:14px!important;
  }
}
.finance-products{min-width:150px}.finance-products summary{cursor:pointer;color:#2563eb;font-weight:700}.finance-product-line{display:grid;gap:2px;padding:7px 0;border-bottom:1px solid #edf1f7}.finance-product-line:last-child{border-bottom:0}.finance-product-line small{color:#6b7890}.finance-note-input:disabled{background:#f5f7fa;color:#8a94a6}.finance-summary{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
/* 2026-09-24 governance44: 售后闭环、提成结算与监控 */
.finance-commission-panel{margin-top:18px}.finance-commission-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer}.finance-commission-panel>summary::-webkit-details-marker{display:none}.finance-commission-panel>summary span{display:grid;gap:4px}.finance-commission-panel>summary small{color:#78869b;font-size:12px}.finance-commission-panel[open]>summary{padding-bottom:14px}.finance-commission-panel table{min-width:920px}.after-sales-overdue{background:#fff8f7}.danger-text{color:#d9473f!important;font-weight:800}.commerce-after-sales-panel table{min-width:1180px}.commerce-after-sales-panel th:nth-child(4){min-width:260px}.commerce-after-sales-panel th:nth-child(5){min-width:150px}.commerce-after-sales-panel th:nth-child(6){min-width:220px}.after-sales-next-step{max-width:170px;white-space:normal;line-height:1.5}.after-sales-history{margin-top:8px}.after-sales-history summary{display:inline-flex!important;padding:0!important;color:#3568e8;font-size:12px;font-weight:800}.after-sales-history small{display:block;margin-top:5px;color:#718096;line-height:1.4}.commerce-after-sales-panel .commerce-row-actions{align-items:center;flex-wrap:wrap}.audit-filterbar{grid-template-columns:minmax(180px,1fr) 150px 140px 140px auto auto}
.commerce-invoice-state.none{background:#f0f2f5;color:#6f7887}.commerce-invoice-state.pending{background:#fff4df;color:#a96808}.commerce-invoice-state.rejected{background:#ffeaeb;color:#c14245}

.operations-notification-card{margin-bottom:14px}
.operations-notification-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.operations-notification-list article{min-width:0;padding:12px 14px;border:1px solid #dce5f2;border-radius:12px;background:#f8fafc}
.operations-notification-list article.unread{border-color:#a8c6ff;background:#f1f6ff;box-shadow:inset 3px 0 0 #2f6fec}
.operations-notification-list article>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.operations-notification-list article strong{display:block;margin-top:8px;color:#17233c}
.operations-notification-list article p{margin:5px 0 0;color:#66748b;font-size:13px;line-height:1.55}
.finance-locked{color:#ad6800!important;font-weight:600}
.backup-offsite{display:grid;grid-template-columns:minmax(230px,1fr) minmax(280px,1.4fr);align-items:center;gap:10px 14px;margin-top:12px;padding:14px;border:1px solid #dce5f2;border-radius:12px;background:#f8fafc}.backup-offsite label{display:flex;align-items:center;gap:8px;font-weight:700}.backup-offsite input[type="text"],.backup-offsite>input{width:100%}.backup-offsite>span{color:#66748b;font-size:13px}.backup-offsite>div{display:flex;justify-content:flex-end;gap:8px}.audit-filterbar{grid-template-columns:minmax(170px,1fr) minmax(210px,1.2fr) 140px 140px 140px auto auto}@media(max-width:900px){.backup-offsite{grid-template-columns:1fr}.backup-offsite>div{justify-content:flex-start}.audit-filterbar{grid-template-columns:1fr 1fr}}
/* 出库商品候选使用视口浮层，避免被右侧滚动区裁掉。 */
.outbound-product-menu-portal{position:fixed;right:auto;z-index:1200;overflow-y:auto}
.product-picker-empty{padding:14px 12px;color:#8b95a5;background:#fff;font-size:12px;text-align:center}
