/* 当前基础、顾客页和商家配置样式；不加载旧版主题。所有选择器限定在模块根节点。 */
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; color: #1d1d1f; background: #f5f5f7; font-synthesis: none; --green: #0071e3; --muted: #86868b; --line: #e3e5eb; }
body * { box-sizing: border-box; }
body button, body input, body textarea { font: inherit; }
body button, body a, body input, body textarea { -webkit-tap-highlight-color: transparent; }
body button { cursor: pointer; }
body button:disabled { opacity: 0.45; cursor: not-allowed; }
body button, body a, body input, body textarea { outline-offset: 4px; }
body button:focus-visible, body a:focus-visible { outline: #0071e3 solid 2px; }
body button { transition: background 0.15s, transform 0.15s; }
body button:active { transform: translateY(1px); }
body svg { width: 20px; height: 20px; flex-shrink: 0; }
body a { color: inherit; text-decoration: none; }
body h1, body h2, body h3, body p { margin: 0px; }
body button { border: 0px; }
body input, body textarea { width: 100%; border: 1px solid rgb(224, 232, 227); border-radius: 9px; background: white; padding: 12px 13px; color: #1d1d1f; outline-color: #0071e3; }
body input::placeholder, body textarea::placeholder { color: #86868b; }
body textarea { resize: vertical; line-height: 1.8; }
body label { display: block; font-size: 13px; font-weight: 500; color: #515154; }
body small { font-weight: 400; }
body .brand { display: flex; align-items: center; font-weight: 750; }
body .page-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 31px; }
body .eyebrow { margin-bottom: 10px; }
body h1 { line-height: 1.5; font-weight: 650; }
body .page-heading p { margin-top: 10px; line-height: 1.8; }
body .button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; white-space: nowrap; }
body .button svg { width: 16px; height: 16px; }
body .primary { color: rgb(255, 255, 255); background: var(--green); }
body .primary:hover { background: #0077ed; }
body .secondary { border-width: 1px; border-style: solid; }
body .secondary:hover { background: #dedee4; }
body .text-button { background-color: transparent; display: inline-flex; align-items: center; gap: 8px; font-size: 11px; padding: 0px; }
body .text-button svg { width: 15px; height: 15px; }
body .outline-tag { font-size: 8px; font-weight: 400; white-space: nowrap; margin-left: auto; }
body .customer { margin-right: auto; margin-left: auto; }
body .hospital-mark { width: 35px; height: 35px; background-color: rgb(239, 244, 237); color: rgb(79, 120, 95); border-radius: 11px; place-items: center; margin-right: auto; margin-bottom: 11px; margin-left: auto; }
body .hospital-mark svg { width: 22px; height: 22px; }
body .customer-hospital { text-align: center; font-weight: 600; }
body .branch-label { text-align: center; color: rgb(154, 166, 143); margin-top: 6px; margin-bottom: 24px; }
body .customer h2 { line-height: 1.5; }
body .customer label { margin: 0px 0px 9px; }
body .customer label > span, body .field-caption > span { float: right; font-weight: 400; }
body .customer input:not([type="checkbox"]):not([type="radio"]) { margin-bottom: 19px; }
body .experience-box { border-width: 1px; border-style: solid; overflow: hidden; }
body .experience-box textarea { background-color: initial; border-style: none; border-color: currentcolor; display: block; }
body .voice-button { display: flex; align-items: center; gap: 5px; }
body .voice-button svg { width: 12px; height: 12px; }
body .chips { flex-wrap: wrap; }
body .chip { border-width: 1px; border-style: solid; background-color: white; }
body .generate { width: 100%; }
body .generate svg:last-child { margin-left: auto; }
body .generate svg:first-child { margin-right: auto; }
body .local-note { text-align: center; line-height: 1.7; }
body .customer-footer { display: flex; justify-content: center; align-items: center; }
body .result[hidden] { display: none; }
body .result-title { display: flex; justify-content: space-between; align-items: center; }
body .confirm { align-items: flex-start; line-height: 1.8; display: flex !important; margin-top: 12px !important; margin-bottom: 12px !important; }
body .confirm input { width: 13px; flex-shrink: 0; accent-color: var(--green); margin-top: 3px; }
body .result .button { width: 100%; margin-bottom: 8px; }
body.customer-page .customer label { font-size: 12px; }
body.customer-page .customer input:not([type="checkbox"]):not([type="radio"]), body.customer-page .experience-box textarea { font-size: 13px; }
body.customer-page .customer-hospital { font-size: 16px; }
body.customer-page .branch-label { font-size: 11px; }
body .panel { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 13px; padding: 27px; }
body .panel-title { display: flex; align-items: center; gap: 10px; font-weight: 600; margin-bottom: 26px; }
body .panel-title svg { width: 18px; }
body .settings-layout { display: grid; gap: 25px; align-items: start; }
body .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
body .form-grid input, body .form-grid textarea, body .entry-layout input { margin-top: 10px; font-size: 12px; }
body .wide { grid-column: 1 / -1; }
body .form-grid small { display: block; color: rgb(154, 165, 152); font-size: 10px; line-height: 1.8; margin-top: 7px; }
body .form-bottom { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body .form-bottom > span { font-size: 10px; color: rgb(153, 162, 147); }
body .settings-side h3 { line-height: 1.8; }
body .settings-side p, body .soft-panel p { font-size: 11px; line-height: 1.9; }
body .soft-panel { border-width: 1px; border-style: solid; padding: 23px; margin-top: 20px; }
body .soft-panel h3 { font-size: 13px; font-weight: 550; margin-top: 0px; margin-bottom: 10px; }
body .soft-panel .text-button { margin-top: 16px; }
body .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; }
body #toast { position: fixed; bottom: 30px; left: 50%; transform: translate(-50%, 15px); color: rgb(255, 255, 255); padding: 13px 22px; z-index: 100; font-size: 12px; opacity: 0; pointer-events: none; transition: 0.2s; max-width: 90vw; line-height: 1.7; }
body #toast.show { opacity: 1; transform: translate(-50%, 0px); }
@media (max-width: 1200px) {
  body .settings-layout { gap: 20px; }
}
@media (max-width: 1000px) {
  body .page-heading { align-items: flex-start; }
}
@media (max-width: 1000px) {
  body .settings-side { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 1000px) {
  body .settings-side .soft-panel { margin-top: 0px; }
}
@media (max-width: 650px) {
  body .page-heading { flex-direction: column; gap: 15px; margin-bottom: 23px; }
}
@media (max-width: 650px) {
  body .settings-side { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  body .form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  body .form-grid label { grid-column: 1; }
}
@media (max-width: 650px) {
  body .form-bottom { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 650px) {
  body .form-bottom .button { align-self: flex-end; }
}
body .length-status { line-height: 1.8; }
body .length-help { margin-bottom: 14px; }
body .length-help[hidden] { display: none; }
body .length-help strong { font-weight: 500; }
body .length-help p { line-height: 1.8; margin-top: 7px; margin-bottom: 10px; }
body .length-help textarea { min-height: 75px; margin-bottom: 8px; }
body .input-route { border-width: 1px; border-style: solid; overflow: hidden; background-color: rgb(255, 255, 255); }
body .route-heading { display: flex; width: 100%; align-items: center; text-align: left; }
body .route-heading strong { display: block; }
body .route-heading small { display: block; }
body .route-number { background-image: initial; }
body .route-state { margin-left: auto; white-space: nowrap; }
body .route-body[hidden] { display: none; }
body .selection-note { line-height: 1.8; }
body .feedback-chip { line-height: 1.5; }
body .selection-summary { line-height: 1.7; margin-bottom: 4px; }
body .route-or { text-align: center; }
body .pet-field { border-style: none; border-color: currentcolor; padding: 0px; margin-right: 0px; margin-left: 0px; min-width: 0px; }
body .pet-field legend { width: 100%; }
body .pet-field legend span { float: right; }
body .pet-options { display: grid; grid-template-columns: repeat(3, 1fr); }
body .pet-chip { border-width: 1px; border-style: solid; font-size: 12px; }
body .admin-strengths { border-width: 1px; border-style: solid; padding: 14px; margin-right: 0px; margin-left: 0px; min-width: 0px; }
body .admin-strengths legend { font-size: 13px; padding-right: 5px; padding-left: 5px; }
body .admin-strength-options { display: flex; flex-wrap: wrap; gap: 13px 18px; }
body .admin-strength-options label { display: flex; gap: 6px; align-items: center; font-size: 11px; }
body .admin-strength-options input { width: 13px; margin: 0px; }
body .admin-strengths small { margin-top: 15px; }
body.customer-page .pet-chip { font-size: 14px; }
body .settings-layout { grid-template-columns: minmax(380px, 1fr) minmax(320px, 380px); }
body .settings-layout > * { min-width: 0px; }
body .merchant-library .panel-title { margin-bottom: 12px; }
body .merchant-intro { margin-bottom: 12px; }
body .merchant-info-group { border-top: 1px solid var(--line); margin-top: 16px; }
body .merchant-info-group summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; padding-top: 15px; padding-bottom: 8px; font-weight: 550; list-style-position: initial; list-style-type: none; }
body .merchant-info-group summary span::before { content: "+"; display: inline-block; width: 17px; }
body .merchant-info-group[open] summary span::before { content: "−"; }
body .merchant-info-group summary small { font-size: 10px; white-space: nowrap; }
body .merchant-info-fields { display: grid; gap: 15px; padding-top: 8px; padding-bottom: 4px; }
body .merchant-info-fields label { font-size: 11px; line-height: 1.6; }
body .merchant-info-fields textarea { display: block; margin-top: 7px; }
body .merchant-use-note { margin-top: 17px; margin-bottom: 17px; font-size: 10px !important; line-height: 1.8 !important; }
body .merchant-save { border-top: 1px solid var(--line); padding-top: 15px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
body .merchant-save > span { font-size: 10px; }
@media (max-width: 1100px) {
  body .settings-layout { grid-template-columns: minmax(0px, 1fr); }
}
body .platform-cards { display: grid; }
body .platform-card { align-items: center; gap: 15px; border-width: 1px; border-style: solid; transition: transform 0.15s, border-color 0.15s; }
body .platform-symbol { display: grid; place-items: center; flex-shrink: 0; font-size: 15px; }
body .platform-card-copy { display: grid; }
body .platform-card-copy > span { font-size: 10px; opacity: 0.75; }
body .platform-card[aria-disabled] { opacity: 0.5; cursor: default; }
body .entry-footnote { font-size: 11px; text-align: center; }
body .note-pill { display: inline-block; padding-top: 6px; padding-bottom: 6px; border-radius: 20px; font-size: 11px; }
body .note-intro p, body .ai-note { font-size: 11px; line-height: 1.8; }
body .ai-note { text-align: center; margin-top: 10px; margin-bottom: 10px; }
body .customer [hidden] { display: none !important; }
body .length-help .expand-note { display: block; margin-top: 12px; margin-bottom: 16px; }
/* 商家配置：与顾客页共用蓝灰视觉。 */
body.admin-page { --green: #0071e3; --line: #e3e5eb; --muted: #86868b; --admin-relief: 5px 5px 12px #cdd3dd80, -5px -5px 12px #fff; color: rgb(29, 29, 31); background-color: rgb(245, 245, 247); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; }
body .managed-admin-header { max-width: 1320px; margin-right: auto; margin-left: auto; padding: 24px 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgb(227, 229, 235); }
body .managed-admin-content { max-width: 1320px; margin-right: auto; margin-left: auto; padding: 38px 32px; }
body.customer-page a.nav-hospital:hover strong { color: rgb(0, 113, 227); }
@media (max-width: 650px) {
  body .managed-admin-header { padding: 20px 18px; gap: 12px; }
}
@media (max-width: 650px) {
  body .managed-admin-content { padding: 28px 16px; }
}
body.admin-page :is(button, a, input, textarea, summary):focus-visible { outline: rgb(0, 113, 227) solid 3px; outline-offset: 4px; }
body.admin-page .brand { font-size: 20px; letter-spacing: -0.5px; gap: 12px; }
body.admin-page .page-heading p { color: rgb(134, 134, 139); }
body.admin-page .eyebrow { color: rgb(134, 134, 139); font-size: 10px; letter-spacing: 1.8px; }
body.admin-page .page-heading h1 { font-size: 32px; font-weight: 650; letter-spacing: -1px; }
body.admin-page .page-heading p { font-size: 13px; }
body.admin-page .button { min-height: 44px; border-radius: 24px; padding: 12px 21px; font-size: 13px; }
body.admin-page .primary { background-color: rgb(0, 113, 227); color: rgb(255, 255, 255); }
body.admin-page .primary:hover { background: rgb(0, 119, 237); }
body.admin-page .text-button { color: rgb(0, 102, 204); min-height: 36px; }
body.admin-page .panel { border-width: 1px; border-style: solid; border-color: rgba(255, 255, 255, 0.79); border-radius: 24px; }
body.admin-page .panel { background-color: rgb(255, 255, 255); box-shadow: rgba(24, 45, 74, 0.016) 0px 5px 24px; }
body.admin-page .panel { padding: 28px; }
body.admin-page .panel-title { font-size: 17px; font-weight: 600; }
body.admin-page .panel-title svg { color: rgb(0, 113, 227); }
body.admin-page .outline-tag { border-style: none; border-color: currentcolor; border-radius: 20px; padding: 6px 10px; background-color: rgb(236, 238, 243); color: rgb(110, 110, 115); }
body.admin-page :is(label, .admin-strengths legend, .merchant-info-fields label, .merchant-info-group summary) { color: rgb(81, 81, 84); }
body.admin-page :is(input, textarea) { color: rgb(29, 29, 31); border-color: rgb(210, 210, 215); border-radius: 12px; outline-color: rgb(0, 113, 227); }
body.admin-page :is(input, textarea)::placeholder { color: rgb(146, 146, 151); }
body.admin-page input[type="checkbox"] { accent-color: rgb(0, 113, 227); }
body.admin-page .form-grid :is(input:not([type="checkbox"]):not([type="radio"]), textarea) { font-size: 14px; min-height: 48px; }
body.admin-page .admin-strengths { border-color: rgb(227, 229, 235); border-radius: 16px; }
body.admin-page .admin-strengths small { color: rgb(134, 134, 139); }
body.admin-page .merchant-library { background-color: rgb(241, 243, 247); border-color: rgb(255, 255, 255); box-shadow: rgba(209, 214, 223, 0.5) 7px 7px 18px, rgb(255, 255, 255) -7px -7px 18px; }
body.admin-page .merchant-intro { color: rgb(110, 110, 115); line-height: 1.8; }
body.admin-page .merchant-info-group summary { min-height: 48px; font-size: 13px; }
body.admin-page .merchant-info-group summary span::before { color: rgb(0, 113, 227); }
body.admin-page .merchant-info-group summary small { color: rgb(134, 134, 139); }
body.admin-page .merchant-info-fields textarea { font-size: 14px; min-height: 110px; background-color: rgb(252, 253, 255); }
body.admin-page .merchant-use-note { color: rgb(110, 110, 115); }
body.admin-page .merchant-save > span { color: rgb(110, 110, 115); }
body.admin-page :is(.notice, .soft-panel) { background-color: rgb(238, 242, 248); color: rgb(110, 110, 115); border-color: rgb(225, 231, 239); border-radius: 22px; }
body.admin-page .soft-panel h3 { color: rgb(29, 29, 31); }
body.admin-page :is(.soft-panel p, .soft-panel li, .definition p, .qr-panel p) { color: rgb(134, 134, 139); }
body.admin-page #toast { border-radius: 24px; background-color: rgba(37, 37, 39, 0.91); }
@media (max-width: 650px) {
  body.admin-page .page-heading h1 { font-size: 27px; }
}
@media (max-width: 650px) {
  body.admin-page .page-heading p { font-size: 12px; }
}
@media (max-width: 650px) {
  body.admin-page .panel { padding: 23px 19px; }
}
@media (max-width: 650px) {
  body.admin-page .outline-tag { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  body.admin-page *, body.admin-page ::before, body.admin-page ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; scroll-behavior: auto !important; }
}
/* 顾客页：平台选择、体验输入与整理结果。 */
body.customer-page { --experience-ink: #1d1d1f; --experience-muted: #6e6e73; --experience-blue: #0071e3; --green: #0071e3; background: rgb(245, 245, 247); color: var(--experience-ink); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; }
body.customer-page #app { padding: 0px; }
body.customer-page button, body.customer-page a { touch-action: manipulation; }
body.customer-page :is(button, a, input, textarea):focus-visible { outline: rgb(0, 113, 227) solid 3px; outline-offset: 4px; }
body .experience-nav { position: sticky; top: 0px; z-index: 20; background-color: rgba(250, 250, 252, 0.86); border-bottom: 1px solid rgba(0, 0, 0, 0.07); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); }
body .experience-nav-inner { max-width: 1120px; width: calc(100% - 96px); min-height: 72px; margin-right: auto; margin-left: auto; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
body .experience-wordmark { display: flex; align-items: center; gap: 10px; flex-shrink: 0; font-size: 20px; font-weight: 650; letter-spacing: -0.6px; }
body .experience-logo { display: grid; place-items: center; }
body .nav-hospital { min-width: 0px; max-width: 360px; text-align: right; }
body .nav-hospital strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 550; color: rgb(66, 66, 69); }
body .nav-hospital span { display: block; font-size: 11px; color: rgb(134, 134, 139); margin-top: 4px; }
body.customer-page .customer { width: calc(100% - 48px); max-width: 820px; min-height: 0px; margin-right: auto; margin-left: auto; padding: 24px 0px 48px; background-color: transparent; border-radius: 0px; }
body.customer-page .platform-selector { width: calc(100% - 96px); max-width: 1120px; padding-top: 0px; padding-bottom: 36px; }
body .entry-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 32px; min-height: 420px; padding-top: 56px; padding-bottom: 48px; }
body.customer-page .entry-intro { margin-top: 0px; margin-bottom: 0px; }
body.customer-page .hero-eyebrow { color: rgb(110, 110, 115); font-size: 15px; font-weight: 550; letter-spacing: 0.2px; }
body.customer-page .entry-intro h1 { margin-top: 18px; margin-bottom: 20px; font-size: clamp(48px, 5.8vw, 76px); line-height: 1.1; font-weight: 700; letter-spacing: -0.055em; color: rgb(29, 29, 31); }
body .entry-intro h1 > span { color: rgb(0, 113, 227); background-image: linear-gradient(110deg, rgb(0, 113, 227), rgb(88, 129, 223)); background-clip: text; -webkit-text-fill-color: transparent; }
body.customer-page .entry-intro p { font-size: 20px; font-weight: 450; line-height: 1.6; color: rgb(110, 110, 115); }
body .hero-visual { position: relative; height: 328px; isolation: isolate; }
body .hero-halo { position: absolute; z-index: -1; inset: -15px -10px; border-radius: 50%; background-image: radial-gradient(rgb(215, 233, 255) 0%, rgb(231, 237, 252) 35%, transparent 68%); }
body .hero-note { position: absolute; top: 20px; left: 50%; width: 248px; min-height: 278px; padding: 25px; transform: translateX(-50%) rotate(-7deg); border-width: 1px; border-style: solid; border-color: rgba(255, 255, 255, 0.9); background-image: linear-gradient(140deg, rgba(255, 255, 255, 0.93), rgb(255, 255, 255)); border-radius: 29px; box-shadow: rgba(23, 61, 108, 0.19) 0px 26px 55px -12px; }
body .hero-note-mark { display: grid; place-items: center; background-image: initial; margin-bottom: 15px; }
body .hero-note-kicker { display: block; font-size: 10px; color: rgb(134, 134, 139); margin-bottom: 9px; }
body .hero-note > strong { display: block; font-size: 29px; line-height: 1.35; letter-spacing: -1.2px; font-weight: 650; }
body .note-strokes { display: grid; gap: 7px; margin-top: 20px; margin-bottom: 23px; }
body .note-strokes i { height: 5px; width: 100%; border-radius: 4px; background-color: rgb(238, 238, 242); }
body .note-strokes i:nth-child(2) { width: 90%; }
body .note-strokes i:nth-child(3) { width: 64%; }
body .hero-note-end { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 10px; color: rgb(134, 134, 139); }
body .hero-note-end > span { display: grid; place-items: center; width: 23px; height: 23px; color: rgb(255, 255, 255); background-color: rgb(0, 113, 227); border-radius: 50%; font-size: 16px; }
body .floating-thought { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 14px 18px; border-width: 1px; border-style: solid; border-color: rgba(255, 255, 255, 0.9); border-radius: 18px; background-color: rgba(255, 255, 255, 0.933); box-shadow: rgba(23, 61, 108, 0.08) 0px 12px 30px; font-size: 13px; font-weight: 500; }
body .floating-thought svg { width: 18px; height: 18px; color: rgb(0, 113, 227); }
body .thought-one { top: 34px; right: -5px; transform: rotate(7deg); }
body .thought-two { bottom: 4px; left: 3px; transform: rotate(5deg); }
body .platform-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-top: 16px; margin-bottom: 22px; }
body .platform-section-heading h2 { color: rgb(29, 29, 31); font-size: 24px; font-weight: 650; letter-spacing: -0.7px; }
body .platform-section-heading > span { font-size: 12px; color: rgb(134, 134, 139); }
body.customer-page .platform-cards { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
body.customer-page .platform-card { display: block; position: relative; min-width: 0px; min-height: 292px; padding: 30px; border-width: 1px; border-style: solid; border-radius: 28px; color: rgb(29, 29, 31); transition: transform 0.25s, box-shadow 0.25s; }
body.customer-page .platform-card:hover { transform: translateY(-4px); box-shadow: rgba(0, 0, 0, 0.067) 0px 16px 40px; }
body .platform-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.customer-page .platform-symbol { font-size: 14px; font-weight: 650; }
body.customer-page .xiaohongshu .platform-symbol { letter-spacing: -0.5px; }
body .card-length { padding: 6px 11px; border-radius: 20px; background-color: rgb(245, 245, 247); font-size: 11px; color: rgb(110, 110, 115); }
body.customer-page .platform-card-copy { display: grid; gap: 7px; margin-top: 24px; margin-bottom: 22px; }
body .card-kicker { color: rgb(134, 134, 139); }
body.customer-page .platform-card-copy strong { font-size: 25px; font-weight: 650; letter-spacing: -0.8px; }
body.customer-page .platform-card-copy small { font-size: 14px; color: rgb(110, 110, 115); line-height: 1.6; }
body.customer-page .platform-card[aria-disabled] { opacity: 0.45; box-shadow: none; transform: none; }
body.customer-page .entry-footnote { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 34px; margin-bottom: 0px; color: rgb(134, 134, 139); font-size: 11px; }
body .entry-footnote svg { width: 14px; height: 14px; }
body.customer-page .customer:not(.platform-selector) > :is(.hospital-mark, .customer-hospital, .branch-label) { display: none; }
body.customer-page .back-platform { display: inline-flex; min-height: 40px; align-items: center; margin-bottom: 20px; color: rgb(0, 102, 204); font-size: 13px; }
body .form-context { margin-bottom: 28px; }
body .form-context > span { display: block; font-size: 12px; color: rgb(110, 110, 115); margin-bottom: 10px; }
body .form-context > strong { display: block; font-size: 34px; font-weight: 650; letter-spacing: -1px; }
body .form-context > small { display: block; font-size: 12px; color: rgb(134, 134, 139); margin-top: 12px; }
body.customer-page .note-intro { margin-top: 0px; margin-bottom: 30px; }
body.customer-page .note-pill { color: rgb(110, 110, 115); background-color: rgb(232, 232, 237); font-size: 11px; padding: 6px 11px; }
body.customer-page .note-intro h1 { font-size: 34px; font-weight: 650; color: rgb(29, 29, 31); line-height: 1.3; letter-spacing: -1px; margin-top: 14px; margin-bottom: 10px; }
body.customer-page .note-intro p { font-size: 13px; color: rgb(134, 134, 139); }
body .visit-details { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; padding: 28px; border-radius: 25px; background-color: rgb(255, 255, 255); margin-bottom: 28px; }
body.customer-page .pet-field { margin-right: 0px; margin-bottom: 0px; margin-left: 0px; }
body.customer-page .pet-field legend, body.customer-page .project-field > label { width: 100%; margin-bottom: 15px; color: rgb(29, 29, 31); font-size: 14px; font-weight: 550; line-height: 1.5; }
body.customer-page .pet-field legend > span, body.customer-page .project-field > label > span { float: right; color: rgb(134, 134, 139); font-size: 11px; font-weight: 400; }
body.customer-page .pet-options { gap: 10px; }
body.customer-page .pet-chip { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 84px; padding: 12px 8px; color: rgb(81, 81, 84); border-width: 1px; border-style: solid; border-radius: 15px; font-size: 14px; font-weight: 500; }
body.customer-page .pet-chip.selected { color: rgb(0, 102, 204); background: rgb(245, 249, 255); border-color: rgb(0, 113, 227); box-shadow: rgb(0, 113, 227) 0px 0px 0px 1px inset; }
body .pet-glyph { display: inline-grid; place-items: center; }
body.customer-page input:not([type="checkbox"]):not([type="radio"]) { min-height: 54px; color: rgb(29, 29, 31); border-color: rgb(210, 210, 215); border-radius: 12px; background-color: rgb(255, 255, 255); padding: 15px; }
body.customer-page input::placeholder, body.customer-page textarea::placeholder { color: rgb(134, 134, 139); }
body.customer-page .route-caption { margin-bottom: 13px; margin-left: 4px; color: rgb(134, 134, 139); font-size: 12px; }
body.customer-page .input-route { overflow: hidden; border: 1px solid #e0e0e5; border-radius: 25px; background-color: rgb(255, 255, 255); }
body.customer-page .input-route.active { border-color: rgb(210, 227, 250); background-color: rgb(255, 255, 255); }
body.customer-page .route-heading { min-height: 83px; padding: 23px 25px; gap: 13px; background-color: rgb(255, 255, 255); color: rgb(29, 29, 31); }
body.customer-page .route-heading strong { font-size: 18px; font-weight: 600; letter-spacing: -0.3px; }
body.customer-page .route-heading small { margin-top: 6px; font-size: 12px; line-height: 1.5; color: rgb(134, 134, 139); }
body.customer-page .route-number { display: grid; place-items: center; min-width: 29px; height: 29px; border-radius: 50%; padding: 0px; background-image: initial; font-size: 11px; }
body.customer-page .input-route.active .route-number { background-image: initial; }
body.customer-page .route-state { color: #86868b; font-size: 11px; }
body.customer-page .input-route.active .route-state { color: rgb(0, 113, 227); }
body.customer-page .route-body { padding: 0px 25px 23px; }
body.customer-page .selection-note { font-size: 12px; line-height: 1.8; color: rgb(110, 110, 115); margin-bottom: 17px; }
body.customer-page .strengths-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 10px; }
body.customer-page .strengths-grid .feedback-chip { position: relative; min-width: 0px; min-height: 49px; padding: 12px 8px; border-width: 1px; border-style: solid; border-color: rgb(210, 210, 215); border-radius: 12px; background-color: rgb(255, 255, 255); color: rgb(81, 81, 84); font-size: 13px; font-weight: 450; line-height: 1.5; }
body.customer-page .strengths-grid .feedback-chip:hover { border-color: rgb(139, 173, 217); background: rgb(249, 251, 254); }
body.customer-page .strengths-grid .feedback-chip.selected { border-color: rgb(0, 113, 227); box-shadow: rgb(0, 113, 227) 0px 0px 0px 1px inset; background: rgb(243, 248, 255); color: rgb(0, 102, 204); }
body.customer-page .other-feedback { margin-top: 20px; margin-bottom: 7px; font-size: 11px; }
body.customer-page .selection-summary { color: rgb(0, 102, 204); font-size: 11px; margin-top: 8px; }
body.customer-page .route-or { display: flex; align-items: center; gap: 14px; padding: 17px 24px; color: rgb(134, 134, 139); font-size: 11px; }
body.customer-page .route-or::before, body.customer-page .route-or::after { content: ""; flex-grow: 1; flex-basis: 0%; height: 1px; background-color: rgb(227, 227, 232); }
body.customer-page .route-body > label { font-size: 13px; color: rgb(81, 81, 84); margin-bottom: 12px; }
body.customer-page .route-body > label > span { color: rgb(134, 134, 139); font-size: 11px; }
body.customer-page .experience-box { border-width: 1px; border-style: solid; border-color: rgb(210, 210, 215); border-radius: 14px; background-color: rgb(255, 255, 255); margin-bottom: 12px; }
body.customer-page .experience-box textarea { height: 152px; min-height: 152px; padding: 16px; color: rgb(29, 29, 31); font-size: 16px; }
body.customer-page .voice-button { min-height: 40px; padding: 8px 14px; color: rgb(0, 102, 204); background-color: rgb(237, 245, 255); border-radius: 20px; font-size: 12px; margin-right: 12px; margin-bottom: 12px; margin-left: 12px; }
body.customer-page .button { min-height: 52px; padding: 14px 24px; border-radius: 28px; font-size: 15px; font-weight: 500; }
body.customer-page .primary { background-color: rgb(0, 113, 227); color: rgb(255, 255, 255); }
body.customer-page .primary:hover { background: rgb(0, 119, 237); }
body.customer-page .primary:disabled { opacity: 1; background: rgb(215, 215, 220); color: rgb(146, 146, 151); }
body.customer-page .secondary { background-color: rgb(232, 232, 237); color: rgb(29, 29, 31); border-color: transparent; }
body.customer-page .secondary:hover { background: rgb(222, 222, 228); }
body.customer-page #customer-form > .generate { min-height: 56px; margin-top: 25px; }
body.customer-page .generate svg { width: 19px; height: 19px; }
body.customer-page .local-note { font-size: 11px; color: rgb(134, 134, 139); margin-top: 16px; margin-bottom: 0px; }
body.customer-page .ai-note { font-size: 11px; color: rgb(134, 134, 139); margin-top: 10px; line-height: 1.8; }
body.customer-page .form-error { color: rgb(196, 49, 40); font-size: 12px; line-height: 1.8; margin-top: 12px; }
body.customer-page .result { padding: 28px; margin-top: 30px; border-top-style: none; border-top-color: currentcolor; border-radius: 25px; background-color: rgb(255, 255, 255); }
body.customer-page .result-title { margin-bottom: 20px; gap: 12px; }
body.customer-page .result-title h3 { font-size: 20px; font-weight: 600; letter-spacing: -0.5px; }
body.customer-page .result-title > span { font-size: 11px; color: rgb(134, 134, 139); }
body.customer-page #draft { min-height: 215px; padding: 18px; border-color: rgb(210, 210, 215); border-radius: 14px; color: rgb(29, 29, 31); font-size: 16px; line-height: 1.9; }
body.customer-page .xhs-customer #draft { min-height: 380px; }
body.customer-page .length-status { font-size: 11px; color: rgb(155, 107, 37); line-height: 1.8; margin-top: 12px; margin-bottom: 18px; }
body.customer-page .length-status.enough { color: rgb(57, 114, 76); }
body.customer-page .length-help { padding: 19px; background-color: rgb(245, 245, 247); border-style: none; border-color: currentcolor; border-radius: 16px; }
body.customer-page .length-help strong { font-size: 14px; }
body.customer-page .length-help p { color: rgb(110, 110, 115); font-size: 12px; line-height: 1.8; }
body.customer-page .length-help textarea { padding-top: 13px; padding-bottom: 13px; border-color: rgb(210, 210, 215); border-radius: 10px; font-size: 16px; }
body.customer-page .length-help label { margin-top: 12px; margin-bottom: 8px; }
body.customer-page .confirm { line-height: 1.8; color: rgb(81, 81, 84); align-items: flex-start; gap: 9px; }
body.customer-page .confirm input { width: 17px; height: 17px; accent-color: rgb(0, 113, 227); flex-shrink: 0; margin-top: 2px; }
body.customer-page .customer-footer { margin-top: 28px; font-size: 11px; color: rgb(134, 134, 139); gap: 6px; }
body.customer-page .customer-footer svg { width: 13px; height: 13px; }
body.customer-page #toast { border-radius: 24px; background-color: rgba(37, 37, 39, 0.91); font-size: 13px; box-shadow: rgba(0, 0, 0, 0.08) 0px 8px 28px; }
@media (max-width: 760px) {
  body .experience-nav-inner { width: calc(100% - 40px); min-height: 64px; gap: 16px; }
}
@media (max-width: 760px) {
  body .experience-wordmark { font-size: 18px; gap: 7px; }
}
@media (max-width: 760px) {
  body .nav-hospital { max-width: 165px; }
}
@media (max-width: 760px) {
  body .nav-hospital strong { font-size: 11px; }
}
@media (max-width: 760px) {
  body .nav-hospital span { font-size: 10px; }
}
@media (max-width: 760px) {
  body.customer-page .customer { width: calc(100% - 32px); padding-top: 17px; padding-bottom: 32px; }
}
@media (max-width: 760px) {
  body.customer-page .platform-selector { width: calc(100% - 40px); padding-top: 0px; padding-bottom: 28px; }
}
@media (max-width: 760px) {
  body .entry-hero { display: block; min-height: 0px; padding-top: 40px; padding-bottom: 28px; }
}
@media (max-width: 760px) {
  body.customer-page .hero-eyebrow { font-size: 12px; }
}
@media (max-width: 760px) {
  body.customer-page .entry-intro h1 { font-size: 49px; margin-top: 14px; margin-bottom: 17px; letter-spacing: -2.5px; }
}
@media (max-width: 760px) {
  body.customer-page .entry-intro p { font-size: 16px; }
}
@media (max-width: 760px) {
  body .hero-visual { display: none; }
}
@media (max-width: 760px) {
  body .platform-section-heading { margin-top: 4px; margin-bottom: 17px; }
}
@media (max-width: 760px) {
  body .platform-section-heading h2 { font-size: 20px; letter-spacing: -0.5px; }
}
@media (max-width: 760px) {
  body .platform-section-heading > span { display: none; }
}
@media (max-width: 760px) {
  body.customer-page .platform-cards { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  body.customer-page .platform-card { min-height: 0px; padding: 22px; border-radius: 23px; }
}
@media (max-width: 760px) {
  body.customer-page .platform-card-copy { margin-top: 15px; margin-bottom: 16px; gap: 5px; }
}
@media (max-width: 760px) {
  body .card-kicker { display: none; }
}
@media (max-width: 760px) {
  body.customer-page .platform-card-copy strong { font-size: 22px; }
}
@media (max-width: 760px) {
  body.customer-page .platform-card-copy small { font-size: 13px; }
}

@media (max-width: 760px) {
  body .card-length { font-size: 10px; }
}
@media (max-width: 760px) {
  body.customer-page .entry-footnote { margin-top: 26px; font-size: 10px; }
}
@media (max-width: 760px) {
  body.customer-page .back-platform { margin-bottom: 15px; min-height: 35px; font-size: 12px; }
}
@media (max-width: 760px) {
  body .form-context { margin-right: 5px; margin-bottom: 24px; margin-left: 5px; }
}
@media (max-width: 760px) {
  body .form-context > strong { font-size: 31px; }
}
@media (max-width: 760px) {
  body.customer-page .note-intro { margin-right: 5px; margin-bottom: 26px; margin-left: 5px; }
}
@media (max-width: 760px) {
  body.customer-page .note-intro h1 { font-size: 29px; }
}
@media (max-width: 760px) {
  body.customer-page .note-intro p { font-size: 12px; }
}
@media (max-width: 760px) {
  body .visit-details { grid-template-columns: 1fr; gap: 24px; padding: 23px 20px; border-radius: 22px; margin-bottom: 24px; }
}
@media (max-width: 760px) {
  body.customer-page .pet-field legend, body.customer-page .project-field > label { margin-bottom: 14px; }
}
@media (max-width: 760px) {
  body.customer-page .input-route { border-radius: 22px; }
}
@media (max-width: 760px) {
  body.customer-page .route-heading { padding: 21px 19px; gap: 10px; }
}
@media (max-width: 760px) {
  body.customer-page .route-heading strong { font-size: 16px; }
}
@media (max-width: 760px) {
  body.customer-page .route-heading small { font-size: 11px; }
}
@media (max-width: 760px) {
  body.customer-page .route-state { font-size: 10px; }
}
@media (max-width: 760px) {
  body.customer-page .route-body { padding: 0 19px 20px; }
}
@media (max-width: 760px) {
  body.customer-page .strengths-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 760px) {
  body.customer-page .strengths-grid .feedback-chip { padding-right: 7px; padding-left: 7px; }
}
@media (max-width: 760px) {
  body.customer-page .selection-note { font-size: 11px; }
}
@media (max-width: 760px) {
  body.customer-page .result { padding: 22px 19px; border-radius: 22px; }
}
@media (max-width: 760px) {
  body.customer-page .result-title h3 { font-size: 18px; }
}
@media (max-width: 760px) {
  body.customer-page .result-title > span { font-size: 10px; }
}
@media (max-width: 760px) {
  body.customer-page #draft { padding: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  body.customer-page *, body.customer-page ::before, body.customer-page ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; scroll-behavior: auto !important; }
}
body.customer-page { --relief-face: linear-gradient(145deg, #f7f9fb, #e8ecf1); --relief-raised: 5px 5px 10px #cad1dc80, -5px -5px 10px #ffffff,
    inset 1px 1px 1px #ffffffd9, inset -1px -1px 1px #cbd2dc45; --relief-pressed: inset 4px 4px 8px #c8d0db99, inset -4px -4px 8px #ffffff; }
body.customer-page :is(.experience-logo, .platform-symbol, .hero-note-mark, .pet-glyph) { background: var(--relief-face); border: 1px solid rgba(255, 255, 255, 0.67); box-shadow: var(--relief-raised); color: rgb(82, 98, 120); }
body.customer-page .experience-logo { width: 36px; height: 36px; border-radius: 50%; margin-right: 3px; }
body.customer-page .experience-logo svg { width: 21px; height: 21px; }
body.customer-page .hero-note-mark { width: 39px; height: 39px; border-radius: 13px; color: rgb(0, 113, 227); }
body.customer-page :is(.experience-logo, .hero-note-mark, .pet-glyph) svg { filter: drop-shadow(rgba(255, 255, 255, 0.85) 0px 1px 0px); }
body.customer-page .pet-chip { background-color: rgb(244, 246, 249); border-color: rgb(228, 232, 238); gap: 10px; }
body.customer-page .pet-glyph { width: 43px; height: 43px; border-radius: 50%; box-shadow: rgba(199, 207, 218, 0.6) 4px 4px 8px, rgb(255, 255, 255) -4px -4px 8px, rgba(255, 255, 255, 0.85) 1px 1px 1px inset; }
body.customer-page .pet-glyph svg { width: 24px; height: 24px; }
body.customer-page .pet-chip.selected { background: rgb(238, 244, 252); border-color: rgb(0, 113, 227); box-shadow: rgb(0, 113, 227) 0px 0px 0px 1px inset; }
body.customer-page .pet-chip.selected .pet-glyph { background: rgb(237, 242, 248); color: rgb(0, 102, 204); border-color: rgb(220, 229, 240); box-shadow: var(--relief-pressed); }
body.customer-page .route-number { background: var(--relief-face); border: 1px solid rgba(255, 255, 255, 0.67); color: rgb(110, 124, 144); box-shadow: rgba(201, 209, 221, 0.5) 2px 2px 5px, rgb(255, 255, 255) -2px -2px 5px; }
body.customer-page .input-route.active .route-number { background-image: initial; background-color: rgb(237, 242, 248); color: rgb(0, 102, 204); box-shadow: rgba(199, 209, 223, 0.5) 2px 2px 4px inset, rgb(255, 255, 255) -2px -2px 4px inset; }
body.customer-page .platform-card:active .platform-symbol, body.customer-page .experience-wordmark:active .experience-logo, body.customer-page .pet-chip:active .pet-glyph { box-shadow: var(--relief-pressed); }
@media (max-width: 760px) {
  body.customer-page .experience-logo { width: 33px; height: 33px; }
}

@media (max-width: 760px) {
  body.customer-page .pet-chip { min-height: 91px; }
}
body.customer-page .platform-cards { gap: 28px; }
body.customer-page .platform-card { background-image: linear-gradient(145deg, rgb(248, 249, 251), rgb(238, 240, 244)); background-color: initial; border-width: 1px; border-style: solid; border-color: rgba(255, 255, 255, 0.7); box-shadow: rgba(205, 209, 219, 0.6) 10px 10px 22px, rgb(255, 255, 255) -10px -10px 22px, rgb(255, 255, 255) 1px 1px 2px inset, rgba(217, 222, 230, 0.4) -1px -1px 2px inset; }
body.customer-page .platform-card:hover { transform: translateY(-3px); box-shadow: rgba(205, 209, 219, 0.667) 13px 13px 26px, rgb(255, 255, 255) -10px -10px 24px, rgb(255, 255, 255) 1px 1px 2px inset, rgba(217, 222, 230, 0.4) -1px -1px 2px inset; }
body.customer-page .platform-card:active { transform: translateY(1px); box-shadow: rgba(205, 211, 223, 0.6) 5px 5px 12px inset, rgb(255, 255, 255) -5px -5px 12px inset; }
body.customer-page .platform-card[aria-disabled] { box-shadow: none; transform: none; }
@media (max-width: 760px) {
  body.customer-page .platform-cards { gap: 26px; }
}
@media (max-width: 760px) {
  body.customer-page .platform-card { box-shadow: rgba(205, 209, 219, 0.6) 7px 7px 16px, rgb(255, 255, 255) -7px -7px 16px, rgb(255, 255, 255) 1px 1px 2px inset, rgba(217, 222, 230, 0.4) -1px -1px 2px inset; }
}
/* 写作风格选择。 */
body .writing-style { min-width: 0px; margin-right: 0px; margin-bottom: 27px; margin-left: 0px; padding: 24px; border-style: none; border-color: currentcolor; border-radius: 23px; background-color: rgb(238, 240, 244); }
body .writing-style legend { float: left; width: 100%; margin-bottom: 16px; font-size: 15px; font-weight: 600; }
body .writing-style-options { display: flex; flex-wrap: wrap; gap: 12px; clear: both; }
body .customer .writing-style-chip { position: relative; display: flex; margin-bottom: 0px; cursor: pointer; }
body .writing-style-chip input { position: absolute; width: 1px; height: 1px; opacity: 0; margin-top: 0px; margin-right: 0px; margin-left: 0px; }
body .customer .writing-style-chip span { display: grid; place-items: center; float: none; min-height: 44px; padding: 10px 19px; border-width: 1px; border-style: solid; border-color: rgba(255, 255, 255, 0.7); border-radius: 24px; background-image: linear-gradient(145deg, rgb(248, 249, 251), rgb(232, 236, 241)); box-shadow: rgba(202, 209, 220, 0.5) 3px 3px 7px, rgb(255, 255, 255) -3px -3px 7px; color: rgb(81, 81, 84); font-size: 14px; }
body .writing-style-chip input:checked + span { color: rgb(0, 102, 204); background: rgb(234, 242, 252); border-color: rgb(0, 113, 227); box-shadow: rgba(200, 212, 228, 0.5) 3px 3px 6px inset, rgb(255, 255, 255) -3px -3px 6px inset; }
body .writing-style-chip input:focus-visible + span { outline: rgb(0, 113, 227) solid 3px; outline-offset: 4px; }
body .writing-style-description { margin-top: 16px; font-size: 12px; line-height: 1.8; color: rgb(110, 110, 115); }
@media (max-width: 760px) {
  body .writing-style { padding: 21px 20px; margin-bottom: 24px; }
}
@media (max-width: 760px) {
  body .writing-style-options { gap: 11px; }
}
@media (max-width: 760px) {
  body .writing-style-chip { flex: 1 0 calc(50% - 6px); }
}
@media (max-width: 760px) {
  body .writing-style-chip span { width: 100%; }
}
body.customer-page .platform-card.dianping .platform-symbol, body.customer-page .platform-card.xiaohongshu .platform-symbol { width: 48px; height: 44px; border-radius: 13px; background-image: initial; background-color: rgb(255, 219, 80); color: rgb(48, 40, 13); font-size: 14px; border-color: transparent; box-shadow: none; text-shadow: none; }
body.customer-page .platform-card.xiaohongshu .platform-symbol { background-color: rgb(255, 54, 83); color: rgb(255, 255, 255); font-size: 11px; }
@media (max-width: 760px) {
  body.customer-page .platform-card.dianping .platform-symbol, body.customer-page .platform-card.xiaohongshu .platform-symbol { width: 42px; height: 36px; border-radius: 10px; font-size: 12px; }
}
@media (max-width: 760px) {
  body.customer-page .platform-card.xiaohongshu .platform-symbol { font-size: 10px; }
}
body .integration-notice { margin: 0px; padding: 14px 22px; background: rgb(255, 244, 214); color: rgb(106, 75, 17); font-size: 13px; line-height: 1.8; border-bottom: 1px solid rgb(239, 221, 178); }

/* Shared visual language: quiet surfaces, generous type, and a blue accent. */
.admin-page {
  --green: #0071e3; --line: #e3e5eb; --muted: #86868b;
  --admin-relief: 5px 5px 12px #cdd3dd80, -5px -5px 12px #fff;
  color: #1d1d1f; background: #f5f5f7;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.managed-admin-header { max-width: 1320px; margin: auto; padding: 24px 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e3e5eb; }
.managed-admin-actions { display: flex; align-items: center; gap: 20px; }
.managed-admin-content { max-width: 1320px; margin: auto; padding: 38px 32px; }
.admin-login { width: calc(100% - 40px); max-width: 440px; margin: 60px auto; padding: 34px; border: 1px solid #fff; border-radius: 28px; background: linear-gradient(145deg,#f8f9fb,#edf0f5); box-shadow: 9px 9px 24px #cdd3dd80,-9px -9px 24px #fff; }
.login-mark { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 24px; border-radius: 16px; color: #526278; background: #f1f4f8; box-shadow: 5px 5px 10px #cdd3dd80,-5px -5px 10px #fff; }
.admin-login h1 { font-size: 28px; letter-spacing: -1px; }
.admin-login > p { margin: 10px 0 28px; color: #6e6e73; font-size: 13px; line-height: 1.8; }
.admin-login label { margin: 18px 0 10px; }
.admin-login input { min-height: 52px; font-size: 16px; }
.admin-login .button { width: 100%; margin-top: 14px; min-height: 50px; }
#admin-login-error { color: #c43128; font-size: 13px; line-height: 1.8; margin-top: 12px; }
.customer-page a.nav-hospital:hover strong { color: #0071e3; }
@media(max-width:650px) {
  .managed-admin-header { padding: 20px 18px; gap: 12px; }
  .managed-admin-header .brand { font-size: 17px; }
  .managed-admin-header .brand-sub { font-size: 9px; }
  .managed-admin-actions { gap: 12px; }
  .managed-admin-actions .button { padding: 9px 12px; font-size: 12px; }
  .managed-admin-content { padding: 28px 16px; }
  .admin-login { margin-top: 35px; padding: 27px 24px; }
}

/* 原站独立登录页的现有图标与副标题；平台登录仍由总台维护。 */
.admin-page .brand { gap: 12px; color: #1d1d1f; font-size: 20px; letter-spacing: -.5px; }
.admin-page .brand-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(145deg,#f9fafc,#e7ebf1); color: #526278; border: 1px solid #ffffffc9; box-shadow: var(--admin-relief); }
.admin-page .brand-icon svg { width: 25px; height: 25px; }
.admin-page .brand-sub { display: block; font-size: 10px; font-weight: 400; letter-spacing: 2px; margin-top: 4px; color: #86868b; }
@media(max-width:650px){.managed-admin-header .brand-sub { font-size: 9px; }}

body.customer-page .platform-cards{grid-template-columns:repeat(3,minmax(0,1fr))}body.customer-page .platform-card.meituan .platform-symbol{background:#ffdb50;color:#30280d;border-radius:13px;border:0;font-size:14px}@media(max-width:800px){body.customer-page .platform-cards{grid-template-columns:1fr}}
body.customer-page .platform-card.meituan .platform-symbol{width:48px;height:44px;display:inline-grid;place-items:center}@media(max-width:800px){body.customer-page .platform-card.meituan .platform-symbol{width:42px;height:36px}}
.customer-loading{max-width:700px;margin:80px auto;padding:30px 24px;color:#384237;font-family:Arial,"Microsoft YaHei",sans-serif}.customer-loading strong{font-size:30px}.customer-loading p{font-size:14px;line-height:1.8}
