/**
 * 全局界面微调：圆角、间距、搜索区、表格区域（不改变 layui 类名与业务脚本）
 */
:root {
    --app-radius: 10px;
    --app-radius-sm: 6px;
    --app-muted: #64748b;
    --app-border: #e8ecf1;
    --app-card-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.layuimini-container .layuimini-main {
    padding: 14px 16px 20px;
}

.layui-layout-admin .layui-body {
    background: #f4f6f9;
}

.table-search-fieldset {
    border: 1px solid var(--app-border) !important;
    border-radius: var(--app-radius) !important;
    background: #fff;
    box-shadow: var(--app-card-shadow);
    margin-bottom: 14px !important;
}

.table-search-fieldset legend {
    font-size: 13px !important;
    color: var(--app-muted) !important;
    padding: 0 10px !important;
    margin-left: 12px !important;
}

.layui-card {
    border-radius: var(--app-radius) !important;
    border: 1px solid var(--app-border) !important;
    box-shadow: var(--app-card-shadow) !important;
    overflow: hidden;
}

.layui-card-header {
    font-weight: 600;
    letter-spacing: 0.02em;
    border-bottom-color: var(--app-border) !important;
}

.layui-btn {
    border-radius: var(--app-radius-sm) !important;
}

.layui-table-view {
    border-radius: var(--app-radius) !important;
    overflow: hidden;
    border: 1px solid var(--app-border) !important;
}

.layui-table thead tr {
    background: #f8fafc !important;
}

.layui-input,
.layui-textarea,
.layui-select-title .layui-input {
    border-radius: var(--app-radius-sm) !important;
}

.layui-form-pane .layui-form-label {
    border-radius: var(--app-radius-sm) 0 0 var(--app-radius-sm) !important;
}

.welcome .layui-card {
    border-radius: var(--app-radius) !important;
}

.welcome .panel {
    border-radius: var(--app-radius-sm) !important;
    border-color: var(--app-border) !important;
}

/**
 * 跟随系统深色模式（手机/系统开启深色后自动生效）
 * 子页内联 style 优先级较高，冲突处使用 !important
 */
@media (prefers-color-scheme: dark) {
    html {
        color-scheme: light dark;
    }

    :root {
        --app-muted: #94a3b8;
        --app-border: #334155;
        --app-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
    }

    body.layuimini-all:not(.layuimini-user-shell) .layui-layout-admin .layui-body {
        background: #0c1117 !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layui-layout-admin .layui-header,
    body.layuimini-all:not(.layuimini-user-shell) .layui-header {
        background-color: #0f766e !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layui-header > ul > .layui-nav-item.layui-this,
    body.layuimini-all:not(.layuimini-user-shell) .layuimini-tool i:hover,
    body.layuimini-all:not(.layuimini-user-shell) .layui-header .layuimini-header-content > ul > .layui-nav-item.layui-this {
        background-color: #0d5c56 !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layui-layout-admin .layuimini-logo {
        background-color: #0f172a !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layui-side.layui-bg-black,
    body.layuimini-all:not(.layuimini-user-shell) .layui-side.layui-bg-black > .layuimini-menu-left > ul {
        background-color: #111827 !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layui-side.layui-bg-black > .layuimini-menu-left > ul > .layui-nav-item:first-child {
        border-top-color: #334155 !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layui-layout-admin .layui-nav-tree .layui-this,
    body.layuimini-all:not(.layuimini-user-shell) .layui-layout-admin .layui-nav-tree .layui-this > a,
    body.layuimini-all:not(.layuimini-user-shell) .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this,
    body.layuimini-all:not(.layuimini-user-shell) .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this a {
        background-color: #0f766e !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layuimini-menu-left .layui-nav .layui-nav-child a:hover:not(.layui-this) {
        background-color: #1e293b !important;
    }

    body.layuimini-all:not(.layuimini-user-shell) .layuimini-tool i {
        color: #cbd5e1 !important;
    }

    .layui-layout-admin .layui-body {
        background: #0c1117;
    }

    .layui-card {
        background-color: #1e293b !important;
        border-color: var(--app-border) !important;
        color: #e2e8f0;
    }

    .layui-card-header {
        color: #f1f5f9 !important;
        border-bottom-color: var(--app-border) !important;
        background-color: #1e293b !important;
    }

    .layui-card-body {
        color: #cbd5e1;
        background-color: #1e293b;
    }

    .layui-table thead tr {
        background: #0f172a !important;
    }

    .layui-table td,
    .layui-table th {
        background-color: #1e293b !important;
        color: #e2e8f0 !important;
        border-color: #334155 !important;
    }

    .layui-table[lay-skin="line"] td,
    .layui-table[lay-skin="line"] th {
        border-color: #334155 !important;
    }

    .layui-input,
    .layui-textarea,
    .layui-select-title .layui-input {
        background-color: #0f172a !important;
        border-color: #475569 !important;
        color: #f1f5f9 !important;
    }

    .layui-form-label,
    .layui-form-mid {
        color: #94a3b8 !important;
    }

    .layui-form-pane .layui-form-label {
        background-color: #0f172a !important;
        border-color: #334155 !important;
    }

    .table-search-fieldset {
        background: #1e293b !important;
        border-color: var(--app-border) !important;
    }

    .layuimini-page-header {
        border-bottom-color: #334155 !important;
        background: #1e293b !important;
    }

    .layuimini-page-header .layui-breadcrumb {
        border-top-color: #334155 !important;
        background: #1e293b !important;
    }

    .layuimini-page-header .layui-breadcrumb a,
    .layuimini-page-header cite {
        color: #cbd5e1 !important;
    }

    .layui-laypage a,
    .layui-laypage span {
        background-color: #1e293b !important;
        color: #e2e8f0 !important;
        border-color: #334155 !important;
    }

    .layui-laypage .layui-laypage-curr em {
        color: #fff !important;
    }

    /* 子页内联浅色块（welcome / 充值等） */
    .sh-page {
        background: #0c1117 !important;
        color: #e2e8f0 !important;
    }

    .sh-hero {
        background: #1e293b !important;
        border-color: #334155 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
    }

    .sh-hero h2 {
        color: #f8fafc !important;
    }

    .sh-hero .meta {
        color: #94a3b8 !important;
    }

    .sh-hero .pill {
        background: #0f172a !important;
        border-color: #334155 !important;
        color: #cbd5e1 !important;
    }

    .sh-alert {
        background: rgba(127, 29, 29, 0.35) !important;
        border-color: #7f1d1d !important;
        color: #fecaca !important;
    }

    .sh-card {
        background: #1e293b !important;
        border-color: #334155 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
    }

    .sh-card-h {
        border-bottom-color: #334155 !important;
        color: #f1f5f9 !important;
    }

    .sh-card-b .layui-form-label {
        color: #94a3b8 !important;
    }

    .sh-card-b .layui-input,
    .sh-card-b .layui-select-title .layui-input {
        background: #0f172a !important;
        border-color: #475569 !important;
        color: #f1f5f9 !important;
    }

    .sh-card-b .layui-table td,
    .sh-card-b .layui-table th {
        border-color: #334155 !important;
        color: #e2e8f0 !important;
    }

    .sh-note {
        color: #94a3b8 !important;
    }

    .welcome .layuimini-notice:hover {
        background: #1e293b !important;
    }

    .welcome .layuimini-notice-title {
        color: #e2e8f0 !important;
    }

    .welcome .layuimini-notice-extra {
        color: #64748b !important;
    }

    .w2-shell {
        background: #0c1117 !important;
    }

    .w2-shell .layui-card {
        background: #1e293b !important;
        border-color: #334155 !important;
        color: #e2e8f0 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
    }

    .w2-shell .layui-card-header {
        color: #f1f5f9 !important;
        border-bottom-color: #334155 !important;
    }

    .w2-shell .layui-table td,
    .w2-shell .layui-table th {
        border-color: #334155 !important;
        color: #e2e8f0 !important;
    }

    .w2-info {
        background: #0f172a !important;
        border-color: #334155 !important;
        color: #cbd5e1 !important;
    }

    .w2-shell .welcome .layui-card {
        border-color: #334155 !important;
    }

    .w2-shell .welcome .layuimini-qiuck-module a i {
        background-color: #0f172a !important;
        color: #e2e8f0 !important;
    }

    .w2-shell .welcome .layuimini-qiuck-module a cite {
        color: #94a3b8 !important;
    }

    .w2-shell .welcome .panel {
        background-color: #1e293b !important;
        border-color: #334155 !important;
    }

    .rc-page {
        background: #0c1117 !important;
    }

    .rc-card {
        background: #1e293b !important;
        border-color: #334155 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
    }

    .rc-title {
        color: #f8fafc !important;
    }

    .rc-sub {
        color: #94a3b8 !important;
    }

    .rc-tip {
        background: rgba(120, 53, 15, 0.4) !important;
        border-color: #b45309 !important;
        color: #fde68a !important;
    }

    .rc-label {
        color: #94a3b8 !important;
    }

    .rc-select {
        background: #0f172a !important;
        border-color: #475569 !important;
        color: #f1f5f9 !important;
    }

    .rc-amt {
        color: #f8fafc !important;
    }

    .rc-user {
        color: #94a3b8 !important;
    }

    .rc-user strong {
        color: #f1f5f9 !important;
    }

    .rc-meta {
        color: #64748b !important;
    }

    .off-page {
        background: #0c1117 !important;
    }

    .off-card {
        background: #1e293b !important;
        border-color: #334155 !important;
        color: #cbd5e1 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
    }

    .off-card strong {
        color: #f1f5f9 !important;
    }

    /* 后台登录（内联浅色背景；body.admin-login-page 提高优先级） */
    body.admin-login-page {
        background: linear-gradient(145deg, #172554 0%, #0f172a 50%, #020617 100%) !important;
    }

    body.admin-login-page:after {
        background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(96, 165, 250, 0.14), transparent 55%) !important;
    }

    .admin-login-background .login-form {
        background: rgba(30, 41, 59, 0.96) !important;
        border-color: rgba(148, 163, 184, 0.22) !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45) !important;
    }

    .admin-login-background .logo-title h1 {
        color: #93c5fd !important;
    }

    .admin-login-background .login-form .layui-form-item label {
        color: #64748b !important;
    }

    .admin-login-background .login-form .layui-input {
        background: #0f172a !important;
        border-color: #475569 !important;
        color: #f1f5f9 !important;
    }

    .admin-login-background .captcha-img img {
        border-color: #334155 !important;
    }
}
