@charset "utf-8";

/* ==========================================================================
   彩虹易支付 · 会员中心主题叠加层 (theme.css)
   在 Flatkit 基础样式之上统一视觉，与后台 admin.css 保持同一套设计语言。
   仅覆盖颜色/圆角/阴影，不改动页面 DOM 结构。
   ========================================================================== */

:root {
    --u-primary: #4f7cff;
    --u-primary-dark: #3a66e8;
    --u-body-bg: #f4f6fb;
    --u-border: #e6e9f0;
    --u-text: #1f2937;
    --u-muted: #6b7280;
    --u-radius: 12px;
    --u-shadow: 0 1px 3px rgba(17, 24, 39, 0.06), 0 1px 2px rgba(17, 24, 39, 0.04);
    --u-shadow-lg: 0 10px 30px rgba(17, 24, 39, 0.12);
}

html { background-color: var(--u-body-bg); }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
        "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    color: var(--u-text);
    -webkit-font-smoothing: antialiased;
}
a { color: var(--u-primary); }
a:hover, a:focus { color: var(--u-primary-dark); }

/* ---------- 顶栏 ---------- */
.app-header.navbar {
    border: none;
    box-shadow: 0 1px 3px rgba(17, 24, 39, 0.06);
}
.app-header .navbar-brand { font-weight: 700; font-size: 17px; }
.app-header .bg-black,
.app-header .bg-dark { background: #1f2937 !important; }
.app-header .bg-info { background: var(--u-primary) !important; }
.app-header .bg-primary { background: var(--u-primary-dark) !important; }

/* 顶部导航按钮 */
.app-header .navbar-btn { color: #fff; }
.app-header .navbar-collapse { background: #1f2937; color: #e5e7eb; }
.app-header .navbar-collapse.bg-white { background: #fff; color: var(--u-text); }
.app-header .navbar-collapse.bg-dark { background: #1f2937; }
.app-header .navbar-collapse.bg-light { background: #fff; color: var(--u-text); }

/* ---------- 侧边栏 ---------- */
.app-aside { background: #1f2937 !important; }
.app-aside.bg-black { background: #1f2937 !important; }
.app-aside.bg-dark { background: #1f2937 !important; }
.app-aside.bg-light { background: #fff !important; }
.app-aside.bg-white { background: #fff !important; }

.app-aside .navi > ul > li > a {
    color: #9ca3af;
    transition: background 0.15s ease, color 0.15s ease;
}
.app-aside .navi > ul > li > a:hover { background: #2d3a4d; color: #fff; }
.app-aside .navi > ul > li.active > a { background: var(--u-primary); color: #fff; }
.app-aside .navi .nav-sub > li > a { color: #9ca3af; }
.app-aside .navi .nav-sub > li > a:hover,
.app-aside .navi .nav-sub > li.active > a { color: #fff; background: rgba(79, 124, 255, 0.25); }
.app-aside .navi .text-muted { color: rgba(255, 255, 255, 0.35) !important; }
.app-aside .navi .line.dk { border-color: rgba(255,255,255,0.08); }

/* 侧边栏浅色主题（user_style 中 bg-light/bg-white 情形） */
.app-aside.bg-light .navi > ul > li > a,
.app-aside.bg-white .navi > ul > li > a { color: var(--u-muted); }
.app-aside.bg-light .navi > ul > li > a:hover,
.app-aside.bg-white .navi > ul > li > a:hover { background: #f1f3f9; color: var(--u-text); }
.app-aside.bg-light .navi > ul > li.active > a,
.app-aside.bg-white .navi > ul > li.active > a { background: var(--u-primary); color: #fff; }
.app-aside.bg-light .navi .nav-sub > li > a,
.app-aside.bg-white .navi .nav-sub > li > a { color: var(--u-muted); }
.app-aside.bg-light .navi .text-muted,
.app-aside.bg-white .navi .text-muted { color: var(--u-muted) !important; }

/* ---------- 内容区 ---------- */
.app-content { background: var(--u-body-bg); }
.app-content-body { padding-bottom: 30px; }
.wrapper-md, .wrapper-lg { padding: 18px; }
.bg-light.lter.b-b { background: #fff; border-bottom: 1px solid var(--u-border); }

/* ---------- 面板 / 卡片 ---------- */
.panel {
    border: 1px solid var(--u-border);
    border-radius: var(--u-radius);
    box-shadow: var(--u-shadow);
}
.panel-heading {
    border-top-left-radius: var(--u-radius);
    border-top-right-radius: var(--u-radius);
    border-bottom: 1px solid var(--u-border);
}
.panel-default > .panel-heading { background: #fff; }
.panel .item { border-radius: var(--u-radius); }

/* 首页统计卡片 */
.panel.padder-v.item { padding: 20px 16px; }
.panel.padder-v.item:hover { box-shadow: var(--u-shadow-lg); transform: translateY(-2px); transition: all 0.2s ease; }
.round {
    background: #eef3ff !important;
    color: var(--u-primary) !important;
    border-color: #eef3ff !important;
}

/* ---------- 表格 ---------- */
.table > thead > tr > th {
    background: #f8fafc;
    border-bottom: 1px solid var(--u-border);
    color: var(--u-muted);
    font-weight: 600;
    font-size: 13px;
}
.table-striped > tbody > tr:nth-of-type(odd) { background-color: #fbfcfe; }

/* ---------- 按钮 ---------- */
.btn { border-radius: 8px; font-size: 13px; }
.btn-primary { background: var(--u-primary); border-color: var(--u-primary); }
.btn-primary:hover { background: var(--u-primary-dark); border-color: var(--u-primary-dark); }
.btn-info { background: var(--u-primary); border-color: var(--u-primary); }
.btn-info:hover { background: var(--u-primary-dark); border-color: var(--u-primary-dark); }

/* ---------- 表单 ---------- */
.form-control { border-radius: 8px; border-color: #d8dce6; box-shadow: none; }
.form-control:focus { border-color: var(--u-primary); box-shadow: 0 0 0 3px rgba(79, 124, 255, 0.12); }

/* ---------- 其他组件 ---------- */
.alert { border-radius: 10px; border: none; }
.list-group-item:first-child { border-top-left-radius: var(--u-radius); border-top-right-radius: var(--u-radius); }
.list-group-item:last-child { border-bottom-left-radius: var(--u-radius); border-bottom-right-radius: var(--u-radius); }
.nav-tabs > li > a { color: var(--u-muted); border-radius: 8px 8px 0 0; }
.nav-tabs > li.active > a { color: var(--u-primary); }
.pagination > li > a, .pagination > li > span { border-radius: 7px; margin: 0 2px; color: var(--u-muted); border-color: var(--u-border); }
.pagination > .active > a, .pagination > .active > span { background: var(--u-primary); border-color: var(--u-primary); }
.badge.bg-danger, .label.bg-danger { background: #f0433d; }
.progress-bar-info { background-color: var(--u-primary); }

/* 页脚 */
.app-footer { background: #fff; border-top: 1px solid var(--u-border); color: var(--u-muted); }
.app-footer a { color: var(--u-primary); }

/* 登录/注册/找回密码独立页 */
.u-auth {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(135deg, #1f2937 0%, #111827 55%, #0b1220 100%);
    position: relative;
    overflow: hidden;
}
.u-auth::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(79, 124, 255, 0.35), transparent 70%);
    top: -200px;
    right: -120px;
}
.u-auth::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(124, 155, 255, 0.25), transparent 70%);
    bottom: -180px;
    left: -100px;
}
.u-auth-card {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--u-shadow-lg);
    padding: 36px 34px;
}
.u-auth-card .brand { text-align: center; margin-bottom: 24px; }
.u-auth-card .brand .logo {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--u-primary), #7c9bff);
    color: #fff;
    font-size: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}
.u-auth-card .brand h1 { font-size: 20px; font-weight: 700; color: var(--u-text); margin: 0 0 4px; }
.u-auth-card .brand p { color: var(--u-muted); font-size: 13px; margin: 0; }
.u-auth-card .form-control { height: 44px; border-radius: 10px; }
.u-auth-card .input-group-addon { border-radius: 10px 0 0 10px; }
.u-auth-card .btn-block { height: 44px; border-radius: 10px; font-size: 15px; font-weight: 600; }
