/* Kunkunde Platform - Light Theme Override
   Load AFTER styles.css and admin.css (on admin page). */

:root {
  --bg: #f6f8fc;
  --bg-soft: #f1f5fb;
  --sidebar: #ffffff;
  --panel: rgba(255, 255, 255, 0.94);
  --panel-solid: #ffffff;
  --panel-high: #f7f9fd;
  --line: rgba(52, 75, 110, 0.11);
  --line-strong: rgba(52, 85, 130, 0.18);
  --text: #172033;
  --text-soft: #44516a;
  --muted: #7a879b;
  --blue: #347fe3;
  --blue-deep: #2469c5;
  --mint: #159a78;
  --violet: #7458df;
  --coral: #df596b;
  --amber: #b97b1d;
  --danger: #d94f61;
  --shadow: 0 22px 60px rgba(45, 66, 96, 0.10);
}

html { background: var(--bg); color: var(--text); }
body {
  background:
    radial-gradient(circle at 82% 8%, rgba(73, 137, 226, 0.10), transparent 28%),
    radial-gradient(circle at 10% 82%, rgba(65, 194, 160, 0.08), transparent 28%),
    linear-gradient(135deg, #fbfcff 0%, #f5f8fd 52%, #f9fbff 100%);
  color: var(--text);
}
body::before {
  background-image:
    linear-gradient(rgba(70, 102, 148, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(70, 102, 148, 0.035) 1px, transparent 1px);
}
::selection { background: rgba(52, 127, 227, 0.18); color: #172033; }
.ambient { opacity: 0.10; }
.ambient-one { background: #8dbdff; }
.ambient-two { background: #76d9be; }

/* Login / register */
.auth-brand {
  background:
    radial-gradient(circle at 70% 38%, rgba(48, 185, 148, 0.12), transparent 28%),
    radial-gradient(circle at 22% 64%, rgba(75, 143, 235, 0.13), transparent 30%),
    linear-gradient(145deg, rgba(251, 253, 255, 0.98), rgba(241, 246, 253, 0.98));
}
.auth-brand::before,
.auth-brand::after { border-color: rgba(52, 127, 227, 0.10); }
.auth-legal { color: #8a95a6; }
.auth-card {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.75);
}
.field > span:first-child { color: #3c4960; }
.input-wrap,
.select-wrap { background: rgba(248, 250, 254, 0.96); }
.input-wrap:focus-within,
.select-wrap:focus-within { background: #ffffff; }
.input-wrap input::placeholder { color: #a3adbb; }
.select-wrap option { background: #ffffff; color: var(--text); }
.button.primary { color: #ffffff; }
.button.busy::before { border-color: rgba(255,255,255,.4); border-top-color: #fff; }
.button.ghost { background: #ffffff; color: #526078; }
.button.ghost:hover:not(:disabled) { background: #f2f6fc; color: #1e2b42; }
.demo-hint { color: #8490a3; }
.security-note { color: #8a96a7; }
.auth-tabs { background: #f2f5fa; }
.auth-tabs button { color: #66758b; }
.auth-tabs button.active { background: #ffffff; box-shadow: 0 1px 4px rgba(42,63,92,.08), inset 0 0 0 1px rgba(52,127,227,.14); }

/* App shell */
.sidebar {
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 8px 0 35px rgba(38, 60, 90, 0.035);
}
.nav-label { color: #9aa5b4; }
.nav-item { color: #637086; }
.nav-item:hover { background: rgba(52, 127, 227, 0.055); color: #27364f; }
.nav-item.active {
  border-color: rgba(52, 127, 227, 0.16);
  background: linear-gradient(90deg, rgba(52,127,227,.11), rgba(52,127,227,.035));
}
.provider-mini b { color: #59667a; }
.provider-mini small, .version { color: #97a1b1; }
.sidebar-backdrop { background: rgba(43, 55, 72, 0.30); }
.topbar {
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 8px 30px rgba(45, 66, 96, 0.035);
}
.balance-pill { background: rgba(248, 250, 253, 0.96); }
.balance-pill small { color: #7d899c; }
.user-button:hover { background: rgba(52,127,227,.055); }
.user-button > span:first-child,
.profile-avatar {
  background: linear-gradient(145deg, #eef5ff, #e3edfb);
}
.user-button b { color: #344158; }
.user-button small, .user-button i { color: #8995a7; }
.user-popover { background: #ffffff; box-shadow: var(--shadow); }
.user-popover button:hover { background: #f2f6fc; }

/* Cards, panels, tables */
.stat-card {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,250,254,.98));
  box-shadow: 0 10px 30px rgba(45,66,96,.045), inset 0 1px #fff;
}
.stat-card p { color: #68768c; }
.stat-card small { color: #8a96a8; }
.trend { background: #f0f3f7; color: #748198; }
.panel {
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 34px rgba(45,66,96,.045), inset 0 1px rgba(255,255,255,.8);
}
.text-button { color: #6d7a90; }
.muted-text { color: #8390a3; }
.data-table th,
.data-table td { color: #5d6a80; border-bottom-color: rgba(52,75,110,.085); }
.data-table th { background: #f7f9fc; color: #7c889a; }
.data-table tbody tr:hover { background: rgba(52,127,227,.035); }
.data-table code { color: #52627a; }
.empty-cell { color: #9aa4b3 !important; }
.quick-panel > p,
.notice-content p,
.health-row { color: #68768b; }
.health-row b { color: #4f5c72; }
.info-banner b { color: #4b586e; }
.info-banner p { color: #758198; }

/* Forms / send */
.type-card { background: #fbfcfe; }
.type-card.selected { background: rgba(52,127,227,.07); }
.type-card b, .section-title b { color: #3e4b62; }
.type-card small, .section-title small, .field-help { color: #7e8a9d; }
.consent-check { background: #fafbfd; }
.custom-check { border-color: #b6c0ce; }
.consent-check > span:last-child { color: #68758b; }
.filter-tabs { background: #f3f6fa; }
.filter-tabs button { color: #657287; }
.filter-tabs button.active { background: #ffffff; box-shadow: 0 1px 4px rgba(45,66,96,.08); }
.table-action { color: #657287; background: #fff; }
.template-card > p { color: #6c788d; }
.template-copy { background: #f7f9fc; color: #657287; }
.loading-card {
  background: linear-gradient(90deg, #f1f4f8 25%, #fafbfd 50%, #f1f4f8 75%);
  background-size: 200% 100%;
}

/* Billing */
.balance-hero {
  border-color: rgba(52,127,227,.18);
  background: linear-gradient(140deg, #eef6ff, #e4f0ff 70%);
}
.balance-hero p { color: #58708f; }
.balance-hero strong { color: #245b9f; }
.balance-hero > small { color: #7990ad; }
.quota-card p, .recharge-card p { color: #69768b; }
.quota-card small, .recharge-card small { color: #8793a5; }

/* Integration / account */
.connection-list dt { color: #6f7c91; }
.connection-list dd { color: #4e5c72; }
.connection-result { color: #3f806e; }
.endpoint-list code { color: #536178; }
.endpoint-list small { color: #8490a3; }
.flow-diagram > div { background: #fafbfd; }
.flow-diagram b { color: #46546a; }
.flow-diagram small { color: #7f8b9e; }
.flow-diagram > i { color: #9da8b6; }
.profile-card > p { color: #748096; }
.profile-card dt { color: #7f8b9e; }
.profile-card dd { color: #536177; }
.app-footer { color: #9aa4b3; }

/* Dialogs / notifications */
.confirm-dialog { background: #ffffff; box-shadow: 0 30px 85px rgba(45,66,96,.18); }
.confirm-dialog::backdrop { background: rgba(49, 61, 78, .34); }
.dialog-card > p { color: #6d7a8f; }
.dialog-card dl { background: #f8fafc; }
.dialog-card dt { color: #7a879b; }
.dialog-card dd { color: #4f5d72; }
.remember-device { border-color: #dce4ef; background: #fafbfd; }
.remember-check { border-color: #b9c5d5; }
.remember-copy b { color: #4d5a70; }
.remember-copy small { color: #8490a3; }
.dialog-card > .login-popup-content { color: #647187; }
.toast { background: #ffffff; color: #526078; box-shadow: 0 18px 45px rgba(45,66,96,.14); }
.search-field input,
.toolbar select { background: #ffffff; color: #4a586e; }
.search-field input::placeholder { color: #a0aaba; }
.admin-table b { color: #445268; }
.admin-table small { color: #8793a5; }
.generated-summary { background: #f8fafc; color: #6f7d92; }
.generated-codes { background: #f7f9fc; color: #3f668d; }

/* Admin-specific hard-coded colors */
.admin-body {
  --admin-accent: #7559df;
  --admin-accent-soft: rgba(117, 89, 223, 0.09);
}
.admin-auth-shell {
  background:
    radial-gradient(circle at 24% 22%, rgba(117,89,223,.08), transparent 32%),
    radial-gradient(circle at 78% 72%, rgba(52,127,227,.07), transparent 28%);
}
.admin-login-card { background: rgba(255,255,255,.94); }
.admin-back-link { color: #7f8b9d; }
.admin-user-table .user-cell b, .user-cell b { color: #46546a; }
.user-cell small { color: #8793a6; }
.data-stack span { color: #657287; }
.data-stack code { color: #738198; }
.source-chip { background: #f4f8fd; color: #56779e; }
.source-chip.admin { background: #f7f3ff; color: #7258bd; }
.table-pagination { color: #77849a; }
.route-cards > div { background: #fafbfd; }
.route-cards span { color: #7559df; }
.route-cards b { color: #4a586e; }
.route-cards small { color: #7d899d; }
.popup-toggle-row { border-color: #e0e6ef; background: #fafbfd; }
.popup-toggle-row b { color: #4a586e; }
.popup-toggle-row small { color: #8490a3; }
.toggle-switch { border-color: #c4cedb; background: #eef2f7; }
.toggle-switch i { background: #9ba8b9; }
.admin-textarea { border-color: #dce4ef; background: #fff; color: #344258; }
.admin-textarea:focus { background: #fff; }
.popup-preview-stage { background: radial-gradient(circle at 50% 30%, rgba(159, 120, 255, .1), transparent 58%), #f7f9fc; }
.popup-preview-card { border-color: #e1d9fa; background: #fff; box-shadow: 0 24px 60px rgba(45, 66, 96, .12); }
.popup-preview-card h4 { color: #344258; }
.popup-preview-card p { color: #6f7d92; }
.popup-policy-notes { color: #79869a; }
.dialog-form-card p b { color: #445268; }

/* 修复 iPhone 聚焦输入框时自动放大 */
@media (max-width: 768px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  body {
    zoom: 1 !important;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* 用户端隐藏注册时间、登录时间和 IP 信息 */
body:not(.admin-body) .profile-card dl {
  display: none !important;
}

/* 发送记录表格表头文字 */
body:not(.admin-body)
[data-page-panel="tasks"]
.data-table thead th {
  font-size: 12px !important;
}
/* 控制台红圈区域文字统一放大 */
body:not(.admin-body)
[data-page-panel="dashboard"] .stat-card small,

body:not(.admin-body)
[data-page-panel="dashboard"] .activity-panel .data-table th,

body:not(.admin-body)
[data-page-panel="dashboard"] .activity-panel .data-table td,

body:not(.admin-body)
[data-page-panel="dashboard"] .activity-panel .data-table code,

body:not(.admin-body)
[data-page-panel="dashboard"] .activity-panel .status-badge,

body:not(.admin-body)
[data-page-panel="dashboard"] .activity-panel .text-button,

body:not(.admin-body)
[data-page-panel="dashboard"] .notice-content p,

body:not(.admin-body)
[data-page-panel="dashboard"] .notice-panel .muted-text,

body:not(.admin-body)
[data-page-panel="dashboard"] .quick-panel > p,

body:not(.admin-body)
[data-page-panel="dashboard"] .health-row,

body:not(.admin-body)
[data-page-panel="dashboard"] .health-row b,

body:not(.admin-body)
[data-page-panel="dashboard"] .health-panel .status-badge {
  font-size: 13px !important;
}
/* 发送短信页面：放大红圈内文字 */

/* 顶部“真实发送模式已开启” */
body:not(.admin-body) [data-page-panel="send"] #demoBanner b {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body:not(.admin-body) [data-page-panel="send"] #demoBanner p {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

/* 02、03 区域内的全部文字 */
body:not(.admin-body) [data-page-panel="send"] .form-section p,
body:not(.admin-body) [data-page-panel="send"] .form-section small,
body:not(.admin-body) [data-page-panel="send"] .form-section label,
body:not(.admin-body) [data-page-panel="send"] .form-section span,
body:not(.admin-body) [data-page-panel="send"] .form-section b,
body:not(.admin-body) [data-page-panel="send"] .form-section strong {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

/* “填写任务信息、发送前确认”标题 */
body:not(.admin-body) [data-page-panel="send"] .section-title b {
  font-size: 16px !important;
}

body:not(.admin-body) [data-page-panel="send"] .section-title small {
  font-size: 12px !important;
}

/* 02、03 数字 */
body:not(.admin-body) [data-page-panel="send"] .step-number {
  font-size: 12px !important;
}

/* 同意声明 */
body:not(.admin-body) [data-page-panel="send"] .consent-check > span:last-child {
  font-size: 13px !important;
  line-height: 1.8 !important;
}

/* 右侧“本次任务保护” */
body:not(.admin-body) [data-page-panel="send"] .safeguard-list b {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body:not(.admin-body) [data-page-panel="send"] .safeguard-list small {
  font-size: 12px !important;
  line-height: 1.7 !important;
}
/* ==================================================
   用户端红圈区域字体统一放大
   ================================================== */

/* ---------- 1. 模板管理：模板卡片文字 ---------- */

body:not(.admin-body)
[data-page-panel="templates"] .template-symbol {
  font-size: 18px !important;
}

body:not(.admin-body)
[data-page-panel="templates"] .template-card .safe-chip {
  font-size: 12px !important;
}

body:not(.admin-body)
[data-page-panel="templates"] .template-card h3 {
  font-size: 21px !important;
  line-height: 1.5 !important;
}

body:not(.admin-body)
[data-page-panel="templates"] .template-card > p {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

body:not(.admin-body)
[data-page-panel="templates"] .template-copy,
body:not(.admin-body)
[data-page-panel="templates"] .template-copy * {
  font-size: 13px !important;
  line-height: 1.8 !important;
}


/* ---------- 2. 余额与账单：余额说明 ---------- */

body:not(.admin-body)
[data-page-panel="billing"] .balance-hero > small {
  font-size: 12px !important;
  line-height: 1.7 !important;
}


/* ---------- 3. 余额与账单：单价卡片 ---------- */

body:not(.admin-body)
[data-page-panel="billing"] .quota-card .panel-kicker {
  font-size: 11px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .quota-card p {
  font-size: 14px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .quota-card strong {
  font-size: 36px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .quota-card small {
  font-size: 12px !important;
  line-height: 1.7 !important;
}


/* ---------- 4. 余额与账单：卡密核销区域 ---------- */

body:not(.admin-body)
[data-page-panel="billing"] .recharge-card .panel-kicker {
  font-size: 11px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .recharge-card p {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .recharge-card h3 {
  font-size: 19px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .recharge-card > small {
  font-size: 12px !important;
  line-height: 1.7 !important;
}

/* 输入框设置为16px，同时防止苹果手机点击时自动放大 */
body:not(.admin-body)
[data-page-panel="billing"] .recharge-card input {
  font-size: 16px !important;
}


/* ---------- 5. 余额变动明细 ---------- */

body:not(.admin-body)
[data-page-panel="billing"] .ledger-panel .panel-kicker {
  font-size: 11px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .ledger-panel .panel-head h3 {
  font-size: 18px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .ledger-panel .muted-text {
  font-size: 12px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .ledger-panel .data-table th {
  font-size: 14px !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .ledger-panel .data-table td {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body:not(.admin-body)
[data-page-panel="billing"] .ledger-panel .data-table code {
  font-size: 12px !important;
}


/* ---------- 6. 账户安全：最近安全操作 ---------- */

body:not(.admin-body)
[data-page-panel="account"] .audit-card .panel-kicker {
  font-size: 11px !important;
}

body:not(.admin-body)
[data-page-panel="account"] .audit-card .panel-head h3 {
  font-size: 18px !important;
}

body:not(.admin-body)
[data-page-panel="account"] .audit-card .muted-text {
  font-size: 12px !important;
}

body:not(.admin-body)
[data-page-panel="account"] .audit-card .data-table th {
  font-size: 14px !important;
}

body:not(.admin-body)
[data-page-panel="account"] .audit-card .data-table td {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body:not(.admin-body)
[data-page-panel="account"] .audit-card .data-table code {
  font-size: 12px !important;
}

body:not(.admin-body)
[data-page-panel="account"] .audit-card .status-badge {
  font-size: 12px !important;
}


/* ---------- 7. 发送记录：筛选按钮、表格文字 ---------- */

body:not(.admin-body)
[data-page-panel="tasks"] .filter-tabs button {
  font-size: 13px !important;
}

body:not(.admin-body)
[data-page-panel="tasks"] .toolbar .muted-text {
  font-size: 13px !important;
}

body:not(.admin-body)
[data-page-panel="tasks"] .data-table th {
  font-size: 14px !important;
}

body:not(.admin-body)
[data-page-panel="tasks"] .data-table td {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body:not(.admin-body)
[data-page-panel="tasks"] .data-table code {
  font-size: 12px !important;
}

body:not(.admin-body)
[data-page-panel="tasks"] .status-badge,
body:not(.admin-body)
[data-page-panel="tasks"] .table-action {
  font-size: 12px !important;
}
/* ==================================================
   管理后台红圈区域文字放大
   ================================================== */

/* 运营概览：四个统计卡片底部说明 */
.admin-body [data-admin-panel="overview"] .stat-card small {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* 运营概览：用户与资金状态 */
.admin-body [data-admin-panel="overview"] .overview-metrics span {
  font-size: 13px !important;
}

.admin-body [data-admin-panel="overview"] .overview-metrics b {
  font-size: 14px !important;
}

.admin-body [data-admin-panel="overview"] .overview-metrics > div {
  min-height: 58px !important;
}

/* 所有红圈内的后台表格 */
.admin-body .data-table,
.admin-body .data-table * {
  font-size: 13px !important;
}

.admin-body .data-table th {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.admin-body .data-table td {
  font-size: 13px !important;
  line-height: 1.65 !important;
}

/* 用户名 */
.admin-body .admin-user-table .user-cell b {
  font-size: 14px !important;
}

/* 用户编号、IP等小字 */
.admin-body .admin-user-table .user-cell small,
.admin-body .admin-user-table .data-stack span,
.admin-body .admin-user-table .data-stack code {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

/* 状态、来源、操作按钮 */
.admin-body .data-table .status-badge,
.admin-body .data-table .source-chip,
.admin-body .data-table .table-action {
  font-size: 12px !important;
}

/* 用户管理：搜索、筛选、查询和用户数量 */
.admin-body [data-admin-panel="users"] .admin-toolbar input,
.admin-body [data-admin-panel="users"] .admin-toolbar select,
.admin-body [data-admin-panel="users"] .admin-toolbar button,
.admin-body [data-admin-panel="users"] .admin-toolbar .muted-text {
  font-size: 13px !important;
}

/* 用户管理：分页 */
.admin-body [data-admin-panel="users"] .table-pagination,
.admin-body [data-admin-panel="users"] .table-pagination button,
.admin-body [data-admin-panel="users"] .table-pagination span {
  font-size: 13px !important;
}

/* 卡密记录：状态筛选 */
.admin-body [data-admin-panel="cards"] #cardStatusFilter {
  font-size: 13px !important;
}

/* 全局发送记录：筛选按钮和任务数量 */
.admin-body [data-admin-panel="tasks"] .filter-tabs button,
.admin-body [data-admin-panel="tasks"] #taskCountText {
  font-size: 13px !important;
}

/* 审计日志：完整性状态 */
.admin-body [data-admin-panel="audit"] #auditIntegrityBadge {
  font-size: 12px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
}

/* 接口与配置：供应商信息 */
.admin-body [data-admin-panel="system"] .connection-list dt {
  font-size: 13px !important;
}

.admin-body [data-admin-panel="system"] .connection-list dd {
  font-size: 12px !important;
  line-height: 1.6 !important;
}

.admin-body [data-admin-panel="system"] .connection-list > div {
  min-height: 56px !important;
}

/* 供应商连接结果 */
.admin-body [data-admin-panel="system"] .connection-result {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.admin-body [data-admin-panel="system"] .provider-system-item,
.admin-body [data-admin-panel="system"] .provider-test-grid > section {
  background: #fff;
  border-color: #dce5f1;
  box-shadow: 0 8px 24px rgba(39, 75, 126, 0.05);
}

.admin-body [data-admin-panel="system"] .provider-system-item.pending {
  border-color: #f0d59d;
}

.admin-body [data-admin-panel="system"] .provider-system-item.failed {
  border-color: #f1b9c1;
}

.admin-body [data-admin-panel="system"] .provider-system-item dl div {
  background: #f7f9fd;
  border-color: #e1e8f2;
}

.admin-body [data-admin-panel="system"] .provider-system-item dt,
.admin-body [data-admin-panel="system"] .provider-diagnostic-list small,
.admin-body [data-admin-panel="system"] .policy-switch-row small {
  color: #748198;
}

.admin-body [data-admin-panel="system"] .provider-system-item dd,
.admin-body [data-admin-panel="system"] .provider-diagnostic-list span,
.admin-body [data-admin-panel="system"] .policy-switch-row b {
  color: #35445d;
}

.admin-body [data-admin-panel="system"] .provider-diagnostic-list li {
  border-color: #f1cbd0;
  background: #fff7f8;
}

.admin-body [data-admin-panel="system"] .policy-switch-row {
  border-color: #e1e8f2;
}

.admin-body [data-admin-panel="system"] .system-details {
  border-color: #e1e8f2;
}

/* 接口与配置：注册与安全策略 */
.admin-body [data-admin-panel="system"] .system-metrics span {
  font-size: 13px !important;
}

.admin-body [data-admin-panel="system"] .system-metrics b {
  font-size: 14px !important;
}

.admin-body [data-admin-panel="system"] .system-metrics > div {
  min-height: 56px !important;
}

/* 苹果手机点击后台输入框时防止页面自动放大 */
@media (max-width: 760px) {
  .admin-body .admin-toolbar input,
  .admin-body .admin-toolbar select {
    font-size: 16px !important;
  }
}
/* Keep the phone mockup dark on purpose: it reads as a device frame. */
