/* =========================================================
   最终舒适字体颜色主题：前端 + 后台
   目标：白色界面，文字清晰舒服，不刺眼，不大红
   ========================================================= */

:root {
    --bg: #ffffff;
    --bg-soft: #f8fafc;
    --bg-hover: #f3f6ff;

    --text-main: #1f2937;
    --text-title: #3730a3;
    --text-nav: #2563eb;
    --text-muted: #64748b;
    --text-soft: #475569;

    --primary: #6d5dfc;
    --primary-dark: #4f46e5;
    --primary-soft: #eef2ff;

    --border: #dbeafe;
    --border-strong: #c7d2fe;

    --success: #059669;
    --warning: #d97706;
    --danger-soft: #b45309;
}

/* 全站白底 */
html,
body,
#app,
.app,
.page,
.wrapper,
.layout,
.container,
.main,
.content,
.main-content,
.page-content,
.admin,
.admin-wrapper,
.layui-layout,
.layui-body,
.layui-fluid,
.layui-container {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: var(--text-main) !important;
}

/* 去掉深色背景和网格 */
body::before,
body::after,
#app::before,
#app::after,
.login::before,
.login::after,
.login-page::before,
.login-page::after,
.login-wrapper::before,
.login-wrapper::after,
.main::before,
.main::after,
.content::before,
.content::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
}

/* 所有基础文字：深灰，清晰但不刺眼 */
body,
body *,
div,
span,
p,
label,
li,
td,
th,
em,
i,
strong,
small,
input,
textarea,
select,
.layui-form-label,
.layui-table,
.layui-table td,
.layui-table th {
    color: var(--text-main) !important;
    opacity: 1 !important;
    text-shadow: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif !important;
}

/* 标题：柔和紫蓝 */
h1,
h2,
h3,
h4,
h5,
h6,
.title,
.page-title,
.login-title,
.user-title,
.card-title,
.panel-title,
.layui-card-header {
    color: var(--text-title) !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
}

/* 后台页面中心标题，比如 卡密管理 */
.card h1,
.card h2,
.card h3,
.panel h1,
.panel h2,
.panel h3,
.content h1,
.content h2,
.content h3,
.main-content h1,
.main-content h2,
.main-content h3 {
    color: var(--text-title) !important;
}

/* 说明文字：灰蓝 */
.desc,
.description,
.sub-title,
.subtitle,
.tips,
.tip,
.help,
.text-muted,
.placeholder,
.notice-text,
.layui-word-aux {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

/* 链接和导航：舒服蓝色 */
a,
a span,
.nav a,
.menu a,
.header a,
.topbar a,
.layui-nav a,
.layui-nav-item a {
    color: var(--text-nav) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

a:hover,
.nav a:hover,
.menu a:hover,
.header a:hover,
.topbar a:hover,
.layui-nav a:hover {
    color: var(--primary-dark) !important;
}

/* 顶部导航栏 */
.header,
.topbar,
.nav,
.menu,
.layui-header,
.layui-nav {
    background: #ffffff !important;
    color: var(--text-nav) !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

/* 当前选中菜单：不用红色，改为紫蓝 */
.active,
.current,
.selected,
.layui-this,
.layui-nav .layui-this,
.layui-nav-itemed {
    background: var(--primary-soft) !important;
    color: var(--primary-dark) !important;
    border-color: var(--primary) !important;
    font-weight: 800 !important;
}

.active *,
.current *,
.selected *,
.layui-this *,
.layui-nav .layui-this * {
    color: var(--primary-dark) !important;
    font-weight: 800 !important;
}

/* 修复之前红色菜单，例如卡密管理 */
[style*="color:red"],
[style*="color: red"],
[style*="color:#f00"],
[style*="color: #f00"],
[style*="color:#ff"],
[style*="color: #ff"] {
    color: var(--primary-dark) !important;
}

/* 卡片、面板 */
.card,
.box,
.panel,
.content-box,
.form-box,
.login-box,
.login-card,
.login-panel,
.user-card,
.info-card,
.notice-card,
.notice-box,
.announcement,
.announcement-box,
.layui-card,
.layui-panel {
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
    color: var(--text-main) !important;
}

/* 表格 */
table,
.layui-table {
    background: #ffffff !important;
    color: var(--text-main) !important;
    border-color: #dbeafe !important;
}

table th,
.layui-table th {
    background: #f8fafc !important;
    color: var(--text-title) !important;
    font-weight: 800 !important;
    border-color: #dbeafe !important;
}

table td,
.layui-table td {
    background: #ffffff !important;
    color: var(--text-soft) !important;
    font-weight: 600 !important;
    border-color: #e5e7eb !important;
}

/* 空数据，例如 暂无卡密 */
.empty,
.no-data,
.null,
.nodata,
tbody tr td[colspan],
.layui-none {
    color: var(--text-muted) !important;
    font-weight: 700 !important;
}

/* 输入框 */
input,
textarea,
select,
.layui-input,
.layui-textarea,
.el-input__inner,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="search"] {
    background: #ffffff !important;
    color: var(--text-main) !important;
    border: 2px solid var(--border-strong) !important;
    border-radius: 14px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus,
.layui-input:focus,
.layui-textarea:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(109, 93, 252, 0.13) !important;
    outline: none !important;
}

input::placeholder,
textarea::placeholder {
    color: #94a3b8 !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}

/* 按钮：紫色渐变，清晰好看 */
button,
.btn,
.button,
.login-btn,
.submit-btn,
.layui-btn,
[type="button"],
[type="submit"] {
    background: linear-gradient(135deg, #6d5dfc, #7c3aed) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 20px rgba(109, 93, 252, 0.22) !important;
    font-weight: 800 !important;
}

button *,
.btn *,
.button *,
.login-btn *,
.submit-btn *,
.layui-btn * {
    color: #ffffff !important;
    font-weight: 800 !important;
}

button:hover,
.btn:hover,
.button:hover,
.login-btn:hover,
.submit-btn:hover,
.layui-btn:hover {
    background: linear-gradient(135deg, #5b4be8, #6d28d9) !important;
}

/* 次级按钮 */
.cancel,
.btn-cancel,
.button-secondary,
.layui-layer-btn1 {
    background: #ffffff !important;
    color: var(--primary-dark) !important;
    border: 1px solid var(--border-strong) !important;
    box-shadow: none !important;
}

/* 成功类：绿色 */
.success,
.green,
.ok,
.balance,
.money-ok,
.status-success {
    color: var(--success) !important;
    font-weight: 800 !important;
}

/* 警告类：橙色，不刺眼 */
.warning,
.orange,
.yellow,
.alert,
.notice-warning {
    color: var(--warning) !important;
    font-weight: 800 !important;
}

/* 错误/删除/失败：不用鲜红，改暗橙 */
.red,
.danger,
.error,
.fail,
.delete,
.del,
.expire,
.expired,
.countdown,
.expire-time,
.time-left {
    color: var(--danger-soft) !important;
    font-weight: 800 !important;
}

/* 价格、金额、数量：紫蓝，不用红色 */
.price,
.money,
.amount,
.num,
.package-price,
.plan-price {
    color: var(--primary-dark) !important;
    font-weight: 800 !important;
}

/* 公告 */
.notice,
.notice-box,
.user-notice,
.announcement,
.announcement-box {
    background: #ffffff !important;
    color: var(--text-soft) !important;
    border: 1px solid var(--border) !important;
}

.notice *,
.notice-box *,
.user-notice *,
.announcement *,
.announcement-box * {
    color: var(--text-soft) !important;
    font-weight: 600 !important;
}

/* 弹窗 */
.layui-layer,
.modal,
.dialog,
.popup,
.el-dialog {
    background: #ffffff !important;
    color: var(--text-main) !important;
    border: 1px solid #dde5f3 !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.16) !important;
}

.layui-layer-title,
.modal-title,
.dialog-title,
.popup-title,
.el-dialog__title,
.el-dialog__header {
    background: #ffffff !important;
    color: var(--text-title) !important;
    font-weight: 800 !important;
    border-bottom: 1px solid #eef2f7 !important;
}

.layui-layer-content,
.modal-content,
.dialog-content,
.popup-content,
.el-dialog__body {
    background: #ffffff !important;
    color: var(--text-main) !important;
}

/* 下拉框 */
.layui-form-select dl,
.dropdown-menu,
.el-select-dropdown {
    background: #ffffff !important;
    border: 1px solid #dde5f3 !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12) !important;
}

.layui-form-select dl dd,
.dropdown-item,
.el-select-dropdown__item {
    background: #ffffff !important;
    color: var(--text-main) !important;
    font-weight: 600 !important;
}

.layui-form-select dl dd:hover,
.dropdown-item:hover,
.el-select-dropdown__item.hover {
    background: var(--bg-hover) !important;
    color: var(--primary-dark) !important;
}

.layui-form-select dl dd.layui-this,
.dropdown-item.active,
.el-select-dropdown__item.selected {
    background: var(--primary-soft) !important;
    color: var(--primary-dark) !important;
    font-weight: 800 !important;
}

/* 后台左侧菜单 */
.sidebar,
.layui-side,
.layui-nav-tree {
    background: #ffffff !important;
    border-right: 1px solid #e5e7eb !important;
}

.sidebar *,
.layui-side *,
.layui-nav-tree * {
    color: var(--text-nav) !important;
    font-weight: 700 !important;
}

/* 图标 */
i,
.icon,
svg,
.layui-icon {
    color: var(--primary-dark) !important;
    fill: var(--primary-dark) !important;
}

/* 底部版权 */
.footer,
.copyright,
.footer *,
.copyright * {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

/* 强制覆盖白字和刺眼红色 */
[style*="color: rgb(255"],
[style*="color:#fff"],
[style*="color: #fff"],
[style*="color:white"],
[style*="color: white"] {
    color: var(--text-main) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

[style*="color:red"],
[style*="color: red"],
[style*="color:#f00"],
[style*="color: #f00"],
[style*="color:#ff0000"],
[style*="color: #ff0000"] {
    color: var(--primary-dark) !important;
}

/* 按钮里的白字保留 */
button [style],
.btn [style],
.layui-btn [style],
.login-btn [style],
.submit-btn [style] {
    color: #ffffff !important;
}
