/* ============================================================
   燃猫集 · 后台品牌主题
   主色：橙 #FF6B1A   辅助：薄荷绿 #2FBF8F
   ============================================================ */
:root {
    --rmj-brand: #FF6B1A;
    --rmj-brand-2: #FF9A3D;
    --rmj-brand-soft: #FFF4EC;
    --rmj-mint: #2FBF8F;
    --rmj-text: #2B2B2B;
    --rmj-sub: #8A8F99;
    --rmj-border: #F0F1F4;
}

body { color: var(--rmj-text); }

/* 顶部/侧边 */
.layui-layout-admin .layui-logo {
    color: var(--rmj-brand) !important;
    font-weight: 800;
    letter-spacing: .5px;
}
.layui-layout-admin .layui-logo .rmj-logo-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    background: var(--rmj-brand); margin-right: 8px; vertical-align: middle;
}
.layui-nav-tree .layui-this > a,
.layui-nav-tree .layui-nav-child dd.layui-this > a {
    background: var(--rmj-brand-soft) !important;
    color: var(--rmj-brand) !important;
    border-right: 3px solid var(--rmj-brand) !important;
    font-weight: 600;
}
.layui-nav-tree .layui-nav-bar { background-color: var(--rmj-brand) !important; }
/* 侧栏激活项统一为品牌浅橙（覆盖模板默认浅蓝 #f0faff） */
#app-sidebar .layui-nav-tree li.layui-this > a,
#app-sidebar .layui-nav-tree .layui-nav-child dd.layui-this > a {
    background-color: var(--rmj-brand-soft) !important;
    color: var(--rmj-brand) !important;
    font-weight: 600;
}
#app-sidebar .layui-nav-tree li.layui-this > a .layui-icon,
#app-sidebar .layui-nav-tree .layui-nav-child dd.layui-this > a .layui-icon {
    color: var(--rmj-brand) !important;
}
.layui-nav-tree .layui-nav-item > a:hover,
.layui-nav-tree .layui-nav-child dd > a:hover { color: var(--rmj-brand) !important; background: #FFF9F4 !important; }
.nepadmin-tabs-menu li.layui-this { color: var(--rmj-brand) !important; }
.nepadmin-tabs-menu li.layui-this::after { border-bottom-color: var(--rmj-brand) !important; }
.nepadmin-tabs-menu li.layui-this .nepadmin-tabs-ball { border-color: var(--rmj-brand) !important; background-color: var(--rmj-brand) !important; }

/* 按钮 */
.el-button--primary:not(.is-plain) {
    color: #fff !important;
    background-color: var(--rmj-brand) !important;
    border-color: var(--rmj-brand) !important;
}
.el-button--primary:not(.is-plain):hover,
.el-button--primary:not(.is-plain):focus {
    background-color: #F25C0C !important; border-color: #F25C0C !important;
}
.el-button--primary.is-plain {
    color: var(--rmj-brand) !important;
    background: var(--rmj-brand-soft) !important;
    border-color: #FFD5B8 !important;
}
.el-button--primary.is-plain:hover { color: #fff !important; background: var(--rmj-brand) !important; border-color: var(--rmj-brand) !important; }
.el-button--default:hover { color: var(--rmj-brand) !important; border-color: #FFD5B8 !important; background-color: var(--rmj-brand-soft) !important; }

/* 输入框 */
.el-input-group__append {
    background-color: var(--rmj-brand) !important;
    border-color: var(--rmj-brand) !important;
    color: #fff !important;
}
.el-input-group__append .el-button { color: #fff !important; background: transparent !important; border-color: transparent !important; }
.el-input__inner:focus, .el-textarea__inner:focus { border-color: var(--rmj-brand) !important; }

/* 表格 */
.el-table th.is-leaf { background: #FAFBFC !important; color: #4A4F57 !important; font-weight: 600; }
.el-table--striped .el-table__body tr.el-table__row--striped td { background: #FCFCFD; }
.el-table__row:hover > td { background-color: #FFF8F2 !important; }
.el-table { border-radius: 12px; }

/* 分页 / 开关 */
.el-pagination.is-background .el-pager li:not(.disabled).active { background-color: var(--rmj-brand) !important; color: #fff !important; }
.el-pagination .el-pager li:hover { color: var(--rmj-brand) !important; }
.el-switch.is-checked .el-switch__core { border-color: var(--rmj-brand) !important; background-color: var(--rmj-brand) !important; }
.el-radio__input.is-checked .el-radio__inner,
.el-checkbox__input.is-checked .el-checkbox__inner { border-color: var(--rmj-brand) !important; background: var(--rmj-brand) !important; }
.el-radio__input.is-checked + .el-radio__label,
.el-checkbox__input.is-checked + .el-checkbox__label { color: var(--rmj-brand) !important; }
.el-tag--warning { background: #FFF4E6 !important; border-color: #FFDFC0 !important; color: #E8730C !important; }
.el-tag--success { background: #EAF8F2 !important; border-color: #C9EFDF !important; color: #1E9E72 !important; }

/* 卡片 */
.custom-card { border-radius: 16px !important; border: none; box-shadow: 0 6px 20px rgba(31, 41, 55, .06) !important; }
#app-vue { background: #F6F7F9; }

/* 通用 CRUD */
.crud-page { padding: 18px 20px 24px; }
.crud-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap; padding: 18px 20px 12px;
    border-bottom: 1px solid var(--rmj-border);
}
.crud-filters { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.crud-filters .el-input, .crud-filters .el-select, .crud-filters .el-date-editor { margin: 0; }
.crud-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.crud-summary {
    display: flex; gap: 14px; flex-wrap: wrap;
    padding: 14px 20px 0;
}
.crud-summary-item {
    display: flex; flex-direction: column; gap: 6px;
    min-width: 150px; padding: 12px 18px; border-radius: 12px;
    background: linear-gradient(135deg, #FFF7F1 0%, #FFFFFF 100%);
    border: 1px solid #FFE8D8;
}
.crud-summary-label { font-size: 12px; color: var(--rmj-sub); }
.crud-summary-value { font-size: 20px; font-weight: 700; color: var(--rmj-brand); }
.crud-page .layui-card-body { padding: 16px 20px 20px; }
.crud-page .page-container { margin-top: 16px; justify-content: flex-end; }
.crud-money { color: #E8730C; font-weight: 600; }
.crud-user { display: flex; align-items: center; gap: 10px; }
.crud-user-info { display: flex; flex-direction: column; line-height: 1.3; }
.crud-user-name { font-size: 13px; color: var(--rmj-text); }
.crud-user-sub { font-size: 12px; color: var(--rmj-sub); }
.crud-uploader { display: flex; align-items: center; gap: 12px; }
.crud-upload-img { width: 140px; height: 70px; object-fit: cover; border-radius: 10px; border: 1px solid #eee; }
.crud-upload-empty {
    width: 100px; height: 70px; border: 1px dashed #D9DDE3; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; color: #B4BAC3; font-size: 22px;
    background: #FAFBFC; transition: all .2s;
}
.crud-upload-empty:hover { border-color: var(--rmj-brand); color: var(--rmj-brand); }
.crud-upload-tip { font-size: 12px; color: var(--rmj-sub); }
.crud-help { font-size: 12px; color: var(--rmj-sub); line-height: 1.5; margin-top: 4px; }
.crud-tips { font-size: 13px; color: #606266; background: #FAFBFC; padding: 10px 12px; border-radius: 8px; }
.crud-action-cell .el-button { margin-left: 4px !important; margin-bottom: 4px; }

/* 工作台 */
.rmj-hero {
    background: linear-gradient(120deg, #FF6B1A 0%, #FF9A3D 55%, #FFB765 100%);
    border-radius: 20px; padding: 26px 30px; color: #fff; margin-bottom: 18px;
    display: flex; align-items: center; justify-content: space-between; overflow: hidden;
    position: relative;
}
.rmj-hero::after {
    content: ''; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px;
    background: rgba(255, 255, 255, .12); border-radius: 50%;
}
.rmj-hero h2 { font-size: 26px; margin: 0 0 8px; font-weight: 800; letter-spacing: 1px; }
.rmj-hero p { margin: 0; opacity: .92; font-size: 14px; }
.rmj-hero-cat { font-size: 72px; opacity: .9; }
.rmj-stat {
    border-radius: 16px; padding: 20px 22px; color: #fff; position: relative; overflow: hidden;
    height: 132px; display: flex; flex-direction: column; justify-content: space-between;
    box-shadow: 0 10px 24px rgba(255, 107, 26, .12);
}
.rmj-stat .label { font-size: 14px; opacity: .95; display: flex; align-items: center; gap: 6px; }
.rmj-stat .num { font-size: 34px; font-weight: 800; line-height: 1; }
.rmj-stat .num small { font-size: 14px; font-weight: 400; opacity: .9; margin-left: 4px; }
.rmj-stat .sub { font-size: 12px; opacity: .85; }
.rmj-stat .icon-bg {
    position: absolute; right: 16px; bottom: 10px; font-size: 62px; opacity: .18;
}
.rmj-panel { border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(31,41,55,.05); padding: 20px; box-sizing: border-box; }
.rmj-panel-title { font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.rmj-todo {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 0; border-bottom: 1px dashed #F1F2F4; font-size: 13px;
}
.rmj-todo:last-child { border-bottom: none; }
.rmj-todo .t { color: #4A4F57; }
.rmj-todo .s { font-size: 12px; color: var(--rmj-sub); }
.rmj-quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rmj-quick-item {
    border-radius: 12px; padding: 16px 12px; text-align: center; background: #FAFBFC;
    cursor: pointer; transition: all .2s; border: 1px solid transparent;
}
.rmj-quick-item:hover { background: var(--rmj-brand-soft); border-color: #FFE0CC; transform: translateY(-2px); }
.rmj-quick-item i { font-size: 22px; color: var(--rmj-brand); display: block; margin-bottom: 6px; }
.rmj-quick-item span { font-size: 13px; color: #4A4F57; }

/* 设置页 */
.setting-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 1200px) { .setting-grid { grid-template-columns: 1fr; } }
.setting-block { background: #fff; border-radius: 16px; padding: 22px 24px; box-shadow: 0 6px 20px rgba(31,41,55,.05); }
.setting-block h3 { margin: 0 0 4px; font-size: 16px; }
.setting-block .desc { color: var(--rmj-sub); font-size: 12px; margin-bottom: 18px; }
.setting-block .el-form-item { margin-bottom: 16px; }
.brand-tip { background: var(--rmj-brand-soft); border: 1px solid #FFE3D1; color: #C2560F; border-radius: 10px; padding: 10px 14px; font-size: 13px; }

/* 详情弹窗通用 */
.rmj-detail-head { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: linear-gradient(135deg,#FFF7F1,#FFFFFF); border: 1px solid #FFE8D8; border-radius: 14px; }
.rmj-detail-title { font-size: 17px; font-weight: 700; color: #2B2B2B; }
.rmj-detail-sub { font-size: 12px; color: #8A8F99; margin-top: 4px; }
.rmj-desc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 20px; }
.rmj-desc-grid .item { display: flex; gap: 10px; font-size: 13px; padding: 8px 0; border-bottom: 1px dashed #F1F2F4; }
.rmj-desc-grid .item label { width: 120px; color: #8A8F99; flex-shrink: 0; }
.rmj-desc-grid .item span { color: #3A3F47; }
.rmj-section-title { font-size: 14px; font-weight: 700; margin: 20px 0 10px; padding-left: 10px; border-left: 3px solid #FF6B1A; }
.rmj-text { font-size: 13px; color: #5A6068; line-height: 1.8; background: #FAFBFC; border-radius: 10px; padding: 12px 14px; }
.rmj-img-row { display: flex; gap: 10px; flex-wrap: wrap; }
.rmj-img-thumb { width: 110px; height: 78px; border-radius: 10px; border: 1px solid #eee; }
.rmj-metric-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rmj-metric-row .m { background: #FFF8F2; border: 1px solid #FFE8D8; border-radius: 12px; padding: 12px; text-align: center; }
.rmj-metric-row .m b { display: block; font-size: 20px; color: #FF6B1A; }
.rmj-metric-row .m span { font-size: 12px; color: #8A8F99; }
.rmj-order-goods { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #F1F2F4; }
.rmj-order-goods:last-child { border-bottom: none; }
.rmj-empty { text-align: center; color: #B4BAC3; font-size: 13px; padding: 30px 0; }

/* 面板头 / 筛选 / 分页 通用补充 */
.rmj-panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.rmj-panel-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rmj-panel-tools .layui-btn { margin: 0; }
.rmj-sub { font-size: 12px; color: #8A8F99; }
.rmj-pager { display: flex; justify-content: flex-end; margin-top: 14px; }
.crud-filter { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.crud-filter .el-input, .crud-filter .el-select { margin: 0; }
.rmj-tip { font-size: 12px; color: #8A8F99; }
.rmj-panel + .rmj-panel { margin-top: 16px; }

/* 设置页 */
.setting-wrap { display: flex; gap: 16px; align-items: flex-start; }
.setting-nav { width: 176px; flex: 0 0 176px; background: #fff; border-radius: 14px; padding: 10px; box-shadow: 0 6px 20px rgba(31,41,55,.05); }
.setting-nav .item { padding: 11px 14px; border-radius: 10px; font-size: 13px; color: #5A6068; cursor: pointer; margin-bottom: 4px; transition: all .18s; }
.setting-nav .item:hover { background: #FFF8F2; color: #FF6B1A; }
.setting-nav .item.active { background: #FF6B1A; color: #fff; font-weight: 600; }
.setting-body { flex: 1; min-width: 0; background: #fff; border-radius: 14px; padding: 22px 24px 8px; box-shadow: 0 6px 20px rgba(31,41,55,.05); }
.setting-body .grp-title { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.setting-body .grp-desc { font-size: 12px; color: #8A8F99; margin-bottom: 20px; line-height: 1.6; }
.setting-form { max-width: 780px; }
.setting-form .el-form-item { margin-bottom: 20px; }
.setting-form .unit { font-size: 12px; color: #8A8F99; margin-left: 8px; }
.setting-foot { padding: 16px 0 20px; border-top: 1px solid #F1F2F4; margin-top: 10px; }
.setting-preview { margin-top: 24px; padding: 16px 18px; border-radius: 12px; background: #FAFBFC; border: 1px dashed #E2E6EC; }
.setting-preview .t { font-size: 13px; font-weight: 700; margin-bottom: 10px; color: #3D4A5C; }
.setting-preview .line { font-size: 12px; color: #6B7280; line-height: 1.9; }
.setting-preview .line b { color: #FF6B1A; }

/* 表单内数字输入框，避免 +/- 控件挤压数值 */
.crud-form .el-input-number { width: 100%; }
.crud-form .el-input-number .el-input__inner { text-align: left; padding-left: 12px; padding-right: 12px; }

.crud-form .el-form-item__label { font-size: 13px; }
.crud-form .el-row { row-gap: 2px; }

/* 操作列按钮更紧凑，尽量避免换行 */
.crud-action-cell .layui-btn { margin: 2px 3px; padding: 0 8px; }
.crud-action-cell .cell { padding: 0 4px; }

/* 固定列不透明，避免横向滚动时内容透出 */
.el-table__fixed, .el-table__fixed-right { background: #fff; box-shadow: -6px 0 12px rgba(31,41,55,.05); }
.el-table__fixed-body-wrapper .el-table__body tr td,
.el-table__fixed-right .el-table__fixed-body-wrapper .el-table__body tr td { background: #fff; }
.el-table--striped .el-table__fixed-body-wrapper .el-table__body tr.el-table__row--striped td,
.el-table--striped .el-table__fixed-right .el-table__fixed-body-wrapper .el-table__body tr.el-table__row--striped td { background: #FCFCFD; }
.el-table__fixed-right-patch { background: #FAFBFC; }

/* 快捷入口：固定图标行高，保证 8 个入口基线一致 */
.rmj-quick { align-items: stretch; }
.rmj-quick-item {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-height: 92px; padding: 14px 10px;
}
.rmj-quick-item i {
    display: block; height: 24px; line-height: 24px; width: 24px;
    font-size: 22px; margin: 0 0 8px; flex: 0 0 24px;
}
.rmj-quick-item span { font-size: 13px; line-height: 18px; white-space: nowrap; }

/* 侧边栏：展开项箭头过渡更顺滑 */
.layui-nav-tree .layui-nav-more { transition: transform .2s; }

/* 工作台：待办 / 快捷入口 / 平台资金 三张卡片强制等高，避免高矮不齐、内容溢出 */
.rmj-equal-row { display: flex; align-items: stretch; }
.rmj-equal-row > .el-col { display: flex; flex-direction: column; min-width: 0; }
.rmj-equal-row .rmj-panel { width: 100%; min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.rmj-equal-row .rmj-panel-title { flex: 0 0 auto; }
.rmj-equal-row .rmj-quick {
    flex: 1 1 auto; min-height: 0; min-width: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(0, 1fr);
    align-content: stretch;
}
.rmj-equal-row .rmj-quick-item { min-height: 0; height: auto; padding: 10px 4px; min-width: 0; }
.rmj-equal-row .rmj-quick-item span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.rmj-equal-row .rmj-todo { min-width: 0; gap: 10px; }
.rmj-equal-row .rmj-todo > div:first-child { flex: 1 1 auto; min-width: 0; }
.rmj-equal-row .rmj-todo .t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rmj-equal-row .rmj-todo .el-button { flex: 0 0 auto; }
.rmj-equal-row .rmj-todo:last-child { padding-bottom: 0; }
@media (max-width: 1280px) {
    .rmj-equal-row .rmj-panel { padding: 16px; }
    /* 窄屏时快捷入口改为 2 列 4 行，避免 8 个入口文字被截断 */
    .rmj-equal-row .rmj-quick {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(4, minmax(0, 1fr));
    }
    .rmj-equal-row .rmj-quick-item { padding: 6px 4px; }
    .rmj-equal-row .rmj-quick-item i { font-size: 18px; height: 20px; line-height: 20px; flex: 0 0 20px; margin-bottom: 4px; }
    .rmj-equal-row .rmj-quick-item span { font-size: 12px; }
    .rmj-equal-row .rmj-todo .t { font-size: 12px; }
}

/* 表格内的操作下拉菜单：独立挂载 + 固定白底，避免被固定列/表格行背景遮挡出现黑块 */
.el-dropdown-menu.el-popper {
    background: #fff !important;
    border: 1px solid #EBEEF5;
    border-radius: 10px;
    box-shadow: 0 8px 26px rgba(31, 41, 55, .14);
    padding: 6px 0;
    z-index: 3200 !important;
    min-width: 118px;
}
.el-dropdown-menu.el-popper .el-dropdown-menu__item {
    background-color: #fff;
    color: #4A4F57;
    font-size: 13px;
    line-height: 20px;
    padding: 9px 18px;
}
.el-dropdown-menu.el-popper .el-dropdown-menu__item:not(.is-disabled):hover,
.el-dropdown-menu.el-popper .el-dropdown-menu__item:not(.is-disabled):focus {
    background-color: #FFF3E9;
    color: #FF6B1A;
}
.el-dropdown-menu.el-popper .el-dropdown-menu__item--divided::before { border-top-color: #F1F2F4; }

/* 设置页：微信 / 支付宝 支付渠道切换 */
.pay-switch { display: flex; gap: 12px; margin: 4px 0 22px; }
.pay-switch .item {
    flex: 0 0 220px; display: flex; align-items: center; gap: 10px;
    padding: 12px 16px; border-radius: 12px; border: 1px solid #EBEEF5; background: #FAFBFC;
    cursor: pointer; transition: all .18s;
}
.pay-switch .item i { font-size: 22px; }
.pay-switch .item .t { font-size: 14px; font-weight: 600; color: #3A3F47; line-height: 1.2; }
.pay-switch .item .s { font-size: 12px; color: #8A8F99; margin-top: 2px; }
.pay-switch .item:hover { border-color: #FFD6B8; }
.pay-switch .item.active { border-color: #FF6B1A; background: #FFF7F1; box-shadow: 0 6px 16px rgba(255, 107, 26, .1); }
.pay-switch .item.active .t { color: #FF6B1A; }
.pay-switch .item.wechat i { color: #09BB07; }
.pay-switch .item.alipay i { color: #1677FF; }

/* 支付参数锁定提示条：默认只读，确认风险后才可编辑 */
.pay-guard {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 14px 16px; border-radius: 12px; margin-bottom: 18px;
    background: #FFF8F2; border: 1px solid #FFE0CC;
}
.pay-guard .guard-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pay-guard .guard-icon { font-size: 22px; color: #E8730C; flex: 0 0 auto; }
.pay-guard .t { font-size: 13px; font-weight: 700; color: #C2560F; }
.pay-guard .s { font-size: 12px; color: #8A6A4F; margin-top: 3px; line-height: 1.6; }
.pay-guard .el-button { flex: 0 0 auto; }
.pay-guard.unlocked { background: #F2FBF7; border-color: #CBEFDF; }
.pay-guard.unlocked .guard-icon,
.pay-guard.unlocked .t { color: #1E9E75; }
.pay-guard.unlocked .s { color: #5C7F72; }

/* 锁定态输入框：保持文字可读，不要灰成一片 */
.setting-form .el-input.is-disabled .el-input__inner,
.setting-form .el-textarea.is-disabled .el-textarea__inner {
    background: #F7F8FA; color: #5A6068; -webkit-text-fill-color: #5A6068; cursor: not-allowed;
}
.setting-form .el-input.is-disabled .el-input__inner:hover,
.setting-form .el-textarea.is-disabled .el-textarea__inner:hover { border-color: #E4E7ED; }

/* 工作台页脚：技术支持 */
.rmj-footer {
    display: flex; align-items: center; justify-content: center; gap: 2px;
    padding: 14px 0 6px; margin-top: 4px;
    font-size: 12px; color: #A7AEB9; letter-spacing: .3px;
}
.rmj-footer a { color: #8A8F99; text-decoration: none; transition: color .2s; }
.rmj-footer a:hover { color: #FF6B1A; text-decoration: none; }

