/* 全站字体：与顶部 nav / 首页保持一致的 Poppins */
@font-face {
    font-family: Poppins;
    src: url("/static/fonts/Poppins/Poppins-Regular.ttf");
    font-display: swap;
}

/* 全站设计 token：主色 #172030，辅助色 #39D6C8。 */
:root {
    --amz-brand: #172030;
    --amz-brand-strong: #111d31;
    --amz-accent: #39D6C8;
    --amz-accent-strong: #20b8ae;
    --amz-accent-soft: rgba(57, 214, 200, .18);
    --amz-accent-faint: rgba(57, 214, 200, .1);
    /* VIP / 管理员高亮公共色（顶栏账号链接、ADMIN 徽标、VIP 标签） */
    --amz-vip: #f59e0b;
    --amz-vip-strong: #d97706;
    --amz-vip-soft: rgba(245, 158, 11, .18);
    --amz-ink: #172030;
    --amz-text: #334155;
    --amz-muted: #5e6a80;
    --amz-muted-2: #94a3b8;
    --amz-border: #e5e7eb;
    --amz-surface: #ffffff;
    --amz-surface-alt: #f6f8fb;
    --amz-surface-soft: #fafbfd;

    /* 覆盖 Bootstrap，使全站与主站视觉一致 */
    --bs-body-color: var(--amz-ink);
    --bs-body-color-rgb: 23, 32, 48;
    --bs-secondary-color: var(--amz-muted);
    --bs-secondary-color-rgb: 94, 106, 128;
    --bs-body-bg: var(--amz-surface-alt);
    --bs-link-color: var(--amz-ink);
    --bs-link-hover-color: var(--amz-brand-strong);
    --bs-border-color: var(--amz-border);
    --bs-border-color-translucent: rgba(23, 32, 48, .1);
}

html, body {
    font-family: Poppins, Arial, "Helvetica Neue", Helvetica, sans-serif !important;
    color: var(--amz-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Bootstrap / 其它组件继承主字体 */
.navbar, .btn, .form-control, .form-select, .form-label, .form-text,
.form-check-label, .dropdown-menu, .nav-link, .table, .card, .card-body,
.card-header, .modal, .alert, .badge, input, select, textarea, button {
    font-family: inherit !important;
}

/* 图标与文字统一按组件中线对齐，避免依赖字体基线产生上下偏移。 */
i.bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    line-height: 1;
    vertical-align: middle;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.badge {
    display: inline-flex;
    align-items: center;
}

/* ============ 排版比例 ============
   目标：让页面主体（H1/H2 + 数据）更突出，侧栏/说明文字更弱。
*/
h1, .h1 { font-size: 1.5rem; font-weight: 700; color: var(--amz-ink); letter-spacing: 0; }
h2, .h2 { font-size: 1.15rem; font-weight: 700; color: var(--amz-ink); letter-spacing: 0; }
h3, .h3 { font-size: 1.02rem; font-weight: 600; color: var(--amz-ink); }
h4, .h4 { font-size: .95rem; font-weight: 600; color: var(--amz-ink); }
h5, .h5 { font-size: .9rem;  font-weight: 600; color: var(--amz-ink); }
h6, .h6 { font-size: .82rem; font-weight: 600; color: var(--amz-ink); letter-spacing: 0; }

.text-secondary { color: var(--amz-muted) !important; }
.text-muted { color: var(--amz-muted-2) !important; }
small, .small { font-size: .82rem; }

/* 表格：数字使用等宽数字，减少视觉抖动 */
.table td, .table th { font-variant-numeric: tabular-nums; }

/* 主色链接与按钮：墨黑承载结构，青色负责行动高亮 */
a { color: var(--amz-ink); text-decoration: none; }
a:hover { color: var(--amz-brand-strong); }

/* outline-primary → 品牌墨黑描边（不再是 Bootstrap 蓝） */
.btn-outline-primary {
    --bs-btn-color: var(--amz-brand-strong);
    --bs-btn-border-color: var(--amz-brand);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--amz-brand);
    --bs-btn-hover-border-color: var(--amz-brand);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--amz-brand-strong);
    --bs-btn-active-border-color: var(--amz-brand-strong);
    --bs-btn-disabled-color: var(--amz-brand);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--amz-brand);
}
.btn-primary {
    --bs-btn-bg: var(--amz-brand);
    --bs-btn-border-color: var(--amz-brand);
    --bs-btn-hover-bg: var(--amz-brand-strong);
    --bs-btn-hover-border-color: var(--amz-brand-strong);
    --bs-btn-active-bg: var(--amz-brand-strong);
    --bs-btn-active-border-color: var(--amz-brand-strong);
}

.btn-dark {
    --bs-btn-bg: var(--amz-brand);
    --bs-btn-border-color: var(--amz-brand);
    --bs-btn-hover-color: var(--amz-brand);
    --bs-btn-hover-bg: var(--amz-accent);
    --bs-btn-hover-border-color: var(--amz-accent);
    --bs-btn-active-color: var(--amz-brand);
    --bs-btn-active-bg: var(--amz-accent-strong);
    --bs-btn-active-border-color: var(--amz-accent-strong);
}

.btn-outline-dark {
    --bs-btn-color: var(--amz-brand);
    --bs-btn-border-color: rgba(23, 32, 48, .32);
    --bs-btn-hover-color: var(--amz-brand);
    --bs-btn-hover-bg: var(--amz-accent);
    --bs-btn-hover-border-color: var(--amz-accent);
    --bs-btn-active-color: var(--amz-brand);
    --bs-btn-active-bg: var(--amz-accent-strong);
    --bs-btn-active-border-color: var(--amz-accent-strong);
}

/* 表单聚焦：辅助青色描边，与新版品牌一致 */
.form-control:focus,
.form-select:focus {
    border-color: var(--amz-accent);
    box-shadow: 0 0 0 .18rem var(--amz-accent-soft);
}

/* 分页与徽标里的默认蓝色改为品牌 ink */
.page-link { color: var(--amz-ink); }
.page-item.active .page-link { background: var(--amz-brand); border-color: var(--amz-brand); color: #fff; }
/* ============ 字重上限规则 ============
   规则：数据行的粗体不得超过侧栏一级项字重（500）。
   仅 h1-h4 与 .brand / .navbar-brand 允许 600-700。
*/
.table .fw-bold, .table .fw-semibold,
.card-body .fw-bold, .card-body .fw-semibold,
td .fw-bold, td .fw-semibold {
    font-weight: 500 !important;
}
/* 数据表数字/邮箱等主键：常规粗细即可 */
.table td { font-weight: 400; }
.table td.col-id, .table td .email-text {
    font-weight: 500;
    color: var(--amz-ink);
}
/* ============ 允许的语义色 token（§18 §1） ============ */
:root {
    --amz-success: #16794c;
    --amz-success-bg: #e6f6ec;
    --amz-warning: #b25a00;
    --amz-warning-bg: #fff3cd;
    --amz-danger: #b91c1c;
    --amz-danger-bg: #fee2e2;
    --amz-info: #0369a1;
    --amz-info-bg: #e0f2fe;

    /* 品牌淡底：卡片背景徽标、空态圆环、行 hover 已在业务中使用 */
    --amz-brand-soft: rgba(23, 32, 48, .08);
    --amz-brand-hover: rgba(23, 32, 48, .05);
    --amz-row-admin: rgba(245, 158, 11, .08);

    /* 首页统一卡片风格（§18 §7 首页对齐）：与 /index/index 的白卡一致 */
    --amz-card-radius: 8px;
    --amz-card-border: rgba(23, 32, 48, .08);
    --amz-card-shadow: 0 16px 38px rgba(23, 32, 48, .09);
    --amz-card-shadow-sm: 0 4px 18px rgba(23, 32, 48, .04);
}

/* ============ 通用 UI 类（§18 §3/§4） ============ */





/* 顶部导航"退出"按钮：默认与 nav 其它项一致的灰字透明底；
   hover/focus 与"筛选"按钮（.btn-outline-primary）同款：品牌墨黑填充 + 白字。
   home/dash only：adminX 已剥离，禁止在 adminX 视图中引用（§18 §3）。 */
.amz-logout-btn {
    color: var(--amz-muted);
    background: transparent;
    border: 1px solid transparent;
    font-weight: 500;
}
.amz-logout-btn:hover,
.amz-logout-btn:focus,
.amz-logout-btn:active {
    color: #ffffff;
    background: var(--amz-brand);
    border-color: var(--amz-brand);
    box-shadow: none;
}

/* Dash 账户页：沿用主站墨黑与青色，VIP 金只表达赞助身份。 */
.amz-account-nav .nav-link {
    color: var(--amz-text);
}
.amz-account-nav .nav-link:hover,
.amz-account-nav .nav-link:focus {
    color: var(--amz-brand);
    background: var(--amz-accent-faint);
}
.amz-account-nav .nav-link.active {
    color: var(--amz-surface);
    background: var(--amz-brand);
}
.amz-badge-vip {
    color: var(--amz-brand);
    background: var(--amz-vip);
}
.amz-badge-accent {
    color: var(--amz-brand);
    background: var(--amz-accent-soft);
}
.amz-badge-neutral {
    color: var(--amz-muted);
    background: var(--amz-brand-soft);
}
.amz-text-accent {
    color: var(--amz-accent-strong);
}
.amz-stat-accent {
    color: var(--amz-brand);
    background: var(--amz-accent-soft);
}
.amz-progress-accent .progress-bar {
    background: var(--amz-accent-strong);
}
