* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background: #f0f2f5;
    color: #333;
    font-size: 15px;
    line-height: 1.55;
}

:root {
    --adm-primary: #ff7326;
    --adm-primary-dark: #e85d12;
    --adm-primary-soft: #fff2e8;
    --adm-primary-ring: rgba(255, 130, 60, 0.28);
    --adm-gradient: linear-gradient(135deg, #ffd07a 0%, #ff9a3e 45%, #ff7228 100%);
    --adm-nav-active: linear-gradient(135deg, #ffcf5c 0%, #ff9528 48%, #ff6f1a 100%);
    --adm-sidebar-bg: #fff9f4;
    --adm-sidebar-edge: rgba(255, 170, 120, 0.45);
    --adm-page-bg: #f0f2f5;
    --adm-text: #3d3028;
    --adm-text-mid: #6b5a4e;
    --adm-text-soft: #9a8478;
    /* 二级菜单：纯白底、居中；选中为圆角矩形浅橙底、黑字 */
    --adm-subnav-bg: #ffffff;
    --adm-subnav-border: #ebebeb;
    --adm-subnav-radius: 0;
    --adm-subnav-shadow: none;
    /* 与展开态 flyout 二级栏同宽，品牌内二级侧栏共用 */
    --adm-secondary-rail-w: 132px;
    --adm-subnav-title-size: 17px;
    --adm-subnav-title-weight: 700;
    --adm-subnav-title-pad: 8px 14px 12px;
    --adm-subnav-group-size: 13px;
    --adm-subnav-group-weight: 600;
    --adm-subnav-group-pad: 12px 14px 6px;
    --adm-subnav-link-size: 16px;
    /* 一级侧栏文案：比二级菜单链接大一号 */
    --adm-rail-link-size: calc(var(--adm-subnav-link-size) + 1px);
    --adm-subnav-link-weight: 500;
    --adm-subnav-link-weight-active: 600;
    --adm-subnav-link-pad-y: 10px;
    --adm-subnav-link-pad-x: 12px;
    --adm-subnav-link-margin-y: 1px;
    --adm-subnav-link-margin-x: 6px;
    --adm-subnav-link-radius: 0;
    --adm-subnav-link-pill-radius: 8px;
    --adm-subnav-link-active-inset-x: 5px;
    --adm-subnav-link-hover-bg: rgba(255, 228, 210, 0.35);
    --adm-subnav-link-active-bg: rgba(255, 236, 224, 0.92);
    --adm-subnav-link-active-color: #000000;
    --adm-subnav-link-active-shadow: none;
    /* 全局表单控件（输入框 / 下拉 / 文本域） */
    --adm-field-bg: #fffdfa;
    --adm-field-bg-hover: #ffffff;
    --adm-field-bg-disabled: #f8f3ee;
    --adm-field-border: rgba(255, 175, 125, 0.58);
    --adm-field-border-hover: rgba(255, 138, 72, 0.78);
    --adm-field-border-focus: var(--adm-primary);
    --adm-field-radius: 8px;
    --adm-field-pad-y: 9px;
    --adm-field-pad-x: 12px;
    --adm-field-pad-compact-y: 7px;
    --adm-field-pad-compact-x: 10px;
    --adm-field-font-size: 14px;
    --adm-field-line-height: 1.45;
    --adm-field-color: var(--adm-text);
    --adm-field-placeholder: #b5a498;
    --adm-field-shadow-focus: 0 0 0 3px var(--adm-primary-ring);
    --adm-field-transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
    --adm-field-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239a8478' d='M1.41.59 6 5.17 10.59.59 12 2l-6 6-6-6z'/%3E%3C/svg%3E");
    /* 次要强调色：标签、Tab、链接、开关、分页等（非主按钮） */
    --adm-accent: #595959;
    --adm-accent-dark: #434343;
    --adm-accent-hover: #737373;
    --adm-accent-soft: #f5f5f5;
    --adm-accent-soft-border: #e0e0e0;
    --adm-accent-ring: rgba(89, 89, 89, 0.22);
}

/* ========== 后台全局表单控件（输入框 / 下拉 / 文本域） ========== */
.admin-layout input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
.admin-layout textarea,
.admin-layout select {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    min-height: 36px;
    padding: var(--adm-field-pad-y) var(--adm-field-pad-x);
    border: 1px solid var(--adm-field-border);
    border-radius: var(--adm-field-radius);
    background-color: var(--adm-field-bg);
    color: var(--adm-field-color);
    font-family: inherit;
    font-size: var(--adm-field-font-size);
    line-height: var(--adm-field-line-height);
    transition: var(--adm-field-transition);
}

.admin-layout textarea {
    min-height: 88px;
    padding-top: 10px;
    padding-bottom: 10px;
    resize: vertical;
    vertical-align: top;
}

.admin-layout select {
    padding-right: 34px;
    background-image: var(--adm-field-select-arrow);
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 8px;
    cursor: pointer;
}

.admin-layout input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"])::placeholder,
.admin-layout textarea::placeholder {
    color: var(--adm-field-placeholder);
    opacity: 1;
}

.admin-layout input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):hover:not(:disabled):not([readonly]),
.admin-layout textarea:hover:not(:disabled):not([readonly]),
.admin-layout select:hover:not(:disabled) {
    border-color: var(--adm-field-border-hover);
    background-color: var(--adm-field-bg-hover);
}

.admin-layout input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):focus,
.admin-layout textarea:focus,
.admin-layout select:focus {
    outline: none;
    border-color: var(--adm-field-border-focus);
    box-shadow: var(--adm-field-shadow-focus);
    background-color: #ffffff;
}

.admin-layout input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):disabled,
.admin-layout input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"])[readonly],
.admin-layout textarea:disabled,
.admin-layout textarea[readonly],
.admin-layout select:disabled {
    background-color: var(--adm-field-bg-disabled);
    color: var(--adm-text-mid);
    border-color: rgba(255, 175, 125, 0.35);
    cursor: not-allowed;
    box-shadow: none;
}

/* 表格 / 行内编辑：略紧凑 */
.admin-layout .data-table input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
.admin-layout .data-table select,
.admin-layout .data-table textarea,
.admin-layout .settings-list-row input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.admin-layout .settings-inline-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.admin-layout .settings-inline-form select {
    padding: var(--adm-field-pad-compact-y) var(--adm-field-pad-compact-x);
    min-height: 32px;
    font-size: 14px;
}

/* 组合搜索框：外框统一，内层输入框不再套双边框 */
.admin-layout .product-console-search-combo input {
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    min-height: 0;
    padding: 8px 12px;
}

.admin-layout .product-console-search-combo input:hover,
.admin-layout .product-console-search-combo input:focus {
    border: none;
    box-shadow: none;
    background: transparent;
}

/* 宽度工具类（可与行内 width 并存） */
.adm-input--xs {
    width: 72px;
    min-width: 72px;
    max-width: 72px;
}

.adm-input--sm {
    width: 100px;
    min-width: 100px;
    max-width: 120px;
}

.adm-input--md {
    min-width: 160px;
    width: auto;
}

.adm-input--lg {
    width: 100%;
    max-width: 560px;
}

.adm-input--xl {
    width: 100%;
    max-width: 720px;
}

.adm-input--md-wide {
    width: 100%;
    max-width: 360px;
}

.adm-input--fluid {
    width: 100%;
}

.adm-input--mono,
.admin-layout textarea.adm-input--mono,
.admin-layout .settings-codearea {
    font-family: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;
    font-size: 13px;
    line-height: 1.55;
}

.login-page {
    min-height: 100vh;
    background: #fafbfc;
}

.login-container {
    width: 100%;
    max-width: 420px;
    padding: 20px;
}

.login-box {
    background: white;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}

.login-box h1 {
    text-align: center;
    color: #1a1a1a;
    margin-bottom: 8px;
    font-size: 28px;
}

.login-subtitle {
    text-align: center;
    color: #666;
    margin-bottom: 30px;
}

.error-message {
    background: #fff2f0;
    border: 1px solid #ffccc7;
    color: #ff4d4f;
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--adm-text);
    font-weight: 600;
    font-size: 14px;
}

/* 排除 checkbox/radio，避免「勾选离文字极远」与控件被横向拉满 */
.form-group input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="image"]),
.form-group select,
.form-group textarea {
    width: 100%;
}

.admin-layout .form-group select:not(.product-console-select) {
    max-width: 560px;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
}

.btn {
    display: inline-block;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-primary {
    background: var(--adm-gradient);
    color: #fff;
    box-shadow: 0 2px 8px rgba(255, 115, 38, 0.3);
}

.btn-primary:hover {
    filter: brightness(1.05);
    box-shadow: 0 4px 12px rgba(255, 115, 38, 0.38);
}

.btn-success {
    background: #52C41A;
    color: white;
}

.btn-danger {
    background: #FF4D4F;
    color: white;
}

.btn-default {
    background: #fffdfa;
    color: var(--adm-text);
    border: 1px solid rgba(255, 180, 130, 0.5);
}

.btn-default:hover {
    border-color: var(--adm-primary);
    color: var(--adm-primary-dark);
}

.btn-small {
    padding: 6px 12px;
    font-size: 12px;
}

.btn-block {
    width: 100%;
}

.login-tip {
    text-align: center;
    margin-top: 20px;
    color: #999;
    font-size: 13px;
}

.admin-layout {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    min-height: 100vh;
    background: var(--adm-page-bg);
    --admin-rail-w: 118px;
    --admin-flyout-w: 0px;
}

.admin-layout--flyout-open {
    --admin-flyout-w: var(--adm-secondary-rail-w);
}

/* 应用二级菜单：略宽以容纳线型图标+文字，左对齐 */
.admin-layout--flyout-open[data-active-flyout="marketing"] {
    --admin-flyout-w: 158px;
}

/* 双栏侧栏：一级深色栏（图标+横排字）；二级白底宽度 --admin-flyout-w（与一级同组页由 PHP 展开） */
.admin-sidebar-shell {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    z-index: 200;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    box-shadow: 2px 0 20px rgba(0, 0, 0, 0.22);
    --nav-rail-bg: #121212;
    --nav-rail-fg-inactive: #d4b896;
    --nav-rail-fg-active: #ffffff;
    --nav-rail-fg-hover: #e8c995;
    --nav-rail-hover-bg: rgba(255, 255, 255, 0.08);
    --nav-rail-active-bg: #ff7326;
    /* 全局 flyout 外观改由 .sidebar-flyout__inner 卡片 + :root --adm-subnav-* 控制 */
    --nav-flyout-text: var(--adm-text);
    --nav-flyout-text-mid: var(--adm-text-mid);
}

/* 品牌页：避免一级侧栏 shell 的右向投影叠在白底二级上形成竖向暗条 */
.admin-layout:has(.brand-page-layout) .admin-sidebar-shell {
    box-shadow: none;
}

.sidebar-rail {
    width: var(--admin-rail-w);
    flex: 0 0 var(--admin-rail-w);
    background: var(--nav-rail-bg);
    color: var(--nav-rail-fg-inactive);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
}

.sidebar-rail::-webkit-scrollbar {
    width: 4px;
}

.sidebar-rail::-webkit-scrollbar-thumb {
    background: rgba(212, 184, 150, 0.4);
    border-radius: 4px;
}

.sidebar-rail__brand {
    padding: 14px 8px 12px;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid rgba(212, 184, 150, 0.28);
}

.sidebar-rail__logo {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(212, 184, 150, 0.18);
    color: var(--nav-rail-fg-inactive);
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(212, 184, 150, 0.42);
    box-shadow: none;
}

.sidebar-rail__nav {
    flex: 1;
    padding: 10px 8px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sidebar-rail__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 0;
    padding: 9px 10px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: var(--nav-rail-fg-inactive);
    text-decoration: none;
    font-size: var(--adm-rail-link-size);
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, font-weight 0.12s ease;
    width: 100%;
    box-sizing: border-box;
}

.sidebar-rail__item:hover {
    background: var(--nav-rail-hover-bg);
    color: var(--nav-rail-fg-hover);
}

.sidebar-rail__item.is-active {
    background: var(--nav-rail-active-bg);
    color: var(--nav-rail-fg-active);
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(255, 115, 38, 0.4);
}

.sidebar-rail__item:focus-visible {
    outline: 2px solid var(--nav-rail-fg-active);
    outline-offset: 2px;
}

.sidebar-rail__icon {
    display: flex;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
}

.sidebar-rail__icon .nav-item__svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 2;
}

.sidebar-rail__label {
    flex: 1;
    min-width: 0;
    text-align: left;
    line-height: 1.25;
    font-size: inherit;
    font-weight: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-flyout {
    width: var(--admin-flyout-w);
    flex: 0 0 auto;
    flex-shrink: 0;
    overflow: hidden;
    background: transparent;
    border-right: none;
    transition: width 0.22s ease, border-color 0.22s ease;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-layout:not(.admin-layout--flyout-open) .sidebar-flyout {
    border-right-color: transparent;
}

.sidebar-flyout__inner {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 10px 0 14px;
    box-sizing: border-box;
    background: var(--adm-subnav-bg);
    border: none;
    border-right: 1px solid var(--adm-subnav-border);
    border-radius: 0;
    box-shadow: none;
}

.sidebar-flyout__panel[hidden] {
    display: none !important;
}

.sidebar-flyout__title {
    padding: var(--adm-subnav-title-pad);
    font-size: var(--adm-subnav-title-size);
    font-weight: var(--adm-subnav-title-weight);
    color: var(--nav-flyout-text);
    border-bottom: 1px solid var(--adm-subnav-border);
    margin: 0 0 8px;
    letter-spacing: 0.02em;
    text-align: center;
}

.sidebar-flyout__panel--apps .sidebar-flyout__title {
    text-align: left;
    padding-left: 12px;
    padding-right: 12px;
}

a.sidebar-flyout__title--link {
    display: block;
    text-decoration: none;
    color: var(--nav-flyout-text);
    transition: background 0.15s ease, color 0.15s ease;
}

a.sidebar-flyout__title--link:hover {
    background: var(--adm-subnav-link-hover-bg);
}

a.sidebar-flyout__title--link.is-active {
    background: var(--adm-subnav-link-active-bg);
    color: var(--adm-subnav-link-active-color);
}

.sidebar-flyout__link--child {
    font-size: calc(var(--adm-subnav-link-size) - 1px);
    padding-left: 18px;
}

.sidebar-flyout__links {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 2px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.sidebar-flyout__links::-webkit-scrollbar {
    width: 4px;
}

.sidebar-flyout__links::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.18);
    border-radius: 4px;
}

.sidebar-flyout__link {
    display: block;
    margin: 2px var(--adm-subnav-link-active-inset-x);
    padding: var(--adm-subnav-link-pad-y) 10px;
    border-radius: var(--adm-subnav-link-pill-radius);
    font-size: var(--adm-subnav-link-size);
    line-height: 1.45;
    font-weight: var(--adm-subnav-link-weight);
    color: var(--nav-flyout-text-mid);
    text-decoration: none;
    text-align: center;
    transition: background 0.15s ease, color 0.15s ease;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.sidebar-flyout__link--with-icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    text-align: left;
    padding: var(--adm-subnav-link-pad-y) var(--adm-subnav-link-pad-x);
}

.sidebar-flyout__panel--apps .sidebar-flyout__link--with-icon {
    margin-left: 2px;
    margin-right: 2px;
    padding-left: 10px;
    padding-right: 8px;
}

.sidebar-flyout__link-icon {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    color: var(--nav-flyout-text-mid);
}

.sidebar-flyout__link-icon .nav-flyout-item__svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke: currentColor;
}

/* 应用二级菜单：按功能着色（对齐应用中心卡片色系，仅 flyout） */
.sidebar-flyout__panel--apps .sidebar-flyout__link-icon {
    width: 20px;
    height: 20px;
    border-radius: 5px;
    flex-shrink: 0;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon .nav-flyout-item__svg {
    width: 14px;
    height: 14px;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="apps_hub"] {
    background: #fff2e8;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="apps_hub"] .nav-flyout-item__svg {
    width: 16px;
    height: 16px;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="coupon_send"],
.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="coupon_list"] {
    color: #ee5a5a;
    background: #ffebee;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="member_level"] {
    color: #f57c00;
    background: #fff3e0;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="member_card"] {
    color: #5b8def;
    background: #e8f0ff;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="member_discount"] {
    color: #e65100;
    background: #fff8e1;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="points_play"] {
    color: #f9a825;
    background: #fff8e1;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="member_stored"] {
    color: #f9a825;
    background: #fffde7;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="group_order"] {
    color: #42a5f5;
    background: #e3f2fd;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="points_mall"],
.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="points_goods"] {
    color: #1e88e5;
    background: #e3f2fd;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="collect_points"] {
    color: #fb8c00;
    background: #fff3e0;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="consume_reward"] {
    color: #43a047;
    background: #e8f5e9;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="full_reduction"] {
    color: #afb42b;
    background: #f9fbe7;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="birthday"] {
    color: #ec407a;
    background: #fce4ec;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="lottery"] {
    color: #e53935;
    background: #ffebee;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="distributor"] {
    color: #8d6e63;
    background: #efebe9;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="coupon_pack"] {
    color: #ffb300;
    background: #fff8e1;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="coupon_center"] {
    color: #42a5f5;
    background: #e3f2fd;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="newcomer"] {
    color: #e53935;
    background: #ffebee;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="nth_discount"] {
    color: #66bb6a;
    background: #e8f5e9;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="popup"] {
    color: #64b5f6;
    background: #e3f2fd;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="cashier"] {
    color: #78909c;
    background: #eceff1;
}

.sidebar-flyout__panel--apps .sidebar-flyout__link-icon[data-flyout-icon="default"] {
    color: #94a3b8;
    background: #f5f5f5;
}

.sidebar-flyout__link-label {
    flex: 1 1 auto;
    min-width: 0;
}

.sidebar-flyout__link-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 6px;
    border-radius: 9px;
    background: #ff4d4f;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    vertical-align: middle;
}

.sidebar-flyout__link.is-active .sidebar-flyout__link-badge {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.sidebar-flyout__panel--apps .sidebar-flyout__links {
    padding: 0 4px;
}

.sidebar-flyout__link:hover {
    background: var(--adm-subnav-link-hover-bg);
    color: var(--nav-flyout-text);
}

.sidebar-flyout__link.is-active {
    background: var(--adm-subnav-link-active-bg);
    color: var(--adm-subnav-link-active-color);
    font-weight: var(--adm-subnav-link-weight-active);
    box-shadow: var(--adm-subnav-link-active-shadow);
}

.sidebar-flyout__link:focus-visible {
    outline: 2px solid var(--adm-primary);
    outline-offset: 2px;
}

.main-content {
    flex: 1;
    margin-left: calc(var(--admin-rail-w) + var(--admin-flyout-w));
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100vh;
    transition: margin-left 0.22s ease;
}

.top-bar {
    background: #ffffff;
    padding: 0 26px;
    height: 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e8e8e8;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: none;
}

.page-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--adm-text);
    letter-spacing: 0.02em;
}

.top-bar-right {
    display: flex;
    align-items: center;
    gap: 14px;
}

.top-bar-user {
    font-size: 15px;
    color: var(--adm-text-mid);
    font-weight: 600;
}

.logout-btn {
    font-size: 14px;
    font-weight: 600;
    color: var(--adm-primary-dark);
    text-decoration: none;
    padding: 7px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 150, 90, 0.55);
    background: rgba(255, 255, 255, 0.75);
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.logout-btn:hover {
    color: #fff;
    background: var(--adm-primary);
    border-color: var(--adm-primary);
}

.content-wrapper {
    padding: 20px 24px 36px;
    flex: 1;
}

/* —— 工作台（首页）极联式布局 —— */
.dash-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 20px;
    align-items: start;
}

.dash-main-col {
    min-width: 0;
}

.dash-aside-col {
    min-width: 0;
}

@media (max-width: 1100px) {
    .dash-shell {
        grid-template-columns: 1fr;
    }
}

.dash-greet {
    font-size: 17px;
    color: var(--adm-text);
    margin-bottom: 20px;
    font-weight: 600;
}

.dash-greet span {
    color: var(--adm-text-soft);
    font-weight: 500;
    font-size: 14px;
    margin-left: 8px;
}

.dash-section-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--adm-text);
    margin-bottom: 14px;
    letter-spacing: 0.02em;
}

.dash-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

@media (min-width: 1200px) {
    .dash-metrics {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (max-width: 900px) {
    .dash-metrics {
        grid-template-columns: repeat(2, 1fr);
    }
}

.dash-metric {
    background: #fffdfa;
    border-radius: 12px;
    padding: 18px 16px;
    border: 1px solid rgba(255, 180, 130, 0.35);
    display: flex;
    align-items: flex-start;
    gap: 14px;
    box-shadow: 0 1px 3px rgba(255, 140, 60, 0.06);
}

.dash-metric__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.dash-metric__icon--r { background: #fef0f0; color: #f56c6c; }
.dash-metric__icon--g { background: #f6ffed; color: #67c23a; }
.dash-metric__icon--p { background: #f4f0ff; color: #9b59b6; }
.dash-metric__icon--y { background: #fff8e6; color: #d4940c; }
.dash-metric__icon--o { background: #fff4e6; color: #ff7a26; }
.dash-metric__icon--b { background: #fff2e6; color: #ff8c32; }

.dash-metric__label {
    font-size: 14px;
    color: var(--adm-text-soft);
    margin-bottom: 6px;
}

.dash-metric__value {
    font-size: 24px;
    font-weight: 700;
    color: var(--adm-text);
    letter-spacing: -0.02em;
}

.dash-quick {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 24px;
}

@media (min-width: 900px) {
    .dash-quick {
        grid-template-columns: repeat(8, 1fr);
    }
}

.dash-quick a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 8px;
    background: #fffdfa;
    border: 1px solid rgba(255, 180, 130, 0.35);
    border-radius: 12px;
    text-decoration: none;
    color: var(--adm-text-mid);
    font-size: 13px;
    text-align: center;
    font-weight: 600;
    transition: border-color 0.18s, box-shadow 0.18s, color 0.18s, transform 0.12s;
}

.dash-quick a:hover {
    border-color: rgba(255, 130, 50, 0.65);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    color: var(--adm-text);
}

.dash-quick a:hover .dash-quick__badge {
    transform: scale(1.06);
    filter: brightness(1.05);
}

.dash-quick a:active {
    transform: scale(0.98);
}

.dash-quick__badge {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
    transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.dash-quick__badge--orders { background: linear-gradient(145deg, #ff9a56 0%, #ff5722 55%, #e02020 100%); }
.dash-quick__badge--aftersale { background: linear-gradient(145deg, #ff85c0 0%, #f5222d 50%, #a8071a 100%); }
.dash-quick__badge--library { background: linear-gradient(145deg, #73d13d 0%, #52c41a 50%, #135200 100%); }
.dash-quick__badge--store { background: linear-gradient(145deg, #ffc53d 0%, #fa8c16 50%, #ad4e00 100%); }
.dash-quick__badge--member { background: linear-gradient(145deg, #b37feb 0%, #722ed1 50%, #391085 100%); }
.dash-quick__badge--stats { background: linear-gradient(145deg, #5cdbd3 0%, #13c2c2 50%, #006d75 100%); }
.dash-quick__badge--promo { background: linear-gradient(145deg, #ff9c6e 0%, #fa541c 50%, #ad2102 100%); }
.dash-quick__badge--mini { background: linear-gradient(145deg, #85a5ff 0%, #2f54eb 50%, #061178 100%); }

.dash-charts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 900px) {
    .dash-charts {
        grid-template-columns: 1fr;
    }
}

.dash-chart-card {
    background: #fffdfa;
    border: 1px solid rgba(255, 180, 130, 0.35);
    border-radius: 12px;
    padding: 16px 18px 12px;
    box-shadow: 0 1px 3px rgba(255, 140, 60, 0.05);
}

.dash-chart-card__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.dash-chart-card__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--adm-text);
}

.dash-chart-tabs {
    display: flex;
    gap: 5px;
}

.dash-chart-tabs button {
    border: none;
    background: rgba(255, 200, 160, 0.25);
    color: var(--adm-text-mid);
    padding: 5px 11px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.dash-chart-tabs button.active {
    background: var(--adm-nav-active);
    color: #fff;
    box-shadow: 0 2px 8px rgba(255, 115, 40, 0.25);
}

.dash-chart-box {
    height: 220px;
    position: relative;
}

.dash-aside-card {
    background: #fffdfa;
    border: 1px solid rgba(255, 180, 130, 0.35);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(255, 140, 60, 0.05);
}

.dash-aside-card__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--adm-text);
    margin-bottom: 14px;
}

.dash-todo-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}

.dash-todo-tabs button {
    flex: 1;
    border: 1px solid rgba(255, 180, 130, 0.4);
    background: rgba(255, 255, 255, 0.6);
    padding: 8px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    color: var(--adm-text-mid);
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.dash-todo-tabs button.active {
    border-color: transparent;
    color: #fff;
    background: var(--adm-nav-active);
    box-shadow: 0 3px 10px rgba(255, 115, 40, 0.28);
}

.dash-todo-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dash-todo-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--adm-text-mid);
}

.dash-todo-row strong {
    color: var(--adm-primary-dark);
    font-weight: 700;
}

.dash-rank-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dash-rank-list li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 200, 170, 0.35);
    font-size: 13px;
    color: var(--adm-text-mid);
}

.dash-rank-list li:last-child {
    border-bottom: none;
}

.dash-rank-idx {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: rgba(255, 210, 180, 0.45);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    margin-right: 8px;
    color: var(--adm-text-soft);
    font-weight: 600;
}

.dash-rank-idx--1 { background: #fef0f0; color: #f56c6c; }
.dash-rank-idx--2 { background: #fdf6ec; color: #e6a23c; }
.dash-rank-idx--3 { background: #fff4e6; color: #ff7a26; }

.dash-empty-hint {
    text-align: center;
    padding: 24px 12px;
    color: var(--adm-text-soft);
    font-size: 13px;
}

/* —— 首页概况（智慧外卖风格） —— */
.dash-v2 {
    color: #333;
    background: #f0f2f5;
    margin: -20px -24px 0;
    padding: 20px 24px 24px;
    min-height: calc(100vh - 64px);
}

.dash-v2__greet {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 16px;
    margin-bottom: 20px;
}

.dash-v2__greet-main {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
}

.dash-v2__greet-time {
    font-size: 13px;
    color: #8c8c8c;
}

/* 顶部：左（指标+入口+图表）| 右（待办+TOP5） */
.dash-v2__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 16px;
    align-items: start;
}

@media (max-width: 1280px) {
    .dash-v2__hero {
        grid-template-columns: 1fr;
    }
}

.dash-v2__hero-left {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dash-v2__hero-right {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: start;
}

.dash-v2__charts {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.dash-v2__metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 0;
}

@media (max-width: 1400px) {
    .dash-v2__hero-left .dash-v2__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .dash-v2__hero-left .dash-v2__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.dash-v2-metric {
    background: #fff;
    border-radius: 12px;
    padding: 20px 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    border: 1px solid #f0f0f0;
}

.dash-v2-metric:nth-child(1) .dash-v2-metric__icon-wrap { background: #fff1f0; }
.dash-v2-metric:nth-child(2) .dash-v2-metric__icon-wrap { background: #f6ffed; }
.dash-v2-metric:nth-child(3) .dash-v2-metric__icon-wrap { background: #f9f0ff; }
.dash-v2-metric:nth-child(4) .dash-v2-metric__icon-wrap { background: #fff7e6; }
.dash-v2-metric:nth-child(5) .dash-v2-metric__icon-wrap { background: #e6f4ff; }

.dash-v2-metric__icon-wrap {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
}

.dash-v2-metric__icon-wrap img {
    width: 52px;
    height: 52px;
    max-width: 52px;
    max-height: 52px;
    object-fit: contain;
    object-position: center;
    display: block;
    flex-shrink: 0;
}

.dash-v2-metric__label {
    font-size: 13px;
    color: #8c8c8c;
    margin-bottom: 4px;
}

.dash-v2-metric__value {
    font-size: 26px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.dash-v2-metric__delta {
    margin-top: 6px;
    font-size: 12px;
    color: #8c8c8c;
}

.dash-v2-metric__delta-pct {
    margin-left: 4px;
}

.dash-v2-metric__delta--down .dash-v2-metric__delta-pct {
    color: #52c41a;
}

.dash-v2-metric__delta--up .dash-v2-metric__delta-pct {
    color: #ff4d4f;
}

.dash-v2__section {
    margin-bottom: 0;
}

.dash-v2__section--quick {
    margin-bottom: 0;
}

.dash-v2__section-title {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 14px;
}

.dash-v2-quick {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 1400px) {
    .dash-v2__hero-left .dash-v2-quick {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .dash-v2__hero-left .dash-v2-quick {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.dash-v2-quick__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px 10px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #f0f0f0;
    text-decoration: none;
    color: #333;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dash-v2-quick__item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
    color: #333;
}

.dash-v2-quick__item:nth-child(1) .dash-v2-quick__icon { background: #fff7e6; }
.dash-v2-quick__item:nth-child(2) .dash-v2-quick__icon { background: #fff0f6; }
.dash-v2-quick__item:nth-child(3) .dash-v2-quick__icon { background: #f6ffed; }
.dash-v2-quick__item:nth-child(4) .dash-v2-quick__icon { background: #f9f0ff; }
.dash-v2-quick__item:nth-child(5) .dash-v2-quick__icon { background: #fff7e6; }
.dash-v2-quick__item:nth-child(6) .dash-v2-quick__icon { background: #e6f4ff; }
.dash-v2-quick__item:nth-child(7) .dash-v2-quick__icon { background: #e6fffb; }
.dash-v2-quick__item:nth-child(8) .dash-v2-quick__icon { background: #e6f4ff; }
.dash-v2-quick__item:nth-child(9) .dash-v2-quick__icon { background: #f5f5f5; }

.dash-v2-quick__icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    overflow: hidden;
    flex-shrink: 0;
}

.dash-v2-quick__icon img {
    width: 58px;
    height: 58px;
    max-width: 58px;
    max-height: 58px;
    object-fit: contain;
    object-position: center;
    display: block;
    flex-shrink: 0;
}

.dash-v2-quick__label {
    font-size: 13px;
    font-weight: 500;
    text-align: center;
}

.dash-v2__layout,
.dash-v2__main,
.dash-v2__left,
.dash-v2__side,
.dash-v2__right {
    min-width: 0;
}

.dash-v2__charts-top {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(240px, 1fr);
    gap: 16px;
    align-items: stretch;
}

@media (max-width: 1100px) {
    .dash-v2__charts-top {
        grid-template-columns: 1fr;
    }
}

.dash-v2-chart,
.dash-v2-card {
    background: #fff;
    border-radius: 12px;
    padding: 16px 18px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.dash-v2-chart-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 900px) {
    .dash-v2-chart-row {
        grid-template-columns: 1fr;
    }
}

.dash-v2 .dash-chart-box {
    position: relative;
    min-height: 220px;
    height: 220px;
}

.dash-chart-box--lg {
    min-height: 300px;
    height: 300px;
}

.dash-chart-box--md {
    min-height: 240px;
    height: 240px;
}

.dash-chart-box--donut {
    min-height: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-v2-chart--donut .dash-chart-box--donut {
    min-height: 280px;
    height: 280px;
}

.dash-v2-chart-empty {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 24px;
    text-align: center;
    font-size: 12px;
    color: #8c8c8c;
    pointer-events: none;
}

.dash-v2-chart--turnover {
    min-height: 0;
}

.dash-v2-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.dash-v2-card__head h3 {
    margin: 0;
}

.dash-v2-card__more {
    font-size: 13px;
    color: #1677ff;
    text-decoration: none;
    white-space: nowrap;
}

.dash-v2-card__more:hover {
    color: #4096ff;
}

.dash-v2-card--orders {
    margin-top: 16px;
}

.dash-todo-row--link {
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
    padding: 4px 6px;
    margin: 0 -6px;
    transition: background 0.15s;
}

.dash-todo-row--link:hover {
    background: #fff7e6;
}

.dash-v2 .dash-todo-tabs {
    flex-wrap: wrap;
}

.dash-v2 .dash-todo-tabs button {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    padding: 7px 4px;
}

.dash-v2-chart-sub {
    font-size: 12px;
    color: #8c8c8c;
    font-weight: 500;
}

.dash-v2-card__head h3 {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
}

.dash-v2 .dash-chart-tabs button.active {
    background: #ff7326;
    color: #fff;
    box-shadow: none;
}

.dash-v2 .dash-chart-tabs button {
    background: #f5f5f5;
    color: #595959;
}

.dash-todo-tabs--v2 {
    gap: 0;
    background: #f5f5f5;
    border-radius: 8px;
    padding: 3px;
    margin-bottom: 16px;
}

.dash-todo-tabs--v2 button {
    flex: 1;
    border: 1px solid transparent;
    background: transparent;
    color: #595959;
    border-radius: 6px;
    padding: 8px 4px;
    font-size: 13px;
    font-weight: 500;
    box-shadow: none;
}

.dash-todo-tabs--v2 button.active {
    background: #fff;
    color: #ff7326;
    border-color: #ff7326;
    box-shadow: none;
}

.dash-v2 .dash-todo-tabs button.active {
    background: #ff7326;
    color: #fff;
}

.dash-v2 .dash-todo-row strong {
    color: #ff7326;
    font-size: 15px;
}

.dash-v2-card--todo .dash-todo-row {
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
    font-size: 14px;
    color: #333;
}

.dash-v2-card--todo .dash-todo-row:last-child {
    border-bottom: none;
}

.dash-rank-list__name {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
    color: #333;
    font-size: 13px;
}

.dash-rank-list__name > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-rank-list__val {
    flex-shrink: 0;
    font-weight: 600;
    color: #1a1a1a;
    font-size: 14px;
}

.dash-v2-card--rank .dash-rank-idx {
    border-radius: 50%;
    width: 24px;
    height: 24px;
    min-width: 24px;
    font-size: 12px;
    margin-right: 0;
}

.dash-v2-card--rank .dash-rank-list li {
    padding: 12px 0;
}

.card {
    background: #fffdfa;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 180, 130, 0.35);
    box-shadow: 0 1px 4px rgba(255, 140, 60, 0.06);
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 200, 170, 0.4);
}

.card-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--adm-text);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

.stat-card {
    background: #fffdfa;
    border-radius: 12px;
    padding: 24px;
    border: 1px solid rgba(255, 180, 130, 0.35);
    box-shadow: 0 1px 4px rgba(255, 140, 60, 0.06);
}

.stat-card h3 {
    font-size: 15px;
    color: #666;
    margin-bottom: 8px;
}

.stat-card .stat-value {
    font-size: 32px;
    font-weight: 700;
    color: #1a1a1a;
}

.stat-card .stat-value.primary {
    color: var(--adm-primary);
}

.stat-card .stat-value.success {
    color: #52C41A;
}

.stat-card .stat-value.warning {
    color: #FAAD14;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th,
.data-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
}

.data-table th {
    background: linear-gradient(180deg, #fff8f0 0%, #fff2e6 100%);
    font-weight: 600;
    color: var(--adm-text);
}

.data-table tr:hover td {
    background: rgba(255, 230, 200, 0.25);
}

/* DIY 页面装修列表（与编辑器列表一致） */
.diy-page-flash {
    margin-bottom: 14px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
}
.diy-page-flash--ok {
    background: #f6ffed;
    border: 1px solid #b7eb8f;
    color: #135200;
}
.diy-page-flash--err {
    background: #fff2f0;
    border: 1px solid #ffccc7;
    color: #a8071a;
}
.diy-page-table__time {
    white-space: nowrap;
    min-width: 158px;
}
.diy-page-table__status {
    min-width: 108px;
    white-space: nowrap;
}

.diy-page-table__status .status-tag {
    white-space: nowrap;
    word-break: keep-all;
}
.diy-page-table__op {
    min-width: 280px;
}
.brand-card-header--toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.brand-card-header--toolbar .card-title {
    margin: 0;
}
.diy-page-toolbar__form {
    margin: 0;
}
.diy-page-table__decorate {
    text-decoration: none;
}
.diy-page-table__hint {
    color: var(--adm-text-soft, #999);
    font-size: 13px;
}
.btn-sm {
    padding: 4px 12px;
    font-size: 13px;
    line-height: 1.5;
    border-radius: 6px;
    min-height: 28px;
}
.diy-page-table__actions .btn-sm {
    margin: 0;
}
.diy-page-table__muted {
    color: var(--adm-text-soft, #666);
    font-variant-numeric: tabular-nums;
}
.diy-page-table__name {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
/* 页面装修列表：网页/浏览器窗口图标 */
.diy-page-table__icon {
    flex-shrink: 0;
    width: 32px;
    height: 28px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='28' viewBox='0 0 32 28' fill='none'%3E%3Crect x='1' y='1' width='30' height='26' rx='5' fill='%23fff' stroke='%23E5E6EB'/%3E%3Cpath d='M1 8h30' stroke='%23E5E6EB'/%3E%3Crect x='1' y='1' width='30' height='7' rx='5' fill='%23FFF2E8'/%3E%3Ccircle cx='6.5' cy='4.5' r='1.35' fill='%23FF7326'/%3E%3Ccircle cx='11' cy='4.5' r='1.35' fill='%23FFB74D'/%3E%3Ccircle cx='15.5' cy='4.5' r='1.35' fill='%23D9D9D9'/%3E%3Crect x='6' y='12' width='12' height='2.5' rx='1.25' fill='%23FF7326' fill-opacity='.35'/%3E%3Crect x='6' y='17' width='20' height='2' rx='1' fill='%23EEF0F3'/%3E%3Crect x='6' y='21.5' width='16' height='2' rx='1' fill='%23EEF0F3'/%3E%3C/svg%3E");
}

.diy-page-table__icon--home {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='28' viewBox='0 0 32 28' fill='none'%3E%3Crect x='1' y='1' width='30' height='26' rx='5' fill='%23fff' stroke='%23E5E6EB'/%3E%3Cpath d='M1 8h30' stroke='%23E5E6EB'/%3E%3Crect x='1' y='1' width='30' height='7' rx='5' fill='%23FFF2E8'/%3E%3Ccircle cx='6.5' cy='4.5' r='1.35' fill='%23FF7326'/%3E%3Ccircle cx='11' cy='4.5' r='1.35' fill='%23FFB74D'/%3E%3Ccircle cx='15.5' cy='4.5' r='1.35' fill='%23D9D9D9'/%3E%3Cpath d='M8 19.5 11 14.5h2l2.5 5h-2l-.5-1h-2.5l-.5 1H8z' fill='%23FF7326' fill-opacity='.9'/%3E%3C/svg%3E");
}

.diy-page-table__icon--member {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='28' viewBox='0 0 32 28' fill='none'%3E%3Crect x='1' y='1' width='30' height='26' rx='5' fill='%23fff' stroke='%23E5E6EB'/%3E%3Cpath d='M1 8h30' stroke='%23E5E6EB'/%3E%3Crect x='1' y='1' width='30' height='7' rx='5' fill='%23E8F0FF'/%3E%3Ccircle cx='6.5' cy='4.5' r='1.35' fill='%231677FF'/%3E%3Ccircle cx='11' cy='4.5' r='1.35' fill='%234096FF'/%3E%3Ccircle cx='15.5' cy='4.5' r='1.35' fill='%23D9D9D9'/%3E%3Ccircle cx='16' cy='17' r='4' fill='%231677FF' fill-opacity='.18' stroke='%231677FF' stroke-width='1.2'/%3E%3Cpath d='M11 22c0-2.2 2.2-4 5-4s5 1.8 5 4' stroke='%231677FF' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.diy-page-table__icon--custom {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='28' viewBox='0 0 32 28' fill='none'%3E%3Crect x='1' y='1' width='30' height='26' rx='5' fill='%23fff' stroke='%23E5E6EB'/%3E%3Cpath d='M1 8h30' stroke='%23E5E6EB'/%3E%3Crect x='1' y='1' width='30' height='7' rx='5' fill='%23F5F6F8'/%3E%3Ccircle cx='6.5' cy='4.5' r='1.35' fill='%238C8C8C'/%3E%3Ccircle cx='11' cy='4.5' r='1.35' fill='%23BFBFBF'/%3E%3Ccircle cx='15.5' cy='4.5' r='1.35' fill='%23D9D9D9'/%3E%3Crect x='6' y='12' width='20' height='2' rx='1' fill='%23EEF0F3'/%3E%3Crect x='6' y='16.5' width='14' height='2' rx='1' fill='%23EEF0F3'/%3E%3Crect x='6' y='21' width='18' height='2' rx='1' fill='%23FF7326' fill-opacity='.45'/%3E%3C/svg%3E");
}
.diy-page-table__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    white-space: nowrap;
}
.diy-page-table__form {
    display: inline;
    margin: 0;
    padding: 0;
}
.diy-page-table__link {
    color: var(--adm-accent);
    text-decoration: none;
    font-size: 14px;
    cursor: pointer;
}
.diy-page-table__link:hover {
    text-decoration: underline;
    color: var(--adm-accent-dark);
}
.diy-page-table__btn {
    border: none;
    background: none;
    padding: 0;
    margin: 0;
    font: inherit;
}
.diy-page-table__btn--danger {
    color: #ff4d4f;
}
.diy-page-table__btn--danger:hover {
    color: #cf1322;
}
.diy-page-table__sys {
    color: var(--adm-text-soft, #999);
    font-size: 14px;
    cursor: default;
    user-select: none;
}

/* 门店管理列表（参考管理台表格 + 右侧双图标操作） */
.shops-mgmt__head {
    flex-wrap: wrap;
    gap: 12px;
}

.shops-mgmt__title {
    font-size: 18px;
}

.shops-mgmt__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.shops-mgmt__table-wrap {
    overflow-x: auto;
    margin: 0 -4px;
}

.shops-mgmt__table th {
    white-space: nowrap;
    font-size: 13px;
    padding: 10px 12px;
    background: #f3f4f6;
    color: #374151;
    border-bottom: 1px solid #e5e7eb;
}

.shops-mgmt__table td {
    font-size: 14px;
    padding: 12px;
    vertical-align: middle;
    border-bottom: 1px solid #eef0f3;
}

.shops-mgmt__table tr:hover td {
    background: #fafbfc;
}

.shops-mgmt__col-store {
    min-width: 140px;
}

.shops-mgmt__col-num,
.shops-mgmt__col-date,
.shops-mgmt__col-status {
    width: 1%;
    white-space: nowrap;
}

.shops-mgmt__col-op {
    width: 1%;
    text-align: right;
}

.shops-mgmt__store-name {
    font-weight: 600;
    color: var(--adm-text);
}

.shops-mgmt__sub {
    margin-top: 4px;
    font-size: 12px;
}

.shops-mgmt__sub a {
    color: #2563eb;
    text-decoration: none;
}

.shops-mgmt__sub a:hover {
    text-decoration: underline;
}

.shops-mgmt__td-mid {
    color: #4b5563;
}

.shops-mgmt__td-num {
    text-align: center;
    color: #374151;
    font-variant-numeric: tabular-nums;
}

.shops-mgmt__muted {
    color: #9ca3af;
}

.shops-mgmt__link {
    color: #2563eb;
    text-decoration: none;
    font-size: 13px;
}

.shops-mgmt__link:hover {
    text-decoration: underline;
}

.shops-mgmt__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #374151;
}

.shops-mgmt__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.shops-mgmt__dot--on {
    background: #22c55e;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25);
}

.shops-mgmt__dot--off {
    background: #d1d5db;
}

.shops-mgmt__op-cell {
    text-align: right;
}

.shops-mgmt__op-icons {
    display: inline-flex;
    gap: 6px;
    justify-content: flex-end;
}

.shops-mgmt__iconbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #2563eb;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.shops-mgmt__iconbtn:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.shops-mgmt__iconbtn:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.shops-mgmt__ico {
    width: 18px;
    height: 18px;
}

.shops-mgmt__empty {
    text-align: center;
    padding: 36px 16px;
    color: var(--adm-text-soft);
}

.status-tag {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
}

.status-tag.pending {
    background: #fff7e6;
    color: #fa8c16;
}

.status-tag.paid {
    background: #fff4e6;
    color: #e07020;
}

.status-tag.accepted {
    background: #f6ffed;
    color: #52c41a;
}

.status-tag.making {
    background: #fff8e6;
    color: #d48806;
}

.status-tag.ready {
    background: #fff7e6;
    color: #fa8c16;
}

.status-tag.done {
    background: #f6ffed;
    color: #52c41a;
}

.status-tag.cancelled {
    background: #fff1f0;
    color: #ff4d4f;
}

.filter-bar {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.filter-bar input,
.filter-bar select {
    min-width: 140px;
}

.filter-bar input:focus,
.filter-bar select:focus {
    outline: none;
}

.chart-container {
    height: 300px;
    background: #fffdfa;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 180, 130, 0.35);
}

.actions {
    display: flex;
    gap: 8px;
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
}

.modal.active {
    display: flex;
}

.modal-content {
    background: white;
    border-radius: 8px;
    width: 90%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
}

.modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h3 {
    font-size: 16px;
}

.modal-close {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #999;
}

.modal-body {
    padding: 20px;
}

.modal-footer {
    padding: 16px 20px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #999;
}

.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.pagination a,
.pagination span {
    padding: 8px 14px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
}

.pagination a:hover {
    border-color: var(--adm-primary);
    color: var(--adm-primary-dark);
}

.pagination .active {
    background: var(--adm-gradient);
    color: white;
    border-color: transparent;
    box-shadow: 0 2px 8px rgba(255, 115, 38, 0.28);
}

/* —— 品牌中心（二级侧栏 + 主内容） —— */
.brand-shell {
    display: flex;
    gap: 0;
    align-items: flex-start;
    min-height: calc(100vh - 120px);
}

/* 品牌页：二级侧栏紧贴一级深色导航（与营销等 flyout 图2 一致） */
.brand-shell.brand-page-layout {
    align-items: stretch;
    margin: -20px -24px -36px -24px;
    width: calc(100% + 48px);
    max-width: none;
    min-height: calc(100vh - 60px);
    box-sizing: border-box;
}

.brand-shell.brand-page-layout .brand-subnav {
    width: var(--adm-secondary-rail-w);
    flex: 0 0 var(--adm-secondary-rail-w);
    margin-right: 0;
    padding: 14px 0 20px;
    top: 0;
    align-self: stretch;
    min-height: calc(100vh - 60px);
    position: sticky;
    background: #ffffff;
    border: none;
    border-right: 1px solid var(--adm-subnav-border);
    border-radius: 0;
    box-shadow: none;
}

.brand-shell.brand-page-layout .brand-main {
    padding: 20px 24px 36px 22px;
    flex: 1;
    min-width: 0;
    background: var(--adm-page-bg);
}

.brand-subnav {
    width: 200px;
    flex-shrink: 0;
    background: var(--adm-subnav-bg);
    border: none;
    border-right: 1px solid var(--adm-subnav-border);
    border-radius: 0;
    box-shadow: none;
    padding: 12px 0 16px;
    margin-right: 20px;
    position: sticky;
    top: 72px;
}

.brand-subnav__title {
    font-size: var(--adm-subnav-title-size);
    font-weight: var(--adm-subnav-title-weight);
    color: var(--adm-text);
    padding: var(--adm-subnav-title-pad);
    border-bottom: 1px solid var(--adm-subnav-border);
    margin: 0 0 8px;
    text-align: center;
}

.brand-subnav__group {
    font-size: var(--adm-subnav-group-size);
    font-weight: var(--adm-subnav-group-weight);
    color: var(--adm-text-soft);
    padding: var(--adm-subnav-group-pad);
    letter-spacing: 0.06em;
    text-align: center;
}

.brand-subnav__item {
    display: block;
    padding: var(--adm-subnav-link-pad-y) var(--adm-subnav-link-pad-x);
    margin: 2px var(--adm-subnav-link-active-inset-x);
    border-radius: var(--adm-subnav-link-pill-radius);
    color: var(--adm-text-mid);
    text-decoration: none;
    font-size: var(--adm-subnav-link-size);
    font-weight: var(--adm-subnav-link-weight);
    text-align: center;
    transition: background 0.15s, color 0.15s;
}

.brand-subnav__item:hover {
    background: var(--adm-subnav-link-hover-bg);
    color: var(--adm-text);
}

.brand-subnav__item.is-active {
    background: var(--adm-subnav-link-active-bg);
    color: var(--adm-subnav-link-active-color);
    font-weight: var(--adm-subnav-link-weight-active);
    box-shadow: var(--adm-subnav-link-active-shadow);
}

/* 品牌页内二级：与全局 flyout 二级链接内边距一致 */
.brand-shell.brand-page-layout .brand-subnav__item {
    padding: var(--adm-subnav-link-pad-y) 10px;
}

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

.brand-flash {
    background: #f6ffed;
    border: 1px solid #b7eb8f;
    color: #389e0d;
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}

/* 品牌子页：仅标题、无副文案时的顶栏 */
.brand-card .card-header.brand-card-header--solo {
    display: block;
    margin-bottom: 18px;
    padding-bottom: 14px;
}

.brand-card .card-header.brand-card-header--solo .card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--adm-text);
    letter-spacing: 0.03em;
    margin: 0;
}

/* 页面装修：标题与「打开编辑器」同一行，右侧对齐 */
.brand-card .card-header.brand-card-header--with-editor {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 200, 170, 0.4);
}

.brand-card .card-header.brand-card-header--with-editor .card-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--adm-text);
    letter-spacing: 0.03em;
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.brand-card .card-header.brand-card-header--with-editor .brand-card-header__editor-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.brand-card__hint {
    font-size: 13px;
    color: var(--adm-text-soft);
    font-weight: 400;
    margin: 0;
    line-height: 1.5;
}

.brand-section-h {
    font-size: 15px;
    font-weight: 700;
    color: var(--adm-text);
    margin: 20px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 200, 170, 0.45);
}

.brand-radios label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 16px;
    margin-bottom: 8px;
    font-size: 14px;
    cursor: pointer;
}

.form-row-brand {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.form-row-brand > label:first-child {
    min-width: 100px;
    font-weight: 600;
    color: var(--adm-text);
}

.form-row-brand input[type="text"],
.form-row-brand input[type="url"],
.form-row-brand input[type="number"],
.form-row-brand select,
.form-row-brand textarea {
    min-width: 200px;
}

.brand-input-inline {
    width: 100%;
    max-width: 140px;
}

.brand-input-wide {
    width: 100%;
    min-width: 200px;
}

/* 品牌 · 底部 Tab：色块 + 图标上传 */
.brand-color-row .brand-color-swatch {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.brand-color-input {
    min-width: 160px;
}

.tb-icon-cell {
    vertical-align: top;
    min-width: 140px;
}

.tb-icon-preview {
    margin-bottom: 8px;
}

.tb-icon-preview img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fafafa;
    display: block;
}

.tb-icon-file {
    display: block;
    max-width: 220px;
    font-size: 13px;
}

.tb-icon-clear {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: var(--adm-text-soft);
    cursor: pointer;
}

.tb-icon-clear input {
    margin-right: 6px;
    vertical-align: middle;
}

/* 后台通用：取色器 + 图片上传预览 */
.admin-color-native {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    cursor: pointer;
    background: transparent;
    vertical-align: middle;
}

.admin-color-native::-webkit-color-swatch-wrapper {
    padding: 2px;
}

.admin-color-native::-webkit-color-swatch {
    border-radius: 4px;
    border: none;
}

.admin-image-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
    margin-top: 6px;
}

.admin-image-thumb-col {
    flex-shrink: 0;
}

.admin-image-thumb-wrap {
    position: relative;
    display: inline-block;
}

.admin-image-remove {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.admin-image-remove:hover {
    background: #ff4d4f;
}

.admin-image-remove.is-visible {
    display: flex;
}

.admin-image-file--hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.admin-image-thumb {
    width: 72px;
    height: 72px;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: #fafafa;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.admin-image-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.admin-image-thumb--video {
    min-height: 48px;
    height: auto;
}

.admin-video-tag {
    font-size: 12px;
    color: var(--adm-text-soft);
    padding: 8px;
    text-align: center;
}

.admin-image-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.admin-image-clear {
    font-size: 13px;
    color: var(--adm-text-soft);
    cursor: pointer;
}

.admin-image-field--cell {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-image-field--cell .admin-image-thumb {
    width: 56px;
    height: 56px;
}

.admin-image-field--cell .admin-image-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

/* 商品编辑：多图画廊 + 富文本区域 */
.product-gallery-block {
    margin-top: 8px;
}

.product-gallery-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
    margin-top: 8px;
}

.product-gallery-item {
    position: relative;
    flex-shrink: 0;
}

.product-gallery-item img {
    display: block;
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: #fafafa;
}

.product-gallery-item .admin-image-remove {
    top: -5px;
    right: -5px;
}

.product-gallery-add {
    margin-top: 4px;
}

.product-detail-editor-wrap {
    border: 1px solid #e8ecf1;
    border-radius: 8px;
    overflow: hidden;
    margin-top: 8px;
    background: #fff;
}

.product-detail-editor-wrap .tox-tinymce {
    border: none !important;
}

.brand-inner-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--adm-subnav-border);
}

.brand-inner-tabs a {
    padding: var(--adm-subnav-link-pad-y) var(--adm-subnav-link-pad-x);
    border-radius: var(--adm-subnav-link-pill-radius);
    text-decoration: none;
    font-size: var(--adm-subnav-link-size);
    font-weight: var(--adm-subnav-link-weight);
    color: var(--adm-text-mid);
    background: transparent;
    text-align: center;
    transition: background 0.15s ease, color 0.15s ease;
}

.brand-inner-tabs a:hover {
    background: var(--adm-subnav-link-hover-bg);
    color: var(--adm-text);
}

.brand-inner-tabs a.is-active {
    background: var(--adm-subnav-link-active-bg);
    color: var(--adm-subnav-link-active-color);
    font-weight: var(--adm-subnav-link-weight-active);
    box-shadow: var(--adm-subnav-link-active-shadow);
}

@media (max-width: 900px) {
    .brand-shell {
        flex-direction: column;
    }
    .brand-subnav {
        width: 100%;
        position: static;
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        padding: 10px;
    }
    .brand-subnav__item {
        margin: 2px;
    }

    .brand-shell.brand-page-layout {
        margin: -20px -24px 0 -24px;
        width: calc(100% + 48px);
        min-height: auto;
    }

    .brand-shell.brand-page-layout .brand-subnav {
        width: 100%;
        min-height: 0;
        position: static;
        align-self: stretch;
        border-right: none;
        border-bottom: 1px solid var(--adm-subnav-border);
    }

    .brand-shell.brand-page-layout .brand-main {
        padding: 16px 0 24px;
    }
}

/* ========== 营销中心（卡片栅格，对齐参考图） ========== */
.marketing-bc {
    font-size: 13px;
    color: var(--adm-text-soft);
    margin: 0 0 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.marketing-bc__link {
    color: #2563eb;
    text-decoration: none;
}

.marketing-bc__link:hover {
    text-decoration: underline;
}

.marketing-bc__sep {
    color: #cbd5e1;
    user-select: none;
}

.marketing-bc__current {
    color: var(--adm-text-mid);
}

.marketing-hub {
    width: 100%;
    max-width: none;
}

.marketing-hub--wide {
    width: 100%;
    max-width: none;
}

.marketing-card.marketing-hub-card--tile {
    min-height: 148px;
    padding: 22px 20px;
    align-items: center;
    border-radius: 12px;
    gap: 16px 18px;
}

.marketing-card.marketing-hub-card--tile .marketing-card__icon-inner svg,
.marketing-card.marketing-hub-card--tile .marketing-card__icon-inner img {
    width: 72px;
    height: 72px;
}

.marketing-hub__section {
    margin-bottom: 28px;
}

.marketing-hub__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}

.marketing-hub__bar {
    width: 4px;
    min-height: 40px;
    border-radius: 4px;
    background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
    flex-shrink: 0;
    margin-top: 2px;
}

.marketing-hub__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--adm-text);
    margin: 0 0 6px;
}

.marketing-hub__desc {
    font-size: 13px;
    color: var(--adm-text-soft);
    margin: 0;
    line-height: 1.5;
}

.marketing-hub__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.marketing-hub__grid.marketing-hub__grid--apps {
    gap: 20px 22px;
}

.marketing-hub__grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 900px;
}

.marketing-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e8ecf1;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.marketing-card:hover {
    border-color: rgba(37, 99, 235, 0.45);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.12);
    transform: translateY(-2px);
}

.marketing-card__icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.marketing-card__icon-inner svg,
.marketing-card__icon-inner img {
    display: block;
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.marketing-card.marketing-hub-card--tile .marketing-card__icon {
    width: 76px;
    height: 76px;
    align-self: center;
}

.marketing-card.marketing-hub-card--tile .marketing-card__icon-inner img {
    width: 72px;
    height: 72px;
}

.marketing-card__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.marketing-card.marketing-hub-card--tile .marketing-card__body {
    gap: 10px;
}

.marketing-card.marketing-hub-card--tile .marketing-card__ttl {
    font-size: 18px;
    font-weight: 700;
    color: var(--adm-text);
    letter-spacing: 0.01em;
    line-height: 1.35;
}

.marketing-card.marketing-hub-card--tile .marketing-card__sub {
    font-size: 14px;
    color: var(--adm-text-mid);
    line-height: 1.5;
}

.marketing-card__ttl {
    font-size: 15px;
    font-weight: 600;
    color: var(--adm-text);
}

.marketing-card__sub {
    font-size: 12px;
    color: var(--adm-text-soft);
    line-height: 1.45;
}

.marketing-tool-card {
    margin-top: 8px;
}

.marketing-app-lead {
    font-size: 14px;
    color: var(--adm-text-mid);
    margin: 0 0 20px;
    line-height: 1.55;
}

.marketing-app-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px 24px;
    margin: 0 0 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--adm-border, #e8e8e8);
}

.marketing-app-head__ico {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.marketing-app-head__ico .marketing-card__icon-inner svg,
.marketing-app-head__ico .marketing-card__icon-inner img {
    display: block;
    width: 68px;
    height: 68px;
    object-fit: contain;
}

.marketing-app-head__txt {
    flex: 1 1 200px;
    min-width: 0;
}

.marketing-app-head__txt .card-title {
    margin: 0 0 6px;
}

.marketing-app-head__lead {
    margin: 0;
    font-size: 14px;
    color: var(--adm-text-mid);
    line-height: 1.55;
}

.marketing-app-head__on {
    flex: 0 0 auto;
    margin-left: auto;
    padding-top: 4px;
}

.marketing-app-head__on .form-group {
    margin-bottom: 0;
}

.marketing-app-intro {
    max-width: 640px;
    padding: 8px 0 8px;
    font-size: 14px;
    color: var(--adm-text-mid);
    line-height: 1.65;
}

.marketing-app-intro__tip {
    margin: 16px 0 0;
    font-size: 13px;
    color: var(--adm-text-soft);
}

.marketing-app-form {
    max-width: 640px;
}

.marketing-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    cursor: pointer;
}

.marketing-app-hr {
    border: none;
    border-top: 1px solid var(--adm-border, #e8e8e8);
    margin: 24px 0 16px;
}

.marketing-app-subtitle {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 600;
}

.marketing-app-hint {
    margin: 0 0 16px;
    font-size: 13px;
    color: var(--adm-text-mid);
    line-height: 1.5;
}

.marketing-app-title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 700;
    color: var(--adm-text);
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.marketing-app-head--toolbar {
    align-items: center;
}

.marketing-app-head--toolbar .marketing-app-enable-form {
    flex: 0 0 auto;
    margin-left: auto;
    align-self: center;
}

.marketing-app-enable-form .admin-toggle-row {
    min-width: 220px;
}

@media (max-width: 720px) {
    .marketing-app-head--toolbar .marketing-app-enable-form {
        margin-left: 0;
        width: 100%;
    }
}

.marketing-app-landing {
    padding: 8px 0 24px;
}

.marketing-app-landing__diagram {
    margin: 0 0 24px;
    padding: 20px 16px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid var(--adm-border, #e8e8e8);
}

.mkt-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 12px 8px;
    max-width: 720px;
    margin: 0 auto;
}

.mkt-flow__arrow {
    display: flex;
    align-items: center;
    font-size: 18px;
    color: var(--adm-text-soft);
    padding: 0 4px;
}

.mkt-flow__col {
    flex: 1 1 140px;
    min-width: 120px;
    max-width: 200px;
    padding: 16px 12px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--adm-border, #e8e8e8);
    text-align: center;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.mkt-flow__col--mid {
    border-color: rgba(234, 88, 12, 0.35);
    box-shadow: 0 2px 8px rgba(234, 88, 12, 0.08);
}

.mkt-flow__icon {
    display: block;
    width: 44px;
    height: 44px;
    margin: 0 auto 10px;
    border-radius: 50%;
}

.mkt-flow__icon--user {
    background: linear-gradient(135deg, #34d399, #059669);
}

.mkt-flow__icon--gear {
    background: linear-gradient(135deg, #fb923c, #ea580c);
}

.mkt-flow__icon--store {
    background: linear-gradient(135deg, #93c5fd, #2563eb);
}

.mkt-flow__lab {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--adm-text);
}

.mkt-flow__sub {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--adm-text-soft);
    line-height: 1.45;
}

.marketing-app-landing__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin: 0 0 28px;
}

.mkt-land-card {
    padding: 16px 14px;
    border-radius: 10px;
    background: #fafafa;
    border: 1px solid var(--adm-border, #e8e8e8);
}

.mkt-land-card__t {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--adm-text);
}

.mkt-land-card__p {
    margin: 0;
    font-size: 13px;
    color: var(--adm-text-mid);
    line-height: 1.55;
}

.marketing-app-landing__body {
    font-size: 14px;
    color: var(--adm-text-mid);
    line-height: 1.75;
    max-width: 720px;
}

.marketing-app-save-hint {
    margin: 20px 0 12px;
    font-size: 13px;
    color: var(--adm-text-soft);
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .marketing-hub__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .marketing-hub__grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
    }
    .marketing-hub__grid--apps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .marketing-hub__grid,
    .marketing-hub__grid--three {
        grid-template-columns: 1fr;
    }
    .marketing-hub__grid--apps {
        grid-template-columns: 1fr;
    }
}

/* —— 设置中心（卡片 + 二级页） —— */
.settings-hub-desc {
    margin: 8px 0 0;
    font-size: 14px;
    color: var(--adm-text-mid);
    line-height: 1.55;
    max-width: 720px;
}

.settings-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.settings-hub-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.12s;
}

.settings-hub-card:hover {
    border-color: var(--adm-primary-ring);
    box-shadow: 0 6px 20px rgba(255, 115, 38, 0.12);
    transform: translateY(-2px);
}

.settings-hub-card--disabled {
    opacity: 0.55;
    pointer-events: none;
    cursor: default;
}

.settings-hub-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--adm-primary-soft);
    color: var(--adm-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.settings-hub-card__icon svg {
    width: 24px;
    height: 24px;
}

.settings-hub-card__title {
    font-size: 16px;
    font-weight: 600;
    color: var(--adm-text);
}

.settings-hub-card__sub {
    font-size: 13px;
    color: var(--adm-text-soft);
    line-height: 1.45;
}

.settings-section-h {
    margin: 28px 0 16px;
    padding-left: 12px;
    border-left: 4px solid var(--adm-primary);
    font-size: 16px;
    font-weight: 600;
    color: var(--adm-text);
}

.settings-section-h:first-of-type {
    margin-top: 0;
}

.settings-hint {
    font-size: 13px;
    color: var(--adm-text-soft);
    margin: 6px 0 0;
    line-height: 1.45;
}

/* ========== 设置类页面：大厂化信息密度与对齐（.adm-settings-page） ========== */
.adm-settings-page {
    --adm-set-label-w: 168px;
    --adm-set-stack-max: 640px;
}

.adm-settings-page .settings-section-h {
    margin: 30px 0 16px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.adm-settings-page .settings-section-h:first-of-type {
    margin-top: 0;
}

.adm-settings-page .form-group {
    margin-bottom: 22px;
}

.adm-settings-page .form-group > label:first-child {
    font-size: 14px;
    font-weight: 600;
    color: var(--adm-text);
    margin-bottom: 10px;
}

.adm-settings-page .form-group textarea {
    max-width: min(640px, 100%);
}

.adm-settings-page .form-group > input[type="number"] {
    max-width: 220px;
}

.adm-settings-page .settings-indent {
    margin: 10px 0 6px;
    padding: 12px 14px;
    max-width: min(var(--adm-set-stack-max), 100%);
    background: rgba(255, 248, 240, 0.65);
    border-radius: 10px;
    border: 1px solid rgba(255, 180, 130, 0.28);
    border-left: 3px solid rgba(255, 115, 38, 0.45);
}

.adm-settings-page .settings-indent p {
    margin: 0 0 8px;
    line-height: 1.65;
    font-size: 14px;
    color: var(--adm-text);
}

.adm-settings-page .settings-indent p:last-child {
    margin-bottom: 0;
}

.adm-settings-page .settings-indent input[type="number"],
.adm-settings-page .settings-indent input[type="text"] {
    width: auto;
    min-width: 52px;
    max-width: 96px;
    display: inline-block;
    vertical-align: middle;
}

.adm-settings-page .admin-choice-stack {
    max-width: min(var(--adm-set-stack-max), 100%);
}

.adm-settings-page .settings-list-row {
    max-width: min(680px, 100%);
}

.adm-settings-page .settings-list-row input[type="text"] {
    flex: 1 1 auto;
    min-width: 120px;
    max-width: 420px;
}

/* 取单号等：标签 + 短输入横向成组 */
.adm-kv-inline-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    max-width: min(var(--adm-set-stack-max), 100%);
    margin-top: 8px;
}

.adm-kv-pair {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
}

.adm-kv-pair__k {
    font-size: 14px;
    font-weight: 500;
    color: var(--adm-text-mid);
    white-space: nowrap;
}

.adm-kv-pair .adm-inp-prefix {
    width: 76px;
    min-width: 56px;
    max-width: 96px;
    text-align: center;
}

.adm-settings-page .settings-list-row .btn {
    flex-shrink: 0;
}

.adm-settings-page fieldset {
    margin: 14px 0;
    padding: 14px 16px 16px;
    max-width: min(var(--adm-set-stack-max), 100%);
    border: 1px solid rgba(255, 180, 130, 0.38);
    border-radius: 10px;
    background: rgba(255, 253, 250, 0.6);
}

.adm-settings-page fieldset legend {
    font-size: 14px;
    font-weight: 600;
    padding: 0 8px;
    color: var(--adm-text);
}

.settings-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 16px;
    font-weight: 500;
    cursor: pointer;
}

.settings-block-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    cursor: pointer;
}

.settings-indent {
    margin: 8px 0 12px 24px;
    padding-left: 12px;
    border-left: 2px solid #eee;
}

.settings-req {
    color: #ff4d4f;
}

.settings-codearea {
    width: 100%;
}

.settings-list-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.settings-list-row input[type="text"] {
    flex: 1;
    max-width: 480px;
}

.settings-toggles label {
    display: inline-block;
    margin-bottom: 8px;
}

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

.settings-perm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px 16px;
    align-items: end;
}

.settings-perm-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.settings-inline-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
}

.settings-subrow td {
    background: #fafafa;
    border-top: none;
    padding-top: 0;
}

/* ========== 后台表单：图2 开关 / 图3 选择（对齐与状态色） ========== */
:root {
    /* 表单开关「开」态与系统主色一致（橙色），关闭为灰色 */
    --adm-ui-blue: var(--adm-primary);
    --adm-ui-blue-dark: var(--adm-primary-dark);
    --adm-ui-border: #d9d9d9;
    --adm-ui-off-bg: #d9d9d9;
}

/* —— 图2：胶囊开关（文案与开关紧邻，禁止 space-between 拉满整行） —— */
.admin-toggle-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    flex-wrap: wrap;
    width: 100%;
    max-width: min(720px, 100%);
}

.admin-toggle-row__text {
    flex: 0 1 auto;
    min-width: 0;
    max-width: min(520px, 100%);
    line-height: 1.55;
    font-weight: 500;
    color: var(--adm-text);
}

.admin-toggle-row__title {
    font-weight: 600;
    color: var(--adm-text);
}

.admin-toggle-row__hint {
    display: inline;
    margin-left: 4px;
    font-weight: 400;
    color: var(--adm-text-soft);
    font-size: 14px;
}

.admin-ui-toggle {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 26px;
    flex-shrink: 0;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
}

.admin-ui-toggle__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.admin-ui-toggle__face {
    display: block;
    width: 52px;
    height: 26px;
    border-radius: 13px;
    background: var(--adm-ui-off-bg);
    border: 1px solid #bfbfbf;
    box-sizing: border-box;
    position: relative;
    transition: background 0.2s ease, border-color 0.2s ease;
    pointer-events: none;
}

.admin-ui-toggle__face::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, 0.2);
    transition: transform 0.2s ease;
}

.admin-ui-toggle__face::before {
    content: "关";
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    font-weight: 600;
    color: #8c8c8c;
    line-height: 1;
}

/* 胶囊开关：开启 = 橙色渐变，关闭 = 灰色 */
.admin-ui-toggle__input:checked + .admin-ui-toggle__face {
    background: var(--adm-gradient);
    border-color: var(--adm-primary);
    box-shadow: 0 2px 6px rgba(255, 115, 38, 0.28);
}

.admin-ui-toggle__input:checked + .admin-ui-toggle__face::after {
    transform: translateX(26px);
}

.admin-ui-toggle__input:checked + .admin-ui-toggle__face::before {
    content: "开";
    left: 8px;
    right: auto;
    color: #fff;
}

.admin-ui-toggle__input:focus-visible + .admin-ui-toggle__face {
    outline: 2px solid var(--adm-primary);
    outline-offset: 2px;
}

/* —— 图3：多选行（复选框 + 文案顶对齐） —— */
.admin-ui-choice-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 720px;
    cursor: pointer;
    font-weight: 500;
    color: var(--adm-text);
    margin: 0 0 12px;
    line-height: 1.55;
}

.admin-ui-choice-line:last-child {
    margin-bottom: 0;
}

.admin-ui-choice-line__input {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    margin: 3px 0 0;
    flex-shrink: 0;
    accent-color: var(--adm-ui-blue);
    cursor: pointer;
}

.admin-ui-choice-line:has(.admin-ui-choice-line__input:checked) {
    color: var(--adm-ui-blue);
}

.admin-ui-choice-line:has(.admin-ui-choice-line__input:checked) .admin-ui-choice-line__text {
    color: var(--adm-ui-blue);
}

.admin-ui-choice-line__text {
    flex: 1;
    min-width: 0;
    color: inherit;
}

.admin-ui-choice-line--compact {
    margin: 0;
    align-items: center;
}

.admin-ui-choice-line--compact .admin-ui-choice-line__input {
    margin-top: 0;
}

/* 多选成组：横向换行 */
.admin-choice-group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 20px;
}

.admin-choice-stack {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 720px;
}

.admin-choice-stack .admin-ui-choice-line {
    margin-bottom: 0;
}

/* 支付等：纵向开关列表 */
.settings-toggles {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.settings-toggles .admin-toggle-row {
    max-width: min(720px, 100%);
}

/* 纵向排列的多选（外送设置等） */
.settings-check-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

/* —— 图3：行内 radio/checkbox（settings-inline、块级单选） —— */
.settings-inline:has(input[type="checkbox"]),
.settings-inline:has(input[type="radio"]) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 18px;
    margin-bottom: 6px;
    vertical-align: middle;
    font-weight: 500;
    color: var(--adm-text);
    cursor: pointer;
}

.settings-inline:has(input[type="checkbox"]) input,
.settings-inline:has(input[type="radio"]) input {
    width: 18px;
    height: 18px;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--adm-ui-blue);
    cursor: pointer;
}

.settings-inline:has(input:checked) {
    color: var(--adm-ui-blue);
}

.settings-block-radio {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0;
    cursor: pointer;
    font-weight: 500;
    color: var(--adm-text);
}

.settings-block-radio input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--adm-ui-blue);
    cursor: pointer;
}

.settings-block-radio:has(input:checked) {
    color: var(--adm-ui-blue);
}

/* 表单单列：label 直接包裹 checkbox/radio（非字段标题） */
.form-group > label:has(> input[type="checkbox"]):not(.admin-image-clear):not(.tb-icon-clear),
.form-group > label:has(> input[type="radio"]) {
    display: inline-flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
    margin-bottom: 10px;
    max-width: 720px;
    color: var(--adm-text);
    cursor: pointer;
}

.form-group > label:has(> input[type="checkbox"]):not(.admin-image-clear):not(.tb-icon-clear) input,
.form-group > label:has(> input[type="radio"]) input {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin: 3px 0 0;
    accent-color: var(--adm-ui-blue);
    cursor: pointer;
}

.form-group > label:has(> input:checked) {
    color: var(--adm-ui-blue);
}

.form-group > label:has(> input[type="checkbox"]):not(.admin-image-clear) + .settings-hint,
.form-group > label:has(> input[type="radio"]) + .settings-hint {
    margin-top: -4px;
}

/* 品牌 · form-row-brand 内联选项 */
.form-row-brand > label:has(> input[type="checkbox"]),
.form-row-brand > label:has(> input[type="radio"]) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 16px;
    margin-bottom: 4px;
    font-weight: 500;
    color: var(--adm-text);
    cursor: pointer;
}

.form-row-brand > label:has(> input[type="checkbox"]) input,
.form-row-brand > label:has(> input[type="radio"]) input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--adm-ui-blue);
    cursor: pointer;
}

.form-row-brand > label:has(> input:checked) {
    color: var(--adm-ui-blue);
}

.brand-radios label:has(input:checked) {
    color: var(--adm-ui-blue);
}

.brand-radios label input[type="radio"],
.brand-radios label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--adm-ui-blue);
}

/* SMTP 端口 + SSL 同行 */
.admin-smtp-port-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
}

.admin-smtp-port-row input[type="number"] {
    width: 120px;
}

/* 权限矩阵内复选框 */
.settings-perm-checks .settings-inline:has(input[type="checkbox"]) {
    margin-bottom: 0;
}

/* 旧类名兼容（营销页已改用新结构） */
.marketing-check {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
    cursor: pointer;
    color: var(--adm-text);
}

.marketing-check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 3px 0 0;
    accent-color: var(--adm-ui-blue);
    flex-shrink: 0;
}

.form-group > label.marketing-check {
    display: inline-flex;
}

/* ---------- 总部商品库 · 类电商控制台布局 ---------- */
.product-hq-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.product-hq-sidebar {
    flex: 0 0 200px;
    min-width: 180px;
    background: var(--adm-subnav-bg);
    border: none;
    border-right: 1px solid var(--adm-subnav-border);
    border-radius: 0;
    box-shadow: none;
    padding: 12px 0 14px;
}

.product-hq-sidebar__title {
    padding: var(--adm-subnav-title-pad);
    font-size: var(--adm-subnav-title-size);
    font-weight: var(--adm-subnav-title-weight);
    color: var(--adm-text);
    border-bottom: 1px solid var(--adm-subnav-border);
    margin: 0 0 8px;
    text-align: center;
}

.product-hq-sidebar__link {
    display: block;
    margin: 2px var(--adm-subnav-link-active-inset-x);
    padding: var(--adm-subnav-link-pad-y) var(--adm-subnav-link-pad-x);
    color: var(--adm-text-mid);
    text-decoration: none;
    font-size: var(--adm-subnav-link-size);
    font-weight: var(--adm-subnav-link-weight);
    border-radius: var(--adm-subnav-link-pill-radius);
    text-align: center;
    transition: background 0.15s ease, color 0.15s ease;
}

.product-hq-sidebar__link:hover {
    background: var(--adm-subnav-link-hover-bg);
    color: var(--adm-text);
}

.product-hq-sidebar__link.is-active {
    background: var(--adm-subnav-link-active-bg);
    color: var(--adm-subnav-link-active-color);
    font-weight: var(--adm-subnav-link-weight-active);
    box-shadow: var(--adm-subnav-link-active-shadow);
}

.product-hq-sidebar__link--muted {
    font-size: var(--adm-subnav-link-size);
    color: var(--adm-primary-dark);
    font-weight: 500;
    text-align: center;
    margin: 2px var(--adm-subnav-link-active-inset-x);
    border-radius: var(--adm-subnav-link-pill-radius);
}

.product-hq-sidebar__link--muted:hover {
    color: var(--adm-primary);
}

.product-hq-sidebar__sep {
    border-top: 1px solid var(--adm-subnav-border);
    margin: 8px 0;
}

.product-hq-main {
    flex: 1;
    min-width: 280px;
}

.product-console-filter {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 16px 18px;
    margin-bottom: 0;
}

.product-console-filter__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.product-console-filter__label {
    font-size: 14px;
    color: #595959;
    white-space: nowrap;
}

.product-console-search-combo {
    display: flex;
    border: 1px solid var(--adm-field-border);
    border-radius: var(--adm-field-radius);
    overflow: hidden;
    background: var(--adm-field-bg);
    min-width: 220px;
    transition: var(--adm-field-transition);
}

.product-console-search-combo:focus-within {
    border-color: var(--adm-field-border-focus);
    box-shadow: var(--adm-field-shadow-focus);
    background: #ffffff;
}

.product-console-search-combo .product-console-select--shrink {
    border: none;
    border-radius: 0;
    border-right: 1px solid var(--adm-field-border);
    width: auto;
    min-width: 100px;
    flex-shrink: 0;
    box-shadow: none;
    background-color: transparent;
    background-image: var(--adm-field-select-arrow);
}

.product-console-search-combo .product-console-input {
    border: none;
    border-radius: 0;
    flex: 1;
    min-width: 120px;
    box-shadow: none;
    background: transparent;
}

.product-console-input,
.product-console-select {
    min-width: 140px;
}

.product-console-select {
    min-width: 140px;
}

.product-console-filter__submit {
    margin-left: auto;
}

.product-console-filter__clear {
    margin-left: 0;
}

@media (max-width: 900px) {
    .product-console-filter__submit {
        margin-left: 0;
    }
}

.product-console-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e8e8e8;
    margin-top: 16px;
    background: #fff;
    padding: 0 4px;
    border-radius: 8px 8px 0 0;
    border: 1px solid #e8e8e8;
    border-bottom-color: #e8e8e8;
}

.product-console-tab {
    padding: 14px 20px;
    font-size: 14px;
    color: #595959;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.product-console-tab:hover {
    color: var(--adm-accent);
}

.product-console-tab.is-active {
    color: var(--adm-accent);
    font-weight: 600;
    border-bottom-color: var(--adm-accent);
}

.product-console-tab__cnt {
    margin-left: 4px;
    color: #8c8c8c;
    font-weight: 400;
}

.product-console-tab.is-active .product-console-tab__cnt {
    color: var(--adm-accent);
}

.product-console-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-top: none;
    border-radius: 0 0 8px 8px;
    margin-bottom: 16px;
}

.product-console-toolbar__picked {
    font-size: 14px;
    color: #595959;
}

.product-console-toolbar__picked strong {
    color: var(--adm-accent);
    font-weight: 600;
}

.product-console-toolbar__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.product-console-btn--green {
    background: linear-gradient(180deg, #73d13d 0%, #52c41a 100%);
    color: #fff;
    border: 1px solid #389e0d;
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.04);
}

.product-console-btn--green:hover {
    filter: brightness(1.05);
}

.product-console-batch-form {
    margin: 0;
    display: none;
}

.product-console-editor-wrap {
    margin-bottom: 16px;
}

.product-console-table-card {
    border-radius: 8px;
    overflow: hidden;
}

.product-console-table-card__head {
    border-bottom: 1px solid #f0f0f0;
}

.table-scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.product-console-table .product-console-th-check {
    width: 44px;
    text-align: center;
}

.product-console-table input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--adm-accent);
    cursor: pointer;
}

.product-console-muted {
    color: #8c8c8c;
    font-size: 13px;
}

.product-console-namecell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 160px;
}

.product-console-namecell__img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
    border: 1px solid #f0f0f0;
}

/* ========== 设置 · 模版消息（订阅消息列表） ========== */
.tpl-msg-page {
    padding: 20px 24px 24px;
}

.tpl-msg-page__head {
    margin-bottom: 16px;
}

.tpl-msg-page__title {
    margin: 0;
    padding-left: 12px;
    border-left: 4px solid var(--adm-accent);
    font-size: 18px;
    font-weight: 600;
    color: var(--adm-text, #262626);
}

.tpl-msg-infobox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    margin-bottom: 20px;
    background: var(--adm-accent-soft);
    border: 1px solid var(--adm-accent-soft-border);
    border-radius: 6px;
    color: var(--adm-accent-dark);
    font-size: 14px;
    line-height: 1.55;
}

.tpl-msg-infobox__ico {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--adm-accent);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-style: normal;
    line-height: 22px;
    text-align: center;
    font-family: Georgia, serif;
}

.tpl-msg-infobox__txt {
    margin: 0;
}

.tpl-msg-table-wrap {
    margin: 0 -4px;
}

.tpl-msg-table th,
.tpl-msg-table td {
    padding: 14px 16px;
    vertical-align: middle;
}

.tpl-msg-table__title {
    font-weight: 500;
    color: var(--adm-text, #262626);
    white-space: nowrap;
}

.tpl-msg-table__muted {
    color: #595959;
    white-space: nowrap;
}

.tpl-msg-table__content {
    color: #8c8c8c;
    font-size: 13px;
    line-height: 1.45;
    max-width: 420px;
}

.tpl-msg-table__col-status {
    width: 160px;
}

.tpl-msg-table__col-op {
    width: 72px;
    text-align: right;
}

.tpl-msg-toggle-form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.tpl-msg-toggle-form__switch {
    flex-shrink: 0;
}

.tpl-msg-toggle-form__label {
    font-size: 13px;
    color: #8c8c8c;
}

.tpl-msg-link-edit {
    color: var(--adm-accent);
    font-weight: 500;
    text-decoration: none;
}

.tpl-msg-link-edit:hover {
    text-decoration: underline;
}

.tpl-msg-flash {
    padding: 10px 14px;
    margin-bottom: 16px;
    border-radius: 6px;
    font-size: 14px;
}

.tpl-msg-flash--ok {
    background: #f6ffed;
    border: 1px solid #b7eb8f;
    color: #389e0d;
}

.tpl-msg-edit {
    padding: 20px 24px 28px;
}

.tpl-msg-edit__h {
    margin-bottom: 20px;
}

.tpl-msg-edit__readonly {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
}

.tpl-msg-edit__static {
    padding: 8px 0;
    color: #595959;
    font-size: 14px;
    line-height: 1.5;
}

/* —— 语音提醒设置（提示音设置） —— */
.vr-page-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 600;
    color: #262626;
}

.vr-page-title::before {
    content: '';
    display: block;
    width: 4px;
    height: 18px;
    border-radius: 2px;
    background: var(--adm-accent);
    flex-shrink: 0;
}

.vr-table-wrap {
    overflow-x: auto;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    background: #fff;
}

.vr-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.vr-table th {
    text-align: left;
    padding: 14px 16px;
    background: #fafafa;
    color: #262626;
    font-weight: 600;
    border-bottom: 1px solid #f0f0f0;
    white-space: nowrap;
}

.vr-table td {
    padding: 16px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    color: #262626;
}

.vr-table tr:last-child td {
    border-bottom: none;
}

.vr-scene {
    font-weight: 500;
    min-width: 200px;
}

.vr-counts {
    white-space: normal;
}

.vr-radio {
    display: inline-flex;
    align-items: center;
    margin-right: 18px;
    margin-bottom: 6px;
    cursor: pointer;
    color: #595959;
    font-size: 14px;
}

.vr-radio input {
    margin-right: 6px;
    accent-color: var(--adm-accent);
}

.vr-select {
    min-width: 200px;
    max-width: 100%;
    height: 36px;
    padding: 0 32px 0 11px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    color: #262626;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.vr-select:focus {
    border-color: var(--adm-accent);
    outline: none;
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);
}

.vr-custom-wrap {
    margin-top: 12px;
}

.vr-custom-hr {
    height: 1px;
    background: #f0f0f0;
    margin-bottom: 12px;
}

.vr-custom-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.vr-input-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.vr-upload-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    cursor: pointer;
    border: none;
    font-size: 14px;
    padding: 8px 18px;
    border-radius: 4px;
}

.vr-upload-btn::before {
    content: '';
    width: 14px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M12 16V4m0 0l-4 4m4-4l4 4M4 20h16'/%3E%3C/svg%3E") center/contain no-repeat;
}

.vr-custom-meta {
    margin: 8px 0 0;
    font-size: 12px;
    color: #8c8c8c;
}

.vr-action {
    white-space: nowrap;
}

.vr-preview {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--adm-accent);
    text-decoration: none;
    font-size: 14px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}

.vr-preview:hover {
    color: var(--adm-accent-hover);
    text-decoration: underline;
}

.vr-preview::before {
    content: '';
    width: 14px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23595959' stroke-width='2'%3E%3Cpath d='M11 5L6 9H2v6h4l5 4V5zM15.54 8.46a5 5 0 0 1 0 7.07'/%3E%3C/svg%3E") center/contain no-repeat;
}

button.vr-preview::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23595959' stroke-width='2'%3E%3Cpath d='M11 5L6 9H2v6h4l5 4V5zM15.54 8.46a5 5 0 0 1 0 7.07'/%3E%3C/svg%3E");
}

.vr-foot {
    margin-top: 20px;
}

.vr-muted {
    color: #bfbfbf;
    font-size: 13px;
}

/* —— 数据中心 · 营业/门店等报表（大厂化布局） —— */
.data-report-page {
    max-width: 1400px;
}

.data-report-hero {
    margin-bottom: 20px;
}

.data-report-hero--compact {
    margin-bottom: 12px;
}

.data-report-hero__title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px 20px;
}

.data-report-hero__h {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #262626;
}

.data-report-hero__meta {
    font-size: 13px;
    color: #8c8c8c;
}

.data-report-hero__desc {
    margin: 10px 0 0;
    font-size: 13px;
    color: #595959;
    line-height: 1.6;
    max-width: 960px;
}

.data-report-alert {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--adm-accent-soft);
    border: 1px solid var(--adm-accent-soft-border);
    color: var(--adm-accent-dark);
    font-size: 13px;
    line-height: 1.55;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.data-report-alert__icon {
    flex-shrink: 0;
    font-weight: 700;
}

.data-report-filter-card {
    margin-bottom: 20px;
    border: 1px solid #f0f0f0;
    padding: 16px 20px;
}

.data-report-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.data-report-presets--sm {
    margin-bottom: 10px;
}

.data-report-preset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    border-radius: 4px;
    border: 1px solid #d9d9d9;
    background: #fff;
    color: #595959;
    font-size: 13px;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.data-report-preset:hover {
    color: var(--adm-accent);
    border-color: var(--adm-accent);
}

.data-report-preset.is-active {
    background: var(--adm-accent);
    border-color: var(--adm-accent);
    color: #fff;
}

.data-report-custom-range {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    padding-top: 4px;
    border-top: 1px solid #f5f5f5;
}

.data-report-custom-range--grow {
    flex: 1;
}

.data-report-custom-range__lab {
    font-size: 13px;
    color: #595959;
}

.data-report-custom-range__sep {
    color: #8c8c8c;
    font-size: 13px;
}

.data-report-date,
.data-report-select {
    height: 34px;
    padding: 0 10px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    font-size: 13px;
    color: #262626;
    background: #fff;
}

.data-report-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.data-report-kpi-grid--dense {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1200px) {
    .data-report-kpi-grid,
    .data-report-kpi-grid--dense {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .data-report-kpi-grid,
    .data-report-kpi-grid--dense {
        grid-template-columns: 1fr;
    }
}

.data-report-kpi {
    background: #fafafa;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    padding: 16px 18px;
    min-height: 88px;
}

.data-report-kpi__label {
    font-size: 13px;
    color: #8c8c8c;
    margin-bottom: 8px;
}

.data-report-kpi__value {
    font-size: 22px;
    font-weight: 700;
    color: #262626;
    line-height: 1.2;
}

.data-report-kpi__sub {
    margin-top: 6px;
    font-size: 12px;
    color: #8c8c8c;
    line-height: 1.35;
}

.data-report-kpi__warn {
    color: #d4380d;
}

.data-report-kpi__muted {
    font-size: 18px;
    font-weight: 600;
    color: #bfbfbf;
}

.data-report-block {
    margin-bottom: 20px;
    border: 1px solid #f0f0f0;
}

.data-report-block__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px 0;
}

.data-report-block__head--row {
    justify-content: space-between;
    flex-wrap: wrap;
}

.data-report-block__head-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.data-report-block__bar {
    width: 4px;
    height: 18px;
    border-radius: 2px;
    background: var(--adm-accent);
    flex-shrink: 0;
}

.data-report-block__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #262626;
}

.data-report-block__body {
    padding: 8px 20px 20px;
}

.data-report-inline-form {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 20px 12px;
}

.data-report-inline-form__lab {
    font-size: 13px;
    color: #8c8c8c;
}

.data-report-shop-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.data-report-shop-cell__ico {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.data-report-rank-medal {
    font-size: 22px;
    line-height: 1;
}

.data-report-money {
    color: #52c41a;
    font-weight: 600;
}

.data-report-empty {
    text-align: center;
    color: #bfbfbf;
    padding: 48px 16px !important;
}

.data-report-chart-hint {
    margin: 0 0 8px;
    font-size: 13px;
    color: #8c8c8c;
}

.data-report-chart-wrap {
    height: 280px;
    position: relative;
}

.data-report-table-note {
    margin: 0 0 12px;
    font-size: 13px;
    color: #8c8c8c;
}

.data-report-foot-link {
    margin: 16px 0 0;
    font-size: 14px;
}

.data-report-foot-link a {
    color: var(--adm-accent);
    text-decoration: none;
}

.data-report-foot-link a:hover {
    text-decoration: underline;
}

.data-report-tabs {
    display: flex;
    gap: 24px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 16px;
    padding: 0 2px;
}

.data-report-tabs__item {
    padding: 10px 0 12px;
    font-size: 15px;
    font-weight: 500;
    color: #595959;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.data-report-tabs__item.is-active {
    color: var(--adm-accent);
    border-bottom-color: var(--adm-accent);
}

.data-report-tabs__item.is-disabled {
    color: #bfbfbf;
    cursor: not-allowed;
}

.data-report-filter-inner {
    flex-direction: column;
    align-items: stretch;
}

.data-report-page--nested .data-report-filter-inner .data-report-presets {
    margin-bottom: 12px;
}

/* 全局：次要链接 / 文字强调用浅黑，主按钮保持橙色 btn-primary */
.admin-layout a:not(.btn):not(.btn-primary):not(.btn-default):not(.btn-success):not(.btn-danger):not(.sd-btn--primary):not(.sidebar-rail__item):not(.sidebar-flyout__link):not(.brand-subnav__item):not(.shop-delivery-subnav__item) {
    color: var(--adm-accent);
}

.admin-layout a:not(.btn):not(.btn-primary):not(.sd-btn--primary):not(.sidebar-rail__item):not(.sidebar-flyout__link):not(.brand-subnav__item):not(.shop-delivery-subnav__item):hover {
    color: var(--adm-accent-dark);
}

/* 橙色主按钮：始终白字（含配送页 sd-btn、全局 btn-primary） */
.admin-layout .btn-primary,
.admin-layout a.btn-primary,
.admin-layout button.btn-primary,
.admin-layout .sd-btn--primary,
.admin-layout a.sd-btn--primary,
.admin-layout button.sd-btn--primary {
    color: #fff !important;
}

.admin-layout .btn-primary:hover,
.admin-layout a.btn-primary:hover,
.admin-layout button.btn-primary:hover,
.admin-layout .sd-btn--primary:hover,
.admin-layout a.sd-btn--primary:hover,
.admin-layout button.sd-btn--primary:hover {
    color: #fff !important;
}

/* 橙色胶囊 Tab（积分设置、优惠券等 cp-subtabs） */
.admin-layout .cp-subtabs a.is-active,
.admin-layout .cp-subtabs a.is-active:hover {
    color: #fff !important;
}
