/* Approved typography, reading widths and panel hierarchy. No form or operational logic. */
body.photo-review-page.cs-family { min-height:100vh; }
:root[data-theme] .cs-family .page-heading h1 { font-size:clamp(30px,3.4vw,44px);line-height:1.15; }
:root[data-theme] .cs-family .page-heading p { max-width:64ch;font-size:16px; }
:root[data-theme] .cs-family .pricing-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch; }
:root[data-theme] .cs-family .plan-card { padding:30px;border:1px solid var(--line);border-radius:12px;box-shadow:none;background:var(--surface); }
:root[data-theme] .cs-family .plan-card--featured { border:2px solid var(--accent-dark);padding:29px;background:var(--surface); }
:root[data-theme] .cs-family .plan-card__eyebrow { font-size:12px;line-height:1.6; }
:root[data-theme] .cs-family .plan-card__name { font-size:25px; }
:root[data-theme] .cs-family .plan-card__price { font-size:46px;letter-spacing:-.045em;margin-block:22px; }
:root[data-theme] .cs-family .plan-card__price > span { font-size:14px;letter-spacing:0; }
:root[data-theme] .cs-family :is(.plan-card__note,.plan-card__features,.pricing-footnote) { font-size:14px;line-height:1.7; }
:root[data-theme] .cs-family .plan-card__features li { padding-block:8px; }
:root[data-theme] .cs-family .pricing-footnote { max-width:95ch;margin:25px 0 0; }
:root[data-theme] .cs-family .auth-main { padding:44px 20px 60px; }
:root[data-theme] .cs-family :is(.auth-card,.recovery-card) { max-width:510px;padding:32px;border:1px solid var(--line);border-radius:12px;box-shadow:none;background:var(--surface); }
:root[data-theme] .cs-family :is(.auth-card h1,.recovery-card h1) { font-size:32px; }
:root[data-theme] .cs-family :is(.auth-card__intro p,.auth-form-help,.auth-provider-status,.recovery-card p) { font-size:14px;line-height:1.6; }
:root[data-theme] .cs-family .auth-field input { min-height:48px;border-radius:7px; }
:root[data-theme] .cs-family .auth-form { gap:20px; }
:root[data-theme] .cs-family .account-nav { border-radius:10px;box-shadow:none; }
:root[data-theme] .cs-family .account-nav a { padding:11px 14px;font-size:14px; }
:root[data-theme] .cs-family .settings-card { border:1px solid var(--line);border-radius:11px;box-shadow:none;background:var(--surface);padding:26px;margin-bottom:22px; }
:root[data-theme] .cs-family .settings-card__heading { margin-bottom:20px; }
:root[data-theme] .cs-family :is(.settings-heading h1,.account-heading h1) { font-size:clamp(28px,3vw,38px); }
:root[data-theme] .cs-family .settings-card h2 { font-size:21px; }
:root[data-theme] .cs-family :is(.settings-card input,.settings-card select) { min-height:46px;border-radius:7px; }
:root[data-theme] .cs-family .contact-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
:root[data-theme] .cs-family .contact-grid > article { padding:27px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:none; }
:root[data-theme] .cs-family .contact-grid h2 { font-size:23px; }
:root[data-theme] .cs-family .contact-grid p { font-size:14px;line-height:1.7; }
:root[data-theme] .cs-family .contact-symbol { background:var(--surface-soft);color:var(--accent-dark);border-radius:8px; }
:root[data-theme] .cs-family .policy-main { width:min(900px,calc(100% - var(--design-gutter) * 2));padding:44px 0 65px; }
:root[data-theme] .cs-family .policy-main > article { max-width:78ch; }
:root[data-theme] .cs-family .policy-main h1 { font-size:clamp(32px,4vw,46px);margin-bottom:22px; }
:root[data-theme] .cs-family .policy-main h2 { font-size:24px;line-height:1.35;margin:38px 0 14px;padding-top:20px;border-top:1px solid var(--line);scroll-margin-top:100px; }
:root[data-theme] .cs-family .policy-main :is(p,li) { font-size:16px;line-height:1.8; }
:root[data-theme] .cs-family .policy-nav { font-size:13px;gap:12px 22px;flex-wrap:wrap; }
:root[data-theme] .cs-family :is(.about-hero,.about-purpose,.about-principles,.about-expectations,.about-next) { padding-block:38px; }
:root[data-theme] .cs-family .about-hero h1 { font-size:clamp(32px,4.3vw,52px); }
:root[data-theme] .cs-family .faq-main { padding-block:35px 55px; }
:root[data-theme] .cs-family .faq-section details { border-radius:9px;box-shadow:none; }
:root[data-theme] .cs-family .faq-section summary { min-height:50px; }
:root[data-theme] .cs-family .admin-layout { max-width:1360px;gap:28px;margin-top:30px; }
:root[data-theme] .cs-family .admin-sidebar { padding:20px 14px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent; }
:root[data-theme] .cs-family .admin-sidebar a { border-radius:6px;font-size:14px;padding:10px 12px; }
:root[data-theme] .cs-family .admin-heading h1 { font-size:32px; }
:root[data-theme] .cs-family :is(.admin-panel,.admin-total,.admin-table-wrap,.admin-email-summary) { border-radius:10px;box-shadow:none; }
:root[data-theme] .cs-family .admin-email-grid { gap:18px; }
:root[data-theme] .cs-family .admin-email-panel { padding:22px; }
:root[data-theme] .cs-family :is(.admin-email-number,.admin-total strong) { font-size:32px; }
:root[data-theme] .cs-family :is(.admin-note,.admin-fetched) { font-size:13px;line-height:1.65; }
:root[data-theme] .cs-family :is(.admin-table th,.admin-table td) { padding:12px 14px;font-size:13px; }
:root[data-theme] .cs-family .admin-notice { overflow-wrap:anywhere; }
:root[data-theme] .cs-family [data-admin-support] { min-width:0;max-width:100%; }
:root[data-theme] .cs-family [data-admin-support] a { white-space:normal;overflow-wrap:anywhere; }
@media(max-width:900px) {
 :root[data-theme] .cs-family .contact-grid { grid-template-columns:1fr; }
 :root[data-theme] .cs-family .admin-layout { grid-template-columns:1fr; }
 :root[data-theme] .cs-family .admin-sidebar { border:1px solid var(--line);border-radius:10px;padding:14px; }
 :root[data-theme] .cs-family .admin-sidebar nav { display:flex;flex-wrap:wrap;gap:6px; }
}
@media(max-width:700px) {
 :root[data-theme] .cs-family .pricing-grid { grid-template-columns:1fr;gap:20px; }
 :root[data-theme] .cs-family .plan-card { padding:24px; }
 :root[data-theme] .cs-family .plan-card--featured { padding:23px; }
 :root[data-theme] .cs-family .plan-card__price { font-size:39px; }
 :root[data-theme] .cs-family .plan-card__note { font-size:13px; }
 :root[data-theme] .cs-family .auth-main { padding:28px 18px 44px; }
 :root[data-theme] .cs-family :is(.auth-card,.recovery-card) { padding:25px 22px; }
 :root[data-theme] .cs-family :is(.auth-card h1,.recovery-card h1) { font-size:28px; }
 :root[data-theme] .cs-family .settings-card { padding:22px 18px; }
 :root[data-theme] .cs-family .settings-card__heading { flex-wrap:wrap;gap:12px; }
 :root[data-theme] .cs-family .policy-main { padding-top:28px; }
 :root[data-theme] .cs-family .policy-main :is(p,li) { font-size:15px;line-height:1.8; }
 :root[data-theme] .cs-family .policy-main h2 { font-size:22px;margin-top:30px; }
 :root[data-theme] .cs-family .admin-layout { width:calc(100% - 32px);gap:20px; }
 :root[data-theme] .cs-family .admin-heading h1 { font-size:28px; }
 :root[data-theme] .cs-family .admin-email-panel { padding:18px; }
}
