*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  color-scheme: light;
  --blue: #2b69ff;
  --blue-active: #4386f4;
  --bg: #f0f2f5;
  --menu: #2f2f2f;
  --menu-item: #555;
  --panel: #fff;
  --line: #e4e7ed;
  --line-soft: #ebeef5;
  --text: #303133;
  --text-soft: #495060;
  --muted: #909399;
  --green: #19be6b;
  --red: #ed4014;
  --amber: #ff9900;
  --premium-font: "Inter", "SF Pro Display", "SF Pro Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
  --premium-radius: 8px;
  --premium-control-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  --ops-bg: #eef2f7;
  --ops-bg-soft: #f7f9fc;
  --ops-shell: #0f1f33;
  --ops-shell-2: #17314d;
  --ops-panel: #ffffff;
  --ops-panel-soft: #f8fafc;
  --ops-border: #dfe7f1;
  --ops-border-strong: #cfd9e7;
  --ops-text: #1f2a3a;
  --ops-muted: #6b778a;
  --ops-accent: #a3242e;
  --ops-accent-deep: #7f1d25;
  --ops-accent-soft: #fff1f2;
  --ops-gold: #b98b3d;
  --ops-blue: #173a5e;
  --premium-blue: var(--ops-blue);
  --premium-blue-soft: #edf4fb;
  --premium-bg: var(--ops-bg);
  --premium-surface: var(--ops-panel);
  --premium-surface-soft: var(--ops-panel-soft);
  --premium-border: var(--ops-border);
  --premium-border-strong: var(--ops-border-strong);
  --premium-text: var(--ops-text);
  --premium-muted: var(--ops-muted);
  --premium-row-hover: #f5f8fc;
  --premium-table-head: #f3f6fa;
  --premium-shadow: 0 18px 48px rgba(15, 31, 51, .08);
  --premium-shadow-soft: 0 5px 18px rgba(15, 31, 51, .06);
  --figma-v2-ink: #101b2e;
  --figma-v2-ink-2: #12313c;
  --figma-v2-rice: #f5f6f8;
  --figma-v2-rice-2: #fafbfc;
  --figma-v2-panel: #ffffff;
  --figma-v2-line: #e4e7ec;
  --figma-v2-line-strong: #cfd5df;
  --figma-v2-accent: #8f1d2a;
  --figma-v2-accent-deep: #72111b;
  --figma-v2-accent-soft: #fff4f2;
  --figma-v2-gold: #b88a45;
  --figma-v2-muted: #667085;
  --figma-v2-text: #172033;
  --figma-v2-shadow: 0 2px 8px rgba(16, 27, 46, .035);
  --figma-v2-shadow-soft: 0 1px 4px rgba(16, 27, 46, .025);
  --figma-v2-radius: 12px;
  --figma-v2-radius-sm: 9px;
  --figma-v2-topbar-height: 58px;
  --figma-v2-table-head: #f6f7f9;
  --figma-v2-table-row: #ffffff;
}

html,
body,
#app {
  height: 100%;
}

body {
  margin: 0;
  min-width: 1200px;
  color: var(--text);
  background: var(--bg);
  font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  height: 32px;
  min-width: 68px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  background: #fff;
  color: #606266;
  padding: 0 14px;
  cursor: pointer;
  white-space: nowrap;
}

button:hover {
  color: #409eff;
  border-color: #c6e2ff;
  background: #ecf5ff;
}

button.primary {
  color: #fff;
  border-color: #409eff;
  background: #409eff;
}

button.primary:hover {
  color: #fff;
  border-color: #66b1ff;
  background: #66b1ff;
}

button.danger {
  color: #fff;
  border-color: var(--red);
  background: var(--red);
}

button.danger:hover {
  color: #fff;
  border-color: #f16643;
  background: #f16643;
}

button:disabled {
  cursor: wait;
  opacity: .58;
}

input,
select,
textarea {
  height: 32px;
  min-width: 180px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  background: #fff;
  color: #606266;
  padding: 0 10px;
  outline: none;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #409eff;
}

textarea {
  height: auto;
  min-height: 68px;
  padding: 8px 10px;
  resize: vertical;
  line-height: 1.5;
}

table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  table-layout: auto;
}

th,
td {
  height: 42px;
  border-bottom: 1px solid var(--line-soft);
  padding: 8px 10px;
  color: #606266;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
}

th {
  color: #909399;
  background: #fafafa;
  font-weight: 600;
}

tbody tr:hover td {
  background: #f5f7fa;
}

tr.active td {
  color: #2c68ff;
  background: rgba(44, 104, 255, .06);
}

.next-admin {
  min-height: 100%;
  background: var(--bg);
}

.app-wrapper {
  position: relative;
  width: 100%;
  min-height: 100vh;
}

.nav button {
  width: 100%;
  height: 34px;
  display: block;
  min-width: 0;
  margin-bottom: 15px;
  border: 0;
  border-radius: 3px;
  color: #bbb;
  background: var(--menu-item);
  padding: 0 10px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
}

.nav button:hover,
.nav button.active {
  color: #fff !important;
  background: var(--blue-active) !important;
}

.menu-main-container {
  position: relative;
  min-height: 100vh;
  margin-left: 0;
  background: var(--bg);
}

.Topbar {
  position: fixed;
  z-index: 9;
  top: 0;
  right: 0;
  left: 0;
  height: 55px;
  line-height: 55px;
  overflow: hidden;
  background: var(--blue);
  box-shadow: 0 2px 4px rgba(0, 0, 0, .22);
  color: #fff;
  padding: 0 20px;
}

.fx-flexbox {
  display: flex;
  align-items: center;
}

.topbar-left {
  float: left;
  max-width: calc(100% - 170px);
  height: 55px;
  gap: 10px;
}

.logo-subtitle {
  font-size: 15px;
  font-weight: 600;
}

.topbar-divider {
  width: 1px;
  height: 16px;
  background: #a8c1fc;
}

.topbar-title {
  font-size: 14px;
  font-weight: 600;
}

.topbar-subtitle {
  max-width: 560px;
  overflow: hidden;
  color: #eaf0ff;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.right-box {
  float: right;
  height: 55px;
  display: flex;
  align-items: center;
}

.topbar-refresh,
.topbar-logout {
  height: 30px;
  min-width: 64px;
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
  background: rgba(255, 255, 255, .12);
}

.topbar-refresh:hover,
.topbar-logout:hover {
  color: #fff;
  border-color: #fff;
  background: rgba(255, 255, 255, .2);
}

.topbar-logout {
  margin-left: 12px;
}

.admin-login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 72px;
  padding: 56px;
  background:
    linear-gradient(135deg, rgba(43, 105, 255, .96), rgba(25, 190, 107, .88)),
    #2b69ff;
}

.admin-login-brand {
  width: 380px;
  flex-shrink: 0;
  color: #fff;
}

.admin-login-brand strong {
  display: block;
  margin-bottom: 24px;
  font-size: 44px;
  line-height: 1.2;
  letter-spacing: .02em;
}

/* MALL-544 / MALL-925:「果臻妙」与「礼券兑换系统」分两行,系统名整行不折 */
.admin-login-brand .admin-login-system {
  display: block;
  margin-top: 10px;
  color: #fff;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}

.admin-login-brand .product-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, .86);
  font-size: 16px;
  line-height: 1.5;
}

.admin-login-card {
  width: 430px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(8, 28, 72, .22);
}

.admin-login-page { position:relative; background-size:cover; background-position:center; }
.admin-staff-logo { width:196px; max-height:96px; object-fit:contain; object-position:left center; margin-bottom:16px; }
.admin-staff-copyright { position:absolute; bottom:20px; left:20px; right:20px; color:#fff; text-align:center; font-size:14px; }
.admin-staff-copyright a { color:inherit; }
.mall-staff-image-field { display:flex; align-items:center; gap:12px; }
.mall-staff-image-field input { flex:1; min-width:0; }
.mall-staff-image-preview { display:block; max-width:196px; max-height:110px; object-fit:contain; margin-top:8px; }

.admin-login-card h1 {
  margin: 0;
  color: #1f2d3d;
  font-size: 24px;
  line-height: 1.3;
}

.admin-login-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 4px;
  border-radius: 6px;
  background: #f3f6fb;
}

.admin-login-tabs button {
  min-width: 0;
  height: 36px;
  border: 0;
  background: transparent;
}

.admin-login-tabs button.active {
  color: #fff;
  background: var(--blue);
}

.admin-login-card label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #475467;
  font-weight: 600;
}

.admin-login-card input {
  width: 100%;
  height: 42px;
  min-width: 0;
  font-weight: 400;
}

.admin-login-code-row {
  display: grid;
  grid-template-columns: 1fr 118px;
  gap: 10px;
}

.admin-login-code-row button {
  height: 42px;
  min-width: 0;
}

.admin-login-code-row button:disabled {
  cursor: not-allowed;
}

.admin-login-submit {
  width: 100%;
  height: 44px;
  margin-top: 4px;
  font-weight: 700;
}

.admin-login-message {
  padding: 10px 12px;
  border-radius: 6px;
  line-height: 1.5;
}

.admin-login-message.ok {
  color: #137333;
  background: #e9f7ef;
}

.admin-login-message.error {
  color: #b42318;
  background: #fff1f0;
}

.main,
.app-main {
  min-width: 0;
}

.app-main {
  width: 100%;
  min-height: 100vh;
  position: relative;
  overflow: visible;
  padding: 75px 20px 80px;
}

.container,
.view-region {
  width: 100%;
  padding: 20px 20px 80px;
}

.topbar,
.topbar_box {
  height: 50px;
  line-height: 50px;
  background: #fff;
  box-shadow: 6px 0 6px rgba(0, 0, 0, .1);
  padding: 0 20px;
}

.crumb {
  display: none;
}

.topbar h1,
.topbar p {
  margin: 0;
}

.panel,
.container-box {
  position: relative;
  margin: 0 0 20px;
  background: var(--panel);
  border: 0;
  border-radius: 0;
  box-shadow: 0 2px 4px hsla(0, 0%, 78%, .3);
  padding: 20px;
}

.panel-head {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 18px;
  border-bottom: 0;
}

.panel h2,
.box-title {
  margin: 0;
  color: #1c2438;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
}

.hint {
  color: #909399;
  font-size: 12px;
}

.toolbar,
.filter-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.toolbar input[type="search"] {
  width: 240px;
}

.compact-toolbar {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  background: transparent;
}

.panel > .hint,
.panel > .form-grid,
.panel > .toolbar,
.panel > .sub-head,
.panel > .table-wrap,
.panel > div:not(.panel-head):not(.table-wrap):not(.form-grid):not(.toolbar):not(.sub-head) {
  margin: 0 0 16px;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(190px, 1fr));
  gap: 24px;
  margin-bottom: 24px;
}

.metric {
  min-height: 112px;
  display: grid;
  align-content: center;
  background: #fff;
  box-shadow: 0 2px 8px hsla(0, 0%, 78%, .24);
  padding: 22px 28px;
}

.metric span {
  display: block;
  color: #606266;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
}

.metric strong {
  display: block;
  margin-top: 12px;
  color: #1c2438;
  font-size: 32px;
  line-height: 1.1;
  font-weight: 600;
}

.metrics + .panel {
  padding: 26px 30px;
}

.metrics + .panel .panel-head {
  padding-bottom: 22px;
}

.metrics + .panel h2 {
  font-size: 16px;
  font-weight: 500;
}

.metrics + .panel .hint {
  font-size: 13px;
  font-weight: 400;
}

.metrics + .panel .toolbar {
  gap: 12px;
}

.metrics + .panel .toolbar button {
  height: 38px;
  min-width: 96px;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 400;
}

.split,
.wide-split,
.settings-split {
  display: block;
}

.split > .panel,
.wide-split > .panel,
.settings-split > .panel {
  margin-bottom: 20px;
}

.wide-split > .panel:first-child .table-wrap {
  max-height: 330px;
  overflow: auto;
}

.wide-split > .panel:first-child table {
  min-width: 820px;
}

.batch-detail-stack {
  min-width: 0;
  max-width: 100%;
  display: grid;
  gap: 16px;
}

.batch-detail-stack > .panel {
  min-width: 0;
  max-width: 100%;
}

.card-rule-panel {
  padding-bottom: 18px;
}

.batch-rule-grid {
  display: grid;
  gap: 10px;
}

.rule-section {
  border: 1px solid #e5eaf3;
  border-radius: 6px;
  background: #fff;
  padding: 12px;
}

.rule-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eef2f8;
}

.rule-section-head strong {
  color: #1f2d3d;
  font-size: 15px;
  line-height: 20px;
}

.rule-section-head span {
  max-width: 620px;
  color: #7b8794;
  font-size: 12px;
  line-height: 20px;
  text-align: right;
}

.rule-tab-bar {
  display: flex;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid #e4e7ed;
}

.rule-tab-bar button {
  min-width: 112px;
  height: 36px;
  padding: 0 18px;
  color: #606266;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
}

.rule-tab-bar button.active {
  color: #2f80ed;
  border-bottom-color: #2f80ed;
  font-weight: 600;
}

.rule-tab-panel {
  display: none;
}

.rule-tab-panel.active {
  display: block;
}

.card-rule-panel [data-rule-tab="period"],
.card-rule-panel .rule-period-section {
  display: none !important;
}

.rule-form-row,
.rule-period-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.rule-period-row {
  grid-template-columns: minmax(160px, 220px) repeat(2, minmax(190px, 1fr));
  margin-bottom: 12px;
}

.rule-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  color: #4b5563;
  font-size: 13px;
}

.rule-field > span {
  color: #303133;
  font-weight: 600;
}

.rule-field input,
.rule-field select,
.rule-field textarea {
  width: 100%;
  min-width: 0;
}

.rule-field textarea,
.rule-status-item textarea {
  min-height: 76px;
  resize: vertical;
}

.rule-field em {
  color: #909399;
  font-size: 12px;
  font-style: normal;
  line-height: 18px;
}

.rule-field-wide {
  grid-column: 1 / -1;
}

.rule-switch {
  min-height: 34px;
  margin: 0;
  color: #303133;
}

.rule-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rule-status-item {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid #e8edf5;
  border-radius: 6px;
  background: #fbfcff;
  padding: 12px;
}

.rule-status-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.rule-status-head strong {
  color: #303133;
  font-size: 13px;
}

.rule-status-head span,
.rule-status-action {
  color: #7b8794;
  font-size: 12px;
  line-height: 18px;
}

.rule-status-action {
  padding: 6px 8px;
  border-radius: 4px;
  background: #f2f6fc;
}

.rule-message-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.rule-message-actions button {
  min-width: 0;
  height: 26px;
  padding: 0 10px;
  color: #337ecc;
  border-color: #c6e2ff;
  background: #f5fbff;
}

.rule-message-actions button.primary {
  color: #fff;
  border-color: #409eff;
  background: #409eff;
}

.card-rule-panel .batch-rule-grid textarea {
  min-height: 76px;
}

@media (max-width: 1100px) {
  .rule-form-row,
  .rule-period-row,
  .rule-status-grid {
    grid-template-columns: 1fr;
  }

  .rule-section-head {
    display: block;
  }

  .rule-section-head span {
    display: block;
    max-width: none;
    margin-top: 4px;
    text-align: left;
  }
}

.batch-management-panel {
  padding-bottom: 26px;
}

.card-wall-page {
  min-height: calc(100vh - 150px);
  background: #fff;
  padding: 18px 20px 28px;
}

.card-wall-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
}

.card-wall-toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #606266;
  font-size: 13px;
}

.card-wall-toolbar input {
  width: 230px;
  min-width: 230px;
}

.card-wall-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px 24px;
}

.card-wall-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 22px;
  color: #909399;
  font-size: 13px;
}

.card-wall-pagination button {
  height: 26px;
  min-width: 28px;
  border: 0;
  background: #fff;
  padding: 0 8px;
  font-size: 12px;
}

.card-wall-pagination button.active {
  color: #2b69ff;
  font-weight: 700;
}

.batch-cover-card {
  min-width: 0;
}

.batch-cover-card > button {
  width: 100%;
  height: auto;
  display: block;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: center;
}

.batch-cover-card > button:hover {
  background: transparent;
}

.batch-cover-image {
  position: relative;
  aspect-ratio: 243 / 154;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 7px;
  overflow: hidden;
  border-radius: 4px;
  background: linear-gradient(145deg, #d7192a 0%, #d7192a 56%, #233b87 57%, #233b87 100%);
  background-position: center;
  background-size: cover;
  color: #fff;
  box-shadow: 0 4px 10px rgba(20, 30, 50, .16);
}

.batch-cover-image.has-image,
.card-face-preview-image {
  background-position: center;
  background-size: cover;
}

.batch-cover-image:before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255, 255, 255, .44);
  border-radius: 3px;
}

.batch-cover-image.has-image:before,
.card-face-preview-image:before {
  display: none;
}

.batch-cover-image strong {
  position: relative;
  z-index: 1;
  max-width: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #ffe59a;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
}

.batch-cover-image span,
.batch-cover-image em {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 13px;
  font-style: normal;
}

.batch-cover-image em {
  color: #ffe59a;
  font-size: 20px;
  font-weight: 700;
}

.batch-cover-name {
  margin-top: 12px;
  overflow: hidden;
  color: #303133;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  line-height: 22px;
}

.batch-cover-card:hover .batch-cover-name {
  color: #409eff;
}

.enterprise-card-workspace {
  min-height: calc(100vh - 95px);
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  margin: -20px;
  background: #f5f7fa;
}

.enterprise-card-side {
  border-right: 1px solid #e4e7ed;
  background: #fff;
}

.enterprise-card-brand {
  padding: 18px 16px 14px;
  border-bottom: 1px solid #ebeef5;
}

.enterprise-card-brand strong,
.enterprise-card-brand span {
  display: block;
}

.enterprise-card-brand strong {
  color: #303133;
  font-size: 14px;
}

.enterprise-card-brand span {
  margin-top: 6px;
  overflow: hidden;
  color: #909399;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.enterprise-card-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 12px 14px;
}

.enterprise-card-switch button {
  height: 30px;
  min-width: 0;
  padding: 0;
  font-size: 12px;
}

.enterprise-card-switch button.active {
  color: #fff;
  border-color: #409eff;
  background: #409eff;
}

.enterprise-card-menu {
  display: grid;
  gap: 2px;
  padding: 8px 0;
}

.enterprise-card-menu button {
  width: 100%;
  height: 40px;
  min-width: 0;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #303133;
  text-align: left;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 400;
}

.enterprise-card-menu button.active,
.enterprise-card-menu button:hover {
  border-left-color: #409eff;
  background: #ecf5ff;
  color: #409eff;
}

.enterprise-card-content {
  min-width: 0;
  padding: 20px 24px 34px;
  container: card-config / inline-size;
}

.enterprise-config-panel {
  min-height: 360px;
}

.enterprise-face-layout,
.enterprise-exchange-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.enterprise-card-face-preview {
  width: 260px;
}

.enterprise-face-card {
  display: grid;
  gap: 12px;
  color: #909399;
  text-align: center;
  font-size: 12px;
}

.enterprise-face-card .batch-cover-image {
  width: 260px;
}

.enterprise-face-form {
  color: #606266;
  font-size: 13px;
  line-height: 1.8;
}

.enterprise-face-upload {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.enterprise-goods-selected,
.enterprise-goods-picker {
  display: block;
}

.enterprise-goods-selected.hidden,
.enterprise-goods-picker.hidden,
.enterprise-goods-upgrade-picker.hidden {
  display: none;
}

.enterprise-goods-panel { min-width: 0; overflow-x: auto; }

.enterprise-goods-picker {
  margin-top: 22px;
  border-top: 1px solid #ebeef5;
  padding-top: 18px;
}

.enterprise-goods-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  text-align: left;
}

.enterprise-goods-cell img,
.enterprise-goods-cell > span {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: #f2f6fc;
  color: #909399;
  object-fit: cover;
  font-size: 12px;
}

.enterprise-goods-cell strong,
.enterprise-goods-cell small {
  display: block;
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.enterprise-goods-cell small {
  margin-top: 4px;
  color: #909399;
  font-size: 12px;
}

.batch-goods-deduct-input {
  width: 118px;
  height: 34px;
  border: 1px solid #d7dee8;
  border-radius: 6px;
  padding: 0 10px;
  color: #1f2d3d;
  background: #fff;
  font-size: 14px;
  outline: none;
}

.batch-goods-deduct-input:focus {
  border-color: #a71f35;
  box-shadow: 0 0 0 3px rgba(167, 31, 53, 0.08);
}

.enterprise-decoration-preview,
.enterprise-login-preview {
  min-height: 520px;
}

.enterprise-decoration-layout {
  grid-template-columns: 420px minmax(0, 1fr);
  gap: 48px;
}

.enterprise-login-layout {
  grid-template-columns: minmax(520px, 640px) 320px;
  gap: 72px;
  justify-content: start;
}

.enterprise-decoration-panel,
.enterprise-login-panel {
  min-height: 520px;
}

.enterprise-decoration-panel {
  position: relative;
  min-height: 720px;
  padding: 0 0 72px;
}

.enterprise-login-panel {
  width: 100%;
  box-sizing: border-box;
}

.enterprise-decoration-panel .goods-file-button,
.enterprise-login-panel .goods-file-button {
  width: max-content;
}

.enterprise-login-form.enterprise-login-fields {
  grid-template-columns: 1fr;
  max-width: 560px;
  gap: 18px;
}

.enterprise-login-form > label {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.enterprise-login-form > label > input,
.enterprise-login-form > label > textarea,
.enterprise-login-form > label > .segmented,
.enterprise-login-form > label > .upload-line,
.enterprise-login-form > label > .readonly-line,
.enterprise-login-form > label > .radio-lines {
  min-width: 0;
}

.enterprise-login-form .upload-line {
  grid-template-columns: max-content minmax(0, 1fr);
}

.enterprise-login-form .upload-line span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.enterprise-login-form textarea {
  min-height: 150px;
  resize: vertical;
}

.enterprise-login-protocol-form .enterprise-login-protocol-row {
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: start;
}

.enterprise-login-protocol-form .enterprise-login-protocol-row > span:first-child {
  padding-top: 8px;
}

.enterprise-login-protocol-form .enterprise-login-protocol-content textarea {
  min-height: 168px;
}

.enterprise-login-checkbox-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  color: #606266;
  font-weight: 400;
}

.enterprise-login-protocol-switch {
  align-items: center !important;
}

.enterprise-login-protocol-switch > span:first-child {
  padding-top: 0 !important;
}

.enterprise-login-segmented {
  width: max-content;
}

.enterprise-login-segmented button {
  min-width: 84px;
}

.enterprise-login-form .readonly-line {
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
}

.enterprise-login-form .radio-lines label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
  line-height: 1.6;
}

.enterprise-login-form .radio-lines input {
  width: auto;
  min-width: 0;
  height: auto;
}

.enterprise-login-actions {
  padding-left: 108px;
}

.enterprise-login-save {
  width: 100%;
  max-width: 360px;
}

.enterprise-login-preview {
  justify-content: flex-start;
}

.login-preview-shell {
  position: relative;
  background: #c9252c;
}

.exchange-preview-shell {
  position: relative;
  width: 375px;
  min-height: 748px;
  overflow: hidden;
  background: #fff;
  color: #303133;
}

.exchange-preview-shell .entry-phone-head {
  position: relative;
  z-index: 3;
}

.exchange-preview-shell .entry-phone-media {
  position: relative;
  inset: auto;
  top: auto;
  left: auto;
  right: auto;
  z-index: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.exchange-preview-shell .entry-phone-media.empty {
  display: none;
  height: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.exchange-preview-shell .entry-phone-media.has-media {
  display: block;
  margin-top: 10px;
  overflow: hidden;
  background: #f7f8fa;
}

.exchange-preview-shell .entry-phone-media img,
.exchange-preview-shell .entry-phone-media video {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
}

.exchange-phone-video {
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
}

.exchange-phone-content {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 18px 18px 86px;
  background: inherit;
}

.exchange-preview-shell .entry-phone-media.has-media + .exchange-phone-content {
  margin-top: 12px;
}

.exchange-phone-tip {
  margin: 0 0 18px;
  color: #303133;
  text-align: center;
  font-size: 15px;
  line-height: 1.6;
}

.exchange-phone-products {
  display: grid;
  gap: 14px;
}

.exchange-phone-products.mode-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.exchange-phone-products.mode-list,
.exchange-phone-products.mode-large {
  grid-template-columns: 1fr;
}

.exchange-phone-product {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.exchange-phone-products.mode-list .exchange-phone-product {
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
}

.exchange-phone-product-cover {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #eef1f5 center / cover no-repeat;
}

.exchange-phone-products.mode-list .exchange-phone-product-cover {
  width: 82px;
}

.exchange-phone-products.mode-large .exchange-phone-product-cover {
  aspect-ratio: 1 / 1;
}

.exchange-phone-product-cover.empty::before {
  content: "图";
  display: grid;
  place-items: center;
  height: 100%;
  color: #b0b7c3;
  font-size: 12px;
}

.exchange-phone-product strong {
  min-width: 0;
  color: #303133;
  text-align: center;
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.exchange-phone-action {
  position: absolute;
  left: 64px;
  right: 64px;
  bottom: 28px;
  z-index: 4;
  height: 36px;
  border: 0;
  border-radius: 18px;
  color: #fff;
  background: #2c68ff;
}

.exchange-decoration-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 28px;
  padding: 36px 0 18px;
  border-bottom: 1px solid #edf0f5;
}

.exchange-decoration-title h2 {
  position: relative;
  margin: 0;
  padding-left: 12px;
  color: #303133;
  font-size: 18px;
  font-weight: 600;
}

.exchange-decoration-title h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 3px;
  height: 18px;
  background: #2f80ed;
}

.enterprise-decoration-form {
  display: grid;
  gap: 28px;
  padding-right: 24px;
}

.exchange-decoration-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  color: #606266;
  font-size: 14px;
}

.exchange-decoration-row > span:first-child {
  text-align: right;
}

.exchange-decoration-row.exchange-color-row {
  align-items: start;
  padding: 12px 14px;
  border: 1px solid #e3ebf6;
  border-radius: 8px;
  background: #f8fbff;
}

.exchange-decoration-row.exchange-color-row > span:first-child {
  padding-top: 10px;
}

.exchange-upload-control {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  flex-wrap: wrap;
}

.exchange-upload-control em {
  color: #a8abb2;
  font-style: normal;
}

.exchange-media-thumb {
  position: relative;
  width: 160px;
  height: 90px;
  overflow: hidden;
  background: #f4f6f9;
}

.exchange-media-thumb img,
.exchange-media-thumb video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.exchange-input-wrap {
  position: relative;
  display: grid;
}

.exchange-input-wrap input {
  width: 100%;
  padding-right: 54px;
}

.exchange-input-wrap small {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #a8abb2;
  font-size: 12px;
}

.exchange-color-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.exchange-color-fields label {
  display: grid;
  grid-template-columns: minmax(64px, 1fr) 52px;
  align-items: center;
  min-width: 0;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #dce7f4;
  border-radius: 8px;
  background: #fff;
  color: #344054;
  font-size: 13px;
  white-space: nowrap;
}

.exchange-color-fields input[type="color"] {
  justify-self: end;
  width: 42px;
  min-width: 42px;
  height: 26px;
  padding: 2px;
  border: 1px solid #dcdfe6;
  border-radius: 6px;
  background: #fff;
}

.exchange-style-options {
  display: flex;
  align-items: center;
  gap: 28px;
}

.exchange-style-option {
  width: 102px;
  height: 102px;
  padding: 8px;
  border: 1px solid transparent;
  background: #fff;
}

.exchange-style-option.active {
  border-color: #2f80ed;
}

.exchange-style-icon {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 2px;
  background: #eef2f8;
}

.exchange-style-option.mode-grid .exchange-style-icon {
  background:
    linear-gradient(#dce3ef 0 0) 12px 12px / 30px 30px no-repeat,
    linear-gradient(#dce3ef 0 0) 50px 12px / 30px 30px no-repeat,
    linear-gradient(#dce3ef 0 0) 12px 50px / 30px 30px no-repeat,
    linear-gradient(#dce3ef 0 0) 50px 50px / 30px 30px no-repeat,
    #f8fafc;
}

.exchange-style-option.mode-list .exchange-style-icon {
  background:
    linear-gradient(#dce3ef 0 0) 12px 14px / 30px 30px no-repeat,
    linear-gradient(#edf1f7 0 0) 50px 18px / 34px 8px no-repeat,
    linear-gradient(#edf1f7 0 0) 50px 32px / 26px 8px no-repeat,
    linear-gradient(#dce3ef 0 0) 12px 56px / 30px 30px no-repeat,
    linear-gradient(#edf1f7 0 0) 50px 60px / 34px 8px no-repeat,
    linear-gradient(#edf1f7 0 0) 50px 74px / 26px 8px no-repeat,
    #f8fafc;
}

.exchange-style-option.mode-large .exchange-style-icon {
  background:
    linear-gradient(#dce3ef 0 0) 14px 12px / 64px 62px no-repeat,
    linear-gradient(#edf1f7 0 0) 22px 82px / 26px 6px no-repeat,
    linear-gradient(#edf1f7 0 0) 56px 82px / 18px 6px no-repeat,
    #f8fafc;
}

.exchange-publish-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-top: 1px solid #ebeef5;
}

.exchange-publish-footer .primary {
  min-width: 72px;
}

.login-preview-bg {
  min-height: 678px;
}

.entry-phone-media-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.login-preview-form {
  z-index: 2;
}

.login-preview-form button {
  background: #409eff;
  color: #fff;
}

.login-preview-form > div button {
  background: #fbf7ee;
  color: #303133;
}

.entry-phone-protocol {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 28px;
  z-index: 2;
  color: rgba(255, 255, 255, .94);
  text-align: center;
  font-size: 12px;
  text-decoration: underline;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}

.enterprise-phone-preview {
  display: flex;
  justify-content: center;
}

.readonly-line,
.radio-lines {
  display: grid;
  gap: 8px;
  color: #606266;
  font-size: 13px;
}

.dialog-form-line {
  display: grid;
  gap: 8px;
  color: #606266;
  font-size: 13px;
}

.dialog-form-line input {
  width: 100%;
}

.dialog-form-line textarea {
  width: 100%;
  min-height: 76px;
  resize: vertical;
}

/* MALL-497(老大截图「页面没有对齐」):弹窗里的输入一律撑满(.next-dialog-body input / .dialog-form-line input),
   勾选框也被拉成整行、文字掉到下一行。勾选行改为「框 + 文字」同一行,勾选框保持原生大小。 */
.dialog-checkbox-line {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.next-dialog-body .dialog-checkbox-line input[type="checkbox"] {
  width: auto;
  margin: 0;
}

/* 商城订单发货弹窗:全局表格最小 960px,放进 420px 的弹窗就横向滚动、商品名被截断。
   这里放宽弹窗(写成 .next-dialog.mall-ship-dialog,压过后面才定义的 .next-dialog 宽度;窄屏与其他弹窗同为屏宽 − 20px)、
   表格随弹窗宽度排布,商品名与表头换行显示(窄屏时「本次发货数量」不再被截成「本次…」)。 */
.next-dialog.mall-ship-dialog {
  width: min(560px, calc(100vw - 20px));
}

.mall-ship-dialog .data-table {
  min-width: 0;
  table-layout: fixed;
}

.mall-ship-dialog .data-table th {
  white-space: normal;
}

.mall-ship-dialog .data-table th:first-child,
.mall-ship-dialog .data-table td:first-child {
  width: 56%;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

.entry-create-fields {
  display: grid;
  gap: 14px;
}

.settings-workspace {
  min-height: calc(100vh - 95px);
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  margin: -20px;
  background: #f5f7fa;
}

.settings-subnav {
  border-right: 1px solid var(--line);
  background: #fff;
  padding: 14px 0;
}

.settings-subnav button {
  width: 100%;
  height: 38px;
  display: block;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #303133;
  text-align: left;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 400;
}

.settings-subnav button:hover,
.settings-subnav button.active {
  border-left-color: #409eff;
  background: #ecf5ff;
  color: #409eff;
}

.settings-main {
  min-width: 0;
  padding: 20px;
}

.order-workspace {
  min-height: calc(100vh - 95px);
  display: grid;
  /* MALL-101(2026-08-31):二级菜单双列后 188px 装不下两个四字菜单名,
     文字会被挤断。研究源那条二级栏是 186px 起、双列左对齐。 */
  grid-template-columns: 208px minmax(0, 1fr);
  margin: -20px;
  background: #f0f2f5;
}

.order-subnav {
  background: #fff;
  border-right: 1px solid #e6eaf2;
  padding: 16px 0;
}

.order-subnav button {
  width: 100%;
  height: 40px;
  min-width: 0;
  display: block;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: #fff;
  color: #303133;
  text-align: left;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 400;
}

.order-subnav button:hover,
.order-subnav button.active {
  border-left-color: #409eff;
  background: #ecf5ff;
  color: #409eff;
}

/* MALL-101 第 1 步:侧导航分组(照研究源:有名字的组 + 组内两列)。
   侧栏从 140px 放宽到 188px 才放得下两列。 */
/* MALL-101 第 5 步:列表页行内改售价与库存 + 库存预警标红 */
.mall-gprice,
.mall-gstock {
  width: 88px;
  min-width: 0;
  text-align: right;
  padding: 4px 7px;
  font-size: 13px;
}

.mall-gstock.is-alert,
.mall-gstock-alert {
  color: #a6272e;
  font-weight: 600;
}

.mall-gstock.is-alert {
  border-color: #e0a7ac;
  background: #fdf4f5;
}

.mall-ghint {
  display: block;
  font-size: 11px;
  color: #a8a69e;
  margin-top: 2px;
  white-space: nowrap;
}

/* MALL-101 第 2 步:商品编辑页页签 + 规格卡片 + 底部常驻保存条 */
.mall-gtabs {
  display: flex;
  gap: 2px;
  padding: 0 16px;
  border-bottom: 1px solid #eceae4;
  background: #fff;
  overflow-x: auto;
}

.mall-gtabs .mall-gtab {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #55544e;
  padding: 11px 16px;
  font-size: 13.5px;
  white-space: nowrap;
  min-width: 0;
  width: auto;
  height: auto;
}

.mall-gtabs .mall-gtab.is-active {
  color: #a6272e;
  border-bottom-color: #a6272e;
  font-weight: 600;
}

.mall-sku-cards {
  padding: 0 16px 4px;
}

.mall-sku-card {
  border: 1px solid #eceae4;
  border-radius: 10px;
  margin: 12px 0;
  overflow: hidden;
}

.mall-sku-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 13px;
  background: #faf9f6;
  border-bottom: 1px solid #eceae4;
}

.mall-sku-card-head strong {
  font-size: 13px;
}

.mall-sku-card-head span {
  font-size: 12px;
  color: #83817a;
}

.mall-sku-card-head button,
.mall-sku-card-head em {
  margin-left: auto;
  font-style: normal;
  font-size: 12px;
  color: #83817a;
}

.mall-sku-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
  padding: 13px;
}

.mall-sku-cell {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.mall-sku-cell b {
  font-weight: 600;
  color: #55544e;
  font-size: 12.5px;
}

.mall-sku-cell small {
  color: #a8a69e;
  font-size: 11.5px;
}

.mall-sku-cell input {
  width: 100%;
  min-width: 0;
}

.mall-sku-group {
  grid-column: 1 / -1;
  font-size: 11.5px;
  color: #a8a69e;
  letter-spacing: 0.06em;
  border-top: 1px dashed #eceae4;
  padding-top: 9px;
  margin-top: 2px;
}

.mall-sku-grid > .mall-sku-group:first-child {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

.mall-fcount {
  position: relative;
  display: block;
  max-width: 420px;
}

.mall-fcount > input,
.mall-fcount > textarea {
  width: 100%;
  padding-right: 62px;
}

.mall-fcount-badge {
  position: absolute;
  right: 10px;
  top: 8px;
  font-style: normal;
  font-size: 11.5px;
  color: #a8a69e;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.mall-fcount > textarea + .mall-fcount-badge {
  top: auto;
  bottom: 10px;
}

.mall-fcount-badge.is-full {
  color: #a6272e;
}

/* 保存条常驻:长表单不该滚到底才找得到保存 */
.mall-fsave {
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #faf9f6;
  border-top: 1px solid #eceae4;
}

.mall-fsave-hint {
  font-size: 12px;
  color: #83817a;
}

@media (max-width: 1180px) {
  .mall-sku-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.order-subnav-lead {
  padding-bottom: 10px;
  margin-bottom: 6px;
  border-bottom: 1px solid #eef1f6;
}

.order-subnav-group {
  padding: 0 0 10px;
}

.order-subnav-title {
  display: block;
  padding: 6px 12px 4px;
  font-size: 11.5px;
  color: #96a0b5;
  letter-spacing: 0.04em;
}

.order-subnav-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px 2px;
  padding: 0 6px;
}

/* 分组里的按钮比顶层的紧凑:两列排布下 40px 高 + 16px 内边距会挤 */
.order-subnav-grid button {
  height: 30px;
  padding: 0 7px;
  border-left: 0;
  border-radius: 5px;
  font-size: 12.5px;
  /* 照研究源:双列菜单项**左对齐**。居中在双列下会让两列的字忽左忽右,扫读时对不齐。 */
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.order-subnav-grid button:hover,
.order-subnav-grid button.active {
  border-left-color: transparent;
}

.order-main {
  min-width: 0;
  padding: 20px 20px 80px;
}

.order-main > .panel {
  min-height: 228px;
  box-shadow: none;
}

.order-list-panel {
  padding: 0 12px 18px;
}

.order-list-panel .order-status-tabs {
  margin: 0 0 20px;
  padding-top: 0;
  border-bottom: 0;
}

.order-list-panel .order-status-tabs button {
  height: 42px;
  padding: 0 10px;
}

.order-list-panel .order-status-tabs .tab-count {
  color: #f56c6c;
  font-weight: 500;
}

.order-list-actions {
  margin: 0 0 16px;
}

.order-batch-ship-entry {
  min-width: 92px;
  height: 34px;
}

.order-filter-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  border: 0;
  background: #f7f8fa;
  padding: 26px 28px;
}

.order-filter-panel label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #606266;
  font-size: 13px;
  white-space: nowrap;
}

.order-filter-panel input[type="date"] {
  width: 148px;
  min-width: 148px;
}

.order-appointment-filter,
.order-appointment-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.order-appointment-filter {
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.order-filter-panel input[type="search"] {
  width: 240px;
  min-width: 220px;
}

.order-date-separator {
  height: 32px;
  line-height: 32px;
  color: #909399;
  text-align: center;
}

.order-filter-actions {
  display: flex;
  gap: 8px;
  flex-basis: 100%;
  padding-left: 36px;
}

.mall-order-table {
  min-width: 1260px;
}

.mall-order-table td {
  vertical-align: middle;
}

.mall-order-table td > strong,
.mall-order-table td > small,
.mall-order-product strong,
.mall-order-product small,
.mall-order-recipient strong,
.mall-order-recipient small {
  display: block;
}

.mall-order-table td > small,
.mall-order-product small,
.mall-order-recipient small {
  margin-top: 5px;
  color: #8b93a1;
  font-size: 12px;
  line-height: 1.45;
}

.mall-order-product {
  display: grid;
  grid-template-columns: 54px minmax(180px, 1fr);
  align-items: center;
  gap: 10px;
  max-width: 360px;
}

.mall-order-product-cover {
  width: 54px;
  height: 54px;
  border: 1px solid #e8ebf0;
  border-radius: 6px;
  object-fit: cover;
  background: #f5f7fa;
}

.mall-order-product-cover-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #a8afb9;
  font-size: 12px;
}

.mall-order-recipient {
  max-width: 260px;
}

.order-xty-list {
  overflow-x: auto;
  border: 0;
  background: #fff;
}

.order-xty-list.empty {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #909399;
}

.order-xty-list table {
  min-width: 1610px;
}

.order-xty-list th {
  height: 44px;
  border-bottom: 1px solid #eef1f6;
  background: #fff;
  color: #303133;
  font-weight: 600;
}

.order-xty-list td {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  vertical-align: middle;
  color: #303133;
}

.order-head-row td {
  height: 36px;
  border-top: 0;
  border-bottom: 0;
  background: #eaf2ff;
  padding: 0 12px;
  text-align: left;
}

.order-head-content {
  min-height: 36px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  row-gap: 4px;
  color: #8a96a8;
  font-size: 13px;
  white-space: nowrap;
}

.order-head-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  white-space: nowrap;
}

.order-item-row td {
  min-height: 92px;
  background: #fff;
  border-bottom: 22px solid #fff;
  padding-top: 18px;
  padding-bottom: 18px;
}

.order-goods-cell {
  min-width: 360px;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  text-align: left;
}

.order-goods-cell img,
.order-goods-thumb {
  width: 56px;
  height: 56px;
  border: 1px solid #ebeef5;
  border-radius: 2px;
  background: #f5f7fa;
  object-fit: cover;
}

.order-goods-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #c0c4cc;
  font-size: 12px;
}

.order-goods-cell strong {
  display: block;
  color: #303133;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.order-goods-text {
  min-width: 0;
}

.order-goods-cell em {
  display: block;
  margin-top: 4px;
  color: #909399;
  font-style: normal;
  font-size: 12px;
}

.pickup-order-list { display: grid; gap: 18px; min-width: 0; }
.pickup-order-card { border: 1px solid #e8edf2; background: #fff; color: #424750; font-size: 13px; overflow-wrap: anywhere; }
.pickup-order-header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 12px 18px; background: #f3f4f5; }
.pickup-order-header .order-head-content { min-height: 0; gap: 8px 20px; color: #7e8792; white-space: normal; font-size: 12px; }
.pickup-order-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pickup-order-tags > span, .pickup-order-tags > strong { background: #eaf3ff; color: #3987d7; padding: 3px 7px; border-radius: 3px; font-size: 12px; font-weight: 400; }
.pickup-order-tags > strong { background: #eff8ed; color: #508c3c; }
.pickup-order-body { display: grid; grid-template-columns: minmax(280px, 2.5fr) minmax(150px, 1fr) minmax(120px, 1fr) minmax(210px, 1.1fr); align-items: stretch; }
.pickup-order-products { min-width: 0; }
.pickup-order-product { display: grid; grid-template-columns: 80px minmax(0, 1fr) 60px; gap: 14px; align-items: center; padding: 18px; }
.pickup-order-product + .pickup-order-product { border-top: 1px solid #eef1f5; }
.pickup-order-product .pickup-order-cover { width: 80px; height: 80px; object-fit: cover; border-radius: 2px; background: #f5f6f8; display: grid; place-items: center; color: #9098a1; }
.pickup-order-product strong { display: block; line-height: 1.6; font-weight: 500; }
.pickup-order-product small { display: block; margin-top: 8px; color: #757e87; }
.pickup-order-product small > span { color: #3987d7; background: #eaf3ff; padding: 2px 5px; border-radius: 2px; }
.pickup-order-quantity { text-align: center; }
.pickup-order-fulfillment, .pickup-order-note, .pickup-order-card .order-head-actions { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; padding: 16px; border-left: 1px solid #eef1f5; min-width: 0; text-align: center; white-space: normal; }
.pickup-order-note small { color: #8c96a3; }
.pickup-order-note > span { white-space: pre-wrap; }
.pickup-order-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pickup-order-recipient { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 18px; padding: 10px 18px; background: #f3f4f5; line-height: 1.6; }
.pickup-order-address { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.pickup-order-recipient .pickup-order-pencil { display: inline-flex; vertical-align: middle; align-items: center; justify-content: center; width: 26px; min-width: 26px; height: 26px; margin-left: 8px; padding: 4px; border: 0; background: transparent; color: #3987d7; box-shadow: none; }
.pickup-order-pencil svg { width: 18px; height: 18px; }
@media (max-width: 1200px) {
  .pickup-order-body { grid-template-columns: minmax(220px, 2fr) minmax(130px, 1fr) minmax(130px, 1fr); }
  .pickup-order-card .order-head-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; border-left: 0; border-top: 1px solid #eef1f5; }
  .admin-view-orders .order-filter-panel label { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  .admin-view-orders .order-filter-panel input { min-width: 0; max-width: 100%; }
}
@media (max-width: 760px) {
  .pickup-order-body { grid-template-columns: minmax(0, 1fr); }
  .pickup-order-product { grid-template-columns: 64px minmax(0, 1fr) 40px; gap: 10px; padding: 14px; }
  .pickup-order-product .pickup-order-cover { width: 64px; height: 64px; }
  .pickup-order-fulfillment, .pickup-order-note { border-left: 0; border-top: 1px solid #eef1f5; flex-direction: row; flex-wrap: wrap; padding: 12px; }
  .pickup-order-header, .pickup-order-recipient { padding: 12px 14px; }
  .order-edit-dialog .order-edit-form-grid { grid-template-columns: minmax(0, 1fr); }
  .order-edit-dialog .order-edit-wide { grid-column: 1 / -1; }
}

.order-row-status {
  margin-bottom: 6px;
  color: #606266;
  font-size: 14px;
}

.order-status-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1.5;
}

.order-status-actions .order-row-status {
  margin-bottom: 0;
}

.order-status-actions .order-action-link {
  display: block;
  margin: 0;
}

.order-status-actions .order-inline-btn {
  margin-top: 2px;
}

.order-action-link {
  height: auto;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #409eff;
  padding: 0;
  font-size: 14px;
  line-height: 1.5;
}

.order-action-link:hover {
  color: #66b1ff;
  border: 0;
  background: transparent;
}

.order-inline-btn {
  height: 34px;
  min-width: 76px;
  padding: 0 14px;
  font-size: 14px;
}

.next-dialog.order-ship-dialog {
  width: min(1180px, calc(100vw - 56px));
  min-height: 540px;
}

.next-dialog.order-edit-dialog {
  width: min(920px, calc(100vw - 56px));
}

.next-dialog.order-logistics-dialog {
  width: min(1680px, calc(100vw - 56px));
  min-height: min(920px, calc(100vh - 70px));
  max-height: calc(100vh - 56px);
  display: flex;
  flex-direction: column;
}

.order-ship-dialog .next-dialog-head {
  position: relative;
}

.order-ship-dialog .dialog-close {
  position: absolute;
  top: 10px;
  right: 12px;
  min-width: 24px;
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  color: #a8abb2;
  font-size: 18px;
  line-height: 22px;
}

.order-ship-body {
  display: grid;
  gap: 18px;
  min-height: 420px;
}

.order-ship-table-wrap {
  overflow-x: auto;
  border: 1px solid #ebeef5;
  border-radius: 2px;
  background: #fff;
}

.order-ship-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}

.order-ship-table th,
.order-ship-table td {
  height: 54px;
  border-bottom: 1px solid #ebeef5;
  color: #606266;
  text-align: center;
  vertical-align: middle;
  font-size: 13px;
}

.order-ship-table th:nth-child(2),
.order-ship-table td:nth-child(2) {
  text-align: left;
}

.next-dialog.order-ship-dialog .order-ship-table input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 0;
  padding: 0 !important;
  border: 1px solid #b7c2d0;
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
}

.next-dialog.order-ship-dialog .order-ship-table input[type="checkbox"]:checked {
  border-color: #409eff;
  background: #409eff;
}

.next-dialog.order-ship-dialog .order-ship-table input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
}

.order-ship-table strong {
  display: block;
  color: #303133;
  font-size: 14px;
  line-height: 1.5;
}

.order-ship-table em {
  display: block;
  margin-top: 4px;
  color: #606266;
  font-style: normal;
  line-height: 1.4;
}

.order-ship-table img,
.order-ship-table .order-goods-thumb {
  width: 54px;
  height: 54px;
  object-fit: cover;
}

.order-ship-form-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.2fr) minmax(190px, 0.8fr);
  align-items: center;
  gap: 18px;
  padding: 8px 10px 0;
}

.order-ship-form-row label {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: #606266;
  font-size: 13px;
}

.order-ship-form-row select,
.order-ship-form-row input {
  width: 100%;
  min-width: 0;
  height: 36px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  background: #fff;
  padding: 0 12px;
  color: #303133;
}

.order-ship-address {
  display: inline-block;
  max-width: 620px;
  margin-left: 10px;
  border: 1px solid #ebeef5;
  border-radius: 3px;
  background: #f7f8fa;
  color: #909399;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.55;
}

.order-ship-task {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-left: 10px;
  border: 1px solid #d9ecff;
  border-radius: 4px;
  background: #ecf5ff;
  color: #409eff;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.4;
}

.order-edit-body {
  display: grid;
  gap: 14px;
}

.order-edit-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.order-edit-form-grid label {
  display: grid;
  gap: 6px;
  color: #606266;
  font-size: 13px;
}

.order-edit-form-grid input,
.order-edit-form-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  background: #fff;
  color: #303133;
  padding: 8px 10px;
  font: inherit;
}

.order-edit-form-grid input {
  height: 36px;
}

.order-edit-form-grid textarea {
  resize: vertical;
}

.order-edit-wide {
  grid-column: 1 / -1;
}

.confirm-dialog-message {
  margin: 0;
  color: #303133;
  font-size: 14px;
  line-height: 1.7;
}

.order-logistics-body {
  display: grid;
  gap: 16px;
  flex: 1 1 auto;
  max-height: none;
  overflow: auto;
  padding: 14px 22px 24px;
}

.order-logistics-section {
  display: grid;
  gap: 10px;
}

.order-logistics-product-section {
  gap: 0;
}

.order-logistics-dialog .order-ship-table-wrap {
  border-width: 0 0 1px;
  border-radius: 0;
}

.order-logistics-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.order-logistics-section-head h3 {
  margin: 0;
  color: #303133;
  font-size: 15px;
}

.order-logistics-section-head span {
  color: #909399;
  font-size: 12px;
}

.order-logistics-fields {
  grid-template-columns: minmax(270px, 360px) minmax(360px, 1fr);
  align-items: center;
  gap: 16px 120px;
  padding: 8px 10px 0;
}

.order-logistics-fields label {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: #606266;
  font-size: 13px;
}

.order-logistics-fields select,
.order-logistics-fields input {
  height: 36px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  background: #fff;
  color: #303133;
  padding: 0 12px;
}

.order-logistics-fields .order-ship-address {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 880px;
  margin: 0 0 0 0;
  border: 1px solid #ebeef5;
  border-radius: 3px;
  background: #f7f8fa;
  padding: 7px 10px;
  color: #909399;
}

.order-logistics-fields .order-ship-address span {
  color: #606266;
}

.order-logistics-fields .order-ship-address strong {
  color: #606266;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}

.order-logistics-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: stretch;
}

.order-logistics-card {
  min-height: 100%;
  border: 1px solid #ebeef5;
  background: #fff;
}

.order-logistics-map-card {
  border: 0;
  background: transparent;
}

.order-logistics-map {
  position: relative;
  height: clamp(240px, 27vh, 320px);
  overflow: hidden;
  background: linear-gradient(90deg, #eef5fb 0%, #f8fbff 50%, #53c5dc 100%);
}

.order-logistics-real-map {
  background: #f5f7fa;
  border: 1px solid #ebeef5;
}

.order-logistics-real-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #f5f7fa;
}

.order-logistics-map-missing {
  display: grid;
  place-content: center;
  gap: 8px;
  border: 1px solid #ebeef5;
  background: #f7f9fc;
  color: #606266;
  text-align: center;
}

.order-logistics-map-missing strong {
  color: #303133;
  font-size: 15px;
}

.order-logistics-map-missing span {
  color: #909399;
  font-size: 13px;
}

.order-logistics-timeline {
  border: 0;
  background: #fff;
  padding: 0 0 8px;
}

.order-logistics-title-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0 0 14px;
}

.order-logistics-title-row h3 {
  margin: 0;
  color: #303133;
  font-size: 15px;
}

.order-logistics-provider {
  margin: 0;
  color: #606266;
  font-size: 12px;
}

.order-trace-list {
  display: grid;
  gap: 12px;
}

.order-trace-item {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 14px;
  color: #606266;
  font-size: 13px;
  line-height: 1.65;
}

.order-trace-item time {
  color: #909399;
}

@media (max-width: 900px) {
  .order-logistics-body {
    max-height: calc(100vh - 140px);
    padding: 14px;
  }

  .order-logistics-fields,
  .order-logistics-panel {
    grid-template-columns: 1fr;
  }
}

.order-detail-panel {
  min-height: 520px;
}

.order-detail-section {
  margin-top: 16px;
  border: 1px solid #ebeef5;
  background: #fff;
  container-type: inline-size;
}

.order-detail-section h3 {
  height: 40px;
  margin: 0;
  border-bottom: 1px solid #ebeef5;
  background: #f7f9fc;
  padding: 0 14px;
  color: #303133;
  font-size: 14px;
  line-height: 40px;
}

.order-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 0;
}

.order-detail-field {
  min-height: 42px;
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  border-right: 1px solid #ebeef5;
  border-bottom: 1px solid #ebeef5;
}

.order-detail-field span {
  display: flex;
  align-items: center;
  background: #fafafa;
  color: #909399;
  padding: 0 12px;
}

.order-detail-field strong {
  display: flex;
  align-items: center;
  min-width: 0;
  color: #606266;
  padding: 0 12px;
  font-weight: 400;
  word-break: break-all;
}

@container (max-width: 700px) {
  .order-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .order-detail-field { grid-template-columns: 110px minmax(0, 1fr); }
  .order-detail-field :is(span, strong) { padding: 10px 12px; line-height: 1.6; }
}

.order-detail-items {
  padding: 12px;
}

.order-detail-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 70px;
  border-bottom: 1px solid #ebeef5;
  padding: 8px 0;
}

.order-detail-item:last-child {
  border-bottom: 0;
}

.order-detail-item img {
  width: 58px;
  height: 58px;
  border: 1px solid #ebeef5;
  object-fit: cover;
}

.order-detail-item strong {
  color: #303133;
}

.order-detail-item p {
  margin: 4px 0 0;
  color: #909399;
  font-size: 12px;
}

.order-export-tabs {
  display: flex;
  height: 48px;
  margin: -20px -20px 20px;
  background: #f5f7fa;
  border-bottom: 1px solid #ebeef5;
}

.order-export-tabs button {
  height: 48px;
  min-width: 96px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #303133;
}

.order-export-tabs button.active {
  background: #fff;
  color: #303133;
  font-weight: 700;
}

.order-batch-ship-box {
  width: min(980px, 100%);
  margin: 18px auto 0;
  color: #909399;
  font-size: 13px;
  text-align: left;
}

.order-export-filter-card,
.order-batch-import-card {
  border: 1px solid #ebeef5;
  border-radius: 4px;
  background: #fff;
}

.order-export-filter-card {
  padding: 18px 20px;
}

.order-export-filter-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}

.order-export-filter-head strong {
  color: #303133;
  font-size: 16px;
}

.order-export-filter-head span {
  color: #909399;
  font-size: 13px;
}

.order-export-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px 16px;
}

.order-export-filter-grid label {
  display: grid;
  gap: 6px;
  color: #606266;
  font-size: 13px;
}

.order-export-filter-grid input,
.order-export-filter-grid select {
  width: 100%;
}

.order-export-filter-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

.order-batch-import-card {
  width: 420px;
  margin: 18px auto 0;
  padding: 18px 20px;
  text-align: center;
}

.order-batch-tip {
  margin: 0 0 12px;
}

.order-batch-export-btn,
.order-upload-trigger,
.order-import-confirm {
  min-width: 210px;
}

.order-batch-rules {
  margin: 14px auto;
  color: #909399;
  text-align: left;
  line-height: 1.9;
}

.order-batch-rules p {
  margin: 0;
}

.order-import-file-name {
  min-height: 20px;
  margin: 8px 0;
  color: #909399;
  font-size: 12px;
}

.order-import-result {
  margin-top: 14px;
  text-align: left;
}

.order-import-result.has-result {
  width: 100%;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  background: #fff;
  color: #303133;
  overflow-x: auto;
  overflow-y: visible;
}

.order-import-result.has-error {
  border-color: #f3d6d6;
}

.order-import-result-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: #fafafa;
  border-bottom: 1px solid #ebeef5;
}

.order-import-result-head strong {
  color: #303133;
}

.order-import-result-head span,
.order-import-result-ok {
  color: #606266;
}

.order-import-result-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid #ebeef5;
  color: #606266;
  font-size: 12px;
  line-height: 20px;
}

.order-import-result-summary button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 4px;
}

.order-import-result-ok {
  margin: 0;
  padding: 12px;
}

.order-import-result-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 12px;
}

.order-import-result-table th,
.order-import-result-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #ebeef5;
  vertical-align: top;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.order-import-result-table th {
  color: #606266;
  background: #f9fafc;
  font-weight: 600;
}

.order-import-result-table th:nth-child(1),
.order-import-result-table td:nth-child(1) {
  width: 62px;
  text-align: center;
}

.order-import-result-table th:nth-child(2),
.order-import-result-table td:nth-child(2) {
  width: 150px;
}

.order-import-result-table th:nth-child(3),
.order-import-result-table td:nth-child(3) {
  width: 130px;
}

.order-import-result-table th:nth-child(4),
.order-import-result-table td:nth-child(4) {
  width: 150px;
}

.order-import-result-table th:nth-child(5),
.order-import-result-table td:nth-child(5) {
  width: auto;
  min-width: 0;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.order-import-fail-message {
  color: #c45656;
  line-height: 1.5;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  word-break: break-word;
}

.order-export-records {
  max-width: 680px;
  padding: 40px 0;
}

.settings-panel {
  min-height: 0;
}

.next-admin :is(#smsSdkAppIdField, #smsRegionField, #entrySmsSdkAppIdField, #entrySmsRegionField)[hidden] {
  display: none;
}

.settings-short-form {
  max-width: 720px;
  grid-template-columns: 260px minmax(260px, 1fr);
  align-items: end;
}

.setting-info {
  min-height: 36px;
  display: grid;
  gap: 5px;
  align-content: center;
  padding: 0 0 2px;
  color: #606266;
  font-size: 13px;
}

.setting-info strong {
  color: #303133;
  font-size: 12px;
}

.setting-info span {
  color: #409eff;
  font-weight: 600;
}

.settings-section-title {
  margin: 2px 0 12px;
  color: #303133;
  font-size: 13px;
  font-weight: 700;
}

.settings-manage-panel {
  min-height: calc(100vh - 136px);
}

.settings-role-template-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.settings-role-template-card {
  min-height: 108px;
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid #e6eaf2;
  border-radius: 4px;
  background: #fff;
  padding: 14px 16px;
}

.settings-role-template-card strong {
  color: #1f2d3d;
  font-size: 15px;
}

.settings-role-template-card span {
  color: #606266;
  font-size: 13px;
  line-height: 1.55;
}

.settings-role-template-card small {
  color: #409eff;
  font-size: 12px;
  font-weight: 600;
}

.settings-table-wrap {
  overflow-x: auto;
}

.settings-table {
  min-width: 960px;
}

.settings-table th,
.settings-table td {
  vertical-align: middle;
}

.settings-table td strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #1f2d3d;
  font-size: 13px;
}

.settings-table td strong em {
  display: inline-flex;
  align-items: center;
  height: 18px;
  border-radius: 3px;
  background: #f4f6fb;
  color: #7b8794;
  padding: 0 6px;
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
}

.settings-status {
  display: inline-flex;
  align-items: center;
  height: 22px;
  border-radius: 3px;
  background: #f4f6fb;
  color: #606266;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 600;
}

.settings-status.ok {
  background: #ecfdf3;
  color: #24925a;
}

.settings-status.warn {
  background: #fff7e6;
  color: #b46b00;
}

.settings-status.bad {
  background: #fff1f0;
  color: #cf1322;
}

.settings-action-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.settings-action-row button {
  min-width: 52px;
  height: 28px;
  border: 1px solid #b3d8ff;
  border-radius: 3px;
  background: #ecf5ff;
  color: #409eff;
  padding: 0 9px;
  font-size: 12px;
  cursor: pointer;
}

.settings-role-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border-radius: 3px;
  background: #f4f6fb;
  color: #606266;
  padding: 0 8px;
  font-size: 12px;
}

.settings-dialog {
  width: min(760px, calc(100vw - 48px));
}

.settings-dialog-body {
  max-height: min(70vh, 720px);
  overflow: auto;
}

.settings-staff-dialog {
  width: min(820px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  box-sizing: border-box;
}

.settings-staff-dialog .settings-dialog-body {
  overflow-x: hidden;
}

.settings-staff-dialog .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.settings-form-grid label {
  display: grid;
  gap: 7px;
  color: #606266;
  font-size: 13px;
}

.settings-form-grid input,
.settings-form-grid select {
  width: 100%;
  min-width: 0;
  height: 34px;
  border: 1px solid #dcdfe6;
  border-radius: 3px;
  padding: 0 10px;
  color: #303133;
  box-sizing: border-box;
}

@media (max-width: 720px) {
  .settings-staff-dialog .settings-form-grid {
    grid-template-columns: 1fr;
  }
}

.sms-config-grid,
.sms-admin-grid {
  margin-bottom: 18px;
}

.kuaidi100-help {
  margin-top: 4px;
  padding: 12px 14px;
  border: 1px solid #e6eaf2;
  border-radius: 4px;
  background: #f8fbff;
}

.kuaidi100-help span {
  color: #606266;
  font-weight: 400;
}

.sms-template-wrap table {
  min-width: 1100px;
}

.batch-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 18px;
  max-height: 520px;
  overflow: auto;
  padding: 2px 2px 6px;
}

.batch-card-empty {
  min-height: 150px;
  display: grid;
  place-items: center;
  color: #909399;
  background: #fff;
  border: 1px dashed #dcdfe6;
  font-size: 13px;
}

.batch-card {
  position: relative;
  width: 100%;
  height: auto;
  min-width: 0;
  display: block;
  padding: 0;
  border: 1px solid #e4e7ed;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  color: #606266;
  text-align: left;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}

.batch-card:hover,
.batch-card.active {
  border-color: #409eff;
  background: #fff;
  box-shadow: 0 6px 18px rgba(43, 105, 255, .14);
}

.batch-card.active {
  outline: 2px solid rgba(64, 158, 255, .22);
}

.batch-status {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  min-width: 54px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 8px 0 8px;
  color: #fff;
  background: #909399;
  font-size: 12px;
}

.batch-status.online {
  background: #19be6b;
}

.batch-status.offline {
  background: #909399;
}

.batch-cover {
  height: 128px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 22px 18px 18px;
  color: #fff;
  background: linear-gradient(135deg, #db3b2f, #f4aa36);
}

.batch-card-style-1 .batch-cover {
  background: linear-gradient(135deg, #2b69ff, #23c2d9);
}

.batch-card-style-2 .batch-cover {
  background: linear-gradient(135deg, #8b5cf6, #f472b6);
}

.batch-card-style-3 .batch-cover {
  background: linear-gradient(135deg, #16a34a, #84cc16);
}

.batch-card-style-4 .batch-cover {
  background: linear-gradient(135deg, #ef7d22, #f2c94c);
}

.batch-card-style-5 .batch-cover {
  background: linear-gradient(135deg, #0f766e, #38bdf8);
}

.batch-cover-mark {
  width: 58px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .66);
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  font-size: 11px;
  letter-spacing: 1px;
}

.batch-cover strong {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-size: 15px;
}

.batch-cover span {
  display: block;
  overflow: hidden;
  color: rgba(255, 255, 255, .86);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.batch-card-body {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 14px 10px;
  background: #fff;
}

.batch-card-body div {
  min-width: 0;
  text-align: center;
  border-right: 1px solid #ebeef5;
}

.batch-card-body div:last-child {
  border-right: 0;
}

.batch-card-body strong {
  display: block;
  color: #303133;
  font-size: 16px;
  line-height: 20px;
}

.batch-card-body span {
  display: block;
  margin-top: 3px;
  color: #909399;
  font-size: 12px;
  line-height: 16px;
}

.card-secret-panel {
  min-width: 0;
  container: card-secrets / inline-size;
  padding-bottom: 20px;
}

.secret-issue-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #e4e7ed;
  margin-bottom: 18px;
}

.secret-issue-tabs button {
  height: 40px;
  min-width: 110px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #606266;
}

.secret-issue-tabs button.active,
.secret-issue-tabs button:hover {
  border-bottom-color: #409eff;
  color: #409eff;
  background: transparent;
}

.card-secret-head {
  min-height: 42px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line-soft);
}

.card-secret-filter {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.card-secret-filter input[type="search"] {
  width: 260px;
}

.card-secret-filter select {
  width: 92px;
  min-width: 92px;
}

.size-label {
  color: #606266;
  font-size: 13px;
  line-height: 32px;
}

.card-secret-ops {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
}

.card-secret-ops .compact-toolbar {
  flex: 1 1 auto;
  margin: 0;
  gap: 8px;
}

.card-secret-ops button {
  min-width: 72px;
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
}

.read-count {
  flex: 0 0 auto;
  min-width: 112px;
  text-align: right;
  line-height: 28px;
}

.card-pagination {
  min-height: 54px;
  display: flex;
  /* 窄屏放不下一行时换行;居中不换行会把两端(共 N 条、每页条数、›、前往)挤到屏幕外且滚不到。宽屏仍是一行。 */
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px 0 0;
  color: #606266;
  font-size: 12px;
}

.card-pagination button,
.card-pagination select,
.card-pagination input {
  height: 28px;
  border: 1px solid #dcdfe6;
  border-radius: 2px;
  background: #fff;
  color: #606266;
  font-size: 12px;
}

.card-pagination button {
  min-width: 28px;
  padding: 0 8px;
}

.card-pagination button.active {
  border-color: #409eff;
  background: #409eff;
  color: #fff;
}

.card-pagination select {
  width: 82px;
  min-width: 82px;
  max-width: 82px;
  flex: 0 0 82px;
  padding: 0 6px;
}

.pager-ellipsis {
  min-width: 22px;
  text-align: center;
}

.pager-jump {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pager-jump input {
  width: 46px;
  min-width: 46px;
  max-width: 46px;
  flex: 0 0 46px;
  text-align: center;
}

.secret-step-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}

.secret-step-line div {
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e4e7ed;
  background: #fafafa;
  padding: 14px 18px;
}

.secret-step-line strong {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #409eff;
  color: #fff;
  font-size: 16px;
}

.secret-step-line span {
  min-width: 0;
  color: #303133;
  font-weight: 600;
}

.secret-history-table.secret-export-table {
  min-width: 760px;
  table-layout: fixed;
}

.secret-export-table th:nth-child(1) {
  width: 190px;
}

.secret-export-table th:nth-child(2) {
  width: 70px;
}

.secret-export-table th:nth-child(3),
.secret-export-table th:nth-child(4) {
  width: 90px;
}

.secret-export-table th:nth-child(5) {
  width: 160px;
}

.secret-export-table th:last-child,
.secret-export-table td:last-child {
  position: sticky;
  right: 0;
  width: 140px;
  background: var(--figma-v2-table-row, #fff);
  box-shadow: -1px 0 0 #e4e7ed;
}

.secret-export-table th:last-child {
  z-index: 2;
  background: var(--figma-v2-table-head, #fafafa);
}

.secret-export-table td:last-child {
  z-index: 1;
}

@media (max-width: 720px) {
  .secret-step-line {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .secret-step-line div {
    min-height: 54px;
    padding: 10px 12px;
  }

  .secret-step-line strong {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    font-size: 14px;
  }

  .secret-step-line span {
    white-space: normal;
    word-break: keep-all;
  }
}

.secret-home-actions {
  margin-bottom: 16px;
}

.secret-batch-table,
.secret-history-table {
  min-width: 960px;
}

.secret-history-panel {
  overflow-x: auto;
}

.secret-history-table td {
  white-space: nowrap;
}

.secret-detail-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0;
}

.secret-detail-filter input[type="search"] {
  width: 260px;
}

.secret-detail-filter select {
  width: 126px;
  min-width: 126px;
}

.online-issue-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}

.online-issue-modes button.active {
  color: #fff;
  border-color: #409eff;
  background: #409eff;
}

.inline-search {
  display: flex;
  gap: 8px;
}

.inline-search input {
  flex: 1 1 auto;
}

.online-customer-table td,
.online-issue-table td {
  white-space: nowrap;
}

.online-issue-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0;
}

.online-issue-toolbar {
  justify-content: flex-end;
  border: 1px solid #ebeef5;
  border-radius: 3px;
  background: #fafcff;
  padding: 10px 12px;
}

.online-issue-detail-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: 16px;
}

.online-issue-detail-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: 12px;
}

.online-issue-detail-section h3 {
  margin: 0;
  color: #303133;
  font-size: 14px;
  font-weight: 600;
}

.online-issue-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.online-issue-summary-grid div {
  min-width: 0;
  overflow-wrap: anywhere;
  border: 1px solid #ebeef5;
  border-radius: 3px;
  background: #fff;
  padding: 12px 14px;
}

.online-issue-summary-grid strong {
  display: block;
  color: #303133;
  font-size: 18px;
  line-height: 1.2;
}

.online-issue-summary-grid span {
  display: block;
  margin-top: 6px;
  color: #909399;
  font-size: 12px;
}

.online-issue-detail-table {
  min-width: 860px;
}

.online-issue-table-wrap {
  border-radius: 6px;
}

.online-issue-create-tabs,
.online-import-upload,
.online-issue-detail-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.online-issue-create-tabs {
  margin-bottom: 16px;
}

.online-import-upload input[type="file"] {
  min-width: 0;
  max-width: 100%;
}

.online-issue-create-panel .inline-search input {
  min-width: 0;
}

@container card-secrets (max-width: 640px) {
  .card-secret-head { flex-wrap: wrap; gap: 12px; }
  .card-secret-head > div { min-width: 0; overflow-wrap: anywhere; }
  .online-issue-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-issue-toolbar { justify-content: flex-start; }
}

.online-import-text {
  width: 100%;
  min-height: 160px;
  margin: 12px 0;
}

.online-issue-template {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.online-issue-template span {
  border: 1px solid #dcdfe6;
  border-radius: 3px;
  background: #fafafa;
  color: #606266;
  padding: 5px 9px;
  font-size: 12px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 16px 20px;
}

.form-grid label {
  display: grid;
  gap: 6px;
  color: #495060;
  font-size: 12px;
  font-weight: 600;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
  width: 100%;
  min-width: 0;
}

.form-grid .wide {
  grid-column: span 3;
}

.one-col {
  grid-template-columns: 1fr;
}

.entry-grid {
  grid-template-columns: repeat(3, minmax(240px, 1fr));
}

.card-workspace {
  min-height: calc(100vh - 95px);
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  margin: -20px;
  background: #fff;
}

.card-subnav {
  min-height: calc(100vh - 55px);
  background: #fff;
  border-right: 1px solid #e6eaf2;
  padding: 18px 0;
}

.card-subnav button {
  width: 100%;
  height: 48px;
  min-width: 0;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #303133;
  margin: 0;
  padding: 0 22px;
  text-align: left;
  font-size: 14px;
  font-weight: 400;
}

.card-subnav button:hover,
.card-subnav button.active {
  color: #2b69ff;
  background: #eef4ff;
}

.brand-house-side {
  padding: 0 12px;
}

.brand-house-side-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 4px 12px;
}

.brand-house-side-head strong {
  font-size: 15px;
  font-weight: 600;
  color: #1f2d3d;
}

.brand-house-side input {
  width: 100%;
  height: 34px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  padding: 0 10px;
  font-size: 13px;
  margin-bottom: 10px;
}

.brand-house-side-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.brand-house-side-list button {
  width: 100%;
  min-width: 0;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "name count";
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 10px 12px;
  background: transparent;
  color: #303133;
  text-align: left;
}

.brand-house-side-list button:hover,
.brand-house-side-list button.active {
  border-color: #b8d3ff;
  background: #eef4ff;
  color: #2b69ff;
}

.brand-house-side-list span {
  grid-area: name;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.brand-house-side-list b {
  grid-area: count;
  min-width: 22px;
  height: 22px;
  align-self: center;
  border-radius: 999px;
  background: #e6f0ff;
  color: #2b69ff;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  font-weight: 500;
}

.brand-house-side-empty {
  padding: 18px 8px;
  color: #909399;
  font-size: 13px;
  text-align: center;
}

.card-main {
  min-width: 0;
  padding: 28px 36px 80px;
  background: #f5f7fa;
}

.card-main > .panel,
.card-main > .entry-portal-page,
.card-main > .entry-editor-workspace {
  margin-bottom: 24px;
}

.entry-portal-page {
  min-height: calc(100vh - 150px);
  background: #fff;
  padding: 34px 36px 56px;
}

.entry-page-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 34px;
}

.entry-page-head h2 {
  margin: 0 0 8px;
  color: #303133;
  font-size: 18px;
  font-weight: 600;
}

.entry-page-head p {
  margin: 0;
  color: #606266;
  line-height: 1.7;
}

.entry-portal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 280px));
  gap: 28px;
  align-items: start;
}

.entry-create-tile,
.entry-card {
  position: relative;
  width: 100%;
  height: 460px;
  min-width: 0;
  border: 1px solid #ebeef5;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

.entry-create-tile {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  border-style: dashed;
  color: #303133;
  padding: 28px;
  text-align: center;
}

.entry-create-tile strong {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 2px solid #409eff;
  color: #409eff;
  font-size: 34px;
  line-height: 1;
}

.entry-create-tile span {
  font-size: 16px;
  font-weight: 600;
}

.entry-create-tile em {
  max-width: 190px;
  color: #606266;
  font-style: normal;
  line-height: 1.7;
}

.entry-create-tile em {
  display: block;
  width: 100%;
  max-width: 230px;
  margin: 0 auto;
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}

.entry-card {
  display: flex;
  flex-direction: column;
}

.entry-status {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  color: #fff;
  background: #909399;
  padding: 5px 12px;
  font-size: 12px;
}

.entry-status.ok {
  background: #19be6b;
}

.entry-status.bad {
  background: #909399;
}

.entry-cover {
  height: 220px;
  display: grid;
  place-items: center;
  background: #cf272d;
  color: #fff;
  overflow: hidden;
}

.entry-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.entry-cover-placeholder {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0;
}

.entry-info {
  padding: 18px 18px 10px;
  text-align: center;
}

.entry-info strong,
.entry-info span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entry-info span {
  margin-top: 8px;
  color: #909399;
  font-size: 12px;
}

.entry-meta {
  display: flex;
  justify-content: center;
  gap: 14px;
  color: #909399;
  font-size: 12px;
  padding: 0 16px;
}

.entry-menu-url {
  margin: 12px 16px 0;
  padding: 10px 12px;
  border: 1px solid #ebeef5;
  background: #f7f8fa;
}

.entry-menu-url span {
  display: block;
  margin-bottom: 6px;
  color: #606266;
  font-size: 12px;
  line-height: 1;
}

.entry-menu-url input {
  width: 100%;
  height: 28px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #303133;
  font-size: 12px;
  line-height: 28px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.entry-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding: 14px 16px 18px;
}

.entry-actions button {
  height: 28px;
  min-width: 64px;
  padding: 0 10px;
  font-size: 12px;
}

.entry-share-mask {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .28);
}

.entry-share-dialog {
  position: relative;
  width: min(1000px, calc(100vw - 72px));
  min-height: 720px;
  max-height: calc(100vh - 72px);
  overflow: auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .16);
  padding: 26px 32px 34px;
}

.entry-share-dialog h2 {
  margin: 0 0 34px;
  color: #303133;
  font-size: 18px;
  font-weight: 600;
}

.entry-share-close {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 28px;
  height: 28px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #909399;
  font-size: 26px;
  line-height: 26px;
}

.entry-share-body {
  display: grid;
  grid-template-columns: 375px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

.entry-share-mobile {
  width: 375px;
  height: 675px;
  border: 1px solid #ebeef5;
  background: #f5f5f5;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
  overflow: hidden;
}

.entry-share-phone-head {
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px 0 30px;
  background: #fff;
  color: #303133;
  font-weight: 600;
}

.entry-share-phone-head b {
  width: 66px;
  height: 16px;
  display: block;
  background:
    linear-gradient(90deg, #111 0 5px, transparent 5px 8px, #111 8px 13px, transparent 13px 16px, #111 16px 22px, transparent 22px 27px, #111 27px 34px),
    linear-gradient(#111, #111);
  background-size: 34px 16px, 26px 10px;
  background-position: 0 0, 40px 3px;
  background-repeat: no-repeat;
}

.entry-share-phone-title {
  height: 48px;
  display: grid;
  grid-template-columns: 54px 1fr 54px;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #ebeef5;
  color: #262626;
  text-align: center;
}

.entry-share-phone-title button {
  width: 34px;
  min-width: 0;
  height: 34px;
  border: 0;
  background: transparent;
  color: #303133;
  padding: 0;
  font-size: 30px;
  line-height: 30px;
}

.entry-share-phone-title strong {
  font-size: 16px;
  font-weight: 700;
}

.entry-share-mobile iframe {
  width: 375px;
  height: 581px;
  display: block;
  border: 0;
  background: #fff;
}

.entry-share-form {
  padding-top: 2px;
}

.entry-share-form label {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 24px;
}

.entry-share-form label > span {
  padding-top: 9px;
  color: #606266;
  line-height: 1;
  text-align: right;
}

.entry-share-cover {
  width: 130px;
  height: 130px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #f5f7fa;
  overflow: hidden;
}

.entry-share-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.entry-share-cover em {
  color: #909399;
  font-style: normal;
}

.entry-share-form input,
.entry-share-form textarea {
  width: 100%;
  min-width: 0;
  color: #606266;
  background: #f5f7fa;
}

.entry-share-copy-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px;
}

.entry-share-copy-line input {
  height: 44px;
  border-radius: 4px 0 0 4px;
}

.entry-share-copy-line button {
  height: 44px;
  border-radius: 0 4px 4px 0;
}

.entry-share-qr {
  width: 148px;
  min-height: 188px;
  border: 1px solid #dcdfe6;
  padding: 10px;
  text-align: center;
  background: #fff;
}

.entry-share-qr img {
  width: 128px;
  height: 128px;
  display: block;
}

.entry-share-qr div {
  margin-top: 8px;
  color: #606266;
  font-weight: 700;
}

.entry-share-qr-error {
  display: grid;
  place-items: center;
  width: 126px;
  height: 126px;
  color: #909399;
  font-size: 12px;
}

.entry-share-tools {
  padding-left: 86px;
}

.entry-editor-workspace {
  min-height: calc(100vh - 150px);
  background: #fff;
  padding: 28px 34px 56px;
  container: entry-editor / inline-size;
}

.entry-editor-head {
  min-height: 42px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 28px;
}

.entry-editor-head h2 {
  margin: 0 0 7px;
  color: #303133;
  font-size: 18px;
  font-weight: 600;
}

.entry-editor-head span {
  color: #909399;
  font-size: 13px;
}

.entry-editor-body {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: start;
  gap: 36px;
}

.entry-phone-preview {
  width: 300px;
}

.entry-phone-shell {
  width: 292px;
  min-height: 760px;
  overflow: hidden;
  border: 1px solid #e4e7ed;
  background: #c9252c;
  color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}

.entry-phone-status {
  height: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  color: #303133;
  padding: 0 18px;
  font-size: 12px;
  font-weight: 600;
}

.entry-phone-status b {
  width: 46px;
  height: 12px;
  display: block;
  border-radius: 10px;
  background: linear-gradient(90deg, #303133 0 35%, transparent 35% 45%, #303133 45% 70%, transparent 70% 78%, #303133 78% 100%);
}

.entry-phone-head {
  height: 42px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  align-items: center;
  background: #fff;
}

.entry-phone-close {
  color: #606266;
  padding-left: 14px;
  font-size: 22px;
}

.entry-phone-title {
  color: #303133;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entry-phone-page-bg {
  position: relative;
  min-height: 678px;
  overflow: hidden;
  background-color: #c9252c;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.entry-phone-bg-empty {
  position: absolute;
  left: 28px;
  right: 28px;
  top: 110px;
  color: #ffd987;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
}

.entry-phone-form {
  width: 228px;
  display: grid;
  gap: 10px;
  margin: 24px auto 0;
  border-radius: 4px;
  background: rgba(255, 255, 255, .42);
  padding: 14px;
}

.entry-phone-overlay-form {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
}

.entry-phone-form input,
.entry-phone-form button {
  width: 100%;
  min-width: 0;
  height: 32px;
  font-size: 12px;
}

.entry-phone-form > div {
  display: grid;
  grid-template-columns: 1fr 74px;
  gap: 8px;
}

.entry-phone-form > div:first-of-type {
  grid-template-columns: 1fr 1fr;
}

.entry-phone-form span {
  color: #409eff;
  text-align: center;
  font-size: 12px;
}

.entry-phone-copyright {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 34px;
  color: rgba(255, 255, 255, .92);
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  pointer-events: none;
}

.entry-phone-notice-mask {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, .42);
}

.entry-phone-notice-box {
  width: 232px;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  text-align: center;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .22);
}

.entry-phone-notice-box strong {
  display: block;
  padding: 16px 14px 8px;
  color: #303133;
  font-size: 14px;
  font-weight: 600;
}

.entry-phone-notice-box p {
  margin: 0;
  padding: 8px 18px 16px;
  color: #606266;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-line;
}

.entry-phone-notice-box button {
  width: 100%;
  height: 38px;
  border-top: 1px solid #ebeef5;
  color: #409eff;
  background: #fff;
  font-size: 13px;
}

.entry-phone-announcement-mask {
  display: block;
  overflow: hidden;
  padding: 0;
  background: rgba(9, 17, 14, .46);
  -webkit-backdrop-filter: blur(8px) saturate(.72);
  backdrop-filter: blur(8px) saturate(.72);
}

.entry-phone-announcement-box {
  width: 100%;
  min-height: 678px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 82px 30px 52px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}

.entry-phone-announcement-box strong {
  padding: 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.45;
  text-align: left;
  text-shadow: 0 1px 7px rgba(0, 0, 0, .52);
}

.entry-phone-announcement-box .entry-phone-notice-text {
  max-height: 334px;
  overflow: hidden;
  margin: 18px 0 0;
  padding: 0;
  color: rgba(255, 255, 255, .96);
  font-size: 13px;
  line-height: 1.72;
  text-align: left;
  text-shadow: 0 1px 7px rgba(0, 0, 0, .58);
}

/* MALL-921:预览里公告按段落显示,段间留一点距离;加粗与颜色由行内样式给出。 */
.entry-phone-announcement-box .entry-phone-notice-text > div {
  min-height: 0;
  margin-bottom: 4px;
  white-space: pre-wrap;
}

.entry-phone-announcement-box button {
  height: 44px;
  margin-top: 42px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .28);
  font-size: 13px;
}

.entry-editor-form {
  min-width: 0;
}

.entry-editor-section {
  margin-bottom: 34px;
  padding-bottom: 24px;
  border-bottom: 1px solid #ebeef5;
}

.entry-editor-section h3 {
  position: relative;
  margin: 0 0 22px;
  padding-left: 12px;
  color: #303133;
  font-size: 15px;
  font-weight: 600;
}

.entry-editor-section h3:before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 3px;
  height: 18px;
  background: #2b69ff;
}

.entry-hero-upload-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.entry-hero-upload-card {
  width: 76px;
  height: 112px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e4e7ed;
  background: #c9252c;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
}

.entry-hero-upload-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.entry-hero-upload-tools {
  display: grid;
  gap: 10px;
  align-content: start;
}

.entry-hero-file-row {
  width: min(100%, 520px);
  display: grid;
  /* 2026-09-05:按钮那一列原来钉死 96px,而「上传到 COS」在 96px 的框里(左右各 18px 内边距)
     只剩 58px 放字 —— 字比框宽,溢出到右边框外,看上去就是「没居中」。改成按内容取宽。 */
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.entry-hero-upload-tools input[type="file"] {
  width: 100%;
  height: 36px;
  min-width: 0;
  padding: 6px 10px;
}

.entry-hero-file-row button {
  height: 36px;
  min-width: 96px;
  padding: 0 18px;
  border-radius: 8px;
  /* 文字在按钮里横竖都居中:不靠 text-align 的默认值,换个更长的按钮文案也照样居中 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.entry-hero-upload-tools p {
  margin: 0;
  color: #909399;
  font-size: 12px;
  line-height: 1.7;
}

.entry-form-lines {
  display: grid;
  gap: 16px;
}

.entry-form-lines label {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  color: #606266;
  font-size: 13px;
}

.entry-form-lines label > span {
  text-align: right;
}

.entry-form-lines input,
.entry-form-lines select,
.entry-form-lines textarea {
  width: 100%;
  min-width: 0;
}

.entry-form-lines .textarea-line {
  align-items: start;
}

/* MALL-921 / ADR-090:弹窗公告正文编辑器。编辑区用深色底,与顾客看到的全屏透明公告同色。 */
.entry-form-lines .entry-notice-rich-line {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  color: #606266;
  font-size: 13px;
}

.entry-form-lines .entry-notice-rich-line > span {
  padding-top: 8px;
  text-align: right;
}

.entry-notice-rich {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
}

.entry-notice-rich-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-bottom: 1px solid #dcdfe6;
  background: #f5f7fa;
}

.entry-notice-rich-tools button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  height: 26px;
  padding: 0 8px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  color: #303133;
  background: #fff;
  font-size: 12px;
  cursor: pointer;
}

.entry-notice-rich-tools button i {
  width: 12px;
  height: 12px;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: 50%;
}

.entry-notice-rich-tools em {
  margin-left: auto;
  color: #909399;
  font-size: 12px;
  font-style: normal;
}

.entry-notice-rich-editor {
  min-height: 140px;
  max-height: 360px;
  overflow-y: auto;
  padding: 10px 12px;
  color: #ffffff;
  background: #3a2a20;
  font-size: 14px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  outline: none;
}

.entry-notice-rich-editor:empty::before {
  content: attr(data-placeholder);
  color: rgba(255, 255, 255, .45);
}

.entry-notice-rich-editor[contenteditable="false"] {
  opacity: .78;
}

.entry-form-lines .entry-toggle-line {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 54px;
  padding: 10px 12px 10px 18px;
  border: 1px solid #e8d8c7;
  border-radius: 10px;
  background: #fffdfa;
}

.entry-toggle-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

.entry-toggle-copy b {
  color: #1f2a3d;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
}

.entry-toggle-copy em {
  color: #8b7280;
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.entry-ios-switch-wrap {
  position: relative;
  flex: 0 0 48px;
  width: 48px;
  height: 28px;
}

.entry-form-lines .entry-ios-switch-wrap input[type="checkbox"] {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 48px;
  min-width: 48px;
  height: 28px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.entry-ios-switch-wrap i {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #d5dbe3;
  box-shadow: inset 0 0 0 1px rgba(31, 42, 61, .08);
  transition: background-color .18s ease, box-shadow .18s ease;
}

.entry-ios-switch-wrap i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 8px rgba(16, 24, 40, .18);
  transition: transform .18s ease;
}

.entry-form-lines .entry-ios-switch-wrap input[type="checkbox"]:checked + i {
  background: #a61f35;
  box-shadow: 0 8px 18px rgba(166, 31, 53, .22);
}

.entry-form-lines .entry-ios-switch-wrap input[type="checkbox"]:checked + i::after {
  transform: translateX(20px);
}

.entry-form-lines .entry-ios-switch-wrap input[type="checkbox"]:focus-visible + i {
  outline: 2px solid rgba(166, 31, 53, .28);
  outline-offset: 3px;
}

.entry-radio-group {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 32px;
}

.entry-radio-group label {
  width: auto;
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  gap: 5px;
  color: #606266;
  font-size: 13px;
}

.entry-radio-group input[type="radio"] {
  width: auto;
  min-width: 0;
  height: auto;
}

.entry-batch-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.entry-batch-section {
  border-color: #b8d3ff;
  background: #fbfdff;
}

.entry-batch-head h3 {
  margin-bottom: 0;
}

.entry-batch-head span {
  color: #606266;
  font-size: 13px;
}

.entry-batch-head-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.entry-batch-table {
  min-width: 760px;
  table-layout: fixed;
}

.entry-batch-table-wrap {
  border-bottom: 1px solid var(--line);
}

.entry-batch-table th,
.entry-batch-table td {
  height: 40px;
}

.entry-batch-table button.small {
  height: 26px;
  min-width: 54px;
  padding: 0 10px;
  font-size: 12px;
}

.entry-batch-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.entry-batch-actions .danger.small {
  border-color: var(--figma-v2-accent, #8f1d2a);
  background: var(--figma-v2-accent, #8f1d2a);
  color: #fff;
}

.entry-batch-actions .danger.small:hover {
  border-color: var(--figma-v2-accent-deep, #72111b);
  background: var(--figma-v2-accent-deep, #72111b);
  color: #fff;
}

.empty-cell {
  color: #909399;
  text-align: center;
}

.check-line {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px !important;
  min-height: 32px;
  padding-top: 22px;
}

.entry-batch-dialog {
  width: min(720px, calc(100vw - 48px));
}

.entry-batch-dialog .next-dialog-body {
  padding: 18px 22px 14px;
}

.entry-batch-dialog-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 84px;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.entry-batch-dialog-toolbar input {
  height: 36px;
}

.entry-batch-dialog-toolbar button {
  height: 36px;
  min-width: 84px;
}

.entry-batch-dialog-table {
  min-width: 0;
  table-layout: fixed;
}

.entry-batch-dialog-table th,
.entry-batch-dialog-table td {
  height: 38px;
}

.entry-batch-dialog-table input[type="checkbox"] {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  min-width: 14px;
  max-width: 14px;
  min-height: 14px;
  max-height: 14px;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  border: 1px solid #c0c4cc;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  vertical-align: middle;
}

.entry-batch-dialog-table input[type="checkbox"]:checked {
  border-color: #409eff;
  background: #409eff;
}

.entry-batch-dialog-table input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 2px;
  width: 3px;
  height: 6px;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}

.entry-batch-dialog-table input[data-indeterminate="true"] {
  border-color: #409eff;
  background: #409eff;
}

.entry-batch-dialog-table input[data-indeterminate="true"]::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 6px;
  width: 8px;
  height: 2px;
  border: 0;
  background: #fff;
  transform: none;
}

.entry-batch-dialog-page {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #edf2f7;
  color: #606266;
  font-size: 13px;
}

.entry-batch-dialog-page button {
  height: 30px;
  min-width: 72px;
  padding: 0 10px;
}

.entry-batch-dialog .next-dialog-foot {
  padding: 14px 22px 16px;
  gap: 10px;
}

.entry-batch-dialog .next-dialog-foot button {
  height: 32px;
  min-width: 76px;
}

.check-line input {
  width: auto;
  min-width: 0;
  height: auto;
}

.upload-line {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, auto) auto;
  gap: 8px;
  align-items: center;
}

.upload-line input[type="file"] {
  min-width: 0;
  padding: 4px 8px;
}

.month-day {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.sub-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  margin-bottom: 12px;
  color: #495060;
}

.sku-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(115px, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.sku-row input {
  width: 100%;
  min-width: 0;
}

.goods-editor-panel {
  padding: 30px 60px;
}

.goods-editor-head {
  min-height: 34px;
  padding-bottom: 18px;
}

.goods-empty {
  color: #909399;
  padding: 10px 0 30px 120px;
  font-size: 13px;
}

.goods-form {
  margin-top: 2px;
  color: #606266;
}

.goods-form-item {
  display: flex;
  align-items: flex-start;
  min-height: 46px;
  margin-bottom: 12px;
}

.goods-form-label {
  width: 120px;
  flex: 0 0 120px;
  padding: 8px 12px 0 0;
  color: #606266;
  text-align: right;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.goods-form-content {
  flex: 1;
  min-width: 0;
  max-width: 1280px;
}

.goods-form-content > input,
.goods-form-content > select {
  width: 360px;
  max-width: 100%;
}

.goods-form-content > textarea {
  width: 100%;
  min-height: 120px;
}

.goods-media-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  max-width: 1120px;
}

.goods-media-main {
  flex: 1;
  min-width: 0;
}

.goods-media-main > input {
  width: 100%;
  margin-bottom: 8px;
}

.goods-upload-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.goods-upload-line input[type="file"] {
  width: 260px;
  min-width: 220px;
  padding: 4px 8px;
}

.goods-upload-card {
  width: 80px;
  height: 80px;
  flex: 0 0 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .12);
  color: #d9d9d9;
  font-size: 30px;
}

.goods-upload-card.small {
  width: 60px;
  height: 60px;
  flex-basis: 60px;
  font-size: 24px;
}

.goods-upload-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.goods-product-image-card {
  position: relative;
}

.goods-image-remove {
  position: absolute;
  right: 2px;
  bottom: 2px;
  min-width: 36px;
  height: 22px;
  border: 0;
  border-radius: 3px;
  background: rgba(0, 0, 0, .56);
  color: #fff;
  font-size: 12px;
  cursor: pointer;
}

.goods-image-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.goods-video-preview,
.goods-video-empty {
  width: 180px;
  height: 102px;
  flex: 0 0 180px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #fff;
}

.goods-video-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c0c4cc;
  font-size: 13px;
}

.goods-spec-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 2px;
  color: #606266;
  font-size: 14px;
}

.goods-spec-table th,
.goods-spec-table td {
  height: 50px;
  border-bottom: 1px solid #ebeef5;
  text-align: center;
  font-weight: 400;
}

.goods-spec-table th {
  color: #909399;
  background: #fff;
  font-weight: 600;
}

.goods-spec-table .sku-row {
  display: table-row;
  margin: 0;
}

.goods-spec-table input {
  width: 88%;
  max-width: 360px;
  height: 32px;
  min-width: 0;
}

.goods-row-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.goods-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  margin-right: 18px;
  color: #606266;
  cursor: pointer;
}

.goods-radio input {
  width: 14px;
  min-width: 14px;
  height: 14px;
  margin: 0;
}

.goods-submit-line {
  margin: 30px 0 60px;
}

.goods-workspace {
  min-height: calc(100vh - 95px);
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 0;
  margin: -20px;
  background: #fff;
  container: goods-workspace / inline-size;
}

.goods-subnav {
  position: sticky;
  top: 55px;
  align-self: start;
  min-height: calc(100vh - 55px);
  background: #fff;
  border-right: 1px solid #e6eaf2;
  padding: 18px 0;
}

.goods-subnav button {
  width: 100%;
  height: 38px;
  min-width: 0;
  display: block;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #303133;
  padding: 0 18px;
  text-align: left;
  font-size: 14px;
  font-weight: 400;
}

.goods-subnav button:hover,
.goods-subnav button.active {
  color: #2b69ff;
  background: #eef4ff;
}

.goods-main {
  min-width: 0;
  padding: 24px 32px 80px;
  background: #fff;
}

.goods-list-panel,
.goods-category-panel,
.goods-editor-panel {
  box-shadow: none;
  border: 0;
  padding: 0;
  margin: 0;
}

.goods-category-table {
  min-width: 720px;
}

.goods-category-table td input[type="text"],
.goods-category-table td input[type="number"],
.goods-category-table td select {
  width: 100%;
  box-sizing: border-box;
  height: 32px;
  padding: 0 8px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 13px;
}

.goods-category-table td input[type="text"] {
  text-align: left;
}

.goods-category-empty {
  color: #909399;
}

.goods-list-table {
  min-width: 1080px;
  table-layout: fixed;
  border-collapse: collapse;
}

.goods-list-table th,
.goods-list-table td {
  height: 72px;
  border-bottom: 1px solid #ebeef5;
  text-align: center;
  font-size: 13px;
}

.goods-list-table th {
  color: #909399;
  background: #fff;
  font-weight: 600;
}

.goods-list-table .goods-list-name-cell {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  text-align: left;
}

.goods-list-name-cell strong {
  display: block;
  max-width: 360px;
  overflow: hidden;
  color: #303133;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goods-list-name-cell small {
  display: block;
  margin-top: 4px;
  color: #909399;
  font-size: 12px;
}

.goods-list-thumb {
  width: 72px;
  min-width: 72px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
}

.goods-list-thumb img,
.goods-list-thumb-empty {
  width: 72px;
  height: 46px;
  display: block;
  object-fit: cover;
  background: #f5f7fa;
}

.goods-list-thumb-empty {
  line-height: 46px;
  color: #909399;
  text-align: center;
}

.goods-list-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.goods-list-actions button {
  height: 26px;
  min-width: auto;
  padding: 0 4px;
  border: 0;
  background: transparent;
  color: #409eff;
  font-size: 12px;
}

.goods-type-badge {
  min-width: 56px;
  height: 22px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

.goods-type-badge.normal {
  color: #606266;
  border: 1px solid transparent;
  background: transparent;
}

.goods-type-badge.periodic {
  color: #f56c6c;
  border: 1px solid #f5a3a3;
  background: #fff7f7;
}

.goods-sale-badge {
  min-width: 28px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: 12px;
}

.goods-sale-badge.yes {
  color: #13ce66;
  background: #e7faf0;
}

.goods-sale-badge.no {
  color: #909399;
  background: #f4f4f5;
}

.goods-xty-editor {
  min-height: calc(100vh - 95px);
  background: #fff;
}

.goods-template-xietianyao {
  background: #fff;
}

.goods-xty-form-page {
  width: 100%;
  max-width: 1500px;
  /* MALL-927(老大「编辑页面太小」):品牌屋设置里一层层留白,1440 宽屏表单只剩约 600px;左右留白由 52px 收到 24px */
  padding: 28px 24px 42px;
  box-sizing: border-box;
  container: goods-form / inline-size;
}

.goods-xietianyao-form {
  width: 100%;
}

.goods-form-body {
  color: #606266;
}

.goods-editor-panel .goods-form {
  max-width: none;
}

.goods-editor-panel .goods-form-item {
  min-height: 42px;
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: 0;
}

.goods-editor-panel .goods-form-label {
  width: 126px;
  flex-basis: 126px;
  font-size: 13px;
  padding-top: 7px;
}

.goods-editor-panel .goods-form-content {
  max-width: none;
}

.goods-editor-panel .goods-form-content > input {
  width: 560px;
  height: 32px;
}

.goods-editor-panel .goods-form-content > select {
  width: 180px;
  height: 32px;
}

.goods-two-col {
  display: grid;
  grid-template-columns: 126px 280px 126px 280px;
  align-items: start;
}

.goods-two-col .goods-form-label,
.goods-two-col .goods-form-content {
  width: auto;
  max-width: none;
}

.goods-stepper {
  display: inline-flex;
  align-items: center;
  height: 32px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}

.goods-stepper button {
  width: 34px;
  height: 32px;
  min-width: 34px;
  border: 0;
  border-right: 1px solid #dcdfe6;
  border-radius: 0;
  background: #f5f7fa;
  color: #909399;
  padding: 0;
}

.goods-stepper button:last-child {
  border-right: 0;
  border-left: 1px solid #dcdfe6;
}

.goods-stepper input {
  width: 98px;
  height: 32px;
  min-width: 98px;
  border: 0;
  border-radius: 0;
  text-align: center;
}

.goods-attr-table {
  width: 100%;
  /* MALL-927:原 720px 在品牌屋设置里(1440 宽屏只有约 530px 可用)要横向滚动才看得到套餐名称和库存;
     随可用宽度排布,窄于 520px 时再横向滚动(库存框仍放得下四位数) */
  min-width: 520px;
  border-collapse: collapse;
  table-layout: fixed;
  margin-bottom: 12px;
}

.goods-attr-table th,
.goods-attr-table td {
  height: 42px;
  border-bottom: 1px solid #ebeef5;
  color: #606266;
  text-align: center;
  font-size: 13px;
}

.goods-attr-table th {
  color: #909399;
  background: #fff;
}

.goods-attr-table input {
  width: 92%;
  min-width: 0;
  height: 30px;
  border: 1px solid #dcdfe6;
  border-radius: 3px;
  padding: 0 8px;
  box-sizing: border-box;
  text-align: center;
}

/* MALL-927:属性名称常是一长串内配,套餐名称也要放得下;库存、排序留够数字的宽度,操作列用剩下的。两列文字靠左,长内容从头显示 */
.goods-attr-table .goods-attr-name-col {
  width: 32%;
}

.goods-attr-table .goods-attr-title-col {
  width: 24%;
}

.goods-attr-table .goods-attr-stock-col {
  width: 16%;
}

.goods-attr-table .goods-attr-sort-col {
  width: 14%;
}

.goods-attr-table input[data-spec-attr-field="name"],
.goods-attr-table input[data-spec-attr-field="package_title"] {
  text-align: left;
}

.goods-attr-table .link-btn {
  min-width: 46px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #409eff;
  cursor: pointer;
}

.ghost-btn {
  min-width: 110px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-color: #b3d8ff;
  border-style: solid;
  border-width: 1px;
  border-radius: 3px;
  color: #409eff;
  background: #ecf5ff;
  font-size: 12px;
  cursor: pointer;
}

.muted-radio {
  color: #909399;
}

.goods-switch {
  position: relative;
  width: 44px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  cursor: pointer;
}

.next-admin .goods-switch input[type="checkbox"] {
  position: absolute;
  inset: 0;
  width: 44px !important;
  min-width: 44px !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  appearance: none !important;
  cursor: pointer;
  z-index: 2;
}

.next-admin .goods-switch input[type="checkbox"]::after {
  display: none !important;
  content: none !important;
}

.goods-switch-track {
  position: relative;
  width: 44px;
  height: 24px;
  display: block;
  border-radius: 999px;
  background: #dcdfe6;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
  transition: background .18s, box-shadow .18s;
}

.goods-switch-track:after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
  transition: transform .18s;
}

.goods-switch input:checked + .goods-switch-track {
  background: #409eff;
  box-shadow: inset 0 0 0 1px #409eff;
}

.goods-switch input:checked + .goods-switch-track:after {
  transform: translateX(20px);
}

.batch-goods-upgrade-switch {
  margin: 0 auto;
}

.batch-goods-upgrade-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
}

.goods-switch + select {
  display: none;
}

.goods-upload-box {
  min-height: 120px;
  border: 1px solid #ebeef5;
  border-radius: 4px;
  padding: 20px 12px 12px;
}

.goods-upload-box .goods-upload-card {
  margin-top: 12px;
}

.goods-image-upload-area {
  min-height: 118px;
  max-width: 1280px;
  border: 1px solid #ebeef5;
  border-radius: 4px;
  padding: 70px 12px 12px;
  box-sizing: border-box;
}

.goods-video-upload-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
/* MALL-315:商城商品视频改成与兑换商品编辑器同一套(上传 + 预览)。预览限宽,免得一段竖版视频把表单撑开。 */
.goods-video-preview { width: 240px; max-width: 100%; border-radius: 6px; background: #000; }
.mall-video-clear { min-width: 0; min-height: 0; height: 28px; padding: 0 10px; border: 1px solid #e4e2dc; border-radius: 4px; background: #fff; color: #a6272e; font-size: 12px; cursor: pointer; }
.mall-video-clear:hover { background: #fdf3f3; }

.goods-file-button {
  position: relative;
  overflow: hidden;
}

.goods-file-button input[type="file"],
.goods-hidden-file {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.hidden-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.goods-image-upload-area .goods-image-list {
  margin-top: 10px;
}

/* 老大 2026-09-23 商品图片「排成一排」:图在前,「加图」方块贴在最后一张右侧;× 在每张右上角;可拖动调序。
   原来区域顶上有 70px 的内边距 —— 截图里「+ 加图」上方那一大块空白就是它,是旧布局留下的。 */
.goods-image-upload-area { padding: 12px; min-height: 0; }
.goods-image-upload-area .goods-product-image-list { margin-top: 0; align-items: flex-start; }

.goods-product-image-list .goods-product-image-card[draggable="true"] { cursor: grab; }
.goods-product-image-list .goods-product-image-card.is-dragging { opacity: .4; }

.goods-product-image-list .goods-image-remove {
  top: 4px;
  right: 4px;
  bottom: auto;
  width: 20px;
  height: 20px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(24, 24, 22, .62);
  color: #fff;
  font-size: 14px;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}

.goods-product-image-list .goods-image-remove:hover { background: rgba(24, 24, 22, .82); }

.goods-product-image-list .goods-image-cover-badge {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 1px 6px;
  border-radius: 0 4px 0 0;
  background: rgba(64, 158, 255, .88);
  color: #fff;
  font-size: 11px;
  line-height: 16px;
  pointer-events: none;
}

/* 「加图」:与图片卡同尺寸的虚线方块,文件选择框藏在里面 */
.goods-product-image-list .goods-image-add-tile {
  flex-direction: column;
  gap: 2px;
  border: 1px dashed #c0c4cc;
  background: #fafafa;
  color: #409eff;
  font-size: 12px;
  cursor: pointer;
}

.goods-product-image-list .goods-image-add-tile span:first-child { font-size: 22px; line-height: 1; }
.goods-product-image-list .goods-image-add-tile:hover { border-color: #409eff; background: #ecf5ff; }
.goods-product-image-list .goods-image-add-tile input { display: none; }
/* 「素材库」方块是 <button>:全局 button 规则的内边距与最小宽度会把它挤歪(素材格子被压扁那次同一个坑),归零 */
.goods-product-image-list .goods-image-library-tile { padding: 0; min-width: 0; height: 80px; }

.goods-red-tip {
  margin: 8px 0 0;
  color: #f56c6c;
  font-size: 12px;
}

.goods-rich-editor {
  border: 1px solid #dcdfe6;
  border-bottom: 0;
  background: #fff;
}

.goods-editor-menubar {
  height: 28px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  border-bottom: 1px solid #ebeef5;
  color: #606266;
  font-size: 12px;
}

.goods-editor-tools {
  min-height: 40px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 6px 10px;
  border-bottom: 1px solid #ebeef5;
  color: #606266;
  font-size: 13px;
}

.goods-editor-tools span {
  min-width: 14px;
  text-align: center;
  font-weight: 600;
}

.goods-editor-tools button {
  margin-left: auto;
  height: 28px;
  min-width: 64px;
  border-color: #409eff;
  color: #fff;
  background: #409eff;
  font-size: 12px;
}

/* 右侧按钮成组靠右:只有第一个吃掉左侧空白,后面的紧挨着。
   原来每个都是 margin-left:auto —— 加了「从素材库选择」后,两个按钮把空白平分、被拉得老远。 */
.goods-editor-tools button + button { margin-left: 8px; }

.goods-detail-editor-body {
  min-height: 260px;
  max-height: 620px;
  overflow-y: auto;
  background: #fff;
}

.goods-detail-editor-body img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
}

/* 详情图现在每张外面包一层,好把删除键定位到右上角。
   老大 2026-09-22 就商城轮播图说过「太大太丑,改成右上角 x 号」—— 这里照同一个样式来,
   而不是兑换商品图片那种「删除」两字的大按钮:详情图是通栏大图,大按钮会压住画面。 */
.goods-detail-editor-body .goods-detail-editor-item {
  position: relative;
  margin: 0;
  display: block;
}

.goods-detail-editor-body .goods-detail-image-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(24, 24, 22, .62);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}

.goods-detail-editor-body .goods-detail-image-remove:hover {
  background: rgba(24, 24, 22, .82);
}

.goods-form-content .goods-spec-table {
  max-width: 1180px;
}

@media (max-width: 1280px) {
  .goods-xty-form-page {
    padding: 24px 20px 38px;
  }
}

.table-wrap {
  width: 100%;
  overflow: auto;
  border: 1px solid var(--line);
  border-bottom: 0;
  background: #fff;
}

.table-wrap.empty {
  min-height: 118px;
  display: grid;
  place-items: center;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.card-table-wrap {
  max-height: calc(100vh - 315px);
}

.card-table-wrap .muted {
  color: #909399;
}

.card-table-wrap tr[data-card-row] {
  cursor: pointer;
}

.card-table-wrap tr.is-selected > td {
  background: #eef6ff;
}

.card-table-wrap table {
  min-width: 1160px;
}

.status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 22px;
  border-radius: 2px;
  padding: 0 7px;
  background: #f4f4f5;
  color: #909399;
  font-size: 12px;
}

.status.ok {
  background: #e8f6ef;
  color: var(--green);
}

.status.warn {
  background: #fff7e6;
  color: var(--amber);
}

.status.redeemed {
  background: #fff7e6;
  color: #9a5800;
  border: 1px solid #f4d59a;
}

.status.bad {
  background: #fef0f0;
  color: var(--red);
}

.tabs {
  display: flex;
  gap: 0;
  margin: 0 0 18px;
  border-bottom: 1px solid var(--line);
}

.tabs button {
  height: 36px;
  min-width: 78px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #606266;
}

.tabs .tab-count {
  margin-left: 3px;
  color: #f56c6c;
  font-size: 12px;
  font-weight: 600;
}

.tabs button:hover,
.tabs button.active {
  color: #409eff;
  border-bottom-color: #409eff;
  background: transparent;
}

.tabs button.active .tab-count {
  color: #f56c6c;
}

.card-workflow {
  display: none;
}

.step {
  min-height: 58px;
  background: #fff;
  padding: 10px 12px;
}

.step strong {
  display: block;
  margin-bottom: 5px;
  font-size: 13px;
}

.step span {
  color: var(--muted);
  font-size: 12px;
}

.row-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
}

.row-actions button {
  height: 24px;
  min-width: 42px;
  padding: 0 6px;
  font-size: 12px;
  line-height: 22px;
}

.card-secret-panel th,
.card-secret-panel td {
  font-size: 12px;
}

.card-secret-panel input[type="checkbox"] {
  width: 14px;
  min-width: 14px;
  height: 14px;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  box-sizing: border-box;
  appearance: auto;
}

.sms-template-wrap textarea {
  min-height: 50px;
}

.sms-template-wrap input,
.sms-template-wrap textarea {
  width: 100%;
  min-width: 0;
}

.toast {
  position: fixed;
  z-index: 2000;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 720px;
  border-radius: 4px;
  color: #fff;
  background: #303133;
  padding: 10px 16px;
  box-shadow: 0 8px 24px rgba(20, 30, 50, .18);
  font-size: 14px;
}

.toast.error {
  background: #ed4014;
}

.busy-notice {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 1945;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 220px;
  max-width: 420px;
  padding: 10px 18px;
  border-radius: 6px;
  background: rgba(43, 105, 255, .94);
  color: #fff;
  text-align: center;
  box-shadow: 0 8px 24px rgba(20, 30, 50, .18);
  font-size: 14px;
  line-height: 1.5;
}

.busy-gear {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, .42);
  border-top-color: #fff;
  border-radius: 50%;
  animation: busy-gear-spin .8s linear infinite;
  flex: 0 0 auto;
}

@keyframes busy-gear-spin {
  to {
    transform: rotate(360deg);
  }
}

.next-dialog-mask {
  position: fixed;
  z-index: 1950;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .32);
}

.next-dialog {
  width: 420px;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--figma-v2-line);
  border-radius: var(--figma-v2-radius);
  background: #fff;
  box-shadow: 0 20px 60px rgba(20, 30, 50, .20);
}

.generate-secret-dialog {
  width: min(1180px, calc(100vw - 48px));
}

.generate-secret-dialog .next-dialog-body {
  min-height: 520px;
  padding: 18px 24px;
}

.generate-dialog-head {
  position: relative;
  min-height: 48px;
}

.activate-card-dialog {
  width: 420px;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.deadline-dialog {
  width: 520px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}

.activate-dialog-head {
  position: relative;
  text-align: center;
}

.generate-dialog-head .dialog-close,
.activate-dialog-head .dialog-close,
.deadline-dialog-head .dialog-close {
  position: absolute;
  top: 10px;
  right: 12px;
  min-width: 24px;
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  color: #b4b8c0;
  font-size: 18px;
  line-height: 22px;
}

.deadline-dialog-head {
  position: relative;
}

.activate-card-body {
  display: grid;
  gap: 14px;
}

.activate-proof-line {
  gap: 8px;
}

.activate-proof-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 18px 12px;
  border: 1px dashed #c8d3e0;
  border-radius: 8px;
  background: #fafbfd;
  text-align: center;
}

.activate-proof-dropzone.is-dragover {
  border-color: #409eff;
  background: #ecf5ff;
  box-shadow: inset 0 0 0 1px #409eff;
}

.activate-proof-drop-hint {
  color: #697586;
  font-size: 13px;
  line-height: 1.5;
}

.activate-proof-dropzone[aria-busy="true"] {
  opacity: .65;
}

.activate-proof-button {
  justify-self: start;
}

.activate-proof-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.activate-proof-preview:empty {
  display: none;
}

.activate-proof-item {
  position: relative;
  width: 72px;
  height: 72px;
}

.activate-proof-item img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #dcdfe6;
}

.activate-proof-item button {
  position: absolute;
  top: 2px;
  right: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  border-radius: 3px;
  border: 1px solid #dcdfe6;
  background: #fff;
  color: #737b87;
  box-shadow: none;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}

.activate-proof-item button:hover {
  background: #f3f4f6;
  color: #303133;
}

.card-proof-thumbs {
  display: inline-flex;
  gap: 4px;
  margin-left: 6px;
  vertical-align: middle;
}

.card-proof-thumb {
  width: 28px;
  height: 28px;
  object-fit: cover;
  border-radius: 3px;
  border: 1px solid #dcdfe6;
}

.activate-card-body p {
  color: #606266;
  font-size: 13px;
}

.required-line span {
  color: #303133;
}

.required-line b {
  color: #f56c6c;
  font-weight: 400;
}

.activate-dialog-foot {
  display: block;
}

.activate-dialog-foot .primary {
  width: 100%;
  height: 34px;
}

.deadline-dialog-body {
  min-height: 120px;
  padding-top: 16px;
  display: grid;
  gap: 14px;
}

.deadline-dialog-tip {
  margin: 0;
  color: #7b8794;
  font-size: 12px;
  line-height: 18px;
}

.deadline-scope-lines {
  display: grid;
  gap: 8px;
}

.deadline-scope-lines label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #303133;
  font-size: 13px;
}

.deadline-scope-lines input[type="radio"] {
  width: 14px;
  height: 14px;
  margin: 0;
}

.deadline-form-line {
  display: grid;
  grid-template-columns: 76px 1fr;
  align-items: center;
  gap: 10px;
  color: #606266;
  font-size: 13px;
}

.deadline-form-line input {
  height: 32px;
}

.deadline-date-field { min-width: 0; }
.deadline-date-field .deadline-form-line { grid-template-columns: 76px minmax(0, 1fr); }
.card-date-tools, .card-date-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.card-date-tools small { color: #606266; }
.card-date-calendar { margin-top: 10px; padding: 12px; border: 1px solid #dcdfe6; border-radius: 6px; background: #fff; }
.card-date-calendar[hidden] { display: none; }
.card-date-nav { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.card-date-nav label { display: flex; align-items: center; gap: 3px; min-width: 0; }
.card-date-nav input { width: 82px; min-width: 0; padding: 4px; }
.card-date-nav select { width: 68px; padding: 4px; }
.card-date-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin-top: 12px; text-align: center; }
.card-date-grid span { color: #606266; line-height: 30px; }
.card-date-calendar button { min-width: 0; min-height: 34px; padding: 4px 8px; }
.card-date-grid button[aria-pressed="true"] { color: #fff; background: #9f2334; border-color: #9f2334; }
.card-date-calendar button:focus-visible, .card-date-nav input:focus-visible, .card-date-nav select:focus-visible { outline: 2px solid #9f2334; outline-offset: 2px; }
@media (max-width: 540px) {
  .deadline-dialog { width: calc(100vw - 24px); max-width: calc(100vw - 24px); }
  .deadline-date-field .deadline-form-line { grid-template-columns: 64px minmax(0, 1fr); }
  .card-date-calendar { padding: 8px; }
}

.deadline-message-line {
  align-items: start;
}

.deadline-message-line textarea {
  width: 100%;
  min-height: 88px;
  padding: 8px 10px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  resize: vertical;
  font-size: 13px;
  line-height: 20px;
  color: #303133;
}

.deadline-dialog-body .rule-message-actions {
  margin-top: -8px;
}

.deadline-dialog-foot {
  display: block;
}

.deadline-dialog-foot .primary {
  width: 100%;
  height: 34px;
}

.next-dialog-head {
  border-bottom: 1px solid #ebeef5;
  padding: 14px 16px;
}

.next-dialog-head strong {
  color: #303133;
  font-size: 15px;
}

.next-dialog-body {
  padding: 16px;
}

.next-dialog-body input {
  width: 100%;
  min-width: 0;
}

.next-dialog-body p {
  margin: 0;
  color: #606266;
  line-height: 1.7;
  white-space: pre-line;
}

.next-dialog-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid #ebeef5;
  padding: 12px 16px;
}

.next-dialog-foot button {
  height: 30px;
  min-width: 64px;
  padding: 0 12px;
}

/* MALL-927(老大截图「编辑页面太小」):改规格、改商品名称的弹窗加宽,多行框自动换行,下面显示字数(超出变红)。
   写成 .next-dialog.next-dialog-long-text,压过 .next-dialog 的 420px 与窄屏的屏宽 − 20px。 */
.next-dialog.next-dialog-long-text {
  width: min(640px, calc(100vw - 20px));
}

.next-dialog-body .next-dialog-textarea {
  display: block;
  width: 100%;
  min-height: 96px;
  box-sizing: border-box;
  padding: 8px 10px;
  font: inherit;
  line-height: 1.6;
  resize: vertical;
  overflow-wrap: anywhere;
}

.next-dialog-count {
  margin-top: 6px;
  color: #909399;
  font-size: 12px;
  text-align: right;
}

.next-dialog-count.over {
  color: #d03050;
}

.recon-history-dialog { width: 640px; max-height: 90vh; display: flex; flex-direction: column; }
.recon-history-dialog .next-dialog-body { overflow-y: auto; min-height: 0; }
.recon-history-dialog .next-dialog-head, .recon-history-dialog .next-dialog-foot { flex-shrink: 0; }
.recon-history-dialog section + section { border-top: 1px solid #ebeef5; margin-top: 16px; padding-top: 16px; }
.recon-history-dialog .recon-note-text, .data-table .recon-note-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.data-table .recon-note-text { max-width: 360px; }

.generate-secret-tabs {
  display: flex;
  border-bottom: 1px solid #e4e7ed;
  margin: -4px -24px 18px;
  padding: 0 24px;
}

.generate-secret-tabs button {
  height: 38px;
  min-width: 130px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #606266;
}

.generate-secret-tabs button.active {
  border-bottom-color: #409eff;
  color: #409eff;
}

.generate-secret-pane {
  display: none;
}

.generate-secret-pane.active {
  display: grid;
  gap: 16px;
}

.dialog-tips {
  border: 1px solid #ebeef5;
  background: #fafafa;
  padding: 10px 12px;
}

.dialog-tips p {
  margin: 0 0 4px;
}

.import-notice-box {
  display: grid;
  gap: 4px;
  border-radius: 4px;
  background: #fff7e6;
  padding: 26px 28px;
}

.import-notice-box p {
  color: #303133;
  font-size: 14px;
  line-height: 1.6;
}

.generate-import-flow {
  display: grid;
  gap: 16px;
  margin: 0;
  padding-left: 24px;
}

.generate-import-flow section {
  color: #606266;
  line-height: 1.6;
}

.generate-import-flow h4 {
  margin: 0 0 8px;
  color: #303133;
  font-size: 15px;
  font-weight: 500;
}

.generate-import-flow p {
  color: #606266;
  font-size: 14px;
}

.import-template-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin: 8px 0 12px;
}

.import-template-radios label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #606266;
  font-size: 14px;
}

.import-template-radios input {
  width: 14px;
  height: 14px;
}

.generate-import-flow [data-action="download-secret-import-template"],
.generate-import-flow [data-action="choose-secret-import-file"] {
  height: 34px;
  min-width: 118px;
  padding: 0 14px;
}

.generate-import-flow #generateSecretImportFileName {
  margin-left: 10px;
  color: #909399;
  font-size: 13px;
}

.manual-copy-mask {
  position: fixed;
  z-index: 1900;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .32);
}

.manual-copy-dialog {
  width: 520px;
  max-width: calc(100vw - 40px);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(20, 30, 50, .22);
  padding: 16px;
}

.manual-copy-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.manual-copy-head strong {
  color: #303133;
  font-size: 15px;
}

.manual-copy-head button {
  height: 28px;
  min-width: 54px;
  padding: 0 10px;
  font-size: 12px;
}

.manual-copy-dialog p {
  margin: 0 0 10px;
  color: #606266;
  font-size: 13px;
}

.manual-copy-dialog textarea {
  width: 100%;
  min-width: 0;
  min-height: 180px;
  resize: vertical;
  line-height: 1.7;
}

.loading {
  cursor: wait;
}

.loading .menu-main-container {
  opacity: .72;
}

.next-admin input[type="checkbox"],
.next-admin input[type="radio"] {
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 0 4px 0 0;
  padding: 0 !important;
  flex: 0 0 14px;
  box-sizing: border-box;
  vertical-align: middle;
}

.next-admin input[type="checkbox"] {
  position: relative;
  appearance: none !important;
  border: 1px solid #b7c2d0;
  border-radius: 50%;
  background: #fff;
}

.next-admin input[type="checkbox"]:checked {
  border-color: #409eff;
  background: #409eff;
}

.next-admin input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 4px;
  height: 4px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  transform: none;
}

.next-admin input[type="checkbox"]:indeterminate {
  border-color: #409eff;
  background: #409eff;
}

.next-admin input[type="checkbox"]:indeterminate::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 5px;
  width: 6px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
}

.next-admin input[type="radio"] {
  accent-color: #409eff;
}

.top-nav-wrapper {
  min-height: 100vh;
}

.top-nav-header {
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  line-height: normal;
  padding: 0 28px;
}

.topbar-brand {
  flex: 0 0 auto;
  height: 55px;
  gap: 14px;
  color: #fff;
  white-space: nowrap;
}

.topbar-brand strong {
  font-size: 18px;
  font-weight: 600;
  line-height: 20px;
}

.topbar-brand span {
  color: #eaf0ff;
  font-size: 14px;
  font-weight: 400;
}

.topbar-brand .app-version,
.admin-login-brand .app-version {
  display: inline;
  margin-left: 4px;
  white-space: nowrap;
  letter-spacing: 0;
}

.topbar-brand .app-version {
  color: rgba(226, 232, 240, .68);
  font-size: 11px;
  font-weight: 600;
}

.admin-login-brand .app-version {
  display: inline-block;
  margin-left: 0;
  padding: 2px 8px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 4px;
  color: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

/* 版本号后面的「更新」:与顶栏「刷新」同一套视觉语言,只是小一号。
   选择器带上 .topbar-brand 是为了压过后台里那几条泛 button 规则 —— 这类按钮被泛规则吞掉样式,本仓撞过三回。 */
.topbar-brand .app-update {
  display: inline-flex;
  align-items: center;
  height: 22px;
  min-width: 0;
  min-height: 0;
  margin: 0 0 0 8px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
  font-weight: 450;
  line-height: 20px;
  box-shadow: none;
  vertical-align: middle;
  cursor: pointer;
}

.topbar-brand .app-update:hover {
  border-color: rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .14);
  color: #fff;
}

.topbar-brand .app-update:disabled { opacity: .6; cursor: default; }
/* 平时隐藏(老大 2026-09-26):上面的 display:inline-flex 会压过 hidden 属性,须显式收回。 */
.topbar-brand .app-update[hidden] { display: none; }

/* 发现线上已是新版本:亮起来,不用人去猜要不要点。 */
.topbar-brand .app-update.is-available {
  border-color: #f5b041;
  background: #f5b041;
  color: #1f2a37;
  font-weight: 600;
}

.top-nav {
  flex: 1 1 auto;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  padding: 0 20px;
}

.top-nav button {
  width: auto;
  height: 55px;
  min-width: 108px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #eaf0ff;
  padding: 0 24px;
  text-align: center;
  line-height: 55px;
  font-size: 15px;
  font-weight: 400;
}

.top-nav button:hover,
.top-nav button.active {
  color: #fff !important;
  background: rgba(255, 255, 255, .14) !important;
  box-shadow: inset 0 -3px 0 #fff;
}

.top-nav-header .right-box {
  float: none;
  flex: 0 0 auto;
  height: 55px;
  display: flex;
  align-items: center;
  gap: 12px;
  line-height: normal;
}

.top-nav-header .topbar-title {
  max-width: 150px;
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
}

.top-nav-header .topbar-refresh {
  height: 30px;
  min-width: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 16px;
  line-height: 28px;
}

.top-nav-wrapper .menu-main-container {
  margin-left: 0;
}

.top-nav-wrapper .app-main {
  padding: 84px 32px 96px;
}

@media (max-width: 1360px) {
  .metrics {
    grid-template-columns: repeat(3, minmax(190px, 1fr));
  }
}

@media (max-width: 1180px) {
  .enterprise-login-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .enterprise-login-preview {
    justify-content: center;
  }
}

@media (max-width: 1280px) {
  .upload-line {
    grid-template-columns: 1fr;
  }

  .form-grid,
  .entry-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .form-grid .wide {
    grid-column: span 2;
  }
}

/* admin-premium-layout-contract: keep the backend calm, spacious, and product-grade. */
.next-admin {
  background:
    linear-gradient(180deg, #f8fbff 0, var(--premium-bg) 260px),
    var(--premium-bg);
}

.top-nav-header {
  height: 60px;
  padding: 0 32px;
  background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 48%, #0f766e 100%);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .16);
}

.topbar-brand {
  height: 60px;
}

.topbar-brand strong {
  font-size: 19px;
  font-weight: 650;
  letter-spacing: 0;
}

.topbar-brand span,
.top-nav-header .topbar-title {
  color: rgba(255, 255, 255, .82);
}

.top-nav {
  height: 60px;
  gap: 8px;
}

.top-nav button {
  height: 36px;
  min-width: 98px;
  border-radius: 8px;
  color: rgba(255, 255, 255, .82);
  line-height: 36px;
  font-size: 14px;
}

.top-nav button:hover,
.top-nav button.active {
  background: rgba(255, 255, 255, .18) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.top-nav-header .right-box {
  height: 60px;
}

.topbar-refresh,
.topbar-logout,
.top-nav-header .topbar-refresh {
  height: 34px;
  border-radius: 8px;
  border-color: rgba(255, 255, 255, .36);
  background: rgba(255, 255, 255, .12);
}

.top-nav-wrapper .app-main {
  padding: 88px 34px 96px;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 360px),
    var(--premium-bg);
}

.panel,
.container-box,
.metric,
.entry-portal-page,
.goods-list-panel,
.goods-editor-panel,
.order-main > .panel,
.settings-panel {
  border: 1px solid var(--premium-border);
  border-radius: 8px;
  background: var(--premium-surface);
  box-shadow: var(--premium-shadow-soft);
}

.panel {
  padding: 24px;
}

.panel-head {
  padding-bottom: 18px;
}

.panel h2,
.box-title {
  color: var(--premium-text);
  font-size: 16px;
  font-weight: 600;
}

.hint {
  color: var(--premium-muted);
}

button {
  height: 34px;
  border-color: var(--premium-border-strong);
  border-radius: 7px;
  color: #4b5563;
  background: #fff;
  transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

button:hover {
  color: var(--premium-blue);
  border-color: #a9c7ff;
  background: #f3f7ff;
  box-shadow: 0 3px 10px rgba(37, 99, 235, .08);
}

button.primary {
  border-color: var(--premium-blue);
  background: linear-gradient(180deg, #3b82f6, var(--premium-blue));
  box-shadow: 0 8px 18px rgba(37, 99, 235, .18);
}

button.primary:hover {
  border-color: #1d4ed8;
  background: linear-gradient(180deg, #4f8df8, #1d4ed8);
  box-shadow: 0 10px 22px rgba(37, 99, 235, .22);
}

input,
select,
textarea {
  border-color: var(--premium-border-strong);
  border-radius: 7px;
  color: var(--premium-text);
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #8bb8ff;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

th {
  height: 44px;
  color: #607086;
  background: var(--premium-surface-soft);
  font-weight: 600;
}

td {
  color: #526173;
}

tbody tr:hover td {
  background: #f8fbff;
}

.metrics {
  gap: 18px;
}

.metric {
  min-height: 118px;
  border: 1px solid var(--premium-border);
  border-left: 4px solid rgba(37, 99, 235, .72);
  padding: 24px 28px;
}

.metric span {
  color: var(--premium-muted);
  font-size: 14px;
}

.metric strong {
  color: var(--premium-text);
  font-size: 34px;
}

.settings-workspace,
.order-workspace,
.goods-workspace,
.card-workspace {
  gap: 18px;
  margin: -18px;
  background: transparent;
}

.settings-subnav,
.order-subnav,
.goods-subnav,
.card-subnav {
  border: 1px solid var(--premium-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--premium-shadow-soft);
}

.settings-subnav button,
.order-subnav button,
.goods-subnav button,
.card-subnav button,
.enterprise-card-menu button {
  border-radius: 7px;
  color: #3f4a5c;
}

.settings-subnav button:hover,
.settings-subnav button.active,
.order-subnav button:hover,
.order-subnav button.active,
.goods-subnav button:hover,
.goods-subnav button.active,
.card-subnav button:hover,
.card-subnav button.active,
.enterprise-card-menu button:hover,
.enterprise-card-menu button.active {
  border-left-color: transparent;
  color: var(--premium-blue);
  background: var(--premium-blue-soft);
}

.settings-main,
.order-main,
.goods-main,
.card-main {
  padding: 26px 28px 86px;
  border: 1px solid var(--premium-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  box-shadow: var(--premium-shadow);
}

.brand-house-side {
  padding: 4px 12px 16px;
}

.brand-house-side input {
  height: 36px;
  border-radius: 8px;
}

.brand-house-side-list {
  gap: 8px;
}

.brand-house-side-list button {
  border-radius: 8px;
  padding: 11px 12px;
}

.brand-house-side-list button:hover,
.brand-house-side-list button.active {
  border-color: #a9c7ff;
  background: #eef5ff;
  box-shadow: inset 3px 0 0 var(--premium-blue);
}

.brand-house-side-list b {
  background: #dfeeff;
}

.entry-portal-page {
  padding: 32px 34px 54px;
}

.entry-card,
.entry-create-tile,
.batch-cover-card,
.order-filter-panel,
.order-batch-ship-box,
.order-export-filter-card {
  border-radius: 8px;
  border-color: var(--premium-border);
  box-shadow: var(--premium-shadow-soft);
}

/* brand-house-grid-premium-layout: keep the brand house index refined and non-duplicative. */
.entry-portal-page {
  overflow: hidden;
  padding: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, .92), #fff 170px);
}

.entry-page-head {
  min-height: 176px;
  align-items: flex-start;
  margin: 0;
  padding: 30px 34px 26px;
  border-bottom: 1px solid var(--premium-border);
  background:
    radial-gradient(circle at 12% 0, rgba(37, 99, 235, .10), transparent 280px),
    linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
}

.entry-page-title-block {
  max-width: 640px;
}

.entry-page-kicker {
  display: inline-flex;
  align-items: center;
  height: 24px;
  margin-bottom: 10px;
  padding: 0 10px;
  border: 1px solid #cfe0ff;
  border-radius: 999px;
  background: #edf4ff;
  color: var(--premium-blue);
  font-size: 12px;
  font-weight: 500;
}

.entry-page-head h2 {
  color: var(--premium-text);
  font-size: 22px;
  font-weight: 650;
}

.entry-page-head p {
  max-width: 560px;
  color: #687588;
  line-height: 1.75;
}

.entry-page-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.entry-page-stats span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--premium-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  color: #69778a;
  font-size: 13px;
}

.entry-page-stats b {
  color: var(--premium-text);
  font-weight: 650;
}

.entry-page-tools {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.entry-search-wrap {
  position: relative;
  display: block;
}

.entry-search-wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 12px;
  width: 12px;
  height: 12px;
  border: 2px solid #95a3b8;
  border-radius: 50%;
  transform: translateY(-50%);
}

.entry-search-wrap::after {
  content: "";
  position: absolute;
  top: 20px;
  left: 23px;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  background: #95a3b8;
  transform: rotate(45deg);
}

.entry-search-wrap input {
  width: 260px;
  min-width: 260px;
  height: 38px;
  padding-left: 36px;
  background: rgba(255, 255, 255, .88);
}

.entry-portal-grid {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 22px;
  padding: 28px 34px 42px;
}

.entry-card {
  height: 420px;
  border-color: #dde6f2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(31, 41, 55, .06);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.entry-card:hover {
  border-color: #a9c7ff;
  box-shadow: 0 16px 34px rgba(31, 41, 55, .10);
  transform: translateY(-2px);
}

.entry-cover {
  height: 178px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .18), rgba(15, 23, 42, 0)),
    #c92333;
}

.entry-cover-placeholder {
  font-size: 27px;
  font-weight: 650;
}

.entry-status {
  top: 10px;
  right: 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .66);
  padding: 4px 10px;
}

.entry-status.ok {
  background: rgba(5, 150, 105, .92);
}

.entry-info {
  padding: 17px 18px 8px;
  text-align: left;
}

.entry-info strong {
  color: var(--premium-text);
  font-size: 15px;
  font-weight: 650;
}

.entry-info span {
  margin-top: 7px;
  color: var(--premium-muted);
}

.entry-meta {
  justify-content: flex-start;
  gap: 8px;
  padding: 0 18px;
}

.entry-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #f2f6fb;
  color: #718096;
}

.entry-menu-url {
  margin: 13px 18px 0;
  border-color: #e3ebf5;
  border-radius: 7px;
  background: #f8fafc;
}

.entry-menu-url span {
  color: #718096;
}

.entry-menu-url input {
  color: #445166;
}

.entry-actions {
  justify-content: flex-start;
  padding: 14px 18px 18px;
}

.entry-actions button {
  height: 30px;
  border-radius: 6px;
}

.entry-create-tile {
  height: 300px;
  border-color: #b9d1ff;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(237, 244, 255, .82), #fff);
}

.entry-empty-panel {
  min-height: 260px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  grid-column: 1 / -1;
  border: 1px dashed #c8d6e8;
  border-radius: 8px;
  background: #fbfdff;
  color: var(--premium-muted);
}

.entry-empty-panel strong {
  color: var(--premium-text);
  font-size: 16px;
  font-weight: 600;
}

/* admin-premium-typography-controls-contract: refined font, controls, tables, and spacing. */
body,
button,
input,
select,
textarea {
  font-family: var(--premium-font);
  letter-spacing: 0;
}

body {
  color: #263241;
  font-weight: 400;
}

.top-nav-header {
  height: 62px;
  padding: 0 34px;
  background: linear-gradient(135deg, #1e40af 0%, #2563eb 52%, #0f766e 100%);
}

.topbar-brand {
  height: 62px;
}

.topbar-brand strong {
  font-size: 20px;
  font-weight: 650;
}

.topbar-brand span {
  font-size: 13px;
}

.top-nav {
  height: 62px;
}

.top-nav button {
  height: 38px;
  min-width: 104px;
  border-radius: var(--premium-radius);
  line-height: 38px;
  font-size: 14px;
  font-weight: 450;
}

.top-nav button.active {
  font-weight: 550;
}

.top-nav-header .right-box {
  height: 62px;
}

.top-nav-header .topbar-title {
  font-size: 13px;
}

.topbar-refresh,
.topbar-logout,
.top-nav-header .topbar-refresh {
  height: 34px;
  min-width: 72px;
  border-radius: var(--premium-radius);
  font-weight: 450;
}

button {
  min-width: 72px;
  height: 36px;
  border-radius: var(--premium-radius);
  padding: 0 16px;
  color: #445166;
  font-size: 14px;
  font-weight: 450;
  box-shadow: var(--premium-control-shadow);
}

button.primary {
  font-weight: 520;
}

button:active {
  transform: translateY(1px);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(37, 99, 235, .26);
  outline-offset: 2px;
}

input,
select,
textarea {
  min-height: 36px;
  border-radius: var(--premium-radius);
  color: #263241;
  font-size: 14px;
  box-shadow: var(--premium-control-shadow);
}

input::placeholder,
textarea::placeholder {
  color: #9aa6b7;
}

textarea {
  line-height: 1.68;
}

.panel,
.container-box,
.settings-panel,
.order-main > .panel,
.goods-list-panel,
.goods-editor-panel,
.entry-portal-page {
  border-radius: var(--premium-radius);
}

.panel h2,
.box-title {
  font-size: 17px;
  font-weight: 620;
}

.hint,
.panel p,
.entry-page-head p {
  font-size: 13px;
}

.toolbar {
  gap: 10px;
}

.settings-main,
.order-main,
.goods-main,
.card-main {
  background: rgba(255, 255, 255, .82);
}

.settings-subnav,
.order-subnav,
.goods-subnav,
.card-subnav {
  padding: 12px 8px;
}

.settings-subnav button,
.order-subnav button,
.goods-subnav button,
.card-subnav button,
.enterprise-card-menu button {
  height: 40px;
  padding: 0 14px;
}

.settings-subnav button:hover,
.settings-subnav button.active,
.order-subnav button:hover,
.order-subnav button.active,
.goods-subnav button:hover,
.goods-subnav button.active,
.card-subnav button:hover,
.card-subnav button.active,
.enterprise-card-menu button:hover,
.enterprise-card-menu button.active {
  box-shadow: inset 3px 0 0 var(--premium-blue);
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

th,
td {
  height: 46px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.5;
}

th {
  color: #66758a;
  background: var(--premium-table-head);
  font-weight: 600;
}

td {
  color: #4f5d70;
}

tbody tr:hover td {
  background: var(--premium-row-hover);
}

.table-wrap,
.order-xty-list,
.settings-table-wrap {
  border: 1px solid var(--premium-border);
  border-radius: var(--premium-radius);
  background: #fff;
  box-shadow: var(--premium-shadow-soft);
}

.goods-list-table th,
.order-xty-list th,
.settings-table th,
.secret-batch-table th,
.secret-history-table th,
.entry-batch-table th {
  background: var(--premium-table-head);
}

.order-filter-panel,
.order-export-filter-card,
.order-batch-import-card,
.entry-menu-url,
.goods-form,
.form-grid label,
.settings-form-grid label {
  border-radius: var(--premium-radius);
}

.entry-page-head {
  background:
    radial-gradient(circle at 8% 0, rgba(37, 99, 235, .07), transparent 260px),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.entry-page-kicker {
  font-weight: 520;
}

.entry-page-head h2 {
  font-size: 24px;
  font-weight: 650;
}

.entry-page-tools .primary {
  min-width: 112px;
}

.entry-card {
  border-color: #e0e8f2;
}

.entry-card:hover {
  box-shadow: 0 18px 40px rgba(31, 41, 55, .11);
}

.entry-info strong {
  font-size: 16px;
  font-weight: 620;
}

.entry-actions button {
  font-size: 12px;
  font-weight: 480;
}

.entry-actions {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: auto;
  padding: 14px 18px 18px;
}

.entry-actions button {
  width: 100%;
  height: 34px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 520;
}

.entry-action-primary {
  border-color: #2563eb;
  background: linear-gradient(135deg, #2563eb, #3b82f6);
  color: #fff;
  box-shadow: 0 8px 16px rgba(37, 99, 235, .18);
}

.entry-action-primary:hover {
  border-color: #1d4ed8;
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
}

.entry-action-secondary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
}

.entry-action-secondary button {
  border-color: #d8e3f2;
  background: #f8fbff;
  color: #52637a;
  box-shadow: none;
}

.entry-action-secondary button:hover {
  border-color: #9dbcf5;
  background: #eef5ff;
  color: #2563eb;
}

.metric {
  border-radius: var(--premium-radius);
}

.tabs,
.order-list-panel .order-status-tabs,
.order-export-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  height: auto;
  margin: 0 0 18px;
  padding: 6px;
  border: 1px solid var(--premium-border);
  border-radius: var(--premium-radius);
  background: #f3f6fb;
}

.tabs button,
.order-list-panel .order-status-tabs button,
.order-export-tabs button {
  height: 34px;
  min-width: 86px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #58677c;
  box-shadow: none;
  font-size: 13px;
  font-weight: 460;
}

.tabs button:hover,
.tabs button.active,
.order-list-panel .order-status-tabs button:hover,
.order-list-panel .order-status-tabs button.active,
.order-export-tabs button:hover,
.order-export-tabs button.active {
  color: var(--premium-blue);
  background: #fff;
  box-shadow: 0 4px 12px rgba(31, 41, 55, .07);
}

.tabs button.active,
.order-list-panel .order-status-tabs button.active,
.order-export-tabs button.active {
  font-weight: 560;
}

.tabs .tab-count,
.order-list-panel .order-status-tabs .tab-count {
  margin-left: 4px;
  color: #ef4444;
  font-weight: 560;
}

/* admin-b-mix-visual-contract: backend uses B-density operations UI with light A-brand accents. */
body,
.next-admin,
.menu-main-container {
  color: var(--ops-text);
  background:
    linear-gradient(180deg, #f7f9fc 0, var(--ops-bg) 260px),
    var(--ops-bg);
}

.top-nav-header {
  height: 62px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: linear-gradient(90deg, var(--ops-shell) 0%, var(--ops-shell-2) 100%);
  box-shadow: 0 12px 30px rgba(15, 31, 51, .2);
}

.topbar-brand strong {
  color: #fff;
  font-weight: 700;
}

.topbar-brand span,
.top-nav-header .topbar-title {
  color: rgba(226, 232, 240, .76);
}

.top-nav button {
  color: rgba(226, 232, 240, .82);
  background: transparent;
  box-shadow: none;
}

.top-nav button:hover,
.top-nav button.active {
  color: #fff !important;
  background: rgba(255, 255, 255, .09) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .1),
    inset 0 -2px 0 rgba(185, 139, 61, .9);
}

.topbar-refresh,
.topbar-logout,
.top-nav-header .topbar-refresh {
  border-color: rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .9);
}

.topbar-refresh:hover,
.topbar-logout:hover,
.top-nav-header .topbar-refresh:hover {
  border-color: rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .14);
  color: #fff;
}

.top-nav-wrapper .app-main {
  background:
    linear-gradient(180deg, rgba(15, 31, 51, .035), transparent 220px),
    var(--ops-bg);
}

.metrics {
  gap: 16px;
}

.metric {
  min-height: 112px;
  border: 1px solid var(--ops-border);
  border-left: 3px solid rgba(163, 36, 46, .72);
  background: var(--ops-panel);
  box-shadow: var(--premium-shadow-soft);
}

.metric:hover {
  border-color: #cbd6e4;
  box-shadow: 0 12px 30px rgba(15, 31, 51, .08);
}

.metric strong {
  color: var(--ops-text);
}

.panel,
.container-box,
.entry-portal-page,
.goods-list-panel,
.goods-editor-panel,
.order-main > .panel,
.settings-panel,
.order-filter-panel,
.order-export-filter-card,
.order-batch-import-card,
.entry-editor-section,
.settings-manage-panel,
.card-secret-panel {
  border-color: var(--ops-border);
  background: var(--ops-panel);
  box-shadow: var(--premium-shadow-soft);
}

.settings-main,
.order-main,
.goods-main,
.card-main {
  border-color: var(--ops-border);
  background: rgba(255, 255, 255, .72);
  box-shadow: var(--premium-shadow);
}

.settings-subnav,
.order-subnav,
.goods-subnav,
.card-subnav,
.enterprise-card-menu,
.brand-house-side {
  border-color: var(--ops-border);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--premium-shadow-soft);
}

.settings-subnav button,
.order-subnav button,
.goods-subnav button,
.card-subnav button,
.enterprise-card-menu button,
.brand-house-side-list button {
  color: #405067;
  font-weight: 480;
}

.settings-subnav button:hover,
.settings-subnav button.active,
.order-subnav button:hover,
.order-subnav button.active,
.goods-subnav button:hover,
.goods-subnav button.active,
.card-subnav button:hover,
.card-subnav button.active,
.enterprise-card-menu button:hover,
.enterprise-card-menu button.active,
.brand-house-side-list button:hover,
.brand-house-side-list button.active {
  color: var(--ops-accent);
  border-color: #f0c7cc;
  background: var(--ops-accent-soft);
  box-shadow: inset 3px 0 0 var(--ops-accent);
}

.brand-house-side-list b,
.badge,
.tab-count {
  color: var(--ops-accent);
  background: #fde8eb;
}

button.primary,
.entry-action-primary {
  border-color: var(--ops-accent);
  background: linear-gradient(180deg, #b72c38, var(--ops-accent));
  color: #fff;
  box-shadow: 0 10px 22px rgba(163, 36, 46, .18);
}

button.primary:hover,
.entry-action-primary:hover {
  border-color: var(--ops-accent-deep);
  background: linear-gradient(180deg, #be3340, var(--ops-accent-deep));
  color: #fff;
  box-shadow: 0 12px 26px rgba(163, 36, 46, .22);
}

button:hover {
  color: var(--ops-accent);
  border-color: #f0c7cc;
  background: #fff7f8;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #d48b94;
  box-shadow: 0 0 0 3px rgba(163, 36, 46, .11);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-color: rgba(163, 36, 46, .28);
}

.tabs,
.order-list-panel .order-status-tabs,
.order-export-tabs {
  border-color: var(--ops-border);
  background: #edf2f7;
}

.tabs button:hover,
.tabs button.active,
.order-list-panel .order-status-tabs button:hover,
.order-list-panel .order-status-tabs button.active,
.order-export-tabs button:hover,
.order-export-tabs button.active {
  color: var(--ops-accent);
  background: #fff;
}

th,
.goods-list-table th,
.order-xty-list th,
.settings-table th,
.secret-batch-table th,
.secret-history-table th,
.entry-batch-table th,
.entry-batch-dialog-table th {
  color: #5f6f84;
  background: var(--premium-table-head);
}

td {
  color: #46566b;
}

tbody tr:hover td {
  background: var(--premium-row-hover);
}

tr.active td {
  color: var(--ops-accent);
  background: var(--ops-accent-soft);
}

.entry-page-head {
  min-height: 156px;
  background:
    linear-gradient(90deg, rgba(15, 31, 51, .035), transparent 58%),
    #fff;
}

.entry-page-kicker {
  border-color: #ead2b0;
  color: var(--ops-gold);
  background: #fff8ed;
}

.entry-page-head h2,
.panel h2,
.box-title,
.entry-editor-head h2 {
  color: var(--ops-text);
}

.entry-page-stats span,
.entry-meta span {
  border-color: var(--ops-border);
  background: #f6f8fb;
  color: var(--ops-muted);
}

.entry-page-stats b {
  color: var(--ops-accent);
}

.entry-portal-grid {
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 20px;
  background: #fff;
}

.entry-card {
  height: 400px;
  border-color: var(--ops-border);
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 31, 51, .06);
}

.entry-card:hover {
  border-color: #d4a0a6;
  box-shadow: 0 18px 36px rgba(15, 31, 51, .10);
}

.entry-cover {
  height: 156px;
  background:
    linear-gradient(135deg, rgba(163, 36, 46, .55) 0%, rgba(163, 36, 46, .22) 28%, rgba(15, 31, 51, 0) 58%),
    linear-gradient(135deg, #14263d 0%, #17314d 54%, #0f1f33 100%);
}

.entry-cover-placeholder {
  color: rgba(255, 255, 255, .92);
  font-size: 25px;
  font-weight: 650;
}

.entry-status {
  background: rgba(15, 31, 51, .76);
}

.entry-status.ok {
  background: rgba(15, 118, 110, .92);
}

.entry-info strong {
  color: var(--ops-text);
}

.entry-menu-url {
  border-color: var(--ops-border);
  background: #f8fafc;
}

.entry-actions {
  gap: 8px;
}

.entry-action-secondary button {
  border-color: var(--ops-border);
  background: #f8fafc;
  color: #516176;
}

.entry-action-secondary button:hover {
  border-color: #f0c7cc;
  background: #fff7f8;
  color: var(--ops-accent);
}

.entry-create-tile {
  border-color: #e6c7ad;
  background: linear-gradient(180deg, #fffaf2, #fff);
}

.entry-create-tile strong {
  color: var(--ops-accent);
}

.entry-editor-head,
.entry-batch-head,
.panel-head {
  border-bottom-color: var(--ops-border);
}

.entry-batch-section,
.entry-editor-section {
  border-color: var(--ops-border);
}

.entry-batch-head h3:before,
.entry-editor-section h3:before {
  background: var(--ops-accent);
}

.goods-sale-badge.yes,
.entry-status.ok,
.status-tag.success {
  color: #047857;
  background: #dcfce7;
}

.goods-sale-badge.no,
.status-tag.warning {
  color: #92400e;
  background: #fef3c7;
}

.order-inline-btn,
.row-actions button,
.goods-list-actions button,
.entry-batch-table button.small {
  border-color: var(--ops-border);
  background: #fff;
}

.order-inline-btn:hover,
.row-actions button:hover,
.goods-list-actions button:hover,
.entry-batch-table button.small:hover {
  color: var(--ops-accent);
  border-color: #f0c7cc;
  background: #fff7f8;
}

/* figma-premium-v2-admin-implementation: Figma V2 B-density operations UI with restrained A-brand accents. */
body,
.next-admin,
.menu-main-container,
.top-nav-wrapper .app-main {
  color: var(--figma-v2-text);
  background: var(--figma-v2-rice);
}

.top-nav-header {
  height: 58px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  background: linear-gradient(90deg, var(--figma-v2-ink) 0%, #132a43 52%, var(--figma-v2-ink-2) 100%);
  box-shadow: 0 2px 8px rgba(16, 27, 46, .12);
}

.top-nav button {
  min-width: 84px;
  color: rgba(255, 255, 255, .78);
  font-weight: 500;
}

.top-nav button:hover,
.top-nav button.active {
  color: #fff !important;
  background: rgba(255, 255, 255, .10) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .10),
    inset 0 -2px 0 var(--figma-v2-gold);
}

.topbar-refresh,
.topbar-logout,
.top-nav-header .topbar-refresh {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .90);
}

.settings-main,
.order-main,
.goods-main,
.card-main {
  border: 1px solid var(--figma-v2-line);
  background: var(--figma-v2-panel);
  box-shadow: var(--figma-v2-shadow);
}

.panel,
.container-box,
.entry-portal-page,
.goods-list-panel,
.goods-editor-panel,
.order-main > .panel,
.settings-panel,
.order-filter-panel,
.order-export-filter-card,
.order-batch-import-card,
.entry-editor-section,
.settings-manage-panel,
.card-secret-panel {
  border: 1px solid var(--figma-v2-line);
  background: var(--figma-v2-panel);
  box-shadow: var(--figma-v2-shadow-soft);
}

.settings-subnav,
.order-subnav,
.goods-subnav,
.card-subnav,
.enterprise-card-menu,
.brand-house-side {
  border: 1px solid var(--figma-v2-line);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--figma-v2-shadow-soft);
}

.settings-subnav button,
.order-subnav button,
.goods-subnav button,
.card-subnav button,
.enterprise-card-menu button,
.brand-house-side-list button {
  height: 38px;
  color: #354258;
  font-size: 14px;
  font-weight: 400;
}

.settings-subnav button:hover,
.settings-subnav button.active,
.order-subnav button:hover,
.order-subnav button.active,
.goods-subnav button:hover,
.goods-subnav button.active,
.card-subnav button:hover,
.card-subnav button.active,
.enterprise-card-menu button:hover,
.enterprise-card-menu button.active,
.brand-house-side-list button:hover,
.brand-house-side-list button.active {
  color: var(--figma-v2-accent);
  border-color: #ead2c8;
  background: var(--figma-v2-accent-soft);
  box-shadow: inset 3px 0 0 var(--figma-v2-accent);
}

.brand-house-side-list span {
  font-size: 14px;
  font-weight: 400;
}

.brand-house-side-list b,
.badge,
.tab-count,
.entry-page-stats b {
  color: var(--figma-v2-accent);
  background: #fbe9e7;
}

button.primary,
.entry-action-primary {
  border-color: var(--figma-v2-accent);
  background: linear-gradient(180deg, #9f2632, var(--figma-v2-accent));
  color: #fff;
  box-shadow: 0 1px 2px rgba(143, 29, 42, .12);
}

button.primary:hover,
.entry-action-primary:hover {
  border-color: var(--figma-v2-accent-deep);
  background: linear-gradient(180deg, #a92a36, var(--figma-v2-accent-deep));
  color: #fff;
}

button:hover {
  color: var(--figma-v2-accent);
  border-color: #ead2c8;
  background: #fff7f5;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #b45a65;
  box-shadow: 0 0 0 3px rgba(143, 29, 42, .10);
}

th,
.goods-list-table th,
.order-xty-list th,
.settings-table th,
.secret-batch-table th,
.secret-history-table th,
.entry-batch-table th,
.entry-batch-dialog-table th {
  height: 46px;
  color: #596579;
  background: var(--figma-v2-table-head);
}

td {
  color: #344054;
}

tbody tr:hover td {
  background: #fafbfc;
}

.entry-page-head {
  min-height: 148px;
  border-bottom: 1px solid var(--figma-v2-line);
  background:
    linear-gradient(90deg, rgba(184, 138, 69, .10), transparent 58%),
    var(--figma-v2-panel);
}

.entry-page-kicker {
  border-color: #ead2b0;
  color: var(--figma-v2-gold);
  background: #fff8ed;
}

.entry-page-stats span,
.entry-meta span {
  border-color: var(--figma-v2-line);
  background: #fffaf2;
  color: var(--figma-v2-muted);
}

.entry-portal-grid {
  gap: 22px;
  background: var(--figma-v2-panel);
}

.entry-card {
  border-color: var(--figma-v2-line);
  background: #fff;
  box-shadow: 0 8px 24px rgba(16, 27, 46, .055);
}

.entry-card:hover {
  border-color: #d3b18e;
  box-shadow: 0 18px 38px rgba(16, 27, 46, .10);
}

.entry-cover {
  background:
    linear-gradient(135deg, rgba(143, 29, 42, .78) 0%, rgba(143, 29, 42, .38) 34%, rgba(16, 27, 46, .08) 70%),
    linear-gradient(135deg, var(--figma-v2-ink) 0%, #1c3348 62%, var(--figma-v2-ink-2) 100%);
}

.entry-status.ok,
.status-tag.success {
  color: #047857;
  background: #dcfce7;
}

.entry-menu-url {
  border-color: #eee1d1;
  background: #fffaf2;
}

.entry-action-secondary {
  gap: 8px;
}

.entry-action-secondary button {
  border-color: #eee1d1;
  background: #fffaf2;
  color: #5b6474;
}

.entry-action-secondary button:hover {
  border-color: #e0b9aa;
  background: #fff4f2;
  color: var(--figma-v2-accent);
}

.order-list-panel .order-status-tabs,
.tabs,
.order-export-tabs {
  border-color: var(--figma-v2-line);
  background: #f5efe6;
}

.order-list-panel .order-status-tabs button:hover,
.order-list-panel .order-status-tabs button.active,
.tabs button:hover,
.tabs button.active,
.order-export-tabs button:hover,
.order-export-tabs button.active {
  color: var(--figma-v2-accent);
  background: #fff;
}

.order-xty-list tr.order-head-row td {
  background: #fffaf2;
}

.order-inline-btn,
.row-actions button,
.goods-list-actions button,
.entry-batch-table button.small {
  border-color: #eee1d1;
  background: #fff;
}

.order-inline-btn:hover,
.row-actions button:hover,
.goods-list-actions button:hover,
.entry-batch-table button.small:hover {
  color: var(--figma-v2-accent);
  border-color: #e0b9aa;
  background: #fff4f2;
}

/* figma-premium-v2-admin-refinement-pass: second-pass density and hierarchy against the Figma V2 operating console. */
.top-nav-wrapper .app-main {
  padding: calc(var(--figma-v2-topbar-height) + 20px) 22px 32px;
}

.card-workspace,
.goods-workspace,
.order-workspace,
.settings-workspace {
  gap: 16px;
  margin: 0;
}

.settings-main,
.order-main,
.goods-main,
.card-main {
  border-radius: var(--figma-v2-radius);
}

.panel,
.container-box,
.entry-portal-page,
.goods-list-panel,
.goods-editor-panel,
.order-main > .panel,
.settings-panel,
.order-filter-panel,
.order-export-filter-card,
.order-batch-import-card,
.entry-editor-section,
.settings-manage-panel,
.card-secret-panel {
  border-radius: var(--figma-v2-radius);
}

.settings-subnav,
.order-subnav,
.goods-subnav,
.card-subnav,
.enterprise-card-menu,
.brand-house-side {
  border-radius: var(--figma-v2-radius);
}

.brand-house-side {
  width: 190px;
  padding: 18px 14px;
}

.brand-house-side-head {
  margin-bottom: 12px;
}

.brand-house-side input {
  height: 36px;
  border-color: #e5d9c8;
  border-radius: var(--figma-v2-radius-sm);
  background: #fffdfa;
}

.brand-house-side-list {
  gap: 6px;
}

.brand-house-side-list button {
  height: 40px;
  padding: 0 10px;
  border-radius: 10px;
}

.brand-house-side-list b,
.badge,
.tab-count,
.entry-page-stats b {
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
}

.entry-portal-page {
  overflow: hidden;
}

.entry-page-head {
  min-height: 132px;
  padding: 28px 32px 22px;
}

.entry-page-title-block h2,
.entry-page-title-block strong {
  color: var(--figma-v2-text);
  font-weight: 650;
  letter-spacing: 0;
}

.entry-page-title-block p {
  max-width: 640px;
  color: var(--figma-v2-muted);
  line-height: 1.75;
}

.entry-page-tools input {
  height: 38px;
  border-color: #e5d9c8;
  border-radius: var(--figma-v2-radius-sm);
  background: #fffdfa;
}

.entry-page-tools button,
.entry-batch-head button,
.entry-editor-head button,
.order-filter-actions button {
  height: 38px;
  border-radius: var(--figma-v2-radius-sm);
}

.entry-page-stats {
  gap: 8px;
}

.entry-page-stats span,
.entry-meta span {
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
}

.entry-portal-grid {
  grid-template-columns: repeat(auto-fill, minmax(252px, 292px));
  align-items: start;
  padding: 24px 32px 44px;
}

.entry-card {
  height: auto;
  min-height: 368px;
  overflow: hidden;
  border-radius: var(--figma-v2-radius);
}

.entry-cover {
  height: 132px;
}

.entry-cover-placeholder {
  font-size: 24px;
  font-weight: 650;
}

.entry-info {
  padding: 16px 18px 6px;
}

.entry-info strong {
  font-size: 15px;
  line-height: 1.45;
}

.entry-info p,
.entry-meta,
.entry-menu-url span {
  color: var(--figma-v2-muted);
}

.entry-menu-url {
  margin: 10px 18px 12px;
  padding: 9px 10px;
  border-radius: 9px;
}

.entry-menu-url input {
  font-size: 12px;
}

.entry-actions {
  padding: 0 18px 18px;
}

.entry-action-primary {
  height: 38px;
  border-radius: 9px;
}

.entry-action-secondary button {
  height: 34px;
  border-radius: 9px;
}

#entryPortalGrid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
  align-items: stretch;
}

#entryPortalGrid .entry-cover {
  flex: 0 0 132px;
}

#entryPortalGrid .entry-action-main {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 8px;
}

#entryPortalGrid .entry-actions button {
  min-width: 0;
  height: 36px;
  box-shadow: none;
}

#entryPortalGrid .entry-action-config {
  border-color: var(--figma-v2-line);
  background: #fff;
  color: var(--figma-v2-text);
}

#entryPortalGrid .entry-action-config:hover {
  border-color: #e0b9aa;
  background: #fff4f2;
  color: var(--figma-v2-accent);
}

@media (max-width: 600px) {
  #entryPortalGrid {
    padding: 16px;
  }
}

.entry-editor-workspace {
  background: rgba(255, 252, 248, .72);
}

.entry-editor-body {
  gap: 28px;
}

.entry-editor-section {
  padding: 22px 24px;
}

.entry-batch-section .entry-batch-head {
  align-items: center;
  padding-bottom: 14px;
}

.entry-batch-table,
.entry-batch-dialog-table,
.order-xty-list table,
.goods-list-table {
  overflow: hidden;
  border: 1px solid var(--figma-v2-line);
  border-radius: var(--figma-v2-radius);
}

.entry-batch-table th,
.entry-batch-dialog-table th,
.order-xty-list th,
.goods-list-table th,
.settings-table th,
.secret-batch-table th,
.secret-history-table th {
  height: 42px;
  background: var(--figma-v2-table-head);
  font-size: 12px;
  font-weight: 600;
}

.entry-batch-table td,
.entry-batch-dialog-table td,
.order-xty-list td,
.goods-list-table td,
.settings-table td,
.secret-batch-table td,
.secret-history-table td {
  height: 50px;
  background: var(--figma-v2-table-row);
}

.entry-batch-table tbody tr + tr td,
.entry-batch-dialog-table tbody tr + tr td,
.order-xty-list tbody tr + tr td,
.goods-list-table tbody tr + tr td {
  border-top-color: var(--figma-v2-line);
}

.entry-batch-table button.small,
.order-inline-btn,
.row-actions button,
.goods-list-actions button {
  min-width: 72px;
  height: 32px;
  border-radius: 8px;
  box-shadow: none;
}

/* MALL-266 ADM-7: 上面几层皮把 .goods-list-actions button 的 background 重置成 #fff,
   但 button.primary 的 color:#fff 没被重置 => 白字白底。.row-actions 当年已经这么补过一次,
   .goods-list-actions 漏了,导致「新增商城商品」「店家评价·提交」两个按钮在线上完全隐形。*/
.row-actions button.primary,
.goods-list-actions button.primary {
  color: #fff;
  border-color: var(--figma-v2-accent);
  background: linear-gradient(180deg, #9f2632, var(--figma-v2-accent));
}

.row-actions button.primary:hover,
.goods-list-actions button.primary:hover {
  color: #fff;
  border-color: var(--figma-v2-accent-deep);
  background: linear-gradient(180deg, #a92a36, var(--figma-v2-accent-deep));
}

.order-status-actions,
.row-actions,
.goods-list-actions {
  gap: 8px;
}

.goods-list-actions button.goods-delete-action,
.goods-list-actions button.goods-delete-action:hover {
  color: var(--red);
}

.order-status-actions .order-inline-btn,
.order-xty-list .order-inline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.entry-batch-dialog {
  border-radius: 14px;
}

.entry-batch-dialog .next-dialog-body {
  padding: 16px 18px 10px;
}

.entry-batch-dialog-toolbar {
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--figma-v2-line);
  border-radius: var(--figma-v2-radius);
  background: #fffaf2;
}

.entry-batch-dialog-toolbar input {
  height: 36px;
}

.entry-batch-dialog-page {
  justify-content: center;
  padding: 14px 0 4px;
}

.entry-batch-dialog .next-dialog-foot {
  padding: 14px 18px 18px;
  border-top: 1px solid var(--figma-v2-line);
}

.exchange-decoration-row.exchange-color-row {
  grid-template-columns: 90px minmax(360px, 1fr);
  background: #fffaf2;
  border-color: var(--figma-v2-line);
}

.exchange-color-fields {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.exchange-color-fields label {
  grid-template-columns: minmax(86px, max-content) 52px;
  height: 42px;
  border-color: var(--figma-v2-line);
  border-radius: 10px;
  background: #fffdfa;
}

.order-logistics-dialog .order-logistics-trace-section {
  min-height: 260px;
}

.order-logistics-dialog .order-logistics-trace-failed {
  min-height: 0;
}

.next-dialog.order-logistics-without-map {
  min-height: 0;
}

.order-logistics-without-map .order-logistics-body,
.order-logistics-dialog .order-logistics-text-only {
  align-content: start;
}

.order-logistics-without-map .order-logistics-trace-section {
  min-height: 0;
}

.order-logistics-dialog .order-logistics-text-only {
  grid-template-columns: minmax(0, 1fr);
}

.order-logistics-map-unavailable {
  margin: 0;
  padding: 12px;
  color: #606266;
  background: #f5f7fa;
}

.order-logistics-dialog .order-logistics-map {
  min-height: 260px;
}

/* brand-house-sidebar-balanced-frame: keep the left index substantial without input overflow. */
.brand-house-side {
  width: 224px;
  min-height: 132px;
  padding: 16px;
  gap: 10px;
}

.brand-house-side-head {
  min-height: 22px;
  margin: 0;
  padding: 0;
}

.brand-house-side-head strong {
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
}

.brand-house-side input#entrySidebarKeyword {
  width: 100%;
  min-width: 0;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0 12px;
  border-radius: 9px;
  font-size: 13px;
  line-height: 34px;
}

.brand-house-side-list {
  gap: 8px;
  margin-top: 8px;
}

.brand-house-side-list button {
  min-height: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 9px;
}

.brand-house-side-list b {
  min-width: 22px;
  height: 22px;
  line-height: 22px;
}

.entry-page-stats span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.entry-page-stats b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  line-height: 20px;
}

/* brand-house-config-sidebar-settings-nav: detail page uses settings navigation, not the brand list. */
.entry-config-workspace .card-subnav {
  padding: 16px;
}

.brand-house-config-side {
  width: 224px;
  min-height: 252px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(198, 178, 139, .58);
  border-radius: 12px;
  background: #fffdfa;
  box-shadow: 0 16px 34px rgba(21, 38, 61, .08);
}

.brand-house-config-side-head {
  display: grid;
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(198, 178, 139, .32);
}

.brand-house-config-side-head strong {
  color: #132238;
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
}

.brand-house-config-side-head span {
  min-width: 0;
  overflow: hidden;
  color: #7a8494;
  font-size: 13px;
  line-height: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-subnav .entry-config-side-button {
  min-height: 56px;
  height: auto;
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #1f2f46;
  text-align: left;
}

.card-subnav .entry-config-side-button b {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.card-subnav .entry-config-side-button span {
  overflow: hidden;
  color: #8a94a3;
  font-size: 12px;
  font-weight: 400;
  line-height: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-subnav .entry-config-side-button:hover,
.card-subnav .entry-config-side-button.active {
  border-color: rgba(168, 31, 53, .18);
  background: #fff2f0;
  color: #a81f35;
}

.card-subnav .entry-config-side-button.active span {
  color: #a66b72;
}

.entry-sms-section .entry-toggle-copy em {
  max-width: 520px;
}
.entry-search-limit-note {
  grid-column: 1 / -1;
  padding: 10px 12px;
  border: 1px solid #d9dde5;
  border-radius: 4px;
  background: #f7f8fa;
  color: #606266;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}

.entry-search-limit-note.sidebar {
  margin-top: 8px;
}

@media (max-width: 1100px) {
  .next-admin {
    --figma-v2-topbar-height: 102px;
  }

  html,
  body,
  #app,
  .next-admin,
  .app-wrapper,
  .top-nav-wrapper,
  .menu-main-container,
  .top-nav-wrapper .app-main {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body {
    overflow-x: hidden;
  }

  .admin-login-page {
    min-height: 100svh;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding: 24px 20px;
  }

  .admin-login-brand {
    width: 100%;
    text-align: center;
  }

  .admin-login-brand strong {
    margin-bottom: 16px;
    font-size: 36px;
  }

  .admin-login-brand .admin-login-system {
    margin-top: 8px;
    font-size: 28px;
  }

  .admin-login-brand .product-label {
    justify-content: center;
  }

  .admin-login-card {
    width: 100%;
    max-width: 430px;
    gap: 14px;
    margin: 0 auto;
    padding: 24px;
  }

  .admin-login-card h1 {
    font-size: 22px;
  }

  .admin-login-tabs button {
    padding: 0 8px;
    font-size: 13px;
    white-space: nowrap;
  }

  .top-nav-header {
    height: var(--figma-v2-topbar-height);
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 56px 46px;
    gap: 0 8px;
    align-items: center;
    overflow: hidden;
    padding: 0 10px;
  }

  .topbar-brand {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    height: 56px;
    gap: 0;
    overflow: hidden;
  }

  .topbar-brand span {
    display: none;
  }

  .topbar-brand strong {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 17px;
  }

  .top-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    height: 46px;
    justify-content: flex-start;
    gap: 2px;
    overflow-x: auto;
    overflow-y: hidden;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding: 0;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .top-nav::-webkit-scrollbar {
    display: none;
  }

  .top-nav button {
    height: 40px;
    min-width: 0;
    flex: 0 0 auto;
    padding: 0 12px;
    line-height: 40px;
    scroll-snap-align: start;
  }

  .top-nav-header .right-box {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    height: 56px;
    gap: 0;
  }

  .top-nav-header .topbar-title,
  .top-nav-header .topbar-refresh {
    display: none;
  }

  .topbar-logout {
    min-width: 0;
    margin-left: 0;
    padding: 0 9px;
  }

  .top-nav-wrapper .app-main {
    padding: calc(var(--figma-v2-topbar-height) + 14px) 12px 24px;
  }
}

/* system-settings-admin: single-owner settings and bounded responsive workspaces. */
html,
body,
#app,
.next-admin,
.app-wrapper,
.top-nav-wrapper,
.menu-main-container,
.top-nav-wrapper .app-main {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

body {
  overflow-x: hidden;
}

.top-nav-header,
.top-nav,
.top-nav-header .right-box,
.settings-workspace,
.settings-main,
.card-workspace,
.card-main,
.goods-workspace,
.goods-main,
.enterprise-card-workspace,
.entry-editor-workspace,
.entry-portal-page,
.goods-list-panel,
.goods-editor-panel {
  min-width: 0;
  max-width: 100%;
}

.top-nav {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}

.table-wrap,
.settings-table-wrap,
.settings-domain-table-wrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.settings-scope-label {
  display: grid;
  gap: 4px;
  padding: 8px 20px 14px;
  border-bottom: 1px solid var(--figma-v2-line, #e6dccb);
}

.settings-scope-label strong {
  color: var(--figma-v2-text, #172033);
  font-size: 14px;
}

.settings-scope-label span {
  color: var(--figma-v2-muted, #667085);
  font-size: 12px;
}

.settings-domain-panel {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.settings-domain-panel .panel-head > div:first-child {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.settings-domain-toolbar {
  min-width: 0;
  display: flex;
  align-items: end;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--figma-v2-line, #e6dccb);
  background: #fbfaf7;
}

.settings-domain-toolbar label {
  min-width: 220px;
  display: grid;
  gap: 6px;
  color: #475467;
  font-size: 13px;
  font-weight: 600;
}

.settings-domain-toolbar select {
  width: 100%;
  min-width: 0;
}

.settings-domain-state {
  min-height: 220px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 28px 18px;
  color: #667085;
  text-align: center;
}

.settings-domain-state strong {
  color: #344054;
  font-size: 15px;
}

.settings-domain-state.error strong {
  color: #9f1f2d;
}

.settings-domain-table {
  width: 100%;
  min-width: 860px;
}

.settings-domain-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.settings-domain-actions button {
  min-width: 64px;
  padding: 0 10px;
}

@media screen and (max-width: 720px) {
  .metrics {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .metric {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 18px 20px;
  }

  .metric span,
  .metric strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .settings-workspace,
  .card-workspace,
  .goods-workspace,
  .order-workspace,
  .enterprise-card-workspace {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: 0;
  }

  .entry-editor-body {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .entry-phone-preview {
    max-width: 100%;
    margin: 0 auto;
  }

  .settings-subnav,
  .goods-subnav,
  .order-subnav {
    position: static;
    width: 100%;
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: stretch;
    gap: 4px;
    overflow-x: auto;
    border-radius: 6px;
    padding: 6px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .settings-scope-label {
    min-width: 94px;
    flex: 0 0 auto;
    place-content: center;
    border-right: 1px solid var(--figma-v2-line, #e6dccb);
    border-bottom: 0;
    padding: 3px 10px;
  }

  .settings-subnav button,
  .goods-subnav button,
  .order-subnav button {
    width: auto;
    min-width: max-content;
    flex: 0 0 auto;
    border: 0;
    border-radius: 6px;
    padding: 0 12px;
    text-align: center;
  }

  .settings-subnav button:hover,
  .settings-subnav button.active,
  .goods-subnav button:hover,
  .goods-subnav button.active,
  .order-subnav button:hover,
  .order-subnav button.active {
    box-shadow: inset 0 -2px 0 var(--figma-v2-accent, #8f1d2a);
  }

  .card-subnav,
  .enterprise-card-side {
    position: static;
    width: 100%;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    border-radius: 6px;
  }

  .enterprise-card-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px;
  }

  .enterprise-card-menu button {
    width: 100%;
    min-width: 0;
    padding: 0 10px;
  }

  .settings-main,
  .card-main,
  .goods-main,
  .order-main {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border-radius: 6px;
    padding: 12px 12px 36px;
  }

  .settings-panel,
  .entry-portal-page,
  .goods-list-panel,
  .goods-editor-panel,
  .entry-editor-workspace,
  .entry-editor-section {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .form-grid,
  .entry-grid,
  .settings-form-grid,
  .sms-config-grid,
  .sms-admin-grid,
  .settings-role-template-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .form-grid .wide,
  .settings-form-grid .wide {
    grid-column: auto;
  }

  .next-admin input:not([type="checkbox"]):not([type="radio"]),
  .next-admin select,
  .next-admin textarea {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .settings-panel .panel-head,
  .entry-page-head,
  .goods-list-head,
  .goods-editor-head {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }

  .settings-domain-toolbar {
    align-items: stretch;
    flex-direction: column;
    padding: 12px;
  }

  .settings-domain-toolbar label {
    width: 100%;
    min-width: 0;
  }

  .settings-domain-toolbar button {
    align-self: flex-start;
  }

  .settings-domain-table-wrap {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .settings-domain-actions {
    justify-content: flex-start;
  }

  .next-dialog,
  .settings-dialog,
  .manual-copy-dialog {
    width: calc(100vw - 20px);
    min-width: 0;
    max-width: calc(100vw - 20px);
    max-height: calc(100svh - 20px);
  }
}

@media (max-width: 390px) {
  .top-nav-wrapper .app-main {
    padding-right: 10px;
    padding-left: 10px;
  }

  .settings-main,
  .card-main,
  .goods-main,
  .order-main {
    padding-right: 10px;
    padding-left: 10px;
  }

  .settings-panel .panel-head {
    padding-right: 12px;
    padding-left: 12px;
  }
}

@media (max-width: 340px) {
  .top-nav-header {
    padding-right: 6px;
    padding-left: 6px;
  }

  .topbar-brand strong {
    font-size: 15px;
  }

  .top-nav button {
    padding-right: 7px;
    padding-left: 7px;
  }

  .settings-scope-label span {
    display: none;
  }

  .settings-scope-label {
    min-width: 78px;
  }
}

/* owner-operations-dashboard-native-v1 */
.operations-dashboard {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 18px;
  color: #172033;
}

.operations-dashboard-header {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 4px 2px 18px;
  border-bottom: 1px solid #d7dee8;
}

.operations-dashboard-header > div:first-child {
  min-width: 0;
}

.operations-dashboard-eyebrow,
.operations-dashboard-panel-head > div > span {
  display: block;
  color: #9f1f2d;
  font-size: 12px;
  line-height: 18px;
  font-weight: 700;
}

.operations-dashboard-header h1 {
  margin: 4px 0 5px;
  color: #172033;
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
}

.operations-dashboard-header p {
  margin: 0;
  color: #667085;
  font-size: 13px;
  line-height: 20px;
}

.operations-dashboard-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.operations-dashboard-stage,
.operations-dashboard-metric-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 9px;
  border: 1px solid #d6c18e;
  border-radius: 999px;
  background: #fffaf0;
  color: #7a5611;
  font-size: 11px;
  line-height: 16px;
  font-weight: 700;
  white-space: nowrap;
}

.operations-dashboard-period {
  display: grid;
  grid-template-columns: repeat(3, minmax(58px, 1fr));
  min-width: 198px;
  padding: 3px;
  border: 1px solid #cfd8e5;
  border-radius: 6px;
  background: #eef2f7;
}

.operations-dashboard-period button {
  min-width: 0;
  height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
  color: #596579;
  font-size: 13px;
  font-weight: 600;
}

.operations-dashboard-period button:hover:not(:disabled) {
  background: rgba(255, 255, 255, .72);
  color: #172033;
}

.operations-dashboard-period button.active {
  background: #fff;
  color: #9f1f2d;
  box-shadow: 0 1px 4px rgba(15, 31, 51, .12);
}

.operations-dashboard-period button:disabled {
  cursor: wait;
  opacity: .66;
}

.operations-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.operations-dashboard-metric {
  min-width: 0;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 20px;
  border: 1px solid #d8e0ea;
  border-top: 3px solid #667085;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(15, 31, 51, .05);
}

.operations-dashboard-metric.tone-red { border-top-color: #a3242e; }
.operations-dashboard-metric.tone-blue { border-top-color: #275d9f; }
.operations-dashboard-metric.tone-green { border-top-color: #1f7a52; }
.operations-dashboard-metric.tone-gold { border-top-color: #b47a12; }
.operations-dashboard-metric.tone-teal { border-top-color: #0f766e; }
.operations-dashboard-metric.tone-neutral { border-top-color: #596579; }

.operations-dashboard-metric-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #596579;
  font-size: 13px;
  line-height: 20px;
  font-weight: 600;
}

.operations-dashboard-metric-head > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.operations-dashboard-metric-badge {
  min-height: 20px;
  padding: 1px 7px;
  font-size: 10px;
}

.operations-dashboard-metric > strong {
  display: block;
  margin-top: 10px;
  color: #172033;
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.operations-dashboard-metric > small {
  display: block;
  margin-top: 5px;
  color: #7a8495;
  font-size: 12px;
  line-height: 18px;
}

.operations-dashboard-layout {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}

.operations-dashboard-panel {
  min-width: 0;
  padding: 20px;
  border: 1px solid #d8e0ea;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(15, 31, 51, .045);
}

.operations-dashboard-trend-panel { grid-column: span 8; }
.operations-dashboard-status-panel { grid-column: span 4; }
.operations-dashboard-assets-panel { grid-column: span 4; }
.operations-dashboard-recent-panel { grid-column: span 8; }

.operations-dashboard-panel-head {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.operations-dashboard-panel-head h2 {
  margin: 2px 0 0;
  color: #172033;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
}

.operations-dashboard-panel-head small {
  color: #7a8495;
  font-size: 12px;
  line-height: 20px;
}

.operations-dashboard-trend-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 12px;
  color: #596579;
  font-size: 12px;
}

.operations-dashboard-trend-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.operations-dashboard-trend-legend i {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #667085;
}

.operations-dashboard-trend-legend i.tone-red,
.operations-dashboard-trend-bar.tone-red { background: #a3242e; }
.operations-dashboard-trend-legend i.tone-teal,
.operations-dashboard-trend-bar.tone-teal { background: #0f766e; }
.operations-dashboard-trend-legend i.tone-gold,
.operations-dashboard-trend-bar.tone-gold { background: #b47a12; }

.operations-dashboard-trend-scroll {
  position: relative;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  padding: 4px 0 2px;
}

.operations-dashboard-trend-chart {
  min-width: calc(var(--trend-days) * 34px);
  height: 202px;
  display: grid;
  grid-template-columns: repeat(var(--trend-days), minmax(28px, 1fr));
  gap: 4px;
  align-items: end;
  border-bottom: 1px solid #d8e0ea;
  background-image: linear-gradient(to bottom, #eef2f7 1px, transparent 1px);
  background-size: 100% 40px;
}

.operations-dashboard-trend-day {
  min-width: 0;
  height: 202px;
  display: grid;
  grid-template-rows: 176px 26px;
  align-items: end;
}

.operations-dashboard-trend-bars {
  min-width: 0;
  height: 168px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
}

.operations-dashboard-trend-bar {
  width: min(8px, 30%);
  height: max(2px, var(--bar-height));
  border-radius: 2px 2px 0 0;
  opacity: .9;
}

.operations-dashboard-trend-label {
  min-width: 0;
  min-height: 18px;
  color: #8a94a6;
  font-size: 10px;
  line-height: 18px;
  text-align: center;
  white-space: nowrap;
}

.operations-dashboard-chart-empty {
  position: absolute;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 10px;
  border: 1px solid #e0e6ee;
  border-radius: 4px;
  background: rgba(255, 255, 255, .94);
  color: #7a8495;
  font-size: 12px;
  white-space: nowrap;
}

.operations-dashboard-status-group + .operations-dashboard-status-group {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e6ebf1;
}

.operations-dashboard-status-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.operations-dashboard-status-heading strong {
  color: #344054;
  font-size: 13px;
}

.operations-dashboard-status-heading span {
  color: #8a94a6;
  font-size: 11px;
}

.operations-dashboard-status-list {
  display: grid;
  gap: 8px;
}

.operations-dashboard-status-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(60px, 1fr) 40px;
  align-items: center;
  gap: 8px;
  color: #667085;
  font-size: 11px;
}

.operations-dashboard-status-row > strong {
  color: #344054;
  font-size: 12px;
  text-align: right;
}

.operations-dashboard-status-track {
  height: 6px;
  overflow: hidden;
  border-radius: 3px;
  background: #edf1f5;
}

.operations-dashboard-status-track i {
  display: block;
  width: var(--status-width);
  height: 100%;
  border-radius: 3px;
  background: #667085;
}

.operations-dashboard-status-track i.tone-red { background: #a3242e; }
.operations-dashboard-status-track i.tone-teal { background: #0f766e; }

.operations-dashboard-assets {
  display: grid;
}

.operations-dashboard-asset-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(100px, 1fr) auto;
  gap: 2px 12px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #e6ebf1;
}

.operations-dashboard-asset-row:first-child { padding-top: 0; }
.operations-dashboard-asset-row:last-child { border-bottom: 0; }

.operations-dashboard-asset-row > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}

.operations-dashboard-asset-row > div strong {
  color: #344054;
  font-size: 13px;
}

.operations-dashboard-asset-row > div span {
  color: #7a5611;
  font-size: 10px;
  font-weight: 700;
}

.operations-dashboard-asset-row > b {
  color: #172033;
  font-size: 20px;
  line-height: 26px;
}

.operations-dashboard-asset-row > small {
  grid-column: 1 / -1;
  color: #8a94a6;
  font-size: 11px;
  line-height: 17px;
}

.operations-dashboard-recent-wrap {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

.operations-dashboard-recent-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.operations-dashboard-recent-table th,
.operations-dashboard-recent-table td {
  padding: 11px 12px;
  border-bottom: 1px solid #e6ebf1;
  color: #596579;
  font-size: 12px;
  line-height: 18px;
  text-align: left;
  white-space: nowrap;
}

.operations-dashboard-recent-table th {
  background: #f5f1e9;
  color: #475467;
  font-weight: 700;
}

.operations-dashboard-recent-table td strong {
  color: #344054;
  font-weight: 600;
}

.operations-dashboard-source {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  background: #fbeff0;
  color: #9f1f2d;
  font-size: 11px;
  font-weight: 700;
}

.operations-dashboard-source.mall {
  background: #e9f6f3;
  color: #0f6d65;
}

.operations-dashboard-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #d8e0ea;
  border-radius: 6px;
  background: #fff;
}

.operations-dashboard-actions > strong {
  color: #344054;
  font-size: 13px;
}

.operations-dashboard-actions > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.operations-dashboard-actions button {
  min-width: 90px;
  height: 34px;
  padding: 0 14px;
  font-size: 12px;
}

.operations-dashboard-state {
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 32px;
  border: 1px solid #d8e0ea;
  border-radius: 6px;
  background: #fff;
  color: #7a8495;
  text-align: center;
}

.operations-dashboard-state.compact {
  min-height: 160px;
  border: 0;
  padding: 18px;
  box-shadow: none;
}

.operations-dashboard-state strong {
  color: #344054;
  font-size: 14px;
}

.operations-dashboard-state span {
  font-size: 12px;
}

.operations-dashboard-spinner {
  width: 24px;
  height: 24px;
  border: 2px solid #d8e0ea;
  border-top-color: #9f1f2d;
  border-radius: 50%;
  animation: operations-dashboard-spin .8s linear infinite;
}

@keyframes operations-dashboard-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1200px) {
  .operations-dashboard-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operations-dashboard-trend-panel,
  .operations-dashboard-recent-panel {
    grid-column: 1 / -1;
  }

  .operations-dashboard-status-panel,
  .operations-dashboard-assets-panel {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .operations-dashboard-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .operations-dashboard {
    gap: 12px;
  }

  .operations-dashboard-header {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .operations-dashboard-header h1 {
    font-size: 20px;
    line-height: 28px;
    overflow-wrap: anywhere;
  }

  .operations-dashboard-header-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .operations-dashboard-stage {
    align-self: flex-start;
  }

  .operations-dashboard-period {
    width: 100%;
    min-width: 0;
  }

  .operations-dashboard-kpis,
  .operations-dashboard-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .operations-dashboard-trend-panel,
  .operations-dashboard-status-panel,
  .operations-dashboard-assets-panel,
  .operations-dashboard-recent-panel {
    grid-column: 1;
  }

  .operations-dashboard-metric {
    min-height: 116px;
    padding: 16px 18px;
  }

  .operations-dashboard-panel {
    padding: 16px;
  }

  .operations-dashboard-trend-chart {
    min-width: calc(var(--trend-days) * 32px);
  }

  .operations-dashboard-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .operations-dashboard-actions > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  .operations-dashboard-actions button {
    width: 100%;
    min-width: 0;
  }
}

.mall-admin-section {
  display: grid;
  gap: 18px;
}

.mall-admin-heading,
.mall-admin-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.mall-admin-heading h3,
.mall-admin-block-head h4,
.mall-admin-heading p {
  margin: 0;
}

.mall-admin-heading p,
.mall-admin-block-head span,
.mall-admin-table td small {
  display: block;
  margin-top: 4px;
  color: var(--figma-v2-muted, #7a8495);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

.mall-admin-heading a {
  color: var(--figma-v2-accent, #8f1d2a);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.mall-admin-block {
  min-width: 0;
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--figma-v2-line, #e6dccb);
  border-radius: var(--figma-v2-radius, 10px);
  background: #fff;
}

.mall-admin-block-head > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mall-admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mall-admin-form-grid label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: #596579;
  font-size: 12px;
}

.mall-admin-form-grid input,
.mall-admin-form-grid select,
.mall-admin-form-grid textarea,
.mall-admin-table input,
.mall-admin-table select {
  width: 100%;
  min-width: 110px;
}

.mall-admin-form-grid label > button {
  justify-self: start;
}

.mall-admin-wide {
  grid-column: 1 / -1;
}

.mall-admin-category-checks {
  display: grid;
  gap: 10px;
}

.mall-admin-category-checks > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.mall-admin-category-checks label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.mall-admin-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.mall-admin-sku-table {
  min-width: 1260px;
}

.mall-admin-table th,
.mall-admin-table td {
  padding: 10px;
  border-bottom: 1px solid var(--figma-v2-line, #e6dccb);
  text-align: left;
  vertical-align: top;
}

.mall-admin-table td strong {
  display: block;
}

.mall-admin-submit {
  display: flex;
  justify-content: flex-end;
}

.mall-admin-state {
  min-height: 180px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: var(--figma-v2-muted, #7a8495);
  text-align: center;
}

@media (max-width: 900px) {
  .mall-admin-heading,
  .mall-admin-block-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .mall-admin-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .mall-admin-wide {
    grid-column: auto;
  }
}

.mall-decoration-workspace .mall-admin-heading {
  align-items: flex-start;
}

.mall-decoration-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.mall-decoration-toolbar select {
  min-width: 110px;
}

.mall-decoration-body {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

.mall-decoration-editor {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mall-decoration-card {
  border: 1px solid #e6e6ef;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}

.mall-decoration-card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.mall-decoration-card-tools {
  display: flex;
  gap: 6px;
}

.mall-decoration-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}

.mall-decoration-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
  border: 1px dashed #e0e0ea;
  border-radius: 8px;
  padding: 8px;
}

.mall-decoration-row label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #5a5a6e;
  flex: 1 1 180px;
}

.mall-decoration-row-tools {
  display: flex;
  gap: 6px;
  align-items: center;
}

.mall-decoration-row-tools input[type='file'] {
  max-width: 170px;
  font-size: 12px;
}

.mall-decoration-fields label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #5a5a6e;
  max-width: 320px;
  margin-bottom: 8px;
}

.mall-decoration-goods-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mall-decoration-goods-checks label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #e6e6ef;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
}

.mall-decoration-goods-checks i {
  font-style: normal;
  color: #9a9aad;
  font-size: 11px;
}

.mall-decoration-notice-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #5a5a6e;
}

.mall-decoration-preview {
  flex: 0 0 300px;
  position: sticky;
  top: 12px;
}

.mall-decoration-phone {
  width: 280px;
  border: 6px solid #23232d;
  border-radius: 24px;
  overflow: hidden;
  background: #f5f5f7;
}

.mall-decoration-phone-head {
  background: #d92d20;
  color: #fff;
  text-align: center;
  padding: 10px 8px;
  font-size: 14px;
  font-weight: 600;
}

.mall-decoration-phone-body {
  min-height: 360px;
  max-height: 480px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
}

.mall-decoration-preview-empty {
  color: #9a9aad;
  font-size: 12px;
  text-align: center;
  padding: 40px 12px;
}

.mdp-banner {
  position: relative;
  height: 110px;
  border-radius: 8px;
  overflow: hidden;
  background: #e8e8ef;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9a9aad;
  font-size: 12px;
}

.mdp-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mdp-banner i {
  position: absolute;
  right: 6px;
  bottom: 6px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  border-radius: 8px;
  font-style: normal;
  font-size: 10px;
  padding: 2px 6px;
}

.mdp-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  background: #fff;
  border-radius: 8px;
  padding: 8px;
}

.mdp-nav span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: #4a4a5c;
}

.mdp-nav img,
.mdp-nav i {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f0f0f5;
  object-fit: cover;
}

.mdp-nav em {
  font-style: normal;
  max-width: 52px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mdp-cube {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

.mdp-cube img,
.mdp-cube span {
  width: 100%;
  height: 64px;
  border-radius: 8px;
  background: #e8e8ef;
  object-fit: cover;
}

.mdp-goods {
  background: #fff;
  border-radius: 8px;
  padding: 8px;
}

.mdp-goods strong {
  display: block;
  font-size: 13px;
  margin-bottom: 6px;
}

.mdp-goods > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.mdp-goods-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid #f0f0f5;
  border-radius: 8px;
  overflow: hidden;
  padding-bottom: 6px;
}

.mdp-goods-card img,
.mdp-goods-card i {
  width: 100%;
  height: 76px;
  background: #f0f0f5;
  object-fit: cover;
}

.mdp-goods-card em {
  font-style: normal;
  font-size: 11px;
  color: #33333f;
  padding: 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mdp-goods-card b {
  color: #d92d20;
  font-size: 12px;
  padding: 0 6px;
}

.mdp-notice {
  background: #fdf1ef;
  color: #b42318;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 11px;
}

.mdp-section-title {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 20px 12px 12px;
  position: relative;
  text-align: center;
}

.mdp-section-title::before {
  background: #e4e7ec;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
  top: 11px;
}

.mdp-section-title strong,
.mdp-section-title em {
  background: #fff;
  padding: 0 10px;
  position: relative;
}

.mdp-section-title em {
  color: #98a2b3;
  font-size: 9px;
  font-style: normal;
  letter-spacing: .18em;
}

.mdp-coupons {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 10px 8px;
}

.mdp-coupons span {
  background: #fff7ed;
  border: 1px dashed #f79009;
  border-radius: 8px;
  color: #b54708;
  font-size: 11px;
  padding: 12px 8px;
  text-align: center;
}

@media (max-width: 1080px) {
  .mall-decoration-body {
    flex-direction: column;
  }

  .mall-decoration-preview {
    position: static;
  }
}

.mall-coupon-workspace,
.mall-coupon-editor {
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}

.mall-coupon-search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 13px;
}

.mall-coupon-search input {
  flex: 0 1 280px;
  min-width: 0;
  max-width: 100%;
}

.mall-coupon-search-summary {
  margin: 12px 0 0;
}

.mall-coupon-table-wrap {
  overflow-x: auto;
  margin-top: 12px;
}

.mall-coupon-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 720px;
}

.mall-coupon-table th,
.mall-coupon-table td {
  border-bottom: 1px solid #ececf3;
  padding: 8px 10px;
  text-align: left;
  vertical-align: middle;
}

.mall-coupon-table th {
  color: #7a7a8c;
  font-weight: 600;
  background: #fafafd;
}

.mall-coupon-actions {
  display: flex;
  gap: 6px;
  white-space: nowrap;
}

.mall-coupon-editor .mall-coupon-form {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px 16px;
  margin-top: 12px;
}

.mall-coupon-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #5a5a6e;
}

.mall-coupon-form label[hidden] {
  display: none;
}

.mall-point-workspace .mall-decoration-toolbar input#mallPointUserId {
  border: 1px solid #e6e6ef;
  border-radius: 8px;
  min-height: 34px;
  padding: 4px 10px;
  width: 160px;
}

.mall-point-balance {
  font-size: 15px;
  margin: 12px 0;
}

.mall-point-balance strong {
  color: #d92d20;
  font-size: 20px;
}

.mall-point-form {
  align-items: end;
  margin-bottom: 14px;
}

.mall-point-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

/* MALL-30 批1a：商城商品编辑器改为水平表单 + 缩略图网格（逆向研究源结构，配色沿用现有浅底黑字）。 */
.mall-fsection {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  margin: 18px 0 0;
  background: #faf9f6;
  border-top: 1px solid #eeece6;
  border-bottom: 1px solid #eeece6;
  font-size: 13px;
  font-weight: 700;
  color: #55544e;
}
.mall-fsection span {
  font-weight: 400;
  font-size: 12px;
  color: #83817a;
}
.mall-fsection button {
  margin-left: auto;
}
.mall-frow {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 16px;
  padding: 13px 16px;
  align-items: start;
}
.mall-frow + .mall-frow {
  border-top: 1px solid #f5f4f0;
}
.mall-flabel {
  text-align: right;
  font-size: 13.5px;
  font-weight: 600;
  color: #55544e;
  padding-top: 7px;
  line-height: 1.4;
}
.mall-flabel.is-required::before {
  content: "*";
  color: #a6272e;
  margin-right: 3px;
}
.mall-fcontrol {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.mall-fcontrol > input,
.mall-fcontrol > select,
.mall-fcontrol > textarea {
  width: 100%;
  max-width: 520px;
}
.mall-ftip {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #83817a;
}
.mall-ftriple {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.mall-ftriple input {
  width: 150px;
}
.mall-fmanual {
  max-width: 520px;
}
.mall-fmanual > summary {
  cursor: pointer;
  font-size: 12px;
  color: #83817a;
  padding: 3px 0;
}
.mall-fmanual > summary:hover {
  color: #1a1a18;
}
.mall-fmanual input,
.mall-fmanual textarea {
  width: 100%;
  margin-top: 6px;
}
.mall-fsave {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  padding: 13px 16px;
  margin-top: 18px;
  border-top: 1px solid #e4e2dc;
  background: #faf9f6;
}
.mall-fsave-gap {
  flex: 1;
}
.mall-img-grid {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.mall-img-cell {
  position: relative;
  width: 84px;
  height: 84px;
  margin: 0;
  border: 1px solid #e4e2dc;
  border-radius: 8px;
  overflow: hidden;
  background: #f4f3ef;
}
.mall-img-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mall-img-x {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(24, 24, 22, 0.62);
  color: #fff;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}
.mall-img-x:hover {
  background: #a6272e;
}
.mall-img-ord {
  position: absolute;
  left: 4px;
  bottom: 4px;
  padding: 1px 5px;
  border-radius: 4px;
  background: rgba(24, 24, 22, 0.55);
  color: #fff;
  font-size: 10.5px;
  font-weight: 600;
}
.mall-img-add {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 84px;
  height: 84px;
  border: 1.5px dashed #d5d2c8;
  border-radius: 8px;
  background: #faf9f6;
  cursor: pointer;
  text-align: center;
}
.mall-img-add:hover {
  border-color: #a6272e;
  background: #fbeeee;
}
.mall-img-add input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.mall-img-add-plus {
  font-size: 19px;
  line-height: 1;
  color: #83817a;
}
.mall-img-add:hover .mall-img-add-plus {
  color: #a6272e;
}
.mall-img-add-text {
  font-size: 11.5px;
  color: #83817a;
}

/* MALL-30 批1b：商城商品列表——四态页签、筛选条、缩略图与状态徽章。 */
.mall-gtabs {
  display: flex;
  gap: 2px;
  padding: 0 16px;
  border-bottom: 1px solid #eeece6;
  overflow-x: auto;
}
.mall-gtab {
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #83817a;
  padding: 11px 14px;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
}
.mall-gtab:hover {
  color: #1a1a18;
}
.mall-gtab.is-active {
  color: #a6272e;
}
.mall-gtab.is-active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 2px;
  background: #a6272e;
  border-radius: 2px;
}
.mall-gtab span {
  margin-left: 5px;
  font-weight: 500;
  color: #83817a;
  font-variant-numeric: tabular-nums;
}
.mall-gfilters {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  padding: 12px 16px;
  border-bottom: 1px solid #eeece6;
}
.mall-gfilters label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: #83817a;
}
.mall-gcount {
  margin-left: auto;
  font-size: 12.5px;
  color: #83817a;
  font-variant-numeric: tabular-nums;
}
.mall-gcell {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 220px;
}
.mall-gthumb {
  width: 42px;
  height: 42px;
  flex: none;
  border-radius: 7px;
  border: 1px solid #e4e2dc;
  object-fit: cover;
  display: block;
  background: #f4f3ef;
}
.mall-gthumb.is-empty {
  background: repeating-linear-gradient(45deg, #f4f3ef, #f4f3ef 5px, #eeece6 5px, #eeece6 10px);
}
.mall-gname {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.mall-gname small {
  color: #83817a;
  font-variant-numeric: tabular-nums;
}
.mall-gid,
.mall-gnum {
  font-variant-numeric: tabular-nums;
}
.mall-gnum {
  text-align: right;
}
.mall-gid {
  color: #83817a;
}
.mall-gcat {
  display: inline-block;
  font-size: 11.5px;
  padding: 2px 7px;
  margin: 1px 3px 1px 0;
  border-radius: 5px;
  background: #eeece6;
  color: #55544e;
  white-space: nowrap;
}
.mall-gcat.is-empty {
  background: transparent;
  color: #a09e97;
  padding-left: 0;
}
.mall-gpill {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 999px;
  white-space: nowrap;
}
.mall-gpill.is-ok {
  background: #e8f4ec;
  color: #1e7a46;
}
.mall-gpill.is-warn {
  background: #fbf1e0;
  color: #9a6410;
}
.mall-gpill.is-idle {
  background: #efeee9;
  color: #6a6963;
}
.mall-gpill.is-crit {
  background: #fbeeee;
  color: #a6272e;
}

/* MALL-30 片2：列表勾选、批量条与行内排序。 */
.mall-gpick {
  width: 36px;
}
.mall-gsort {
  width: 68px;
  padding: 4px 7px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.mall-basic-fields {
  display: grid;
  gap: 14px;
  max-width: 760px;
}

.mall-basic-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: #606266;
}

.mall-basic-line > span:first-child {
  min-width: 84px;
}

.mall-basic-line .goods-radio {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

.mall-basic-range input[type="time"] {
  width: 120px;
}

.mall-comment-editor {
  margin-bottom: 16px;
}

.mall-comment-editor .mall-decoration-fields {
  max-width: 760px;
}

.mall-comment-editor textarea {
  width: 100%;
  min-height: 72px;
}

.mall-gtime {
  white-space: nowrap;
  color: #606266;
  font-size: 12px;
}

.mall-gfilter-sep {
  margin: 0 6px;
  color: #909399;
}

.mall-gbulk {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 16px;
  background: #fbeeee;
  border-bottom: 1px solid #f0dcdd;
}
.mall-gbulk[hidden] {
  display: none;
}
.mall-gbulk-n {
  font-size: 13.5px;
  font-weight: 600;
  color: #1a1a18;
}
.mall-gbulk-n b {
  color: #a6272e;
  font-variant-numeric: tabular-nums;
}
.mall-gbulk-gap {
  flex: 1;
}

/* MALL-31 片C：素材库选择器弹层（逆向研究源结构，配色沿用浅底黑字 + 暗红主色）。 */
/* MALL-202:素材库要能盖在装修设置对话框(z-index 1950)之上 —— 原来 900 被对话框遮罩压住,
   点什么都落在遮罩上,而首页布局加块现在必经这个对话框,素材库等于点不动。 */
#mediaPickerHost { position: relative; z-index: 2100; }
.mall-img-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}
.mall-img-add {
  width: 88px;
  height: 88px;
  flex: 0 0 auto;
  border: 1.5px dashed #d5d2c8;
  background: #faf9f6;
  color: #55544e;
  font: inherit;
  font-size: 11.5px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.mall-img-add-plus { font-size: 18px; line-height: 1; font-weight: 400; }
.mall-img-add:not([aria-disabled="true"]):hover { border-color: #a6272e; background: #fbeeee; color: #a6272e; }
.mall-img-add:focus-visible { outline: 2px solid #a6272e; outline-offset: 2px; }
.mall-img-add[aria-disabled="true"] { cursor: not-allowed; opacity: 0.62; }
/* 直传的 file 输入藏在「+ 添加图片」方格里,点方格即选文件。 */
.mall-img-file { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
/* 悬停才浮出的调序条：封面 = 图册首张是服务端强制的契约，这里是唯一的换封面手段。 */
.mall-img-tools {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  gap: 1px;
  background: rgba(26, 26, 24, 0.66);
  border-radius: 0 0 7px 7px;
  opacity: 0;
  transition: opacity 0.12s;
}
.mall-img-cell:hover .mall-img-tools,
.mall-img-cell:focus-within .mall-img-tools { opacity: 1; }
.mall-img-tools button {
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 10.5px;
  line-height: 20px;
  padding: 0 4px;
  cursor: pointer;
}
.mall-img-tools button:hover:not(:disabled) { background: rgba(255, 255, 255, 0.2); }
.mall-img-tools button:disabled { opacity: 0.42; cursor: not-allowed; }

/* 京东联盟选品采集：只读取当前联盟商品，导入结果固定为本地草稿。 */
.goods-jd-collect-panel {
  max-width: 1180px;
}
.goods-jd-query {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 10px;
}
.goods-jd-query select {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 360px;
}
.goods-jd-query button {
  flex: 0 0 auto;
}
.goods-jd-error {
  margin: 8px 0;
  color: #a6272e;
  font-size: 13px;
}
.goods-jd-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #e4e2dc;
  color: #68665f;
  font-size: 13px;
}
.goods-jd-result-head strong {
  color: #262621;
  font-size: 15px;
}
.goods-jd-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
  padding: 16px 0;
}
.goods-jd-card {
  overflow: hidden;
  border: 1px solid #e4e2dc;
  border-radius: 10px;
  background: #faf9f6;
}
.goods-jd-card > img {
  width: 100%;
  aspect-ratio: 1.35;
  display: block;
  background: #fff;
  object-fit: contain;
}
.goods-jd-card-body {
  padding: 14px;
}
.goods-jd-card-body small {
  color: #83817a;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.goods-jd-card-body h3 {
  margin: 5px 0 0;
  min-height: 42px;
  font-size: 15px;
  line-height: 1.45;
}
.goods-jd-card-price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}
.goods-jd-card-price strong {
  color: #a6272e;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.goods-jd-card-price span,
.goods-jd-card-body > p {
  color: #68665f;
  font-size: 12px;
}
.goods-jd-card-body > p {
  overflow: hidden;
  margin: 10px 0 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.goods-jd-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 16px;
}
.goods-jd-actions a {
  color: #55544e;
  font-size: 13px;
}
.goods-jd-pager {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding-top: 4px;
}
@media (max-width: 640px) {
  .goods-jd-query,
  .goods-jd-result-head,
  .goods-jd-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .goods-jd-query select {
    max-width: none;
  }
  .goods-jd-actions a {
    text-align: center;
  }
}

/* MALL-89:物流详情弹窗——第三方查询失败时的原因说明(弹窗照开,改号不受影响) */
.order-trace-error {
  padding: 14px 16px;
  border: 1px solid #f0c6c6;
  border-radius: 8px;
  background: #fdf2f2;
  color: #a42634;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-line;
}

.media-modal-mask {
  position: fixed;
  inset: 0;
  background: rgba(24, 24, 22, 0.42);
}
.media-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(1080px, calc(100vw - 40px));
  max-height: calc(100vh - 60px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e4e2dc;
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(24, 24, 22, 0.2);
  overflow: hidden;
}
.media-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid #efede7;
}
.media-modal-head h2 { margin: 0; font-size: 16px; font-weight: 650; }
.media-modal-x {
  border: 0;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  color: #83817a;
  cursor: pointer;
  padding: 2px 7px;
  border-radius: 6px;
}
.media-modal-x:hover { background: #efede7; color: #1a1a18; }
/* 高度钉死、行高 minmax(0,1fr):网格才会在弹窗**里面**滚,而不是被 overflow:hidden 截掉。 */
.media-modal-body {
  display: grid;
  grid-template-columns: 186px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  height: min(600px, calc(100vh - 200px));
  min-height: 0;
  overflow: hidden;
}
@media (max-width: 700px) { .media-modal-body { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); } }
.media-rail {
  border-right: 1px solid #efede7;
  padding: 12px;
  background: #faf9f6;
  overflow-y: auto;
}
.media-rail-head {
  font-size: 13px;
  font-weight: 600;
  color: #55544e;
  padding: 7px 10px;
  background: #fff;
  border: 1px solid #e4e2dc;
  border-radius: 7px;
  margin-bottom: 8px;
}
.media-rail-groups { display: flex; flex-direction: column; gap: 2px; }
.media-rail-item {
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
  font-size: 13.5px;
  color: #55544e;
  padding: 7px 10px;
  border-radius: 7px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.media-rail-item:hover { background: #efede7; color: #1a1a18; }
.media-rail-item[aria-selected="true"] { background: #fbeeee; color: #a6272e; font-weight: 600; }
.media-rail-item span { color: #83817a; font-variant-numeric: tabular-nums; font-weight: 400; }
.media-rail-item[aria-selected="true"] span { color: #a6272e; }
.media-pane { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.media-pane-top {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #efede7;
}
.media-pane-top input[type="search"] { flex: 1; min-width: 0; }
.media-search {
  border: 1px solid #e4e2dc;
  background: #fff;
  color: #55544e;
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  padding: 5px 11px;
  border-radius: 7px;
  cursor: pointer;
}
/* 2026-09-23 老大:「图片太小,没有完全展示」。原来 64px 的格子 + object-fit: cover,
   长图宽图被裁成一小块中心,认不出是哪张。照京东图片空间:格子放大,整张图完整装进格子。 */
.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
  gap: 12px;
  padding: 14px;
  align-content: start;
  overflow-y: auto;
  flex: 1;
}
/* 格子是 <button>,而本文件顶上有一条全局 `button { height: 34px; min-width: 68px }` ——
   原来这里没写 height,于是每张图的格子都被压成 34px 高,aspect-ratio 根本不生效,
   只有「上传图片」那格(<label>)是正常大小。这才是「图片太小」的真凶,不是网格列宽。 */
.media-cell {
  position: relative;
  width: 100%;
  height: auto;
  min-width: 0;
  aspect-ratio: 1 / 1;
  margin: 0 0 20px;
  padding: 0;
  border: 1px solid #e4e2dc;
  border-radius: 8px;
  overflow: visible;
  background: #f4f3ef;
  cursor: pointer;
}
.media-cell img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 7px;
}
.media-cell[aria-selected="true"] {
  border-color: #a6272e;
  box-shadow: 0 0 0 2px #a6272e inset;
}
.media-pick-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid #e4e2dc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: transparent;
}
.media-cell[aria-selected="true"] .media-pick-badge {
  background: #a6272e;
  border-color: #a6272e;
  color: #fff;
}
.media-cell-name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -19px;
  font-size: 12px;
  color: #83817a;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* MALL-31:已加入目标列表的素材——挂标说明,点击时弹提示,不进选中集。
   逆向 sc 后改轻:**不再把缩略图压暗**。缩略图是这个弹层唯一的识别依据,压到 38%
   就等于让人认不出自己在挑什么;改成虚线框 + 左上角小角标,图保持清晰。 */
.media-cell[aria-disabled="true"] { cursor: not-allowed; border-style: dashed; border-color: #d5d2c8; }
.media-cell-added {
  position: absolute;
  top: 4px;
  left: 4px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(26, 26, 24, 0.62);
  color: #fff;
  font-size: 10.5px;
  line-height: 17px;
  white-space: nowrap;
}
.media-cell-upload {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 1.5px dashed #d5d2c8;
  background: #faf9f6;
}
.media-cell-upload:hover { border-color: #a6272e; background: #fbeeee; }
.media-cell-upload input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.media-plus { font-size: 28px; line-height: 1; color: #83817a; }
.media-cell-upload:hover .media-plus { color: #a6272e; }
.media-upload-text { font-size: 12px; color: #83817a; }
.media-modal-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid #e4e2dc;
  background: #faf9f6;
  flex-wrap: wrap;
}
.media-foot-n { font-size: 13px; color: #83817a; }
.media-foot-n b { color: #a6272e; font-variant-numeric: tabular-nums; }
.media-foot-gap { flex: 1; }
.media-foot-pager { display: flex; gap: 4px; }
.media-foot-pager button {
  border: 1px solid #e4e2dc;
  background: #fff;
  color: #55544e;
  font: inherit;
  font-size: 12.5px;
  min-width: 27px;
  height: 27px;
  border-radius: 6px;
  cursor: pointer;
}
.media-foot-pager button[aria-current="page"] {
  background: #a6272e;
  border-color: #a6272e;
  color: #fff;
  font-weight: 600;
}
.media-modal-foot > button {
  border: 1px solid #e4e2dc;
  background: #fff;
  color: #55544e;
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 7px;
  cursor: pointer;
}
.media-modal-foot > button.primary {
  background: #a6272e;
  border-color: #a6272e;
  color: #fff;
}
.media-modal-foot > button:disabled { opacity: 0.45; cursor: not-allowed; }

/* MALL-31 片D：商品编辑页的「添加图片」入口（开素材库选择器）。
   逆向 sc 之后改成与缩略图同尺寸、排在行末的方格（MALL-32 §3 B2）：
   满额时就地置灰并写明 9/9，不再是「照常可点、点了才弹 toast」。 */
.mall-img-add:hover:not(:disabled) { border-color: #a6272e; background: #fbeeee; color: #a6272e; }
.mall-img-add:disabled { cursor: not-allowed; opacity: 0.62; }

/* MALL-31 片C-2：素材管理页（选择器的全屏版）。 */
.media-panel-body {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  border: 1px solid #e4e2dc;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
@media (max-width: 760px) { .media-panel-body { grid-template-columns: 1fr; } }
.media-panel-body .media-rail { border-right: 1px solid #efede7; }
.media-panel-body .media-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.media-panel-body .media-grid { max-height: 640px; }
.media-panel-bulk {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  padding: 10px 14px;
  margin-bottom: 10px;
  background: #fbeeee;
  border: 1px solid #f0dcdd;
  border-radius: 8px;
}
.media-panel-n { font-size: 13.5px; font-weight: 600; color: #1a1a18; }
.media-panel-n b { color: #a6272e; font-variant-numeric: tabular-nums; }
.media-panel-bulk button,
.media-panel-bulk select {
  border: 1px solid #e4e2dc;
  background: #fff;
  color: #55544e;
  font: inherit;
  font-size: 12.5px;
  padding: 5px 11px;
  border-radius: 7px;
  cursor: pointer;
}
.media-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 48px 0;
  text-align: center;
  font-size: 13px;
  color: #83817a;
}

/* MALL-31(逆向 sc 之后):素材库弹层统一壳——单字段「编辑分组」/「修改分组」/ 破坏性
   动作确认共用同一副骨架。研究源一次只处理一个分组(MALL-32 §2.1),原来那套「N 行输入框
   + 逐行删除 + 一次保存」的整体保存已退役:它无乐观锁会静默覆盖别人的改名,且把删除和
   新增焊在同一次无确认的提交里。 */
.media-group-modal { width: min(430px, calc(100vw - 40px)); }
.media-group-body {
  padding: 18px 20px 8px;
  overflow: auto;
}
.media-group-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.media-group-label {
  min-width: 68px;
  font-size: 13.5px;
  color: #55544e;
}
.media-group-label i { color: #a6272e; font-style: normal; }
.media-group-row input[type="text"],
.media-group-row select {
  flex: 1;
  min-width: 0;
  border: 1px solid #e4e2dc;
  border-radius: 7px;
  padding: 7px 10px;
  font: inherit;
  font-size: 13.5px;
  color: #1a1a18;
  background: #fff;
}
.media-group-row input[type="text"]:focus,
.media-group-row select:focus { outline: none; border-color: #a6272e; }
.media-group-tip {
  margin: 12px 0 8px;
  font-size: 12px;
  line-height: 1.7;
  color: #83817a;
}
.media-group-tip b { color: #a6272e; font-variant-numeric: tabular-nums; }
/* 素材管理页:上传入口(此前整页一个都没有)、常驻工具条、分组行的悬停改名/删除。 */
.media-panel-tools {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 0 12px;
  flex-wrap: wrap;
}
.media-upload-btn {
  border: 1px solid #a6272e;
  background: #a6272e;
  color: #fff;
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 7px;
  cursor: pointer;
}
.media-upload-btn:hover { background: #8f2028; border-color: #8f2028; }
.media-upload-btn input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.media-panel-hint { font-size: 12px; color: #83817a; }
.media-selall {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #55544e;
  white-space: nowrap;
}
.media-rail-row { display: flex; align-items: center; gap: 2px; }
.media-rail-row .media-rail-item { flex: 1; min-width: 0; }
.media-rail-act {
  opacity: 0;
  border: 0;
  background: transparent;
  color: #83817a;
  font: inherit;
  font-size: 11.5px;
  padding: 3px 5px;
  border-radius: 5px;
  cursor: pointer;
  white-space: nowrap;
}
.media-rail-row:hover .media-rail-act,
.media-rail-row:focus-within .media-rail-act { opacity: 1; }
.media-rail-act:hover { background: #efede7; color: #a6272e; }
.media-pager-gap { color: #83817a; padding: 0 2px; }
.media-foot-jump input[type="number"] {
  width: 46px;
  text-align: center;
  border: 1px solid #e4e2dc;
  border-radius: 6px;
  padding: 4px 2px;
  font: inherit;
  font-size: 12.5px;
}
.media-panel-bulk.is-idle { background: #faf9f6; }
.media-panel-bulk.is-idle .media-panel-n { color: #83817a; font-weight: 400; }
.media-panel-bulk button:disabled { opacity: 0.45; cursor: not-allowed; }

/* MALL-103 F8:退货地址设置 */
.mall-return-address-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.mall-return-address-form label{display:flex;flex-direction:column;font-size:12px;gap:4px;color:#555}
.mall-return-address-form input{padding:6px 8px;border:1px solid #d8d8d8;border-radius:6px;min-width:120px}

/* MALL-101 B4:满减配置台 */
.mall-full-reduce-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px}
.mall-full-reduce-form label{display:flex;flex-direction:column;font-size:12px;gap:4px;color:#555}
.mall-full-reduce-form input,.mall-full-reduce-form select{padding:6px 8px;border:1px solid #d8d8d8;border-radius:6px;min-width:110px}

/* M2-1 装修预览:秒杀/拼团楼层 + 营销入口 */
.mdp-floor{background:#fff;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.mdp-floor strong{font-size:13px;color:#8f1d2a}
.mdp-floor em{font-style:normal;font-size:11px;color:#999}
.mdp-marketing{background:#fff;border-radius:8px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:6px}
.mdp-marketing span{font-size:11px;background:#faf3ea;color:#8f1d2a;border-radius:10px;padding:2px 8px}
.mdp-popup{position:relative;background:#fff;border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:8px}
.mdp-popup img{width:44px;height:48px;object-fit:cover;border-radius:6px}
.mdp-popup span{font-size:12px;color:#999}
.mdp-popup i{font-style:normal;font-size:11px;color:#8f1d2a;background:#faf3ea;border-radius:10px;padding:2px 8px}
.mall-order-gift-mark{font-style:normal;background:#8f1d2a;color:#fff;font-size:11px;border-radius:3px;padding:1px 5px;margin-right:5px}

/* MALL-101 B8:评价管理(浅底黑字,与后台既有风格一致) */
.mall-admin-comment-config{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:12px;font-size:12.5px;color:#444}
.mall-admin-comment-config label{display:flex;align-items:center;gap:5px}
.mall-admin-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.mall-admin-chip{border:1px solid #ddd;background:#fff;border-radius:14px;padding:4px 14px;font-size:12.5px;color:#555;cursor:pointer}
.mall-admin-chip.is-active{border-color:#8f1d2a;color:#8f1d2a;background:#fdf4f5}
.mall-admin-comment-table td{vertical-align:top}
.mall-admin-comment-table tr.is-top td{background:#fbf7f1}
.mall-admin-comment-table td > div{display:inline-block;vertical-align:middle}
.mall-admin-comment-table strong{display:block;font-weight:500;font-size:13px}
.mall-admin-thumb{width:42px;height:42px;border-radius:6px;object-fit:cover;margin-right:8px;vertical-align:middle}
.mall-admin-grade{display:inline-block;font-size:11.5px;border-radius:9px;padding:1px 8px}
.mall-admin-grade.is-3{background:#fdeaea;color:#d0342c}
.mall-admin-grade.is-2{background:#fff2e2;color:#c9761e}
.mall-admin-grade.is-1{background:#eceff1;color:#5c6b73}
.mall-admin-comment-body{min-width:240px;font-size:13px;color:#333;line-height:1.6}
.mall-admin-comment-body textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d8d8d8;border-radius:6px;padding:6px 8px;font:inherit;font-size:12.5px;resize:vertical}
.mall-admin-comment-ops{white-space:nowrap}
.mall-admin-comment-ops button{display:block;margin:0 0 5px;min-width:88px}
.mall-admin-comment-pager{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:12.5px;color:#666}

/* B11:侧导航里的手机管理端外链(不是子页,所以做成链接样式而非按钮) */
.order-subnav-link{display:block;padding:9px 14px;font-size:13px;color:#8f1d2a;text-decoration:none;border-top:1px solid #eee;margin-top:6px}
.mall-admin-comment-shots{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mall-admin-comment-shots img{width:64px;height:64px;object-fit:cover;border-radius:6px;display:block}

/* MALL-101 B10:数据看板(浅底黑字 + 酒红主色,不抄研究源的蓝) */
.mall-dash-todos{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.mall-dash-todo{flex:1;height:auto;min-width:120px;border:1px solid #eee;background:#fff;border-radius:10px;padding:12px;text-align:left;cursor:pointer}
.mall-dash-todo:hover{border-color:#8f1d2a}
.mall-dash-todo strong{display:block;font-size:24px;color:#8f1d2a;line-height:1.2;font-variant-numeric:tabular-nums}
.mall-dash-todo span{display:block;font-size:12.5px;color:#86909c;margin-top:4px}
.mall-dash-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.mall-dash-metric{background:#faf9f7;border-radius:10px;padding:12px}
.mall-dash-metric span{display:block;font-size:12.5px;color:#86909c}
.mall-dash-metric strong{display:block;font-size:22px;color:#1f2329;margin-top:4px;font-variant-numeric:tabular-nums}
.mall-dash-metric-tabs{margin-bottom:4px}
.mall-dash-trend{width:100%;height:auto;display:block}
@media (max-width:900px){.mall-dash-metrics{grid-template-columns:repeat(2,1fr)}}

/* MALL-101 规格模板:值 chips */
.mall-spec-values {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.mall-spec-chip {
  background: #fdf4f5;
  color: #8f1d2a;
  border: 1px solid #f0d9dc;
  border-radius: 12px;
  padding: 2px 10px;
  font-size: 12px;
}

.mall-spec-picker {
  margin: 0 16px 12px;
  border: 1px solid #eceae4;
  border-radius: 10px;
  padding: 12px 14px;
  background: #faf9f6;
}

.mall-spec-picker-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
}

.mall-spec-picker-row + .mall-spec-picker-row {
  border-top: 1px solid #f0eeE9;
}

.mall-spec-picker-row > div {
  min-width: 0;
  flex: 1;
}

.mall-spec-picker-row button {
  flex: none;
}

/* MALL-101 商品编辑器本地草稿提示条 */
.mall-draft-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 9px 14px;
  background: #fffaf2;
  border: 1px solid #e6d3b4;
  border-radius: 8px;
  font-size: 13px;
  color: #8a6a2f;
}

.mall-draft-banner span {
  flex: 1;
  min-width: 0;
}

.mall-draft-banner button {
  flex: none;
  height: 28px;
  padding: 0 12px;
  font-size: 12.5px;
}

/* MALL-107 兑换入口(门框):品牌屋外面的一层聚合门。
   ★配色全部走浅底深字★——r54/r55 那次把后台做成深色驾驶舱被整批撤回,
   深色在本仓只允许出现在顶部导航壳,这里是内容区。 */
.brand-house-gate-entry {
  display: block;
  width: 100%;
  text-align: left;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid rgba(47, 104, 255, .22);
  border-radius: 10px;
  background: rgba(47, 104, 255, .06);
  cursor: pointer;
}
.brand-house-gate-entry b {
  display: block;
  font-size: 14px;
  color: #1f2937;
}
.brand-house-gate-entry span {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: #6b7280;
}
.brand-house-gate-entry.active {
  border-color: #2f68ff;
  background: rgba(47, 104, 255, .12);
}
/* MALL-926：兑换入口按钮放在卡券侧栏里，会被侧栏按钮的规则（固定高 38px、上下内边距 0、下边距 0）盖掉上面的盒子，
   两行字溢出、压到下面的「品牌屋」标题上；在侧栏里按内容撑高，恢复上下留白。 */
.card-subnav .brand-house-gate-entry {
  height: auto;
  padding: 10px 14px;
  margin-bottom: 12px;
}

.gate-candidate-list {
  display: grid;
  gap: 10px;
}
.gate-candidate {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}
.gate-candidate.selected {
  border-color: #2f68ff;
  background: rgba(47, 104, 255, .05);
}
.gate-candidate-body b {
  display: block;
  font-size: 14px;
  color: #1f2937;
}
.gate-candidate-body em {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-style: normal;
  color: #6b7280;
}

/* MALL-112 快速购买与商品榜单。研究源字段完整保留，视觉继续服从本后台浅色内容区。 */
.mall-discovery-editor {
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.mall-discovery-settings-lock {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.mall-discovery-choices {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px 12px;
  width: min(100%, 760px);
  max-height: 280px;
  overflow: auto;
  padding: 12px;
  border: 1px solid #e6dccb;
  border-radius: 8px;
  background: #faf9f6;
}

.mall-discovery-choices label {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  min-width: 0;
  font-size: 13px;
  line-height: 1.45;
}

.mall-discovery-choices input {
  flex: none;
  margin-top: 2px;
}

.mall-discovery-choices small {
  color: #83817a;
}

.mall-color-row {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

.mall-color-row > select {
  width: 150px;
}

.mall-color-row > input[type="color"] {
  width: 52px;
  min-width: 52px;
  height: 34px;
  padding: 2px;
}

.mall-color-row > label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #55544e;
  font-size: 13px;
}

.mall-color-row > label input[type="color"] {
  width: 52px;
  height: 34px;
  padding: 2px;
}

.mall-cat-icon-fallback {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 9px;
  background: #f5eee2;
  color: #8f1d2a;
  font-weight: 700;
}

/* MALL-113 U1 / MALL-120：用户域并入商城二级菜单；内容区保持浅底深字，宽表只在自身容器横向滚动。 */
.user-subnav {
  align-self: start;
}

.mall-user-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(2, minmax(130px, .8fr)) repeat(2, minmax(145px, .9fr)) auto;
  gap: 12px;
  align-items: end;
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid #e8e1d7;
  border-radius: 10px;
  background: #faf9f6;
}

.mall-user-filters label,
.mall-user-pager label {
  display: grid;
  gap: 6px;
  color: #6b6a65;
  font-size: 12px;
}

.mall-user-filters input,
.mall-user-filters select,
.mall-user-pager select {
  min-width: 0;
  height: 36px;
  border: 1px solid #d9d4ca;
  border-radius: 7px;
  background: #fff;
  color: #292824;
}

.mall-user-filter-actions {
  display: flex;
  gap: 8px;
}

.mall-user-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #ebe6dd;
  border-radius: 10px;
}

.mall-user-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  background: #fff;
  color: #292824;
  font-size: 13px;
}

.mall-user-table th,
.mall-user-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #eee9e1;
  text-align: left;
  vertical-align: top;
}

.mall-user-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f7f4ee;
  color: #66635d;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.mall-user-table tbody tr:last-child td {
  border-bottom: 0;
}

.mall-user-table strong,
.mall-user-table small,
.mall-user-sensitive span {
  display: block;
}

.mall-user-table small,
.mall-user-table .muted {
  margin-top: 3px;
  color: #96928a;
}

.mall-user-sensitive {
  display: grid;
  gap: 3px;
  max-width: 260px;
  overflow-wrap: anywhere;
}

.mall-user-reveal {
  margin-top: 7px;
  padding: 4px 8px;
  font-size: 12px;
}

.mall-user-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  max-width: 190px;
}

.mall-user-tag {
  display: inline-flex;
  padding: 2px 7px;
  border-radius: 999px;
  background: #f7ead8;
  color: #8a5723;
  font-size: 12px;
  white-space: nowrap;
}

.mall-user-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
  color: #706d66;
  font-size: 13px;
}

.mall-user-pager > span {
  margin-right: auto;
}

.mall-user-import-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.mall-user-import-steps > div {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 128px;
  padding: 16px;
  border: 1px solid #e7e1d8;
  border-radius: 12px;
  background: #fbfaf7;
}

.mall-user-import-steps label {
  display: grid;
  gap: 6px;
  color: #706d66;
  font-size: 12px;
}

.mall-user-import-steps input {
  width: 100%;
  min-width: 0;
}

.mall-admin-section > h4 {
  margin: 20px 0 10px;
}

@media (max-width: 1180px) {
  .mall-user-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .mall-user-filters {
    grid-template-columns: 1fr;
  }

  .mall-user-filter-actions,
  .mall-user-filter-actions button {
    width: 100%;
  }

  .mall-user-pager {
    justify-content: flex-start;
  }

  .mall-user-import-steps {
    grid-template-columns: 1fr;
  }
}

/* MALL-122:研究源导航不是一条无限长菜单，而是 72px 商城模块栏 + 240px 当前模块菜单。
   系统一级导航继续在顶部；商城内部一次只暴露一个模块的菜单，用户是商城模块之一。 */
.mall-navigation-workspace {
  align-items: start;
  gap: 0;
}

.mall-section-rail,
.mall-subnav,
.mall-section-rail *,
.mall-subnav * {
  box-sizing: border-box;
}

/* MALL-389: report filters wrap without widening the shared menu workspace. */
.mall-statement-workspace {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}
.mall-statement-workspace > * { min-width: 0; }
.mall-statement-summary {
  margin: 0 20px 20px;
  padding: 18px 20px;
  border: 1px solid #e6eaf0;
  border-radius: 10px;
  background: #f7f9fc;
}
.mall-statement-summary h4 { margin: 0 0 18px; font-size: 15px; }
.mall-statement-summary h4 small { display: inline-block; margin-left: 10px; font-size: 12px; font-weight: 400; color: #606b7c; }
.mall-statement-summary dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; margin: 0; }
.mall-statement-summary dt { font-size: 13px; color: #606b7c; }
.mall-statement-summary dd { margin: 8px 0 0; font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .mall-statement-summary h4 small { display: block; margin: 8px 0 0; }
  .mall-statement-summary dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .mall-statement-summary dd { font-size: 22px; }
}
.admin-view-mall .mall-user-workspace.mall-statement-workspace .mall-user-table {
  min-width: 680px;
  width: 100%;
}
.mall-statement-workspace > .hint,
.mall-statement-workspace > .mall-admin-tabs {
  margin-left: 20px;
  margin-right: 20px;
}
.mall-statement-workspace > .mall-admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ebeef5;
}
.admin-view-mall .mall-statement-workspace .mall-admin-tabs button.active {
  border-color: #409eff;
  color: #409eff;
  background: #ecf5ff;
}
.mall-statement-filters {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  margin: 20px;
}
.mall-statement-filters label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
}
.mall-statement-filters input,
.mall-statement-filters select {
  min-height: 36px;
  max-width: 100%;
}
.mall-statement-filters input[name="query"] {
  flex: 1 1 240px;
  min-width: 0;
}

/* MALL-433: column labels must not apply a horizontal flex basis to input height. */
:is(.mall-coupon-report, .mall-card-report) .mall-statement-filters label { width: 180px; min-width: 0; max-width: 100%; }
:is(.mall-coupon-report, .mall-card-report) .mall-statement-filters input,
:is(.mall-coupon-report, .mall-card-report) .mall-statement-filters select { flex: none; width: 100%; box-sizing: border-box; }
:is(.mall-coupon-report, .mall-card-report) .mall-admin-heading { flex-wrap: wrap; gap: 12px; }
.admin-view-mall .mall-user-workspace:is(.mall-coupon-report, .mall-card-report) .mall-user-table { min-width: 1120px; }
@media (max-width: 600px) {
  :is(.mall-coupon-report, .mall-card-report) .mall-statement-filters { margin: 16px; }
  :is(.mall-coupon-report, .mall-card-report) .mall-statement-filters label { width: 100%; }
  :is(.mall-coupon-report, .mall-card-report) .mall-statement-summary { margin: 0 16px 16px; padding: 16px; }
}

.mall-finance-equation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 32px 20px;
  border-bottom: 1px solid #ebeef5;
}
.mall-finance-metric { flex: 1 1 120px; text-align: center; }
.mall-finance-metric > span { display: block; color: #606266; font-size: 14px; }
.mall-finance-metric > strong { display: block; margin: 20px 0 8px; font-size: 26px; font-weight: 500; color: #303133; }
.mall-finance-metric > small { display: block; color: #909399; font-size: 12px; }
.mall-finance-operator { color: #909399; font-size: 24px; }
@media (max-width: 760px) {
  .mall-finance-equation { justify-content: flex-start; padding: 20px 8px; gap: 12px; }
  .mall-finance-metric { flex-basis: calc(50% - 12px); }
  .mall-finance-operator { display: none; }
}

.mall-section-rail {
  width: 72px;
  min-width: 72px;
  min-height: calc(100vh - var(--figma-v2-topbar-height) - 40px);
  background: #465269;
  border-right: 1px solid #394962;
}

.mall-section-rail button {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  width: 72px;
  height: 70px;
  padding: 6px 0;
  border: 0;
  border-right: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #9097a6;
  font-size: 14px;
  line-height: 1;
}

.mall-section-rail button:hover,
.mall-section-rail button.active {
  border-right-color: #409eff;
  background: #303f5a;
  color: #fff;
}

.mall-section-icon {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mall-subnav {
  width: 240px;
  min-width: 240px;
  min-height: calc(100vh - var(--figma-v2-topbar-height) - 40px);
  background: #fff;
  border-right: 1px solid #e6eaf2;
  color: #303133;
}

.mall-subnav-heading {
  display: flex;
  align-items: center;
  height: 60px;
  padding: 0 16px;
  border-bottom: 1px solid #eef1f6;
  font-size: 16px;
  font-weight: 600;
}

.mall-subnav-scroll {
  padding: 0 0 12px;
}

.mall-subnav-group {
  padding: 0;
}

.mall-subnav-title {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  color: #788398;
  font-size: 13px;
}

.mall-subnav-grid {
  display: grid;
  grid-template-columns: repeat(2, 120px);
}

.mall-subnav-list {
  display: grid;
  grid-template-columns: 240px;
}

.mall-subnav button {
  display: block;
  width: 100%;
  height: 40px;
  min-width: 0;
  padding: 0 16px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: #fff;
  color: #303133;
  overflow: hidden;
  font-size: 14px;
  font-weight: 400;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mall-subnav button:hover,
.mall-subnav button.active {
  border-left-color: #409eff;
  background: #ecf5ff;
  color: #409eff;
}

.mall-subnav-link {
  display: block;
  min-height: 40px;
  padding: 11px 16px;
  border-top: 1px solid #eef1f6;
  color: #409eff;
  font-size: 13px;
  text-decoration: none;
}

.admin-view-mall .mall-user-filters {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.admin-view-mall .mall-user-filter-actions button {
  flex: 1 1 0;
}

.admin-view-mall .order-list-panel {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

@media (min-width: 721px) {
  .top-nav-wrapper .admin-view-mall > .mall-navigation-workspace {
    grid-template-columns: 72px 240px minmax(0, 1fr);
  }

  .top-nav-wrapper .admin-view-mall .mall-section-rail {
    position: sticky;
    top: calc(var(--figma-v2-topbar-height) + 20px);
    align-self: start;
    max-height: calc(100vh - var(--figma-v2-topbar-height) - 40px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }

  .top-nav-wrapper .admin-view-mall .mall-subnav {
    position: sticky;
    top: calc(var(--figma-v2-topbar-height) + 20px);
    align-self: start;
    max-height: calc(100vh - var(--figma-v2-topbar-height) - 40px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
}

@media (max-width: 720px) {
  .top-nav-wrapper .admin-view-mall > .mall-navigation-workspace {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .mall-section-rail {
    position: static;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .mall-section-rail button {
    flex: 0 0 64px;
    width: 64px;
    height: 58px;
    border-right: 0;
    border-bottom: 3px solid transparent;
    font-size: 12px;
  }

  .mall-section-rail button:hover,
  .mall-section-rail button.active {
    border-bottom-color: #409eff;
  }

  .mall-section-icon {
    width: 18px;
    height: 18px;
  }

  .mall-subnav {
    position: static;
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .mall-subnav-heading {
    position: sticky;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 44px;
    background: #fff;
  }

  .mall-subnav-scroll {
    display: flex;
    align-items: flex-start;
    width: max-content;
    min-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .mall-subnav-group,
  .mall-subnav-list {
    flex: 0 0 auto;
  }

  .mall-subnav-grid {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: repeat(2, 40px);
  }

  .mall-subnav-list {
    display: flex;
  }

  .mall-subnav-grid button,
  .mall-subnav-list button {
    width: 120px;
  }

  .mall-subnav-link {
    min-width: 120px;
    border-top: 0;
  }
}
.mall-dash-section{margin:0 0 18px}
.mall-dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.mall-dash-section-head h4{margin:0;font-size:15px;color:#1f2329}
.mall-dash-section-head .hint{margin:0;font-size:12px;color:#86909c}
.mall-dash-shop{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mall-dash-shop .mall-dash-todo{min-width:0}
.mall-dash-todo em{font-style:normal;font-size:12px;color:#86909c;margin-left:4px}
.mall-dash-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mall-dash-range input[type="date"]{height:30px}
.mall-dash-metric small{display:block;font-size:12px;margin-top:6px;color:#86909c}
.mall-dash-metric small.is-up{color:#d9363e}
.mall-dash-metric small.is-down{color:#1f9d55}
.mall-dash-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mall-dash-quick button{height:auto;min-width:0;padding:12px 10px;border:1px solid #eee;border-radius:10px;background:#fff;color:#1f2329;font-size:13px}
.mall-dash-quick button:hover{border-color:#8f1d2a;color:#8f1d2a}
.mall-dash-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mall-dash-holiday{list-style:none;margin:0;padding:0;border:1px solid #eee;border-radius:10px;overflow:hidden}
.mall-dash-holiday li{display:flex;justify-content:space-between;padding:10px 12px;border-top:1px solid #f2f3f5;font-size:13px;color:#1f2329}
.mall-dash-holiday li:first-child{border-top:0}
.mall-dash-holiday li strong{color:#8f1d2a;font-variant-numeric:tabular-nums}
.mall-dash-welcome{border:1px solid #eee;border-radius:10px;padding:14px;background:#faf9f7;font-size:13px;color:#1f2329}
.mall-dash-welcome strong{display:block;font-size:16px;margin-bottom:6px}
.mall-dash-welcome span{display:block;color:#86909c;margin-top:4px}
@media (max-width:900px){.mall-dash-shop,.mall-dash-quick{grid-template-columns:repeat(2,1fr)}.mall-dash-bottom{grid-template-columns:1fr}}
.mall-theme-modes{display:flex;gap:18px;margin:0 0 14px;font-size:13px}
.mall-theme-modes label{display:flex;align-items:center;gap:6px;cursor:pointer}
.mall-theme-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 16px}
/* display:grid 会盖过浏览器给 [hidden] 的 display:none —— 不写这两条,「系统模版」模式下
   自定义色值框照样显示,店主以为能改色,一保存却按模版走。 */
.mall-theme-presets[hidden],.mall-theme-custom[hidden]{display:none}
.mall-theme-preset{height:auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border:1px solid #e6eaf2;border-radius:10px;background:#fff;cursor:pointer}
.mall-theme-preset:hover{border-color:#8f1d2a}
.mall-theme-preset.is-active{border-color:#8f1d2a;box-shadow:0 0 0 2px rgba(143,29,42,.12)}
.mall-theme-swatches{display:flex;gap:0;border-radius:6px;overflow:hidden;width:56px;height:26px}
.mall-theme-swatches i{flex:1;display:block}
.mall-theme-preset-name{font-size:12.5px;color:#1f2329}
.mall-theme-custom{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 16px}
.mall-theme-custom label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#86909c}
.mall-theme-custom input[type="color"]{width:100%;height:34px;padding:2px;border:1px solid #dcdfe6;border-radius:4px;background:#fff}
.mall-theme-custom input[type="text"]{height:32px;font-variant-numeric:tabular-nums}
.mall-theme-preview{border:1px solid #e6eaf2;border-radius:12px;overflow:hidden;max-width:320px}
.mall-theme-preview-bar{background:var(--preview-main);color:var(--preview-main-text);padding:10px 12px;font-size:14px}
.mall-theme-preview-body{display:flex;gap:10px;padding:14px 12px;background:#faf9f7}
.mall-theme-preview-primary{height:auto;min-width:0;flex:1;padding:9px 10px;border:none;border-radius:18px;background:var(--preview-main);color:var(--preview-main-text);font-size:13px}
.mall-theme-preview-secondary{height:auto;min-width:0;flex:1;padding:9px 10px;border:none;border-radius:18px;background:var(--preview-secondary);color:var(--preview-secondary-text);font-size:13px}
@media (max-width:900px){.mall-theme-presets{grid-template-columns:repeat(3,1fr)}.mall-theme-custom{grid-template-columns:repeat(2,1fr)}}
.mall-nav-table{width:100%;border-collapse:collapse;font-size:13px}
.mall-nav-table th,.mall-nav-table td{border-bottom:1px solid #f2f3f5;padding:10px 8px;text-align:left}
.mall-nav-table th{color:#86909c;font-weight:500;font-size:12.5px}
.mall-nav-table td button{margin-right:6px}
.mall-nav-empty{color:#86909c;text-align:center}
.mall-nav-warning{margin:0 0 12px;padding:9px 12px;border-radius:8px;background:#fff7e6;color:#a8641b;font-size:12.5px}
.mall-nav-icon-thumb{width:32px;height:32px;object-fit:contain;border-radius:6px;background:#faf9f7}
.mall-nav-icon-chip{display:inline-block;padding:3px 8px;border-radius:10px;background:#f2f3f5;color:#4e5969;font-size:12px}
.mall-nav-editor{margin-top:16px;padding:14px;border:1px solid #e6eaf2;border-radius:10px;background:#fbfcfe}
.mall-nav-editor h4{margin:0 0 12px;font-size:14px;color:#1f2329}
.mall-nav-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.mall-nav-fields label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#86909c}
.mall-nav-icon-choice{display:flex;gap:18px;font-size:13px;margin-bottom:10px}
.mall-nav-icon-choice label{display:flex;align-items:center;gap:6px;cursor:pointer}
.mall-nav-builtin{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.mall-nav-builtin[hidden],.mall-nav-image[hidden]{display:none}
.mall-nav-builtin-item{height:auto;min-width:0;padding:6px 12px;border:1px solid #e6eaf2;border-radius:8px;background:#fff;font-size:12.5px}
.mall-nav-builtin-item.is-active{border-color:#8f1d2a;color:#8f1d2a;box-shadow:0 0 0 2px rgba(143,29,42,.1)}
.mall-nav-image{display:flex;gap:8px;align-items:center;margin-bottom:12px}
.mall-nav-image input[type="text"],.mall-nav-image input:not([type]){flex:1}
.mall-nav-link-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}
.mall-nav-link-row label{flex:1;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#86909c}
.mall-nav-editor-actions{display:flex;gap:8px}
.mall-nav-picker{max-width:560px;max-height:70vh;overflow:auto}
.mall-nav-picker-group{margin-bottom:14px}
.mall-nav-picker-group h5{margin:0 0 8px;font-size:12.5px;color:#86909c;font-weight:500}
.mall-nav-picker-group button{height:auto;min-width:0;margin:0 8px 8px 0;padding:6px 12px;border:1px solid #e6eaf2;border-radius:14px;background:#fff;font-size:12.5px}
.mall-nav-picker-group button:hover{border-color:#8f1d2a;color:#8f1d2a}
.mall-recharge-settings .mall-nav-picker-group button[aria-pressed="true"]{border-color:#8f1d2a;color:#8f1d2a;background:#fff2f2}
.mall-recharge-settings .mall-nav-picker{padding:20px;box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-width:760px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}
.mall-recharge-settings .mall-nav-picker-body{min-height:0;overflow:auto}
.mall-recharge-settings .mall-nav-picker-foot{flex-shrink:0}
.mall-recharge-settings .mall-rs-category-table table{width:100%;min-width:0;table-layout:fixed}
.mall-recharge-settings .mall-rs-category-table th:first-child{width:75px}
.mall-recharge-settings .mall-rs-category-table th:nth-child(3){width:95px}
.mall-recharge-settings .mall-rs-category-table th:last-child{width:180px}
.mall-recharge-settings .mall-rs-category-table td{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){
  .mall-recharge-settings .mall-rs-category-table table,.mall-recharge-settings .mall-rs-category-table tbody{display:block}
  .mall-recharge-settings .mall-rs-category-table thead{display:none}
  .mall-recharge-settings .mall-rs-category-table tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e6eaf2;padding:8px 0}
  .mall-recharge-settings .mall-rs-category-table td{display:block;padding:4px;border:0}
  .mall-recharge-settings .mall-rs-category-table td:nth-child(2),.mall-recharge-settings .mall-rs-category-table td:last-child{grid-column:1 / -1}
}
.mall-recharge-settings .mall-rs-advert{padding:12px;border:1px solid #e6eaf2;border-radius:8px}
.mall-recharge-settings .mall-rs-goods-table{max-width:100%;overflow-x:auto}
.mall-recharge-settings .mall-rs-goods-table table{width:100%;min-width:480px}
.mall-recharge-settings [data-rs-goods-search]{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.mall-recharge-settings [data-rs-goods-search] label{flex:1;min-width:160px}
.mall-recharge-settings [data-rs-goods-search] input{box-sizing:border-box;width:100%}
.mall-nav-picker-foot{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid #f2f3f5}
@media (max-width:900px){.mall-nav-fields{grid-template-columns:1fr 1fr}}
.mall-nav-visible span{display:flex;align-items:center;gap:6px;height:32px;font-size:13px;color:#1f2329}
.mall-nav-picker-group button.is-pending{border-style:dashed;color:#a8641b}
.mall-nav-picker-group button.is-pending:hover{border-color:#a8641b;color:#a8641b}

.mall-slot-panel{border:1px solid #e6eaf2;border-radius:10px;background:#fff;padding:0 14px 14px}
.mall-slot-tabs{display:flex;gap:4px;border-bottom:1px solid #e6eaf2;margin:0 -14px 14px;padding:0 10px}
.mall-slot-tab{height:auto;min-width:0;padding:10px 14px;border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#4e5969;font-size:13px}
.mall-slot-tab.is-active{color:#8f1d2a;border-bottom-color:#8f1d2a;font-weight:600}
.mall-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.mall-slot-setting-form{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end;padding:10px 12px;margin-bottom:10px;border:1px solid #e5e6eb;border-radius:8px;background:#fafafa}
.mall-slot-setting-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4e5969}
.mall-slot-setting-form input,.mall-slot-setting-form select{height:30px;min-width:96px}
.mall-slot-setting-form button{height:auto;padding:6px 12px}
/* MALL-190:首页布局页那条开关是「复选框 + 一行字」,不能吃 .mall-slot-setting-form label
   的 flex-direction:column(那是给「标题在上、输入框在下」设计的,会把勾选框拆成悬空小圆点) */
.mall-decoration-home-switch{align-items:center;flex-wrap:wrap;gap:10px}
.mall-decoration-home-switch label{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:#1f2329}
.mall-decoration-home-switch input[type="checkbox"]{height:auto;min-width:0;margin:0}
.mall-decoration-home-switch .hint{font-size:12px;color:#86909c}
.mall-slot-cell{border:1px dashed #d9dde5;border-radius:8px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fafbfc}
.mall-slot-cell.is-added{border-style:solid;border-color:#e6c7cb;background:#fff7f7}
.mall-slot-title{font-size:12.5px;color:#1f2329}
.mall-slot-add,.mall-slot-edit{width:26px;height:26px;min-width:0;padding:0;border-radius:50%;line-height:1;font-size:15px}
.mall-slot-add{background:#8f1d2a;color:#fff;border:1px solid #8f1d2a}
.mall-slot-edit{background:#fff;color:#8f1d2a;border:1px solid #e6c7cb}
.mall-slot-panel .mall-decoration-hint{margin:12px 0 0}
.mall-decoration-footer{justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid #e6eaf2}
.mdp-block{position:relative;border:1px solid transparent;border-radius:8px;cursor:grab}
.mdp-block:hover{border-color:#e6c7cb}
.mdp-block-tools{position:absolute;left:4px;top:4px;z-index:1;display:flex;align-items:center;gap:4px}
.mdp-block-tools button{width:22px;height:22px;min-width:0;padding:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;border:none;font-size:12px;line-height:1}
.mdp-block-name{font-style:normal;font-size:11px;color:#fff;background:rgba(0,0,0,.55);border-radius:9px;padding:2px 7px}
.mall-decoration-block-dialog{width:min(560px,92vw)}
.mall-decoration-block-dialog .next-dialog-body{max-height:70vh;overflow-y:auto}
.mdp-block[data-diy-dragging]{opacity:.5}
.mdp-block[data-diy-drop="before"]{box-shadow:0 -2px 0 0 #8f1d2a}
.mdp-block[data-diy-drop="after"]{box-shadow:0 2px 0 0 #8f1d2a}
[data-diy-handle]{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}
.mall-decoration-preview-empty{padding:40px 16px;text-align:center;color:#86909c;font-size:13px}
.mall-order-form-options{margin:0 0 12px}
.mall-order-form-options[hidden]{display:none}
.mall-order-form-options label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#86909c}
.mall-order-form-options textarea{width:100%;padding:8px;border:1px solid #dcdfe6;border-radius:4px;font-size:13px;resize:vertical}

/* MALL-265: September 13 reference goods list and continuous product form. */
.mall-goods-reference-list, .mall-goods-reference-editor {
  display: block; padding: 0; border: 0; border-radius: 0; background: #f5f5f5;
  color: #606266; font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px;
}
.mall-goods-reference-list .mall-admin-block-head, .mall-goods-reference-editor .mall-admin-block-head {
  padding: 16px 20px; min-height: 56px; margin-bottom: 12px; background: #fff; border-radius: 3px; box-sizing: border-box;
}
.mall-goods-reference-list h4, .mall-goods-reference-editor h4 { margin: 0; color: #303133; font-size: 14px; font-weight: 400; }
.mall-goods-reference-list button, .mall-goods-reference-editor button { border: 1px solid #dcdfe6; border-radius: 3px; background: #fff; color: #606266; min-height: 32px; padding: 7px 15px; font-size: 12px; font-weight: 400; box-shadow: none; }
.mall-goods-reference-list button:hover, .mall-goods-reference-editor button:hover { color: #409eff; border-color: #c6e2ff; background: #ecf5ff; }
.mall-goods-reference-list button.primary, .mall-goods-reference-editor button.primary { background: #409eff; border-color: #409eff; color: white; }
.mall-goods-reference-list button:disabled { cursor: not-allowed; color: #c0c4cc; background: #fff; border-color: #ebeef5; }
.mall-goods-list-body { padding: 0 20px 20px; background: #fff; }
.mall-goods-reference-list .mall-gtabs, .mall-goods-reference-editor .mall-gtabs { padding: 0; gap: 30px; height: 56px; align-items: stretch; border-bottom: 1px solid #e4e7ed; background: white; }
.mall-goods-reference-list .mall-gtab, .mall-goods-reference-editor .mall-gtab { position: relative; display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; border-radius: 0; background: white; color: #303133; font-size: 14px; }
.mall-goods-reference-list .mall-gtab span { font-size: 11px; color: #909399; }
.mall-goods-reference-list .mall-gtab.is-active, .mall-goods-reference-editor .mall-gtab.is-active { color: #409eff; background: white; box-shadow: inset 0 -2px #409eff; }
.mall-goods-reference-list input, .mall-goods-reference-list select, .mall-goods-reference-editor input, .mall-goods-reference-editor select, .mall-goods-reference-editor textarea { box-sizing: border-box; min-height: 32px; padding: 6px 12px; border: 1px solid #dcdfe6; border-radius: 3px; background: #fff; color: #606266; font: inherit; font-size: 13px; box-shadow: none; }
.mall-goods-reference-list input:focus, .mall-goods-reference-editor input:focus, .mall-goods-reference-editor textarea:focus { outline: none; border-color: #409eff; }
.mall-goods-reference-list input[type=checkbox], .mall-goods-reference-editor input[type=checkbox] { width: 14px; height: 14px; min-width: 14px; min-height: 14px; padding: 0; accent-color: #409eff; }
.mall-goods-reference-list .mall-gfilters { display: flex; align-items: center; gap: 12px; padding: 16px 0; margin: 0; flex-wrap: wrap; }
.mall-goods-reference-list .mall-gfilters label { display: flex; flex-direction: row; align-items: center; gap: 10px; font-size: 13px; }
.mall-goods-reference-list .mall-gfilters select { width: 130px; }
.mall-goods-reference-list .mall-gfilters input[type=date] { width: 145px; min-width: 0; }
.mall-goods-reference-list .mall-gsearch { display: flex; }
.mall-goods-reference-list .mall-gsearch input { width: 265px; border-radius: 3px 0 0 3px; }
.mall-goods-reference-list .mall-gsearch button { border-left: 0; border-radius: 0 3px 3px 0; }
.mall-goods-reference-list .mall-gbulk { display: flex; min-height: 50px; padding: 9px 12px; gap: 10px; align-items: center; background: #f5f7fa; border: 1px solid #ebeef5; border-radius: 0; box-sizing: border-box; }
.mall-goods-reference-list .mall-gbulk-n { margin-left: auto; color: #909399; font-size: 12px; }
.mall-goods-reference-list .table-wrap { overflow: auto; border: 0; border-radius: 0; }
.mall-goods-reference-list .mall-admin-table { min-width: 1410px; table-layout: auto; font-size: 13px; }
.mall-goods-reference-list .mall-admin-table th { height: 62px; color: #909399; background: #fff; font-size: 12px; font-weight: 500; }
.mall-goods-reference-list .mall-admin-table th, .mall-goods-reference-list .mall-admin-table td { padding: 12px 10px; border-bottom: 1px solid #ebeef5; vertical-align: middle; white-space: nowrap; }
.mall-goods-reference-list .mall-admin-table td { height: 74px; box-sizing: border-box; }
.mall-goods-reference-list .mall-gcell { display: flex; align-items: center; gap: 10px; width: 280px; }
.mall-goods-reference-list .mall-gthumb { width: 50px; height: 50px; border: 0; border-radius: 0; flex: 0 0 50px; object-fit: cover; }
.mall-goods-reference-list .mall-gname { display: flex; align-items: center; min-width: 0; }
.mall-goods-reference-list .mall-gname strong { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-weight: 400; font-size: 13px; line-height: 22px; white-space: normal; }
.mall-goods-reference-list .mall-gcat { display: block; background: none; padding: 0; border: 0; color: #606266; font-size: 12px; }
.mall-goods-reference-list .mall-gtime { width: 155px; white-space: normal !important; font-size: 12px; }
.mall-goods-reference-list .mall-goperations { position: sticky; right: 0; background: #fff; z-index: 1; min-width: 130px; box-shadow: -6px 0 8px -7px #aaa; }
.mall-goods-reference-list .mall-round-action { width: 25px; height: 25px; min-height: 25px; padding: 0; border: 0; border-radius: 50%; color: #fff; font-size: 16px; }
.mall-goods-reference-list .mall-round-action.edit { background: #409eff; }.mall-goods-reference-list .mall-round-action.copy { background: #e6a23c; }.mall-goods-reference-list .mall-round-action.delete { background: #f56c6c; }
.mall-goods-reference-list .mall-pencil, .mall-goods-reference-editor .mall-pencil { border: 0; background: transparent; color: #409eff; padding: 0 4px; min-height: 22px; font-size: 16px; }
.mall-contact-visibility .mall-switch, .mall-goods-reference-list .mall-switch, .mall-goods-reference-editor .mall-switch { position: relative; display: inline-block; width: 40px; height: 20px; min-height: 20px; border: 0; border-radius: 12px; padding: 0; background: #dcdfe6; }
.mall-contact-visibility .mall-switch::after, .mall-goods-reference-list .mall-switch::after, .mall-goods-reference-editor .mall-switch::after { content: ''; position: absolute; left: 2px; top: 2px; width: 16px; height: 16px; background: #fff; border-radius: 50%; transition: transform .15s; }
.mall-contact-visibility .mall-switch { min-width:40px; box-shadow:none; vertical-align:middle; }
.mall-switch[aria-checked=true] { background: #409eff !important; }.mall-switch[aria-checked=true]::after { transform: translateX(20px); }
.mall-goods-reference-list .mall-gcount { padding: 18px 0 0; text-align: right; color: #909399; }
.mall-goods-reference-list .mall-gstatus.is-ok { color: #67c23a; }.mall-goods-reference-list .mall-gstatus.is-crit, .mall-gstock-alert { color: #f56c6c; }
.mall-goods-reference-editor .mall-gbreadcrumb { display: flex; align-items: center; gap: 14px; }.mall-goods-reference-editor .mall-gbreadcrumb button { border: 0; padding: 0; color: #409eff; }
.mall-goods-reference-editor .mall-gtabs { padding: 0 20px; margin-bottom: 14px; }
.mall-goods-reference-editor .mall-product-section { background: white; margin: 0 0 20px; padding: 20px; }
.mall-goods-reference-editor .mall-fsection { height: 56px; box-sizing: border-box; padding: 18px 20px; margin: 0 0 20px; background: #f8f8f8; border: 1px solid #ebeef5; color: #303133; font-size: 14px; font-weight: 400; }
.mall-goods-reference-editor .mall-frow { grid-template-columns: 180px minmax(0, 1fr); padding: 0 20px 18px; gap: 20px; border: 0; }
.mall-goods-reference-editor .mall-flabel { font-size: 14px; font-weight: 400; color: #606266; padding-top: 6px; }.mall-goods-reference-editor .mall-flabel.is-required::before { color: #f56c6c; }
.mall-goods-reference-editor .mall-fcontrol { gap: 8px; }.mall-goods-reference-editor .mall-fcontrol > input, .mall-goods-reference-editor .mall-fcount { width: 580px; max-width: 100%; }
.mall-goods-reference-editor .mall-fcount input, .mall-goods-reference-editor .mall-fcount textarea { width: 100%; padding-right: 55px; }
.mall-goods-reference-editor .mall-fcount-badge { color: #909399; background: transparent; font-size: 12px; }
.mall-goods-reference-editor .mall-ftip { font-size: 12px; color: #909399; font-weight: 400; }
.mall-goods-reference-editor .mall-img-cell, .mall-goods-reference-editor .mall-img-add { width: 100px; height: 100px; border: 1px solid #e4e7ed; border-radius: 0; background: white; }
.mall-goods-reference-editor .mall-img-add, .mall-goods-reference-editor .mall-img-add-plus { color: #409eff; font-size: 13px; }
.mall-goods-reference-editor .mall-img-row { display: flex; flex-wrap: wrap; gap: 10px; }.mall-goods-reference-editor .mall-fmanual { display: none; }
.mall-category-picker { width: fit-content; max-width: 100%; }.mall-category-picker summary { display: inline-block; padding: 8px 16px; border-radius: 3px; background: #409eff; color: #fff; cursor: pointer; font-size: 12px; }
.mall-category-picker .mall-admin-category-checks { padding: 16px; margin-top: 6px; border: 1px solid #dcdfe6; background: #fff; max-width: 600px; box-shadow: 0 2px 12px #0001; }
.mall-spec-axis { background: #f5f7fa; padding: 12px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }.mall-spec-axis label { display: flex; align-items: center; gap: 8px; }.mall-spec-axis [data-axis-name] { width: 110px; }.mall-spec-axis [data-axis-values] { width: 240px; }
.mall-spec-toolbar, .mall-spec-table-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }.mall-spec-table-actions { padding: 0 20px 12px; }.mall-spec-table-actions span { color: #909399; font-size: 12px; }
.mall-sku-table-wrap { margin: 0 20px; overflow: auto; }.mall-goods-reference-editor .mall-admin-sku-table { width: 100%; min-width: 1500px; border-collapse: collapse; font-size: 12px; }
.mall-goods-reference-editor .mall-admin-sku-table th, .mall-goods-reference-editor .mall-admin-sku-table td { border: 1px solid #ebeef5; padding: 10px; text-align: left; }.mall-goods-reference-editor .mall-admin-sku-table th { background: #f5f7fa; font-weight: 400; }.mall-goods-reference-editor .mall-admin-sku-table input { width: 95px; min-width: 0; }.mall-goods-reference-editor .mall-spec-summary { min-width: 180px; }.mall-goods-reference-editor .mall-admin-sku-table small { display: block; color: #909399; padding-top: 4px; }
.mall-goods-reference-editor .mall-fsave { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: center; gap: 20px; padding: 15px; background: white; border: 0; box-shadow: 0 -6px 10px #f4f4f4; margin: 0; }.mall-goods-reference-editor .mall-fsave button { font-size: 14px; min-height: 40px; }
.mall-dialog-field { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 16px; padding: 8px 0; }/* MALL-310:商品预览弹层原来整块滚动(overflow:auto 在 .next-dialog 上,body 不滚),
   于是往下看详情图时标题栏连同关闭键一起滚出视口 —— 老大:「预览没有退出键」。
   改成「头固定 + 身体滚动」,并把关闭键做成右上角的小 ×。只作用在这个遮罩下,不动别的弹层。 */
.mall-goods-dialog-mask .next-dialog { max-height: 85vh; display: flex; flex-direction: column; overflow: hidden; }
.mall-goods-dialog-mask .next-dialog-head { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mall-goods-dialog-mask .next-dialog-body { flex: 1 1 auto; overflow-y: auto; min-height: 0; }
.mall-goods-dialog-mask .next-dialog-foot { flex: 0 0 auto; }
.mall-goods-dialog-mask [data-preview-close] {
  width: 26px; height: 26px; min-width: 0; min-height: 0; flex: 0 0 auto;
  padding: 0; border: 0; border-radius: 999px; background: transparent;
  color: #909399; font-size: 20px; line-height: 1; box-shadow: none; cursor: pointer;
}
.mall-goods-dialog-mask [data-preview-close]:hover { background: #f2f3f5; color: #a6272e; }.mall-field-error { color: #f56c6c; }.mall-product-preview { width: 400px; }.mall-product-preview img { width: 100%; }.mall-preview-price { color: #f56c6c; font-size: 24px; }.mall-preview-description { white-space: pre-wrap; }
@media (max-width: 900px) { .mall-goods-reference-editor .mall-frow { grid-template-columns: 115px minmax(0,1fr); gap: 12px; padding: 0 0 18px; }.mall-goods-reference-editor .mall-product-section { padding: 12px; }.mall-goods-reference-list .mall-gfilters { gap: 8px; }.mall-goods-reference-list .mall-gbulk { flex-wrap: wrap; } }
@media (max-width: 560px) { .mall-goods-reference-editor .mall-frow { grid-template-columns: 1fr; }.mall-goods-reference-editor .mall-flabel { text-align: left; }.mall-goods-reference-list .mall-gfilters input[type=date] { width: 125px; }.mall-goods-reference-list .mall-gfilters label { flex-wrap: wrap; }.mall-goods-reference-editor .mall-funit { flex-wrap: wrap; } }

.mall-goods-reference-list .mall-round-action { min-width: 25px; flex: 0 0 25px; }
.mall-goods-reference-list .mall-pencil, .mall-goods-reference-editor .mall-pencil { min-width: 22px; flex: 0 0 22px; }
.mall-goods-reference-list .mall-gtab::after, .mall-goods-reference-editor .mall-gtab::after { display: none; }
.mall-goods-reference-list .mall-gfilters select { min-width: 130px; }
/* Product marketing tabs share the reference form geometry. */
.mall-goods-reference-editor [hidden] { display: none !important; }
.mall-goods-reference-editor [data-product-promotion-pane] { padding: 24px 20px; background: #fff; }
.mall-goods-reference-editor .mall-promo-table { min-width: 600px; width: 100%; border-collapse: collapse; }
.mall-goods-reference-editor .mall-promo-table th, .mall-goods-reference-editor .mall-promo-table td { padding: 12px; border-bottom: 1px solid #ebeef5; text-align: left; }
.mall-goods-reference-editor .mall-promo-table th { background: #f5f7fa; }
.mall-goods-reference-editor .mall-promo-table input { width: 90px; min-width: 70px; }
.mall-goods-reference-editor .mall-promo-table-tools { margin-bottom: 12px; }
.mall-goods-reference-editor .mall-promo-gift-options { display: flex; flex-wrap: wrap; gap: 12px; }
.mall-goods-reference-editor .mall-promo-gift-options label { display: flex; align-items: center; gap: 5px; }
.mall-goods-reference-editor .mall-promo-gift-options input { width: 16px; height: 16px; }

.mall-promotion-dialog .next-dialog{width:min(840px,94vw);max-height:90vh}.mall-promotion-dialog .next-dialog-body{overflow:auto;max-height:78vh}.mall-promotion-dialog .next-dialog-head{display:flex;justify-content:space-between;align-items:center}.mall-promotion-dialog textarea{width:100%;box-sizing:border-box}.mall-promotion-dialog form{padding:16px 0}.mall-promotion-dialog table{width:100%;border-collapse:collapse}.mall-promotion-dialog th,.mall-promotion-dialog td{padding:10px;border-bottom:1px solid #ebeef5;text-align:left}

/* A single SKU uses the reference site's vertical price form without duplicate inputs. */
.mall-goods-reference-editor .is-single-sku { overflow: visible; border: 0; }
.mall-goods-reference-editor .is-single-sku table,
.mall-goods-reference-editor .is-single-sku tbody { display: block; width: 100%; min-width: 0; }
.mall-goods-reference-editor .is-single-sku thead,
.mall-goods-reference-editor .is-single-sku .mall-spec-summary,
.mall-goods-reference-editor .is-single-sku td:not([data-sku-label]) { display: none; }
.mall-goods-reference-editor .is-single-sku tr { display: flex; flex-direction: column; background: transparent; }
.mall-goods-reference-editor .is-single-sku td[data-sku-label] { display: grid; grid-template-columns: 190px 320px; align-items: center; min-height: 48px; padding: 6px 0; border: 0; }
.mall-goods-reference-editor .is-single-sku td[data-sku-label]::before { content: attr(data-sku-label); color: #606266; text-align: right; padding-right: 24px; font-size: 14px; }
.mall-goods-reference-editor .is-single-sku input { width: 320px; max-width: 100%; height: 36px; }
.mall-goods-reference-editor .is-single-sku td small { grid-column: 2; padding-top: 4px; color: #909399; }
.mall-goods-reference-editor .is-single-sku [data-sku-field-cell="price"] { order: -4; }
.mall-goods-reference-editor .is-single-sku [data-sku-field-cell="market_price"] { order: -3; }
.mall-goods-reference-editor .is-single-sku [data-sku-field-cell="cost_price"] { order: -2; }
.mall-goods-reference-editor .is-single-sku [data-sku-field-cell="stock_total"] { order: -1; }
.mall-goods-reference-editor .mall-img-cell[draggable="true"] { cursor: grab; }
/* MALL-310:上面那条 `.mall-goods-reference-editor button` 是给表单里的普通按钮写的
   (min-width:72px/min-height:32px/白底/内边距 7px 15px),可它把**图片格子里的**两种按钮
   一起压了:右上角的移除键被撑成 72×32 的白方块糊住半张图(老大:「太大太丑」),
   悬停工具条三颗键合计 216px 塞进 100px 的格子。这里按格子内按钮的本意把它们还原。
   注:选择器要比 `.mall-goods-reference-editor button` 更具体,单靠 `.mall-img-x` 赢不了。 */
.mall-goods-reference-editor .mall-img-x {
  width: 18px; height: 18px; min-width: 0; min-height: 0;
  padding: 0; border: 0; border-radius: 999px;
  background: rgba(24, 24, 22, 0.62); color: #fff;
  font-size: 13px; line-height: 1; box-shadow: none;
}
.mall-goods-reference-editor .mall-img-x:hover { background: #a6272e; color: #fff; }
.mall-goods-reference-editor .mall-img-tools button {
  min-width: 0; min-height: 0; height: 20px;
  padding: 0 4px; border: 0; border-radius: 0;
  background: transparent; color: #fff;
  font-size: 10.5px; line-height: 20px; box-shadow: none;
}
.mall-goods-reference-editor .mall-img-tools button:hover:not(:disabled) { background: rgba(255, 255, 255, 0.2); color: #fff; }
.mall-goods-reference-editor .mall-img-tools button:disabled { opacity: 0.42; cursor: not-allowed; }
.mall-goods-reference-editor [hidden] { display: none !important; }
@media (max-width: 700px) {
  .mall-goods-reference-editor .is-single-sku td[data-sku-label] { grid-template-columns: 100px minmax(0, 1fr); }
  .mall-goods-reference-editor .is-single-sku td[data-sku-label]::before { padding-right: 12px; }
}

.mall-goods-reference-editor .is-single-sku tr:hover { background: transparent !important; }

.mall-gpagination { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:24px 0 4px; color:#606266; font-size:13px; }
.mall-gpagination select { width:100px; }
.mall-gpagination input { width:54px; text-align:center; }
.mall-gpagination button, .mall-gpagination input, .mall-gpagination select { height:32px; }

/* Product content controls follow the same rows as the reference editor. */
.mall-parameter-row { display:flex; gap:10px; align-items:center; margin-bottom:10px; }
.mall-parameter-row input:first-child { width:150px; flex:none; }
.mall-parameter-row input:nth-child(2) { width:300px; }
.mall-parameter-row button { color:#409eff; border:0; background:transparent; }
.mall-related-picker { display:grid; gap:10px; max-height:220px; overflow:auto; border:1px solid #dcdfe6; border-radius:4px; padding:12px; width:min(100%,560px); }
.mall-related-picker label { display:flex; gap:8px; align-items:center; }
.mall-related-picker input { width:auto !important; }
.mall-goods-reference-editor [data-goods-pane="display"] .goods-file-button,
.mall-goods-reference-editor [data-goods-pane="recommend"] .goods-file-button,
.mall-goods-reference-editor [data-goods-pane="share"] .goods-file-button { margin-left:12px; }
@media(max-width:760px) { .mall-parameter-row { flex-wrap:wrap; } .mall-parameter-row input:nth-child(2) { width:100%; } }

.mall-batch-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #ebeef5;margin:16px 0 24px;gap:4px}.mall-batch-tabs button{border:0;border-radius:0;background:transparent;padding:10px 12px;color:#606266}.mall-batch-tabs button[aria-selected="true"]{color:#409eff;border-bottom:2px solid #409eff}.mall-batch-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.mall-batch-options{display:flex;flex-wrap:wrap;gap:16px;max-height:300px;overflow:auto}

.mall-rich-editor{width:100%;border:1px solid #dcdfe6;background:#fff}.mall-rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px;background:#f5f7fa;border-bottom:1px solid #dcdfe6}.mall-rich-toolbar button,.mall-rich-toolbar label{min-width:28px;height:28px;padding:2px 6px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;position:relative}.mall-rich-toolbar button:hover{background:#e8f2ff;border-color:#b3d8ff}.mall-rich-toolbar button[aria-pressed="true"]{background:#d9ecff}.mall-rich-toolbar input[type=color]{width:18px;height:18px;padding:0;min-height:0}.mall-rich-toolbar select{width:auto;max-width:90px;min-height:28px;padding:2px}.mall-rich-image input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.mall-rich-content,.mall-rich-source{min-height:320px;width:100%;box-sizing:border-box;padding:16px;line-height:1.6;outline:none;overflow-wrap:anywhere;white-space:pre-wrap}.mall-rich-content p,.mall-rich-content div{margin:0 0 8px}.mall-rich-content img{max-width:100%;height:auto}.mall-rich-source{font-family:monospace}.mall-rich-footer{padding:6px 12px;border-top:1px solid #ebeef5;font-size:12px;color:#909399}.mall-rich-render{overflow-wrap:anywhere;white-space:pre-wrap}.mall-rich-render img{max-width:100%;height:auto}
.mall-region-picker { max-height: 48vh; overflow: auto; margin: 16px 0; border: 1px solid #e4e7ed; padding: 12px; }
.mall-region-picker details details { margin-left: 24px; }
.mall-region-picker summary { padding: 6px 0; cursor: pointer; }
.mall-region-picker label { display: inline-flex; align-items: center; gap: 4px; }
.mall-region-districts { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 8px 24px; }
.mall-delivery-zone-table input { width: 100px; min-width: 70px; }
.mall-delivery-zone-table td:first-child { min-width: 160px; max-width: 300px; }
.mall-delivery-zone-table td:first-child span { display: block; max-height: 100px; overflow: auto; }
.mall-delivery-rule-picker { display: grid; gap: 14px; max-height: 50vh; overflow: auto; padding: 16px 0; }
[data-goods-shipping-controls] label { display: inline-flex; gap: 5px; align-items: center; margin-right: 18px; }
[data-goods-shipping-controls] [data-shipping-rule-label], [data-goods-shipping-controls] [data-shipping-areas-label] { margin-right: 16px; }
.mall-promotion-dialog .next-dialog-body input[type="radio"],
.mall-promotion-dialog .next-dialog-body input[type="checkbox"] { width: 16px; height: 16px; min-width: 16px; margin: 0 5px 0 0; padding: 0; vertical-align: middle; }
.mall-promotion-dialog .next-dialog-body fieldset { border: 0; margin: 16px 0; padding: 0; }
.mall-promotion-dialog .next-dialog-body fieldset label { display: inline-flex; align-items: center; margin: 10px 22px 10px 0; }
.mall-promotion-dialog .next-dialog-body [data-delivery-name] { max-width: 420px; }
.mall-promotion-dialog .next-dialog-body [data-delivery-save] { margin-top: 20px; }
.mall-promotion-dialog .next-dialog-body [role="alert"] { color: #d03050; margin-top: 10px; }

.mall-goods-tag{display:inline-block;padding:2px 7px;border-radius:3px;color:#ff4544;background:#fff0f0;font-size:12px;margin:3px 5px 3px 0;line-height:20px}.mall-tag-choices{display:flex;flex-wrap:wrap;gap:12px}.mall-tag-choices label{display:flex;align-items:center;gap:5px}.mall-tag-color{display:flex;align-items:center;gap:8px}.mall-tag-color input[type=color]{width:42px;min-width:42px;height:34px;padding:2px}.mall-tag-color input:not([type=color]){flex:1}.mall-tag-editor .mall-dialog-field{margin-bottom:18px}
.mall-product-form-editor{display:grid;gap:16px;min-width:520px}.mall-product-form-editor>label{display:flex;align-items:center;gap:12px}.mall-form-tools{display:flex;flex-wrap:wrap;gap:8px;padding:14px;background:#f5f7fa}.mall-form-field{border:1px solid #e5e7eb;padding:18px;margin:12px 0;display:grid;gap:12px}.mall-form-field header{display:flex;align-items:center;gap:8px}.mall-form-field header strong{margin-right:auto}.mall-form-field label{display:flex;align-items:center;gap:10px}.mall-form-field input:not([type=checkbox]),.mall-form-field textarea{flex:1;min-width:0}.mall-form-field textarea{min-height:64px}.mall-product-form-editor [role=alert]{color:#d93025}
/* 同城配送基础设置：独立表单区，保留系统顶部主导航。 */
.mall-local-heading { display:flex;align-items:center;gap:24px;min-height:66px;margin-bottom:20px;border-radius:0; }
.mall-local-heading h2 { margin:0;font-size:16px;font-weight:500; }
.mall-local-heading>span { color:#409eff;font-size:14px; }
.mall-local-form { background:#fff;padding:24px 28px 0;font-size:14px;color:#606266; }
.mall-local-form h3 { font-size:16px;font-weight:500;color:#303133;border-left:3px solid #409eff;padding-left:12px;margin:6px 0 24px; }
.mall-local-form h3:not(:first-child) { margin-top:34px; }
.mall-local-row { display:flex;align-items:flex-start;gap:20px;margin-bottom:24px; }
.mall-local-label { flex:0 0 176px;text-align:right;padding-top:9px;line-height:22px;color:#606266; }
.mall-local-label>span { color:#f56c6c; }
.mall-local-control { min-width:0;flex:1;line-height:36px; }
.mall-local-form input:not([type=checkbox]):not([type=radio]),.mall-local-dialog input { height:36px;width:360px;min-width:0;max-width:100%;border:1px solid #dcdfe6;border-radius:4px;padding:0 12px;background:#fff;color:#606266;box-sizing:border-box; }
.mall-local-form textarea { width:500px;max-width:100%;min-height:86px;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;line-height:1.5; }
.mall-local-form input.mall-local-number { width:110px!important; }
.mall-local-form small { display:block;font-size:12px;color:#909399;line-height:20px;margin-top:6px; }
.mall-local-link { color:#409eff!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 10px!important;cursor:pointer; }
.mall-local-choice { display:inline-flex;align-items:center;gap:4px;margin-right:24px; }
.mall-local-form input[type=radio],.mall-local-form input[type=checkbox] { width:14px!important;height:14px!important;min-width:0;min-height:0;padding:0;box-shadow:none;accent-color:#409eff; }
.mall-local-weekdays { display:flex;flex-wrap:wrap;gap:20px; }
.mall-local-weekdays label { display:flex;align-items:center;gap:5px; }
.mall-local-switch { display:inline-flex;position:relative;vertical-align:middle;align-items:center;width:40px;height:20px; }
.mall-local-switch input[type=checkbox] { position:absolute;opacity:0;width:40px!important;height:20px!important;cursor:pointer;z-index:1; }
.mall-local-switch>span { width:40px;height:20px;background:#dcdfe6;border-radius:10px;transition:background .15s; }
.mall-local-switch>span:after { content:"";display:block;width:16px;height:16px;margin:2px;background:#fff;border-radius:50%;transition:transform .15s; }
.mall-local-switch>input:checked+span { background:#409eff; }
.mall-local-switch>input:checked+span:after { transform:translateX(20px); }
.mall-local-switch>input:focus-visible+span { outline:2px solid #303133;outline-offset:3px; }
.mall-local-control [data-local-range] input { width:130px!important; }
.mall-local-control [data-local-range] { display:flex;align-items:center;gap:12px;margin:10px 0; }
.mall-local-map { height:350px;max-width:920px;border:1px solid #dcdfe6;background:#f5f7fa;display:flex;align-items:center;justify-content:center;line-height:1.5;color:#909399; }
.mall-local-riders { display:flex;flex-wrap:wrap;gap:12px; }
.mall-local-riders>span { border:1px solid #dcdfe6;border-radius:4px;padding:0 8px; }
.mall-local-fee-row { margin-bottom:12px; }
.mall-local-fee-row output { display:inline-block;width:110px;text-align:center;border:1px solid #e4e7ed;background:#f5f7fa;border-radius:4px;color:#909399; }
.mall-local-footer { position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid #ebeef5;padding:14px 0 14px 196px; }
.mall-local-footer .primary,.mall-local-dialog .primary { background:#409eff;border:1px solid #409eff;border-radius:4px;color:#fff;padding:9px 22px;cursor:pointer; }
.mall-local-footer [role=alert] { margin:0 0 8px;color:#f56c6c; }
.mall-local-footer [role=status] { margin-left:16px;color:#67c23a; }
.mall-local-dialog .next-dialog { width:760px;max-width:calc(100vw - 40px); }
.mall-local-dialog .next-dialog-title { display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #ebeef5; }
.mall-local-dialog .next-dialog-title button { border:0;background:none;font-size:24px;color:#909399;cursor:pointer; }
.mall-local-dialog .mall-local-label { flex-basis:90px; }
.mall-local-dialog .mall-local-map { margin-bottom:16px; }
.mall-local-dialog [role=alert] { color:#f56c6c; }
.mall-local-form [hidden] { display:none!important; }
.mall-local-form [data-local-label-count] { margin-left:8px;color:#909399;font-size:12px; }
.mall-local-example { width:340px;max-width:100%;margin:0 auto;border:1px solid #dcdfe6;border-radius:12px;padding:20px;background:#f5f7fa; }
.mall-local-example h4 { text-align:center;margin:0 0 24px;color:#303133; }
.mall-local-example p { display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #ebeef5; }
.mall-local-example strong { color:#409eff;font-weight:400; }
.mall-local-example ul { list-style:none;padding:0; }
.mall-local-example li { padding:10px;background:#fff;margin-top:4px; }
.mall-local-example-note { text-align:center;color:#909399; }
.mall-store-panel { background:white;border-radius:6px;margin:20px;padding:24px;color:#303133;font-size:14px; }
.mall-store-panel header { display:flex;justify-content:space-between;align-items:center;margin-bottom:24px; }
.mall-store-panel h3 { font-size:16px;font-weight:500;margin:0; }
.mall-store-panel button,.mall-store-form button { background:white;border:1px solid #dcdfe6;border-radius:4px;color:#606266;padding:9px 16px;font-size:14px;cursor:pointer;box-shadow:none; }
.mall-store-panel button:hover,.mall-store-form button:hover { color:#409eff;border-color:#c6e2ff;background:#ecf5ff; }
.mall-store-panel button.mall-store-primary,.mall-store-form button.mall-store-primary { background:#409eff;border-color:#409eff;color:white; }
.mall-store-form { margin-top:32px; }
.mall-store-field { display:flex;align-items:flex-start;gap:24px;margin:0 0 24px;min-width:0;font-size:14px; }
.mall-store-field>div { min-width:0;flex:1; }
.mall-staff-image-field { flex-wrap:wrap; }
.mall-staff-image-field input { flex:1 1 200px; }
.mall-store-field>span:first-child { width:132px;flex-shrink:0;text-align:right;color:#606266;padding-top:9px; }
.mall-store-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.mall-store-field select,.mall-store-search input { border:1px solid #dcdfe6;border-radius:4px;padding:9px 12px;width:420px;max-width:100%;background:white;color:#606266;min-width:0; }
.mall-store-field input[type=checkbox] { margin-top:10px;accent-color:#409eff; }
.mall-store-form footer { padding:20px 0 20px 156px;border-top:1px solid #ebeef5;grid-column:1/-1; }
.mall-store-image { width:96px;height:96px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-style:dashed!important;vertical-align:bottom;padding:0!important;margin-right:16px; }
.mall-store-image b { font-size:28px;font-weight:300; }.mall-store-image small { color:#909399; }.mall-store-image img { width:100%;height:100%;object-fit:contain; }
.mall-store-search { display:flex;gap:12px;margin-bottom:24px; }.mall-store-search input { width:280px; }
.mall-store-table { border-collapse:collapse;width:100%;white-space:nowrap;font-size:14px;text-align:left; }.mall-store-table th { background:#f7f8fa;font-weight:500;padding:16px 20px; }.mall-store-table td { border-bottom:1px solid #ebeef5;padding:20px; }.mall-store-table td:last-child button { border:0;color:#409eff;padding:0 8px; }
.mall-store-panel .mall-store-switch { border:0;border-radius:12px;width:40px;height:20px;padding:2px;background:#dcdfe6; }.mall-store-switch i { display:block;width:16px;height:16px;background:white;border-radius:50%; }.mall-store-panel .mall-store-switch.is-on { background:#409eff; }.mall-store-switch.is-on i { margin-left:20px; }
.mall-store-count { text-align:right;color:#909399; }.mall-store-swatch { display:inline-block;width:15px;height:15px;border-radius:3px;margin-right:10px;vertical-align:middle; }
.mall-store-rich { flex:1;min-width:0;border:1px solid #dcdfe6;border-radius:4px; }.mall-store-rich-tools { display:flex;gap:4px;padding:8px;background:#f7f8fa;flex-wrap:wrap; }.mall-store-rich-tools button { padding:4px 8px;font-size:12px; }.mall-store-rich-editor { padding:16px;min-height:240px;outline:none;overflow-wrap:anywhere; }.mall-store-rich-editor img { max-width:100%; }
.mall-store-form.has-poster { display:grid;grid-template-columns:340px 1fr;gap:32px; }.mall-store-poster-preview { background:#f5f7fa;padding:24px; }.mall-store-poster-demo { background:white;padding:12px;box-shadow:0 4px 12px #0001; }.mall-store-poster-picture { background:#f2f3f5;aspect-ratio:1;color:#a8abb2;display:grid;place-items:center;margin-bottom:16px; }.mall-store-poster-demo strong { display:block;margin-bottom:10px; }.mall-store-poster-demo p { color:#909399;font-size:13px; }.mall-store-poster-demo>div:last-child { display:flex;justify-content:space-between;align-items:center; }.mall-store-poster-demo b { color:#ff4544;font-size:22px; }.mall-store-qr-placeholder { background:#f5f7fa;color:#909399;display:grid;place-items:center;width:55px;height:55px;font-size:12px; }.mall-store-poster-demo[data-style="2"] { background:#fff4eb; }.mall-store-poster-demo[data-style="3"] { background:#fff9e5;border:2px solid #e6c577; }.mall-store-poster-demo[data-layout="2"] .mall-store-poster-picture { aspect-ratio:3/2; }.mall-store-poster-demo[data-layout="3"] .mall-store-poster-picture { aspect-ratio:2/1; }.mall-store-poster-demo[data-layout="4"] { display:flex;flex-direction:column-reverse;gap:12px; }
.mall-store-choice { display:flex;gap:12px;flex-wrap:wrap;padding-top:4px; }.mall-store-choice label { display:flex;align-items:center;gap:6px; }.mall-store-choice input { accent-color:#409eff; }
.mall-store-page-directory { background:#f3f5f7;min-height:calc(100vh - 100px);padding:20px; }
.mall-store-page-tabs { display:flex;gap:38px;background:#fff;border-bottom:1px solid #ebeef5;margin:0 0 20px;padding:0 20px; }
.mall-store-page-tabs button { border:0;border-radius:0;padding:17px 0;font-size:14px;background:transparent;color:#303133; }
.mall-store-page-tabs .is-active { color:#409eff;border-bottom:2px solid #409eff; }
.mall-store-page-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 4px; }
.mall-store-page-grid article { background:#fff;min-width:0;padding:20px; }
.mall-store-page-grid h4 { display:table;font-size:12px;font-weight:400;color:#909399;background:#f4f4f5;border:1px solid #dcdfe6;border-radius:2px;margin:0 0 8px;padding:7px 10px; }
.mall-store-page-selection { display:flex;gap:0;margin-bottom:14px; }
.mall-store-page-selection span { min-width:0;flex:1;border:1px solid #dcdfe6;border-radius:3px;height:32px;line-height:30px;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }
.mall-store-page-selection button { border:1px solid #dcdfe6;border-radius:0;background:#fff;color:#606266;padding:0 14px;height:32px;white-space:nowrap; }
.mall-store-page-path { display:flex;align-items:center;gap:12px;min-height:42px;font-size:14px;color:#606266; }
.mall-store-page-path>span { flex:1;min-width:0; }
.mall-store-page-path button { padding:6px;width:28px;min-width:28px;height:28px;border-radius:50%;border:0;display:grid;place-items:center;flex-shrink:0; }
.mall-store-page-path .mall-store-page-copy { background:#fff8f0;color:#dfa165; }
.mall-store-page-path .mall-store-page-qr { background:#eff7ff;color:#66a6e6; }
.mall-store-page-path button:disabled { opacity:.35;cursor:not-allowed; }
.mall-store-page-path svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.mall-store-page-qrcode { text-align:center;overflow-wrap:anywhere;padding:16px; }.mall-store-page-qrcode img { max-width:100%; }
.mall-page-select-table .mall-store-table { min-width:0;table-layout:fixed;white-space:normal; }
.mall-page-select-table .mall-store-table th:first-child { width:44px; }
.mall-page-select-table .mall-store-table th:nth-child(2) { width:90px; }
.mall-page-select-table .mall-store-table td { overflow-wrap:anywhere; }
.mall-page-select-search { display:flex;gap:10px;margin-bottom:18px; }.mall-page-select-search input { min-width:0;flex:1;height:34px;border:1px solid #dcdfe6;padding:0 10px;border-radius:3px; }
.mall-page-select-footer { display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:16px; }.mall-page-select-actions { text-align:right;margin-top:24px; }.mall-page-select-actions>button { margin-left:12px; }.mall-page-select-actions [role=alert] { color:#f56c6c; }
@media(max-width:1200px) { .mall-store-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:820px) { .mall-store-page-grid { grid-template-columns:1fr; }.mall-store-page-tabs { gap:16px;overflow-x:auto; }.mall-store-page-tabs button { white-space:nowrap; } }
.mall-store-error { color:#f56c6c; }
.mall-store-video-upload { display:inline-block;position:relative;overflow:hidden;color:#409eff;border:1px solid #dcdfe6;border-radius:4px;padding:8px 14px;cursor:pointer; }
.mall-store-video-upload input[type=file] { position:absolute;inset:0;opacity:0;width:100%;cursor:pointer; }
[data-store-video-preview] { display:block;width:420px;max-width:100%;height:236px;margin-top:12px;background:#111; }
[data-store-video-preview][hidden] { display:none; }
.mall-store-poster-options { background:white;padding:24px; }.mall-store-poster-options .mall-store-field>span:first-child { width:108px; }.mall-store-poster-options em { color:#f56c6c;font-style:normal; }.mall-poster-tiles { display:grid;grid-template-columns:repeat(4, minmax(90px,122px));gap:12px; }.mall-poster-tile { position:relative;cursor:pointer; }.mall-poster-tile>input { position:absolute;opacity:0;width:1px;height:1px; }.mall-poster-tile>span { display:block;padding:10px;border:1px solid #dcdfe6;min-height:160px;border-radius:2px; }.mall-poster-tile input:checked+span { border-color:#5e9ce8; }.mall-poster-tile input:checked+span:after { content:'✓';position:absolute;right:1px;top:1px;width:26px;height:28px;border-radius:0 0 0 22px;background:#5e9ce8;color:white;text-align:center; }.mall-poster-tile input:focus-visible+span { outline:2px solid #409eff;outline-offset:2px; }.mall-poster-tile small { display:block;text-align:center;margin-top:10px;color:#87b2e5; }.mall-poster-layout { height:115px;background:#eaf4ff;border:9px solid #f3f9ff;padding:8px;position:relative; }.mall-poster-layout i { display:block;height:55px;background:white;border-radius:2px; }.mall-poster-layout b,.mall-poster-layout em { display:block;height:5px;background:white;margin:7px 0;width:65%;border-radius:3px; }.mall-poster-layout.l2 { padding:0; }.mall-poster-layout.l2 i { height:72px; }.mall-poster-layout.l3 { display:flex;flex-direction:column-reverse; }.mall-poster-layout.l4 i { height:48px; }.mall-poster-layout.l4:before { content:'';display:block;width:35px;height:5px;background:white;margin:2px 0 10px; }.mall-poster-count { display:grid;height:90px;background:#f3f9ff;gap:2px;padding:8px;grid-template-columns:repeat(2,1fr); }.mall-poster-count i { background:#e5f1ff; }.mall-poster-count.c1 { grid-template-columns:1fr; }.mall-poster-count.c3 i:first-child,.mall-poster-count.c5 i:first-child { grid-column:1/-1; }.mall-poster-recommend { display:flex;align-items:center;gap:8px;font-size:32px;margin:20px 0 26px; }.mall-poster-recommend small { font-size:10px;padding:6px 10px;border-radius:20px;background:#f6f6f6;color:#909399; }.mall-store-poster-demo>small { color:#999;display:block;margin-top:20px;font-size:12px; }
@media(max-width:1000px){.mall-store-form.has-poster{grid-template-columns:1fr}.mall-store-poster-preview{max-width:340px}.mall-store-field{gap:16px}.mall-store-field>span:first-child{width:96px}.mall-store-form footer{padding-left:112px}}
@media(max-width:650px){.mall-store-panel{margin:12px;padding:16px}.mall-store-field{display:block}.mall-store-field>span:first-child{display:block;width:auto;text-align:left;padding:0 0 8px}.mall-store-form footer{padding-left:0}.mall-store-image{margin-bottom:8px}}
.mall-report { color:#303133;font-size:14px;min-width:0;background:#f5f7fa;padding:20px; }
.mall-report.has-side { display:grid;grid-template-columns:minmax(0,2.18fr) minmax(260px,1fr);gap:20px; }
.mall-report main,.mall-report-side { min-width:0; }
.mall-report-panel { background:#fff;border-radius:16px;margin-bottom:20px;padding:24px 30px;box-shadow:none; }
.mall-report-panel h3 { font-size:16px;font-weight:500;margin:0 0 24px;color:#303133; }
.mall-report-panel h4 { margin:22px 0 16px;font-size:14px;font-weight:500; }
.mall-report-panel header { display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap; }
.mall-report-panel header small { margin-right:auto; }
.mall-report-panel header>[data-report-export],.mall-report-panel header>[data-report-table] { margin-left:auto; }
.mall-report-panel [data-report-export] { background:#5e9ce8;color:#fff;border-color:#5e9ce8; }
.mall-report-panel header h3 { margin:0; }
.mall-report-panel small { color:#909399;font-size:12px; }
.mall-report-panel button { border:1px solid #dcdfe6;border-radius:4px;background:white;color:#606266;box-shadow:none;font-size:13px;padding:8px 14px;cursor:pointer; }
.mall-report-panel button:hover,.mall-report-panel button.is-active { color:#409eff;border-color:#409eff;background:#ecf5ff; }
.mall-report-filters { display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0 20px; }
.mall-report-date-range { display:flex;align-items:center;gap:8px;border:1px solid #dcdfe6;border-radius:4px;max-width:100%; }
.mall-report .mall-report-date-range input { border:0;width:144px;padding:4px 8px;height:30px; }
.mall-report .mall-report-up { color:#f56c6c; }
.mall-report .mall-report-down { color:#67c23a; }
.mall-report-periods { display:flex;gap:12px;margin-right:12px; }
.mall-report-periods button { border-radius:20px!important;min-width:58px;background:#f7f8fa;border-color:transparent; }
.mall-report-periods button+button { margin-left:-1px; }
.mall-report-periods button:first-child { border-radius:4px 0 0 4px; }
.mall-report-periods button:last-child { border-radius:0 4px 4px 0; }
.mall-report input[type=date],.mall-report select { border:1px solid #dcdfe6;border-radius:4px;padding:8px 12px;color:#606266;background:white;min-width:0;height:36px; }
.mall-report-cards { display:grid;grid-template-columns:repeat(var(--report-columns,4),minmax(0,1fr));background:#f7f8fa;border-radius:4px;padding:24px 0;row-gap:28px; }
.mall-report-card { display:flex;flex-direction:column;padding:0 24px;gap:12px;border-right:1px solid #ebeef5;min-width:0; }
.mall-report-card:last-child { border-right:0; }
.mall-report-card>span { color:#606266;font-size:14px; }
.mall-report-card abbr { border:0;text-decoration:none;margin-left:6px;color:#a8abb2;cursor:help; }
.mall-report-card strong { font-size:20px;font-weight:500;color:#303133;line-height:1.2;overflow-wrap:anywhere; }
.mall-report-card small { line-height:1.6; }
.mall-report-chart { min-width:0;overflow-x:auto; }
/* Keep 11px SVG labels at 11-13.75px instead of scaling them with ultrawide panels. */
.mall-report-chart svg { display:block;width:100%;min-width:880px;max-width:1100px;height:auto;margin:0 auto; }
.mall-report-chart svg text { font:11px sans-serif;fill:#909399; }
.mall-report-legend { display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px; }
.mall-report-legend button { border:none;padding:4px;background:none; }
.mall-report-legend label { display:flex;align-items:center;gap:5px;color:#909399;font-size:12px;cursor:pointer; }
.mall-report-legend input { width:14px;height:14px;accent-color:#409eff; }
.mall-report-legend label i { width:16px;height:3px;border:0;margin:0 4px;border-radius:0; }
.mall-report-business { display:grid;grid-template-columns:2fr 1.05fr 1.1fr;gap:18px;overflow:auto; }
.mall-report-business>div { background:#f7f8fc;border-radius:16px;min-width:130px;padding:0 16px 12px; }
.mall-report-business>div:first-child { min-width:260px; }
.mall-report-business .mall-report-cards { background:transparent;grid-template-columns:1fr;padding:16px 0;row-gap:40px; }
.mall-report-business>div:first-child .mall-report-cards { grid-template-columns:1fr 1fr; }
.mall-report-business .mall-report-card { text-align:center;border:0;padding:0 8px;gap:14px; }
.mall-report-business h4 { margin:22px 4px 12px; }
.mall-report-welcome { background:#5e90f4;color:white;min-height:165px; }
.mall-report-welcome h3,.mall-report-welcome small { color:white; }
.mall-report-welcome small { display:block;line-height:1.6;overflow-wrap:anywhere; }
.mall-report-welcome h3 { font-size:19px; }
.mall-report-panel button.mall-report-todo { text-align:left;border:0;background:transparent;height:auto;border-radius:0; }
.mall-report-panel button.mall-report-todo { padding:0 18px;border-right:1px solid #ebeef5;gap:20px; }
.mall-report-panel button.mall-report-todo:last-child { border-right:0; }
.mall-report-cards:has(.mall-report-todo) { padding:8px 0;background:transparent; }
.mall-report-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px; }
.mall-report-shortcuts button { display:flex;flex-direction:column;align-items:center;gap:14px;height:auto;border:0;padding:10px 0;color:#303133; }
.mall-report-shortcuts svg { width:28px;height:28px;color:#426af7; }
.mall-report-side ul { display:grid;grid-template-columns:repeat(3,1fr); }
.mall-report-side li { flex-direction:column;align-items:center;gap:22px;border:0;padding:0;font-size:13px; }
.mall-report-side time { padding:8px 0;width:100%;background:#f7f8fc;text-align:center;color:#909399; }
.mall-report-side li:first-child time { color:#409eff; }
.mall-report-side li b { color:#f56c6c;font-size:16px;font-weight:500; }
.mall-store-choice input[type=radio],.mall-store-choice input[type=checkbox] { width:14px;min-width:14px;height:14px;padding:0;margin:0;flex:none; }
.mall-store-field>input[type=checkbox] { width:16px;height:16px; }
.mall-store-poster-options { min-width:0;padding:0; }
.mall-store-poster-options .mall-store-field { flex-wrap:wrap; }
.mall-store-poster-options .mall-store-field>span:first-child { width:100%;text-align:left; }
.mall-poster-tiles { grid-template-columns:repeat(4,minmax(70px,1fr));width:100%;max-width:536px; }
.mall-store-panel button,.mall-store-form button { height:auto;min-height:32px; }
.mall-subnav[data-reference-columns] .mall-subnav-heading { font-size:14px;font-weight:400; }
.mall-subnav[data-reference-columns] .mall-subnav-group { margin-bottom:16px; }
.mall-subnav[data-reference-columns] .mall-subnav-title::before { content:'·';margin-right:6px; }
.mall-subnav[data-reference-columns] .mall-subnav-grid button { width:calc(100% - 16px);margin:4px 8px;border-left:0;border-radius:3px;height:32px;padding:0 7px; }
.mall-report-legend i { display:inline-block;border:1px solid #409eff;border-radius:50%;height:9px;width:9px;margin-right:8px; }
.mall-report-legend .is-active i { background:#409eff; }
.mall-report-tables { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));gap:20px; }
.mall-report-table-scroll { overflow:auto; }
.mall-report table { border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:13px; }
.mall-report th { background:#f7f8fa;font-weight:500;color:#606266;padding:15px 16px; }
.mall-report td { padding:16px;border-bottom:1px solid #ebeef5;color:#606266; }
.mall-report-empty,.mall-report-loading { text-align:center;padding:48px 16px!important;color:#909399; }
.mall-report-notice { color:#909399;font-size:12px;line-height:1.8;margin:8px 0; }
.mall-report-store { display:flex;gap:24px;align-items:center; }
.mall-report-store select { width:300px; }
.mall-report-picker { position:relative;display:inline-block;margin-left:12px; }
.mall-report-picker summary { color:#409eff;cursor:pointer; }
.mall-report-picker[open] { position:absolute;right:36px;z-index:5;background:white;border:1px solid #ebeef5;box-shadow:0 4px 18px #0001;padding:16px; }
.mall-report-picker label { display:block;padding:8px;font-size:13px; }
.mall-report-side ul { list-style:none;padding:0;margin:0; }
.mall-report-side li { display:flex;justify-content:space-between;align-items:center;padding:0; }
.mall-report-shortcuts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px; }
.mall-report-shortcuts button { padding:10px 0; }
.mall-report th [data-report-sort] { padding:0;border:0;background:transparent;font:inherit;color:inherit;white-space:nowrap; }
.mall-report-analysis .mall-report-panel { border-radius:0; }
.mall-report-analysis .mall-report-title { padding:18px 20px;margin-bottom:12px; }
.mall-report-analysis .mall-report-title h3 { margin:0;font-size:14px; }
.mall-report-analysis .mall-report-periods button { border-radius:4px!important;background:#fff;border-color:#dcdfe6; }
.mall-report-analysis .mall-report-periods button.is-active { background:#ecf5ff;border-color:#409eff; }
.mall-report-analysis .mall-report-cards { padding:0;gap:8px;background:transparent; }
.mall-report-analysis .mall-report-card { text-align:center;align-items:center;border:0;padding:28px 12px;background:#f7f8fc;min-height:120px;box-sizing:border-box; }
.mall-report-analysis .mall-report-tables { grid-template-columns:1fr; }
.mall-report-analysis[data-report-view=points] .mall-report-tables { grid-template-columns:repeat(2,minmax(0,1fr)); }
#orderMain:fullscreen { overflow:auto;background:#f5f7fa; }
@media(max-width:1250px) { .mall-report.has-side { grid-template-columns:minmax(0,1fr); }.mall-report-side { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }.mall-report-card { padding:0 14px; } }
@media(max-width:800px) { .mall-report { padding:12px; }.mall-report-panel { padding:16px; }.mall-report-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.mall-report-side { display:block; }.mall-report-panel header { flex-wrap:wrap; }.mall-report-filters { gap:8px; } }
@media(max-width:1000px) {
  .mall-report-analysis[data-report-view=points] .mall-report-tables { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:720px) {
  .mall-subnav[data-reference-columns] .mall-subnav-grid { grid-auto-columns:120px; }
  .mall-report-business { grid-template-columns:minmax(0,1fr); }
  .mall-report-business>div,.mall-report-business>div:first-child { min-width:0; }
  .mall-report-business .mall-report-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mall-report-periods { flex-wrap:wrap;gap:8px;margin-right:0; }
  .mall-poster-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mall-report-store { flex-wrap:wrap;gap:8px; }
  .mall-report-store select { max-width:100%; }
}
@media(max-width:800px) {
  .mall-local-form { padding:20px 16px 0; }
  .mall-local-row { display:block; }
  .mall-local-label { text-align:left;padding:0 0 8px; }
  .mall-local-footer { padding-left:0; }
  .mall-local-form input:not([type=radio]):not([type=checkbox]) { max-width:100%; }
}
[data-topic-covers]{display:flex;flex-wrap:wrap;gap:12px}.mall-topic-cover{position:relative;width:96px;height:96px}.mall-topic-cover img{width:100%;height:100%;object-fit:cover}.mall-topic-cover button{position:absolute;right:0;top:0;background:#fff!important}
[data-topic-specific],[data-topic-goods-list]{display:grid;gap:10px;max-height:360px;overflow:auto;margin:16px 0}[data-topic-permission-body] input[type=checkbox],[data-topic-goods-list] input[type=checkbox]{width:14px;height:14px;min-height:14px;display:inline-block}
.mall-copyright-preview{min-height:440px;width:300px;max-width:100%;margin:16px auto;border:1px solid #eee;background:linear-gradient(#f8f8f8,#fff);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:24px;box-sizing:border-box;color:#909399}.mall-copyright-preview [data-copyright-preview]{display:flex;flex-direction:column;gap:8px;text-align:center;overflow-wrap:anywhere}.mall-copyright-preview img{max-width:140px;max-height:44px;object-fit:contain;margin:auto}.mall-copyright-fields{padding:24px 0}

.admin-view-mall .mall-navigation-workspace .order-main:has(.mall-store-panel,.mall-store-page-directory){border:0;border-radius:0;box-shadow:none;background:#f3f3f3;padding:0;min-height:calc(100vh - 60px)}
.admin-view-mall .mall-subnav[data-reference-columns] .mall-subnav-grid button{box-shadow:none}
.mall-store-panel{border-radius:4px;padding:20px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.mall-store-panel>header,.mall-store-panel>h3{margin:-20px -20px 20px;padding:18px 20px;border-bottom:10px solid #f3f3f3;font-size:14px;font-weight:400;min-height:56px;box-sizing:content-box}
.mall-store-panel>header{min-height:20px}.mall-store-panel>header h3{font-size:14px;font-weight:400;margin:0}
.mall-store-panel>h3{min-height:20px;line-height:20px}
.mall-download-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 20px;font-size:14px}
.mall-download-filters label,.mall-download-filters>div{display:flex;align-items:center;gap:0;white-space:nowrap}
.mall-download-filters input,.mall-download-filters select{height:32px;border:1px solid #dcdfe6;border-radius:4px;padding:0 12px;background:#fff;font:12px "PingFang SC",sans-serif;box-sizing:border-box}
.mall-download-filters select{width:120px}.mall-download-filters>div{position:relative}.mall-download-filters>div input{width:250px;padding-right:34px}
.mall-download-filters>div button{position:absolute;right:0;top:0;padding:0;width:32px;height:32px;min-height:0;background:transparent;border:0;box-shadow:none;color:#909399}
.mall-download-date-range{display:flex;align-items:center;width:400px;height:32px;box-sizing:border-box;border:1px solid #dcdfe6;border-radius:4px;padding:0 8px;color:#c0c4cc}
.mall-download-date-range input{width:calc(50% - 22px);min-width:0;border:0;background:transparent;text-align:center;color:#606266;padding:0 4px}
.mall-download-filters [data-download-delete-all]{height:32px;min-height:0;border:1px solid #dcdfe6;border-radius:3px;background:#fff;color:#606266;font-size:12px;padding:0 15px;box-shadow:none;margin:0}
.mall-downloads .mall-store-table{border:1px solid #ebeef5;text-align:left;table-layout:auto}.mall-downloads .mall-store-table th{height:48px;box-sizing:border-box;background:#fff;color:#909399;font-weight:700;text-align:left;padding:12px 10px;border:1px solid #ebeef5}
.mall-downloads .mall-store-table td{height:74px;box-sizing:border-box;text-align:left;padding:12px 10px;border:1px solid #ebeef5;background:#fff;color:#606266}
.mall-downloads .mall-store-table th:first-child{width:auto}.mall-downloads .mall-store-table th:nth-child(2){width:180px}.mall-downloads .mall-store-table th:nth-child(3){width:120px}.mall-downloads .mall-store-table th:last-child{width:200px}
.mall-downloads .mall-store-table td:last-child{white-space:nowrap}.mall-downloads .mall-store-table td button{display:inline-flex;align-items:center;justify-content:center;color:#86b970;border:0;border-radius:50%;width:30px;height:30px;min-height:0;min-width:0;background:#f2f8ef;padding:6px;box-shadow:none;margin:0 12px 0 5px}
.mall-downloads .mall-store-table td svg{width:18px;height:18px;fill:currentColor}.mall-downloads .mall-store-table td .mall-download-remove{color:#e38687;background:#fbefef}
@media(max-width:720px){.mall-download-filters{gap:12px}.mall-download-filters label{flex-wrap:wrap}.mall-download-date-range{width:100%}.mall-download-filters>div input{max-width:210px}.mall-store-panel{margin:12px;padding:16px}.mall-store-panel>header,.mall-store-panel>h3{margin:-16px -16px 16px;padding:16px}}

/* MALL-273 topic composer: reference three-column editor, isolated from the top navigation. */
.mall-topic-editor { background:#f3f3f3; }
.mall-topic-main-tabs { display:flex;gap:28px;background:#fff;margin:0 -20px 14px;padding:0 24px;min-height:50px;border-bottom:1px solid #e4e7ed; }
.mall-topic-main-tabs button,.mall-topic-settings-tabs button { border:0;border-radius:0;background:transparent!important;padding:14px 0;box-shadow:none; }
.mall-topic-main-tabs button[aria-selected="true"],.mall-topic-settings-tabs button[aria-selected="true"] { color:#409eff;border-bottom:2px solid #409eff; }
.mall-topic-editor [hidden] { display:none!important; }
.mall-topic-editor [data-topic-base] { margin:0;background:#fff;padding:20px 32px; }
.mall-topic-editor [data-topic-base]>h4 { margin:0 0 26px;border-left:3px solid #409eff;padding:2px 14px;font-size:15px; }
.mall-topic-radio { display:inline-flex;gap:6px;align-items:center;margin:4px 20px 4px 0;font-size:14px; }
.mall-topic-layout-choice { display:flex;gap:24px; }
.mall-topic-layout-choice>label { display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:150px; }
.mall-topic-layout-picture { height:92px;width:150px;background:#f3f5f7;display:flex;padding:8px;gap:4px;box-sizing:border-box;order:-1; }
.mall-topic-layout-picture i { display:block;background:#dbeafe;flex:1; }.mall-topic-layout-picture.large i:first-child{flex:5}.mall-topic-layout-picture.large i:not(:first-child){display:none}.mall-topic-layout-picture.list{flex-direction:column}.mall-topic-layout-picture.list i{max-height:20px}
.mall-topic-workspace { display:grid;grid-template-columns:250px 375px minmax(420px,1fr);gap:24px;align-items:start;max-height:740px;overflow:auto;padding-bottom:12px; }
.mall-topic-palette { background:#fff;padding:20px;position:sticky;top:0; }
.mall-topic-palette h4 { margin:4px 0 24px;font-size:16px; }.mall-topic-palette>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mall-topic-palette button { font-size:14px;white-space:nowrap;text-align:left;padding:12px 8px;border-color:#f2f3f5; }.mall-topic-palette button span{color:#606266}
.mall-topic-phone { width:375px;background:#fff;min-height:660px;border:1px solid #e4e7ed;box-sizing:border-box; }
.mall-topic-status { font-size:12px;padding:6px; }.mall-topic-status span{float:right}.mall-topic-phone>h4{text-align:center;margin:12px 0 20px;font-size:16px}
.mall-topic-block { position:relative;min-height:50px;box-sizing:border-box;border:1px dashed #ddd;cursor:pointer; }
.mall-topic-block.selected { outline:2px solid #409eff;outline-offset:-2px; }
.mall-topic-block-content { position:relative;z-index:1;min-width:0;overflow:hidden; }
.mall-topic-block-content p { margin:8px 0; }.mall-topic-block-content img{max-width:100%}
.mall-topic-background { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit; }
.mall-topic-block>nav { display:none;position:absolute;right:0;top:0;z-index:4;gap:1px;background:#409eff; }.mall-topic-block.selected>nav,.mall-topic-block:hover>nav{display:flex}
.mall-topic-block>nav button { padding:3px 8px;min-height:26px;color:#fff;background:#409eff;border:0;border-radius:0; }.mall-topic-block>nav button:disabled{opacity:.35}
.mall-topic-image-grid { position:relative;min-height:80px; }.mall-topic-image-grid>button{position:absolute;border:1px solid #d9ecff;border-radius:0;padding:0;color:#409eff;background:#ecf5ff;overflow:hidden}
.mall-topic-image-grid img { width:100%;height:100%;object-fit:cover;display:block; }.mall-topic-image-grid>span{display:block;padding:45px 20px;color:#909399}
.mall-topic-empty-copy { padding:70px 16px;text-align:center;color:#a8abb2;min-height:80px; }
.mall-topic-video-placeholder { display:grid;place-items:center;background:#f7f7f7;color:#aaa;font-size:52px; }.mall-topic-video-cover{width:100%;display:block}.mall-topic-play{position:absolute;left:44%;top:42%;font-size:42px;color:#fff;text-shadow:0 1px 5px #0006}
.mall-topic-goods-preview { display:grid;gap:10px; }
.mall-topic-goods-preview.layout-two { grid-template-columns:repeat(2,minmax(0,1fr)); }.mall-topic-goods-preview.layout-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mall-topic-goods-preview.layout-scroll { display:flex;overflow-x:auto; }.mall-topic-goods-preview.layout-scroll .mall-topic-preview-product { min-width:150px;width:44%;flex-shrink:0; }
.mall-topic-preview-product { min-width:0;overflow:hidden;box-sizing:border-box; }.mall-topic-preview-image{position:relative}.mall-topic-preview-image img,.mall-topic-preview-image>span{display:block;width:100%;aspect-ratio:1}.mall-topic-preview-image>span{display:grid;place-items:center;background:#eee;color:#aaa;font-size:12px}
.mall-topic-preview-image>i{position:absolute;top:0;left:0;background:#ff4544;color:white;font-size:11px;padding:3px 6px;font-style:normal}.mall-topic-preview-copy{padding:10px;min-width:0;flex:1;text-align:left}
.mall-topic-preview-copy p{margin:0 0 8px;font-size:14px;overflow-wrap:anywhere}.mall-topic-preview-copy strong{color:#ff4544;font-size:16px}.mall-topic-preview-copy del{color:#aaa;font-size:12px;margin-left:6px}.mall-topic-preview-copy small{display:block;color:#999;margin:6px 0}
.mall-topic-preview-button{display:table;margin-top:10px;padding:4px 10px;border:1px solid;font-size:12px}.mall-topic-preview-button.round-fill,.mall-topic-preview-button.round-line{border-radius:30px}
.mall-topic-goods-preview.layout-list .mall-topic-preview-product{display:flex;gap:12px}.mall-topic-goods-preview.layout-list .mall-topic-preview-image{width:104px;flex-shrink:0}.mall-topic-goods-preview.mode-fixed .mall-topic-preview-copy p{height:40px;overflow:hidden}
.mall-topic-preview-note{color:#909399;font-size:12px;line-height:1.6}.mall-topic-goods-missing{color:#d35151;font-size:13px;padding:18px}
.mall-topic-ad-placeholder { padding:64px 8px;text-align:center;color:#909399;background:#f5f5f5; }
.mall-topic-settings { background:#fff;position:sticky;top:0;max-height:710px;overflow:auto; }
.mall-topic-settings>h3 { font-size:22px;margin:0;padding:26px 20px;border-bottom:10px solid #f3f3f3; }.mall-topic-settings>h3:before{content:"";display:inline-block;vertical-align:middle;background:#409eff;width:6px;height:28px;margin-right:12px}
.mall-topic-settings-tabs { display:flex;justify-content:center;gap:28px;padding:0 20px;border-bottom:1px solid #e4e7ed; }
.mall-topic-settings-body { padding:24px 20px; }.mall-topic-settings-body>h4{font-size:16px;margin:16px 0 28px}.mall-topic-settings-body>small{display:block;color:#909399;margin:12px 0;line-height:1.6}
.mall-topic-control { display:flex;align-items:center;gap:12px;margin:22px 0;min-width:0;font-size:14px; }.mall-topic-control>span:first-child{flex:0 0 92px;color:#909399}.mall-topic-control>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.mall-topic-control>div>label{display:inline-flex;gap:4px;align-items:center;margin:3px 8px 3px 0}
.mall-topic-control input:not([type=radio]):not([type=checkbox]):not([type=range]),.mall-topic-control select { min-width:0;width:100%;box-sizing:border-box;border:1px solid #dcdfe6;border-radius:4px;background:white;padding:9px 10px;font-size:14px; }
.mall-topic-control input[type=color]{max-width:96px;height:36px;padding:4px!important}.mall-topic-control input[type=range]{min-width:40px;flex:1;accent-color:#409eff}.mall-topic-control input[type=range]+input{width:64px!important}
.mall-topic-settings-body .mall-store-image{width:96px;height:96px;padding:0}.mall-topic-settings-body [role=alert]{color:#e35d6a}
.mall-topic-presets { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }.mall-topic-presets>button{border:0;font-size:12px;padding:6px 2px}
.mall-topic-presets>button>span { height:70px;width:100%;display:grid;gap:3px;margin-bottom:8px;background:#f3f7fb; }.mall-topic-presets i{background:#d2e9ff;border:1px solid #b9dcff}.mall-topic-presets .selected{outline:1px solid #409eff;color:#409eff}
.mall-topic-cell-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.mall-topic-cell-tabs .selected{border-color:#409eff;color:#409eff}
.mall-topic-footer { padding:16px;background:#fff;text-align:center;margin-top:24px; }.mall-topic-footer [role=alert]{color:#e05d6f;margin:8px 0 0}
.mall-topic-hotspot-stage { max-width:520px;position:relative;touch-action:none;cursor:crosshair;line-height:0; }.mall-topic-hotspot-stage>img{width:100%;display:block;pointer-events:none}.mall-topic-hotspot-stage [data-hotspot-boxes]{position:absolute;inset:0;pointer-events:none}.mall-topic-hotspot-stage span{position:absolute;border:2px solid #409eff;background:#409eff33;color:#1862ba;box-sizing:border-box;line-height:1.4}
.mall-topic-hotspot-row { display:flex;gap:10px;align-items:center;margin:12px 0; }.mall-topic-hotspot-row input{flex:1;min-width:0}.mall-topic-pick-row{display:flex;gap:8px;padding:10px;border-bottom:1px solid #eee}
.mall-topic-ad-notice{background:#fdf6ec;color:#b98230;padding:12px;line-height:1.6}
.mall-topic-image-grid.natural-height>button{position:relative;left:auto!important;top:auto!important;width:100%!important;height:auto!important;display:block;min-height:80px}.mall-topic-image-grid.natural-height img{height:auto;object-fit:contain}.mall-topic-image-grid.natural-height button>span{display:block;padding:65px 8px}
.mall-topic-cube{touch-action:none;cursor:crosshair;background-image:linear-gradient(to right,#d9ecff 1px,transparent 1px),linear-gradient(to bottom,#d9ecff 1px,transparent 1px);background-size:calc(100% / var(--cube-cols)) calc(100% / var(--cube-rows));outline:1px solid #d9ecff}
.mall-topic-cube>span{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;padding:0;font-size:12px}.mall-topic-cube-selection{position:absolute;box-sizing:border-box;border:1px solid #409eff;background:#ecf5ffdd;z-index:3;display:grid;place-items:center;pointer-events:none;color:#409eff;font-size:12px}
.mall-topic-cube-actions{position:absolute;right:0;bottom:0;display:flex;pointer-events:auto}.mall-topic-cube-actions button{border-radius:0;border:0;background:#409eff!important;color:#fff!important;min-width:24px;min-height:24px;padding:2px 6px}
.mall-topic-control input[type=range]+input[data-topic-config=columns],.mall-topic-control input[type=range]+input[data-topic-config=rows]{width:64px!important}
@media(max-width:900px){.mall-topic-layout-choice{flex-wrap:wrap}.mall-topic-editor [data-topic-base]{padding:20px 12px}.mall-topic-workspace{grid-template-columns:180px 375px 420px;gap:16px}.mall-topic-palette{padding:12px}.mall-topic-palette>div{grid-template-columns:1fr}}


.mall-topic-editor>header{background:#fff;box-sizing:border-box;height:66px;min-height:66px;padding:12px 20px!important;margin-bottom:10px!important}

.mall-topic-list-content{display:flex;gap:12px;align-items:center;min-width:180px}.mall-topic-list-content img{width:60px;height:60px;object-fit:cover}.mall-topic-list-content strong{font-size:14px;font-weight:400}.mall-topic-list-content p{color:#999;font-size:12px;margin:8px 0}.mall-topic-list input[type=number]{width:70px;border:1px solid #dcdfe6;padding:6px}.mall-topic-list td button:not([role=switch]){padding:6px 9px;color:#409eff;border:0}.mall-topic-list td button[data-store-remove]{color:#f56c6c}.mall-topic-list select{width:180px;border:1px solid #dcdfe6;padding:9px 12px;margin-left:10px;background:#fff}.mall-topic-tag{display:inline-block;border:1px solid currentColor;border-radius:3px;padding:3px 8px}

/* MALL-273: observed trade cards and four-stage conversion layout. */
.mall-report[data-report-view="trade"] .mall-report-panel{border-radius:4px;padding:20px}
.mall-report[data-report-view="trade"] .mall-report-title{font-size:14px;font-weight:400;min-height:60px;margin-bottom:10px}
.mall-report[data-report-view="trade"] .mall-report-title h3{font-size:14px;font-weight:400}
.mall-trade-filters .mall-report-filters{padding:0;margin:0;border:0}
.mall-trade-overview>header{justify-content:flex-start;gap:16px;margin-bottom:24px}
.mall-trade-overview>header h3,.mall-conversion-panel>header h3{font-weight:400;font-size:18px}
.mall-trade-overview>header button{border:0;padding:0;color:#409eff;background:transparent;font-size:12px}
.mall-trade-selected{margin-left:auto;color:#303133;font-size:14px}
.mall-trade-overview .mall-report-cards{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin:0}
.mall-trade-overview .mall-report-card{text-align:left;flex:0 0 208px;min-height:140px;padding:24px 20px;border:1px solid #dcdfe6;border-radius:8px;box-sizing:border-box;background:white;display:block}
.mall-trade-overview .mall-report-card.is-selected{border-color:#80adf0;background:#f0f7ff}
.mall-trade-overview .mall-report-card>span{display:flex;align-items:center;gap:4px;color:#909399;font-size:14px}
.mall-trade-overview .mall-report-card input{margin-left:auto;accent-color:#409eff}
.mall-trade-overview .mall-report-card strong{display:block;font-size:20px;font-weight:400;line-height:1.8}
.mall-trade-overview .mall-report-card small{display:block;font-size:12px}
.mall-trade-overview .mall-report-chart{margin-top:30px;padding:0 25px 10px}
.mall-conversion-scroll{overflow-x:auto;padding-bottom:8px}
.mall-conversion-grid{display:grid;grid-template-columns:minmax(910px,1fr) 120px 360px;grid-template-rows:repeat(4,112px);gap:10px 0;min-width:1390px}
.mall-conversion-values{grid-column:1;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:20px 24px;border-radius:8px 0 0 8px;box-sizing:border-box}
.mall-conversion-values span{display:block;font-size:14px;color:#909399}.mall-conversion-values strong{display:block;font-size:28px;font-weight:400;margin-top:4px;color:#303133}
.mall-conversion-step-0{--stage-color:#f5bf5c;background:#fefbf5;grid-row:1}.mall-conversion-step-1{--stage-color:#5d6bd7;background:#f5f5ff;grid-row:2}.mall-conversion-step-2{--stage-color:#6dc9b0;background:#f5fbfa;grid-row:3}.mall-conversion-step-3{--stage-color:#e95f86;background:#fdf5f8;grid-row:4}
.mall-conversion-stage{grid-column:2;display:flex;align-items:center;justify-content:center;background:var(--stage-color);color:white;clip-path:polygon(var(--stage-inset) 0,calc(100% - var(--stage-inset)) 0,calc(100% - var(--stage-inset) - 8px) 100%,calc(var(--stage-inset) + 8px) 100%);--stage-inset:0px;font-size:16px}
.mall-conversion-stage.mall-conversion-step-1{--stage-inset:8px}.mall-conversion-stage.mall-conversion-step-2{--stage-inset:16px}.mall-conversion-stage.mall-conversion-step-3{--stage-inset:24px}
.mall-conversion-rates{grid-column:3;grid-row:1/5;position:relative}
.mall-conversion-rate{position:absolute;top:calc(56px + var(--rate-start)*122px);height:calc(var(--rate-length)*122px);width:116px;font-size:14px;color:#606266;display:flex;align-items:center;text-align:center}
.mall-conversion-rate i{width:25px;height:100%;border:1px solid #dcdfe6;border-left:0;box-sizing:border-box;flex-shrink:0}.mall-conversion-rate span{padding:8px;line-height:1.5}
.mall-conversion-rate.rate-0,.mall-conversion-rate.rate-1,.mall-conversion-rate.rate-2{left:16px}.mall-conversion-rate.rate-3,.mall-conversion-rate.rate-4{left:130px}.mall-conversion-rate.rate-5{left:244px}

.admin-view-mall .mall-report input[type="checkbox"]{appearance:auto!important;min-width:14px!important;width:14px!important;min-height:14px!important;height:14px!important;padding:0!important;flex:0 0 14px;accent-color:#409eff;border-radius:2px}
.admin-view-mall .mall-report input[type="checkbox"]::after{display:none!important}
.admin-view-mall .mall-trade-overview .mall-report-card input[type="checkbox"]{margin:0 0 0 auto}
.mall-report[data-report-view="trade"] .mall-report-panel{margin-bottom:10px}

.mall-report-panel button.primary{background:#409eff;border-color:#409eff;color:#fff}
.mall-report-panel button.primary:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}

.admin-view-mall .mall-report-legend label{position:relative;color:#303133}
.admin-view-mall .mall-report-legend input[type="checkbox"]{position:absolute;opacity:0;min-width:1px!important;width:1px!important;min-height:1px!important;height:1px!important;pointer-events:none}
.admin-view-mall .mall-report-legend label i{width:8px;height:8px;min-width:8px;border-radius:50%;margin:0}
.admin-view-mall .mall-report-legend label:has(input:not(:checked)) i{background:#c0c4cc!important}
.admin-view-mall .mall-report-legend label:has(input:focus-visible){outline:2px solid #409eff;outline-offset:4px}
.admin-view-mall .mall-report .mall-report-date-range input{border:0;border-radius:0;background:transparent;padding:0 8px;height:30px}

/* MALL-273: store decoration lists, standalone forms and persistent save bar. */
.mall-navigation-page.is-editing { background:transparent;padding-bottom:100px }
.mall-decoration-breadcrumb { display:flex;justify-content:flex-start!important;gap:12px;background:white;margin-bottom:10px!important }
.mall-store-panel .mall-decoration-breadcrumb button { border:0;color:#409eff;padding:0;min-width:0;min-height:0;background:none }
.mall-navigation-editor { background:white;padding:20px;min-height:330px;margin:0 -20px }
.mall-decoration-field { display:flex;align-items:flex-start;gap:12px;margin:0 0 20px;color:#606266;font-size:14px;min-height:32px }
.mall-decoration-field>span:first-child { width:88px;flex-shrink:0;text-align:right;padding-top:7px }
.mall-decoration-field>span:first-child b { color:#f56c6c;font-weight:400;margin-right:4px }
.mall-decoration-field>input,.mall-decoration-link-input { width:495px;max-width:calc(100% - 100px);box-sizing:border-box }
.mall-decoration-field input:not([type=checkbox]):not([type=hidden]) { height:32px;border:1px solid #dcdfe6;border-radius:3px;background:#fff;font-size:14px;color:#606266;padding:0 15px }
.mall-decoration-field input:focus { border-color:#409eff;outline:0 }
.mall-decoration-link-input { display:flex }
.mall-decoration-link-input input { min-width:0;flex:1;background:#f5f7fa!important }
.mall-store-panel .mall-decoration-link-input button { border-radius:0;height:32px;font-size:12px;padding:0 16px;min-width:80px }
.mall-navigation-image { display:flex;width:80px;height:80px;align-items:center;justify-content:center;border:1px solid #ebeef5;box-sizing:border-box }
.mall-navigation-image img { width:76px;height:76px;object-fit:contain }
.mall-navigation-image>span[aria-label] { color:#dcdfe6;font-size:42px;line-height:1 }
.mall-decoration-field>div>button { font-size:12px;border-radius:0;height:28px;min-height:28px;padding:0 15px }
.mall-decoration-check { position:relative;display:inline-block;width:40px;height:20px;margin-top:6px }
.mall-decoration-check input { opacity:0;position:absolute;inset:0;width:40px;height:20px;margin:0;cursor:pointer;z-index:1 }
.mall-decoration-check i { display:block;background:#dcdfe6;border-radius:12px;width:40px;height:20px;transition:background .15s }
.mall-decoration-check i:before { content:"";display:block;width:16px;height:16px;position:absolute;top:2px;left:2px;background:white;border-radius:50%;transition:left .15s }
.mall-decoration-check input:checked+i { background:#409eff }
.mall-decoration-check input:checked+i:before { left:22px }
.mall-decoration-check input:focus-visible+i { outline:2px solid #409eff;outline-offset:2px }
.mall-store-panel .mall-decoration-savebar { position:sticky;bottom:0;background:white;margin:50px -20px -100px;padding:15px;display:flex;justify-content:center;min-height:70px;box-sizing:border-box;border-radius:3px }
.mall-store-panel .mall-decoration-savebar button { min-width:68px;height:40px;font-size:14px }
.mall-navigation-search { position:relative;display:flex;width:250px;margin-bottom:20px }
.mall-navigation-search input { width:100%;height:32px;border:1px solid #dcdfe6;border-radius:3px;padding:0 38px 0 15px;font-size:12px }
.mall-store-panel .mall-navigation-search button { position:absolute;right:0;top:0;min-width:32px;width:32px;height:32px;padding:0;border:0;background:transparent;color:#909399 }
.mall-navigation-table { width:100%;border-collapse:collapse;font-size:14px;color:#606266 }
.mall-navigation-table th,.mall-navigation-table td { border:1px solid #ebeef5;text-align:left;padding:12px 10px;height:48px;box-sizing:border-box;font-weight:400 }
.mall-navigation-table th { color:#909399;font-weight:600 }
.mall-navigation-table td { height:64px }
.mall-navigation-table th:nth-child(1) { width:8% }.mall-navigation-table th:nth-child(2){width:10%}.mall-navigation-table th:nth-child(3){width:7%}.mall-navigation-table th:nth-child(4){width:31%}.mall-navigation-table th:nth-child(5){width:15%}.mall-navigation-table th:nth-child(6){width:10%}
.mall-navigation-link-label { display:block;background:#f5f7fa;color:#909399;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 0 }
.mall-navigation-table .mall-nav-icon-thumb { width:36px;height:36px }
.mall-store-panel .mall-navigation-table .mall-navigation-action { min-width:32px;width:32px;height:32px;border:0;border-radius:50%;padding:0;background:#ecf5ff;color:#409eff;margin:0 10px 0 0;font-size:18px }
.mall-store-panel .mall-navigation-table .mall-navigation-action.danger { background:#fef0f0;color:#f56c6c }
.mall-store-panel .mall-navigation-text-button { min-width:24px;width:24px;padding:0;border:0;color:#409eff;background:none }
.mall-store-panel .mall-navigation-table .mall-store-switch { min-width:40px;min-height:20px }
.mall-navigation-table [data-navigation-sort-form] { display:flex;gap:3px }.mall-navigation-table [data-navigation-sort-form] input{width:65px;height:30px;padding:0 5px}.mall-store-panel .mall-navigation-table [data-navigation-sort-form] button{min-width:24px;padding:0 4px}
.mall-navigation-table td.mall-navigation-empty { text-align:center;color:#909399;height:60px }
.mall-navigation-pager { display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:24px 0 20px;font-size:13px }
.mall-navigation-pager>span { display:flex;align-items:center;justify-content:center;min-width:30px;height:28px;background:#409eff;color:white }
.mall-store-panel .mall-navigation-pager>button { min-width:30px;width:30px;min-height:28px;height:28px;padding:0;border:0;border-radius:0;background:#f4f4f5;color:#606266 }
.mall-store-panel .mall-navigation-pager>button:disabled { color:#c0c4cc;cursor:not-allowed }
.mall-navigation-pager label { display:flex;gap:6px;align-items:center;margin-left:14px }.mall-navigation-pager input { width:46px;height:28px;padding:0 6px;text-align:center;border:1px solid #dcdfe6;border-radius:3px }
[data-navigation-error]:empty { display:none }[data-navigation-error] { color:#f56c6c;margin:12px 0 }
@media(max-width:900px){.mall-navigation-table{min-width:760px}.mall-navigation-page{overflow-x:auto}.mall-navigation-editor{min-width:550px}}

.mall-theme-page { padding-bottom:100px }
.mall-theme-page .mall-theme-modes { gap:16px 32px;margin:8px 5px 28px;font-size:14px;min-height:32px;align-items:center;flex-wrap:wrap }
.mall-theme-page .mall-theme-modes label { display:inline-flex;flex:0 0 auto;white-space:nowrap }
.mall-theme-page .mall-theme-modes input { accent-color:#409eff }
.mall-theme-page .mall-theme-presets { grid-template-columns:repeat(5,127px);gap:20px;margin:0 0 20px }
.mall-theme-page .mall-theme-preset { flex-direction:row;height:62px;padding:10px 14px;border-radius:4px;gap:7px;white-space:nowrap }
.mall-theme-page .mall-theme-preset.is-active { border:2px solid #409eff;box-shadow:none;padding:9px 13px }
.mall-theme-page .mall-theme-preset:hover { border-color:#409eff;background:#fff }
.mall-theme-page .mall-theme-swatches { position:relative;width:44px;height:36px;flex-shrink:0;overflow:visible;border-radius:0 }
.mall-theme-page .mall-theme-swatches i { position:absolute;left:1px;top:7px;width:25px;height:25px;transform:rotate(45deg);border-radius:5px }
.mall-theme-page .mall-theme-swatches i+i { left:15px }
.mall-theme-page .mall-theme-preset-name { font-size:12px;color:#606266 }
.mall-theme-page .mall-theme-custom { display:flex;gap:60px;margin:0 5px 30px;flex-wrap:wrap }
.mall-theme-page .mall-theme-custom[hidden],.mall-theme-page .mall-theme-presets[hidden] { display:none }
.mall-theme-page .mall-theme-custom label { display:inline-flex;flex-direction:row;align-items:center;gap:20px;font-size:14px;color:#303133 }
.mall-theme-color-control { display:inline-flex;position:relative;border:1px solid #dcdfe6;border-radius:4px;width:40px;height:32px;padding:3px;box-sizing:border-box }
.mall-theme-page .mall-theme-color-control input[type=color] { border:0;padding:0;width:100%;height:100%;border-radius:2px;cursor:pointer }
.mall-theme-color-control>span { pointer-events:none;position:absolute;inset:0;text-align:center;line-height:26px;color:white;text-shadow:0 1px 2px #666 }
.mall-theme-device-label { margin:20px 0 28px;font-size:14px }
.mall-theme-phones { display:flex;gap:5px;width:730px;max-width:100%;margin-bottom:50px;box-shadow:0 12px 22px #00000015;font-family:"PingFang SC","Microsoft YaHei",sans-serif;overflow:auto }
.mall-theme-phone { position:relative;flex:1;min-width:230px;height:450px;overflow:hidden;background:#f5f5f5;font-size:10px;color:#555;box-shadow:0 0 5px #00000010 }
.mall-theme-phone-status { display:flex;justify-content:space-between;background:white;height:16px;padding:0 5px;font-size:8px;align-items:center;color:#222 }
.mall-theme-phone-title { display:flex;justify-content:space-between;align-items:center;background:white;padding:0 8px;height:29px;font-size:12px;color:#333 }.mall-theme-phone-title b { font-weight:400 }
.mall-theme-hero { width:100%;height:190px;background:white;display:flex;align-items:center;justify-content:center }
.mall-theme-hero img { width:100%;height:100%;object-fit:contain }
.mall-theme-product-placeholder { display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#c5cbd3;background:linear-gradient(140deg,#f5f7fa,#e6ebf0);font-size:50px }
.mall-theme-product-copy { display:flex;flex-direction:column;gap:10px;background:white;margin:5px 0;padding:12px 10px }
.mall-theme-product-copy strong { font-weight:400;line-height:1.6;height:30px;overflow:hidden }.mall-theme-product-copy small { color:#999 }.mall-theme-product-copy small span { color:var(--preview-main);background:#f9f9f9;padding:3px 6px }
.mall-theme-phone em { color:var(--preview-main);font-style:normal }
.mall-theme-product-copy em { font-size:16px;font-weight:600 }
.mall-theme-detail-line { background:white;margin-top:4px;padding:12px 10px;display:flex;justify-content:space-between }
.mall-theme-detail-line>span { color:#aaa }
.mall-theme-phone footer { position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:0;height:36px;padding:3px 6px;background:white;box-sizing:border-box;font-size:9px }
.mall-theme-phone footer>span:first-child { flex:1;white-space:nowrap }.mall-theme-phone footer>em { flex:1 }
.mall-theme-phone footer .mall-theme-preview-primary,.mall-theme-phone footer .mall-theme-preview-secondary { padding:7px 8px;font-size:9px;line-height:1.2;white-space:nowrap;text-align:center;min-width:64px;font-weight:400;box-sizing:border-box;border-radius:18px }
.mall-theme-phone:first-child .mall-theme-preview-secondary { border-radius:18px 0 0 18px }.mall-theme-phone:first-child .mall-theme-preview-primary { border-radius:0 18px 18px 0 }
.mall-theme-cart-tip { color:#aaa;background:white;margin-top:1px;padding:10px 7px;font-size:8px }
.mall-theme-product-row { display:flex;background:white;padding:12px 8px;gap:8px;height:105px;box-sizing:border-box }
.mall-theme-product-row>img,.mall-theme-product-row>.mall-theme-product-placeholder { width:48px;height:63px;object-fit:cover;flex-shrink:0;font-size:28px }
.mall-theme-product-row>div { display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 }.mall-theme-product-row strong { font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:400 }.mall-theme-product-row small { color:#aaa;font-size:8px }
.mall-theme-cart-row { position:relative;padding-left:20px;background:white;margin-top:4px }
.mall-theme-cart-row>i { border:1px solid #dcdfe6;position:absolute;top:18px;left:6px;width:11px;height:11px;border-radius:50%;font-style:normal;text-align:center;font-size:9px;line-height:11px }
.mall-theme-cart-row>i.selected { background:var(--preview-main);color:var(--preview-main-text);border-color:var(--preview-main) }
.mall-theme-quantity { position:absolute;bottom:13px;right:7px;color:#bbb }.mall-theme-quantity b { background:var(--preview-main);color:var(--preview-main-text);border-radius:50%;font-weight:400 }
.mall-theme-preview-address { display:flex;flex-direction:column;gap:12px;margin:6px;background:white;padding:12px 8px }.mall-theme-preview-address span { color:#aaa;font-size:9px }
.mall-theme-delivery-preview { background:white;margin:4px 0;padding:12px 8px }.mall-theme-delivery-preview>div { display:flex;justify-content:space-between;margin-top:14px;gap:8px }.mall-theme-delivery-preview>div>span { padding:4px 7px;background:#f5f5f5;border-radius:14px;font-size:8px }.mall-theme-delivery-preview>div>.active { background:var(--preview-main);color:var(--preview-main-text) }
@media(max-width:1100px){.mall-theme-page .mall-theme-presets{grid-template-columns:repeat(3,127px)}}
.next-admin .mall-navigation-pager input { min-width:0;width:46px;height:28px;flex:none;box-sizing:border-box }
.next-admin .mall-navigation-table th { background:white }
.next-admin .mall-banner-page { min-height: 560px; }
.next-admin .mall-banner-selected { display:flex; flex-wrap:wrap; gap:20px; padding:20px; min-height:340px; align-content:flex-start; }
.next-admin .mall-banner-card,.next-admin .mall-banner-add { position:relative; width:250px; height:280px; border:1px solid #ebeef5; background:#fff; box-sizing:border-box; }
.next-admin .mall-banner-add { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; color:#909399; cursor:pointer; }
.next-admin .mall-banner-add b { font-size:36px; font-weight:300; }
.next-admin .mall-banner-card img { display:block; width:100%; height:230px; object-fit:contain; background:#f7f8fa; }
.next-admin .mall-banner-card > span,.next-admin .mall-banner-choice > span { display:block; padding:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.next-admin .mall-banner-card-tools { position:absolute; right:5px; top:5px; display:flex; gap:3px; }
.next-admin .mall-banner-card-tools button { min-width:24px; padding:3px; background:#fff; }
.next-admin .mall-banner-overlay { position:fixed; inset:0; background:#0006; display:flex; align-items:flex-start; justify-content:center; padding:15vh 20px 20px; z-index:110; box-sizing:border-box; }
.next-admin .mall-banner-dialog { background:#fff; color:#606266; width:718px; max-width:100%; max-height:80vh; display:flex; flex-direction:column; border-radius:2px; box-shadow:0 2px 12px #0003; font-size:14px; }
.next-admin .mall-banner-dialog > header { display:flex; justify-content:space-between; align-items:center; padding:18px 20px; flex:none; }
.next-admin .mall-banner-dialog h3 { margin:0; font-size:18px; font-weight:400; color:#303133; }
.next-admin .mall-banner-dialog > header button { border:0; background:transparent; color:#909399; padding:0; min-width:20px; font-size:22px; }
.next-admin .mall-banner-library-toolbar { display:flex; justify-content:flex-end; gap:12px; padding:10px 20px; }
.next-admin .mall-banner-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:10px 20px; min-height:260px; overflow:auto; }
.next-admin .mall-banner-library-grid .mall-banner-card,.next-admin .mall-banner-library-grid .mall-banner-add { width:100%; height:170px; }
.next-admin .mall-banner-library-grid img { height:125px; }
.next-admin .mall-banner-choice { padding:0; width:100%; height:100%; border:0; border-radius:0; background:white; text-align:left; color:#606266; cursor:pointer; }
.next-admin .mall-banner-choice i { position:absolute; top:6px; right:6px; width:18px; height:18px; border:1px solid #dcdfe6; background:white; font-style:normal; text-align:center; }
.next-admin .mall-banner-card.is-selected { border:1px solid #409eff; }
.next-admin .mall-banner-card.is-selected i { background:#409eff; color:#fff; border-color:#409eff; }
.next-admin .mall-banner-edit { position:absolute; bottom:6px; right:6px; padding:3px 7px; background:#fff; }
.next-admin .mall-banner-more { align-self:center; margin:10px; }
.next-admin .mall-banner-dialog > footer { display:flex; justify-content:flex-end; gap:20px; padding:18px 20px 30px; }
.next-admin .mall-banner-dialog > footer button { min-width:80px; }
.next-admin .mall-banner-editor-overlay { z-index:111; }
.next-admin .mall-banner-editor { width:640px; }
.next-admin .mall-banner-editor-fields { padding:22px 20px 0; overflow:auto; }
.next-admin .mall-banner-editor-fields > label { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:start; gap:12px; text-align:right; line-height:32px; margin-bottom:18px; }
.next-admin .mall-banner-editor-fields input { min-width:0; width:100%; height:32px; box-sizing:border-box; border:1px solid #dcdfe6; border-radius:4px; padding:0 10px; font-size:14px; }
.next-admin .mall-banner-link { display:flex; }
.next-admin .mall-banner-link input { background:#f5f7fa; }
.next-admin .mall-banner-link button { flex:none; padding:0 12px; }
.next-admin .mall-banner-image { display:flex; flex-direction:column; align-items:flex-start; text-align:left; }
.next-admin .mall-banner-image-preview { width:80px; height:80px; border:1px solid #ebeef5; display:flex; align-items:center; justify-content:center; color:#dcdfe6; font-size:32px; }
.next-admin .mall-banner-image-preview img { width:100%; height:100%; object-fit:contain; }
.next-admin .mall-banner-editor-fields em,.next-admin .mall-banner-alert { color:#f56c6c; font-style:normal; }
.next-admin .mall-banner-alert:empty { display:none; }
.next-admin .mall-banner-dialog > header { height:54px; box-sizing:border-box; padding:20px 20px 10px; }
.next-admin .mall-banner-dialog > header button { height:24px; min-height:24px; line-height:24px; }
.next-admin .mall-banner-dialog button,.next-admin .mall-banner-editor-fields input { min-height:32px; height:32px; border-radius:2px; }
.next-admin .mall-banner-dialog .mall-store-primary { background:#409eff; border:1px solid #409eff; color:#fff; }
.next-admin .mall-banner-dialog .mall-store-primary:disabled { opacity:.5; }
.next-admin .mall-banner-dialog .mall-banner-add,.next-admin .mall-banner-dialog .mall-banner-choice { height:170px; }
.next-admin .mall-banner-editor-fields { padding-top:25px; }
.next-admin .mall-banner-editor-fields > label:last-of-type { margin-bottom:0; }

/* MALL-273 named picture-cube editor: eight reference layouts, own previews. */
.mall-cube-page { padding-bottom:76px; }
.mall-cube-page .mall-decoration-breadcrumb { justify-content:flex-start; gap:12px; }
.mall-cube-editor { padding:6px 0 22px; }
.mall-cube-editor .mall-decoration-field { align-items:flex-start; margin-bottom:18px; }
.mall-cube-editor > .mall-decoration-field:first-child { min-height:33px; padding-top:1px; box-sizing:border-box; }
.mall-cube-editor .mall-decoration-field > span:first-child { min-width:80px; padding-top:7px; }
.mall-cube-editor input#mallCubeTitle { width:340px; min-width:0; min-height:32px; height:32px; }
.mall-cube-presets { display:grid; grid-template-columns:300px 300px; gap:11px 25px; padding:32px 0 11px; }
.mall-store-panel button.mall-cube-preset { position:relative; width:300px; height:280px; border:1px solid #dcdfe6; border-radius:20px 20px 0 0; background:#f7f7f7; display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:0; padding:22px 10px 0; overflow:hidden; text-align:left; }
.mall-store-panel button.mall-cube-preset.is-selected { border:2px solid #409eff; padding:21px 9px 0; }
.mall-cube-phone-status { display:block; font-size:10px; color:#333; margin-bottom:8px; }
.mall-cube-phone-status i { float:right; font-style:normal; }
.mall-cube-phone-title { display:flex; justify-content:space-between; font-size:18px; padding:0 8px 8px; color:#333; }
.mall-cube-phone-title b { font-size:16px; font-weight:400; }
.mall-cube-preset > em { position:absolute; top:15px; left:-30px; width:130px; transform:rotate(-45deg); background:#409eff; color:white; text-align:center; font-style:normal; line-height:26px; font-size:14px; }
.mall-cube-layout img { display:block; width:100%; height:100%; object-fit:cover; }
.mall-cube-layout-1 img { height:auto; }
.mall-cube-cell > i { display:flex; height:100%; align-items:center; justify-content:center; background:#e4f0f9; color:#6794b9; font-style:normal; font-size:22px; }
.mall-cube-cell:nth-child(2) > i { background:#f9e5ec; color:#b7728b; }
.mall-cube-cell:nth-child(3) > i { background:#eff1d8; color:#88966b; }
.mall-cube-cell:nth-child(4) > i { background:#fff0d8; color:#b19c72; }
.mall-cube-layout-1 .mall-cube-sample { height:134px; }
.mall-cube-image-row { display:flex; gap:53px; min-height:127px; align-items:flex-start; }
.mall-cube-image-row button { height:30px; font-size:12px; padding:4px 14px; }
.mall-cube-image { display:flex; width:80px; height:80px; border:1px solid #ebeef5; align-items:center; justify-content:center; color:#dcdfe6; font-size:36px; }
.mall-cube-image img { max-width:100%; max-height:100%; object-fit:contain; }
.mall-cube-image-row .mall-decoration-link-input { width:334px; }
.mall-cube-image-row .mall-decoration-link-input input { width:254px; height:30px; min-width:0; background:#f7f7fb; }
.mall-cube-alert { color:#f56c6c; margin:8px 20px; font-size:14px; }
.mall-cube-page .mall-decoration-savebar { gap:20px; }
.mall-cube-page .mall-navigation-pagination input { min-width:0; width:46px; }
.mall-cube-layout { position:relative; width:100%; padding:0; margin:0; overflow:hidden; box-sizing:border-box; }
.mall-cube-cell { display:block; position:absolute; min-width:0; overflow:hidden; border-radius:0; box-shadow:none; }
.mall-cube-layout-1 .mall-cube-cell { position:static; width:100%; height:auto; }
.mall-cube-layout-2 { padding-top:50%; }
.mall-cube-layout-2 .mall-cube-cell:nth-child(1) { left:0%; top:0%; width:40%; height:100%; }
.mall-cube-layout-2 .mall-cube-cell:nth-child(2) { left:40%; top:0%; width:60%; height:100%; }
.mall-cube-layout-3 { padding-top:50%; }
.mall-cube-layout-3 .mall-cube-cell:nth-child(1) { left:0%; top:0%; width:40%; height:100%; }
.mall-cube-layout-3 .mall-cube-cell:nth-child(2) { left:40%; top:0%; width:60%; height:50%; }
.mall-cube-layout-3 .mall-cube-cell:nth-child(3) { left:40%; top:50%; width:60%; height:50%; }
.mall-cube-layout-4 { padding-top:50%; }
.mall-cube-layout-4 .mall-cube-cell:nth-child(1) { left:0%; top:0%; width:40%; height:100%; }
.mall-cube-layout-4 .mall-cube-cell:nth-child(2) { left:40%; top:0%; width:60%; height:50%; }
.mall-cube-layout-4 .mall-cube-cell:nth-child(3) { left:40%; top:50%; width:30%; height:50%; }
.mall-cube-layout-4 .mall-cube-cell:nth-child(4) { left:70%; top:50%; width:30%; height:50%; }
.mall-cube-layout-5 { padding-top:50%; }
.mall-cube-layout-5 .mall-cube-cell:nth-child(1) { left:0%; top:0%; width:50%; height:100%; }
.mall-cube-layout-5 .mall-cube-cell:nth-child(2) { left:50%; top:0%; width:50%; height:100%; }
.mall-cube-layout-6 { padding-top:33.3333%; }
.mall-cube-layout-6 .mall-cube-cell:nth-child(1) { left:0%; top:0%; width:33.3333%; height:100%; }
.mall-cube-layout-6 .mall-cube-cell:nth-child(2) { left:33.3333%; top:0%; width:33.3333%; height:100%; }
.mall-cube-layout-6 .mall-cube-cell:nth-child(3) { left:66.6667%; top:0%; width:33.3333%; height:100%; }
.mall-cube-layout-7 { padding-top:25%; }
.mall-cube-layout-7 .mall-cube-cell:nth-child(1) { left:0%; top:0%; width:25%; height:100%; }
.mall-cube-layout-7 .mall-cube-cell:nth-child(2) { left:25%; top:0%; width:25%; height:100%; }
.mall-cube-layout-7 .mall-cube-cell:nth-child(3) { left:50%; top:0%; width:25%; height:100%; }
.mall-cube-layout-7 .mall-cube-cell:nth-child(4) { left:75%; top:0%; width:25%; height:100%; }
.mall-cube-layout-8 { padding-top:50%; }
.mall-cube-layout-8 .mall-cube-cell:nth-child(1) { left:0%; top:0%; width:50%; height:50%; }
.mall-cube-layout-8 .mall-cube-cell:nth-child(2) { left:50%; top:0%; width:50%; height:50%; }
.mall-cube-layout-8 .mall-cube-cell:nth-child(3) { left:0%; top:50%; width:50%; height:50%; }
.mall-cube-layout-8 .mall-cube-cell:nth-child(4) { left:50%; top:50%; width:50%; height:50%; }

/* Configured navbar, reference layout: 375px canvas in a 397px phone frame. */
.mall-navbar-page{background:#f3f3f3;padding:0!important;border:0!important;margin:20px!important;padding-bottom:90px!important}
.mall-navbar-page>header{background:#fff;margin:0 0 10px!important;border:0!important;padding:18px 20px!important;height:57px;min-height:0!important;box-sizing:border-box!important}
.mall-navbar-layout{display:grid;grid-template-columns:397px minmax(0,1fr);gap:10px;align-items:start}
.mall-navbar-preview{width:397px}.mall-navbar-phone{position:relative;box-sizing:border-box;width:397px;border:11px solid #222;border-radius:55px;overflow:hidden;background:#eee}
.mall-navbar-phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:208px;height:31px;border-radius:0 0 18px 18px;background:#222;z-index:2}
.mall-navbar-phone-top{height:88px;box-sizing:border-box;padding-top:48px;font-size:18px;font-weight:600;text-align:center}
.mall-navbar-phone-body{height:520px;background:#eee}
.mall-navbar-phone-tabs{position:relative;display:flex;height:50px;align-items:stretch}.mall-navbar-phone-tabs.has-shadow{box-shadow:0 -1px 8px #0002}
.mall-navbar-bar-image{position:absolute;width:100%;height:100%;inset:0;object-fit:fill;pointer-events:none}
.mall-navbar-phone-tab{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.2;z-index:1}
.mall-navbar-tab-art{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.mall-navbar-tab-art img{height:100%;width:100%;object-fit:contain}
.mall-navbar-phone-tab.is-raised .mall-navbar-tab-art{position:absolute;top:-27px;height:54px;width:54px;border-radius:50%}.mall-navbar-phone-tab.is-raised .mall-navbar-tab-art .mall-tab-symbol{width:26px;height:26px}
.mall-navbar-safe-area{height:24px}.mall-navbar-fields{display:grid;gap:20px;min-width:0}.mall-navbar-card{background:#fff}.mall-navbar-card h4{height:57px;box-sizing:border-box;padding:18px 20px;margin:0;border-bottom:1px solid #ebeef5;font-size:14px;font-weight:400}
.mall-navbar-card-body{padding:20px 0}.mall-navbar-field{display:flex;align-items:flex-start;min-height:32px;margin-bottom:18px;font-size:14px;line-height:32px}.mall-navbar-field>label:first-child{flex:0 0 140px;box-sizing:border-box;padding-right:12px;text-align:right;font-size:14px;color:#606266;display:block}.mall-navbar-field b{color:#f56c6c;margin-right:4px;font-weight:400}
.mall-navbar-options{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.mall-navbar-options label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#606266;font-size:14px}.mall-navbar-page input[type=radio],.mall-navbar-editor input[type=radio]{width:14px;min-width:14px;height:14px;min-height:14px;margin:0;accent-color:#409eff}
.mall-navbar-page input[type=text],.mall-navbar-editor input[type=text]{height:32px;min-height:32px;box-sizing:border-box;border:1px solid #dcdfe6;border-radius:4px;font-size:12px;padding:0 15px;box-shadow:none}
.mall-navbar-color{display:flex;gap:10px;align-items:center;min-width:0;min-height:33px;flex:0 1 calc((100% - 140px)*.9)}.mall-navbar-color input[type=color]{width:32px;min-width:32px;height:32px;min-height:32px;padding:4px;border:1px solid #dcdfe6;border-radius:4px;background:#fff}.mall-navbar-color input[type=text]{min-width:0;width:100%}.mall-navbar-card:first-child .mall-navbar-field{width:75%}.mall-navbar-options label:has(input:checked){color:#409eff}
.mall-navbar-switch{position:relative;width:40px;height:20px;margin-top:6px}.mall-navbar-switch input{position:absolute;opacity:0;width:40px;height:20px;min-width:0;margin:0}.mall-navbar-switch span{display:block;width:40px;height:20px;border-radius:10px;background:#dcdfe6;pointer-events:none}.mall-navbar-switch span:after{content:'';position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;left:2px;top:2px}.mall-navbar-switch input:checked+span{background:#409eff}.mall-navbar-switch input:checked+span:after{left:22px}
.mall-navbar-mode-note{margin:0 28px 18px 140px;color:#909399;font-size:12px;line-height:1.6}
.mall-navbar-image-control{padding-right:20px;min-width:0}.mall-navbar-page button,.mall-navbar-editor button{box-shadow:none;font-size:12px;border-radius:4px}.mall-navbar-image-control>button{height:28px;min-height:28px;padding:0 10px}.mall-navbar-guide-link{border:0!important;color:#409eff!important;background:transparent!important}
.mall-navbar-image-preview{height:80px;width:80px;border:1px solid #dcdfe6;margin-top:12px;display:flex;align-items:center;justify-content:center;color:#888}.mall-navbar-image-preview img{width:100%;height:100%;object-fit:contain}.mall-navbar-image-preview .mall-tab-symbol{width:32px;height:32px}.mall-navbar-empty-icon{color:#c0c4cc;font-size:24px}
.mall-navbar-menu-items{display:flex;flex-wrap:wrap;gap:10px;max-width:360px}.mall-navbar-menu-card{position:relative;box-sizing:border-box;width:70px;height:70px;border:1px solid #e2e2e2;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;line-height:16px}.mall-navbar-menu-card>div:first-child{height:24px;display:flex;align-items:center}.mall-navbar-menu-card img{width:24px;height:24px;object-fit:contain}.mall-navbar-menu-card>span{font-size:12px;max-width:66px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mall-navbar-menu-actions{position:absolute;inset:0;background:#0008;display:none;align-items:center;justify-content:space-evenly;flex-direction:column;border-radius:3px}.mall-navbar-menu-card:hover .mall-navbar-menu-actions,.mall-navbar-menu-card:focus-within .mall-navbar-menu-actions{display:flex}.mall-navbar-menu-actions button{padding:0!important;height:24px!important;min-height:24px!important;color:white!important;background:none!important;border:0!important;min-width:0!important;font-size:12px}
.mall-navbar-menu-add{width:70px;height:70px;min-width:70px!important;border:1px dashed #dcdfe6!important;background:#fff!important;color:#c0c4cc!important;font-size:25px!important}.mall-navbar-footer{position:fixed;bottom:0;left:332px;right:20px;z-index:40;display:flex;gap:20px;align-items:center;justify-content:center;height:70px;background:#fff;box-shadow:0 -4px 12px #f3f3f3}.mall-navbar-footer button{height:40px;min-height:40px;padding:0 20px!important}.mall-navbar-alert{color:#f56c6c;margin:0 20px;min-height:0}.mall-navbar-alert:empty{display:none}
.mall-navbar-editor{width:640px!important;max-width:calc(100vw - 40px);padding:0!important;border-radius:2px;max-height:80vh;display:flex;flex-direction:column}.mall-navbar-editor h4,.mall-navbar-guide h4{padding:20px;margin:0;font-size:18px;font-weight:400}.mall-navbar-editor-body{padding:10px 20px;overflow:auto}.mall-navbar-editor .mall-navbar-field>label:first-child{flex-basis:120px}.mall-navbar-editor .mall-navbar-field>input{flex:1;min-width:0}.mall-navbar-editor .mall-navbar-color{flex:1;padding-right:0}.mall-navbar-item-link{display:flex;flex:1;gap:10px}.mall-navbar-item-link input{min-width:0;flex:1}.mall-navbar-item-link button{white-space:nowrap}.mall-navbar-editor footer,.mall-navbar-guide footer{padding:10px 20px 20px;display:flex;justify-content:flex-end;gap:10px}.mall-navbar-editor button.mall-store-primary,.mall-navbar-guide button.mall-store-primary{background:#409eff!important;color:#fff!important;border-color:#409eff!important}
.mall-navbar-guide{width:600px!important;text-align:center;padding:0!important}.mall-navbar-guide h4{text-align:left}.mall-navbar-example{height:50px;position:relative;background:#eee;margin:65px auto 40px;display:flex;align-items:center;justify-content:space-around;width:375px;font-size:25px;color:#888}.mall-navbar-example strong{background:#ff4544;border-radius:50%;height:54px;width:54px;display:flex;align-items:center;justify-content:center;color:white;position:relative;top:-25px;font-weight:400;box-shadow:0 2px 8px #0002}.mall-navbar-guide p{font-size:14px}.mall-navbar-guide>button{color:#409eff;background:white;border:1px solid #409eff;font-size:12px;border-radius:3px}.mall-navbar-guide footer{margin-top:55px}
@media(max-width:1100px){.mall-navbar-layout{grid-template-columns:397px minmax(400px,1fr);overflow:auto}}

.mall-tab-symbol{display:inline-block;position:relative;box-sizing:border-box;width:24px;height:24px;color:inherit;flex-shrink:0;font-size:0}
.mall-tab-symbol-home:before{content:'';position:absolute;left:3px;top:8px;width:18px;height:14px;border:1.5px solid currentColor;border-top:0;border-radius:1px;box-sizing:border-box}.mall-tab-symbol-home:after{content:'';position:absolute;left:5px;top:3px;width:14px;height:14px;border-left:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);border-radius:1px}
.mall-tab-symbol-category:before{content:'';position:absolute;top:2px;left:2px;width:8px;height:8px;border:1.5px solid currentColor;border-radius:2px;box-shadow:12px 0 0 -1.5px white,12px 0 0 0 currentColor,0 12px 0 -1.5px white,0 12px 0 0 currentColor,12px 12px 0 -1.5px white,12px 12px 0 0 currentColor;box-sizing:border-box}
.mall-tab-symbol-redeem:before{content:'';position:absolute;top:6px;left:2px;width:20px;height:15px;border:1.5px solid currentColor;box-sizing:border-box}.mall-tab-symbol-redeem:after{content:'';position:absolute;top:2px;left:10px;width:5px;height:21px;border-left:1.5px solid currentColor;border-right:1.5px solid currentColor;box-sizing:border-box}
.mall-tab-symbol-cart:before{content:'';position:absolute;top:4px;left:3px;width:18px;height:13px;border:1.5px solid currentColor;transform:skew(-8deg);box-sizing:border-box}.mall-tab-symbol-cart:after{content:'';position:absolute;top:20px;left:6px;width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:12px 0 currentColor}
.mall-tab-symbol-profile:before{content:'';position:absolute;top:1px;left:8px;width:9px;height:9px;border:1.5px solid currentColor;border-radius:50%;box-sizing:border-box}.mall-tab-symbol-profile:after{content:'';position:absolute;top:13px;left:4px;width:17px;height:10px;border:1.5px solid currentColor;border-radius:9px 9px 2px 2px;box-sizing:border-box}

.uc-property-row[hidden]{display:none}

/* MALL-277: Orders use one card per order and retain every purchased/gift line. */
.admin-view-mall .mall-navigation-workspace .order-main:has(.mall-orders-reference,.mall-order-detail-panel) { border: 0; border-radius: 0; box-shadow: none; background: #f5f7fa; }
.mall-orders-reference { padding: 0; background: #fff; border: 0; border-radius: 0; min-width: 0; container: mall-orders / inline-size; }
.mall-orders-heading { display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 16px 20px; border-bottom: 12px solid #f5f7fa; }
.mall-orders-heading > div { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; min-width: 0; max-width: 100%; }
.mall-orders-heading strong { font-size: 14px; font-weight: 500; }
.mall-orders-filters { padding: 20px 20px 0; }
.mall-orders-filter-line { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: 12px; }
.mall-order-select { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; font-size: 13px; color: #606266; }
.mall-orders-reference input, .mall-orders-reference select { height: 32px; min-height: 32px; border: 1px solid #dcdfe6; border-radius: 4px; background: #fff; color: #606266; font-size: 13px; padding: 0 10px; }
.mall-order-select select { width: 130px; }
.mall-order-date-range { display: flex; align-items: center; gap: 9px; color: #909399; }
.mall-order-date-range input { width: 155px; }
.mall-order-search { display: flex; align-items: center; gap: 0; }
.mall-order-search select { width: 110px; border-radius: 4px 0 0 4px; border-right: 0; background: #f5f7fa; }
.mall-order-search input { width: 190px; border-radius: 0; }
.mall-orders-reference button { min-height: 32px; height: 32px; padding: 0 12px; border-radius: 4px; font-size: 13px; }
.mall-order-search button { border-radius: 0 4px 4px 0; }
.mall-orders-reference .mall-order-clear { border: 0; background: transparent; color: #409eff; padding: 0; }
.mall-orders-reference .order-status-tabs { display: flex; flex-wrap: wrap; gap: 24px; margin: 4px 20px 22px; border-bottom: 2px solid #e4e7ed; }
.mall-orders-reference .order-status-tabs button { position: relative; border: 0; border-radius: 0; padding: 10px 0; height: 45px; background: transparent; color: #303133; }
.mall-orders-reference .order-status-tabs button.active { color: #409eff; }
.mall-orders-reference .order-status-tabs button.active::after { content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 2px; background: #409eff; }
.mall-order-list-head { display: grid; grid-template-columns: 64px minmax(0, 1fr) 22% 15%; margin: 0 20px 16px; padding: 12px 0; text-align: center; background: #f5f7fa; color: #303133; font-size: 13px; }
.mall-order-card { margin: 0 20px 20px; border: 1px solid #ebeef5; color: #606266; font-size: 13px; }
.mall-order-card > header { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 14px 20px; background: #f5f7fa; }
.mall-order-card time { color: #909399; }
.mall-order-badge { padding: 3px 7px; border-radius: 3px; background: #ecf5ff; color: #409eff; font-size: 12px; }
.mall-order-status-done { background: #f0f9eb; color: #67c23a; }
.mall-order-status-closed { background: #f4f4f5; color: #909399; }
.mall-order-status-pending_pay { background: #fdf6ec; color: #e6a23c; }
.mall-order-card-body { display: grid; grid-template-columns: minmax(460px, 1fr) 200px 140px; }
.mall-order-line { display: flex; justify-content: space-between; gap: 16px; padding: 18px 20px; }
.mall-order-line + .mall-order-line { border-top: 1px solid #ebeef5; }
.mall-order-line .mall-order-product { align-items: flex-start; min-width: 0; flex: 1; }
.mall-order-line .mall-order-product > div { min-width: 0; }
.mall-order-line .mall-order-product strong { font-weight: 400; color: #303133; line-height: 1.6; overflow-wrap: anywhere; }
.mall-order-line .mall-order-product small { font-size: 12px; line-height: 1.7; margin-top: 6px; }
.mall-order-line .mall-order-product-cover { width: 60px; height: 60px; flex: 0 0 60px; border-radius: 0; }
.mall-order-kind { font-style: normal; font-size: 11px; padding: 1px 3px; margin-right: 6px; border: 1px solid #e6a23c; border-radius: 2px; color: #b88230; }
.mall-order-line-qty { align-self: center; flex: 0 0 120px; line-height: 1.8; }
.mall-order-line-qty small { display: block; font-size: 12px; }
.mall-order-card-amount, .mall-order-card-actions { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 18px 12px; border-left: 1px solid #ebeef5; text-align: center; }
.mall-order-card-amount strong { color: #303133; font-size: 15px; font-weight: 500; }
.mall-order-card-amount small { font-size: 12px; }
.mall-order-card-actions button { color: #409eff; background: #ecf5ff; border-color: #b3d8ff; }
.mall-order-card > footer { border-top: 1px solid #ebeef5; padding: 12px 20px; line-height: 1.6; overflow-wrap: anywhere; }
.mall-orders-reference > .pagination { justify-content: flex-end; gap: 10px; padding: 8px 20px 24px; }
.mall-orders-reference .pagination select { width: 86px; }
@media (max-width: 1200px) {
  .mall-order-card-body { grid-template-columns: minmax(300px, 1fr) 155px 90px; }
  .mall-order-line { flex-wrap: wrap; }
  .mall-order-line-qty { padding-left: 72px; flex-basis: 100%; }
}
@media (max-width: 700px) {
  .mall-orders-heading { align-items: flex-start; gap: 12px; flex-direction: column; }
  .mall-order-list-head { display: none; }
  .mall-order-card-body { display: flex; flex-wrap: wrap; }
  .mall-order-lines { width: 100%; }
  .mall-order-card-amount { flex: 1; border-left: 0; border-top: 1px solid #ebeef5; }
  .mall-order-card-actions { border-top: 1px solid #ebeef5; }
  .mall-order-card > header { padding: 12px; gap: 8px 16px; }
  .mall-orders-reference > .pagination { flex-wrap: wrap; }
  .mall-orders-filter-line { column-gap: 10px; }
  .mall-order-date-range input { width: 132px; }
  .mall-order-search input { width: 145px; }
}
/* MALL-417: screenshot-aligned list cards; refunds retain their own layout. */
.mall-order-list-card > header { min-height: 56px; gap: 8px 24px; padding: 14px 20px; background: #f4f5f6; }
.mall-order-list-card .mall-order-card-body { display: grid; grid-template-columns: 64px minmax(0, 1fr) 22% 15%; }
.mall-order-check { display: flex; align-items: center; justify-content: center; margin: 0; }
.mall-orders-reference .mall-order-check input { appearance: auto !important; width: 14px; height: 14px; min-height: 0; margin: 0; padding: 0; border-radius: 2px; accent-color: #409eff; cursor: pointer; }
.mall-orders-reference .mall-order-check input::after { display: none; }
.mall-order-list-card .mall-order-check { border-right: 1px solid #ebeef5; }
.mall-order-list-card .mall-order-lines { min-width: 0; container: mall-order-lines / inline-size; }
.mall-order-list-card .mall-order-line { display: grid; grid-template-columns: minmax(0, 1fr) 100px 140px; align-items: center; gap: 16px; padding: 18px; }
.mall-order-list-card .mall-order-product-cover { width: 80px; height: 80px; flex-basis: 80px; object-fit: cover; }
.mall-order-list-card .mall-order-product { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; max-width: none; }
.mall-order-list-card .mall-order-spec { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
.mall-order-spec > span { display: inline-block; padding: 0 6px; color: #409eff; background: #ecf5ff; border: 1px solid #d9ecff; border-radius: 3px; overflow-wrap: anywhere; }
.mall-order-line-subtotal { text-align: center; white-space: nowrap; }
.mall-order-list-card .mall-order-line-qty { padding: 0; text-align: center; }
.mall-order-list-card .mall-order-card-amount { gap: 5px; }
.mall-order-list-card .mall-order-card-amount small { color: #909399; }
.mall-order-payment { display: inline-block; padding: 2px 5px; border-radius: 3px; background: #e6a23c; color: #fff; font-size: 12px; line-height: 1.2; }
.mall-order-payment-unpaid { background: #fdf6ec; color: #b88230; }
.mall-order-list-card .mall-order-card-actions { flex-direction: row; gap: 18px; padding: 18px 10px; }
.mall-orders-reference .mall-order-icon-action { display: inline-flex; align-items: center; justify-content: center; width: 30px; min-width: 30px; height: 30px; min-height: 30px; flex: 0 0 30px; padding: 0; border: 0; border-radius: 50%; background: #f4f4f5; color: #909399; cursor: pointer; box-shadow: none; }
.mall-orders-reference .mall-order-print { background: #ecf5ff; color: #409eff; }
.mall-orders-reference .mall-order-message { background: #fef0f0; color: #f56c6c; }
.mall-orders-reference .mall-order-icon-action:hover { filter: brightness(.95); }
.mall-orders-reference .mall-order-icon-action:focus-visible { outline: 2px solid #409eff; outline-offset: 3px; }
.mall-order-more { position: relative; }
.mall-order-more summary { list-style: none; }
.mall-order-more summary::-webkit-details-marker { display: none; }
.mall-order-more-menu { position: absolute; top: 36px; right: 0; z-index: 5; min-width: 118px; padding: 5px; border: 1px solid #ebeef5; border-radius: 4px; background: #fff; box-shadow: 0 4px 16px #00000012; }
.mall-order-more-menu button { display: block; width: 100%; text-align: left; border: 0; }
.mall-order-more-menu button:not(.primary) { background: transparent; color: #606266; }
.mall-order-more-menu button:hover { background: #ecf5ff; color: #409eff; }
.mall-order-list-card > footer { max-width: none; border-top: 0; padding: 9px 20px; background: #f4f5f6; font-size: 12px; }
.mall-orders-reference .mall-order-recipient-edit { display: inline-flex; vertical-align: middle; align-items: center; justify-content: center; margin-left: 10px; width: 28px; min-width: 28px; height: 28px; min-height: 28px; padding: 0; border: 0; background: transparent; color: #409eff; box-shadow: none; }
.mall-order-recipient-dialog { width: min(560px,94vw); max-height: 90vh; margin: auto; padding: 24px; border: 1px solid #ebeef5; border-radius: 8px; background: #fff; color: #303133; overflow: auto; }
.mall-order-recipient-dialog::backdrop { background: #0006; }
.mall-order-recipient-head, .mall-order-recipient-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mall-order-recipient-head span, .mall-order-recipient-dialog p { font-size: 13px; color: #909399; }
.mall-order-recipient-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.mall-order-recipient-fields label { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: 13px; }
.mall-order-recipient-fields .wide { grid-column: 1 / -1; }
.mall-order-recipient-fields input { width: 100%; min-width: 0; box-sizing: border-box; height: 36px; padding: 6px 10px; border: 1px solid #dcdfe6; border-radius: 4px; }
.mall-order-recipient-foot { justify-content: flex-end; margin-top: 24px; }
.mall-order-recipient-dialog [data-recipient-error] { color: #d93025; }
.mall-order-recipient-dialog [hidden] { display: none; }
@media(max-width:480px) { .mall-order-recipient-dialog { padding: 16px; } .mall-order-recipient-fields { grid-template-columns: minmax(0,1fr); gap: 12px; } }
.mall-order-print-sheet .mall-order-recipient-edit { display: none; }
.mall-order-selection { display: flex; align-items: center; gap: 14px; padding: 0 20px 16px; font-size: 13px; color: #606266; }
.mall-order-selection[hidden] { display: none; }
.mall-order-print-dialog { width: min(1180px, 94vw); max-height: 90vh; margin: auto; padding: 20px; border: 1px solid #ebeef5; border-radius: 8px; background: #fff; color: #303133; overflow: auto; }
.mall-order-print-dialog::backdrop { background: #0006; }
.mall-order-print-tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.mall-order-print-tools > div { display: flex; gap: 12px; }
.mall-order-print-hint { margin: 0 0 16px; font-size: 13px; color: #909399; }
.mall-order-print-sheet { container: mall-orders / inline-size; }
.mall-order-print-sheet .mall-order-card { margin: 0 0 20px; }
.mall-order-print-sheet .mall-order-card-body { grid-template-columns: minmax(0, 1fr) 22%; }
.mall-order-print-sheet .mall-order-check, .mall-order-print-sheet .mall-order-card-actions { display: none; }
/* Use the available panel/line width after the navigation, including print previews. */
@container mall-order-lines (max-width: 640px) {
  .mall-order-list-card .mall-order-line { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px 12px; }
  .mall-order-list-card .mall-order-product { grid-column: 1 / -1; }
  .mall-order-list-card .mall-order-line-subtotal { text-align: left; white-space: normal; overflow-wrap: anywhere; }
  .mall-order-list-card .mall-order-line-qty { text-align: right; overflow-wrap: anywhere; }
}
@container mall-orders (max-width: 1000px) {
  .mall-order-list-head, .mall-order-list-card .mall-order-card-body { grid-template-columns: 40px minmax(0, 1fr) 140px 120px; }
  .mall-order-list-card .mall-order-card-actions { gap: 10px; }
  .mall-order-print-sheet .mall-order-card-body { grid-template-columns: minmax(0, 1fr) 140px; }
}
@container mall-orders (max-width: 640px) {
  .mall-orders-heading { align-items: flex-start; gap: 12px; flex-direction: column; }
  .mall-order-list-head { display: none; }
  .mall-order-list-card { margin: 0 12px 16px; }
  .mall-order-list-card .mall-order-card-body { grid-template-columns: 32px minmax(0, 1fr); }
  .mall-order-list-card .mall-order-product { grid-template-columns: 64px minmax(0, 1fr); }
  .mall-order-list-card .mall-order-product-cover { width: 64px; height: 64px; flex-basis: 64px; }
  .mall-order-list-card .mall-order-line-subtotal, .mall-order-list-card .mall-order-line-qty { font-size: 12px; }
  .mall-order-list-card .mall-order-card-amount { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #ebeef5; padding: 12px; }
  .mall-order-list-card .mall-order-card-actions { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #ebeef5; gap: 24px; padding: 12px; }
  .mall-order-list-card > header, .mall-order-list-card > footer { padding: 12px; }
  .mall-orders-reference .mall-orders-filter-line { align-items: stretch; }
  .mall-orders-reference .mall-order-search { flex-wrap: wrap; max-width: 100%; }
  .mall-orders-reference .mall-order-search input { min-width: 70px; flex: 1; width: 100px; }
  .mall-orders-reference .mall-order-date-range { max-width: 100%; }
  .mall-orders-reference .mall-order-date-range input { min-width: 0; width: 120px; flex: 1; }
  .mall-orders-reference > .pagination { flex-wrap: wrap; }
  .mall-order-print-sheet .mall-order-card-body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .mall-order-print-dialog { padding: 12px; }
}
@media print {
  body:has(> .mall-order-print-dialog[open]) > :not(.mall-order-print-dialog) { display: none !important; }
  body:has(> .mall-order-print-dialog[open]) { height: auto !important; overflow: visible !important; background: #fff; }
  .mall-order-print-dialog[open] { display: block; position: static; width: 100%; max-width: none; max-height: none; height: auto; overflow: visible; border: 0; padding: 0; margin: 0; }
  .mall-order-print-dialog::backdrop, .mall-order-print-tools button { display: none; }
  .mall-order-print-sheet .mall-order-card { break-inside: avoid; }
}
.mall-order-detail-panel { border: 0; border-radius: 0; padding: 20px; min-width: 0; container: mall-order-detail / inline-size; }
.mall-order-detail-panel > .panel-head { margin-bottom: 24px; }
.mall-order-detail-panel .order-detail-grid { gap: 0 24px; }
.mall-order-detail-panel .order-detail-grid > div { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 8px 12px; min-width: 0; padding: 12px 0; border-bottom: 1px solid #ebeef5; line-height: 1.6; }
.mall-order-detail-panel .order-detail-grid > div > span { color: #909399; overflow-wrap: anywhere; }
.mall-order-detail-panel .order-detail-grid > div > b { min-width: 0; color: #303133; font-weight: 500; white-space: pre-wrap; overflow-wrap: anywhere; }
.mall-order-detail-panel .order-detail-grid > div > button { grid-column: 2; justify-self: start; }
.mall-order-detail-table > .data-table { min-width: 720px; }
.mall-order-detail-table td { white-space: normal; overflow-wrap: anywhere; }
@container mall-order-detail (max-width: 700px) {
  .mall-order-detail-panel .order-detail-grid { grid-template-columns: minmax(0, 1fr); }
}
.mall-order-timeline { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 12px 0 32px; padding: 0; list-style: none; }
.mall-order-timeline li { display: flex; position: relative; flex-direction: column; align-items: center; gap: 9px; min-width: 0; color: #c0c4cc; text-align: center; font-size: 13px; overflow-wrap: anywhere; }
.mall-order-timeline li::before { content: ''; position: absolute; top: 15px; left: 0; width: 100%; height: 2px; background: #ebeef5; }
.mall-order-timeline li:first-child::before { left: 50%; width: 50%; }
.mall-order-timeline li:last-child::before { width: 50%; }
.mall-order-timeline i { position: relative; display: grid; place-items: center; width: 32px; height: 32px; border: 2px solid #c0c4cc; border-radius: 50%; background: white; font-style: normal; }
.mall-order-timeline .complete { color: #409eff; }
.mall-order-timeline .complete i { border-color: #409eff; }
.mall-order-timeline time { color: #909399; font-size: 12px; }
.mall-order-detail-tabs { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0 0 24px; border-bottom: 2px solid #e4e7ed; }
.mall-order-detail-tabs button { border: 0; border-radius: 0; background: transparent; padding: 12px 0; color: #303133; }
.mall-order-detail-tabs button.active { color: #409eff; border-bottom: 2px solid #409eff; margin-bottom: -2px; }
.mall-order-detail-number { margin: 0 0 18px; color: #606266; font-size: 13px; overflow-wrap: anywhere; }
.mall-order-detail-panel [hidden] { display: none !important; }
.mall-order-gifts { padding: 12px 24px; line-height: 2; }
@media(max-width:700px) { .mall-order-timeline { gap: 6px; } .mall-order-timeline strong { font-size: 11px; } .mall-order-timeline time { font-size: 10px; overflow-wrap: anywhere; } }
/* Contain the older admin panel/theme rules within the orders surface. */
.next-admin .order-main > .mall-orders-reference,
.next-admin .order-main > .mall-order-detail-panel { border: 0; border-radius: 0; box-shadow: none; }
.next-admin .mall-orders-reference .mall-orders-heading { padding: 16px 20px; margin: 0; }
.next-admin .mall-orders-reference .order-status-tabs { margin: 4px 20px 22px; padding: 0; border: 0; border-bottom: 2px solid #e4e7ed; border-radius: 0; box-shadow: none; background: #fff; }
.next-admin .mall-orders-reference .mall-order-list-head { margin: 0 20px 16px; }
.next-admin .mall-orders-reference .mall-order-select select { min-width: 0; width: 130px; box-shadow: none; }
.next-admin .mall-orders-reference .mall-order-search select { width: 110px; }
.next-admin .mall-orders-reference .pagination select { width: 86px; }
.next-admin .mall-orders-reference input { min-width: 0; box-shadow: none; }
.next-admin .mall-orders-reference .mall-orders-filter-line { margin-bottom: 12px; }
.next-admin .mall-orders-reference button.primary { color: #fff; border-color: #409eff; background: #409eff; box-shadow: none; }
.next-admin .mall-order-detail-panel .mall-order-detail-tabs { background: #fff; padding: 0; border-radius: 0; box-shadow: none; margin: 0 0 24px; border-bottom: 2px solid #e4e7ed; }
.next-admin .mall-refund-list-head, .mall-refund-card-body { display: grid; grid-template-columns: minmax(250px,2.2fr) minmax(80px,.65fr) minmax(80px,.7fr) minmax(120px,1fr) minmax(100px,1fr) minmax(120px,1.2fr); }
.next-admin .mall-refunds-reference .mall-refund-list-head { margin: 0 20px 16px; padding: 14px 0; font-size: 13px; background: #f5f7fa; text-align: center; color: #303133; }
.mall-refund-card-body > div { padding: 20px 12px; display: flex; flex-direction: column; justify-content: center; gap: 8px; align-items: center; border-right: 1px solid #ebeef5; text-align: center; overflow-wrap: anywhere; }
.mall-refund-card-body > .mall-order-product { flex-direction: row; text-align: left; align-items: flex-start; justify-content: flex-start; }
.mall-refund-card-body > .mall-order-product strong { font-weight: 400; color: #303133; }
.mall-refund-card-body small { display: block; font-size: 12px; line-height: 1.6; }
.mall-refund-card-body .mall-order-product-cover { width: 60px; height: 60px; flex: 0 0 60px; }
.mall-refund-card-body > div:last-child { border-right: 0; }
.next-admin .mall-refund-original { padding: 0; height: auto; min-height: 0; color: #409eff; background: none; border: 0; box-shadow: none; }
.mall-refund-actions button { height: auto; min-height: 32px; white-space: normal; }
.mall-refund-return-address { border-top: 1px solid #ebeef5; margin: 20px; padding-top: 18px; }
.mall-refund-return-address summary { cursor: pointer; color: #409eff; font-size: 14px; }
@media(max-width:1200px) { .next-admin .mall-refund-list-head,.mall-refund-card-body { grid-template-columns: minmax(210px,2fr) 75px 80px 100px 100px 130px; } .mall-refunds-reference { overflow-x:auto; } }

/* MALL-277 review management, with the existing real merchant/customer writers. */
.mall-comments-reference .mall-admin-chips { margin: 12px 20px; }
.mall-comment-table-scroll { margin: 20px; overflow-x: auto; }
.mall-comments-reference .mall-admin-comment-table { min-width: 1200px; width: 100%; font-size: 13px; border-collapse: collapse; }
.mall-comments-reference .mall-admin-comment-table th { background: #f5f7fa; white-space: nowrap; font-weight: 400; padding: 12px; }
.mall-comments-reference .mall-admin-comment-table td { vertical-align: top; padding: 15px 12px; border-bottom: 1px solid #ebeef5; }
.mall-comments-reference .mall-admin-comment-table small { display: block; color: #909399; font-size: 12px; margin-top: 6px; }
.mall-comment-product { display: flex; gap: 10px; width: 210px; }
.mall-comment-product img { width: 55px; height: 55px; object-fit: cover; border-radius: 0; }
.mall-comments-reference .mall-admin-comment-body { min-width: 170px; max-width: 240px; overflow-wrap: anywhere; }
.mall-comments-reference textarea { min-width: 150px; width: 100%; border: 1px solid #dcdfe6; box-shadow: none; }
.mall-comments-reference .mall-admin-comment-ops { min-width: 105px; }
.mall-comments-reference .mall-admin-comment-ops button { display: block; height: auto; min-height: 25px; border: 0; background: none; padding: 2px; color: #409eff; box-shadow: none; }
.mall-comments-reference .mall-admin-comment-pager { padding: 10px 20px 20px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.mall-comment-config-fold { margin: 20px; padding: 15px 0; border-top: 1px solid #ebeef5; }
.mall-comment-config-fold summary { cursor: pointer; font-size: 14px; color: #409eff; }

/* MALL-277: match the order workspace selection color for review filters. */
.next-admin .mall-comments-reference .mall-admin-chip.is-active {
  border-color: #409eff;
  color: #409eff;
  background: #ecf5ff;
  box-shadow: none;
}

/* MALL-277 review categories: observed 600px dialog and 40x20 switches. */
.next-admin .mall-comment-categories .data-table th { background:#f5f7fa; }
.next-admin .mall-comment-categories .data-table td { height:58px; }
.next-admin .mall-comment-categories [role=switch],
.next-admin .mall-category-dialog input[type=checkbox] { appearance:none; position:relative; display:inline-block; flex:none; vertical-align:middle; width:40px; min-width:40px; height:20px; min-height:20px; margin:0; padding:0; border:1px solid #dcdfe6; border-radius:10px; background:#dcdfe6; box-shadow:none; font-size:0; cursor:pointer; }
.next-admin .mall-comment-categories [role=switch]::after,
.next-admin .mall-category-dialog input[type=checkbox]::after { content:''; position:absolute; left:1px; top:1px; width:16px; height:16px; border-radius:50%; background:#fff; }
.next-admin .mall-comment-categories [role=switch][aria-checked=true],
.next-admin .mall-category-dialog input[type=checkbox]:checked { background:#409eff; border-color:#409eff; }
.next-admin .mall-comment-categories [role=switch][aria-checked=true]::after,
.next-admin .mall-category-dialog input[type=checkbox]:checked::after { left:21px; }
.next-admin .mall-category-pager { display:flex; gap:12px; align-items:center; justify-content:flex-end; padding:20px; }
.next-admin .mall-category-pager input { width:60px; }
.next-admin .mall-category-mask { position:fixed; inset:0; background:#0008; z-index:600; display:flex; align-items:flex-start; justify-content:center; padding-top:15vh; overflow:auto; }
.next-admin .mall-category-dialog { width:min(600px,calc(100vw - 32px)); background:#fff; border-radius:2px; box-shadow:0 2px 12px #0003; color:#606266; font-size:14px; }
.next-admin .mall-category-dialog input[type=checkbox] { width:40px!important; min-width:40px!important; height:20px!important; min-height:20px!important; flex:0 0 40px; }
.next-admin .mall-category-dialog header { display:flex; align-items:center; justify-content:space-between; height:54px; padding:20px 20px 10px; font-size:18px; box-sizing:border-box; }
.next-admin .mall-category-dialog header strong { font-weight:400; color:#303133; }
.next-admin .mall-category-dialog header button { min-width:0; width:16px; height:20px; min-height:0; border:0; padding:0; background:none; box-shadow:none; color:#909399; font-size:18px; }
.next-admin .mall-category-dialog form { padding:30px 20px 48px; }
.next-admin .mall-category-dialog label { display:flex; align-items:center; gap:0; min-height:32px; margin:0 0 18px; }
.next-admin .mall-category-dialog label span { flex:0 0 150px; text-align:right; padding-right:12px; box-sizing:border-box; }
.next-admin .mall-category-dialog input:not([type=checkbox]) { flex:1; width:0; min-width:0; height:32px; min-height:32px; border:1px solid #dcdfe6; border-radius:4px; box-shadow:none; padding:0 15px; font-size:13px; color:#606266; background:#fff; }
.next-admin .mall-category-dialog footer { display:flex; justify-content:flex-end; gap:14px; }
.next-admin .mall-category-dialog footer button { min-width:56px; height:32px; min-height:32px; padding:0 15px; border:1px solid #dcdfe6; border-radius:3px; background:#fff; box-shadow:none; color:#606266; font-size:12px; }
.next-admin .mall-category-dialog footer button.primary { color:#fff; background:#409eff; border-color:#409eff; }
.next-admin .mall-category-dialog [role=alert] { color:#f56c6c; margin:0 0 12px; }
.next-admin .mall-category-dialog [role=alert]:empty { display:none; }
@media(max-width:600px) { .next-admin .mall-category-dialog label span { flex-basis:100px; } }

/* MALL-280: user directory controls and table, isolated from order editors. */
.admin-view-mall .mall-user-workspace {
  padding: 0;
  border: 1px solid var(--figma-v2-line);
  border-radius: var(--figma-v2-radius);
  background: #fff;
  box-shadow: var(--figma-v2-shadow-soft);
  color: #475467;
}
.admin-view-mall .mall-user-workspace .mall-admin-heading {
  min-height: 68px;
  margin: 0;
  padding: 18px 20px;
  border-bottom: 1px solid var(--figma-v2-line);
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.admin-view-mall .mall-user-workspace h3 { margin: 0; font-size: 16px; font-weight: 600; color: var(--figma-v2-text); }
.admin-view-mall .mall-user-workspace button { min-width: 0; height: 36px; min-height: 28px; padding: 0 14px; box-shadow: none; border: 1px solid var(--figma-v2-line-strong); border-radius: 6px; background: #fff; color: #475467; font-size: 13px; }
.admin-view-mall .mall-user-workspace button.primary { background: var(--figma-v2-accent); border-color: var(--figma-v2-accent); color: #fff; }
.admin-view-mall .mall-user-workspace button.danger { color: #f56c6c; background: #fef0f0; border-color: #fde2e2; }
.admin-view-mall .mall-user-workspace button:disabled { opacity: .45; cursor: not-allowed; }
.admin-view-mall .mall-user-workspace .mall-user-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 24px 20px;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.admin-view-mall .mall-user-workspace input,
.admin-view-mall .mall-user-workspace select { height: 36px; min-height: 0; min-width: 0; box-shadow: none; border: 1px solid var(--figma-v2-line-strong); border-radius: 6px; padding: 0 10px; color: #475467; background: #fff; font-size: 13px; }
.admin-view-mall .mall-user-workspace .mall-user-filters > select { width: 110px; }
.admin-view-mall .mall-user-workspace #mallUserQuery { flex: 1 1 240px; max-width: 320px; }
.admin-view-mall .mall-user-workspace .mall-user-date-range { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.admin-view-mall .mall-user-workspace .mall-user-date-range input { width: 140px; }
.admin-view-mall .mall-user-workspace .mall-user-table-wrap { width: calc(100% - 40px); margin: 0 20px; border: 1px solid var(--figma-v2-line); border-radius: 8px; }
.admin-view-mall .mall-user-workspace .mall-user-table { min-width: 1600px; font-size: 13px; }
.admin-view-mall .mall-user-workspace .mall-user-table th { height: 46px; background: var(--figma-v2-table-head); color: #596579; font-weight: 600; }
.admin-view-mall .mall-user-workspace .mall-user-table td,
.admin-view-mall .mall-user-workspace .mall-user-table th { padding: 15px 10px; border: 1px solid #ebeef5; vertical-align: middle; }
.admin-view-mall .mall-user-workspace .mall-user-directory-table td { height: 96px; }
.admin-view-mall .mall-user-workspace .mall-user-directory-table td:first-child { min-width: 55px; }
.admin-view-mall .mall-user-workspace .mall-user-directory-table td:nth-child(2) { min-width: 280px; }
.admin-view-mall .mall-user-workspace .mall-user-directory-table td:nth-child(5) { min-width: 130px; }
.admin-view-mall .mall-user-workspace .mall-user-directory-table td:nth-child(12) { min-width: 165px; }
.admin-view-mall .mall-user-workspace .mall-user-actions { position: sticky; right: 0; min-width: 82px; background: #fff; box-shadow: -3px 0 5px #00000008; }
.admin-view-mall .mall-user-workspace th.mall-user-actions { z-index: 2; background: #f5f7fa; }
.admin-view-mall .mall-user-profile { display: flex; align-items: center; gap: 10px; }
.admin-view-mall .mall-user-avatar-empty { display: grid; place-items: center; flex: 0 0 48px; height: 48px; border-radius: 50%; background: #ecf5ff; color: #409eff; font-size: 19px; }
.admin-view-mall .mall-user-workspace .mall-user-reveal { display: block; margin-top: 7px; padding: 2px 6px; color: #fff; background: #67c23a; border-color: #67c23a; }
.admin-view-mall .mall-user-workspace .mall-user-amount { border: 0; padding: 0; color: #409eff; background: transparent; }
.admin-view-mall .mall-user-workspace .mall-user-tag { border: 1px solid #d9ecff; border-radius: 3px; background: #ecf5ff; color: #409eff; }
.admin-view-mall .mall-user-workspace .mall-user-pager { align-items: center; gap: 8px; margin: 0; padding: 20px; }
.admin-view-mall .mall-user-workspace .mall-user-pager > span { margin-right: 8px; }
.admin-view-mall .mall-user-workspace .mall-user-pager button { min-width: 28px; }
.admin-view-mall .mall-user-workspace .mall-user-jump { display: flex; align-items: center; gap: 8px; }
.admin-view-mall .mall-user-workspace .mall-user-jump input { width: 58px; text-align: center; }
.admin-view-mall .mall-user-workspace .mall-user-page-size { display: flex; align-items: center; gap: 6px; justify-content: flex-end; padding: 0 20px 20px; font-size: 12px; }
.admin-view-mall .mall-user-workspace .mall-user-empty { text-align: center; color: #909399; }
@media (max-width: 760px) {
  .admin-view-mall .mall-user-workspace .mall-user-date-range { flex-wrap: wrap; }
  .admin-view-mall .mall-user-workspace .mall-user-pager { justify-content: flex-start; }
}

/* MALL-280: mounted panels retain edits while switching the five reference tabs. */
.admin-view-mall [data-dist-config-editor] { min-width:0; container-type:inline-size; }
.admin-view-mall .dist-config-tabs { display:flex; flex-wrap:wrap; gap:6px; border-bottom:1px solid #ebe7e3; padding:0 0 16px; margin:0 0 28px; }
.admin-view-mall .dist-config-tabs button { height:auto; min-height:42px; min-width:0; padding:10px 16px; border:1px solid transparent; border-radius:8px; background:transparent; color:#62666e; font-size:14px; line-height:20px; box-shadow:none; }
.admin-view-mall .dist-config-tabs button:hover { color:#982334; background:#faf5f4; transform:none; }
.admin-view-mall .dist-config-tabs button[aria-selected="true"] { color:#982334; border-color:#e9ccd0; background:#fff3f4; font-weight:600; }
.admin-view-mall [data-dist-config-panel][hidden] { display:none; }
.admin-view-mall .dist-withdrawal-method { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #e4e7ed; margin-bottom:6px; cursor:grab; }
.admin-view-mall .dist-withdrawal-method label { min-width:160px; display:flex; gap:10px; align-items:center; }
.admin-view-mall .dist-withdrawal-method input[type="checkbox"] { width:14px; min-width:14px; height:14px; }
.admin-view-mall .dist-withdrawal-method button { color:#606266; background:white; padding:2px 9px; border:1px solid #dcdfe6; }
.admin-view-mall .dist-fieldset { border:0; margin:0; padding:0; min-width:0; }
.admin-view-mall .dist-row { display:flex; align-items:flex-start; gap:16px; margin:0 0 22px; color:#606266; font-size:14px; }
.admin-view-mall .dist-label { flex:0 0 180px; text-align:right; padding-top:8px; line-height:20px; }
.admin-view-mall .dist-opts { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-width:0; flex:1; line-height:32px; }
.admin-view-mall .dist-opt, .admin-view-mall .dist-inline { display:inline-flex; align-items:center; gap:6px; color:#606266; font-size:14px; }
.admin-view-mall .dist-opts input:not([type="checkbox"]):not([type="radio"]) { width:220px; min-height:32px; padding:5px 10px; border:1px solid #dcdfe6; border-radius:4px; box-shadow:none; }
.admin-view-mall .dist-opts input[type="checkbox"], .admin-view-mall .dist-opts input[type="radio"] { width:14px; height:14px; min-width:14px; min-height:14px; margin:0; flex:0 0 14px; }
.admin-view-mall .dist-opts textarea { width:500px; max-width:100%; border:1px solid #dcdfe6; border-radius:4px; padding:8px 12px; box-shadow:none; }
.admin-view-mall .dist-section-title { border-bottom:1px solid #ebeef5; padding:16px 0; margin:0 0 24px; font-size:16px; color:#303133; }
.admin-view-mall .dist-sealed-note { margin:12px 0 24px 196px; color:#909399; font-size:13px; line-height:1.6; }
.admin-view-mall .mall-commission-log-workspace { display: block; }
.admin-view-mall .mall-commission-log-workspace .mall-admin-heading { min-height: 66px; padding: 18px 20px; margin: 0; box-sizing: border-box; }
.admin-view-mall .mall-commission-log-workspace .mall-user-filters { padding: 20px; }
.admin-view-mall .mall-commission-log-workspace .mall-commission-log-table { min-width: 880px; table-layout: fixed; }
.admin-view-mall .mall-commission-log-table th:first-child { width: 60px; }
.admin-view-mall .mall-commission-log-table th:nth-child(2),
.admin-view-mall .mall-commission-log-table th:nth-child(5) { width: 180px; }
.admin-view-mall .mall-commission-log-table th:nth-child(3),
.admin-view-mall .mall-commission-log-table th:nth-child(6) { width: 130px; }
.admin-view-mall .mall-commission-log-table td { overflow-wrap: anywhere; }
.admin-view-mall .mall-commission-log-table small { display: block; margin-top: 5px; color: #909399; }
.admin-view-mall .mall-commission-log-table .mall-commission-reason { white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-view-mall .mall-commission-log-table .is-add { color: #67c23a; }
.admin-view-mall .mall-commission-log-table .is-sub { color: #f56c6c; }
.admin-view-mall .mall-commission-log-pagination { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; padding-right: 20px; }
.admin-view-mall .mall-commission-log-pagination > select { width: 110px; height: 32px; margin: 10px 0; }
.admin-view-mall .mall-commission-log-workspace #mallCommissionLogQuery { width: 250px; max-width: 100%; }
.admin-view-mall .mall-commission-log-empty { position: sticky; left: 0; width: 100%; box-sizing: border-box; padding: 24px 10px; text-align: center; color: #909399; }
.admin-view-mall .mall-commission-log-workspace .mall-commission-time-range { flex-wrap: wrap; min-width: 0; max-width: 100%; }
.admin-view-mall .mall-commission-log-workspace .mall-commission-time-range input { width: 230px; max-width: 100%; box-sizing: border-box; }
@media (max-width: 760px) {
  .admin-view-mall .mall-commission-log-workspace .mall-commission-time-range { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .admin-view-mall .mall-commission-time-range > span:not(:first-child) { text-align: center; }
  .admin-view-mall .mall-commission-log-workspace .mall-commission-time-range input { width: 100%; }
  .admin-view-mall .mall-commission-log-pagination .mall-user-pager { flex-wrap: wrap; padding-left: 20px; padding-right: 0; }
}
.admin-view-mall .mall-user-workspace h3:before { display:none; }
.admin-view-mall .mall-user-workspace h3 { padding-left:0; }
@media(max-width:700px) {
  .admin-view-mall .dist-row { flex-direction:column; gap:6px; }
  .admin-view-mall [data-dist-config-editor] .dist-row > div { width:100%; min-width:0; }
  .admin-view-mall [data-dist-config-editor] .dist-withdrawal-method label { min-width:0; flex:1; }
  .admin-view-mall [data-dist-config-editor] .dist-withdrawal-method button { min-width:32px; flex:0 0 32px; }
  .admin-view-mall [data-dist-config-editor] .dist-inline { min-width:0; max-width:100%; }
  .admin-view-mall [data-dist-config-editor] .dist-inline input { min-width:0; max-width:calc(100% - 24px); }
  .admin-view-mall .dist-label { flex:auto; text-align:left; }
  .admin-view-mall .dist-sealed-note { margin-left:0; }
}

/* Distribution settings only: other editors keep their existing form layout. */
.admin-view-mall [data-dist-config-editor] { --dist-label-width:180px; --dist-column-gap:24px; }
.admin-view-mall [data-dist-config-editor] .dist-fieldset { max-width:1000px; }
.admin-view-mall [data-dist-config-editor] .dist-section-title { margin:28px 0 8px; padding:0 0 16px; border-bottom:1px solid #ebe7e3; color:#30363d; font-size:18px; font-weight:600; line-height:1.5; }
.admin-view-mall [data-dist-config-panel] > .dist-section-title:first-child { margin-top:0; }
.admin-view-mall [data-dist-config-editor] .dist-row { display:grid; grid-template-columns:var(--dist-label-width) minmax(0,1fr); align-items:start; gap:var(--dist-column-gap); padding:16px 0; margin:0; }
.admin-view-mall [data-dist-config-editor] .dist-label { padding:10px 0; margin:0; text-align:left; color:#454b54; font-size:14px; line-height:22px; overflow-wrap:anywhere; }
.admin-view-mall [data-dist-config-editor] .dist-opts { min-height:42px; gap:10px 12px; line-height:22px; }
.admin-view-mall [data-dist-config-editor] .dist-opts > small { color:#757b84; font-size:12px; line-height:20px; }
.admin-view-mall [data-dist-config-editor] .dist-opt { min-height:40px; max-width:100%; padding:8px 12px; gap:8px; border:1px solid #e2e5e9; border-radius:6px; color:#5c626b; background:#fff; line-height:22px; cursor:pointer; }
.admin-view-mall [data-dist-config-editor] .dist-opt:has(input:checked) { border-color:#d9a7af; background:#fff7f7; color:#982334; }
.admin-view-mall [data-dist-config-editor] input[type="checkbox"],
.admin-view-mall [data-dist-config-editor] input[type="radio"] { width:16px; height:16px; min-width:16px; min-height:16px; flex:0 0 16px; margin:0; accent-color:#982334; cursor:pointer; }
.admin-view-mall [data-dist-config-editor] .dist-inline { flex-wrap:wrap; gap:8px; max-width:100%; min-height:42px; line-height:22px; }
.admin-view-mall [data-dist-config-editor] .dist-opts input:not([type="checkbox"], [type="radio"]) { width:280px; min-width:0; max-width:100%; height:42px; padding:9px 12px; border:1px solid #d9dfe5; border-radius:6px; color:#30363d; background:#fff; font-size:14px; line-height:22px; box-shadow:0 1px 2px rgba(30,40,50,.03); }
.admin-view-mall [data-dist-config-editor] .dist-opts input[type="number"],
.admin-view-mall [data-dist-config-editor] .dist-opts input[data-dist-global-rate],
.admin-view-mall [data-dist-config-editor] .dist-inline input:not([type="checkbox"], [type="radio"]) { width:160px; }
.admin-view-mall [data-dist-config-editor] .dist-opts textarea { width:100%; min-width:0; max-width:600px; padding:12px 14px; border-color:#d9dfe5; border-radius:6px; color:#30363d; font-size:14px; line-height:1.8; }
.admin-view-mall [data-dist-config-editor] #distPendingBg { width:600px; }
.admin-view-mall [data-dist-config-editor] input:focus-visible,
.admin-view-mall [data-dist-config-editor] textarea:focus-visible,
.admin-view-mall [data-dist-config-editor] button:focus-visible { outline:2px solid #982334; outline-offset:3px; }
.admin-view-mall [data-dist-config-editor] .dist-opts input:disabled,
.admin-view-mall [data-dist-config-editor] .dist-opts textarea:disabled { color:#7c828a; background:#f3f4f6; cursor:not-allowed; }
.admin-view-mall [data-dist-config-editor] .dist-opt:has(input:disabled) { color:#7c828a; background:#f3f4f6; cursor:not-allowed; }
.admin-view-mall [data-dist-config-editor] .dist-sealed-note,
.admin-view-mall [data-dist-config-editor] [data-dist-config-panel] > .hint { margin:8px 0 20px calc(var(--dist-label-width) + var(--dist-column-gap)); padding:14px 16px; border-radius:8px; background:#f6f7f9; color:#626b76; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.admin-view-mall [data-dist-config-editor] .dist-sealed-note strong { display:block; margin-bottom:6px; color:#454b54; font-size:13px; font-weight:600; }
.admin-view-mall [data-dist-config-editor] .dist-sealed-note p { margin:4px 0; }
.admin-view-mall [data-dist-config-editor] .dist-row .hint { margin:8px 0 0; color:#757b84; font-size:12px; line-height:1.7; }
.admin-view-mall [data-dist-config-editor] .dist-tier-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:520px; }
.admin-view-mall [data-dist-config-editor] .dist-tier-field { display:flex; flex-direction:column; gap:8px; min-width:0; color:#69717c; font-size:13px; }
.admin-view-mall [data-dist-config-editor] .dist-tier-field input[type="number"] { width:100%; }
.admin-view-mall [data-dist-config-editor] #distWithdrawalMethods { width:440px; max-width:100%; }
.admin-view-mall [data-dist-config-editor] .dist-withdrawal-method { min-height:52px; padding:8px 12px; margin:0 0 8px; border-color:#e2e5e9; border-radius:8px; background:#fff; }
.admin-view-mall [data-dist-config-editor] .dist-withdrawal-method:has(input:checked) { border-color:#d9a7af; background:#fff7f7; }
.admin-view-mall [data-dist-config-editor] .dist-withdrawal-method label { flex:1; min-width:0; line-height:22px; cursor:pointer; }
.admin-view-mall [data-dist-config-editor] .dist-withdrawal-method button { width:32px; min-width:32px; height:32px; padding:0; border-radius:6px; box-shadow:none; }
.admin-view-mall [data-dist-config-editor] .dist-config-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; max-width:1000px; margin:20px 0 0; padding:20px 0 0 calc(var(--dist-label-width) + var(--dist-column-gap)); border-top:1px solid #ebe7e3; }
.admin-view-mall [data-dist-config-editor] .dist-config-actions button { height:44px; min-width:148px; padding:0 22px; border-radius:6px; box-shadow:none; font-size:14px; }
.admin-view-mall [data-dist-config-editor] .dist-config-actions [data-dist-config-error]:not(:empty) { flex-basis:100%; color:#982334; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
@container (max-width:640px) {
  .admin-view-mall [data-dist-config-editor] .dist-config-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; margin-bottom:24px; }
  .admin-view-mall [data-dist-config-editor] .dist-config-tabs button { grid-column:span 2; padding:10px 4px; font-size:13px; white-space:normal; text-wrap:balance; overflow-wrap:anywhere; }
  .admin-view-mall [data-dist-config-editor] .dist-config-tabs button:nth-child(n+4) { grid-column:span 3; }
  .admin-view-mall [data-dist-config-editor] .dist-row { grid-template-columns:minmax(0,1fr); gap:10px; padding:14px 0; }
  .admin-view-mall [data-dist-config-editor] .dist-label { padding:0; font-weight:500; }
  .admin-view-mall [data-dist-config-editor] .dist-opts { width:100%; min-width:0; }
  .admin-view-mall [data-dist-config-editor] .dist-sealed-note,
  .admin-view-mall [data-dist-config-editor] [data-dist-config-panel] > .hint { margin:10px 0 18px; }
  .admin-view-mall [data-dist-config-editor] .dist-tier-fields { gap:8px; }
  .admin-view-mall [data-dist-config-editor] .dist-config-actions { margin-top:16px; padding:20px 0 0; }
  .admin-view-mall [data-dist-config-editor] .dist-config-actions button { width:100%; }
}

/* MALL-280: product list, categories and freight are separate destinations. */
.admin-view-mall .mall-subnav[aria-label="商品菜单"] .mall-subnav-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.admin-view-mall .mall-subnav[aria-label="商品菜单"] .mall-subnav-list button { width:100%; min-width:0; border-left:0; padding:0 12px; box-shadow:none; font-size:13px; }
.admin-view-mall .mall-subnav[aria-label="商品菜单"] [data-mall-mode="manage"] { grid-column:1/-1; }
.admin-view-mall #orderMain:has(>.mall-goods-workspace), .admin-view-mall #orderMain:has(>.mall-catalog-settings) { border:0; border-radius:0; box-shadow:none; background:#f5f5f5; padding:20px; }
.admin-view-mall .mall-goods-workspace { display:block; min-width:0; border:0; margin:0; padding:0; border-radius:0; box-shadow:none; }
.admin-view-mall .mall-goods-workspace .mall-goods-reference-list { margin:0; padding:0; border:0; border-radius:0; box-shadow:none; }
.admin-view-mall .mall-goods-workspace .mall-admin-block-head { margin:0 0 12px; padding:16px 20px; border:0; border-radius:0; }
.admin-view-mall .mall-goods-reference-list .mall-admin-block-head button { background:#409eff; border-color:#409eff; color:#fff; }
.admin-view-mall .mall-goods-reference-list .mall-admin-table th, .admin-view-mall .mall-goods-reference-list .mall-admin-table td { border:1px solid #ebeef5; background:#fff; }
.admin-view-mall .mall-goods-reference-list .mall-round-action.edit { color:#409eff; background:#ecf5ff; }
.admin-view-mall .mall-goods-reference-list .mall-round-action.copy { color:#e6a23c; background:#fdf6ec; }
.admin-view-mall .mall-goods-reference-list .mall-round-action.delete { color:#f56c6c; background:#fef0f0; }
.admin-view-mall .mall-catalog-settings { border:0; border-radius:0; box-shadow:none; background:white; }
.admin-view-mall .mall-catalog-settings button.primary { color:#fff; background:#409eff; border-color:#409eff; box-shadow:none; }
.admin-view-mall .mall-goods-reference-list .mall-gcat { display:inline-block; padding:1px 5px; margin:2px 3px 2px 0; border:1px solid #d9ecff; border-radius:2px; background:#ecf5ff; color:#409eff; line-height:18px; }
.admin-view-mall .mall-goods-reference-list .mall-gname { flex-direction:row; gap:4px; }
.admin-view-mall .mall-goods-reference-list .mall-gname .mall-pencil { flex:none; width:22px; min-width:22px; margin:0; }
.admin-view-mall .mall-goods-reference-list input[type=checkbox] { border-radius:2px; }
@media(max-width:720px) {
  .admin-view-mall .mall-subnav[aria-label="商品菜单"] .mall-subnav-list { display:flex; width:max-content; flex-wrap:nowrap; }
  .admin-view-mall .mall-subnav[aria-label="商品菜单"] .mall-subnav-list button { width:120px; flex:0 0 120px; }
  .admin-view-mall #orderMain:has(>.mall-goods-workspace), .admin-view-mall #orderMain:has(>.mall-catalog-settings) { padding:12px; }
}
/* MALL-281: reference hot-search list and editor. */
.admin-view-mall #orderMain:has(>.mall-hot-search) { background:#f2f2f2; border:0; border-radius:0; box-shadow:none; padding:20px; }
.admin-view-mall .mall-hot-search { color:#606266; font-size:14px; }
.admin-view-mall .mall-hot-search header { display:flex; align-items:center; gap:12px; min-height:56px; padding:12px 20px; margin-bottom:12px; background:white; }
.admin-view-mall .mall-hot-search header .primary { margin-left:auto; }
.admin-view-mall .mall-hot-search button { background:#fff; color:#409eff; border:0; box-shadow:none; min-height:32px; padding:0 14px; border-radius:3px; }
.admin-view-mall .mall-hot-search button.primary { background:#409eff; color:#fff; }
.admin-view-mall .mall-hot-search .table-wrap { padding:20px; background:white; border:0; border-radius:0; }
.admin-view-mall .mall-hot-search table { width:100%; border-collapse:collapse; }
.admin-view-mall .mall-hot-search th { color:#909399; font-weight:500; text-align:left; }
.admin-view-mall .mall-hot-search td,.admin-view-mall .mall-hot-search th { padding:16px 12px; border-bottom:1px solid #ebeef5; }
.admin-view-mall .mall-hot-search form { background:white; padding:36px 20px 0; }
.admin-view-mall .mall-hot-search form label { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
.admin-view-mall .mall-hot-search label>span { width:180px; flex:none; text-align:right; padding-top:8px; }
.admin-view-mall .mall-hot-search em { color:#f56c6c; font-style:normal; }
.admin-view-mall .mall-hot-search input,.admin-view-mall .mall-hot-search select { width:320px; max-width:100%; min-height:32px; border:1px solid #dcdfe6; box-shadow:none; border-radius:4px; padding:5px 12px; background:white; }
.admin-view-mall .mall-hot-search [name=rank] { width:120px; display:inline-block; }
.admin-view-mall .mall-hot-search label>div { min-width:0; max-width:100%; }
.admin-view-mall .mall-hot-search input,.admin-view-mall .mall-hot-search select { box-sizing:border-box; }
.admin-view-mall .mall-hot-search form p { color:#909399; margin:8px 0; font-size:12px; }
.admin-view-mall .mall-hot-search form [role=alert] { color:#f56c6c; }
.admin-view-mall .mall-hot-search footer { margin:30px -20px 0; border-top:12px solid #f2f2f2; padding:16px; text-align:center; }
@media(max-width:720px) { .admin-view-mall .mall-hot-search form label { flex-direction:column; gap:8px; } .admin-view-mall .mall-hot-search label>span { width:auto; text-align:left; } }

/* MALL-282: three-level category browser and independent editor. */
.admin-view-mall #orderMain:has(>.mall-category-manager){padding:20px;background:#f2f2f2;border:0;border-radius:0;box-shadow:none}
.admin-view-mall .mall-category-manager{color:#606266;font-size:14px}.admin-view-mall .mall-category-manager header{display:flex;align-items:center;gap:12px;background:white;padding:12px 20px;min-height:56px;margin-bottom:12px}.admin-view-mall .mall-category-manager header>div{margin-left:auto;display:flex;gap:10px}
.admin-view-mall .mall-category-manager button{min-height:32px;border:0;border-radius:3px;color:#409eff;background:white;box-shadow:none;padding:0 12px}.admin-view-mall .mall-category-manager .primary{background:#409eff;color:white}.admin-view-mall .category-list-body{background:white;padding:20px}.admin-view-mall .category-tabs{border-bottom:1px solid #e4e7ed;padding:12px 0;color:#409eff}.admin-view-mall .category-toolbar{display:flex;gap:16px;margin:14px 0 20px}.admin-view-mall .category-toolbar input{width:250px}
.admin-view-mall .category-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:550px}.admin-view-mall .category-columns>section{border:1px solid #ebeef5;border-radius:3px}.admin-view-mall .category-columns h3{font-size:14px;font-weight:400;padding:16px;margin:0;border-bottom:1px solid #ebeef5}.admin-view-mall .category-row{display:flex;align-items:center;padding:8px;min-height:50px;gap:6px}.admin-view-mall .category-row.selected{background:#f5f5f5}.admin-view-mall .category-row>[data-cat-select]{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;background:transparent;color:#606266;padding:4px}.admin-view-mall .category-row strong{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.admin-view-mall .category-row img,.admin-view-mall .category-image-empty{height:32px;width:32px;object-fit:cover;border:1px solid #e4e7ed;border-radius:6px;flex:none;box-sizing:border-box}.admin-view-mall .category-image-empty{display:inline-flex;align-items:center;justify-content:center;background:#f5f7fa;color:#98a2b3}.admin-view-mall .category-image-empty svg{width:20px;height:20px;display:block}.admin-view-mall .category-row .category-id{width:3ch;flex:none;text-align:right;color:#909399;font-size:12px;font-variant-numeric:tabular-nums}.admin-view-mall .category-row small{color:#909399;white-space:nowrap}.admin-view-mall .category-row>[data-cat-edit]{border-radius:50%;background:#ecf5ff}
.admin-view-mall .mall-category-manager form{padding:30px 20px 0;background:white}.admin-view-mall .mall-category-manager .category-form-field{display:flex;gap:20px;align-items:flex-start;margin-bottom:24px}.admin-view-mall .mall-category-manager .category-form-field>span{width:160px;flex:none;text-align:right;padding-top:7px}.admin-view-mall .mall-category-manager .category-form-field>div{min-width:0;max-width:100%}.admin-view-mall .mall-category-manager input:not([type=radio]):not([type=checkbox]),.admin-view-mall .mall-category-manager select{width:320px;max-width:100%;box-sizing:border-box;min-height:32px;border:1px solid #dcdfe6;border-radius:4px;box-shadow:none;background:white;padding:5px 12px}.admin-view-mall .mall-category-manager .cat-level{display:inline-flex;align-items:center;gap:6px;margin-right:20px}.admin-view-mall .mall-category-manager input[type=checkbox],.admin-view-mall .mall-category-manager input[type=radio]{width:16px;height:16px;min-width:16px}.admin-view-mall .mall-category-manager .category-image{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-view-mall .category-image img{height:80px;width:80px;object-fit:contain;border:1px solid #eee}.admin-view-mall .mall-category-manager em,.admin-view-mall .mall-category-manager [role=alert]{color:#f56c6c}.admin-view-mall .mall-category-manager footer{padding:16px;text-align:center;border-top:12px solid #f2f2f2;margin:30px -20px 0}
@media(max-width:720px){.admin-view-mall .category-columns{overflow-x:auto;grid-template-columns:repeat(3,240px);min-height:380px}.admin-view-mall .mall-category-manager .category-form-field{flex-direction:column;gap:8px}.admin-view-mall .mall-category-manager .category-form-field>span{width:auto;text-align:left}.admin-view-mall .mall-category-manager .category-form-field>div{width:100%}}

.admin-view-mall .category-row>[data-cat-edit]{width:32px;min-width:32px;padding:0}

.admin-view-mall .mall-category-manager .category-tabs{display:flex;gap:28px;padding:0}.admin-view-mall .category-tabs button{padding:14px 0;border-radius:0;min-height:48px;color:#303133;border-bottom:2px solid transparent}.admin-view-mall .category-tabs button.active{color:#409eff;border-bottom-color:#409eff}.admin-view-mall .category-toolbar{flex-wrap:wrap;align-items:center}.admin-view-mall .category-row>[data-cat-delete]{min-width:28px;width:28px;padding:0;background:#fff0f0;color:#f56c6c}.admin-view-mall .category-row>input[data-cat-pick]{width:15px;min-width:15px;height:15px}.admin-view-mall .category-row>input[data-cat-sort]{width:70px;min-width:70px}.admin-view-mall .category-row{gap:8px}.admin-view-mall .category-transfer{padding:24px 0}.admin-view-mall .category-transfer-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:24px 0}.admin-view-mall .category-transfer-columns section{border:1px solid #ebeef5;padding:20px}.admin-view-mall .category-transfer-tree{height:400px;overflow:auto;margin-top:18px}.admin-view-mall .category-transfer-tree label{display:flex;align-items:center;gap:10px;min-height:42px}.admin-view-mall .category-style-fields{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px 20px;margin:30px 0}.admin-view-mall .category-style-fields>label{text-align:right;padding-top:6px}.admin-view-mall .category-style-fields>div>label{display:flex;align-items:center;gap:12px;margin-bottom:20px}.admin-view-mall .category-style-fields .muted{font-size:12px;color:#909399;line-height:1.7}.admin-view-mall .category-style-levels{display:flex;gap:12px;margin:22px 0}.admin-view-mall .category-layout-gallery{display:flex;gap:36px;overflow:auto;padding:4px 16px 24px}.admin-view-mall .category-layout-gallery .category-layout-option{flex:0 0 240px;width:240px;padding:0;border:1px solid #e4e7ed;min-height:410px;position:relative}.admin-view-mall .category-layout-option.selected{border-color:#409eff}.admin-view-mall .category-layout-option>span{display:block;padding:10px;background:#409eff;color:white}.admin-view-mall .category-layout-option small{display:block;padding:5px;color:#909399}.admin-view-mall .category-layout-phone{height:348px;background:#fff;color:#606266;padding:12px;text-align:left}.admin-view-mall .preview-search{background:#f4f4f4;border-radius:20px;padding:8px;text-align:center;font-size:12px}.admin-view-mall .preview-nav{font-size:12px;padding:12px 0;white-space:nowrap}.admin-view-mall .preview-body{display:flex;gap:10px}.admin-view-mall .preview-body aside{background:#f5f5f5;line-height:3.5;font-size:12px;padding:5px}.admin-view-mall .preview-items{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 8px;flex:1}.admin-view-mall .preview-items i{display:block;background:#e7eef5;border-radius:4px;height:42px}.admin-view-mall .preview-items span{display:block;font-size:10px;padding-top:8px}.admin-view-mall .has-banners .preview-items{grid-template-columns:1fr;gap:8px}.admin-view-mall .has-banners .preview-items>div{display:flex;gap:10px;align-items:center;background:#fafafa}.admin-view-mall .has-banners .preview-items i{width:48px;height:32px}.admin-view-mall .mall-category-manager #mallCategoryStyleForm{padding:10px 0}.admin-view-mall .mall-category-manager #mallCategoryStyleForm footer{margin:20px 0 0}.admin-view-mall .category-row button[data-cat-select]{min-width:0}.admin-view-mall .category-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){.admin-view-mall .category-transfer-columns{grid-template-columns:1fr;gap:16px}.admin-view-mall .category-style-fields{grid-template-columns:1fr;gap:12px}.admin-view-mall .category-style-fields>label{text-align:left}.admin-view-mall .category-style-levels{flex-wrap:wrap}.admin-view-mall .category-tabs{gap:12px!important}.admin-view-mall .category-tabs button{min-width:0;font-size:12px}}
.category-layout-phone .preview-main{flex:1;min-width:0}.category-layout-phone .preview-nav.icons{display:flex;flex-wrap:wrap;justify-content:space-around}.category-layout-phone .preview-nav.icons i{display:block;width:28px;height:28px;background:#e8eef5;border-radius:50%}.category-layout-phone .preview-nav.icons span{width:100%;text-align:center}.category-layout-phone .preview-ad{height:42px;background:#f4f0e9;text-align:center;padding-top:12px;color:#bba883;margin-bottom:8px}.category-layout-phone .preview-sub{font-size:9px;color:#999;padding:8px 0}.category-layout-phone.preview-grid .preview-items{grid-template-columns:repeat(2,minmax(0,1fr))}.category-layout-phone.preview-list .preview-items,.category-layout-phone.preview-banners .preview-items{grid-template-columns:1fr}.category-layout-phone.preview-list .preview-items>div{display:grid;grid-template-columns:42px 1fr;gap:4px}.category-layout-phone.preview-list .preview-items i{grid-row:span 2;width:42px;height:42px}.category-layout-phone.preview-banners .preview-items i{height:80px}.category-layout-phone .preview-items em{color:#ef765f;font-size:10px;font-style:normal}.category-layout-phone .preview-items>div{overflow:hidden}.category-layout-phone.preview-icons .preview-items i{border-radius:50%}.category-layout-phone{overflow:hidden}
.admin-view-mall .category-transfer-columns section{min-width:0;box-sizing:border-box}.admin-view-mall .category-transfer-columns input[data-cat-transfer-search]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.admin-view-mall .category-style-fields>input{min-width:0;max-width:100%;box-sizing:border-box}

/* Recommendation settings: reference two-tab editor, independent scene cards. */
.mall-recommendation{background:#f5f5f5;padding:0;color:#303133;font-size:14px}
.mall-rec-tabs{display:flex;background:#fff;padding:0 20px;margin-bottom:12px;gap:24px}
.mall-rec-tabs button{border:0;border-radius:0;background:none;padding:20px 0;color:#303133}
.mall-rec-tabs button[aria-selected="true"]{color:#409eff;border-bottom:2px solid #409eff}
.mall-recommendation fieldset{border:0;padding:0;margin:0;min-width:0}
.mall-rec-block{background:#fff;border:1px solid #eee;margin-bottom:12px}
.mall-rec-block>header{padding:20px;border-bottom:1px solid #eee}
.mall-rec-fields{padding:26px 44px 34px}
.mall-rec-fields>label,.mall-rec-page-fields>label{display:flex;align-items:center;gap:8px;min-height:38px;margin-bottom:18px}
.mall-rec-fields>label>span,.mall-rec-page-fields>label>span{width:118px;text-align:right;flex-shrink:0;color:#606266}
.mall-recommendation input[type="checkbox"]{appearance:none;width:40px;height:20px;min-width:40px;margin:0;border:0;border-radius:12px;background:#dcdfe6;position:relative;cursor:pointer}
.mall-recommendation input[type="checkbox"]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:white;border-radius:50%}
.mall-recommendation input[type="checkbox"]:checked{background:#409eff}.mall-recommendation input[type="checkbox"]:checked:after{left:22px}
.mall-recommendation input[type="number"],.mall-recommendation input[data-rec-title]{width:400px;max-width:100%;height:32px;border:1px solid #dcdfe6;border-radius:4px;padding:0 14px;background:#fff}
.mall-rec-fields small{font-size:14px}.mall-rec-picks{margin-left:126px;display:flex;flex-wrap:wrap;gap:10px}
.mall-rec-picks>div{max-width:180px;border:1px solid #eee;padding:10px;position:relative}.mall-rec-picks>button{width:50px;height:50px;border:1px solid #ddd;background:white;font-size:24px;color:#999}
.mall-recommendation footer{background:white;display:flex;justify-content:center;padding:16px;margin-top:12px}.mall-recommendation .primary{background:#409eff;border-color:#409eff;color:white;border-radius:3px;box-shadow:none}
.mall-recommendation [role="alert"]:empty{display:none}.mall-recommendation [role="alert"]{color:#b42318;padding:10px}
.mall-rec-page{display:grid;grid-template-columns:400px minmax(0,1fr);gap:16px;align-items:start}.mall-rec-page-fields{padding:40px 24px}.mall-rec-page-fields>label>span{width:110px}
.mall-rec-page-fields button{margin-right:10px}.mall-rec-page-fields input[data-rec-title]{width:400px}.mall-rec-page-fields small{color:#909399;margin-left:8px}
.mall-rec-page-fields input[type="color"]{width:32px;height:32px;padding:3px;border:1px solid #dcdfe6}.mall-rec-page-fields input[data-rec-color-text]{width:90px;height:32px;border:1px solid #dcdfe6;padding:0 8px}
.mall-rec-layouts{display:flex;gap:20px;flex-wrap:wrap}.mall-rec-layouts label{display:flex;align-items:center;gap:8px;white-space:nowrap}.mall-rec-layouts input[type="radio"]{width:14px;height:14px;margin:0;accent-color:#409eff}
.mall-rec-icon{height:100px;margin:20px 0;position:relative;font-size:90px;line-height:80px;color:#606266;width:85px}.mall-rec-icon img{width:80px;height:80px;object-fit:contain}.mall-rec-icon button{position:absolute;right:-20px;top:-10px;border-radius:50%;background:#f56c6c;color:white;border:0;width:28px;height:28px;margin:0}
.mall-rec-phone{background:white;border-radius:30px;padding:28px 12px 20px;min-height:750px;overflow:hidden}.mall-rec-phone-bar{display:flex;justify-content:space-between;padding:8px;font-size:12px}.mall-rec-phone header{display:flex;justify-content:space-between;padding:12px;color:#111}
.mall-rec-preview{background:#f7f7f7;min-height:645px;padding:18px 10px}.mall-rec-preview h4{display:flex;gap:6px;align-items:center;justify-content:center;font-size:12px;font-weight:400;margin:4px 0 16px}.mall-rec-preview h4 img{width:16px;height:16px;object-fit:contain}.mall-rec-preview h4 i{width:24px;height:1px;background:currentColor;margin:0 8px}
.mall-rec-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mall-rec-samples article{background:white;border-radius:6px;overflow:hidden;min-width:0}.mall-rec-sample-image{height:120px;background:#e9eff5;color:#8293a6;display:grid;place-items:center}.mall-rec-samples p{font-size:12px;padding:0 8px;margin:8px 0}.mall-rec-samples b{font-size:14px;padding:0 8px;color:#f56c6c;font-weight:400}.mall-rec-samples.rec-one,.mall-rec-samples.rec-list{grid-template-columns:1fr}.mall-rec-samples.rec-three{grid-template-columns:repeat(3,minmax(0,1fr))}.mall-rec-samples.rec-three .mall-rec-sample-image{height:90px}.mall-rec-samples.rec-scroll{display:flex;overflow-x:auto}.mall-rec-samples.rec-scroll article{flex:0 0 140px}.mall-rec-samples.rec-list article{display:flex;align-items:center}.mall-rec-samples.rec-list .mall-rec-sample-image{width:100px;height:100px}
.mall-rec-picker{max-height:75vh;overflow:auto}.mall-rec-picker>input{width:100%;margin-bottom:16px}.mall-rec-picker input[type="checkbox"]{width:16px;height:16px}.mall-rec-picker footer{display:flex;gap:12px;justify-content:flex-end;padding:16px}
@media(max-width:1250px){.mall-rec-page{grid-template-columns:320px minmax(0,1fr)}.mall-rec-page-fields{padding:24px 12px}.mall-rec-page-fields>label{flex-wrap:wrap}.mall-rec-page-fields>label>span{width:76px}.mall-rec-page-fields input[data-rec-title]{width:250px}}
@media(max-width:760px){.mall-rec-page{grid-template-columns:1fr}.mall-rec-phone{max-width:375px;width:100%;margin:auto;box-sizing:border-box}.mall-rec-fields{padding:20px 12px}.mall-rec-fields>label{flex-wrap:wrap}.mall-rec-fields input[type="number"]{width:160px}.mall-rec-picks{margin-left:0}.mall-rec-page-fields input[data-rec-title]{max-width:200px}}
#orderMain .mall-recommendation input[type="checkbox"]{width:40px;min-width:40px;height:20px;min-height:20px;padding:0;flex:none}
#orderMain .mall-recommendation input[type="radio"]{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;flex:none}
#orderMain .mall-recommendation input[type="color"]{width:32px;min-width:32px;height:32px;min-height:32px;flex:none}
#orderMain .mall-rec-icon button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0}
#orderMain .mall-rec-page-fields input[data-rec-color-text]{width:90px;min-width:90px;flex:none}
#orderMain .mall-rec-tabs button{min-width:0}
.mall-rec-picker input[type="checkbox"]{min-width:16px;min-height:16px;padding:0}
#orderMain .mall-recommendation .primary{background:#409eff;border:1px solid #409eff;color:#fff;border-radius:3px;box-shadow:none}
#orderMain .mall-rec-icon button{font-size:14px;line-height:28px;text-align:center}
.mall-rec-picks button.primary{background:#409eff;color:#fff}

/* Goods controls must not inherit full-width form inputs or ordinary button minima. */
.next-admin .mall-goods-reference-editor .mall-switch,
.next-admin .mall-goods-reference-list .mall-switch {
  box-sizing:border-box; width:40px; min-width:40px; max-width:40px;
  height:20px; min-height:20px; max-height:20px; flex:none; padding:0; box-shadow:none;
}
.next-admin .mall-goods-reference-editor .mall-switch:focus-visible,
.next-admin .mall-goods-reference-list .mall-switch:focus-visible { outline:2px solid #409eff; outline-offset:3px; }
.next-admin .mall-goods-reference-editor [data-goods-shipping-controls] label { display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.next-admin .mall-goods-reference-editor [data-shipping-methods] { display:flex; flex-wrap:wrap; gap:12px 20px; }
.next-admin .mall-goods-reference-editor [data-goods-shipping-controls] input[type=checkbox] { appearance:auto; width:14px; min-width:14px; height:14px; padding:0; margin:0; border-radius:2px; cursor:pointer; accent-color:#409eff; }
.next-admin .mall-goods-reference-editor [data-goods-shipping-controls] .mall-fcontrol>button { align-self:flex-start; width:auto; min-width:100px; height:32px; padding:0 14px; flex:none; }

/* MALL-291: goods editor geometry measured against the reference at 1280/1920px. */
.next-admin #viewHost.admin-view-mall:has(.mall-product-editor-workspace) { padding:80px 0 0; }
.next-admin #orderMain:has(.mall-product-editor-workspace) { padding:0 20px; border:0; border-radius:0; box-shadow:none; background:#f2f2f2; }
.next-admin .mall-product-editor-workspace.entry-editor-section { padding:0; margin:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.next-admin .mall-goods-reference-editor { display:flex; flex-direction:column; gap:0; height:calc(100dvh - 80px); min-height:420px; padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#303133; font-size:14px; }
.next-admin .mall-goods-reference-editor>.mall-admin-block-head { flex:none; height:50px; min-height:50px; box-sizing:border-box; margin:0 0 10px; padding:0 20px; background:#fff; border:0; border-radius:4px; }
.next-admin .mall-goods-reference-editor .mall-gbreadcrumb { height:100%; gap:16px; }
.next-admin .mall-goods-reference-editor .mall-gbreadcrumb h4 { margin:0; font-size:14px; font-weight:400; }
.next-admin .mall-goods-reference-editor .mall-gtabs { flex:none; height:50px; min-height:50px; box-sizing:border-box; margin:0 0 14px; padding:0 20px; gap:0; border:0; background:#fff; overflow:auto; }
.next-admin .mall-goods-reference-editor .mall-gtab { height:50px; min-height:50px; padding:0 20px; margin:0; font-size:14px; border:0; border-bottom:2px solid #e4e7ed; border-radius:0; }
.next-admin .mall-goods-reference-editor .mall-gtab:first-child { padding-left:0; }
.next-admin .mall-goods-reference-editor .mall-gtab.is-active { color:#409eff; border-bottom-color:#409eff; }
.next-admin .mall-goods-reference-editor .mall-product-scroll { flex:1; min-height:0; overflow:auto; padding:20px; background:#fff; scrollbar-gutter:stable; }
.next-admin .mall-goods-reference-editor .mall-product-section { padding:0; margin:0 0 24px; border:1px solid #ebeef5; border-radius:4px; background:#fff; overflow:visible; }
.next-admin .mall-goods-reference-editor .mall-fsection { display:flex; align-items:center; height:57px; margin:0; padding:18px 20px; border:0; border-bottom:1px solid #ebeef5; background:#fafafa; font-size:14px; }
.next-admin .mall-goods-reference-editor .mall-product-card-body { padding:20px; }
.next-admin .mall-goods-reference-editor .mall-frow { width:100%; box-sizing:border-box; grid-template-columns:160px minmax(0,1fr); gap:20px; padding:0; margin:0 0 18px; border:0; }
.next-admin .mall-goods-reference-editor .mall-flabel { padding:0; line-height:32px; font-weight:400; }
.next-admin .mall-goods-reference-editor .mall-fcontrol { gap:8px; min-height:32px; justify-content:center; align-items:flex-start; }
.next-admin .mall-goods-reference-editor .mall-fcontrol>input,
.next-admin .mall-goods-reference-editor .mall-fcontrol>textarea,
.next-admin .mall-goods-reference-editor .mall-fcount { width:100%; max-width:none; }
.next-admin .mall-goods-reference-editor input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),
.next-admin .mall-goods-reference-editor select { height:32px; min-height:32px; box-sizing:border-box; border:1px solid #dcdfe6; border-radius:4px; background:#fff; color:#606266; box-shadow:none; font-size:13px; }
.next-admin .mall-goods-reference-editor textarea { min-height:90px; padding:5px 15px; border:1px solid #dcdfe6; border-radius:4px; box-shadow:none; font-size:14px; }
.next-admin .mall-goods-reference-editor .mall-ftip { line-height:20px; margin:0; color:#909399; }
.next-admin .mall-goods-reference-editor .mall-fcontrol>button:not(.mall-switch):not(.mall-img-add),
.next-admin .mall-goods-reference-editor .goods-file-button { width:auto; min-width:0; height:32px; min-height:32px; box-sizing:border-box; padding:0 14px; line-height:30px; flex:none; border-radius:3px; box-shadow:none; font-size:12px; }
.next-admin .mall-goods-reference-editor .mall-product-media-control { display:flex; width:100%; gap:10px; align-items:center; }
.next-admin .mall-goods-reference-editor .mall-product-media-control>input { flex:1; width:0; min-width:0; }
.next-admin .mall-goods-reference-editor .mall-product-media-control .goods-file-button { display:inline-flex; align-items:center; justify-content:center; margin:0; color:#fff; background:#409eff; border:1px solid #409eff; position:relative; cursor:pointer; }
.next-admin .mall-goods-reference-editor .mall-product-media-control input[type=file] { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.next-admin .mall-goods-reference-editor .mall-category-picker summary { padding:0 15px; height:32px; line-height:32px; border-radius:3px; }
.next-admin .mall-goods-reference-editor .mall-fsave { flex:none; position:sticky; bottom:0; min-height:70px; box-sizing:border-box; padding:15px; margin:14px 0 0; border-radius:4px; box-shadow:none; }
.next-admin .mall-goods-reference-editor .mall-fsave button { height:40px; min-height:40px; padding:0 20px; min-width:68px; font-size:14px; }
.next-admin .mall-goods-reference-editor [data-goods-pane=sku]>.mall-product-card-body { display:flex; flex-direction:column; }
.next-admin .mall-goods-reference-editor .is-single-sku,
.next-admin .mall-goods-reference-editor .is-single-sku table,
.next-admin .mall-goods-reference-editor .is-single-sku tbody,
.next-admin .mall-goods-reference-editor .is-single-sku tr { display:contents; }
.next-admin .mall-goods-reference-editor .is-single-sku td[data-sku-label] { width:100%; box-sizing:border-box; display:grid; grid-template-columns:160px minmax(0,1fr); gap:20px; padding:0; margin:0 0 18px; height:auto; min-height:32px; border:0; }
.next-admin .mall-goods-reference-editor .is-single-sku td[data-sku-label]::before { padding:0; line-height:32px; }
.next-admin .mall-goods-reference-editor .is-single-sku input { width:100%; height:32px; }
.next-admin .mall-goods-reference-editor [data-goods-pane=sku] .mall-frow:has(#mallAdminGoodsUnit) { order:-18; }
.next-admin .mall-goods-reference-editor .is-single-sku [data-sku-field-cell=price] { order:-20; }
.next-admin .mall-goods-reference-editor .is-single-sku [data-sku-field-cell=market_price] { order:-19; }
.next-admin .mall-goods-reference-editor .is-single-sku [data-sku-field-cell=cost_price] { order:-17; }
.next-admin .mall-goods-reference-editor .is-single-sku [data-sku-field-cell=stock_total] { order:-16; }
.next-admin .mall-goods-reference-editor .is-single-sku [data-sku-field-cell=stock_alert] { order:-15; }
.next-admin .mall-goods-reference-editor .mall-promo-gift-options,
.next-admin .mall-goods-reference-editor .mall-related-picker { width:100%; }
.next-admin .mall-goods-reference-editor .mall-funit { max-width:100%; flex-wrap:wrap; }
.next-admin .mall-goods-reference-editor .mall-parameter-row { display:flex; gap:8px; }
.next-admin .mall-goods-reference-editor .mall-parameter-row input { width:0; flex:1; min-width:0; }
@media (min-width:1200px) {
  .next-admin .mall-goods-reference-editor .mall-frow,
  .next-admin .mall-goods-reference-editor .is-single-sku td[data-sku-label] { width:66.666667%; }
}
@media (min-width:1920px) {
  .next-admin .mall-goods-reference-editor .mall-frow,
  .next-admin .mall-goods-reference-editor .is-single-sku td[data-sku-label] { width:50%; }
}
@media (max-width:900px) {
  .next-admin #viewHost.admin-view-mall:has(.mall-product-editor-workspace) { padding:78px 0 0; }
  .next-admin #orderMain:has(.mall-product-editor-workspace) { padding:0 12px; }
  .next-admin .mall-goods-reference-editor .mall-product-scroll { padding:12px; }
  .next-admin .mall-goods-reference-editor .mall-product-card-body { padding:12px; }
  .next-admin .mall-goods-reference-editor .mall-frow,
  .next-admin .mall-goods-reference-editor .is-single-sku td[data-sku-label] { grid-template-columns:100px minmax(0,1fr); gap:12px; }
}
@media (max-width:560px) {
  .next-admin .mall-goods-reference-editor .mall-frow,
  .next-admin .mall-goods-reference-editor .is-single-sku td[data-sku-label] { grid-template-columns:minmax(0,1fr); }
  .next-admin .mall-goods-reference-editor .mall-flabel,
  .next-admin .mall-goods-reference-editor .is-single-sku td[data-sku-label]::before { text-align:left; }
}

.next-admin .mall-goods-reference-editor .mall-promo-types { display:inline-flex; align-items:center; gap:20px; white-space:nowrap; }
.next-admin .mall-goods-reference-editor .mall-promo-types label { display:inline-flex; align-items:center; gap:6px; margin:0; color:#606266; }
.next-admin .mall-goods-reference-editor .mall-promo-types input { margin:0; accent-color:#409eff; }
.next-admin .mall-goods-reference-editor .mall-funit:has(.mall-promo-types) { display:flex; width:100%; gap:20px; flex-wrap:nowrap; }
.next-admin .mall-goods-reference-editor .mall-funit:has(.mall-promo-types)>input { width:100px; flex:1; min-width:50px; }
.next-admin .mall-goods-reference-editor [data-mall-selected-categories]:empty { display:none; }
.next-admin .mall-goods-reference-editor [data-product-promotion-pane] { padding:20px; }

/* Reorder the existing brand-house cards without changing their layout. */
.entry-card.entry-sortable { cursor:grab; }
.entry-card.entry-sortable .entry-cover { touch-action:none; user-select:none; }
.entry-card.entry-sortable img { -webkit-user-drag:none; }
.entry-card.entry-dragging { opacity:.55; cursor:grabbing; }
.entry-card.entry-drop-target { outline:2px solid var(--primary, #409eff); outline-offset:2px; }

.entry-cover-placeholder { padding:16px; box-sizing:border-box; text-align:center; overflow-wrap:anywhere; overflow:hidden; }

.entry-batch-table .mall-pencil { border: 0; background: transparent; color: #409eff; padding: 0 4px; width: 22px; min-width: 22px; min-height: 22px; font-size: 16px; box-shadow: none; vertical-align: middle; }

/* Card batch categories stay inside the existing brand-house card workspace. */
.entry-category-workspace{display:flex;align-items:flex-start;gap:18px;margin-top:16px}
.entry-category-sidebar{flex:0 0 170px;border:1px solid #e9e1d9;border-radius:6px;padding:10px;background:#fff}
.entry-category-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px}
.entry-category-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;border-radius:4px;background:transparent;text-align:left;padding:11px 10px;margin:3px 0}
/* MALL-312:自建分类的上移/下移。两颗小键平时不占版面(悬停或聚焦才浮出),
   位置固定在右侧,不让分类名被挤短。选择器写到 .entry-category-sidebar 一级,
   免得被后台那几条泛 button 规则(min-width:72px 之类)压成大方块 —— MALL-310 刚栽过。 */
.entry-category-sidebar .entry-category-row{position:relative;display:flex;align-items:center}
.entry-category-sidebar .entry-category-row .entry-category-item{flex:1 1 auto;min-width:0;padding-right:44px}
.entry-category-sidebar .entry-category-order{position:absolute;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .12s}
.entry-category-sidebar .entry-category-row:hover .entry-category-order,
.entry-category-sidebar .entry-category-row:focus-within .entry-category-order{opacity:1}
.entry-category-sidebar .entry-category-order button{width:18px;height:18px;min-width:0;min-height:0;padding:0;border:0;border-radius:4px;background:rgba(24,24,22,.08);color:#5b5b57;font-size:11px;line-height:18px;box-shadow:none;cursor:pointer}
.entry-category-sidebar .entry-category-order button:hover:not(:disabled){background:rgba(24,24,22,.18);color:#1a1a18}
.entry-category-sidebar .entry-category-order button:disabled{opacity:.3;cursor:not-allowed}
.entry-category-item span{overflow-wrap:anywhere}.entry-category-item small{color:#8a8f98}
.entry-category-item.active{background:#fbefee;color:#9d2436;font-weight:600}
.entry-category-content{flex:1;min-width:0}.entry-category-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px;min-height:36px}
.entry-category-controls select{width:auto;max-width:180px}.entry-category-check{display:flex;align-items:center;gap:6px;white-space:nowrap}
.entry-category-check input[type=checkbox],.entry-batch-table input.entry-category-checkbox{width:16px;height:16px;min-width:16px;margin:0;padding:0;box-shadow:none}
.entry-batch-table .entry-category-select-col{width:66px;min-width:66px;box-sizing:border-box}.entry-category-error{color:#b42318;width:100%;font-size:13px}
.entry-batch-table tr[hidden]{display:none}
@media(max-width:760px){.entry-category-workspace{flex-direction:column}.entry-category-sidebar{flex:auto;width:100%;box-sizing:border-box}.entry-category-content{width:100%}.entry-category-item{display:inline-flex;width:auto;min-width:100px}.entry-category-controls{gap:6px}}

/* MALL-319 单选/复选框外面那个方框(老大 2026-09-22「去掉这个选择的方框」)。
   泛规则 `input, select, textarea` 一共有五条,其中一条给了
   `box-shadow: var(--premium-control-shadow)` —— 那是给输入框用的浮起效果,
   落到 radio 上就是圆圈外面凭空多出一个矩形阴影。
   ★真浏览器取证纠正了我的推测★:我原以为是 border,实测 radio 的 border 早已是 none,
   画出方框的是 box-shadow 与白底。按推测去改 border 会一点用都没有。
   只复位视觉,不碰尺寸(尺寸各处作用域规则自己管,动了会牵一大片)。 */
input[type="radio"],
input[type="checkbox"] {
  box-shadow: none;
  background-color: transparent;
}

/* Title-only editing in the redemption goods list. */
.goods-list-title { display: flex; align-items: center; gap: 4px; }
.goods-list-title .mall-pencil { border: 0; background: transparent; color: #409eff; padding: 0 4px; width: 22px; min-width: 22px; min-height: 22px; font-size: 16px; box-shadow: none; flex: 0 0 22px; }

/* Distribution order groups retain four researched columns, with local table scrolling. */
.distribution-order-workspace { min-width:0; background:#f2f3f5; }
.distribution-order-workspace .mall-admin-heading { background:#fff; padding:16px 20px; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.distribution-order-workspace .mall-admin-heading h3 { margin:0; font-size:15px; font-weight:500; }
.distribution-order-actions { display:flex; align-items:center; gap:16px; }
.distribution-order-body { padding:20px; background:#fff; }
.distribution-order-filters { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; }
.distribution-order-filters label { display:flex; align-items:center; gap:8px; margin:0; font-size:13px; white-space:nowrap; }
.distribution-order-workspace select,.distribution-order-workspace input { min-width:0; box-shadow:none; height:32px; min-height:32px; border:1px solid #e2e5e9; border-radius:3px; background:#fff; color:#606266; font-size:13px; padding:0 10px; width:auto; max-width:100%; }
.distribution-order-workspace input[type=date] { width:145px; }
.distribution-order-workspace input[aria-label="搜索内容"] { width:205px; }
.distribution-order-workspace button.primary { box-shadow:none; background:#409eff; color:#fff; border:1px solid #409eff; border-radius:3px; min-height:32px; padding:6px 16px; font-size:13px; }
.distribution-order-workspace button.distribution-order-clear { color:#409eff; background:transparent; border:0; padding:0; min-width:0; font-size:13px; }
.distribution-order-tabs { display:flex; overflow-x:auto; gap:28px; border-bottom:1px solid #e4e7ed; margin-top:26px; }
.distribution-order-tabs button { box-shadow:none; height:44px; flex:0 0 auto; background:transparent; color:#303133; border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 0; min-width:0; font-size:14px; }
.distribution-order-tabs button[aria-selected="true"] { color:#409eff; border-bottom-color:#409eff; }
.distribution-order-tabs button:disabled { color:#909399; cursor:not-allowed; }
.distribution-order-note { color:#909399; font-size:12px; margin:12px 0 20px; }
.distribution-order-workspace .mall-user-table-wrap { border:0; border-radius:0; box-shadow:none; margin:0; width:100%; }
.distribution-order-table { width:100%; min-width:950px; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:13px; color:#303133; }
.distribution-order-table th { background:#f5f6f8; height:40px; font-weight:400; text-align:center; }
.distribution-order-table th:first-child { width:52%; }
.distribution-order-table th:nth-child(2) { width:12%; }
.distribution-order-table th:nth-child(3) { width:16%; }
.distribution-order-table th:nth-child(4) { width:20%; }
.distribution-order-table td { background:#fff; text-align:left; border-bottom:1px solid #ebeef5; padding:16px; vertical-align:top; overflow-wrap:anywhere; }
.distribution-order-table td:not(:first-child) { text-align:center; }
.distribution-order-table .distribution-order-meta td { text-align:left; background:#f7f8fa; padding:12px 16px; border-top:16px solid #fff; }
.distribution-order-meta span { display:inline-block; margin-left:24px; color:#606266; }
.distribution-order-goods { display:flex; gap:12px; margin-bottom:12px; text-align:left; }
.distribution-order-goods img,.distribution-order-no-image { width:64px; height:64px; flex:0 0 64px; object-fit:cover; background:#f4f5f7; }
.distribution-order-no-image { display:flex; align-items:center; justify-content:center; color:#909399; font-size:11px; }
.distribution-order-goods strong { font-weight:400; }
.distribution-order-table small { display:block; font-size:12px; color:#909399; margin-top:6px; }
.distribution-order-reward { text-align:left; margin-bottom:12px; }
.distribution-order-reward summary { cursor:pointer; color:#409eff; }
.distribution-order-reward div { color:#606266; line-height:1.8; padding:8px 0; }
.distribution-order-table .mall-user-empty { text-align:center; height:100px; vertical-align:middle; border:1px solid #ebeef5; }
@media (max-width:700px) {
  .distribution-order-workspace .mall-admin-heading { flex-wrap:wrap; padding:14px; }
  .distribution-order-actions { gap:8px; flex-wrap:wrap; }
  .distribution-order-body { padding:14px; }
  .distribution-order-filters label { flex-wrap:wrap; white-space:normal; }
  .distribution-order-workspace input[type=date] { width:125px; }
  .distribution-order-tabs { gap:22px; }
}

/* User profile fields use the persisted customer avatar and a separate phone column. */
.mall-user-avatar { width:48px; height:48px; flex:0 0 48px; object-fit:cover; border-radius:4px; vertical-align:middle; margin-right:8px; }
.mall-user-directory-table .mall-user-mobile { position:sticky; right:0; min-width:120px; background:#fff; z-index:2; white-space:nowrap; }
.mall-user-directory-table th.mall-user-mobile { background:#f5f7fa; z-index:3; }

.admin-view-mall .mall-user-workspace .mall-user-directory-table .mall-user-actions { right:120px; min-width:250px; }
.admin-view-mall .mall-user-workspace .mall-user-directory-table .mall-user-mobile { min-width:120px; width:120px; max-width:120px; box-sizing:border-box; }
.admin-view-mall .mall-user-workspace .mall-user-merge-table { min-width:900px; table-layout:fixed; }
.admin-view-mall .mall-user-workspace .mall-user-deletion-table { min-width:1450px; table-layout:fixed; }
.mall-user-restore-dialog { width: 560px; max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); display: flex; flex-direction: column; margin: 0; }
.mall-user-restore-dialog .next-dialog-body { min-height: 0; overflow-y: auto; }
.mall-user-restore-dialog .next-dialog-head,
.mall-user-restore-dialog .next-dialog-foot { flex: 0 0 auto; }
.mall-user-restore-dialog .mall-user-profile > div { min-width: 0; overflow-wrap: anywhere; }
.mall-user-restore-dialog .mall-user-profile small { display: block; margin-top: 6px; color: #909399; }
.mall-user-restore-facts { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px 16px; margin: 20px 0; font-size: 14px; line-height: 1.6; }
.mall-user-restore-facts dt { color: #909399; }
.mall-user-restore-facts dd { margin: 0; overflow-wrap: anywhere; }
.mall-user-restore-note { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 18px 0 8px; font-size: 14px; }
.mall-user-restore-note .hint { margin: 0; }
.mall-user-restore-dialog .mall-user-restore-error { margin-top: 10px; color: #c83232; overflow-wrap: anywhere; }
.mall-user-restore-dialog .next-dialog-foot button { height: 36px; }
@media (max-width: 600px) {
  .mall-user-restore-dialog { max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
  .mall-user-restore-facts { grid-template-columns: 70px minmax(0, 1fr); gap: 10px; }
}
.mall-user-audit { margin-top:8px; font-size:12px; color:#909399; }
.mall-user-audit summary { cursor:pointer; }

.admin-view-mall .mall-user-workspace .mall-user-directory-table { min-width:1925px; table-layout:fixed; }

.admin-view-mall .mall-user-workspace .mall-member-purchases-table { min-width:1304px; table-layout:fixed; }
#memberPurchaseQuery { min-width:280px; }

.admin-view-mall .mall-user-workspace .mall-user-pager button { height:28px; padding:0 9px; box-shadow:none; }
.admin-view-mall .mall-user-workspace button:hover { box-shadow:none; }
.admin-view-mall .mall-user-workspace .mall-user-directory-table td.mall-user-actions { z-index:1; }
@media(max-width:760px) {
  .admin-view-mall .mall-user-workspace .mall-user-directory-table .mall-user-actions,
  .admin-view-mall .mall-user-workspace .mall-user-directory-table .mall-user-mobile { position:static; }
}

.admin-view-mall .mall-user-workspace .mall-user-directory-table[data-selectable] { min-width:1980px; }
.admin-view-mall .mall-user-workspace .mall-user-selection { padding:12px; text-align:center; }
.admin-view-mall .mall-user-workspace .mall-user-selection input { appearance:auto; width:14px; height:14px; min-width:0; padding:0; margin:0; accent-color:#409eff; }
.admin-view-mall .mall-user-workspace .mall-user-bulk-actions { display:flex; align-items:center; gap:12px; padding:0 20px 16px; color:#606266; font-size:12px; }

.admin-view-mall .mall-user-workspace .mall-clerk-record-table { min-width:1304px; table-layout:fixed; }
.admin-view-mall .mall-user-workspace .mall-clerk-operations { margin:20px; padding:16px; border:1px solid #ebeef5; border-radius:4px; }
.admin-view-mall .mall-user-workspace .mall-clerk-operations > summary { color:#409eff; cursor:pointer; font-size:14px; }

.admin-view-mall .mall-user-workspace .mall-clerk-roster-table { min-width:1304px; table-layout:fixed; }

.admin-view-mall .mall-user-workspace .mall-member-level-table { min-width:1304px; table-layout:fixed; }
.admin-view-mall .mall-member-editor-tabs { display:flex; gap:28px; padding:0 24px; border-bottom:1px solid #ebeef5; }
.admin-view-mall .mall-member-editor-tabs button { border:0; border-radius:0; background:transparent; color:#606266; min-width:0; padding:16px 0; }
.admin-view-mall .mall-member-editor-tabs button[aria-selected="true"] { color:#409eff; border-bottom:2px solid #409eff; }
.admin-view-mall .mall-member-editor [role="tabpanel"][hidden] { display:none; }
.admin-view-mall .mall-member-editor [role="tabpanel"] { border:0; margin:20px; min-width:0; }
.admin-view-mall .mall-member-assignments > summary { cursor:pointer; color:#409eff; padding:16px; }
@media(max-width:760px) {
  .admin-view-mall .mall-member-editor .dist-row { display:flex; flex-wrap:wrap; gap:10px; }
  .admin-view-mall .mall-member-editor .dist-opts { min-width:0; flex-wrap:wrap; }
  .admin-view-mall .mall-member-editor textarea { max-width:100%; }
}

/* User labels: reference four-column hierarchy; scrolling stays inside the table. */
.admin-view-mall .mall-label-workspace .mall-label-table { min-width:920px; table-layout:fixed; }
.admin-view-mall .mall-label-name { display:flex; align-items:center; gap:8px; overflow-wrap:anywhere; }
.admin-view-mall .mall-label-name.is-child { padding-left:26px; }
.admin-view-mall .mall-label-name.is-grandchild { padding-left:52px; }
.admin-view-mall .mall-label-name .mall-label-toggle { border:0; padding:0; width:20px; min-width:20px; height:24px; background:transparent; color:#606266; }
.admin-view-mall .mall-label-leaf { display:inline-block; width:20px; color:#909399; }
.admin-view-mall .mall-label-workspace .mall-label-count,
.admin-view-mall .mall-label-workspace .mall-label-actions button { border:0; padding:4px 8px; background:transparent; color:#409eff; box-shadow:none; }
.admin-view-mall .mall-label-rule { margin:7px 0 0 28px; font-size:12px; color:#909399; }
.admin-view-mall .mall-label-rule summary,.admin-view-mall .mall-label-bind summary { cursor:pointer; }
.admin-view-mall .mall-label-bind { margin:20px; border:1px solid #ebeef5; border-radius:4px; padding:14px; font-size:13px; color:#606266; }
.admin-view-mall .mall-label-bind .mall-user-filter-row { padding:14px 0 0; }
.admin-view-mall .mall-label-modal { padding:16px; }
.admin-view-mall .mall-label-editor { width:640px; max-width:100%; max-height:calc(100dvh - 32px); overflow:auto; background:white; border-radius:4px; box-shadow:0 8px 28px #0003; padding:24px; }
.admin-view-mall .mall-label-editor .dist-row { display:flex; flex-wrap:wrap; gap:10px; }
.admin-view-mall .mall-label-editor .dist-opts { min-width:0; flex:1; flex-wrap:wrap; }
.admin-view-mall .mall-label-editor input,.admin-view-mall .mall-label-editor select { max-width:100%; min-width:0; }
@media(max-width:760px) {
  .admin-view-mall .mall-label-editor { padding:16px; }
  .admin-view-mall .mall-label-editor .dist-label { width:100%; }
}

/* MALL-383: application appearance editor; narrow screens retain a single-column form. */
.distribution-custom-panel { max-width:1240px; margin:0 auto; }
.distribution-custom-tab { padding:16px 0; border-bottom:2px solid #409eff; width:max-content; color:#409eff; margin-bottom:24px; }
.distribution-custom-layout { display:grid; grid-template-columns:320px minmax(0,1fr); gap:32px; align-items:start; }
.distribution-custom-phone { background:#fff; border:1px solid #e2e6eb; padding:20px; text-align:center; overflow:hidden; }
.distribution-custom-phone h3 { margin:18px 0; overflow-wrap:anywhere; }
.distribution-custom-phone p,.distribution-custom-phone small { color:#909399; }
.distribution-custom-phone button { display:block; width:100%; padding:12px 20px; margin:20px 0; border:0; opacity:1; overflow-wrap:anywhere; }
.distribution-custom-art { display:block; width:100%; height:auto; }
.distribution-custom-sample { border:1px solid #e2e6eb; color:#909399; padding:20px; text-align:left; }
.distribution-custom-settings { min-width:0; padding:24px; background:#fff; border:1px solid #ebeef5; }
.distribution-custom-settings fieldset { border:0; min-width:0; margin:0; padding:0; }
.distribution-custom-settings legend,.distribution-custom-settings h3 { font-size:16px; font-weight:600; padding:0; margin:16px 0; }
.distribution-custom-settings label { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; align-items:center; margin:18px 0; }
.distribution-custom-settings input { min-width:0; width:100%; }
.distribution-custom-settings input[type=color] { width:64px; padding:3px; height:36px; }
.distribution-custom-settings label:has([type=range]) { display:flex; flex-wrap:wrap; gap:8px; }
.distribution-custom-settings input[type=range] { flex:1 1 160px; }
.distribution-custom-image { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:16px 0; }
.distribution-custom-image img { width:72px; height:72px; object-fit:contain; border:1px solid #ebeef5; }
.distribution-custom-actions { display:flex; gap:12px; margin-top:20px; }
.distribution-custom-settings [role=alert] { color:#d93025; overflow-wrap:anywhere; }
@media (max-width:800px) { .distribution-custom-layout { grid-template-columns:minmax(0,1fr); gap:20px; } .distribution-custom-phone { max-width:320px; margin:auto; width:100%; box-sizing:border-box; } .distribution-custom-settings { padding:16px; } }

/* MALL-383: owner distributor directory and ranking, with independent scrollable tables. */
.admin-view-mall .distribution-directory-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 0 20px 20px; }
.admin-view-mall .distribution-directory-filters label { display: flex; flex-direction: column; gap: 6px; color: #606266; font-size: 12px; }
.admin-view-mall .distribution-directory-filters select { min-width: 120px; }
.admin-view-mall .distribution-directory-search { flex: 1 1 250px; max-width: 360px; }
.admin-view-mall .distribution-directory-workspace .distribution-order-tabs { margin: 0 20px; }
.admin-view-mall .distribution-directory-workspace .distribution-order-note { padding: 12px 20px; margin: 0; }
.admin-view-mall .distribution-directory-workspace .distribution-directory-table { min-width: 1800px; }
.admin-view-mall .distribution-directory-workspace .distribution-ranking-table { min-width: 1260px; }
.admin-view-mall .distribution-directory-table small,
.admin-view-mall .distribution-ranking-table small { display: block; color: #909399; font-size: 12px; line-height: 1.7; }
.admin-view-mall .distribution-directory-identity { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.admin-view-mall .distribution-directory-identity .mall-user-avatar,
.admin-view-mall .distribution-directory-identity .mall-user-avatar-empty { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; object-fit: cover; border-radius: 6px; background: #f4f5f7; color: #909399; font-size: 10px; }
.admin-view-mall .distribution-directory-team { min-width: 130px; }
.admin-view-mall .distribution-directory-team span { display: block; line-height: 1.8; color: #606266; }
.admin-view-mall .distribution-directory-team b { float: right; font-weight: 500; color: #303133; }
.admin-view-mall .distribution-directory-status { display: inline-block; padding: 3px 8px; border-radius: 3px; background: #f4f4f5; color: #606266; white-space: nowrap; }
.admin-view-mall .distribution-directory-status.is-active { background: #f0f9eb; color: #529b2e; }
.admin-view-mall .distribution-directory-status.is-pending { background: #fdf6ec; color: #a96d16; }
.admin-view-mall .distribution-directory-status.is-rejected { background: #fef0f0; color: #c45656; }
.admin-view-mall .distribution-directory-remark { min-width: 120px; max-width: 220px; white-space: normal; overflow-wrap: anywhere; }
.admin-view-mall .distribution-directory-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 200px; max-width: 240px; }
.admin-view-mall .distribution-directory-actions .dist-level-set { display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 760px) {
  .admin-view-mall .distribution-directory-search { flex-basis: 100%; max-width: none; }
  .admin-view-mall .distribution-directory-workspace .mall-commission-log-pagination { flex-wrap: wrap; }
}

/* MALL-383: distributor levels follow the reference list and separate editor. */
.admin-view-mall .mall-user-workspace .mall-distribution-level-table { min-width:1310px; table-layout:fixed; }
.admin-view-mall .mall-distribution-level-actions { white-space:nowrap; }
.admin-view-mall .mall-distribution-level-actions button { border:0; background:transparent; color:#409eff; min-width:0; padding:5px 8px; box-shadow:none; }
.admin-view-mall .mall-distribution-level-status { color:#909399; }
.admin-view-mall .mall-distribution-level-status.is-enabled { color:#409eff; }
.admin-view-mall .mall-distribution-level-breadcrumb { display:flex; align-items:center; gap:12px; }
.admin-view-mall .mall-distribution-level-breadcrumb button { border:0; background:transparent; color:#409eff; padding:0; min-width:0; }
.admin-view-mall .mall-distribution-level-editor .dist-fieldset { padding:24px; }
.admin-view-mall .mall-distribution-level-editor .dist-opts { min-width:0; flex-wrap:wrap; }
.admin-view-mall .mall-distribution-level-editor input { max-width:100%; }
.admin-view-mall .mall-distribution-level-note { flex-basis:100%; color:#909399; line-height:1.8; }
.admin-view-mall .mall-distribution-level-editor .mall-decoration-toolbar { padding:0 24px 24px; }
@media(max-width:760px) {
  .admin-view-mall .mall-distribution-level-breadcrumb { flex-wrap:wrap; gap:8px; }
  .admin-view-mall .mall-distribution-level-editor .dist-fieldset { padding:16px; }
  .admin-view-mall .mall-distribution-level-workspace .mall-user-filters input { min-width:0; max-width:100%; }
}

/* User import history: show the source times and preserve local horizontal scrolling. */
.admin-view-mall .mall-user-import-workspace .mall-user-import-access { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 20px; color: #606266; background: #f5f7fa; font-size: 13px; }
.admin-view-mall .mall-user-import-workspace .mall-user-import-table { min-width: 1050px; }
.admin-view-mall .mall-user-import-workspace .mall-import-time-range { flex-wrap: wrap; }
.admin-view-mall .mall-user-import-workspace .mall-import-time-range input { width: 205px; }
.admin-view-mall .mall-user-import-workspace .mall-user-import-table small { display: block; margin-top: 5px; color: #909399; }
@media (max-width: 760px) {
  .admin-view-mall .mall-user-import-workspace .mall-import-time-range { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); }
  .admin-view-mall .mall-user-import-workspace .mall-import-time-range input { width: 100%; box-sizing: border-box; }
}
/* MALL-418: reference withdrawal workspace and bounded detail drawer. */
.mall-withdrawal-workspace { padding:24px; display:block; min-width:0; }
.mall-withdrawal-workspace .mall-statement-filters input { flex:none; width:190px; height:32px; }
.mall-withdrawal-workspace .mall-statement-filters input[name="query"] { flex:none; width:240px; }
.admin-view-mall .mall-withdrawal-workspace .distribution-order-tabs { margin:0 20px; padding:0; gap:28px; }
.admin-view-mall .mall-withdrawal-workspace .distribution-order-tabs button { height:48px; border:0; border-bottom:2px solid transparent; border-radius:0; padding:0; box-shadow:none; }
.admin-view-mall .mall-withdrawal-workspace .distribution-order-tabs button[aria-selected="true"] { color:#409eff; border-bottom-color:#409eff; }
.admin-view-mall .mall-withdrawal-workspace .mall-withdrawal-table { min-width:1360px; }
.mall-withdrawal-table th { background:#f5f7fa; }
.mall-withdrawal-table td { vertical-align:top; max-width:250px; overflow-wrap:anywhere; }
.mall-withdrawal-table small,.mall-withdrawal-table strong { display:block; margin-top:6px; }
.admin-view-mall .mall-withdrawal-table button { border:0; color:#409eff; background:transparent; padding:5px; display:block; }
.mall-withdrawal-failed { background:#fff0f0; color:#b3261e; }
.mall-withdrawal-overlay { position:fixed; inset:0; z-index:1300; background:#0006; display:flex; justify-content:flex-end; }
.mall-withdrawal-dialog { width:min(620px,100%); height:100%; overflow:auto; padding:24px; box-sizing:border-box; background:white; box-shadow:-8px 0 32px #0002; }
.mall-withdrawal-dialog dl>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid #eee; }
.mall-withdrawal-dialog dt { color:#777; }.mall-withdrawal-dialog dd { margin:0; overflow-wrap:anywhere; }
.mall-withdrawal-dialog fieldset { border:0; padding:0; min-width:0; }
.mall-withdrawal-dialog label { display:flex; flex-direction:column; gap:8px; margin:16px 0; }
.mall-withdrawal-dialog input,.mall-withdrawal-dialog textarea { width:100%; box-sizing:border-box; }
.mall-withdrawal-dialog [role=alert] { color:#b3261e; overflow-wrap:anywhere; }
.mall-withdrawal-events { padding-left:20px; }.mall-withdrawal-events li { padding:12px 0; }.mall-withdrawal-events time { display:block; color:#777; margin-bottom:6px; }
@media(max-width:600px){.mall-withdrawal-workspace {padding:12px;}.mall-withdrawal-dialog {padding:16px;}.mall-withdrawal-workspace .mall-statement-filters label {width:100%;}.mall-withdrawal-workspace .mall-statement-filters input {min-width:0;}}

/* MALL-422: bounded statement drilldown and data/download navigation. */
.mall-statement-entries { margin-top:24px; padding-top:18px; border-top:1px solid #e5e7eb; }
.admin-view-mall .mall-user-workspace.mall-statement-workspace .mall-statement-entries .mall-user-table { min-width:780px; }
.mall-statement-entries h4 { margin:0; }
.mall-report-download-link { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:12px 0; }
.mall-report-download-link small { color:#909399; }
@media(max-width:600px) { .mall-statement-entries .mall-admin-heading { align-items:flex-start; flex-wrap:wrap; gap:10px; } }

/* MALL-383: user-directory batch member assignment. */
.mall-user-member-dialog { width: 560px; max-width: calc(100% - 48px); max-height: calc(100dvh - 24px); display: flex; flex-direction: column; margin: 0; }
.mall-user-member-dialog .next-dialog-body { overflow-y: auto; min-height: 0; }
.mall-user-member-dialog .next-dialog-head, .mall-user-member-dialog .next-dialog-foot { flex-shrink: 0; }
.mall-user-member-dialog label { display: block; margin: 20px 0 10px; }
.mall-user-member-dialog select { width: 100%; min-width: 0; box-sizing: border-box; }
.mall-user-member-dialog .mall-user-member-error { color: #c83232; overflow-wrap: anywhere; }
.admin-view-mall .mall-user-workspace .mall-user-bulk-actions { flex-wrap: wrap; }

.mall-user-point-dialog input, .mall-user-point-dialog textarea { width: 100%; min-width: 0; box-sizing: border-box; }
.mall-user-point-dialog textarea { resize: vertical; }
.mall-user-point-summary { font-weight: 600; overflow-wrap: anywhere; }

.mall-user-point-history { width: 840px; }
.mall-user-point-ledger { overflow-x: auto; }
.mall-user-point-ledger table { min-width: 650px; width: 100%; border-collapse: collapse; }
.mall-user-point-ledger th, .mall-user-point-ledger td { padding: 10px; border-bottom: 1px solid #ebeef5; text-align: left; }

/* Brand-house SKU values and their edit controls stay on the same line. */
.goods-list-table .goods-sku-heading, .goods-list-table .goods-sku-cell { min-width: 300px; width: 340px; }
.goods-list-sku { display: grid; grid-template-columns: minmax(170px, 1fr) 100px; gap: 12px; align-items: start; }
.goods-sku-cell .goods-list-sku + .goods-list-sku { border-top: 1px solid #ebeef5; padding-top: 8px; margin-top: 8px; }
.goods-sku-value { display: flex; align-items: center; gap: 4px; min-width: 0; }
.goods-sku-value > span { white-space: normal; overflow-wrap: anywhere; }
.goods-sku-value .mall-pencil { border: 0; background: transparent; color: #409eff; padding: 0 4px; width: 24px; min-width: 24px; min-height: 24px; font-size: 16px; box-shadow: none; flex: 0 0 24px; }
.goods-sku-value .mall-pencil:focus-visible { outline: 2px solid #409eff; outline-offset: 2px; }
/* ADR-092 / MALL-927:列表里套餐名称显示在规格上方;编辑页「视频和介绍」开关与说明同一行,窄了换行。 */
.goods-sku-package { color: #303133; font-weight: 600; overflow-wrap: anywhere; }
.goods-detail-media-switch { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.goods-xietianyao-list { min-width: 1360px; }
.goods-list-sku { text-align: left; }
.goods-list-name-cell > div { min-width: 0; }

/* Shared admin presentation. Keep compact row actions, switches and business states intact. */
.next-admin {
  --admin-control-height: 38px;
  --admin-focus-ring: #b45a65;
}

:is(.toolbar, .filter-container, .order-filter-panel, .mall-user-filters, .mall-statement-filters) {
  row-gap: 12px;
}

:is(.toolbar, .filter-container, .order-filter-panel, .mall-user-filters, .mall-statement-filters)
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]), select, button) {
  height: var(--admin-control-height, 38px);
  min-height: var(--admin-control-height, 38px);
  border-radius: 7px;
  font-size: 13px;
}

.order-filter-panel {
  gap: 14px 18px;
  padding: 20px;
}

.order-filter-actions {
  padding-left: 0;
  flex-wrap: wrap;
}

.mall-admin-heading > div,
.mall-admin-block-head > div {
  min-width: 0;
}

.mall-admin-heading h3,
.mall-admin-block-head h4 {
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.mall-admin-heading p,
.mall-admin-block-head span {
  font-size: 13px;
  line-height: 1.7;
}

.mall-admin-form-grid label {
  gap: 8px;
  font-size: 13px;
  line-height: 1.6;
}

.mall-admin-form-grid :is(input, select, textarea) {
  min-width: 0;
  max-width: 100%;
}

.mall-admin-table th,
.mall-admin-table td {
  padding: 13px 14px;
  line-height: 1.65;
}

.mall-admin-table th {
  color: #596579;
  background: var(--figma-v2-table-head);
  font-size: 13px;
  font-weight: 600;
}

.next-dialog-head,
.next-dialog-foot {
  padding: 16px 20px;
  flex-shrink: 0;
  border-color: var(--figma-v2-line);
}

.next-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: auto;
  min-height: 56px;
}
.next-dialog-head strong { font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.next-dialog-head > button {
  position: static;
  flex: 0 0 32px;
  min-width: 32px;
  width: 32px;
  height: 32px;
  min-height: 32px;
  margin-left: auto;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #667085;
  box-shadow: none;
}
.next-dialog-body { padding: 20px; min-width: 0; }
.next-dialog-foot { flex-wrap: wrap; gap: 10px; background: #fafbfc; }
.next-dialog-foot button { min-height: 36px; border-radius: 7px; }
.next-dialog-body :is(input, select, textarea) { max-width: 100%; }

/* Keep compact settings, grouped actions and pagination readable on every panel. */
.mall-store-panel > header { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 10px; }
.mall-store-panel > header > :is(h3, div:first-child) { margin-right: auto; }
.mall-navigation-pagination, .mall-store-count, .admin-view-mall .pagination {
  display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap;
  gap: 10px; padding-top: 18px; line-height: 32px;
}
.mall-navigation-pagination :is(button, input), .mall-store-count button { min-height: 32px; }
.mall-navigation-pagination input { max-width: 64px; text-align: center; }
.mall-store-panel > .mall-store-search { margin-bottom: 18px; }

/* Embedded product editors use panel width, independent of the browser width. */
.entry-editor-form, .entry-redeem-goods-section { min-width: 0; }
.entry-redeem-goods-section .goods-workspace { margin: 0; min-height: 0; }
.entry-redeem-goods-section .goods-main { min-width: 0; padding: 16px; }
.entry-redeem-goods-section :is(.goods-list-panel, .goods-category-panel) { overflow-x: auto; }
.entry-redeem-goods-section .panel-head { flex-wrap: wrap; gap: 12px; }
.entry-redeem-goods-section .panel-head h2 { flex-shrink: 0; }
.entry-redeem-goods-section .toolbar { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.entry-redeem-goods-section .toolbar input { max-width: 100%; }
.goods-editor-panel .goods-form-content { min-width: 0; }
.goods-editor-panel .goods-form-content > :is(input, select, textarea) { max-width: 100%; }
.goods-attr-scroll { margin-bottom: 12px; }
.goods-attr-scroll .goods-attr-table { margin-bottom: 0; }

@container entry-editor (max-width: 1100px) {
  .entry-editor-body { grid-template-columns: minmax(0, 1fr); }
  .entry-editor-form { grid-row: 1; }
  .entry-phone-preview { max-width: 100%; margin: 0 auto; }
}

@container entry-editor (max-width: 600px) {
  .entry-redeem-goods-section { padding: 0; border: 0; box-shadow: none; }
}

@container goods-workspace (max-width: 820px) {
  .goods-subnav { position: static; min-height: 0; display: flex; flex-wrap: wrap; padding: 8px; }
  .goods-subnav button { width: auto; flex: 0 0 auto; }
  .goods-main { grid-column: 1 / -1; }
  .goods-subnav { grid-column: 1 / -1; }
  .entry-redeem-goods-section .goods-main { padding: 12px; }
  .goods-main .goods-editor-panel { padding: 0; border: 0; box-shadow: none; }
  .goods-xty-form-page { padding: 16px 12px; }
}

@container goods-form (max-width: 850px) {
  .goods-two-col { grid-template-columns: 126px minmax(0, 1fr); row-gap: 12px; }
}

@container goods-form (max-width: 520px) {
  .goods-editor-panel .goods-form-item { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
  .goods-editor-panel .goods-form-label { width: auto; flex-basis: auto; padding-top: 0; text-align: left; }
  .goods-editor-panel .goods-form-content { width: 100%; }
  .goods-origin-region { flex-wrap: wrap; }
}

@container card-config (max-width: 1000px) {
  .enterprise-exchange-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .enterprise-decoration-panel { grid-row: 1; }
  .enterprise-phone-preview { max-width: 100%; margin: 0 auto; }
  .enterprise-login-panel { min-width: 0; }
}

/* A keyboard focus indicator also applies to reference-specific controls. */
.next-admin :is(button, a, input, select, textarea, summary):focus-visible,
.next-dialog :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--admin-focus-ring, #b45a65);
  outline-offset: 2px;
}

.next-admin :is(input, select, textarea):disabled {
  color: #667085;
  background-color: #f2f4f7;
  cursor: not-allowed;
}

.next-admin button:disabled,
.next-dialog button:disabled {
  cursor: not-allowed;
  box-shadow: none;
}

.next-admin .top-nav button[data-busy-disabled]:disabled {
  cursor: pointer;
}

@media (max-width: 720px) {
  .top-nav { scrollbar-width: none; }
  .order-filter-panel { padding: 16px; }
  .mall-admin-heading, .mall-admin-block-head { gap: 12px; }
  .mall-admin-heading > div:last-child { max-width: 100%; flex-wrap: wrap; }
  .admin-view-mall .mall-user-workspace .mall-user-filters {
    gap: 12px;
    padding: 16px;
  }
  .admin-view-mall .mall-user-workspace .mall-user-filters > select {
    flex: 1 1 130px;
  }
  .admin-view-mall .mall-user-workspace #mallUserQuery {
    flex-basis: 100%;
    max-width: none;
  }
  .admin-view-mall .mall-user-workspace .mall-user-date-range:has(.mall-date-label) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    gap: 8px;
  }
  .mall-user-date-range .mall-date-label { grid-column: 1 / -1; }
  .admin-view-mall .mall-user-workspace .mall-user-date-range:has(.mall-date-label) input {
    width: 100%;
    min-width: 0;
  }
  .next-dialog-head, .next-dialog-body, .next-dialog-foot { padding: 16px; }
}

/* MALL-434: activity order reports share the bounded report layout. */
.next-admin .mall-activity-report .mall-statement-filters input { flex: none; width: 100%; box-sizing: border-box; }
.next-admin .mall-activity-report .mall-user-table { min-width: 1100px; }
.next-admin .mall-activity-report td small { display: block; margin-top: 6px; color: #718096; }
.next-admin .mall-activity-report .mall-report-order-link { border: 0; background: transparent; color: #2767b0; padding: 0; text-align: left; cursor: pointer; }
@media (max-width: 640px) {
  .next-admin .mall-activity-report .mall-statement-filters label { width: 100%; flex: 1 1 100%; }
  .next-admin .mall-activity-report .mall-admin-heading { align-items: flex-start; gap: 12px; flex-wrap: wrap; }
}

/* MALL-436: keep the activity list primary and the editor usable on narrow screens. */
.next-admin .mall-full-reduce-workspace details { margin: 16px 0; padding: 16px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fafbfd; }
.next-admin .mall-full-reduce-workspace summary { cursor: pointer; font-weight: 600; color: #24384e; }
.next-admin .mall-full-reduce-workspace details > .hint { margin: 14px 0; }
.next-admin .mall-full-reduce-workspace .mall-full-reduce-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.next-admin .mall-full-reduce-workspace label { min-width: 0; }
.next-admin .mall-full-reduce-workspace input, .next-admin .mall-full-reduce-workspace select { flex: none; width: 100%; min-width: 0; box-sizing: border-box; }
.next-admin .mall-full-reduce-workspace .mall-admin-table { min-width: 850px; }
.next-admin .mall-full-reduce-workspace .mall-admin-heading { gap: 12px; flex-wrap: wrap; }
@media (max-width: 700px) {
  .next-admin .mall-full-reduce-workspace .mall-full-reduce-form { grid-template-columns: minmax(0, 1fr); }
  .next-admin .mall-full-reduce-workspace .mall-statement-filters label { width: 100%; flex: 1 1 100%; }
}
.mall-full-reduce-workspace .mall-fr-goods-picker{grid-column:1/-1;min-width:0;border:1px solid #e3e8ef;border-radius:10px;padding:14px;background:#fafbfc}
.next-admin .mall-full-reduce-workspace label[hidden] { display:none; }
.mall-full-reduce-workspace .mall-fr-tiers{grid-column:1/-1;min-width:0;border:1px solid #e3e8ef;border-radius:10px;padding:14px;background:#fafbfc}
.mall-full-reduce-workspace .mall-fr-tier{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}
.mall-full-reduce-workspace .mall-fr-tier strong{align-self:center;font-size:13px}
.mall-full-reduce-workspace .mall-fr-tier input{width:100%;min-width:0}
@media(max-width:640px){.mall-full-reduce-workspace .mall-fr-tier{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mall-full-reduce-workspace .mall-fr-tier strong{grid-column:1/-1}.mall-full-reduce-workspace .mall-fr-tier button{grid-column:1/-1;justify-self:start}}
.mall-full-reduce-workspace .mall-fr-picker-tools{display:flex;gap:12px;align-items:end;margin-top:12px;flex-wrap:wrap}
.mall-full-reduce-workspace .mall-fr-picker-tools label{flex:1;min-width:160px}
.mall-full-reduce-workspace .mall-fr-selected{margin:4px 6px 4px 0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.mall-full-reduce-workspace .mall-fr-goods-list{max-height:280px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:8px}
.mall-full-reduce-workspace .mall-fr-goods-list label{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e3e8ef;background:#fff;border-radius:8px;min-width:0}
.mall-full-reduce-workspace .mall-fr-goods-list input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0}
.mall-full-reduce-workspace .mall-fr-goods-list span{min-width:0;overflow-wrap:anywhere}
.mall-full-reduce-workspace .mall-fr-goods-list small{display:block;color:#66758b;margin-top:4px}

/* MALL-438: full-gift editor shares the promotion grid and contained table scroll. */
.next-admin .mall-full-gift-workspace details { margin: 16px 0; padding: 16px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fafbfd; }
.next-admin .mall-full-gift-workspace summary { cursor: pointer; font-weight: 600; color: #24384e; }
.next-admin .mall-full-gift-workspace details > .hint { margin: 14px 0; }
.next-admin .mall-full-gift-workspace .mall-full-gift-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.next-admin .mall-full-gift-workspace label { min-width: 0; }
.next-admin .mall-full-gift-workspace input, .next-admin .mall-full-gift-workspace select { flex: none; width: 100%; min-width: 0; box-sizing: border-box; }
.next-admin .mall-full-gift-workspace .mall-admin-table { min-width: 850px; }
.next-admin .mall-full-gift-workspace .mall-admin-heading { gap: 12px; flex-wrap: wrap; }
@media (max-width: 700px) {
  .next-admin .mall-full-gift-workspace .mall-full-gift-form { grid-template-columns: minmax(0, 1fr); }
  .next-admin .mall-full-gift-workspace .mall-statement-filters label { width: 100%; flex: 1 1 100%; }
}

.next-admin .mall-full-gift-form label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.next-admin .mall-fg-actions { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }

/* Automatic coupon plans share the marketing form scale. */
.mall-auto-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; max-width:900px; }
.mall-auto-form label { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:13px; }
.mall-auto-form label[hidden] { display:none; }
.mall-auto-form input,.mall-auto-form select { width:100%; min-width:0; box-sizing:border-box; }
@media(max-width:640px) { .mall-auto-form { grid-template-columns:1fr; } }

/* Automatic coupon records keep their columns inside the card on narrow screens. */
.mall-coupon-auto-workspace { min-width: 0; }
.mall-coupon-auto-workspace .mall-admin-table-wrap { max-width: 100%; overflow-x: auto; }
.mall-coupon-auto-workspace .mall-admin-table { min-width: 860px; }

.mall-coupon-instructions-field { grid-column: 1 / -1; }
.mall-coupon-instructions-field textarea { width: 100%; min-width: 0; min-height: 110px; resize: vertical; box-sizing: border-box; }

/* MALL-450: full-gift participating goods selector. */
.next-admin .mall-full-gift-workspace #mallFgGoodsPicker[hidden] { display: none; }
.next-admin .mall-full-gift-workspace .mall-fg-goods-picker,
.mall-coupon-editor .mall-fg-goods-picker { grid-column: 1/-1; min-width: 0; border: 1px solid #e3e8ef; border-radius: 10px; padding: 14px; background: #fafbfc; }
.next-admin .mall-full-gift-workspace .mall-fg-selected-list,
.mall-coupon-editor .mall-fg-selected-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.next-admin .mall-full-gift-workspace .mall-fg-selected-list button,
.mall-coupon-editor .mall-fg-selected-list button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.next-admin .mall-full-gift-workspace .mall-fg-goods-list,
.mall-coupon-editor .mall-fg-goods-list { max-height: 280px; overflow: auto; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(230px,100%),1fr)); gap: 8px; }
.next-admin .mall-full-gift-workspace .mall-fg-goods-list label,
.mall-coupon-editor .mall-fg-goods-list label { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e3e8ef; background: #fff; border-radius: 8px; min-width: 0; }
.next-admin .mall-full-gift-workspace .mall-fg-goods-list input[type=checkbox],
.mall-coupon-editor .mall-fg-goods-list input[type=checkbox] { width: 16px; height: 16px; min-height:16px; padding:0; flex: 0 0 16px; }
.next-admin .mall-full-gift-workspace .mall-fg-goods-list span,
.mall-coupon-editor .mall-fg-goods-list span { min-width: 0; overflow-wrap: anywhere; }
.next-admin .mall-full-gift-workspace .mall-fg-goods-list small,
.mall-coupon-editor .mall-fg-goods-list small { display: block; color: #8492a6; margin-top: 4px; }

/* MALL-454 full-gift coupon selection keeps titles and counts separate. */
.mall-fg-coupon-picker { grid-column: 1 / -1; min-width: 0; }
.mall-fg-coupon-picker h4 { margin: 8px 0; }
#mallFgCoupons { max-height: 280px; overflow: auto; }
.mall-fg-coupon-row { display: grid; grid-template-columns: minmax(0,1fr) 76px 60px; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid #edf0f5; }
.mall-fg-coupon-row label, .mall-fg-physical { display: flex !important; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.mall-fg-coupon-row input[type=checkbox], .mall-fg-physical input { width: auto !important; }
.mall-full-gift-records { margin-top: 16px; }

/* MALL-456: editable customer-choice gift candidates */
.mall-fg-physical-list { grid-column: 1 / -1; min-width: 0; }
.mall-fg-choice-row { display: grid; grid-template-columns: minmax(160px, 1fr) 110px 110px auto; gap: 12px; align-items: end; padding: 12px 0; border-bottom: 1px solid #e8edf3; }
.mall-fg-choice-row strong { overflow-wrap: anywhere; align-self: center; }
@media (max-width: 640px) { .mall-fg-choice-row { grid-template-columns: 1fr 1fr; } .mall-fg-choice-row strong { grid-column: 1 / -1; } }

/* MALL-461: 次日发货单记录占满导出面板宽度;原因与变更说明换行显示,表格仍在自己的容器里横向滚动。 */
.next-admin .dispatch-list-records { display: grid; gap: 12px; min-width: 0; padding: 20px 0; }
.next-admin .settings-table td.dispatch-list-wrap-cell { min-width: 220px; max-width: 420px; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }

/* MALL-462: full-gift basic settings follow the existing responsive form. */
.next-admin .mall-full-gift-workspace .mall-fg-settings { margin: 16px 0; padding: 16px; border: 1px solid #e7ecf2; border-radius: 8px; }
.next-admin .mall-fg-settings .mall-fg-freight { flex-direction: row; align-items: center; gap: 8px; }
.next-admin .mall-fg-settings input[type="checkbox"] { width: auto; min-width: 0; margin: 0; }

/* MALL-463: bulk full-gift actions stay bounded inside the activity panel. */
.next-admin .mall-full-gift-workspace input[data-fg-select],
.next-admin .mall-full-gift-workspace input[data-fg-select-all] { width: 18px; height: 18px; margin: 0; }
.next-admin .mall-fg-bulk { margin: 12px 0; }
.next-admin .mall-fg-confirm { margin: 12px 0; padding: 12px 16px; border: 1px solid #d6e4f3; border-radius: 8px; background: #f4f8fd; }
.next-admin .mall-fg-confirm[hidden] { display: none; }
.next-admin .mall-fg-confirm p { margin: 0 0 12px; line-height: 1.6; }
.next-admin .mall-fg-confirm button { margin: 0 8px 4px 0; }

.next-admin .mall-fr-rules-editor { grid-column: 1 / -1; min-width: 0; }
.next-admin .mall-fr-rules-editor .mall-store-rich-editor { max-height: 420px; overflow: auto; }

.next-admin .mall-fr-sharing { grid-column:1 / -1; min-width:0; display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.next-admin .mall-fr-sharing h4,.next-admin .mall-fr-sharing .hint { flex-basis:100%; margin:0; }
.next-admin .mall-fr-sharing label { flex:1 1 220px; min-width:0; }
.next-admin .mall-fr-sharing input { width:100%; box-sizing:border-box; min-width:0; }

/* Purchase-gift source trace, scoped to the benefit-card report. */
.mall-card-report :is(.mall-card-source, .mall-card-verification) { margin: 0 24px 20px; padding: 16px; border: 1px solid #dbe4ef; border-radius: 8px; background: #f8fafc; overflow-wrap: anywhere; }
.mall-card-report :is(.mall-card-source, .mall-card-verification) h4 { margin: 0 0 10px; }
.mall-card-report :is(.mall-card-source, .mall-card-verification) p { margin: 8px 0; }
.mall-card-report :is(.mall-card-source, .mall-card-verification) button { margin: 6px 8px 0 0; }
@media (max-width: 700px) { .mall-card-report :is(.mall-card-source, .mall-card-verification) { margin: 0 16px 16px; } }

/* MALL-516: the marketing point ledger shares the report card and filter layout. */
.mall-point-log .mall-admin-heading { flex-wrap: wrap; gap: 12px; }
:is(.mall-point-log, .mall-sign-in-log) .mall-statement-filters label { width: 180px; min-width: 0; max-width: 100%; }
:is(.mall-point-log, .mall-sign-in-log) .mall-statement-filters input { flex: none; width: 100%; box-sizing: border-box; }
.mall-point-log-export { margin: 0 20px 20px; padding: 20px; border: 1px solid #dcdfe6; border-radius: 4px; background: #fff; }
.mall-point-log-export h4 { margin: 0 0 16px; font-size: 16px; }
.mall-point-log-export p { color: #606266; font-size: 13px; }
.mall-point-log-export label { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 13px; color: #606266; }
.mall-point-log-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.next-admin .mall-point-log-export input[type="checkbox"] { appearance: auto !important; border-radius: 2px; accent-color: #409eff; }
.next-admin .mall-point-log-export input[type="checkbox"]::after { content: none; }
.mall-point-log-export > button { margin-right: 8px; }
.admin-view-mall .mall-point-log .mall-user-table { min-width: 1000px; }
@media (max-width: 600px) {
  :is(.mall-point-log, .mall-sign-in-log) .mall-statement-filters { margin: 16px; }
  :is(.mall-point-log, .mall-sign-in-log) .mall-statement-filters label { width: 100%; }
  .mall-point-log-export { margin: 0 16px 16px; padding: 16px; }
  .mall-point-log-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* MALL-526: recharge editor controls stay local to the marketing workspace. */
.mall-recharge .panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.mall-recharge form { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.mall-recharge form h4, .mall-recharge form fieldset, .mall-recharge .mall-full-reduce-form { flex-basis:100%; min-width:0; }
.mall-recharge .mall-full-reduce-form { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.mall-recharge label { display:inline-flex; align-items:center; gap:8px; margin:0; font-size:14px; }
.mall-recharge fieldset { display:flex; flex-wrap:wrap; gap:16px; border:1px solid #e4e7ed; padding:16px; border-radius:4px; }
.mall-recharge fieldset legend { padding:0 8px; color:#606266; }
.mall-recharge fieldset > div { flex-basis:100%; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
#orderMain .mall-recharge input:not([type="checkbox"]), #orderMain .mall-recharge select { width:180px; min-width:0; max-width:100%; height:34px; min-height:34px; padding:0 10px; box-shadow:none; border:1px solid #dcdfe6; border-radius:4px; box-sizing:border-box; }
#orderMain .mall-recharge input[type="checkbox"] { appearance:auto !important; width:16px; min-width:16px; height:16px; min-height:16px; flex:none; padding:0; margin:0; accent-color:#409eff; }
#orderMain .mall-recharge input[type="checkbox"]::after { content:none; }
.mall-recharge button { min-height:34px; border-radius:4px; padding:6px 14px; box-shadow:none; }
.mall-recharge button.primary { background:#409eff; border-color:#409eff; color:white; }
.mall-recharge .mall-user-table-wrap { margin:20px 0; width:100%; overflow:auto; }
.mall-recharge .mall-user-table { min-width:760px; }
@media (max-width:600px) {
  .mall-recharge { padding:16px; }
  .mall-recharge .mall-full-reduce-form { gap:16px; }
  .mall-recharge label { flex-wrap:wrap; }
  .mall-recharge fieldset { padding:12px; gap:12px; }
}

/* Super-member main card and child catalogue. */
.mall-vip .mall-vip-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1000px}
.mall-vip .mall-vip-form>label,.mall-vip .mall-vip-gift>label{display:flex;flex-direction:column;gap:7px}
.mall-vip .mall-vip-form>label:has(input[type=checkbox]){flex-direction:row;align-items:center}
.mall-vip fieldset,.mall-vip .mall-vip-rich,.mall-vip .mall-vip-inherit{grid-column:1/-1;min-width:0}
.mall-vip fieldset{border:1px solid var(--border,#dce3ee);border-radius:10px;padding:16px;display:flex;gap:14px;flex-wrap:wrap}
.mall-vip input:not([type=checkbox]),.mall-vip select{max-width:100%;min-width:0;padding:9px;border:1px solid var(--border,#dce3ee);border-radius:6px}
.mall-vip fieldset label{display:inline-flex;gap:7px;align-items:center}.mall-vip .mall-vip-gift{width:100%}
.mall-vip .mall-vip-image{width:210px;max-width:100%;height:110px;object-fit:contain;display:block;margin:10px 0}
.mall-vip .mall-vip-main{padding:16px 0}.mall-vip .mall-vip-main button{margin-right:12px}
.mall-vip .mall-vip-actions{display:flex;gap:12px;margin-top:24px}.mall-vip .mall-user-table td{white-space:normal;min-width:70px}
@media(max-width:640px){.mall-vip .mall-vip-form{grid-template-columns:minmax(0,1fr)}.mall-vip fieldset{flex-direction:column}.mall-vip{min-width:0}.mall-vip .panel-head{flex-wrap:wrap}}
.mall-vip input[type=checkbox]{width:16px;height:16px;min-width:16px;max-width:16px;flex:0 0 16px;margin:0;appearance:auto}
.mall-vip fieldset label,.mall-vip .mall-vip-form>label{justify-content:flex-start;text-align:left}
.mall-vip .mall-vip-gift{padding:12px;background:#f8fafc;border-radius:8px}
.mall-vip .mall-vip-gift>label{display:inline-flex;align-items:flex-start;margin:0 16px 12px 0}
.mall-vip .mall-vip-gift>p{margin:0 0 12px}
.mall-vip .mall-vip-gift>button{vertical-align:bottom;margin-bottom:12px}

/* MALL-529 recharge configuration */
.mall-recharge-settings{padding:24px}.mall-recharge-settings [role=tablist]{display:flex;gap:8px;margin:16px 0}.mall-recharge-settings [role=tab][aria-selected=true]{color:#1677ff;border-color:#1677ff;background:#eef5ff}.mall-rs-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,320px);gap:32px;align-items:start}.mall-rs-fields{display:grid;gap:18px}.mall-rs-fields>label{display:grid;gap:8px}.mall-rs-fields input:not([type=checkbox]),.mall-rs-fields select{box-sizing:border-box;max-width:100%;width:100%;padding:9px 12px;border:1px solid #d9e0e8;border-radius:6px}.mall-rs-fields>.mall-rs-check{display:flex;align-items:center;gap:8px}.mall-rs-media{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mall-rs-media img{width:80px;height:60px;object-fit:contain}.mall-rs-preview{padding:22px;background:#f7f8fa;border:1px solid #e2e6ed;border-radius:16px;overflow-wrap:anywhere}.mall-rs-preview input,.mall-rs-preview button{box-sizing:border-box;width:100%;padding:14px;max-width:100%}.mall-rs-preview button{opacity:1;border:0}.mall-rs-actions{margin-top:24px}.mall-rs-preview h4{margin-top:0}@media(max-width:700px){.mall-recharge-settings{padding:16px}.mall-rs-layout{grid-template-columns:minmax(0,1fr);gap:20px}.mall-rs-preview{max-width:100%}}

.mall-rs-fields>.mall-rs-check input[type="checkbox"]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0}

/* Recipient selection has three columns, independent of wide order tables. */
.mall-coupon-recipient-dialog .mall-admin-table { min-width: 0; width: 100%; table-layout: fixed; }
.mall-coupon-recipient-dialog .mall-admin-table th:first-child { width: 48px; }
.mall-coupon-recipient-dialog .mall-admin-table th:nth-child(2) { width: 90px; }
.mall-coupon-recipient-dialog .mall-admin-table td { overflow-wrap: anywhere; }
.mall-coupon-recipient-dialog input[type="checkbox"] { width: 18px; height: 18px; }

/* MALL-535: reference sign-in configuration. */
.mall-signin-settings{max-width:1100px}.mall-signin-settings form{display:grid;gap:20px}.mall-signin-settings fieldset{min-width:0;border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:18px}.mall-signin-settings legend{font-weight:600;padding:0 6px}.mall-signin-settings label{display:flex;gap:8px;align-items:center}.mall-ss-switches,.mall-ss-rule{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:14px}.mall-signin-settings input[type=text]{width:125px;min-width:0;flex:none}.mall-signin-settings select{min-width:100px}.mall-ss-actions{display:flex;justify-content:flex-start}.mall-signin-settings [role=alert]{color:#b42318}@media(max-width:640px){.mall-ss-rule{align-items:flex-start;flex-direction:column}.mall-signin-settings fieldset{padding:12px}}

@media(max-width:640px){.mall-signin-settings fieldset>label,.mall-signin-settings .mall-ss-rule>label{width:100%;flex-direction:column;align-items:stretch}.mall-signin-settings .mall-ss-rule>label input[type=text]{width:100%;max-width:100%;box-sizing:border-box;flex:none}.mall-signin-settings .mall-ss-switches>label:last-child{flex-direction:column;align-items:flex-start}}

.mall-sc-layout{display:grid;grid-template-columns:320px minmax(280px,1fr) minmax(250px,1fr);gap:28px;align-items:start;margin:20px 0}
.mall-sc-fields label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.mall-sc-fields input,.mall-sc-fields select{width:100%;max-width:300px;padding:10px;border:1px solid #d6dce4;border-radius:5px}
.mall-sc-images>div{margin-bottom:22px}.mall-sc-images label{display:block;font-weight:600;margin-bottom:8px}.mall-sc-images img{width:80px;height:80px;object-fit:contain}.mall-sc-images button{margin:8px 6px 0 0}
.mall-sc-phone{border:10px solid #f7f8fa;border-radius:24px;padding:0 12px 18px;overflow:hidden;font-size:12px}.mall-sc-phone header{position:relative;isolation:isolate;margin:0 -12px;text-align:center;padding:16px 12px 20px}.mall-sc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.mall-sc-main{width:88px;height:88px;object-fit:contain;margin-top:18px}.mall-sc-phone section{background:white;border-radius:10px;margin-top:10px;padding:10px}.mall-sc-phone section>div:not(.mall-sc-calendar){display:flex;gap:8px;align-items:center;padding:8px 0}.mall-sc-phone section span{flex:1}.mall-sc-phone b{border-radius:20px;padding:5px 12px;white-space:nowrap;font-weight:400}.mall-sc-reward{width:30px;height:30px;object-fit:contain}.mall-sc-calendar{position:relative;width:36px;height:36px;display:grid;place-items:center}.mall-sc-calendar-icon{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(max-width:1150px){.mall-sc-layout{grid-template-columns:280px 1fr}.mall-sc-images{grid-column:2}}@media(max-width:650px){.mall-sc-layout{grid-template-columns:minmax(0,1fr)}.mall-sc-images{grid-column:auto}.mall-sc-preview{max-width:340px;width:100%;margin:auto}}

/* MALL-547: coupon usage export field selection. */
.mall-coupon-report .mall-statement-export-columns { display:flex; flex-wrap:wrap; gap:12px 20px; padding:16px; margin:16px 0; border:1px solid var(--border,#e1e6ed); border-radius:8px; }
.mall-coupon-report .mall-statement-export-columns label { display:inline-flex; align-items:center; gap:6px; width:auto; }
.mall-coupon-report .mall-statement-export-columns input { width:16px; height:16px; margin:0; }
.mall-coupon-report .mall-user-table td small { display:block; color:var(--muted,#64748b); margin-top:4px; }
.mall-coupon-report .mall-statement-filters label:has(input[type="datetime-local"]) { width:240px; }

/* MALL-552: searchable coupon selector, scoped to coupon reports. */
.mall-coupon-report .mall-coupon-picker { position:relative; width:240px; min-width:0; }
.mall-coupon-report .mall-coupon-picker>label { display:block; margin-bottom:6px; }
.mall-coupon-report .mall-coupon-picker-input { display:flex; gap:4px; }
.mall-coupon-report .mall-coupon-picker-input input { flex:1 1 0; width:0; min-width:0; }
.mall-coupon-report .mall-coupon-picker-input button { flex:0 0 34px; padding:0; }
.mall-coupon-report .mall-coupon-picker-options { position:absolute; top:100%; left:0; right:0; max-height:260px; overflow-y:auto; z-index:30; background:var(--surface,#fff); border:1px solid var(--border,#e1e6ed); border-radius:6px; box-shadow:0 4px 12px #0002; }
.mall-coupon-report .mall-coupon-picker-options[hidden] { display:none; }
.mall-coupon-report .mall-coupon-picker-options button { display:block; width:100%; border:0; border-radius:0; text-align:left; padding:9px 12px; white-space:normal; overflow-wrap:anywhere; }
.mall-coupon-report .mall-coupon-picker-options button[aria-selected="true"],.mall-coupon-report .mall-coupon-picker-options button:hover { background:#f8ecee; color:#842d3c; }
.mall-coupon-report .mall-coupon-picker-options p { margin:0; padding:12px; color:var(--muted,#64748b); }
@media(max-width:650px){.mall-coupon-report .mall-coupon-picker{width:100%;}}

/* MALL-611: keep related stacking options together at every editor width. */
.mall-coupon-editor .mall-coupon-stack-options { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:12px 24px; }
.mall-coupon-editor .mall-coupon-stack-options[hidden] { display:none; }
.mall-coupon-editor .mall-coupon-stack-options .mall-coupon-stack-check { display:flex; flex-direction:row; align-items:center; gap:8px; }
.mall-coupon-editor .mall-coupon-stack-check input[type="checkbox"] { appearance:auto !important; width:16px; min-width:16px; height:16px; min-height:16px; flex:0 0 16px; margin:0; padding:0; }
.mall-coupon-editor .mall-coupon-stack-check input[type="checkbox"]::after { content:none; }
.mall-coupon-editor .mall-coupon-stack-hint { grid-column:1 / -1; }

/* Integral mall layout editor (MALL-632). */
.mpl-layout{display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap}.mpl-preview{flex:0 1 330px;min-width:0}.mpl-form{flex:1 1 420px;display:grid;gap:20px;min-width:0;background:#fff;padding:24px}.mpl-form fieldset{display:flex;gap:20px;flex-wrap:wrap;border:0;margin:0;padding:0}.mpl-field{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:600px;min-width:0}.mpl-field>span{display:flex;gap:8px;align-items:center;min-width:0}.mpl-field input:not([type=checkbox]){width:230px;max-width:100%}.mpl-field small{color:#777;white-space:nowrap}.mpl-field select{min-width:150px}.mpl-field input[type=checkbox]{width:36px;height:20px;accent-color:#409eff}.mpl-phone{position:relative;border:1px solid #ddd;border-radius:28px;padding:14px;background:#fafafa;overflow:hidden}.mpl-phone-title{text-align:center;padding:8px;font-weight:600}.mpl-demo-balance{background:#574b3e;color:#e9c988;padding:18px;border-radius:10px}.mpl-demo-balance strong{display:block;font-size:28px}.mpl-demo-links{display:flex;justify-content:space-around;background:#fff;padding:14px;font-size:13px}.mpl-demo-search{border-radius:22px;text-align:center;color:#999;background:#fff;padding:10px;margin:10px 0;font-size:13px}.mpl-phone h4{margin:16px 0 12px;font-size:14px}.mpl-demo-coupons,.mpl-demo-goods{display:grid;gap:10px}.mpl-demo-coupons[data-style="2"],.mpl-demo-goods[data-style="2"]{grid-template-columns:1fr 1fr}.mpl-demo-coupon,.mpl-demo-good{display:flex;gap:8px;background:#fff;padding:10px;border-radius:8px;font-size:12px}.mpl-demo-coupon strong{padding:14px 8px;background:#fff0e6;color:#b85830;font-size:20px}.mpl-demo-coupon strong small{display:block;font-size:11px}.mpl-demo-coupon p,.mpl-demo-good p{color:#dc695e;margin:7px 0}.mpl-demo-button{display:inline-block;background:#e76b65;color:#fff;border-radius:14px;padding:4px 10px;font-size:12px;margin-top:6px}.mpl-demo-coupons[data-style="2"] .mpl-demo-coupon,.mpl-demo-goods[data-style="2"] .mpl-demo-good{display:block;text-align:center}.mpl-demo-coupons[data-style="2"] strong{display:block}.mpl-demo-cover{min-width:70px;min-height:70px;background:#edf0f2;color:#999;display:flex;align-items:center;justify-content:center}.mpl-demo-options{display:flex;justify-content:space-around;font-size:12px;color:#777;margin-bottom:10px}.mpl-floating-search{position:absolute;right:14px;bottom:24px;background:#fff;border:1px solid #ddd;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:24px}.mpl-demo-good small{display:block;color:#888}@media(max-width:720px){.mpl-layout{display:block}.mpl-preview{max-width:330px;margin:0 auto 20px}.mpl-form{padding:16px 0}.mpl-field{align-items:flex-start;flex-wrap:wrap;gap:8px}.mpl-field>span{width:100%}.mpl-field input:not([type=checkbox]){width:100%;min-width:0}.mpl-field select{min-width:120px}}

/* PMALL-003 background editor and explicitly illustrative header. */
.mpb-layout{display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap}.mpb-preview{flex:0 1 360px;min-width:0}.mpb-form{flex:1 1 520px;display:grid;gap:24px;min-width:0;padding:24px;background:#fff}.mpb-field{display:flex;gap:18px;align-items:flex-start;min-width:0}.mpb-field>label{flex:0 0 155px;line-height:36px;text-align:right}.mpb-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.mpb-control input[type=text]{width:125px;min-width:0}.mpb-control input[type=color]{width:34px;height:34px;padding:2px;cursor:pointer}.mpb-required{color:#d33}.mpb-image-actions{display:flex;gap:8px;flex-wrap:wrap}.mpb-image-thumb{width:100%;min-height:32px}.mpb-image-thumb img{display:block;width:100px;height:100px;object-fit:contain;border:1px solid #eee}.mpb-phone{border:1px solid #ddd;border-radius:28px;padding:12px 10px;background:white;overflow:hidden}.mpb-phone-title{text-align:center;padding:18px;font-weight:600}.mpb-header{position:relative;min-height:120px;display:flex;justify-content:space-between;align-items:center;padding:24px 20px;isolation:isolate;overflow:hidden}.mpb-header-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.mpb-balance span{font-size:13px;display:flex;align-items:center;gap:4px}.mpb-balance strong{display:block;font-size:25px;font-weight:500;margin-top:5px}.mpb-small-icon{width:15px;height:15px;object-fit:contain}.mpb-transfer{border-radius:24px;padding:8px 14px;font-size:12px}.mpb-demo-links{display:flex;gap:10px;padding:10px;background:#fff;border-radius:12px;margin-top:-10px;position:relative}.mpb-demo-links>span{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;flex:1;padding:14px 6px;font-size:13px;border-radius:3px}.mpb-link-icon{width:19px;height:19px;object-fit:contain}.mpb-demo-content{height:340px;background:#f7f7f7;margin-top:8px}.mpb-form button{white-space:nowrap}@media(max-width:720px){.mpb-layout{display:block}.mpb-preview{max-width:360px;margin:0 auto 20px}.mpb-form{padding:16px 0}.mpb-field{display:block}.mpb-field>label{display:block;text-align:left}.mpb-control{gap:8px}.mpb-control input[type=text]{max-width:calc(100% - 50px)}}

/* MALL-638 integral-mall selection shares the canonical banner library. */
.next-admin .mpc-panel { min-width:0; }
.next-admin .mpc-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.next-admin .mpc-panel .mall-banner-selected { padding:20px 0; }
@media(max-width:600px) {
  .next-admin .mpc-panel .mall-decoration-savebar { position:static; margin:16px 0 0; }
  .next-admin .mpc-panel .mall-banner-card,.next-admin .mpc-panel .mall-banner-add { width:min(250px,100%); }
  .next-admin .mpc-panel .mall-banner-selected { justify-content:center; }
}

/* Independent integral product list and SKU editor. */
.mpg-panel{padding:24px;min-width:0}.mpg-panel header{display:flex;align-items:center;margin-bottom:18px}.mpg-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.mpg-toolbar input{min-width:200px}.mpg-scroll{overflow:auto;max-width:100%}.mpg-panel table{border-collapse:collapse;width:100%;min-width:820px}.mpg-panel th,.mpg-panel td{padding:12px;text-align:left;border-bottom:1px solid #e8edf3}.mpg-panel th{background:#f6f8fb;white-space:nowrap}.mpg-panel input:not([type=checkbox]){border:1px solid #d6dfe9;border-radius:5px;padding:9px;max-width:100%;box-sizing:border-box}.mpg-panel td input{width:125px}.mpg-basic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.mpg-basic label{display:flex;gap:8px;flex-direction:column}.mpg-basic input[readonly]{background:#f5f7fa;color:#64748b}.mpg-panel [role=alert]{color:#b42318;overflow-wrap:anywhere}.mpg-panel button{cursor:pointer}.mpg-panel button:disabled{opacity:.5;cursor:default}@media(max-width:640px){.mpg-panel{padding:14px}.mpg-basic{grid-template-columns:minmax(0,1fr)}.mpg-toolbar input{min-width:0;width:100%}}

/* MALL-656 integral mall checkout configuration */
.mpcs-form{display:grid;gap:24px;background:#fff;padding:24px;max-width:980px}.mpcs-form fieldset{min-width:0;border:0;border-bottom:1px solid #edf0f5;padding:0 0 20px;margin:0}.mpcs-form legend{font-size:15px;font-weight:600;margin-bottom:16px}.mpcs-options{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px}.mpcs-options label{display:inline-flex;align-items:center;gap:8px}.mpcs-options input[type=checkbox]{width:17px;height:17px;accent-color:#409eff;flex-shrink:0}.mpcs-form .hint{line-height:1.7;margin:12px 0 0}.mpcs-actions{display:flex;justify-content:flex-start}.mpcs-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}@media(max-width:720px){.mpcs-form{padding:18px 12px}.mpcs-options{gap:16px 20px}.mpcs-form fieldset{padding-bottom:18px}.mpcs-panel .panel-head h3{font-size:18px}}

.mpcs-participation{display:grid;gap:20px}.mpcs-participation label{display:inline-flex;align-items:center;gap:8px}.mpcs-participation input{width:17px;height:17px;accent-color:#409eff}.mpcs-participation .hint{margin-top:6px}

.mpg-panel td input[type=checkbox],.mpg-panel th input[type=checkbox]{width:18px;height:18px;min-width:18px;cursor:pointer;accent-color:#409eff}

/* MALL-924 手机版 / 电脑版切换:顶栏按钮与退出登录同款,登录卡底部为文字按钮 */
.topbar-view-switch {
  height: 34px;
  min-width: 72px;
  margin-left: 12px;
  border-color: rgba(255, 255, 255, .36);
  border-radius: var(--premium-radius);
  color: #fff;
  background: rgba(255, 255, 255, .12);
  font-weight: 450;
}
.topbar-view-switch:hover {
  color: #fff;
  border-color: #fff;
  background: rgba(255, 255, 255, .2);
}
.admin-login-card .admin-login-view-switch {
  align-self: center;
  min-width: 0;
  height: auto;
  padding: 4px 8px;
  border: none;
  background: none;
  color: #86909c;
  font-size: 13px;
}
.admin-login-card .admin-login-view-switch:hover {
  color: #2b69ff;
  background: none;
}

/* MALL-926（老大 2026-10-12「h5排版」）：手机上切到电脑版时，品牌屋、卡密明细与兑换页面提示文案的排版。
   只在窄屏（≤720px）生效，电脑宽度不变。 */
@media (max-width: 720px) {
  /* 品牌屋列表与品牌屋设置侧栏：电脑上固定 224px，手机上占满整行 */
  .brand-house-side,
  .brand-house-config-side {
    width: 100%;
    min-width: 0;
  }

  /* 配置品牌屋：外层留白收窄，标题与「返回 / 保存 / 打开」按钮上下排 */
  .entry-editor-workspace {
    padding: 16px 12px 32px;
  }

  /* 只收品牌屋设置里的分组；「兑换商品」分组在窄容器里本就不留边（entry-editor 容器查询），不动它；商城页面也用这个类，不在这里 */
  .entry-editor-workspace .entry-editor-section:not(.entry-redeem-goods-section) {
    padding: 16px 12px;
  }

  .entry-editor-head {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 18px;
  }

  .entry-editor-head .toolbar {
    flex-wrap: wrap;
  }

  /* 品牌屋卡券管理：标题与「已绑定 N 个批次」一行，四个操作按钮换到下一行、自动换行 */
  .entry-batch-section .entry-batch-head {
    flex-wrap: wrap;
  }

  .entry-batch-head-actions {
    flex: 1 1 100%;
    margin-left: 0;
  }

  /* 卡券配置区少套几层留白：外层不再左右留边，卡片内边距收窄 */
  .enterprise-card-content {
    padding: 12px 0 24px;
  }

  .batch-detail-stack > .panel {
    padding: 14px 12px;
  }

  /* 卡密明细：操作按钮占整行、自动换行，「已读取 N 张卡券」放到按钮下面 */
  .card-secret-ops {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .read-count {
    min-width: 0;
    text-align: left;
  }

  .secret-detail-filter {
    flex-wrap: wrap;
  }

  .secret-detail-filter select {
    flex: 0 0 120px;
  }

  .secret-detail-filter input[type="search"] {
    flex: 1 1 140px;
  }

  /* 兑换页面提示文案：分组不再多套一层框，每条提示的标题与触发说明上下排 */
  .rule-section {
    border: 0;
    padding: 0;
  }

  .rule-status-head {
    flex-direction: column;
    gap: 2px;
  }

  .rule-message-actions {
    flex-wrap: wrap;
  }
}

/* MALL-926（老大 2026-10-12「没有居中对齐」「上下左右居中」）：顶部一行放不下 6 个菜单时，
   一是菜单出现横向滚动条，占掉底部高度，选中的菜单被往上顶约 6px，下面露出一条灰条；
   二是按钮被压窄到 84px，四字菜单（左右各留 24px）放不下字、向右溢出，字偏右。
   1100px 以下的两行布局本来就隐藏滚动条，这里所有宽度都隐藏（仍可横向滑动），一行布局的按钮不再被压窄；
   1101–1500px 去掉与菜单重复的当前栏目名和副标题（两行布局同样不显示）、收窄留白，按钮左右各留 12px，6 个菜单都是 84px、放得下且字居中。
   实测原布局约 1453px 起菜单才不被压窄（1280、1366、1440 宽都会偏），其中「手机版」按钮（MALL-924）多占约 100px。 */
.top-nav {
  scrollbar-width: none;
}

.top-nav::-webkit-scrollbar {
  display: none;
}

@media (min-width: 1101px) {
  .top-nav button {
    flex: 0 0 auto;
  }
}

@media (min-width: 1101px) and (max-width: 1500px) {
  .top-nav-header {
    gap: 20px;
    padding: 0 20px;
  }

  .topbar-brand .topbar-divider,
  .topbar-brand .product-label,
  .top-nav-header .topbar-title {
    display: none;
  }

  .top-nav {
    gap: 6px;
    padding: 0;
  }

  .top-nav button {
    padding: 0 12px;
  }
}

/* ADR-093 / MALL-928 供应链商品(供应商代发):接入设置、同步记录、商品库列表与导入弹窗。 */
.mall-supplier-panel .mall-supplier-setting { display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 16px;margin-bottom:16px;background:#f7f8fa;border-radius:4px; }
.mall-supplier-panel .mall-supplier-sync { padding:12px 16px;margin-bottom:20px;border:1px solid #ebeef5;border-radius:4px;color:#606266; }
.mall-supplier-panel .mall-supplier-sync p,
.mall-supplier-panel .mall-supplier-sync details { margin:0 0 8px; }
.mall-supplier-panel [role="alert"],
.mall-supplier-dialog [role="alert"] { color:#f56c6c; }
.mall-supplier-hint { color:#909399;font-size:13px;margin:6px 0; }
.mall-supplier-hint:empty { display:none; }
.mall-supplier-hint[role="alert"] { color:#f56c6c; }
.mall-supplier-goods { display:flex;align-items:center;gap:12px;white-space:normal;min-width:260px;max-width:420px; }
.mall-supplier-goods img { width:56px;height:56px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#f5f7fa; }
.mall-supplier-panel .mall-supplier-table th,
.mall-supplier-panel .mall-supplier-table td { padding:14px 16px; }
.mall-supplier-table td.mall-supplier-status { white-space:normal;min-width:120px;max-width:260px;text-align:left; }
.mall-supplier-table td.mall-supplier-parcels { white-space:normal;min-width:220px;max-width:340px;word-break:break-all; }
.mall-supplier-table .mall-supplier-ok { white-space:nowrap; }
.mall-supplier-sync .mall-supplier-stops summary { color:#f56c6c;cursor:pointer; }
.mall-supplier-sync .mall-supplier-stops li { margin:4px 0; }
.next-dialog.mall-supplier-dialog { width:720px; }
.next-dialog.mall-supplier-dialog table.mall-store-table { min-width:0;white-space:normal; }
.mall-supplier-dialog .mall-store-table th,
.mall-supplier-dialog .mall-store-table td { padding:8px 10px; }
.mall-supplier-dialog .mall-store-table td:first-child { min-width:160px; }
.mall-supplier-picks { display:flex;flex-wrap:wrap;gap:8px; }
.mall-supplier-picks label { position:relative;display:block;width:88px;height:88px;border:1px solid #dcdfe6;border-radius:4px;overflow:hidden;cursor:pointer; }
.mall-supplier-picks img { width:100%;height:100%;object-fit:cover; }
.next-dialog-body .mall-supplier-picks input[type="checkbox"] { position:absolute;top:4px;left:4px;width:auto;margin:0; }
.mall-supplier-picks small { position:absolute;right:4px;bottom:4px;background:rgba(0,0,0,.55);color:#fff;border-radius:2px;padding:0 4px;font-size:12px; }
.mall-supplier-picks label:has(input:not(:checked)) img { opacity:.35; }
.mall-supplier-shipping { margin-top:12px;font-size:13px;color:#606266; }
.mall-supplier-shipping p { margin:4px 0; }
/* ADR-095 / MALL-931 挑选时定价:筛选排序、勾选批量、定价规则表单、批量结果与改定价清单。 */
.mall-supplier-panel .mall-supplier-filters { flex-wrap:wrap;align-items:center; }
.mall-supplier-panel .mall-supplier-filters select { border:1px solid #dcdfe6;border-radius:4px;padding:8px 10px;background:white;color:#606266;max-width:100%; }
.mall-supplier-range,
.mall-supplier-check { display:inline-flex;align-items:center;gap:6px;color:#606266;font-size:13px;white-space:nowrap; }
.mall-supplier-panel .mall-store-search .mall-supplier-range input { width:84px;flex:0 0 84px;padding:8px; }
.mall-supplier-panel .mall-store-search .mall-supplier-check input { margin:0;flex:0 0 14px; }
.mall-supplier-batch-bar { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;color:#606266;font-size:13px; }
.mall-supplier-panel .mall-supplier-table th:first-child input,
.mall-supplier-panel .mall-supplier-table td:first-child input { margin:0; }
.mall-supplier-batch { margin:8px 0;padding-left:20px;max-height:240px;overflow:auto;font-size:13px;color:#606266; }
.mall-supplier-batch li { margin:4px 0;word-break:break-all; }
.mall-supplier-pricing { display:flex;flex-wrap:wrap;gap:0 12px; }
.mall-supplier-pricing .dialog-form-line { flex:1 1 160px;min-width:0; }
/* MALL-936 排版:筛选分两行;勾选栏停在表格上方;商品列并入规格、运费与上架日期;状态与自动归类用标签和小字;批量挑选弹窗加宽逐行列明。 */
.mall-supplier-panel .mall-supplier-filters { flex-direction:column;align-items:stretch;gap:10px; }
.mall-supplier-filter-row { display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px; }
.mall-supplier-panel .mall-store-search .mall-supplier-filter-row > input { flex:2 1 240px;width:auto; }
.mall-supplier-panel .mall-supplier-filter-row > select { flex:1 1 180px; }
.mall-supplier-filter-actions { display:inline-flex;gap:8px; }
.mall-supplier-panel .mall-supplier-table th,
.mall-supplier-panel .mall-supplier-table td { padding:12px;text-align:left;vertical-align:middle; }
.mall-supplier-panel .mall-supplier-table th:first-child,
.mall-supplier-panel .mall-supplier-table td:first-child { width:20px;padding-right:0; }
.mall-supplier-panel .mall-supplier-batch-bar { position:sticky;top:0;z-index:2;background:#fff;padding:10px 0;margin:0;border-bottom:1px solid #ebeef5; }
.mall-supplier-batch-count strong { color:#303133;margin:0 2px; }
.mall-supplier-batch-count small { color:#909399;margin-left:4px; }
.mall-supplier-goods > span { display:flex;flex-direction:column;gap:4px; }
.mall-supplier-goods small { color:#909399;font-size:12px; }
.mall-supplier-tag { display:inline-block;padding:0 8px;border-radius:10px;background:#f4f4f5;color:#909399;font-size:12px;line-height:22px;white-space:nowrap; }
.mall-supplier-tag.is-ok { background:#f0f9eb;color:#529b2e; }
.mall-supplier-tag.is-imported { background:#ecf5ff;color:#337ecc; }
.mall-supplier-table td small,
.mall-supplier-batch-table td small { display:block;margin-top:4px;line-height:1.5;font-size:12px; }
.mall-supplier-muted { color:#909399; }
.mall-supplier-table td small.mall-supplier-new,
.mall-supplier-batch-table td small.mall-supplier-new { color:#b88230; }
.mall-supplier-table td.mall-supplier-category,
.mall-supplier-batch-table td.mall-supplier-category { white-space:normal;min-width:150px;max-width:230px;text-align:left; }
.mall-supplier-table tr.is-selected td { background:#f5f9ff; }
.next-dialog.mall-supplier-batch-dialog { width:min(1080px, calc(100vw - 32px)); }
.mall-supplier-batch-settings { display:flex;flex-wrap:wrap;gap:0 16px; }
.mall-supplier-batch-settings .mall-supplier-pricing { display:contents; }
.mall-supplier-batch-settings .dialog-form-line { flex:1 1 140px;min-width:0; }
.mall-supplier-batch-settings > .dialog-form-line:first-child { flex:1.6 1 220px; }
.mall-supplier-batch-table th,
.mall-supplier-batch-table td { text-align:left; }
.mall-supplier-batch-progress { display:flex;align-items:center;gap:12px;margin:8px 0;color:#606266;font-size:13px; }
.mall-supplier-batch-progress progress { flex:0 0 200px;height:8px; }
.mall-supplier-dialog .mall-supplier-batch-table td:first-child { min-width:0; }
.mall-supplier-batch-table .mall-supplier-goods { min-width:220px;max-width:340px; }
.mall-supplier-batch-table .mall-supplier-goods img { width:44px;height:44px; }
.mall-supplier-batch-table td[data-supplier-batch-result] { min-width:140px;max-width:240px;white-space:normal; }
.mall-supplier-batch-table tr.is-picked td[data-supplier-batch-result] { color:#529b2e; }
.mall-supplier-batch-table tr.is-running td[data-supplier-batch-result] { color:#337ecc; }
.mall-supplier-batch-table tr.is-failed td[data-supplier-batch-result] { color:#f56c6c; }
.mall-supplier-batch-table tr.is-skipped td[data-supplier-batch-result],
.mall-supplier-batch-table tr.is-imported td[data-supplier-batch-result],
.mall-supplier-batch-table tr.is-stopped td[data-supplier-batch-result] { color:#909399; }
@media (max-width: 640px) {
  .mall-supplier-filter-actions { margin-left:0; }
  .mall-supplier-batch-progress progress { flex:1 1 auto; }
  .mall-supplier-goods { min-width:200px; }
  .mall-supplier-picks label { width:72px;height:72px; }
  .mall-supplier-panel .mall-store-search { flex-wrap:wrap; }
  .mall-supplier-panel .mall-store-search input,
  .mall-supplier-panel .mall-store-search select { flex:1 1 100%;width:auto;min-width:0; }
  .mall-supplier-range { flex:1 1 100%;min-width:0; }
  .mall-supplier-panel .mall-store-search .mall-supplier-range input { flex:1 1 0;width:0;min-width:0; }
  .mall-supplier-panel .mall-store-search .mall-supplier-check input { flex:0 0 14px; }
}

/* MALL-769: independent balance product configuration, including narrow admin layouts. */
.mpbg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.mpbg-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}.mpbg-grid input,.mpbg-grid select,.mpbg-grid textarea{box-sizing:border-box;width:100%;min-height:40px}.mpbg-grid .mpbg-check{flex-direction:row;align-items:center}.mpbg-grid .mpbg-check input{width:auto;min-height:0}.mpbg-cover{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.mpbg-cover img{width:96px;height:96px;object-fit:cover;border-radius:8px}.mpbg-panel h4{margin-top:24px}.mpbg-panel .panel-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.mpbg-panel button{min-height:36px}@media(max-width:640px){.mpbg-grid{grid-template-columns:1fr}.mpbg-panel{padding:16px}.mpbg-panel .panel-head h3{margin:0}}

/* ADR-212 进销存入口：iframe 占满内容区，宽度随容器；手机宽度照旧。 */
.jxc-panel { display: flex; flex-direction: column; min-height: calc(100vh - 160px); }
.jxc-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.jxc-frame-host { display: flex; flex: 1; min-height: 480px; }
.jxc-frame { flex: 1; width: 100%; min-height: 480px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; }
