.client-page { min-height: 100vh; background: var(--blue-wash); }
.client-header { position: relative; z-index: 5; border-bottom: 1px solid rgba(222, 213, 198, .88); background: rgba(255, 253, 247, .84); backdrop-filter: blur(16px); }
.client-header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; }
.client-header-actions { display: flex; align-items: center; gap: 12px; }
.client-main { position: relative; min-height: calc(100vh - 76px); display: grid; align-items: center; overflow: hidden; padding: 70px 0; }
.client-layout { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(55px, 9vw, 120px); }
.client-intro .back-link { display: inline-flex; gap: 8px; margin-bottom: 72px; color: var(--muted); font-size: 13px; font-weight: 800; }
.client-intro .back-link:hover { color: var(--blue-strong); }
.client-intro h1 { max-width: 560px; margin-bottom: 22px; font-size: clamp(48px, 6vw, 74px); letter-spacing: -.065em; line-height: 1; }
.client-intro > p:not(.section-kicker) { max-width: 520px; color: var(--muted); font-size: 18px; line-height: 1.75; }
.privacy-note { max-width: 500px; display: flex; gap: 12px; align-items: center; padding-top: 22px; margin-top: 34px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.privacy-note span { flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--blue-pale); color: var(--blue-strong); font-weight: 900; }
.privacy-note p { margin: 0; }
.lookup-card { position: relative; overflow: hidden; padding: 38px; border: 1px solid rgba(222, 213, 198, .94); border-radius: 28px; background: rgba(255, 253, 247, .96); box-shadow: var(--shadow); backdrop-filter: blur(20px); }
.lookup-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--ink), var(--oxblood) 58%, var(--brass)); }
.lookup-card-heading { display: flex; gap: 16px; align-items: center; margin-bottom: 30px; }
.lookup-card-heading > span { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 16px; background: var(--ink); color: var(--blue); font-family: Georgia, serif; font-size: 17px; font-style: italic; font-weight: 800; }
.lookup-card-heading h2 { margin-bottom: 2px; font-size: 24px; letter-spacing: -.035em; }
.lookup-card-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.lookup-form .field { margin-bottom: 18px; }
.lookup-error { display: flex; gap: 11px; align-items: center; padding: 12px 14px; margin-bottom: 20px; border: 1px solid #f4c7c3; border-radius: 12px; background: #fff3f2; color: var(--danger); font-size: 13px; }
.lookup-error span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--danger); color: var(--white); font-weight: 900; }
.lookup-error p { margin: 0; }
.client-orb { position: absolute; border-radius: 50%; pointer-events: none; }
.client-orb-one { top: -200px; right: -100px; width: 560px; height: 560px; border: 1px solid rgba(184, 138, 59, .28); box-shadow: inset 0 0 0 80px rgba(243, 231, 209, .25), inset 0 0 0 160px rgba(116, 27, 54, .055); }
.client-orb-two { bottom: -240px; left: -190px; width: 480px; height: 480px; background: rgba(243, 231, 209, .5); filter: blur(2px); }
.result-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.status-badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 99px; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status-badge.status-pending { background: #fff4df; color: var(--warning); }
.status-badge.status-accepted { background: #e3eef9; color: var(--success); }
.status-badge.status-rejected { background: #fff0ef; color: var(--danger); }
.result-person { display: flex; align-items: center; gap: 14px; padding: 24px 0; }
.result-avatar { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; background: var(--blue-pale); color: var(--blue-strong); font-size: 19px; font-weight: 900; }
.result-person small, .booking-details dt { display: block; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.result-person h2 { margin: 2px 0 0; font-size: 21px; letter-spacing: -.03em; }
.booking-details { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; }
.booking-details > div { padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.booking-details > div:nth-child(2n) { border-right: 0; }
.booking-details > div:nth-last-child(-n+2) { border-bottom: 0; }
.booking-details dd { margin: 4px 0 0; font-size: 14px; font-weight: 800; }
.status-message { display: flex; gap: 12px; align-items: center; padding: 15px; margin-bottom: 18px; border-radius: 13px; font-size: 13px; }
.status-message > span { flex: 0 0 auto; width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .7); font-weight: 900; }
.status-message p { margin: 0; }
.status-message.status-pending { background: #fff4df; color: #805019; }
.status-message.status-accepted { background: #e3eef9; color: #164f85; }
.status-message.status-rejected { background: #fff0ef; color: #912018; }
.decision-note { padding: 12px 0; color: var(--muted); font-size: 13px; }
.booking-results { display: grid; gap: 14px; }
.booking-result-divider { width: 100%; height: 1px; margin: 6px 0 12px; border: 0; background: var(--line); }
.booking-results > .button { margin-top: 2px; }
.booking-results > .button-light { border: 1px solid var(--line); }

[data-theme="dark"] .client-header { background: rgba(11, 18, 32, .88); }
[data-theme="dark"] .lookup-card { border-color: var(--line); background: rgba(18, 28, 45, .96); }
[data-theme="dark"] .lookup-card-heading > span { background: #f6f0e5; color: #101b2d; }
[data-theme="dark"] .booking-details { border-color: var(--line); }
[data-theme="dark"] .booking-details > div { border-color: var(--line); }
[data-theme="dark"] .client-orb-one { border-color: rgba(212, 170, 94, .17); box-shadow: inset 0 0 0 80px rgba(48, 39, 25, .2), inset 0 0 0 160px rgba(168, 50, 83, .08); }
[data-theme="dark"] .client-orb-two { background: rgba(116, 27, 54, .18); }

@media (max-width: 820px) {
    .client-main { align-items: start; padding: 52px 0 70px; }
    .client-layout { grid-template-columns: 1fr; gap: 36px; }
    .client-intro { text-align: center; }
    .client-intro .back-link { margin-bottom: 40px; }
    .client-intro .section-kicker { justify-content: center; }
    .client-intro > p:not(.section-kicker), .privacy-note { margin-inline: auto; }
}

@media (max-width: 520px) {
    .client-header-inner { min-height: 68px; }
    .client-main { min-height: calc(100vh - 68px); padding-top: 38px; }
    .client-intro h1 { font-size: 46px; }
    .client-intro > p:not(.section-kicker) { font-size: 15px; }
    .privacy-note { text-align: left; }
    .lookup-card { padding: 24px 18px; border-radius: 22px; }
    .client-header-actions { gap: 7px; }
    .client-header .theme-toggle { width: 38px; height: 38px; }
    .client-header .brand > span:last-child { display: none; }
}
