/* ============================================================
   法务文档统一样式（隐私政策 / 用户协议 / 医疗使用声明）
   与首页 landing 共用 medical-blue 设计语言
   ============================================================ */
:root{
  --p900:#042A57; --p800:#073B78; --p700:#0D4F9E; --p600:#1A6BCF;
  --p500:#2C7BE5; --p400:#5C9EFF;
  --p50:#EAF3FF; --p100:#D4E6FF; --p200:#A9CEFF;
  --ink:#0F172A; --ink2:#334155; --muted:#64748B; --faint:#94A3B8;
  --line:#E2E8F0; --line2:#EEF3F9;
  --bg:#F6F9FD; --card:#FFFFFF; --soft:#F8FAFD;
  --warn:#B91C1C; --warn-bg:#FEF2F2; --warn-line:#FECACA;
  --r:14px; --r-lg:20px;
  --sh:0 1px 2px rgba(15,23,42,.04),0 6px 20px rgba(13,79,158,.06);
  --maxw:820px;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#E6EDF6; --ink2:#C3CFDE; --muted:#94A3B8; --faint:#64748B;
    --line:#26364A; --line2:#1E2C3C;
    --bg:#0B1622; --card:#111E2D; --soft:#16263A;
    --p50:#122A44; --p100:#17344F; --p200:#1E4467;
    --p500:#5C9EFF; --p600:#8FC3FF; --p700:#A9CEFF;
    --warn:#FCA5A5; --warn-bg:#2A1517; --warn-line:#5C2A2E;
    --sh:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.24);
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.78 -apple-system,BlinkMacSystemFont,"SF Pro SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--p600)}
img{display:block;max-width:100%}

/* ---------- 顶栏 ---------- */
.site-nav{
  position:sticky;top:0;z-index:40;
  /* iOS 15 的 Safari 不支持 color-mix，先给纯色兜底，再用 color-mix 增强 */
  background:var(--card);
  background:color-mix(in srgb,var(--card) 86%,transparent);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 20px;height:58px;
  display:flex;align-items:center;gap:12px;
}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit}
.brand img{width:26px;height:26px;border-radius:7px}
.brand b{font-size:13.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2;display:block}
.brand i{font-size:10.5px;font-style:normal;color:var(--muted);letter-spacing:.03em}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav-right a{
  font-size:12.5px;text-decoration:none;color:var(--ink2);
  padding:6px 11px;border-radius:8px;transition:background .18s,color .18s;
}
.nav-right a:hover{background:var(--p50);color:var(--p700)}
.nav-right a.cta{
  background:linear-gradient(135deg,var(--p600),var(--p700));color:#fff;font-weight:600;
  padding:7px 14px;box-shadow:0 2px 8px rgba(13,79,158,.24);
}
.nav-right a.cta:hover{filter:brightness(1.06);color:#fff}

/* ---------- 布局 ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:20px 20px 64px}
.crumb{
  display:flex;align-items:center;gap:7px;
  font-size:12px;color:var(--faint);margin:6px 0 14px;
}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--p600)}
.crumb .sep{opacity:.5}

/* ---------- 文档卡片 ---------- */
.doc{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:36px 40px 40px;box-shadow:var(--sh);
}
@media(max-width:640px){.doc{padding:24px 20px 28px;border-radius:var(--r)}}

.doc-head{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.doc-title{
  font-size:24px;font-weight:800;letter-spacing:-.024em;color:var(--ink);
  margin:0 0 10px;line-height:1.3;
}
@media(max-width:640px){.doc-title{font-size:20px}}
.doc-meta{
  display:flex;flex-wrap:wrap;gap:7px;margin:0;font-size:12px;color:var(--muted);
}
.doc-meta span{
  background:var(--soft);border:1px solid var(--line2);
  padding:3px 9px;border-radius:6px;line-height:1.6;
}

/* ---------- 正文 ---------- */
.doc p{margin:10px 0;color:var(--ink2)}
.doc p:first-of-type{margin-top:0}
.doc strong{color:var(--ink);font-weight:700}
.doc-sec{
  position:relative;
  font-weight:700;color:var(--ink);font-size:16px;letter-spacing:-.012em;
  margin:30px 0 8px;padding-left:13px;line-height:1.5;
}
.doc-sec::before{
  content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:3px;
  background:linear-gradient(180deg,var(--p500),var(--p400));border-radius:2px;
}
.doc-sec:first-of-type{margin-top:22px}
.doc-sub{font-weight:700;color:var(--ink);font-size:14px;margin:16px 0 2px}

.red{color:var(--warn);font-weight:600}
.doc a{color:var(--p600);text-decoration:none;border-bottom:1px solid var(--p200)}
.doc a:hover{border-bottom-color:var(--p600)}

/* 提示框 */
.warn-box{
  background:var(--warn-bg);border:1px solid var(--warn-line);
  border-left:3px solid var(--warn);
  border-radius:10px;padding:14px 16px;margin:16px 0;
  color:var(--warn);font-weight:600;font-size:14px;line-height:1.72;
}

/* 列表 */
.doc ul{margin:10px 0;padding-left:0;list-style:none}
.doc ul li{
  position:relative;padding-left:18px;margin:6px 0;color:var(--ink2);
}
.doc ul li::before{
  content:"";position:absolute;left:2px;top:.72em;
  width:5px;height:5px;border-radius:50%;background:var(--p400);
}

/* 表格 */
.doc table{
  border-collapse:separate;border-spacing:0;width:100%;
  margin:16px 0;font-size:13.5px;
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
}
.doc th,.doc td{
  padding:10px 13px;text-align:left;vertical-align:top;line-height:1.65;
  border-bottom:1px solid var(--line2);color:var(--ink2);
}
.doc thead th,.doc tr:first-child th{
  background:var(--soft);font-weight:700;color:var(--ink);font-size:12.5px;
  letter-spacing:.02em;border-bottom:1px solid var(--line);
}
.doc tr:last-child td{border-bottom:none}
@media(max-width:560px){
  .doc table{font-size:12.5px}
  .doc th,.doc td{padding:8px 10px}
}

/* ---------- 文档页脚 ---------- */
.doc-foot{
  margin-top:34px;padding-top:20px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--muted);line-height:1.85;
}
.doc-foot a{color:var(--p600);text-decoration:none;border-bottom:none}
.doc-foot a:hover{text-decoration:underline}

/* ---------- 站点页脚 ---------- */
.site-foot{
  max-width:var(--maxw);margin:0 auto;padding:0 20px 40px;
  font-size:12px;color:var(--faint);line-height:1.8;
  display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;
}
.site-foot a{color:var(--muted);text-decoration:none}
.site-foot a:hover{color:var(--p600)}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}
