/* 苹果03 界面美化（§21 Y1–Y3 / A30–A31，11-11）：只改样式，不改功能。
   正文 ≥14px；主要点击区 ≥36px；文字对比度 ≥ WCAG AA；保留宽屏布局、按需展开、苹果蓝主按钮。 */
:root {
  --bg: #f4f6f9;
  --line: #e2e5ea;
  --line-strong: #c3c8d0;
  --text-2: #4f5562;          /* 白底 7.4:1，#f4f6f9 底 6.9:1 */
  --accent: #0a66d8;          /* 苹果蓝保留：白字 5.4:1 */
  --accent-soft: #e9f2fd;
  --ok-soft: #e7f6ec; --ok-text: #1b5e34;
  --warn-soft: #fff4d9; --warn-text: #6b4a00;
  --bad-soft: #fdeceb; --bad-text: #8a1f12;
  --sh-1: 0 1px 2px rgba(16, 24, 40, 0.05), 0 0 0 1px rgba(16, 24, 40, 0.04);
  --r-l: 14px;
}
body { font-size: 15px; line-height: 1.6; letter-spacing: 0.01em; -webkit-font-smoothing: antialiased; }
/* 字号：正文、说明、标签统一不小于 14px */
.src, .muted, .label, .eyebrow, .sb-group-head, .ver-tag, .tb-temp-plan, small, .rx-kind, .rx-stock, .rx-dept, .rx-total,
.chip-static, .flag, .batch, .ai-chain, .ai-chain span, .pv-k, .kb-item small, .a03w-opt small, .fee-bill .src, .field label, label,
.pc-card p, .vital-chip p, .badge, .path-step, .sb-sub, .tab span, .tab, .scale-sum b, table th, .table-card th, .notice-line, .rx-sum, .rx-contrast,
.sb-foot span, .sb-user span, .sb-brand span, .user-role, .who span { font-size: 14px; }
.list-count, .meta, .tag, .dock-step-chip { font-size: 14px; }
.sb-badge, .notice-count { font-size: 12px; }  /* 数字角标，非正文 */
h1, .page-title { letter-spacing: -0.01em; }
.page-head h1 { font-size: 28px; font-weight: 700; }
.title-m { font-size: 18px; font-weight: 650; }
/* 卡片：留白更足、边线更轻 */
.card { border-radius: var(--r-l); box-shadow: var(--sh-1); padding: 20px 22px; }
.view > .card, .a03-col > .card { margin-bottom: 18px; }
/* 按钮：舒适高度，主按钮保持苹果蓝 */
.btn { min-height: 40px; padding: 8px 16px; border-radius: 10px; font-size: 15px; }
.btn.primary { background: var(--accent); color: #fff; box-shadow: 0 1px 2px rgba(10, 102, 216, 0.25); }
.btn.primary:hover { background: var(--accent-hover); }
.btn.secondary, .btn:not(.primary) { border-color: var(--line-strong); }
.rx-item .review-box .btn { min-height: 36px; }
.sb-item { min-height: 40px; border-radius: 10px; }
.scale-btn { min-height: 38px; }
.chip-btn { min-height: 34px; padding: 5px 12px; }
input[type="text"], input[type="date"], input[type="number"], select, textarea { font-size: 15px; }
input[type="text"], input[type="date"], input[type="number"], select { min-height: 40px; border-radius: 10px; }
textarea { border-radius: 10px; line-height: 1.6; }
:focus-visible { outline: none; box-shadow: var(--focus); }
/* 状态色：柔和底色 + 深色字（均 ≥ 4.5:1） */
.rx-stock.short, .flag.soft { background: var(--warn-soft); color: var(--warn-text); }
.rx-stock.none { background: var(--bad-soft); color: var(--bad-text); }
.flag { color: var(--bad-text); }
.ai-chain span { background: var(--ok-soft); color: var(--ok-text); padding: 4px 12px; }
.ai-chain span:last-child { background: var(--accent-soft); color: #0a4fa8; }
.path-track .path-step.done { background: var(--ok-soft); color: var(--ok-text); }
.path-track .path-step.done::before { color: var(--ok-text); }
/* 处方行：更清楚的单元格 */
.rx-cell { min-height: 40px; border-radius: 10px; background: var(--surface); border-color: var(--line); color: var(--text); }
.rx-name { font-size: 16px; }
.rx-info-btn { width: 32px; height: 32px; }
.rx-item { padding: 10px 0; }
.rx-contrast { color: var(--text-2); }
.rx-info-panel { background: #f3f6fb; border: 1px solid #e1e8f3; line-height: 1.65; }
.rx-item .review-box { background: var(--bad-soft); }
.rx-item .review-box .conflict { color: var(--bad-text); }
/* 预览、开诊概览、简报 */
.pv-cell { background: #f6f8fb; border: 1px solid var(--line); }
.open-cell { border-radius: 12px; min-height: 76px; transition: border-color var(--dur); }
.open-cell:hover { border-color: var(--accent); }
.open-cell b { font-size: 26px; color: var(--text); }
.ph-brief .brief-grid { gap: 4px 32px; }
/* 表格：行高舒适、表头清楚 */
table th { color: var(--text-2); font-weight: 600; background: #f7f8fa; }
table td, table th { padding: 10px 12px; }
/* 患者卡：分级底色上的说明文字加深以达到 AA */
.pc-card.grade-1 .src, .pc-card.grade-2 .src, .pc-card.grade-3 .src, .pc-card.grade-1 p, .pc-card.grade-2 p, .pc-card.grade-3 p { color: #3b2418; }
.pc-card.grade-4 .src, .pc-card.grade-4 p { color: #fff; }
.vital-chip.grade-1 p, .vital-chip.grade-2 p, .vital-chip.grade-3 p { color: #3b2418; }
/* 侧栏底部 */
.sb-bottom { padding: 10px 12px; }
.scale-sum { background: #eef1f5; }
/* 手机 */
html.is-mobile .card { padding: 16px; }
html.is-mobile .btn { min-height: 44px; }
html.is-mobile .page-head h1 { font-size: 24px; }
html.is-mobile .toolbar .btn, html.is-mobile #btn-notices { min-height: 36px; padding: 4px 10px; font-size: 14px; }
html.is-mobile .ver-tag { padding: 1px 6px; }
html.is-mobile .tb-crumb { flex: 0 1 auto; min-width: 4.2em; white-space: nowrap; }
html.is-mobile .toolbar { gap: 6px; }
.fold-src > summary, .fold-more > summary { font-size: 14px; min-height: 36px; line-height: 36px; }
