@charset "UTF-8";

/* A quiet marriage studio: warm paper, dusty rose, clear everyday reading. */
:root {
  --wine: #8f5969;
  --wine-dark: #704454;
  --rose: #f0e6e8;
  --ink: #353238;
  --muted: #777279;
  --line: #e7e2de;
  --paper: #fffefc;
  --bg: #f6f4f0;
  --gold: #beaa8f;
  --green: #756369;
  --radius: 13px;
  --shadow: 0 6px 24px rgb(53 50 56 / 3%);
  --serif: "Noto Serif SC", "Songti SC", "Source Han Serif SC", "SimSun", serif;
  --sans: "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --numeral: "Bahnschrift", "Aptos", "Helvetica Neue", Arial, sans-serif;
}

body { background: var(--bg); color: var(--ink); font: 14px/1.7 var(--sans); }
::selection { background: #e5d3d9; color: #4e3540; }
h1, h2, h3, h4 { color: var(--ink); }
h1 { font-size: 29px; font-weight: 600; letter-spacing: .4px; line-height: 1.5; }
h2 { font-size: 21px; font-weight: 600; line-height: 1.55; }
h3 { font-size: 16px; font-weight: 600; line-height: 1.6; }
a { color: var(--wine-dark); }
button, a { transition: background-color .17s ease, border-color .17s ease, color .17s ease; }
button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 2px solid var(--wine); outline-offset: 4px;
}
input, select, textarea {
  min-height: 45px; border: 1px solid #dcd6d4; border-radius: 8px;
  background: var(--paper); padding: 10px 12px; font-size: 14px; color: var(--ink);
}
input::placeholder, textarea::placeholder { color: #918b90; opacity: 1; }
input:focus, select:focus, textarea:focus {
  border-color: #ad8491; box-shadow: 0 0 0 3px rgb(143 89 105 / 8%);
}
input[type="checkbox"] { accent-color: var(--wine); min-height: 16px; }
textarea { line-height: 1.85; }
.dim { color: var(--muted); }
.icon { stroke-width: 1.65; }
.btn { min-height: 43px; padding: 10px 18px; border-radius: 8px; font-size: 13px; font-weight: 500; line-height: 1.6; }
.btn.primary { background: var(--wine); border-color: var(--wine); color: #fffefc; box-shadow: none; }
.btn.primary:hover { background: var(--wine-dark); border-color: var(--wine-dark); transform: none; }
.btn.secondary { background: var(--paper); border-color: #dcd2d5; color: #66535c; }
.btn.secondary:hover { border-color: #ad8491; background: #faf5f5; }
.btn.ghost { background: var(--rose); border-color: transparent; color: var(--wine-dark); }
.btn.ghost:hover { background: #e9dce1; }
.btn.danger { background: #f3e8e7; color: #954e4c; }
.btn.small { min-height: 35px; padding: 7px 12px; font-size: 12px; }
.text-btn { color: var(--wine-dark); font-size: 13px; line-height: 1.7; }
.btn:disabled { opacity: .55; }

/* A restrained, working sidebar rather than a promotional rail. */
.sidebar {
  width: 238px; padding: 28px 20px 19px; background: var(--paper);
  border-right: 1px solid var(--line); overflow-y: auto; scrollbar-width: thin;
}
.brand { gap: 9px; padding: 0 1px 28px; flex-shrink: 0; }
.brand-symbol { width: 43px; height: 43px; }
.brand-wordmark { width: 140px; height: auto; }
.brand-caption { font-size: 10px; color: #83767a; letter-spacing: .5px; padding-left: 4px; }
.brand-name { color: var(--wine-dark); }
.brand-en { color: #83767a; }
.nav-label { font-size: 10px; font-weight: 500; color: #8a8286; letter-spacing: 1.2px; margin: 0 13px 10px; }
.nav-group { gap: 4px; margin-bottom: 23px; flex-shrink: 0; }
.nav-item { min-height: 43px; padding: 10px 13px; gap: 12px; color: #746c73; font-size: 14px; border-radius: 8px; }
.nav-item .icon { width: 18px; height: 18px; }
.nav-item:hover { color: var(--wine-dark); background: #f6f1f1; }
.nav-item.active { background: #f1e8eb; color: var(--wine-dark); font-weight: 600; }
.nav-item.active:after { width: 4px; height: 4px; background: #a47384; }
.sidebar-bottom { padding-top: 8px; }
.membership-mini { padding: 18px 15px 16px; margin-bottom: 14px; background: #f6f0ee; border: 1px solid #e7dcd8; border-radius: 10px; }
.membership-mini:after { display: none; }
.membership-mini .price { gap: 7px; color: var(--wine-dark); }
.membership-mini .price strong { font: 500 36px/1 var(--numeral); letter-spacing: -.9px; }
.membership-mini .price span { font: 12px var(--sans); color: #79666d; }
.membership-mini p { font-size: 12px; color: #7e6c72; margin-top: 8px; letter-spacing: 0; }
.membership-mini button { color: var(--wine-dark); font-size: 12px; margin-top: 12px; }
.sidebar-user { padding: 8px 4px; gap: 10px; }
.org-avatar { width: 35px; height: 35px; border-radius: 10px; background: #e9e5e3; color: #73656b; font-weight: 500; }
.sidebar-user strong { font-size: 12px; color: #534a50; }
.sidebar-user small { font-size: 11px; color: #81747b; }
.main { margin-left: 238px; }
.topbar { height: 75px; padding: 0 38px; background: var(--bg); border-color: var(--line); }
.breadcrumb { color: #8b8187; font-size: 12px; }
.breadcrumb b { color: #51474e; font-weight: 500; }
.breadcrumb .icon { width: 13px; height: 13px; color: #b6aeb2; }
.top-right { gap: 18px; color: #80777d; font-size: 12px; }
.verified-pill { color: #715c63; background: #f0eaec; border: 1px solid #e7dfe2; padding: 5px 10px; font-size: 11px; }
.verified-pill .icon { width: 14px; height: 14px; }
.logout { font-size: 12px; color: #7b6e76; }
.content { max-width: 1510px; padding: 32px 38px 46px; }
.page-heading { gap: 20px; margin-bottom: 26px; align-items: center; }
.eyebrow { font-size: 10px; color: #8f6f7a; letter-spacing: 1.7px; margin-bottom: 7px; }
.page-heading h1 { color: #3e353c; font-weight: 600; }
.heading-sub { font-size: 13px; color: #797079; margin-top: 8px; line-height: 1.9; }

/* The matchmaking square: an editorial introduction and precise filters. */
.welcome-strip {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr); min-height: 192px;
  margin-bottom: 25px; border: 1px solid #e4d8d8; border-radius: 13px; background: #f0e7e7;
}
.welcome-copy { padding: 25px 29px; background: #f0e7e7; }
.welcome-copy .tiny-badge { font-size: 10px; color: #8e737d; letter-spacing: 1.2px; border: 0; padding: 0; margin: 0 0 8px; }
.welcome-copy h2 {
  max-width: 410px; font-family: var(--serif); font-size: 26px; font-weight: 500;
  line-height: 1.62; letter-spacing: 1.4px; color: #684653;
}
.welcome-copy p { max-width: 400px; font-size: 12px; line-height: 1.8; color: #8a717b; margin-top: 11px; }
.bridge-art { width: 182px; height: 178px; top: 8px; right: 0; opacity: .5; object-fit: contain; }
.welcome-stats { background: #faf7f3; padding: 25px 10px; }
.welcome-stats .stat { padding: 0 17px; border-color: #e6ddd8; }
.stat-number { font: 400 34px/1.2 var(--numeral); letter-spacing: -.6px; color: var(--wine-dark); }
.stat-number span { color: #8a757c; font-size: 12px; }
.stat-label { font-size: 12px; color: #84737c; margin-top: 10px; }
.filter-panel { background: var(--paper); border-color: var(--line); border-radius: 13px; box-shadow: none; margin-bottom: 25px; }
.search-row { padding: 17px 23px; gap: 24px; border-bottom-color: #eee8e5; }
.gender-tabs { gap: 28px; }
.gender-tab { color: #827680; font-size: 14px; padding: 8px 0; }
.gender-tab.active { color: var(--wine-dark); font-weight: 600; }
.gender-tab.active:after { background: #9e6c7d; height: 2px; width: 25px; bottom: -18px; }
.search-box { max-width: 340px; }
.search-box input { background: #f7f5f2; border-color: #e9e3de; min-height: 40px; font-size: 13px; }
.search-box .icon { color: #8e838b; top: 12px; }
.filter-fields { padding: 19px 23px; gap: 14px; }
.filter-cell { min-width: 115px; }
.filter-cell label { font-size: 12px; color: #7c6b75; margin-bottom: 7px; }
.filter-cell select { min-height: 39px; padding: 8px 10px; border-color: #e3dcd9; font-size: 13px; }
.filter-toggle { color: #836473; font-size: 12px; min-height: 39px; }
.active-filters { padding: 0 23px 17px; gap: 8px; }
.active-filters > span[style] { font-size: 12px !important; color: #87777f !important; }
.filter-chip { background: #f0e8eb; color: #875e6d; font-size: 11px; padding: 4px 8px; border-radius: 5px; }
.advanced { border-top: 1px solid #eee8e5; }
.result-bar { margin-bottom: 17px; }
.result-title { font-size: 15px; font-weight: 600; color: #57464e; }
.result-title span { font-size: 12px; color: #847880; font-weight: 400; }
.sort-select { font-size: 12px; color: #7a6972; padding: 4px 20px 4px 4px; background: transparent; }

/* Member profiles deliberately keep the facts more prominent than decoration. */
.member-grid { gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.member-card { padding: 23px 22px 0; background: var(--paper); border: 1px solid #e6dedb; border-radius: 13px; box-shadow: none; }
.member-card:hover { border-color: #cbb3bd; box-shadow: 0 8px 22px rgb(71 46 59 / 4%); transform: none; }
.card-head { gap: 13px; margin-bottom: 20px; }
.avatar { width: 54px; height: 61px; border-radius: 11px; background: #eee3e5; color: #946e7c; font: 500 27px var(--serif); }
.avatar:after { display: none; }
.avatar.male { background: #ece6e8; color: #8a737b; }
.member-name { color: #47383f; font-size: 18px; letter-spacing: .5px; font-weight: 600; gap: 6px; line-height: 1.5; }
.gender-symbol { color: #a57a8b; font-size: 13px; }
.gender-symbol.male { color: #927b83; }
.member-meta { font-size: 12px; line-height: 1.7; color: #8b7983; letter-spacing: 0; margin-top: 5px; }
.favorite-btn { padding: 3px; color: #bcaab3; }
.favorite-btn .icon { width: 19px; height: 19px; }
.favorite-btn.selected { color: #976477; }
.favorite-btn.selected .icon { fill: #ecdee4; }
.card-facts { gap: 8px; padding-bottom: 16px; border-color: #eee8e5; }
.fact strong { color: #5b4b54; font-size: 14px; font-weight: 500; line-height: 1.6; }
.fact small { color: #8e7c86; font-size: 11px; margin-top: 5px; line-height: 1.6; }
.card-occupation { font-size: 13px; color: #7a6370; gap: 7px; margin: 15px 0 12px; }
.card-occupation .icon { color: #9f8b95; width: 14px; height: 14px; }
.tags { gap: 6px; }
.tag { padding: 3px 7px; font-size: 11px; color: #8b7968; background: #f4eee7; border-radius: 4px; }
.tag.rose { color: #956d80; background: #f2e9ed; }
.card-intro { font-size: 12px; color: #8e7985; line-height: 1.85; margin: 13px 0 18px; min-height: 22px; }
.card-footer { margin: 0 -22px; padding: 13px 18px; border-top: 1px solid #eee7e4; background: #fbf8f5; flex-wrap: nowrap; gap: 9px; }
.card-agency { font-size: 11px; color: #8b7682; min-width: 0; gap: 5px; }
.card-agency .icon { color: #829083; width: 13px; height: 13px; }
.detail-btn { color: var(--wine-dark); font-size: 12px; flex-shrink: 0; gap: 5px; }
.detail-btn .icon { width: 13px; height: 13px; }
.demo-note { font-size: 11px; color: #8e7e86; line-height: 1.9; margin-top: 22px; }
.footer-note { color: #95868d; font-size: 10px; letter-spacing: 1.2px; margin-top: 32px; }
.pagination { gap: 8px; margin-top: 28px; }
.page-btn { height: 35px; min-width: 35px; font-size: 12px; border-radius: 7px; border-color: #dfd3d8; background: var(--paper); color: #7d6270; }
.page-btn.active { background: var(--wine); color: var(--paper); border-color: var(--wine); }
.empty { border-radius: 12px; border-color: #dfd1d8; background: var(--paper); padding: 48px 22px; }
.empty .empty-icon { width: 58px; height: 58px; background: #f2e8ec; color: #a67f90; }
.empty p, .loading-row { font-size: 13px; color: #8a737e; line-height: 1.9; }

/* Login is a small editorial opening, with a clear and familiar form. */
.auth-layout { grid-template-columns: 1.08fr 1fr; background: var(--paper); }
.auth-story, .rf-entry .auth-story {
  min-height: 790px; padding: 44px 56px 34px; background: #eee9e4;
  color: #574b50; justify-content: flex-start; isolation: isolate;
}
.auth-story:after { display: none; }
.auth-story .brand { position: relative; z-index: 2; padding: 0; }
.auth-story .brand-symbol { border: 0; width: 47px; height: 47px; }
.auth-story .brand-wordmark { filter: none; width: 153px; }
.auth-story .brand-caption { color: #8f7a80; font-size: 10px; letter-spacing: .7px; }
.auth-story .brand-name { color: var(--wine-dark); }
.auth-story .brand-en { color: #9a8088; }
.auth-visual { height: clamp(190px, 27vh, 295px); margin: 28px -13px 16px; pointer-events: none; z-index: -1; }
.auth-visual img { display: block; width: 100%; height: 100%; object-fit: contain; }
.auth-quote { margin: 8px 0 32px; z-index: 1; }
.auth-quote .eyebrow, .auth-kicker { font-size: 11px; color: #8a6373; letter-spacing: 2px; margin-bottom: 15px; }
.auth-story .auth-quote h1 { color: #634754; font-family: var(--serif); font-size: clamp(32px, 3vw, 43px); font-weight: 400; line-height: 1.6; letter-spacing: 2.7px; }
.auth-quote p, .auth-story .auth-intro { font-size: 13px; line-height: 1.95; color: #89757e; margin-top: 19px; }
.auth-features { display: flex; gap: 24px; margin-top: 26px; font-size: 12px; color: #8a727c; }
.auth-features .icon { width: 19px; height: 19px; color: #a88991; margin-bottom: 8px; }
.auth-features span:last-child { font-family: var(--sans); }
.auth-bottom { margin-top: auto; padding-top: 18px; font-size: 10px; letter-spacing: .6px; color: #9b858c; }
.auth-story:not(:has(.auth-visual)) .auth-quote { margin: auto 0; padding: 60px 0; }
.auth-main { padding: 56px 46px; align-items: center; background: var(--paper); }
.auth-box { max-width: 403px; }
.auth-box h2 { font-size: 27px; color: #44373e; font-weight: 600; letter-spacing: .3px; }
.auth-box > p { font-size: 13px; color: #887580; line-height: 1.9; margin-bottom: 26px; }
.auth-tabs { gap: 23px; margin: 25px 0 28px; border-color: #e9dfe2; }
.auth-tabs button { padding: 10px 0 12px; font-size: 13px; color: #9b8490; white-space: nowrap; }
.auth-tabs button.active { color: var(--wine-dark); border-bottom-color: #8f5969; font-weight: 600; }
.auth-box .field { margin-bottom: 20px; }
.auth-box .field label { font-size: 13px; color: #78606e; margin-bottom: 8px; }
.auth-box input, .auth-box select, .auth-box textarea { font-size: 14px; min-height: 46px; }
.auth-box .btn.full { min-height: 46px; margin-top: 8px; font-size: 14px; }
.auth-box .btn.full .icon { width: 17px; height: 17px; }
.auth-demo { border-color: #e9e0e3; margin-top: 29px; padding-top: 20px; }
.auth-demo p { color: #927c88; font-size: 11px; line-height: 1.9; }
.demo-buttons { gap: 8px; margin: 11px 0; }
.demo-buttons button { min-height: 33px; background: #f7f2ef; border: 1px solid #e4d8d8; color: #886a79; border-radius: 6px; padding: 6px 10px; font-size: 11px; }
.demo-buttons button:hover { background: #f0e6e9; border-color: #cbb4c0; }
.auth-terms { font-size: 11px; line-height: 1.9; color: #9c8793; margin-top: 23px; }
.auth-box.register { max-width: 492px; }
.auth-box.register .auth-tabs { margin-top: 19px; margin-bottom: 23px; }
.auth-box.register .form-grid { gap: 18px; }
.auth-box.register .field { margin-bottom: 0; }
.rf-entry-label, .cp-entry-label { color: #8a6174; font-size: 11px; letter-spacing: 1.5px; }

/* Personal detail and authoring keep the same paper-and-ink vocabulary. */
dialog { width: calc(100% - 36px); max-width: 748px; max-height: 91dvh; border: 1px solid #e3d9dd; border-radius: 14px; background: var(--paper); color: var(--ink); box-shadow: 0 25px 90px rgb(53 35 46 / 20%); }
dialog::backdrop { background: rgb(47 38 43 / 40%); backdrop-filter: none; }
.modal-head { padding: 22px 27px; background: var(--paper); border-color: #eae1e5; }
.modal-head h2 { font-size: 20px; color: #513b47; }
.modal-close { color: #9c8490; font-size: 26px; }
.modal-body { padding: 26px 27px; }
.modal-actions { background: #fbf8f6; border-color: #eae1e5; padding: 18px 27px; flex-wrap: wrap; }
.detail-hero { gap: 17px; margin-bottom: 25px; }
.detail-hero .avatar { width: 72px; height: 82px; font-size: 34px; border-radius: 12px; }
.detail-hero h2 { font-size: 25px; }
.detail-hero p { color: #8d7381; font-size: 13px; }
.detail-facts { background: #f5f0eb; border-radius: 10px; padding: 22px; gap: 20px; }
.detail-facts .fact strong { font-size: 14px; color: #654e5b; }
.detail-facts .fact small { font-size: 11px; }
.section-title { font-size: 15px; color: #6a4c5d; font-weight: 600; }
.section-title:before { background: #bd91a4; width: 2px; }
.detail-copy { font-size: 13px; color: #806575; line-height: 2; }
.contact-card { background: #f4ebef; border: 1px solid #e5d5de; padding: 20px; border-radius: 10px; }
.contact-card strong { font-size: 14px; color: #705064; }
.contact-card p { font-size: 12px; line-height: 1.9; color: #927184; }
.contact-lock { border-color: #dfcdd6; padding-top: 17px; margin-top: 17px; }
.contact-lock h4 { color: #7d546b; font-size: 14px; }
.contact-lock p { font-size: 12px; line-height: 1.8; }
.contact-reveal { border-color: #dfcdd6; color: var(--wine-dark); }
.contact-reveal a { font: 400 25px/1.4 var(--numeral); letter-spacing: .5px; }
.contact-protected { color: #8f7583; font-size: 11px; }
.form-grid { gap: 19px; }
.field label { font-size: 13px; color: #79606f; margin-bottom: 7px; }
.field label em { color: #a46c84; }
.field input, .field select, .field textarea { font-size: 14px; }
.form-section { color: #7e586e; font-size: 14px; border-color: #e6d9e0; }
.form-hint { font-size: 12px; line-height: 1.9; color: #927987; }
.check-line { font-size: 12px; color: #886a7c; line-height: 1.9; gap: 9px; }
.form-error { background: #f7e9e9; color: #a14f5b; font-size: 13px; border-radius: 7px; }
.modal-tip { font-size: 12px; background: #f4eaef; color: #927185; line-height: 1.9; border-radius: 8px; }

/* Annual numerals are plain, well-spaced, and never outlined or gilded. */
.billing-grid { grid-template-columns: 1.02fr 1fr; gap: 23px; }
.price-panel { background: #7f5665; padding: 33px 31px; border-radius: 13px; color: #f9f3f4; }
.price-panel:after { display: none; }
.price-panel h2 { color: #fff9f8; font-size: 23px; font-weight: 500; line-height: 1.65; }
.price-panel .eyebrow { color: #dcc8ce; letter-spacing: 1.7px; font-size: 10px; margin-bottom: 10px; }
.annual-price { gap: 5px; margin: 25px 0 12px; color: var(--wine-dark); }
.annual-price strong { font: 400 76px/1 var(--numeral); letter-spacing: -2.8px; }
.annual-price .currency { font: 400 23px/1 var(--numeral); margin-top: 9px; }
.annual-price .period { color: #a0808e; font: 13px var(--sans); margin-left: 8px; }
.price-panel .annual-price { color: #fffaf7; }
.price-panel .annual-price .period { color: #eadce0; }
.price-caption { font-size: 12px; line-height: 1.8; color: #e1ced6; margin-bottom: 25px; }
.price-footnote { font-size: 11px; line-height: 1.9; color: #dcc5d0; margin-top: 27px; }
.benefit-line { color: #f0e4e9; font-size: 13px; line-height: 1.9; margin: 16px 0; gap: 10px; }
.benefit-line .icon { color: #dbbccb; width: 16px; height: 16px; }
.price-large { font-family: var(--numeral); font-weight: 400; }
.upgrade-body { background: #fbf6f6; padding: 28px 31px; }
.upgrade-kicker { color: #987384; font-size: 12px; letter-spacing: 1.5px; }
.upgrade-caption { color: #987b8b; font-size: 13px; }
.upgrade-benefits { color: #8b637a; border-color: #e7d7e1; font-size: 13px; gap: 16px; }
.upgrade-benefits .icon { color: #ad879b; }
.upgrade-note { font-size: 12px; color: #9a7c8b; line-height: 1.9; }
.billing-operator { background: #f6f1ed; color: #947b87; font-size: 12px; padding: 14px; border-radius: 8px; }
.billing-operator strong { color: #7e5c71; font-size: 12px; }
.info-pair { border-color: #eee5e9; padding: 13px 0; font-size: 13px; }
.info-pair span { color: #967c8b; }
.info-pair b { color: #6a4c5e; font-weight: 500; }

/* Tables and settings share a calm hierarchy with readable secondary copy. */
.panel { background: var(--paper); border: 1px solid #e5dedb; border-radius: 13px; padding: 26px; box-shadow: none; }
.panel h3 { color: #634b59; font-size: 16px; }
.notice, .banner-note, .browse-banner { background: #f3eee6; border: 1px solid #e5dbce; color: #8a7561; border-radius: 9px; font-size: 12px; line-height: 1.9; }
.notice { padding: 13px 16px; }
.banner-note { padding: 15px 18px; }
.browse-banner { padding: 15px 18px; gap: 12px; }
.browse-icon { width: 34px; height: 34px; background: #e9dfd0; color: #a38b6d; }
.browse-banner strong { font-size: 13px; color: #8d715a; font-weight: 500; }
.browse-banner p { font-size: 12px; color: #9d846e; line-height: 1.8; }
.browse-banner .btn { color: #8d6c55; background: #eadecd; }
.status-badge { background: #f1ebed; color: #7b656c; border: 1px solid #e7dbdf; border-radius: 5px; font-size: 11px; padding: 3px 8px; }
.status-badge.pending { background: #f3eddf; color: #a08453; border-color: #e9dfc7; }
.status-badge.rejected { background: #f5e8e8; color: #a0646d; border-color: #ead5d8; }
table { font-size: 13px; min-width: 650px; }
th { background: #f6f2ee; color: #927b88; font-size: 12px; font-weight: 500; padding: 12px 14px; border-bottom: 1px solid #e8dde2; }
td { color: #886d7e; font-size: 13px; line-height: 1.85; padding: 15px 14px; border-color: #eee5e9; }
td strong { color: #67495d; font-size: 13px; font-weight: 500; }
td small { color: #a18898; font-size: 11px; line-height: 1.8; }
.admin-stats { gap: 18px; margin-bottom: 23px; }
.admin-stat { background: var(--paper); border-color: #e5dedb; padding: 21px 24px; border-radius: 11px; }
.admin-stat b { font: 400 32px/1.3 var(--numeral); color: #805a72; }
.admin-stat p { color: #94798a; font-size: 12px; margin-top: 5px; }
.settings-footer { border-color: #e6d9e0; gap: 16px; padding-top: 22px; margin-top: 23px; }
.settings-footer > span { color: #997d8e; font-size: 12px; line-height: 1.9; }
.settings-footer b { color: #895e77; font: 500 18px var(--numeral); }
.guide-step { color: #b79aa9; font: 300 33px/1.3 var(--numeral); margin-bottom: 16px; }
.guide h3 { color: #765368; font-size: 16px; }
.guide p { color: #987b8d; font-size: 13px; line-height: 2; margin-top: 13px; }
.gate { padding: 42px 27px; }
.gate .icon { color: #af859b; }
.gate p { font-size: 13px; color: #9a7d8f; }
#toast { background: #53424e; color: #fff8fb; font-size: 13px; border-radius: 9px; box-shadow: 0 8px 24px rgb(64 37 54 / 15%); padding: 12px 21px; }

/* Referral and cooperation ledgers stay in the same visual family. */
.rf-stats, .cl-stats, .cp-management-stats { background: var(--paper); border: 1px solid #e5dedb; border-radius: 12px; }
.rf-stats > div, .cl-stats > div, .cp-management-stats > div + div { border-color: #e9dfe4; }
.rf-stats b, .cl-stats strong, .cp-management-stats b { color: #815a71; font: 400 31px/1.3 var(--numeral); letter-spacing: -.5px; }
.rf-stats span, .cl-stats span, .cp-management-stats span { color: #9b7e8e; font-size: 12px; }
.rf-rules { background: #f0e9e4; border-left-color: #bca58f; padding: 19px 21px; }
.rf-rules > div { color: #805a70; font-size: 13px; }
.rf-rules p, .rf-section-copy, .rf-policy-example { color: #957d86; font-size: 12px; line-height: 1.9; }
.rf-rules b { color: #805a70; }
.rf-copy-row input { background: #f8f4f1; color: #8c6f80; font-size: 13px; }
.rf-link-record { border-color: #e6d9df; }
.rf-link-record strong { color: #825e73; font-size: 14px; }
.rf-link-record small, .rf-table-count, .rf-ledger-summary { color: #a08494; font-size: 12px; }
.rf-ledger-summary b, .rf-money strong, .rf-settle-amount strong { color: #8a6079; }
.rf-role { color: #916c83; background: #f0e5ed; border-color: #e7d5e1; font-size: 11px; }
.rf-role.agency { color: #9a8260; background: #f0eadf; border-color: #e4d9c8; }
.rf-mode-fixed, .rf-registration-note { background: #f4ede7; border-color: #e5d9cd; color: #937a68; }
.rf-registration-note > span { color: #9e8167; font-size: 12px; }
.rf-registration-note strong { color: #875c75; font-size: 15px; }
.rf-registration-note p, .rf-registration-note > small { color: #a08088; font-size: 12px; }
.rf-empty, .cl-empty { background: #f7f3ef; border-radius: 9px; }
.rf-empty h3, .cl-empty h3 { color: #8e6c7e; font-size: 15px; }
.rf-empty p, .cl-empty p { color: #a08492; font-size: 12px; }
.rf-policy-example, .cl-example, .cl-policy { background: #f6f0e7; border-color: #e8dccc; border-radius: 9px; }
.cl-funding-note { background: #f2ece1; border-color: #e4d8c5; padding: 18px 20px; border-radius: 10px; }
.cl-funding-icon { background: #e8ddca; color: #9c8260; }
.cl-funding-note strong { font-size: 13px; color: #8d7258; }
.cl-funding-note p { font-size: 12px; color: #9d846e; }
.cl-section-head h3 { font-size: 16px; color: #825c73; }
.cl-tools select { font-size: 13px; }
.cl-status { border-radius: 5px; background: #f1e8ee; border-color: #e5d5df; color: #96778b; font-size: 11px; }
.cl-status-awaiting_payment { background: #f4eddc; border-color: #e7dbbf; color: #a18751; }
.cl-status-cancellation_requested { background: #f5e8e2; border-color: #e9d3c9; color: #a47869; }
.cl-status-cancelled { background: #f0ece8; border-color: #e6ded6; color: #9b8b89; }
.cl-money, .cl-amount-preview strong, .cl-beneficiary-summary strong { color: #8d617b; }
.cl-readonly { color: #aa8c6b; font-size: 11px; border-color: #e6d5bd; }
.cl-pages, .cl-percent-input > span, .cl-fee-divider p, .cl-contract-copy p, .cl-deadline, .cl-beneficiary-summary li { color: #9e7d91; font-size: 12px; }
.cl-fee-divider strong, .cl-contract-copy h3, .cl-allocation h3 { color: #8c6079; font-size: 14px; }
.cl-policy p, .cl-policy-roles span, .cl-beneficiary-summary small, .cl-audit li p { color: #a28693; font-size: 11px; line-height: 1.9; }
.cl-policy-roles b, .cl-policy > div:first-child strong { color: #8b637c; }
.cl-amount-preview > div > span { font-size: 11px; color: #9c7b90; }
.cl-release-note { background: #efe7e6; color: #a07a8f; border-left-color: #ba96aa; font-size: 12px; }
.cl-release-note strong { color: #8c5d78; font-size: 13px; }
.cl-parties strong { color: #865a73; font-size: 15px; }
.cl-parties small { color: #a28396; font-size: 11px; }
.cl-parties > span { color: #bfa68e; }
.cl-beneficiary-summary { background: #f7f1eb; border-color: #e7dcd1; border-radius: 8px; }
.cl-beneficiary-summary h4 { color: #987889; font-size: 12px; }
.cl-action-summary { background: #f4ece5; }
.cl-action-summary strong { color: #8c627a; }
.cl-action-summary p { color: #a78396; font-size: 12px; }

/* The free member portal and each partner's own branded invitation. */
.cp-companion { background: #f4ecea; border-color: #e7dad6; border-radius: 11px; padding: 22px 18px; }
.cp-companion > span { color: #b58b97; }
.cp-companion h3 { color: #82576e; font: 500 20px/1.75 var(--serif); }
.cp-companion p { color: #9c7c8c; font-size: 11px; line-height: 1.95; }
.cp-welcome { background: #f0e7e7; border-color: #e4d8d8; border-radius: 13px; min-height: 196px; padding: 30px 34px; }
.cp-welcome .tiny-badge { font-size: 11px; color: #a07d8b; letter-spacing: 1px; }
.cp-welcome h2 { color: #6d4b5b; font-family: var(--serif); font-size: 27px; font-weight: 500; letter-spacing: 1px; margin: 10px 0; }
.cp-welcome p { color: #9b7a88; font-size: 13px; }
.cp-welcome-mark img { opacity: .25; filter: none; }
.cp-welcome-mark span { color: #b797a5; font-size: 10px; }
.cp-filter-hint, .cp-boundary-note { color: #9a8090; font-size: 12px; }
.cp-invite-help { color: #967b8d; font-size: 12px; }
.cp-auth-return { border-color: #e9dbe3; }
.cp-invitation-meta, .cp-interest-tip { background: #f4ebe6; color: #997486; font-size: 12px; }
.cp-profile-actions p, .cp-record-copy, .cp-business-intent > p { color: #9a7b90; font-size: 13px; }
.cp-record-date { color: #a48b9b; font-size: 11px; }
.cp-advisor-reply, .cp-followup-note { background: #f5eee7; }
.cp-advisor-reply > p { color: #9a778b; font-size: 13px; }
.cp-advisor-reply > strong { color: #a27d8a; font-size: 12px; }
.cp-advisor-avatar { background: #ede1e5; color: #ad7f95; }
.cp-advisor-card h2 { color: #79516a; }
.cp-advisor-name { color: #a08094; font-size: 13px; }
.cp-advisor-contact { background: #faf4f0; border-color: #e9ded7; }
.cp-advisor-contact > span, .cp-advisor-contact > small { color: #a18395; font-size: 11px; }
.cp-advisor-contact > strong { color: #91677f; font-family: var(--numeral); font-size: 25px; font-weight: 400; }
.cp-process b { color: #c0a8b4; }
.cp-process h3 { color: #936c83; font-size: 13px; }
.cp-process p { color: #a68b9c; font-size: 11px; }
.cp-management-tabs { border-color: #e7d7e2; }
.cp-management-tabs button { font-size: 13px; color: #a08498; }
.cp-management-tabs button.active { color: #835574; border-color: #9c718c; }
.cp-business-intent small { font-size: 11px; color: #a68a9d; }
.br-section-title > span { color: #b19b84; font-family: var(--numeral); font-size: 27px; font-style: normal; font-weight: 300; }
.br-section-title h2 { font-size: 20px; color: #72536b; }
.br-section-title p, .br-upload-card p, .br-upload-note, .br-legal { color: #9a7e90; font-size: 12px; }
.br-legal strong { color: #7e5b74; }
.br-file { background: #f6efea; border-color: #dbc9c0; color: #95735f; border-radius: 7px; min-height: 41px; font-size: 12px; }
.br-file:focus-within { outline-color: var(--wine); }
.br-preview-label { color: #a38b9a; font-size: 11px; }
.br-share { background: var(--paper); border-color: #e3d8d7; border-radius: 11px; box-shadow: none; }
.br-cover { background: #f2eae7; }
.br-logo, .br-letter { border-color: #e8dadf; border-radius: 9px; }
.br-letter { background: #efe2e7; color: #a2718a; }
.br-kicker { color: #ad8b79; font-size: 11px; }
.br-share-identity h2 { color: #795568; font-family: var(--serif); font-weight: 500; }
.br-share-identity p { color: #9b7c87; font-size: 13px; }
.br-share-identity small { color: #ab939f; font-size: 11px; }
.br-platform-line { border-color: #eee3e4; color: #af94a0; font-size: 11px; }
.br-share-note { border-left-color: #b9a48c; }
.br-share-note strong { color: #94725f; font-size: 13px; }
.br-share-note p { color: #a48783; font-size: 12px; }
.wechat-qr { border-color: #e7d9dd; border-radius: 10px; background: #fff; }
.wechat-order-number { color: #a08292; font-size: 12px; }
#wechat-order-status { color: var(--wine-dark); font-size: 14px; }
.initial-loading { color: #9a7e90; background: var(--bg); }

@media (min-width: 1610px) {
  .member-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .welcome-copy { padding: 27px 32px; }
  .bridge-art { width: 232px; height: 204px; right: 18px; top: -4px; opacity: .63; }
}

@media (max-width: 1270px) and (min-width: 761px) {
  .sidebar { width: 218px; padding: 25px 16px 18px; }
  .main { margin-left: 218px; }
  .brand-symbol { width: 38px; height: 38px; }
  .brand-wordmark { width: 130px; }
  .brand-caption { font-size: 9px; }
  .nav-item { font-size: 13px; padding: 10px 11px; gap: 10px; }
  .content { padding: 29px 29px 40px; }
  .topbar { padding: 0 29px; }
  .welcome-strip { grid-template-columns: minmax(0, 1.2fr) minmax(230px, 1fr); min-height: 185px; }
  .welcome-copy { padding: 23px; }
  .welcome-copy h2 { font-size: 23px; letter-spacing: .7px; }
  .welcome-copy p { max-width: 285px; font-size: 11px; }
  .bridge-art { width: 137px; right: -25px; opacity: .25; }
  .welcome-stats .stat { padding: 0 10px; }
  .stat-number { font-size: 29px; }
  .stat-label { font-size: 11px; }
  .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .billing-grid { grid-template-columns: 1fr; }
  .auth-story, .rf-entry .auth-story { padding: 38px 40px 29px; }
  .auth-story .auth-quote h1 { font-size: 36px; }
  .auth-features { gap: 19px; font-size: 11px; }
  .auth-main { padding: 43px 34px; }
  .auth-box h2 { font-size: 25px; }
  .auth-tabs { gap: 17px; }
  .auth-tabs button { font-size: 12px; }
}

@media (max-height: 810px) and (min-width: 761px) {
  .sidebar { padding-top: 21px; }
  .sidebar .brand { padding-bottom: 20px; }
  .nav-group { gap: 2px; margin-bottom: 17px; }
  .nav-label { margin-bottom: 7px; }
  .nav-item { min-height: 38px; padding-top: 8px; padding-bottom: 8px; }
  .membership-mini { padding: 14px; }
  .membership-mini .price strong { font-size: 30px; }
  .membership-mini p { font-size: 11px; margin-top: 6px; }
  .membership-mini button { margin-top: 9px; font-size: 11px; }
  .auth-story, .rf-entry .auth-story { min-height: 740px; }
  .auth-visual { height: 210px; margin-top: 23px; margin-bottom: 5px; }
  .auth-story .auth-quote h1 { font-size: 35px; }
  .auth-quote p { margin-top: 14px; }
  .auth-features { margin-top: 21px; }
}

@media (max-width: 1000px) and (min-width: 761px) {
  .welcome-strip { grid-template-columns: 1fr; }
  .welcome-copy { min-height: 165px; }
  .bridge-art { width: 172px; height: 170px; top: -3px; right: 5px; opacity: .4; }
  .welcome-stats { padding: 17px 12px; }
  .welcome-stats .stat { flex: 1; }
  .stat-number { font-size: 27px; }
  .stat-label { margin-top: 5px; }
  .member-card { padding: 21px 18px 0; }
  .card-footer { margin: 0 -18px; padding: 12px 14px; }
  .member-name { font-size: 17px; }
  .avatar { width: 48px; height: 55px; }
  .card-head { gap: 10px; }
  .fact strong { font-size: 13px; }
  .card-agency { font-size: 10px; }
  .detail-btn { font-size: 11px; }
  .page-heading { align-items: flex-start; }
  .page-heading > .btn { margin-top: 25px; }
  .auth-story, .rf-entry .auth-story { padding: 34px 29px 27px; }
  .auth-main { padding: 36px 29px; }
  .auth-story .auth-quote h1 { font-size: 31px; letter-spacing: 1.3px; }
  .auth-quote p { font-size: 12px; }
  .auth-features { gap: 14px; font-size: 10px; }
}

@media (max-width: 760px) {
  body { font-size: 14px; }
  .sidebar { display: none; }
  .main { margin: 0; padding-bottom: calc(79px + env(safe-area-inset-bottom)); }
  .topbar { height: 68px; padding: 0 18px; gap: 10px; background: var(--paper); }
  .breadcrumb { display: none; }
  .mobile-brand { display: flex; align-items: center; gap: 7px; }
  .mobile-brand .brand-symbol { width: 32px; height: 32px; }
  .mobile-brand .brand-wordmark { width: 112px; }
  .top-right { gap: 10px; }
  .top-right .date { display: none; }
  .verified-pill { font-size: 10px; padding: 4px 7px; max-width: 133px; text-align: center; gap: 4px; line-height: 1.6; }
  .verified-pill .icon { width: 12px; height: 12px; }
  .logout { font-size: 11px; padding: 4px 0; }
  .content { padding: 25px 18px 35px; }
  .page-heading { align-items: flex-start; gap: 13px; margin-bottom: 22px; }
  h1 { font-size: 25px; letter-spacing: .3px; line-height: 1.5; }
  .eyebrow { font-size: 10px; letter-spacing: 1.3px; }
  .heading-sub { font-size: 12px; line-height: 1.85; margin-top: 7px; }
  .page-heading > .btn { padding: 9px 11px; min-height: 39px; font-size: 11px; margin-top: 22px; }
  .page-heading > .btn .icon { width: 15px; height: 15px; }
  .welcome-strip { grid-template-columns: 1fr; min-height: 0; margin-bottom: 21px; border-radius: 12px; }
  .welcome-copy { padding: 23px 23px 21px; min-height: 142px; }
  .welcome-copy .tiny-badge { display: block; margin-bottom: 8px; font-size: 10px; }
  .welcome-copy h2 { font-size: 23px; line-height: 1.65; letter-spacing: .5px; max-width: 310px; }
  .welcome-copy > p { display: none; }
  .bridge-art { width: 145px; height: 148px; right: -2px; top: 7px; opacity: .38; }
  .welcome-stats { padding: 16px 9px; }
  .welcome-stats .stat { padding: 0 13px; width: 33.333%; }
  .stat-number { font-size: 29px; }
  .stat-label { font-size: 11px; margin-top: 5px; }
  .search-row { flex-wrap: wrap; padding: 16px 18px; gap: 14px; }
  .gender-tabs { gap: 29px; width: 100%; }
  .gender-tab { padding: 2px 0 9px; font-size: 14px; }
  .gender-tab.active:after { bottom: -1px; }
  .search-box { max-width: none; }
  .search-box input { min-height: 41px; font-size: 13px; }
  .filter-fields { padding: 16px 18px; gap: 13px 12px; }
  .filter-cell { min-width: calc(33.333% - 12px); }
  .filter-cell label { font-size: 11px; margin-bottom: 6px; }
  .filter-cell select { min-height: 39px; font-size: 13px; padding: 8px; }
  .filter-toggle { font-size: 12px; }
  .active-filters { padding: 0 18px 16px; }
  .active-filters > span[style] { font-size: 11px !important; }
  .result-title { font-size: 14px; }
  .result-title span { display: block; margin: 3px 0 0; font-size: 11px; }
  .sort-select { font-size: 12px; }
  .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .member-card { padding: 21px 18px 0; border-radius: 12px; }
  .card-footer { margin: 0 -18px; padding: 12px 15px; }
  .card-head { gap: 11px; margin-bottom: 19px; }
  .avatar { width: 50px; height: 58px; font-size: 26px; }
  .member-name { font-size: 18px; letter-spacing: .1px; }
  .member-meta { font-size: 11px; margin-top: 4px; }
  .fact strong { font-size: 13px; }
  .fact small { font-size: 10px; }
  .card-occupation { font-size: 12px; }
  .tag { font-size: 11px; padding: 3px 7px; }
  .card-intro { font-size: 12px; margin: 13px 0 16px; }
  .card-agency { font-size: 10px; }
  .detail-btn { font-size: 11px; }
  .demo-note { font-size: 11px; align-items: flex-start; }
  .footer-note { font-size: 10px; letter-spacing: .6px; }
  .mobile-nav {
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
    height: auto; min-height: 72px; padding: 9px 4px calc(10px + env(safe-area-inset-bottom));
    background: var(--paper); border-top: 1px solid #e6dce1; box-shadow: none; backdrop-filter: none;
  }
  .mobile-nav button { position: relative; min-width: 0; width: 100%; gap: 5px; padding: 3px 1px 0; font-size: 10px; color: #9c8393; line-height: 1.6; }
  .mobile-nav button span { max-width: 100%; white-space: nowrap; }
  .mobile-nav .icon { width: 20px; height: 20px; stroke-width: 1.65; }
  .mobile-nav button.active { color: #8c5a77; font-weight: 600; }
  .mobile-nav button.active:before { content: ""; position: absolute; top: -9px; width: 21px; height: 2px; border-radius: 0 0 2px 2px; background: #a27891; }
  .cp-mobile-nav { grid-auto-flow: unset; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-story, .rf-entry .auth-story { min-height: 282px; padding: 25px 26px 26px; overflow: hidden; }
  .auth-story .brand-symbol { width: 37px; height: 37px; }
  .auth-story .brand-wordmark { width: 134px; }
  .auth-story .brand-caption { font-size: 9px; }
  .auth-visual { position: absolute; top: 72px; right: -39px; width: 224px; height: 203px; margin: 0; opacity: .65; z-index: -1; }
  .auth-quote, .auth-story:not(:has(.auth-visual)) .auth-quote { margin: 29px 0 0; padding: 0; }
  .auth-kicker, .auth-quote .eyebrow { font-size: 10px; margin-bottom: 9px; letter-spacing: 1.4px; }
  .auth-story .auth-quote h1 { font-size: 29px !important; line-height: 1.65; letter-spacing: 1.2px; }
  .auth-quote h1 br { display: block; }
  .auth-quote p, .auth-story .auth-intro { max-width: 295px; font-size: 12px; line-height: 1.9; margin-top: 12px; color: #9b748a; }
  .auth-features, .auth-bottom { display: none; }
  .auth-main { padding: 31px 26px 39px; align-items: flex-start; }
  .auth-box, .auth-box.register { max-width: 510px; }
  .auth-box h2 { font-size: 25px; letter-spacing: 0; }
  .auth-box > p { font-size: 12px; margin-bottom: 20px; }
  .auth-tabs { gap: 24px; margin: 20px 0 25px; }
  .auth-tabs button { font-size: 12px; }
  .auth-box .field { margin-bottom: 20px; }
  .auth-box .field label { font-size: 13px; }
  .auth-box .btn.full { min-height: 46px; font-size: 14px; }
  .auth-demo { margin-top: 27px; padding-top: 20px; }
  .demo-buttons button { font-size: 11px; }
  .auth-terms { font-size: 10px; }
  dialog { width: calc(100% - 24px); max-height: 92dvh; border-radius: 12px; }
  .modal-head { padding: 19px 21px; }
  .modal-head h2 { font-size: 19px; }
  .modal-body { padding: 22px 21px; }
  .modal-actions { padding: 16px 21px; gap: 9px; }
  .modal-actions .btn { min-height: 41px; font-size: 12px; }
  .detail-hero .avatar { width: 63px; height: 72px; font-size: 31px; }
  .detail-hero h2 { font-size: 23px; }
  .detail-hero p { font-size: 12px; }
  .detail-facts { padding: 19px; gap: 20px 14px; }
  .detail-facts .fact strong { font-size: 13px; }
  .detail-facts .fact small { font-size: 11px; }
  .detail-copy { font-size: 13px; }
  .contact-card { padding: 18px; }
  .contact-card p { font-size: 12px; }
  .contact-lock { flex-direction: column; align-items: flex-start; }
  .contact-lock .btn { width: 100%; }
  .contact-protected { font-size: 11px; }
  .field label { font-size: 13px; }
  .field input, .field select, .field textarea { font-size: 14px; }
  .form-grid { gap: 18px 14px; }
  .form-hint { font-size: 12px; }
  .panel { padding: 23px 21px; border-radius: 12px; }
  .billing-grid { grid-template-columns: 1fr; gap: 20px; }
  .price-panel { padding: 28px 26px; border-radius: 12px; }
  .price-panel h2 { font-size: 22px; }
  .annual-price strong { font-size: 71px; letter-spacing: -2.6px; }
  .annual-price .period { font-size: 13px; }
  .price-caption { font-size: 12px; }
  .benefit-line { font-size: 13px; }
  .upgrade-body { padding: 25px 24px; }
  .upgrade-kicker { font-size: 11px; }
  .upgrade-benefits { font-size: 12px; }
  .upgrade-note { font-size: 12px; }
  .settings-footer { align-items: stretch; flex-direction: column; }
  .settings-footer .btn { width: 100%; }
  .settings-footer > span { font-size: 12px; }
  .notice, .banner-note { font-size: 12px; }
  .browse-banner { padding: 14px; flex-wrap: wrap; }
  .browse-banner strong { font-size: 13px; }
  .browse-banner p { font-size: 12px; }
  .browse-banner .btn { margin-left: 45px; }
  .admin-stats { gap: 10px; }
  .admin-stat { padding: 17px 13px; }
  .admin-stat b { font-size: 29px; }
  .admin-stat p { font-size: 11px; line-height: 1.8; }
  .cooperation-grid { grid-template-columns: 1fr; gap: 0; }
  .guide p { font-size: 13px; }
  #toast { bottom: calc(91px + env(safe-area-inset-bottom)); font-size: 12px; max-width: calc(100vw - 32px); }
  .rf-stats, .cl-stats { grid-template-columns: 1fr 1fr; padding: 0; }
  .rf-stats > div, .cl-stats > div { padding: 18px; }
  .rf-stats b, .cl-stats strong { font-size: 29px; }
  .rf-stats span, .cl-stats span { font-size: 11px; }
  .rf-rules { padding: 18px; }
  .rf-rules p { font-size: 12px; }
  .rf-policy-example, .cl-example { font-size: 12px; }
  .rf-copy-row { flex-wrap: wrap; }
  .rf-copy-row input { flex-basis: 100%; }
  .cl-funding-note { padding: 16px; }
  .cl-funding-note strong { font-size: 13px; }
  .cl-funding-note p, .cl-section-head .form-hint { font-size: 12px; }
  .cl-section-head h3 { font-size: 15px; }
  .cl-policy-roles span { font-size: 11px; }
  .cl-amount-preview { gap: 10px; }
  .cl-amount-preview strong { font-size: 18px; }
  .cl-amount-preview > div > span { font-size: 10px; }
  .cl-contract-copy p, .cl-beneficiary-summary li, .cl-action-summary p { font-size: 12px; }
  .cl-release-note { font-size: 11px; }
  .cl-release-note strong { font-size: 12px; }
  .cl-detail-actions .btn { font-size: 11px; }
  .cl-parties strong { font-size: 14px; }
  .cp-welcome { min-height: 153px; padding: 23px; margin-bottom: 22px; }
  .cp-welcome h2 { font-size: 24px; line-height: 1.65; margin-top: 6px; }
  .cp-welcome .tiny-badge { font-size: 10px; }
  .cp-welcome-mark { width: 76px; }
  .cp-welcome-mark img { width: 73px; height: 73px; opacity: .24; }
  .cp-welcome p { display: none; }
  .cp-boundary-note { font-size: 11px; }
  .cp-management-stats > div { padding: 18px 8px; }
  .cp-management-stats b { font-size: 28px; }
  .cp-management-stats span { font-size: 11px; }
  .cp-process { gap: 12px; }
  .cp-process h3 { font-size: 12px; }
  .cp-process p { font-size: 10px; }
  .cp-advisor-card { padding: 31px 21px !important; }
  .cp-profile-actions p { font-size: 12px; }
  .br-profile-panel, .br-media-panel { padding: 24px 21px; }
  .br-section-title h2 { font-size: 19px; }
  .br-share-identity h2 { font-size: 22px; }
  .br-share-identity p { font-size: 13px; }
  .br-share-identity small { font-size: 11px; }
}

@media (max-width: 650px) {
  .member-grid { grid-template-columns: 1fr; gap: 18px; }
  .member-card { padding: 23px 23px 0; }
  .card-head { gap: 14px; margin-bottom: 20px; }
  .avatar { width: 55px; height: 63px; font-size: 29px; }
  .member-name { font-size: 20px; letter-spacing: .3px; }
  .member-meta { font-size: 12px; }
  .card-facts { gap: 11px; padding-bottom: 17px; }
  .fact strong { font-size: 14px; }
  .fact small { font-size: 11px; }
  .card-occupation { font-size: 13px; margin-top: 16px; }
  .tag { font-size: 11px; padding: 3px 7px; }
  .card-intro { font-size: 12px; margin: 14px 0 19px; }
  .card-footer { margin: 0 -23px; padding: 14px 20px; }
  .card-agency { font-size: 11px; }
  .detail-btn { font-size: 12px; }
}

@media (max-width: 460px) {
  .topbar { padding: 0 14px; gap: 8px; }
  .mobile-brand { gap: 5px; }
  .mobile-brand .brand-symbol { width: 29px; height: 29px; }
  .mobile-brand .brand-wordmark { width: 104px; }
  .top-right { gap: 8px; }
  .verified-pill { font-size: 9px; max-width: 118px; padding: 4px 6px; }
  .logout { font-size: 10px; white-space: nowrap; }
  .content { padding-left: 17px; padding-right: 17px; }
  .page-heading { gap: 10px; }
  .page-heading h1 { font-size: 24px; }
  .page-heading > .btn { font-size: 11px; padding: 8px 10px; margin-top: 23px; }
  .welcome-copy { padding: 21px 22px; }
  .welcome-copy h2 { font-size: 22px; max-width: 290px; line-height: 1.7; }
  .bridge-art { opacity: .22; width: 133px; right: -15px; }
  .filter-cell { min-width: calc(50% - 12px); }
  .filter-cell select { font-size: 12px; }
  .filter-fields { gap: 13px 12px; }
  .form-grid { grid-template-columns: 1fr; }
  .field.wide, .form-section { grid-column: 1; }
  .detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .browse-banner .btn { margin-left: 0; width: 100%; }
  .mobile-nav button { font-size: 9px; gap: 6px; }
  .mobile-nav .icon { width: 20px; height: 20px; }
  .auth-main { padding-left: 25px; padding-right: 25px; }
  .auth-story, .rf-entry .auth-story { padding-left: 25px; padding-right: 25px; }
  .auth-tabs { gap: 22px; }
  .auth-tabs button { font-size: 12px; }
  .auth-visual { right: -54px; opacity: .52; }
  .auth-quote p, .auth-story .auth-intro { max-width: 270px; }
  .settings-footer > span { font-size: 12px; }
  .cp-welcome { padding: 21px; gap: 6px; }
  .cp-welcome h2 { font-size: 23px; }
  .cp-welcome-mark { width: 67px; }
  .cp-welcome-mark img { width: 66px; height: 66px; }
}

@media (max-width: 365px) {
  .mobile-brand .brand-wordmark { width: 93px; }
  .mobile-brand .brand-symbol { width: 27px; height: 27px; }
  .verified-pill { font-size: 8px; max-width: 105px; }
  .top-right { gap: 6px; }
  .mobile-nav button { font-size: 8px; }
  .auth-tabs { gap: 18px; }
  .auth-tabs button { font-size: 11px; }
  .cp-welcome-mark { display: none; }
  .page-heading h1 { font-size: 22px; }
  .welcome-copy h2 { font-size: 21px; }
  .cl-amount-preview strong { font-size: 16px; }
}

/* Rose is reserved for emphasis; the reading layer remains neutral ink. */
.page-heading h1, .auth-box h2, .member-name { color: #3f363c; }
.panel h3, .section-title, .br-section-title h2 { color: #51434c; }
.fact strong, .card-occupation, .info-pair b, td, td strong,
.cp-business-intent .between > div > strong { color: #5e5059; }
.heading-sub, .top-right, .logout, .breadcrumb, .filter-cell label,
.field label, .form-hint, .check-line, .member-meta, .fact small,
.card-intro, .card-agency, .demo-note, .footer-note, .result-title span,
.sort-select, .info-pair span, .settings-footer > span, .billing-operator,
.auth-box > p, .auth-box .field label, .auth-demo p, .auth-terms,
.cp-invite-help, .cp-filter-hint, .cp-boundary-note, .cp-profile-actions p,
.cp-record-copy, .cp-business-intent > p, .cp-advisor-name,
.br-section-title p, .br-upload-card p, .br-upload-note, .br-legal,
.br-preview-label, .br-share-identity p, .br-share-identity small,
.br-platform-line, .wechat-order-number, .rf-table-count,
.rf-link-record small, .rf-section-copy, .rf-ledger-summary,
.cl-pages, .cl-percent-input > span, .cl-fee-divider p,
.cl-contract-copy p, .cl-deadline, .cl-beneficiary-summary li,
.cl-policy-roles span, .cl-beneficiary-summary small, .cl-audit li p,
.cl-amount-preview > div > span, .cl-parties small,
.cp-business-intent small, .cp-record-date, .cp-process p {
  color: #756a72;
}
.auth-quote p, .auth-story .auth-intro, .auth-features,
.auth-story .brand-caption, .auth-bottom, .welcome-copy p,
.welcome-copy .tiny-badge, .stat-label, .cp-welcome p,
.cp-welcome .tiny-badge, .cp-companion p, .cp-advisor-reply > p,
.rf-rules p, .rf-registration-note p, .rf-registration-note > small,
.rf-empty p, .cl-empty p, .cl-policy p, .cl-action-summary p,
.br-share-note p { color: #74646b; }
th { color: #796872; }
td small { color: #83717c; }
.tag { color: #826a58; }
.tag.rose { color: #895f74; }
.detail-copy, .contact-card p { color: #806071; }
.guide p { color: #7d6976; }
.rf-stats span, .cl-stats span, .cp-management-stats span { color: #7c6976; }
.mobile-nav button { color: #887580; }

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
