.auth-switch { margin: 18px 0 0; color: var(--muted); font-size: .86rem; }
.auth-switch a { color: var(--blue); font-weight: 800; }

.account-body { background: #f4f7fb; min-height: 100vh; }
.account-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); backdrop-filter: blur(10px); }
.account-header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.account-header-actions { display: flex; align-items: center; gap: 12px; }
.account-header-actions a { font-weight: 750; font-size: .9rem; color: #43536a; }

.registration-shell { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(520px, 1.25fr); min-height: calc(100vh - 72px); }
.registration-aside { padding: 64px max(36px, calc((100vw - 1180px) / 2)); padding-right: 58px; background: linear-gradient(145deg, #071a2d, #103d68); color: white; }
.registration-aside .eyebrow { color: #82b9ff; }
.registration-aside h1 { margin: 16px 0 18px; color: white; font-size: clamp(2.3rem, 4vw, 4rem); }
.registration-aside p { max-width: 500px; color: #c5d6e7; }
.registration-benefits { display: grid; gap: 15px; padding: 0; margin: 36px 0 0; list-style: none; }
.registration-benefits li { display: flex; gap: 12px; align-items: flex-start; color: #d7e5f2; }
.registration-benefits li::before { content: "✓"; display: grid; place-items: center; flex: 0 0 25px; height: 25px; border-radius: 50%; background: rgba(255,255,255,.14); color: #8ec2ff; font-weight: 900; }
.registration-main { padding: 46px clamp(28px, 6vw, 84px) 70px; background: #f7f9fc; }
.registration-card { width: min(720px, 100%); margin: 0 auto; padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: 0 22px 60px rgba(12,35,58,.09); }
.registration-card h2 { margin-bottom: 8px; }
.registration-card > p { margin-top: 0; color: var(--muted); }

.stepper { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; width: min(820px, 100%); margin: 0 auto 24px; }
.stepper-item { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 8px; color: #7a8798; font-size: .75rem; font-weight: 800; }
.stepper-item::after { content: ""; grid-column: 1 / -1; height: 4px; border-radius: 99px; background: #dce4ed; }
.stepper-item span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e8edf3; color: #617084; }
.stepper-item.active, .stepper-item.complete { color: var(--navy); }
.stepper-item.active span { background: var(--blue); color: white; }
.stepper-item.complete span { background: var(--success); color: white; }
.stepper-item.active::after, .stepper-item.complete::after { background: var(--blue); }

.form-step[hidden] { display: none; }
.form-section-title { margin: 4px 0 22px; }
.form-section-title h2 { font-size: 1.85rem; }
.form-section-title p { margin: 6px 0 0; color: var(--muted); }
.account-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.account-form-grid .wide { grid-column: 1 / -1; }
.field { display: grid; gap: 7px; color: #43536a; font-size: .78rem; font-weight: 800; }
.field small { color: #8793a2; font-weight: 500; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: 12px 13px; border: 1px solid #ccd6e2; border-radius: 10px; outline: none; color: var(--ink); background: white; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(18,102,214,.12); }
.role-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.role-card { position: relative; display: grid; gap: 7px; min-height: 122px; padding: 18px; border: 1.5px solid #d3dce7; border-radius: 13px; cursor: pointer; }
.role-card input { position: absolute; opacity: 0; }
.role-card strong { color: var(--navy); }
.role-card small { color: var(--muted); font-weight: 500; }
.role-card:has(input:checked) { border-color: var(--blue); background: #f2f7ff; box-shadow: 0 0 0 3px rgba(18,102,214,.09); }
.form-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid #e7ecf2; }
.form-actions .right { display: flex; gap: 10px; margin-left: auto; }
.password-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-top: 4px; }
.password-meter span { height: 4px; border-radius: 99px; background: #e1e7ee; }
.password-meter[data-strength="1"] span:nth-child(-n+1), .password-meter[data-strength="2"] span:nth-child(-n+2), .password-meter[data-strength="3"] span:nth-child(-n+3), .password-meter[data-strength="4"] span:nth-child(-n+4) { background: var(--blue); }
.review-box { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--line); }
.review-row { display: grid; grid-template-columns: 155px 1fr; gap: 15px; padding: 13px 15px; background: white; }
.review-row span { color: var(--muted); font-size: .78rem; }
.review-row strong { font-size: .88rem; }
.consent-box { display: grid; gap: 14px; margin-top: 20px; padding: 18px; border-radius: 13px; background: #f6f8fb; }
.check-field { display: flex; gap: 10px; align-items: flex-start; color: #46576b; font-size: .82rem; }
.check-field input { margin-top: 3px; }
.check-field a { color: var(--blue); font-weight: 800; }

.verification-screen { text-align: center; }
.verification-icon { display: grid; place-items: center; width: 76px; height: 76px; margin: 4px auto 20px; border-radius: 50%; background: #eaf3ff; color: var(--blue); font-size: 2rem; }
.code-input { width: min(330px, 100%); margin: 20px auto 0; text-align: center; font-size: 1.65rem; letter-spacing: .35em; font-weight: 850; }
.dev-code { width: min(430px, 100%); margin: 18px auto; padding: 13px; border: 1px dashed #e5a92b; border-radius: 10px; background: #fff8e8; color: #7b5710; font-size: .82rem; }
.dev-code strong { font-size: 1.15rem; letter-spacing: .18em; }
.inline-status { min-height: 22px; margin: 12px 0 0; color: var(--muted); font-size: .83rem; }
.inline-status.error { color: #b42318; }
.inline-status.success { color: var(--success); }

.login-gate { display: grid; place-items: center; min-height: calc(100vh - 72px); padding: 40px 20px; }
/* V6.1: never show the login gate and signed-in dashboard at the same time. */
.login-gate[hidden],
.account-layout[hidden] { display: none !important; }

.login-card { width: min(460px, 100%); padding: 34px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.login-card p { color: var(--muted); }

.account-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; padding: 36px 0 70px; }
.account-sidebar { position: sticky; top: 105px; align-self: start; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.account-identity { padding: 10px 8px 18px; border-bottom: 1px solid #e7ecf2; }
.account-avatar { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 12px; border-radius: 13px; background: var(--navy); color: white; font-weight: 900; }
.account-identity strong, .account-identity small { display: block; }
.account-identity small { margin-top: 3px; color: var(--muted); }
.account-nav { display: grid; gap: 5px; margin-top: 14px; }
.account-nav button, .account-nav a { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border: 0; border-radius: 9px; background: transparent; color: #4c5c70; text-align: left; font-weight: 750; }
.account-nav button:hover, .account-nav button.active, .account-nav a:hover { background: #edf4fd; color: var(--blue); }
.account-content { min-width: 0; }
.account-panel[hidden] { display: none; }
.account-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.account-page-heading h1 { margin: 0 0 5px; font-size: 2rem; }
.account-page-heading p { margin: 0; color: var(--muted); }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; background: #edf2f7; color: #586779; font-size: .69rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.badge.verified { background: #e8f7ee; color: var(--success); }
.badge.pending { background: #fff4dc; color: #9a6200; }
.dashboard-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.account-card { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: 0 8px 28px rgba(16,36,58,.04); }
.account-card h2, .account-card h3 { margin-top: 0; }
.completion-card { background: linear-gradient(135deg, #0c2844, #12518a); color: white; }
.completion-card h2, .completion-card p { color: white; }
.completion-card p { opacity: .78; }
.progress-line { height: 9px; margin: 20px 0 9px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.2); }
.progress-line span { display: block; height: 100%; border-radius: inherit; background: white; }
.completion-number { font-size: 2.6rem; font-weight: 900; }
.verification-list { display: grid; gap: 12px; }
.verification-item { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px; border: 1px solid #e1e7ef; border-radius: 11px; }
.verification-item strong, .verification-item small { display: block; }
.verification-item small { color: var(--muted); }
.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 18px; }
.quick-card { padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.quick-card strong { display: block; font-size: 1.7rem; color: var(--navy); }
.quick-card span { color: var(--muted); font-size: .78rem; }
.settings-card { padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.settings-card + .settings-card { margin-top: 18px; }
.settings-card-header { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 21px; padding-bottom: 17px; border-bottom: 1px solid #e8edf3; }
.settings-card-header h2 { margin: 0 0 4px; font-size: 1.25rem; }
.settings-card-header p { margin: 0; color: var(--muted); font-size: .84rem; }
.address-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.address-card { position: relative; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.address-card h3 { margin: 0 0 6px; }
.address-card p { margin: 3px 0; color: #536276; font-size: .84rem; }
.address-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.address-actions { display: flex; gap: 8px; margin-top: 15px; }
.button-danger { border-color: #efc5c2; color: #b42318; background: #fff; }
.verify-box { display: none; margin-top: 15px; padding: 16px; border-radius: 12px; background: #f5f8fc; }
.verify-box.open { display: block; }
.verify-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.security-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.toast.account-toast { z-index: 300; }

@media (max-width: 980px) {
  .registration-shell { grid-template-columns: 1fr; }
  .registration-aside { padding: 46px 30px; }
  .registration-main { padding: 35px 22px 60px; }
  .account-layout { grid-template-columns: 1fr; }
  .account-sidebar { position: static; }
  .account-nav { grid-template-columns: repeat(6, minmax(130px, 1fr)); overflow-x: auto; }
  .dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .stepper-item { grid-template-columns: 28px; justify-content: center; text-align: center; }
  .stepper-item b { display: none; }
  .account-form-grid, .security-grid, .address-list { grid-template-columns: 1fr; }
  .account-form-grid .wide { grid-column: auto; }
  .role-options { grid-template-columns: 1fr; }
  .registration-card { padding: 24px 19px; }
  .review-row { grid-template-columns: 1fr; gap: 3px; }
  .quick-grid { grid-template-columns: 1fr; }
  .account-header-actions a:not(.button) { display: none; }
  .account-page-heading { flex-direction: column; }
}

/* FindBusParts V4 account center */
.account-body { background: #f4f7fa; }
.account-sidebar { padding: 14px; }
.account-identity { padding: 12px 10px 20px; }
.sidebar-status { display: inline-flex; margin-top: 10px; padding: 5px 8px; border-radius: 999px; background: #eef3f8; color: #5b6c80; font-size: .66rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.account-nav button, .account-nav a { min-height: 42px; }
.account-nav button span, .account-nav a span { display: inline-grid; place-items: center; width: 20px; }
.nav-count { min-width: 21px; margin-left: auto; padding: 2px 6px; border-radius: 999px; background: #e54a3d; color: white; font-size: .68rem; text-align: center; }
.card-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.text-button { border: 0; background: transparent; color: var(--blue); font-size: .78rem; font-weight: 850; cursor: pointer; }
.verification-list.compact .verification-item { padding: 11px 12px; }
.completion-link { margin-top: 3px; padding: 0; border: 0; background: transparent; color: white; opacity: .9; font-weight: 800; cursor: pointer; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 18px; }
.metric-card { display: grid; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; column-gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: white; color: inherit; text-align: left; cursor: pointer; transition: .18s ease; }
.metric-card:hover { transform: translateY(-2px); border-color: #b9c9db; box-shadow: 0 10px 24px rgba(16,36,58,.07); }
.metric-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #edf4fd; color: var(--blue); font-weight: 900; }
.metric-card strong { font-size: 1.4rem; color: var(--navy); }
.metric-card small { color: var(--muted); }
.overview-columns { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 18px; }
.quick-link-list { display: grid; gap: 8px; }
.quick-link-list button, .quick-link-list a { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.quick-link-list button:hover, .quick-link-list a:hover { border-color: var(--line); background: #f7f9fc; }
.quick-link-list > * > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #eef4fb; }
.quick-link-list strong, .quick-link-list small { display: block; }
.quick-link-list small { margin-top: 2px; color: var(--muted); }
.quick-link-list b { color: #8693a3; font-size: 1.3rem; }
.timeline-list { display: grid; gap: 0; }
.timeline-item { position: relative; display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; padding: 11px 0; }
.timeline-item + .timeline-item { border-top: 1px solid #edf0f4; }
.timeline-dot { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #edf4fd; color: var(--blue); font-size: .78rem; font-weight: 900; }
.timeline-item strong, .timeline-item small { display: block; }
.timeline-item small { margin-top: 3px; color: var(--muted); }
.timeline-item time { color: #8a96a5; font-size: .7rem; white-space: nowrap; }
.timeline-list.full .timeline-item { padding: 15px 4px; }
.session-list { display: grid; gap: 11px; }
.session-item { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }
.session-device { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: #eef4fb; font-size: 1.05rem; }
.session-item strong, .session-item small { display: block; }
.session-item small { margin-top: 3px; color: var(--muted); }
.session-current { color: var(--success); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.reputation-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 15px; margin-bottom: 18px; }
.reputation-card { padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.reputation-card span, .reputation-card small { display: block; color: var(--muted); }
.reputation-card strong { display: block; margin: 8px 0 3px; color: var(--navy); font-size: 2rem; }
.stars { margin: 3px 0 6px; color: #e6a51c; font-size: 1.25rem; letter-spacing: .06em; }
.tab-strip { display: flex; gap: 5px; margin: 18px 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: white; overflow-x: auto; }
.tab-strip button { flex: 0 0 auto; padding: 9px 14px; border: 0; border-radius: 8px; background: transparent; color: #56667a; font-weight: 800; cursor: pointer; }
.tab-strip button.active { background: #edf4fd; color: var(--blue); }
.feedback-list, .data-list, .payment-method-list { display: grid; gap: 11px; }
.feedback-card, .data-row, .payment-method { padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.feedback-card-head, .data-row-head, .payment-method-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.feedback-card strong, .feedback-card small, .data-row strong, .data-row small, .payment-method strong, .payment-method small { display: block; }
.feedback-card small, .data-row small, .payment-method small { margin-top: 3px; color: var(--muted); }
.feedback-card p { margin: 12px 0 0; color: #536276; }
.feedback-stars { color: #e6a51c; letter-spacing: .04em; }
.feedback-form { display: grid; grid-template-columns: 130px 1fr auto; gap: 10px; align-items: end; margin-top: 12px; }
.feedback-form textarea { min-height: 72px; }
.payment-notice { display: flex; gap: 13px; margin-bottom: 18px; padding: 15px 17px; border: 1px solid #cfe0f4; border-radius: 13px; background: #f1f7ff; }
.payment-notice span { font-size: 1.25rem; }
.payment-notice strong { color: var(--navy); }
.payment-notice p { margin: 4px 0 0; color: #586a80; font-size: .83rem; }
.payments-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.payment-brand { display: grid; place-items: center; min-width: 54px; height: 34px; padding: 0 9px; border-radius: 8px; background: var(--navy); color: white; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.payment-method { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.payment-actions { display: flex; gap: 6px; }
.default-label { display: inline-flex; margin-top: 6px; padding: 3px 7px; border-radius: 999px; background: #e8f7ee; color: var(--success); font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.modal-note { margin: -5px 0 18px; padding: 10px 12px; border-radius: 9px; background: #fff7e6; color: #73510c; font-size: .78rem; }
.history-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.history-stat { padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.history-stat strong { display: block; color: var(--navy); font-size: 1.45rem; }
.history-stat small { color: var(--muted); }
.data-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.data-row-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 7px; color: var(--muted); font-size: .76rem; }
.status-pill { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #eef2f6; color: #5d6b7b; font-size: .68rem; font-weight: 850; text-transform: capitalize; }
.status-pill.active, .status-pill.completed, .status-pill.paid, .status-pill.accepted { background: #e8f7ee; color: var(--success); }
.status-pill.pending, .status-pill.pending_payment, .status-pill.processing { background: #fff4dc; color: #946000; }
.status-pill.declined, .status-pill.cancelled, .status-pill.removed { background: #fdeceb; color: #b42318; }
.message-center { display: grid; grid-template-columns: 330px minmax(0,1fr); min-height: 610px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: white; }
.conversation-list { border-right: 1px solid var(--line); overflow-y: auto; }
.conversation-item { display: grid; grid-template-columns: 44px 1fr auto; gap: 11px; width: 100%; padding: 15px; border: 0; border-bottom: 1px solid #edf0f4; background: white; color: inherit; text-align: left; cursor: pointer; }
.conversation-item:hover, .conversation-item.active { background: #f2f7fd; }
.conversation-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--navy); color: white; font-weight: 900; }
.conversation-copy { min-width: 0; }
.conversation-copy strong, .conversation-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conversation-copy small { margin-top: 4px; color: var(--muted); }
.conversation-meta { text-align: right; }
.conversation-meta time { display: block; color: #8793a2; font-size: .65rem; }
.unread-dot { display: inline-block; width: 9px; height: 9px; margin-top: 8px; border-radius: 50%; background: var(--blue); }
.conversation-panel { min-width: 0; }
.conversation-empty { display: grid; place-items: center; align-content: center; height: 100%; padding: 30px; text-align: center; color: var(--muted); }
.conversation-empty span { font-size: 2rem; }
.conversation-empty h3 { margin: 10px 0 3px; color: var(--navy); }
.conversation-empty p { margin: 0; }
.conversation-view { display: grid; grid-template-rows: auto 1fr auto; height: 610px; }
.conversation-header { padding: 16px 19px; border-bottom: 1px solid var(--line); }
.conversation-header strong, .conversation-header small { display: block; }
.conversation-header small { margin-top: 3px; color: var(--muted); }
.message-thread { display: flex; flex-direction: column; gap: 10px; padding: 20px; overflow-y: auto; background: #f8fafc; }
.message-bubble { align-self: flex-start; max-width: 76%; padding: 11px 13px; border: 1px solid #dfe6ee; border-radius: 13px 13px 13px 4px; background: white; }
.message-bubble.mine { align-self: flex-end; border-color: #bfd4ee; border-radius: 13px 13px 4px 13px; background: #eaf3ff; }
.message-bubble p { margin: 0; white-space: pre-wrap; }
.message-bubble small { display: block; margin-top: 5px; color: #7a8796; font-size: .65rem; }
.message-reply-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 14px; border-top: 1px solid var(--line); }
.message-reply-form textarea { min-height: 48px; max-height: 120px; padding: 12px; border: 1px solid #ccd6e2; border-radius: 10px; resize: vertical; }
.empty-inline { padding: 24px; border: 1px dashed #ced8e3; border-radius: 12px; color: var(--muted); text-align: center; }
.empty-inline strong { display: block; margin-bottom: 4px; color: var(--navy); }

@media (max-width: 1100px) {
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .overview-columns, .payments-columns { grid-template-columns: 1fr; }
  .message-center { grid-template-columns: 280px minmax(0,1fr); }
}
@media (max-width: 980px) {
  .account-nav { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(150px, max-content); overflow-x: auto; }
  .account-nav a, .account-nav button { white-space: nowrap; }
}
@media (max-width: 760px) {
  .metric-grid, .reputation-grid, .history-summary { grid-template-columns: 1fr 1fr; }
  .message-center { grid-template-columns: 1fr; min-height: auto; }
  .conversation-list { max-height: 260px; border-right: 0; border-bottom: 1px solid var(--line); }
  .conversation-view { height: 520px; }
  .feedback-form { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .metric-grid, .reputation-grid, .history-summary { grid-template-columns: 1fr; }
  .timeline-item { grid-template-columns: 34px 1fr; }
  .timeline-item time { grid-column: 2; }
  .payment-method { grid-template-columns: auto 1fr; }
  .payment-actions { grid-column: 1 / -1; }
}

/* Version 5 returns, disputes, and payment-assurance UI */
.assurance-notice { border-color: #b9dfc5; background: #effaf3; }
.assurance-notice > span { display:grid; place-items:center; min-width:30px; height:30px; border-radius:50%; background:#16834f; color:white; font-weight:900; }
.assurance-notice a, .return-policy-banner a { color: var(--blue); font-weight: 800; }
.return-policy-banner { display:flex; gap:14px; margin-bottom:18px; padding:17px 19px; border:1px solid #cfe0f4; border-radius:14px; background:#f2f7fd; }
.return-policy-banner > span { font-size:1.35rem; }
.return-policy-banner strong { color:var(--navy); }
.return-policy-banner p { margin:4px 0 0; color:#566a80; line-height:1.5; }
.returns-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-bottom:18px; }
.return-list { display:grid; gap:16px; }
.return-card { padding:20px; border:1px solid var(--line); border-radius:15px; background:white; box-shadow:0 8px 24px rgba(16,35,56,.04); }
.return-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.return-card-head h3 { margin:4px 0; color:var(--navy); }
.return-card-head small { color:var(--muted); }
.return-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:18px 0; }
.return-detail-grid > div { padding:11px 12px; border-radius:10px; background:#f7f9fc; }
.return-detail-grid span,.return-detail-grid strong { display:block; }
.return-detail-grid span { color:var(--muted); font-size:.68rem; text-transform:uppercase; font-weight:850; }
.return-detail-grid strong { margin-top:4px; color:#23364b; text-transform:capitalize; }
.return-description { margin:0 0 14px; color:#526477; line-height:1.6; white-space:pre-wrap; }
.return-response,.return-tracking { margin:10px 0; padding:11px 13px; border-radius:10px; background:#f2f7fd; color:#456078; }
.return-thread { display:grid; gap:8px; margin-top:15px; padding-top:15px; border-top:1px solid var(--line); }
.return-message { max-width:82%; padding:10px 12px; border:1px solid #dfe6ee; border-radius:11px 11px 11px 3px; background:#fafbfd; }
.return-message.mine { margin-left:auto; border-color:#bdd4ef; border-radius:11px 11px 3px 11px; background:#eaf3ff; }
.return-message strong,.return-message small { display:block; }
.return-message p { margin:4px 0; white-space:pre-wrap; }
.return-message small { color:var(--muted); font-size:.68rem; }
.return-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }
.return-modal { max-width:720px; }
.legal-consent-emphasis { padding:12px; border:1px solid #efc86d; border-radius:10px; background:#fff8e6; }
@media (max-width: 800px) { .return-detail-grid { grid-template-columns:1fr 1fr; } .returns-summary { grid-template-columns:1fr; } }
@media (max-width: 520px) { .return-detail-grid { grid-template-columns:1fr; } .return-card-head { display:block; } .return-card-head .status-pill { margin-top:8px; } }


/* Version 5 legal acceptance and return workflow */
.legal-acceptance-banner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:24px; align-items:start; margin:0 0 24px; padding:24px; border:1px solid #b7d2f4; border-radius:16px; background:linear-gradient(135deg,#f4f8ff,#fff); box-shadow:0 10px 28px rgba(12,55,105,.07); }
.legal-acceptance-banner[hidden] { display:none; }
.legal-acceptance-copy h2 { margin:6px 0 8px; font-size:1.28rem; }
.legal-acceptance-copy p { margin:0; color:var(--muted); }
.legal-banner-links { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:14px; }
.legal-banner-links a { color:var(--blue); font-size:.8rem; font-weight:850; }
.legal-acceptance-form { display:grid; gap:12px; padding:17px; border:1px solid #d9e4f1; border-radius:13px; background:#fff; }
.legal-acceptance-form label { display:flex; align-items:flex-start; gap:9px; color:#43536a; font-size:.78rem; line-height:1.45; }
.legal-acceptance-form input { margin-top:3px; }
.status-pill.seller_approved, .status-pill.received { background:#e8f7ee; color:var(--success); }
.status-pill.return_in_transit { background:#eaf3ff; color:#1559a7; }
.status-pill.seller_declined, .status-pill.closed { background:#f1f3f6; color:#596778; }
.status-pill.refunded { background:#e8f7ee; color:var(--success); }
.status-pill.escalated, .status-pill.disputed { background:#fff0e6; color:#a44900; }
@media (max-width:820px) { .legal-acceptance-banner { grid-template-columns:1fr; } }


/* Version 7 sign-in protection, password recovery, and CAPTCHA */
.password-input-wrap { position:relative; display:block; }
.password-input-wrap input { width:100%; padding-right:72px !important; }
.password-toggle { position:absolute; top:50%; right:8px; transform:translateY(-50%); padding:6px 8px; border:0; border-radius:7px; background:#eef4fb; color:var(--blue); font-size:.72rem; font-weight:850; cursor:pointer; }
.password-toggle:hover { background:#dfeafa; }
.auth-helper-row { display:flex; justify-content:flex-end; margin:-2px 0 12px; }
.auth-link-button { color:var(--blue); font-weight:800; }
.captcha-box { display:grid; grid-template-columns:1fr auto; gap:15px; align-items:center; margin:16px 0; padding:14px; border:1px solid #c9d8e8; border-radius:12px; background:#f6f9fd; }
.captcha-copy span,.captcha-copy strong { display:block; }
.captcha-copy strong { margin-top:5px; color:var(--navy); font-size:1rem; }
.captcha-controls { display:grid; grid-template-columns:100px 40px; gap:7px; align-items:center; }
.captcha-controls input:not([type=hidden]) { width:100%; min-width:0; padding:10px; border:1px solid #bfcddd; border-radius:9px; background:white; text-align:center; font-weight:850; }
.captcha-refresh { width:40px; height:40px; border:1px solid #bfcddd; border-radius:9px; background:white; color:var(--blue); font-size:1.15rem; font-weight:900; cursor:pointer; }
.password-reset-modal { max-width:520px; }
.password-reset-modal > div > p { color:var(--muted); line-height:1.55; }
.password-requirements { display:block; margin:-3px 0 12px; color:var(--muted); }
.centered-text-button { display:block; margin:13px auto 0; }
@media (max-width:520px) { .captcha-box { grid-template-columns:1fr; } .captcha-controls { grid-template-columns:1fr 40px; } }


/* Version 11 seller approval and secure messaging */
.secure-message-notice{margin:0 0 18px;padding:15px 18px;border:1px solid #b9d8ee;border-radius:14px;background:#eef8ff;color:#17364d}.secure-message-notice p{margin:5px 0 0}.secure-lock{font-size:.78rem;font-weight:800;color:#2c647f;background:#e8f7ff;border-radius:999px;padding:6px 9px}.conversation-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.conversation-header small{display:block;margin-top:3px}.message-bubble.system{margin:10px auto;max-width:90%;background:#f1f5f7;color:#445b68;text-align:center}.message-bubble.blocked{border:1px solid #dc9c9c;background:#fff2f2;color:#7f2525}.seller-approval-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(360px,1.3fr);gap:20px}.seller-decision-note{margin-top:16px;padding:14px;border-radius:12px;background:#fff5d8;border:1px solid #e9ce79}.seller-nav-dot{font-size:.65rem}.verification-item .requirement-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#edf2f5}.verification-item.complete .requirement-icon{background:#dff5e8;color:#15733a}.verification-item.incomplete .requirement-icon{background:#fff0e4;color:#9a4a13}@media(max-width:850px){.seller-approval-grid{grid-template-columns:1fr}.secure-lock{display:none}}


/* Version 12: Stripe seller verification */
.stripe-seller-card{grid-column:1/-1}.stripe-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 16px}.stripe-status-grid>div{border:1px solid var(--line,#dfe5e8);border-radius:12px;padding:12px;background:#f8fafb}.stripe-status-grid span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#66737b;margin-bottom:4px}.stripe-status-grid strong{display:block;overflow-wrap:anywhere}.stripe-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.payment-notice.compact{margin:12px 0}.stripe-requirements{border-left:4px solid #b7791f;background:#fff8e8;padding:12px 16px;border-radius:8px;margin:12px 0}.stripe-requirements ul{margin:8px 0 0 20px}.stripe-requirements li{text-transform:capitalize;margin:4px 0}@media(max-width:800px){.stripe-status-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.stripe-status-grid{grid-template-columns:1fr}.stripe-actions .button{width:100%}}

/* Version 13: dedicated My Listings center */
.my-listings-grid{display:grid;gap:14px;margin-top:18px}.my-listing-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(12,39,67,.04)}.my-listing-image{display:grid;place-items:center;min-height:120px;overflow:hidden;border-radius:12px;background:#eef3f8;color:#75869a;font-size:.72rem;font-weight:900;letter-spacing:.08em}.my-listing-image img{width:100%;height:100%;min-height:120px;object-fit:cover}.my-listing-body{min-width:0}.my-listing-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.my-listing-title-row h3{margin:4px 0 0;color:var(--navy);font-size:1.08rem}.my-listing-facts{display:flex;gap:10px 18px;flex-wrap:wrap;margin:13px 0;color:var(--muted);font-size:.8rem}.my-listing-facts strong{color:var(--navy);font-size:1rem}.my-listing-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #edf0f4}@media(max-width:720px){.my-listing-card{grid-template-columns:1fr}.my-listing-image{max-height:220px}.my-listing-title-row{display:block}.my-listing-title-row .status-pill{margin-top:8px}}
.offer-history-row .offer-history-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.55rem}.offer-history-row{align-items:flex-start}


/* Version 15 secure payout center */
.payout-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-bottom:18px; }
.payout-summary-card { padding:20px; border:1px solid var(--line); border-radius:15px; background:white; }
.payout-summary-card span,.payout-summary-card small { display:block; color:var(--muted); }
.payout-summary-card strong { display:block; margin:7px 0 5px; color:var(--navy); font-size:1.7rem; }
.payout-summary-card small { line-height:1.45; }
.payout-columns { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; margin-bottom:18px; }
.payout-destination { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; min-height:76px; margin-bottom:16px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fbfcfe; }
.payout-destination .empty-inline { grid-column:1 / -1; }
.payout-destination-icon { display:grid; place-items:center; min-width:58px; height:38px; padding:0 9px; border-radius:9px; background:var(--navy); color:white; font-size:.7rem; font-weight:900; }
.payout-destination strong,.payout-destination small { display:block; }
.payout-destination small { margin-top:3px; color:var(--muted); }
.payout-facts { margin:0 0 14px; }
.payout-process-list { display:grid; gap:10px; margin:5px 0 18px; padding-left:22px; color:#526276; line-height:1.45; }
.payments-columns.buying-only { grid-template-columns:1fr 1fr; }
@media (max-width:900px) { .payout-summary-grid,.payout-columns { grid-template-columns:1fr; } }

/* FindBusParts 15.2 secure buyer wallet */
.wallet-provider-strip {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin:0 0 18px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#fff;
}
.wallet-provider-strip > div { display:grid; gap:3px; }
.wallet-provider-label { color:var(--muted); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.wallet-provider-strip strong { font-size:1.05rem; }
.wallet-provider-strip small { color:var(--muted); }
.payment-provider-modal { max-width:560px; text-align:center; }
.secure-lock-icon { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 10px; border-radius:50%; background:#edf5ff; font-size:1.4rem; }
.provider-simulation-options, .provider-live-action { margin-top:18px; text-align:left; }
.provider-simulation-options > p { color:var(--muted); line-height:1.55; }
.provider-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.provider-choice { border:1px solid var(--line); border-radius:14px; background:#fff; padding:17px; text-align:left; cursor:pointer; font:inherit; color:var(--ink); transition:.15s ease; }
.provider-choice:hover { border-color:#1f6fe5; box-shadow:0 6px 20px rgba(14,53,94,.08); transform:translateY(-1px); }
.provider-choice span, .provider-choice strong, .provider-choice small { display:block; }
.provider-choice span { font-size:1.35rem; margin-bottom:8px; }
.provider-choice strong { margin-bottom:5px; }
.provider-choice small { color:var(--muted); line-height:1.45; }
.secure-provider-card { border:1px solid var(--line); border-radius:14px; background:#f7faff; padding:17px; margin-bottom:14px; }
.secure-provider-card strong { display:block; margin-bottom:5px; }
.secure-provider-card p { margin:0; color:var(--muted); line-height:1.5; }
@media (max-width:650px) { .provider-choice-grid { grid-template-columns:1fr; } .wallet-provider-strip { align-items:flex-start; } }

/* Version 23 security and notification preferences */
.notification-pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.notification-pref-grid label{display:flex;gap:12px;align-items:flex-start;border:1px solid #dfe7f1;border-radius:12px;padding:14px;background:#fff}.notification-pref-grid input{margin-top:4px;width:18px;height:18px}.notification-pref-grid span{display:grid;gap:3px}.notification-pref-grid small{color:#66758a;line-height:1.4}.mandatory-notice{background:#f5f8fc!important}#twoFactorSecret{display:block;margin:8px 0;padding:10px;background:#f5f8fc;border-radius:8px;font-size:16px;word-break:break-all;letter-spacing:1px}@media(max-width:760px){.notification-pref-grid{grid-template-columns:1fr}}
