/* ============================================================
   鏅烘収瀹跺洯 路 v448 UI 琛ヤ竵灞傦紙鎸傝浇浜?v444 浜х墿涔嬩笂锛?   鍘熷垯锛氫繚鐣欐殩缁?绫崇櫧瑙嗚鏂瑰悜锛涚粺涓€鍗＄墖銆佹爣棰樸€佹寜閽€佺┖鐘舵€侊紱
   鏀惧ぇ灏忓瓧鍙凤紱淇閲嶅彔/閬尅/涔卞簭锛涗笉鏀瑰彉鍘熶骇鐗╁瓧鑺傘€?   瑕嗙洊鏂瑰紡锛歱atch.css 鍦?index css 涔嬪悗鍔犺浇锛屽叧閿」鐢?!important銆?   ============================================================ */

/* ---------- 0. PC 鍏ㄥ眬鍩虹瀛楀彿锛堥潪闀胯緢妯″紡锛?---------- */
@media (min-width: 900px) {
  body:not(.elder-mode) {
    font-size: 17px;
  }
}

/* ---------- 1. 鐧诲綍 / 娉ㄥ唽椤碉細鍙屽妗堝幓閲?+ 宸︿晶瀛楀彿 ---------- */
/* auth 椤典繚鐣欓〉鍐?.auth-footer锛岄殣钘忓叏灞€鍥哄畾澶囨鏉★紝閬垮厤閲嶅 */
body:has(.auth-page) .icp-footer {
  display: none !important;
}
.auth-brand p {
  font-size: 16px !important;
}
.auth-points li {
  font-size: 17px !important;
  color: var(--ink-2) !important;
}
.auth-side .hero-chip {
  font-size: 17px !important;
  color: var(--ink-2) !important;
}
.auth-side .hero-chip span {
  font-size: 17px !important;
}
.auth-footer {
  font-size: 13px !important;
}
@media (min-width: 900px) {
  .auth-brand p { font-size: 17px !important; }
  .auth-points li { font-size: 18px !important; }
  .auth-side .hero-chip { font-size: 18px !important; }
  .auth-side .hero-chip span { font-size: 18px !important; }
}

/* ---------- 2. 闀胯緢妯″紡锛氱‖缂栫爜灏忓瓧鍙烽€愮被鏀惧ぇ ---------- */
/* 鎮诞璇煶/甯姪鏍囩 */
body.elder-mode .vl-tip { font-size: 14px !important; }
body.elder-mode .gva-fab-tip { font-size: 13px !important; }
body.elder-mode .calc-tip { font-size: 16px !important; }
body.elder-mode .tool-tabs button { font-size: 16px !important; }
/* 鍏ㄥ眬澶囨鏉★紙闈?auth 椤碉級 */
body.elder-mode .icp-footer a { font-size: 13px !important; }
/* 鍋ュ悍椤?*/
body.elder-mode .sec-t { font-size: 21px !important; }
body.elder-mode .wr-item small { font-size: 14px !important; }
body.elder-mode .wr-item span { font-size: 16px !important; }
body.elder-mode .pf-cell span { font-size: 14px !important; }
body.elder-mode .pf-cell strong { font-size: 17px !important; }
body.elder-mode .sym-row .care-copy span { font-size: 14px !important; }
body.elder-mode .warn-box span { font-size: 15px !important; }
body.elder-mode .warn-box strong { font-size: 19px !important; }
body.elder-mode .si { font-size: 15px !important; }
body.elder-mode .sc-opt span { font-size: 15px !important; }
body.elder-mode .sc-tip { font-size: 16px !important; }
body.elder-mode .sc-date { font-size: 15px !important; }
body.elder-mode .trend-sub { font-size: 15px !important; }
body.elder-mode .score-copy span { font-size: 16px !important; }
body.elder-mode .score-ring span { font-size: 16px !important; }
body.elder-mode .score-copy strong { font-size: 22px !important; }
body.elder-mode .ws-copy span { font-size: 15px !important; }
body.elder-mode .ws-copy strong { font-size: 19px !important; }
body.elder-mode .sc-saved { font-size: 15px !important; }
body.elder-mode .wa-row { font-size: 17px !important; }
/* 棣栭〉 */
body.elder-mode .dyn-copy span { font-size: 16px !important; }
body.elder-mode .dyn-copy strong { font-size: 19px !important; }
body.elder-mode .pr-state { font-size: 16px !important; }
body.elder-mode .pr-name { font-size: 17px !important; }
body.elder-mode .mo-hint { font-size: 19px !important; }
body.elder-mode .mo-line { font-size: 20px !important; }
body.elder-mode .mo-line b { font-size: 22px !important; }
body.elder-mode .mo-tag { font-size: 21px !important; }
body.elder-mode .mn-info b { font-size: 16px !important; }
body.elder-mode .mn-info span { font-size: 17px !important; }
body.elder-mode .mn-head { font-size: 16px !important; }
body.elder-mode .mn-actions .btn { font-size: 16px !important; }
body.elder-mode .f-name { font-size: 19px !important; }
body.elder-mode .f-on { font-size: 14px !important; }
body.elder-mode .bd-mid span { font-size: 16px !important; }
body.elder-mode .lc-mid span { font-size: 16px !important; }
body.elder-mode .top-sub { font-size: 16px !important; }
body.elder-mode .bind-tip p { font-size: 17px !important; }
body.elder-mode .bind-tip strong { font-size: 19px !important; }
body.elder-mode .care-copy span { font-size: 16px !important; }
body.elder-mode .guard-copy span { font-size: 16px !important; }
body.elder-mode .sos-copy span { font-size: 17px !important; }
body.elder-mode .med-card p { font-size: 17px !important; }
/* 鏁欏椤?*/
body.elder-mode .entry-card .entry-name { font-size: 16px !important; }
body.elder-mode .b-os { font-size: 15px !important; }
body.elder-mode .brand-hint p { font-size: 16px !important; }
body.elder-mode .brand-hint strong { font-size: 18px !important; }
body.elder-mode .soft-mid span { font-size: 15px !important; }
body.elder-mode .teach-copy p { font-size: 16px !important; }
body.elder-mode .tw strong { font-size: 18px !important; }
body.elder-mode .tw small { font-size: 15px !important; }

/* 鏁欏鍗＄墖鏂囧瓧闃叉埅鏂細璁剧疆闂归挓绛夐暱鏍囬鍏佽鎹㈣ */
.entry-card .entry-name,
.entry-card strong,
.entry-card span {
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

/* ---------- 3. 棣栭〉椤堕儴 & 鍋ュ悍椤碉細缁熶竴鍗＄墖瑙嗚 ---------- */
/* 鏅ㄦ姤鍗★細娓愬彉姗欐 鈫?鐧藉簳缁嗚竟 + 鏆栬壊渚ф潯锛屼繚鐣欎俊鎭眰娆?*/
body.elder-mode .morning {
  background: var(--surface) !important;
  border: 1.5px solid #EAD9BE !important;
  border-left: 5px solid #C9823F !important;
  box-shadow: 0 6px 18px #b48c5a1f !important;
}
body.elder-mode .morning .mo-tag { color: #A06A2C !important; }
body.elder-mode .mo-play {
  background: #f3e4d2 !important;
  color: #C9823F !important;
}
/* 浠婂ぉ鍋氫簡鍟ワ細鐧藉簳 + 缁嗚竟锛岀幆鑹蹭繚鐣欒涔?*/
body.elder-mode .progress-card {
  background: var(--surface) !important;
  border: 1.5px solid var(--line) !important;
}
body.elder-mode .pr-ring-in {
  background: #fdf7ec !important;
  box-shadow: inset 0 1px 3px #b48c501f !important;
}
/* 涓嬫鐢ㄨ嵂锛氱櫧搴曟殩杈?*/
body.elder-mode .med-next {
  background: var(--surface) !important;
  border: 1.5px solid #EAD9BE !important;
  box-shadow: 0 8px 20px #b48c5a1f !important;
}
body.elder-mode .mn-actions .btn-primary { background: #D98E4A !important; color: #fff !important; }
body.elder-mode .mn-actions .btn-soft { background: #f3e4d2 !important; color: #8a5a2b !important; }
/* 鍋ュ悍鍛ㄦ姤/璇勭骇/鑷煡锛氱粺涓€鐧藉簳缁嗚竟锛屼繚鐣欒涔夎壊鐐圭紑 */
body.elder-mode .wr-card {
  background: var(--surface) !important;
  border: 1.5px solid #CBE0D2 !important;
}
body.elder-mode .wr-item { background: #f8fbf8 !important; }
body.elder-mode .score-card {
  background: var(--surface) !important;
  border: 1.5px solid #CBE8D4 !important;
  margin-bottom: 16px !important;
}
body.elder-mode .selfcheck {
  background: var(--surface) !important;
  border: 1.5px solid #F0DFC4 !important;
}
body.elder-mode .week-say {
  background: #f2f8ff !important;
  border: 1.5px solid #BCDDF5 !important;
}
/* 鍋ュ悍椤垫爣棰樼嫭绔嬩竴琛?*/
body.elder-mode .health-head { flex-wrap: wrap !important; row-gap: 8px !important; }
body.elder-mode .health-head .page-title { flex-basis: 100% !important; }

/* ---------- 4. 鏇村缃戞牸锛氱疆椤跺尯 / 鏀剁撼鍖?瑙嗚 ---------- */
.zg-search { margin-bottom: 12px; }
.zg-search input {
  width: 100%;
  padding: 13px 16px 13px 40px;
  border-radius: 14px;
  border: 1.5px solid #EAD9BE;
  background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A06A2C' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4-4'/%3E%3C/svg%3E") no-repeat 12px center / 20px 20px;
  font-size: 16px;
  color: var(--ink);
}
body.elder-mode .zg-search input { font-size: 17px !important; }
.zg-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 700;
  color: var(--primary-deep);
  margin: 4px 0 10px;
}
body.elder-mode .zg-section-title { font-size: 20px !important; }
.zg-more {
  width: 100%;
  margin: 4px 0 12px;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1.5px solid #EAD9BE;
  background: #fbf4e8;
  color: #8a5a2b;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
body.elder-mode .zg-more { font-size: 17px !important; }
.zg-more:hover { background: #f6e8d2; }
.zg-more .zg-arrow { transition: transform .2s; }
.zg-more.open .zg-arrow { transform: rotate(180deg); }
/* 鏀剁撼鍗＄墖锛氶粯璁ら殣钘忥紱鐐瑰嚮鏇村鎴栨悳绱㈡椂鏄剧ず */
.grid .g-card.zg-hide { display: none !important; }
.grid.zg-all .g-card.zg-hide { display: flex !important; }
/* 缃《鏄熸爣 */
.zg-pin {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 26px;
  height: 26px;
  border: none;
  background: transparent;
  color: #d9c6a5;
  font-size: 17px;
  cursor: pointer;
  line-height: 1;
  z-index: 2;
  border-radius: 8px;
}
.zg-pin.on { color: #E8A23B; }
.zg-pin:hover { background: #fdf6e3; }
.grid .g-card { position: relative; }
/* 缃《鍗¤瑙夋帓搴忥紙order 涓嶆敼 DOM锛孷ue 瀹夊叏锛?*/
.grid .g-card.zg-top { order: -1; }
.grid .g-card.zg-top-1 { order: -1; }
/* 鎼滅储鏃跺彧鏄剧ず鍛戒腑鍗＄墖锛屾敹绾冲尯涓€骞跺睍寮€ */
.grid.zg-search-open .g-card.zg-hide.zg-hit { display: flex !important; }
.grid.zg-search-open .g-card.zg-hide:not(.zg-hit) { display: none !important; }
.grid.zg-search-open .g-card:not(.zg-hide):not(.zg-hit) { display: none !important; }

/* ---------- 5. 鏁欏椤靛垎绫?+ 鎼滅储 ---------- */
.zj-tut-bar { margin-bottom: 12px; }
.zj-tut-bar .zj-tut-search input {
  width: 100%;
  padding: 12px 14px 12px 38px;
  border-radius: 14px;
  border: 1.5px solid #EAD9BE;
  background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A06A2C' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4-4'/%3E%3C/svg%3E") no-repeat 12px center / 20px 20px;
  font-size: 16px;
  color: var(--ink);
}
body.elder-mode .zj-tut-bar .zj-tut-search input { font-size: 17px !important; }
.zj-tut-cats {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 2px;
  margin-top: 10px;
  scrollbar-width: none;
}
.zj-tut-cats::-webkit-scrollbar { display: none; }
.zj-tut-cats button {
  flex-shrink: 0;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1.5px solid #EAD9BE;
  background: var(--surface);
  color: #7a726a;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
body.elder-mode .zj-tut-cats button { font-size: 16px !important; }
.zj-tut-cats button.on {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.zj-tut-cats button:hover:not(.on) { background: #fdf6e3; }
.zj-tut-card { display: none; }
.zj-tut-card.show { display: flex; }

/* ---------- 6. 搴曢儴瀵艰埅锛氫笌椤甸潰鏄庢樉鍖哄垎 ---------- */
body.elder-mode .elder-nav {
  background: linear-gradient(135deg, #1f4d38, #2e6b4a) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 12px 34px rgba(23,54,39,.45), inset 0 1px rgba(255,255,255,.12) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.elder-mode .elder-nav button {
  color: rgba(255,255,255,.82) !important;
  font-size: 15px !important;
}
body.elder-mode .elder-nav button .nav-label,
body.elder-mode .elder-nav .nav-label {
  font-size: 15px !important;
}
body.elder-mode .gva-fab,
body.elder-mode .vl-btn {
  font-size: 16px !important;
}
body.elder-mode .elder-nav button.on {
  color: #fff !important;
  background: linear-gradient(135deg, #E0653A, #D9562E) !important;
  box-shadow: 0 6px 16px rgba(209,86,46,.5), inset 0 1px rgba(255,255,255,.25) !important;
  font-weight: 700 !important;
}
body.elder-mode .elder-nav button.on:after { display: none !important; }

/* ---------- 7. 鍙充笅瑙掓偓娴寜閽細鍨傜洿鎺掑紑涓嶉噸鍙?---------- */
/* 鍏ㄥ眬璇煶缁勶紙甯?+ 璇煶灏忓府鎵嬶級淇濇寔搴曢儴锛岃闊冲姪鎵嬮挳涓婄Щ閬胯 */
body.elder-mode .gva-fab {
  bottom: 216px !important;
}
body.elder-mode .global-voice {
  bottom: 108px !important;
}
/* 鎮诞鏍囩鏀惧ぇ鍙 */
body.elder-mode .gv-help { width: 44px; height: 44px; }
body.elder-mode .gv-q { font-size: 19px !important; }
body.elder-mode .vl-btn { width: 62px; height: 62px; }

/* ---------- 8. 璁＄畻鍣細灞忓箷瀛楀彿涓庢彁绀猴紙閲嶆帓瑙?patch.js锛?---------- */
body.elder-mode .calc-screen { font-size: 40px !important; }
body.elder-mode .calc-keys .k { font-size: 28px !important; }
body.elder-mode .calc-keys .fn { font-size: 22px !important; }

/* ---------- 9. 鍏ㄥ眬缁嗚妭 ---------- */
/* 宸ュ叿椤?tab 鐒︾偣鍙 */
.tool-tabs button:focus-visible,
.zj-tut-cats button:focus-visible,
.zj-grid-wrap .zg-more:focus-visible,
.zg-pin:focus-visible {
  outline: 3px solid var(--primary) !important;
  outline-offset: 2px;
}
/* 缁熶竴鍗＄墖鍦嗚锛堥€傚害淇濈暀锛?*/
@media (min-width: 900px) {
  body.elder-mode .card { border-radius: 22px; }
}

/* ============================================================
   v453 鎺掔増閲嶆瀯锛氭牳蹇冨唴瀹规枃瀛楀叏閮?鈮?6px锛?.0 鍊嶏級锛?.6 鍊嶅啀鏀惧ぇ
   渚濇嵁锛歶i-ux-pro-max 鎺掔増瑙勮寖锛堟鏂団墺16px銆佽楂?.5-1.75銆佽Е鎺р墺44px锛?   ============================================================ */

/* ---------- 10. 闀胯緢棣栭〉锛氱綉鏍煎崱 / 鎵撳崱椤?/ 鏁欏涓夊叆鍙?---------- */
body.elder-mode .grid .g-card {
  font-size: 17px !important;
  line-height: 1.45 !important;
}
body.elder-mode .grid .g-card .g-ico { font-size: 26px !important; }
body.elder-mode .pr-item {
  font-size: 16px !important;
  line-height: 1.4 !important;
}
body.elder-mode .pr-item strong { font-size: 17px !important; }
body.elder-mode .tw {
  font-size: 17px !important;
  line-height: 1.4 !important;
}
body.elder-mode .tw strong { font-size: 18px !important; }
body.elder-mode .tw small { font-size: 15px !important; }
body.elder-mode .gva-fab-tip { font-size: 15px !important; }

/* ---------- 11. 鍋ュ悍椤碉細瓒嬪娍/鏃堕棿/鏍囩/閫夐」 ---------- */
body.elder-mode .trend-tip { font-size: 15px !important; }
body.elder-mode .rec-time { font-size: 15px !important; }
body.elder-mode .tr-range { font-size: 16px !important; }
body.elder-mode .med-note { font-size: 16px !important; }
body.elder-mode .cal-arrow { font-size: 15px !important; }
body.elder-mode .tt2 { font-size: 16px !important; }
body.elder-mode .sc-opt { font-size: 16px !important; line-height: 1.45 !important; }
body.elder-mode .hb-sub { font-size: 16px !important; }
body.elder-mode .tag { font-size: 16px !important; }
body.elder-mode .rec-note { font-size: 15px !important; }
body.elder-mode .wr-item small { font-size: 15px !important; }
body.elder-mode .pf-cell span { font-size: 15px !important; }
body.elder-mode .sym-row .care-copy span { font-size: 15px !important; }
body.elder-mode .f-on { font-size: 15px !important; }

/* ---------- 11b. 鍋ュ悍椤靛墿浣欒緟鍔╂爣绛惧啀鎻愪竴妗?---------- */
body.elder-mode .tlog { font-size: 15px !important; }
body.elder-mode .med-times { font-size: 15px !important; }
body.elder-mode .btn-sm { font-size: 15px !important; }
body.elder-mode .vl-tip { font-size: 15px !important; }
body.elder-mode .gv-help { font-size: 15px !important; }

/* ---------- 12. 鏁欏椤碉細鍓爣棰?绉垎/鎻愮ず ---------- */
body.elder-mode .entry-card { font-size: 17px !important; line-height: 1.4 !important; }
body.elder-mode .entry-card strong { font-size: 18px !important; }
body.elder-mode .entry-card .entry-name { font-size: 17px !important; }
body.elder-mode .entry-card small,
body.elder-mode .entry-card .sub { font-size: 15px !important; }
body.elder-mode .lc-tip { font-size: 15px !important; }
body.elder-mode .lc-points { font-size: 16px !important; }
body.elder-mode .b-os { font-size: 16px !important; }
body.elder-mode .soft-mid span { font-size: 16px !important; }

/* ---------- 13. 鐧诲綍/娉ㄥ唽椤佃〃鍗?---------- */
body:has(.auth-page) .auth-form label { font-size: 16px !important; }
body:has(.auth-page) .auth-form input { font-size: 17px !important; }
body:has(.auth-page) .auth-form .remember-label,
body:has(.auth-page) .auth-form a { font-size: 16px !important; }
body:has(.auth-page) .auth-footer { font-size: 14px !important; }
body:has(.auth-page) label.check { font-size: 16px !important; }
body:has(.auth-page) .auth-foot { font-size: 16px !important; }
body:has(.auth-page) .auth-foot a { font-size: 16px !important; }
body:has(.auth-page) .auth-side .slogan,
body:has(.auth-page) .auth-brand span { font-size: 15px !important; }

/* ---------- 14. 瀛愬コ绔熀纭€鍙鎬э紙鍏ㄥ眬锛?---------- */
body:not(.elder-mode) .elder-nav button .nav-label,
body:not(.elder-mode) .child-nav button .nav-label { font-size: 13px !important; }
body:not(.elder-mode) .g-card,
body:not(.elder-mode) .pr-item,
body:not(.elder-mode) .tw { font-size: 15px !important; }

/* ---------- 15. 琛岄珮缁熶竴锛堟鏂?1.5銆佸崱鐗?1.45锛?---------- */
body.elder-mode .card,
body.elder-mode .panel,
body.elder-mode .morning,
body.elder-mode .med-next,
body.elder-mode .progress-card { line-height: 1.5 !important; }
body.elder-mode p { line-height: 1.55 !important; }

/* ---------- 16. 1.6 鍊嶅ぇ瀛楀彿锛氫互涓婂叏閮ㄥ啀鏀惧ぇ涓€妗?---------- */
body.elder-mode[data-scale="1.6"] .grid .g-card { font-size: 20px !important; }
body.elder-mode[data-scale="1.6"] .grid .g-card .g-ico { font-size: 32px !important; }
body.elder-mode[data-scale="1.6"] .pr-item { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .pr-item strong { font-size: 20px !important; }
body.elder-mode[data-scale="1.6"] .tw { font-size: 20px !important; }
body.elder-mode[data-scale="1.6"] .tw strong { font-size: 21px !important; }
body.elder-mode[data-scale="1.6"] .tw small { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .gva-fab-tip { font-size: 17px !important; }
body.elder-mode[data-scale="1.6"] .trend-tip { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .rec-time { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .tr-range { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .med-note { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .cal-arrow { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .tt2 { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .sc-opt { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .hb-sub { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .tag { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .rec-note { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .entry-card { font-size: 20px !important; }
body.elder-mode[data-scale="1.6"] .entry-card strong { font-size: 21px !important; }
body.elder-mode[data-scale="1.6"] .entry-card .entry-name { font-size: 20px !important; }
body.elder-mode[data-scale="1.6"] .entry-card small,
body.elder-mode[data-scale="1.6"] .entry-card .sub { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .lc-tip { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .lc-points { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .b-os { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .soft-mid span { font-size: 19px !important; }
body.elder-mode[data-scale="1.6"] .f-on { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .wr-item small { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .pf-cell span { font-size: 18px !important; }
body.elder-mode[data-scale="1.6"] .sym-row .care-copy span { font-size: 18px !important; }

/* ============================================================
   v454 甯冨眬閲嶆瀯锛氬帇缂╄秴澶фā鍧椼€佺粺涓€鍐呰竟璺濄€佹秷闄?澶ц€屾尋"
   鍙敼灏哄/闂磋窛锛屼笉鍔?DOM 椤哄簭涓庝氦浜?   ============================================================ */

/* ---------- 17. 棣栭〉锛氶《閮?hero 瑙嗛鍘嬬缉 ---------- */
body.elder-mode .hero-banner {
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  position: relative !important;
}
body.elder-mode .hero-banner video.hb-img,
body.elder-mode .hero-banner .hb-img {
  height: 180px !important;
  width: 100% !important;
  object-fit: cover !important;
}
body.elder-mode .hero-banner .hb-copy {
  padding: 10px 16px 12px !important;
}
body.elder-mode .hero-banner .hb-title { font-size: 20px !important; }
body.elder-mode .hero-banner .hb-sub { font-size: 16px !important; }

/* ---------- 18. 棣栭〉锛氶棶鍊?澶╂皵鍗″帇缂?---------- */
body.elder-mode .welcome.card {
  padding: 16px 18px !important;
  min-height: 0 !important;
  margin: 12px 0 !important;
}
body.elder-mode .welcome.card .big-date { margin: 2px 0 0 !important; }
body.elder-mode .welcome.card .w-btn {
  width: 74px !important;
  height: 74px !important;
  border-radius: 18px !important;
}
body.elder-mode .welcome.card .wi-img {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
}

/* ---------- 19. 棣栭〉锛氭姤骞冲畨 / 鐢熸椿鎻愰啋 妯帓绱у噾 ---------- */
body.elder-mode .care-card {
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 14px !important;
  min-height: 96px !important;
  height: auto !important;
  border-radius: 18px !important;
}
body.elder-mode .care-card .care-ico {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
}
body.elder-mode .care-card .care-copy {
  flex: 1 !important;
  text-align: left !important;
}
body.elder-mode .care-card .care-copy strong { display: block !important; font-size: 17px !important; }
body.elder-mode .care-card .care-copy span { display: block !important; font-size: 14px !important; margin-top: 2px !important; }
body.elder-mode .care-card .care-arrow { font-size: 22px !important; }

/* ---------- 20. 棣栭〉锛氭墦鍗″尯鍘嬬缉 ---------- */
body.elder-mode .progress-card {
  padding: 14px 14px 16px !important;
  margin: 12px 0 !important;
}
body.elder-mode .progress-card .pr-head { margin-bottom: 10px !important; }
body.elder-mode .pr-item {
  min-height: 0 !important;
  padding: 10px 8px !important;
  gap: 6px !important;
  border-radius: 14px !important;
}
body.elder-mode .pr-item .pr-ring {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
}
body.elder-mode .pr-item .pr-ring-in {
  width: 38px !important;
  height: 38px !important;
}
body.elder-mode .pr-item .pr-ico {
  width: 24px !important;
  height: 24px !important;
}
body.elder-mode .pr-item .pr-name { font-size: 15px !important; }
body.elder-mode .pr-item .pr-state { font-size: 13px !important; }

/* ---------- 21. 棣栭〉锛氭櫒鎶?/ 涓嬫鐢ㄨ嵂 / 鐣欒█ / 鏁欏鍏ュ彛鍘嬬缉 ---------- */
body.elder-mode .morning,
body.elder-mode .med-next,
body.elder-mode .family-row,
body.elder-mode .sos-banner,
body.elder-mode .guard-banner,
body.elder-mode .med-card,
body.elder-mode .teach-ways {
  padding: 12px 14px !important;
  min-height: 0 !important;
}
body.elder-mode .morning { margin: 12px 0 !important; }
body.elder-mode .med-next { margin: 12px 0 !important; }
body.elder-mode .teach-ways .tw {
  padding: 10px 8px !important;
  gap: 8px !important;
  border-radius: 14px !important;
}
body.elder-mode .teach-ways .tw-ico {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
}
body.elder-mode .teach-ways .tw-img {
  width: 26px !important;
  height: 26px !important;
}

/* ---------- 22. 鍋ュ悍椤碉細澶у崱鍘嬬缉 + 瓒嬪娍鍥鹃檺楂?---------- */
body.elder-mode .card.pad,
body.elder-mode .score-card,
body.elder-mode .wr-card,
body.elder-mode .selfcheck,
body.elder-mode .week-say,
body.elder-mode .med-sec,
body.elder-mode .rec-sec,
body.elder-mode .trend-sec {
  padding: 14px 14px !important;
  margin-bottom: 12px !important;
}
body.elder-mode .health-main .card,
body.elder-mode .health-main > .card {
  padding: 14px 14px !important;
}
body.elder-mode .trend {
  max-height: 180px !important;
}
body.elder-mode .trend canvas,
body.elder-mode .trend img {
  max-height: 120px !important;
}
body.elder-mode .rec-item {
  padding: 10px 12px !important;
  min-height: 0 !important;
}
body.elder-mode .sc-opt {
  padding: 10px 12px !important;
  min-height: 0 !important;
}

/* ---------- 23. 鐧诲綍椤碉細hero 鍥惧帇缂┿€佽〃鍗曚笂绉?---------- */
body:has(.auth-page) .auth-mobile-hero {
  margin: 0 0 12px !important;
  padding: 0 !important;
}
body:has(.auth-page) .auth-mobile-hero img {
  height: 190px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}
body:has(.auth-page) .auth-mobile-brand {
  margin: 0 0 8px !important;
}
body:has(.auth-page) .auth-card {
  padding: 20px 18px !important;
  margin-top: 0 !important;
}
body:has(.auth-page) .auth-form .field {
  margin-bottom: 14px !important;
}
body:has(.auth-page) .auth-form input {
  padding: 12px 14px !important;
}

/* ---------- 24. 鏁欏椤碉細4 鍒楁敼 2 鍒楋紝鍗＄墖涓嶅啀鎸?---------- */
body.elder-mode .entry-row {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}
body.elder-mode .entry-card {
  min-height: 0 !important;
  padding: 12px 10px !important;
  border-radius: 14px !important;
}
body.elder-mode .entry-card .entry-ico,
body.elder-mode .entry-card .b-ico {
  width: 40px !important;
  height: 40px !important;
}
@media (min-width: 900px) {
  body.elder-mode .entry-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
/* ---------- 25. v454b锛歝are-row 鍗曞垪鍫嗗彔 / 鎵撳崱椤规í鎺?---------- */
body.elder-mode .care-row {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
body.elder-mode .care-row .care-card {
  width: 100% !important;
}
body.elder-mode .pr-row {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
}
body.elder-mode .pr-item {
  flex-direction: row !important;
  align-items: center !important;
  text-align: left !important;
}
body.elder-mode .pr-item .pr-name { margin: 0 !important; }
/* ---------- 26. v455b锛氬仴搴烽〉鍥炬爣/鐜?閫夐」杩涗竴姝ョ揣鍑?---------- */
body.elder-mode .rec-item .rec-ico {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
}
body.elder-mode .rec-item .rec-ico svg {
  width: 20px !important;
  height: 20px !important;
}
body.elder-mode .rec-item {
  align-items: center !important;
  gap: 10px !important;
}
body.elder-mode .score-ring {
  width: 108px !important;
  height: 108px !important;
  flex: 0 0 108px !important;
}
body.elder-mode .score-ring b { font-size: 30px !important; }
body.elder-mode .score-main {
  align-items: center !important;
  gap: 12px !important;
}
body.elder-mode .selfcheck .sc-opt {
  padding: 12px 12px !important;
  min-height: 0 !important;
}
body.elder-mode .selfcheck .sc-opt svg {
  width: 24px !important;
  height: 24px !important;
}
body.elder-mode .sec-head { margin-bottom: 6px !important; }
body.elder-mode .sc-tip { margin: 0 0 10px !important; }
/* ============================================================
   v457 鐤忔湕鍖栬繑淇細鍖哄潡闂磋窛鑸掑睍銆佹偓娴挳鍒嗙銆佹暀瀛﹀垎绫荤敓鏁?   ============================================================ */

/* ---------- 27. 鏁欏鍒嗙被杩囨护淇锛歏ue scoped .entry-card 鐗瑰紓鎬?0,2,0
   瑕嗙洊 .zj-tut-card(0,1,0)锛岄渶鏇撮珮鐗瑰紓鎬?+ !important ---------- */
.entry-row .entry-card.zj-tut-card:not(.show),
.page .entry-card.zj-tut-card:not(.show) {
  display: none !important;
}

/* ---------- 28. 鏁欏鍒嗙被鏍忥細8 绫诲叏閮ㄥ彲瑙侊紙2 琛岀綉鏍硷紝涓嶆í鍚戞粴鍔級 ---------- */
body.elder-mode .zj-tut-cats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  overflow-x: visible !important;
  padding: 10px 0 2px !important;
  margin-top: 10px !important;
}
body.elder-mode .zj-tut-cats button {
  flex-shrink: 1 !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  white-space: nowrap !important;
}

/* ---------- 29. 鎮诞涓夐挳锛氳闊冲姪鎵嬩笌"甯?璇煶灏忓府鎵?缁勫交搴曞垎寮€ ---------- */
body.elder-mode .gva-fab {
  bottom: 242px !important;
}
body.elder-mode .global-voice .gv-help {
  margin-bottom: 12px !important;
}

/* ---------- 30. 棣栭〉鐤忔湕鍖栵細鍖哄潡闂磋窛 12鈫?8锛岄灞忛湶鍑烘洿澶氬唴瀹?---------- */
body.elder-mode main > .card,
body.elder-mode main > section {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}
/* hero 瑁呴グ鍥惧井闄嶏紝缁欎笅鏂瑰唴瀹硅浣?*/
body.elder-mode .hero-banner video.hb-img,
body.elder-mode .hero-banner .hb-img {
  height: 168px !important;
}
/* 鍗＄墖鍐呰竟璺濊垝灞?*/
body.elder-mode .care-card {
  padding: 16px 16px !important;
  gap: 14px !important;
}
body.elder-mode .care-row { gap: 14px !important; }
body.elder-mode .pr-row { gap: 12px !important; }
body.elder-mode .entry-card {
  padding: 14px 12px !important;
}
body.elder-mode .morning,
body.elder-mode .med-next,
body.elder-mode .family-row,
body.elder-mode .sos-banner,
body.elder-mode .guard-banner,
body.elder-mode .teach-ways {
  padding: 14px 16px !important;
}

/* ---------- 31. v457b 淇锛氬悗浠ｉ€夋嫨鍣ㄨ鐩栭棿璺濄€佹偓娴挳鍐嶆媺寮€ ---------- */
body.elder-mode main .card,
body.elder-mode main section {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}
body.elder-mode .welcome.card,
body.elder-mode .morning,
body.elder-mode .med-next {
  margin: 18px 0 !important;
}
body.elder-mode .gva-fab {
  bottom: 252px !important;
}

/* ============================================================
   v458锛氫腑鏂囪瘝璇柇琛?+ 鎮诞鏀剁撼 + 鐧诲綍椤典竴灞忓浘鐗囧簳
   ============================================================ */

/* ---------- 32. 鍏ㄥ眬涓枃璇嶈鏂锛堜笉鍐嶉€愬瓧纰庤锛?---------- */
body.elder-mode {
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}
/* badge 瀹瑰櫒锛?6鈫?4px 闃?灞?鎺夎 */
body.elder-mode .top-name {
  font-size: 14px !important;
  white-space: nowrap !important;
}

/* ---------- 33. 鍋ュ悍椤点€屽鍑鸿褰?缁欏尰鐢熺湅銆嶉摵婊″榻?---------- */
body.elder-mode .page-head:has(.btn-ghost) {
  justify-content: space-between !important;
  padding-left: 0 !important;
}

/* ---------- 34. 鎮诞涓夐挳鏀剁撼涓烘偓娴獥 ---------- */
body.elder-mode .global-voice {
  display: none !important;
}
body.elder-mode .global-voice.zj-fab-open {
  display: flex !important;
}
body.elder-mode .gva-fab {
  position: relative !important;
  bottom: 252px !important;
}
body.elder-mode .zj-fab-toggle {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  border: none !important;
  background: #ffffff !important;
  color: #2f6f4f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 62 !important;
  padding: 0 !important;
}
body.elder-mode .zj-fab-toggle svg { transform: rotate(180deg); }
body.elder-mode .gva-fab.zj-open .zj-fab-toggle svg { transform: rotate(0deg); }

/* ---------- 35. 鐧诲綍椤碉細绉诲姩绔竴灞?+ 鍥剧墖搴曞崐閫忔槑 ---------- */
@media (max-width: 768px) {
  .auth-page {
    background: url('/assets/hero-family-qo5O8uc4.jpg') center / cover no-repeat !important;
    min-height: 100vh !important;
    position: relative !important;
  }
  .auth-page::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(255, 255, 255, 0.84) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }
  .auth-page > * {
    position: relative !important;
    z-index: 2 !important;
  }
  .auth-side {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
  }
  .auth-side .auth-hero {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .auth-main {
    padding: 36px 24px 16px !important;
    justify-content: flex-start !important;
  }
  .auth-footer {
    padding: 8px 0 18px !important;
    min-height: 0 !important;
  }
}

/* ---------- 36. v458b 淇锛歡va-fab 鎭㈠ fixed 鎮诞浣?---------- */
body.elder-mode .gva-fab {
  position: fixed !important;
  bottom: 252px !important;
  right: 24px !important;
}

/* ---------- 37. v458c 淇锛氬仴搴烽〉鎸夐挳鎹㈣閾烘弧锛涚櫥褰曢〉涓€灞?---------- */
body.elder-mode .page-head:has(.btn-ghost) {
  flex-wrap: wrap !important;
  row-gap: 10px !important;
}
@media (max-width: 768px) {
  .auth-side .auth-hero {
    display: none !important;
  }
  .auth-main {
    min-height: 0 !important;
    padding: 32px 24px 12px !important;
    justify-content: flex-start !important;
  }
  .auth-footer {
    padding: 8px 0 16px !important;
  }
}

/* ---------- 38. v458d 淇锛氭寜閽?margin-left 褰掗浂锛涚櫥褰曢〉鍐呭鍘嬬缉 ---------- */
body.elder-mode .page-head:has(.btn-ghost) button {
  margin-left: 0 !important;
}
@media (max-width: 768px) {
  .auth-mobile-hero {
    display: none !important;
  }
  .auth-card .auth-sub {
    margin-bottom: 14px !important;
  }
  .auth-card .field {
    margin-bottom: 10px !important;
  }
  .auth-card .field input {
    height: 44px !important;
  }
  .auth-card .auth-row {
    margin-bottom: 12px !important;
    margin-top: 0 !important;
  }
  .auth-card .btn-primary {
    padding: 12px 26px !important;
  }
  .auth-card .role-switch {
    margin-top: 10px !important;
  }
  .auth-foot {
    margin-top: 10px !important;
  }
}

/* ---------- 39. v458e 淇锛氱櫥褰曢〉鍥剧墖搴曢檷浣庨伄缃╅€忔槑搴?---------- */
@media (max-width: 768px) {
  .auth-page::before {
    background: rgba(255, 255, 255, 0.62) !important;
  }
}

/* ---------- 40. v458f 淇锛氱櫥褰曢〉鍥剧墖搴曞啀闄嶉€忔槑搴?---------- */
@media (max-width: 768px) {
  .auth-page::before {
    background: rgba(255, 255, 255, 0.45) !important;
  }
}

/* ---------- 41. v458g 淇锛氬浘鐗囧簳鏇撮€?+ 椤堕儴鍝佺墝鍖哄彲璇绘€?---------- */
@media (max-width: 768px) {
  .auth-page::before {
    background: rgba(255, 255, 255, 0.28) !important;
  }
  .auth-mobile-brand {
    background: rgba(255, 255, 255, 0.72) !important;
    border-radius: 14px !important;
    padding: 10px 14px !important;
    margin: 0 auto !important;
  }
}

/* ---------- 42. v458h 淇锛歛uth-card 鍗婇€忔槑璁╁浘鐗囧簳閫忓嚭 ---------- */
@media (max-width: 768px) {
  .auth-card {
    background: rgba(255, 255, 255, 0.58) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
  }
  .auth-card .field input {
    background: rgba(255, 255, 255, 0.92) !important;
  }
  .auth-card .btn-primary {
    box-shadow: 0 4px 12px rgba(232, 119, 34, 0.25) !important;
  }
}

/* ---------- 43. v458i 淇锛氬浘鐗囧簳鏀圭敤 img 閾烘弧锛圖OM 灞傛覆鏌撳彲闈狅級 ---------- */
@media (max-width: 768px) {
  .auth-page {
    background: none !important;
  }
  .auth-page::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(255, 255, 255, 0.42) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }
  .auth-side {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }
  .auth-side .auth-hero {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .auth-mobile-hero {
    display: none !important;
  }
  .auth-main {
    min-height: 0 !important;
    padding: 32px 24px 12px !important;
    justify-content: flex-start !important;
    position: relative !important;
    z-index: 2 !important;
  }
  .auth-footer {
    padding: 8px 0 16px !important;
    position: relative !important;
    z-index: 2 !important;
  }
  .auth-card {
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
  }
  .auth-card .field input {
    background: rgba(255, 255, 255, 0.95) !important;
  }
}

/* ---------- 44. v458j 淇锛歨ero-frame 涔熼摵婊★紝鍥剧湡姝ｅ叏灞?---------- */
@media (max-width: 768px) {
  .auth-side .hero-frame {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }
  .auth-side .hero-frame .auth-hero {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-height: none !important;
  }
  .auth-side .hero-frame .hero-chip,
  .auth-side .hero-frame .slogan,
  .auth-side .hero-frame > div:not(.auth-hero) {
    display: none !important;
  }
}

/* ============ v459 鐢ㄦ埛鏈€鏂?6 椤癸紙2026-10-21锛?============ */

/* ---------- 45. 鍋ュ悍椤靛弻鎸夐挳閾烘弧鍚岃锛堝鍑鸿褰?缁欏尰鐢熺湅 涓嶅啀鐣欑┖锛?---------- */
body.elder-mode .page-head:has(.btn-ghost) {
  flex-wrap: wrap !important;
  column-gap: 12px !important;
  row-gap: 10px !important;
}
body.elder-mode .page-head:has(.btn-ghost) .page-title {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
body.elder-mode .page-head:has(.btn-ghost) button {
  flex: 1 1 calc(50% - 6px) !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
}

/* ---------- 46. 姹傚姪鎸夐挳锛氭洿灏忎絾椴滄槑锛?4x40 娓愬彉绾㈣兌鍥婏級 ---------- */
body.elder-mode .sos-btn {
  width: 84px !important;
  height: 40px !important;
  min-width: 0 !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #ff7a68, #e8442f) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  box-shadow: 0 4px 14px rgba(232,68,47,0.45) !important;
  padding: 0 14px !important;
}
body.elder-mode .sos-btn span,
body.elder-mode .sos-btn b,
body.elder-mode .sos-btn .sos-text {
  font-size: 15px !important;
  color: #fff !important;
}

/* ---------- 47. 棣栭〉鍔熻兘缃戞牸锛? 鍒楃瓑瀹斤紝鍗＄墖鏂囧瓧涓嶆孩鍑?---------- */
body.elder-mode section.grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.elder-mode section.grid .g-card {
  min-width: 0 !important;
  overflow: hidden !important;
}
body.elder-mode section.grid .g-card .g-label {
  font-size: 16px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  word-break: keep-all !important;
}

/* ---------- 48. 璇煶鎮诞閽細鍗婇€忔槑姣涚幓鐠?---------- */
body.elder-mode .gva-fab {
  background: rgba(47, 111, 79, 0.86) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}

/* ---------- 49. 瀵艰埅鏍忥細閫忔槑姣涚幓鐠?---------- */
body.elder-mode .elder-nav {
  background: rgba(23, 54, 39, 0.5) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

/* ---------- 50. 鐧诲綍椤碉細鍙暀鍥剧墖涓哄簳锛屽幓鎺夐鑹茶儗鏅眰 ---------- */
@media (max-width: 768px) {
  .auth-page {
    background: url('/assets/hero-family-qo5O8uc4.jpg') center / cover no-repeat !important;
  }
  .auth-page::before {
    background: rgba(255, 255, 255, 0.10) !important;
  }
  .auth-card {
    background: rgba(255, 255, 255, 0.42) !important;
    border: 1px solid rgba(255,255,255,0.35) !important;
    box-shadow: 0 10px 40px rgba(20,40,30,0.25) !important;
  }
  .auth-card .field,
  .auth-card input {
    background: rgba(255, 255, 255, 0.92) !important;
  }
}

/* ============ v460 全局实测修复（2026-10-21） ============ */

/* ---------- 51. 用药页引导步骤：竖排，修复 3 卡横排溢出与文字碎裂 ---------- */
body.elder-mode .med-how {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
}
body.elder-mode .mh-step {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 16px !important;
}
body.elder-mode .mh-step .mh-ico {
  flex: 0 0 auto !important;
  width: 44px !important;
  height: 44px !important;
}
body.elder-mode .mh-step b {
  font-size: 19px !important;
  line-height: 1.4 !important;
  word-break: keep-all !important;
}
body.elder-mode .mh-step p {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #5c5348 !important;
  word-break: keep-all !important;
}

/* ---------- 52. 用药页「还没有用药计划」空态：说明文字加深、防字间断裂 ---------- */
body.elder-mode .mh-empty,
body.elder-mode .mh-empty p {
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}
body.elder-mode .mh-empty p {
  color: #5c5348 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* ---------- 53. 设置页个人资料字段行距压缩：110px→100px/字段，令底部字号提示避开固定备案号叠印 ---------- */
body.elder-mode .elder-main .card .pf-fields .field {
  min-height: 100px !important;
}
body.elder-mode .elder-main .card .pf-fields .field .input {
  height: 57px !important;
  min-height: 57px !important;
}

/* ---------- 54. 设置页字号提示副标题 14px 灰色对比度不足(≈4.2:1<4.5:1)：加深至达标 ---------- */
body.elder-mode .elder-main .sec-sub {
  color: #5c5348 !important;
}

/* ---------- 55. 全局 elder-main 底距 110→160px：内容滚动到底不贴固定导航与备案号 ---------- */
body.elder-mode .elder-main {
  padding-bottom: 160px !important;
}
/* ---------- 56. 登录/注册页：移除 auth-main 米色渐变，露出 hero 家庭全屏图底（用户 v459 诉求：以图片为底，颜色背景不要）；
   表单卡提不透明度保证文字对比，底部标语/备案号改白字加阴影保证图上可读；移动端隐藏与图底重复的 hero 小图 ---------- */
.auth-page .auth-main {
  background: transparent !important;
}
.auth-page .auth-card {
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 12px 32px rgba(60, 40, 20, 0.16) !important;
}
.auth-page .auth-footer,
.auth-page .auth-footer a,
.auth-page .auth-footer span {
  color: rgba(255, 255, 255, 0.96) !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55) !important;
}
@media (max-width: 720px) {
  .auth-page .auth-mobile-hero {
    display: none !important;
  }
}
/* ---------- 57. v470：首页功能搜索框聚焦反馈强化（适老化焦点可见，WCAG 2.4.7） ---------- */
.zg-search input:focus {
  border-color: #C96A3D !important;
  box-shadow: 0 0 0 3px rgba(201, 106, 61, 0.22) !important;
  outline: 2px solid #C96A3D !important;
  outline-offset: 1px;
}
/* ---------- 58. v471：拨号键盘按压反馈（适老化交互反馈：按下有收缩+暖底+内阴影） ---------- */
.d-key:active {
  transform: scale(0.96) !important;
  background: #F3E6CE !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.08) !important;
}
/* ---------- 59. v472：适老化触控加高（求助按钮/今日安排语音按钮 至 44px） ---------- */
.elder-top .sos-btn {
  min-height: 44px;
}
.say-row button {
  min-height: 44px !important;
}
/* ---------- 60. v473：返回按钮触控加高（适老化 44px，统一触控标准） ---------- */
.v407-back {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}