/* 觉山灵机易理 · 辅助页与后台 */
body.paper, body.page-document, body.page-admin {
  min-height: 100dvh;
  color: var(--ink);
  background:
    radial-gradient(900px 480px at 88% -8%, color-mix(in srgb, var(--water) 10%, transparent), transparent 64%),
    radial-gradient(760px 480px at -6% 102%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 62%),
    var(--paper);
}
body.paper::after, body.page-document::after {
  content: '';
  position: fixed;
  inset: auto -8vw 4vh auto;
  width: min(52vw, 720px);
  height: min(23vw, 300px);
  pointer-events: none;
  opacity: .07;
  background: linear-gradient(160deg, transparent 0 46%, var(--ink) 47% 48%, transparent 49%), linear-gradient(18deg, transparent 0 51%, var(--ink) 52% 53%, transparent 54%);
  clip-path: polygon(0 100%, 18% 42%, 31% 68%, 48% 12%, 66% 62%, 78% 32%, 100% 100%);
}

body.paper > .container, body.page-document > .container { position: relative; z-index: 1; }
body.paper .container { width: min(100% - 28px, 1040px); margin-inline: auto; }
body.paper .navbar, .page-nav {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 20px;
  border: 1px solid var(--border);
  border-radius: 0 0 var(--radius) var(--radius);
  background: color-mix(in srgb, var(--paper-card) 86%, transparent);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow-xs);
}
.page-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font: 700 17px/1 var(--font-serif); letter-spacing: .12em; }
.page-brand img { width: 32px; height: 32px; border-radius: 9px; }
.page-actions { display: flex; align-items: center; gap: 8px; }

body.paper header { padding: 46px 4px 20px; }
body.paper header h1, body.paper .page-title { margin: 0; color: var(--ink); font: 700 var(--text-2xl)/1.25 var(--font-serif); letter-spacing: .08em; }
body.paper header p, body.paper header .subtitle { color: var(--ink-muted); }
body.paper .card { margin-bottom: 16px; padding: clamp(20px, 3vw, 32px); }
body.paper .card h2, body.paper .card h3 { color: var(--ink); font-family: var(--font-serif); letter-spacing: .06em; }
.info-row { min-height: 52px; border-bottom-color: var(--border) !important; }
.info-row .label { color: var(--ink-muted); }
.info-row .value { color: var(--ink); }
.actions { gap: 10px; }

/* 用户中心 */
body.page-user #info-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body.page-user #info-card h2 { grid-column: 1 / -1; }
body.page-user #info-card .info-row { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--paper-inset); }
body.page-user #info-card .value { font-size: 17px; font-weight: 700; }
.record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.record-empty { min-height: 170px; padding: 18px; border: 1px dashed var(--border-deep); border-radius: var(--radius-sm); background: var(--paper-inset); }
.record-empty h3 { margin: 0 0 8px; font-size: 15px; }
.record-empty p { min-height: 52px; margin: 0 0 16px; color: var(--ink-muted); font-size: 12px; line-height: 1.75; }

/* 充值中心 */
body.page-payment > .container { max-width: 820px; padding-top: 30px; }
body.page-payment .card { text-align: left; }
body.page-payment .brand, body.page-payment .subtitle { text-align: center; }
.price-tag { color: var(--accent) !important; font-family: var(--font-serif); }
.payment-legal { display: flex; justify-content: center; gap: 8px; }
.payment-legal a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.balance-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0 24px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--ink-muted); background: var(--paper-inset); }
.balance-card strong { color: var(--accent); font-size: 22px; }
.amt-btns { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 12px !important; }
.amt-btn { min-height: 88px; display: grid; place-items: center; padding: 16px !important; border: 1px solid var(--border) !important; border-radius: var(--radius-sm) !important; background: var(--paper-inset) !important; color: var(--ink-soft); cursor: pointer; transition: all var(--duration-normal) !important; }
.amt-btn:hover { border-color: var(--accent) !important; transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.amt-btn.sel { color: var(--accent) !important; border-color: var(--accent) !important; background: var(--accent-light) !important; box-shadow: inset 0 0 0 1px var(--accent); }
.qr-box { border: 1px solid var(--border); border-radius: var(--radius); background: var(--paper-inset); }

/* 协议阅读 */
body.page-document .container { width: min(100% - 32px, 860px); margin: 34px auto; padding: clamp(24px, 5vw, 64px); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--paper-card); box-shadow: var(--shadow-md); }
body.page-document h1 { margin-bottom: 8px; color: var(--ink); font: 700 var(--text-2xl)/1.3 var(--font-serif); letter-spacing: .1em; }
body.page-document .section-kicker { margin: 24px 0 8px; color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
body.page-document .document-updated { color: var(--ink-muted); font-size: 13px; }
body.page-document h2 { margin: 2.2em 0 .7em; color: var(--ink); font: 700 1.16rem/1.5 var(--font-serif); }
body.page-document p, body.page-document li { color: var(--ink-soft); line-height: 1.95; }
body.page-document .toc { margin: 24px 0 36px; padding: 18px 20px; border-left: 3px solid var(--gold); background: var(--paper-inset); }
body.page-document .toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 24px; margin: 12px 0 0 20px; }
body.page-document .toc a { color: var(--ink-muted); text-decoration: none; }
body.page-document .toc a:hover { color: var(--accent); }

/* 管理后台：效率优先 */
body.page-admin { font-family: var(--font-sans); }
body.page-admin #admin-page { width: min(100% - 28px, 1480px); margin: 0 auto; padding: 20px 0 50px; }
body.page-admin .admin-nav { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; margin-bottom: 22px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--paper-card); }
body.page-admin .stats-grid { gap: 12px; }
body.page-admin .stat-card, body.page-admin .panel, body.page-admin .login-card { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--paper-card); box-shadow: var(--shadow-xs); }
body.page-admin .stat-card { padding: 18px; }
body.page-admin .tabs { gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--paper-inset); }
body.page-admin .tab { border-radius: var(--radius-xs); }
body.page-admin .tab.active { color: #fff; background: var(--accent); }
body.page-admin table { width: 100%; border-collapse: separate; border-spacing: 0; }
body.page-admin th { position: sticky; top: 0; z-index: 2; background: var(--paper-inset); color: var(--ink-muted); text-align: left; }
body.page-admin td, body.page-admin th { padding: 11px 12px; border-bottom: 1px solid var(--border); }
body.page-admin tr:hover td { background: color-mix(in srgb, var(--jade) 6%, transparent); }
body.page-admin .modal-overlay { backdrop-filter: blur(4px); }
body.dialog-open { overflow: hidden; }
body.page-admin .modal { border: 1px solid var(--border); border-radius: var(--radius); background: var(--paper-card); box-shadow: var(--shadow-lg); }

/* 展示页 */
body.page-showcase .showcase { width: min(100% - 32px, 1180px); margin: 0 auto; padding: 44px 0 80px; }
body.page-showcase section { margin: 0 0 20px; padding: 28px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--paper-card); box-shadow: var(--shadow-xs); }
body.page-showcase .swatch { border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--shadow-xs); }

.footer, body.paper > .footer { color: var(--ink-muted); }

@media (max-width: 700px) {
  body.paper .navbar, .page-nav { padding: 0 12px; }
  .page-brand { font-size: 14px; letter-spacing: .06em; }
  body.page-user #info-card { grid-template-columns: 1fr; }
  body.page-user #info-card h2 { grid-column: auto; }
  .record-grid { grid-template-columns: 1fr; }
  .amt-btns { grid-template-columns: 1fr !important; }
  .amt-btn { min-height: 58px; }
  body.page-document .container { margin: 14px auto; padding: 22px 18px; }
  body.page-admin #admin-page { width: min(100% - 18px, 1480px); }
  body.page-admin .admin-nav { align-items: flex-start; flex-direction: column; }
}
