/* Member app and admin screens. Shares colours, buttons and fields with style.css. */
body.app{background:var(--lilac)}
.appbar{background:var(--night);color:var(--cream)}
.appbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.appbar nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.appbar nav a,.appbar nav button{font:inherit;color:var(--cream);background:none;border:0;cursor:pointer;text-decoration:none;padding:8px 12px;border-radius:999px;opacity:.9}
.appbar nav a:hover,.appbar nav button:hover{opacity:1;background:rgba(247,239,227,.12)}
.appbar nav a[aria-current="page"]{background:rgba(247,239,227,.18);opacity:1}
.badge{display:inline-block;min-width:1.4em;text-align:center;background:var(--gold);color:#2a1a3b;border-radius:999px;font-size:.8rem;font-weight:700;padding:0 6px;margin-left:4px}
.page{padding:30px 0 60px;min-height:70vh}
.page h1{font-size:clamp(1.6rem,3.4vw,2.2rem);margin-bottom:6px}
.page .lede{color:var(--mute);max-width:40em;margin-bottom:22px}
.box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.box.narrow{max-width:460px;margin:0 auto}
.box.mid{max-width:760px}
.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.tabs button{font:inherit;cursor:pointer;border:1.5px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:8px 16px}
.tabs button[aria-selected="true"]{background:var(--plum);border-color:var(--plum);color:#fff}
.stack{display:grid;gap:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.err{color:#9b1c1c;min-height:1.3em;font-size:.95rem}
.ok{color:var(--jade);font-weight:500}
.help{font-size:.88rem;color:var(--mute);font-weight:400}
textarea{font:inherit;color:var(--ink);background:#fff;border:1.5px solid #cdbfdb;border-radius:10px;padding:10px 11px;width:100%;resize:vertical;min-height:90px}
.btn-quiet{border-color:#cdbfdb;color:var(--ink);background:transparent}
.btn-quiet:hover{border-color:var(--ink)}
.btn-danger{background:#9b1c1c;color:#fff}
.btn-sm{padding:8px 16px;font-size:.93rem}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.notice{border-radius:14px;padding:14px 16px;margin-bottom:20px;border:1px solid}
.notice b{display:block;margin-bottom:2px}
.notice.wait{background:#fff6dd;border-color:#efd58c}
.notice.good{background:#e6f5f1;border-color:#9fd3c7}
.notice.stop{background:#fdecec;border-color:#f0b4b4}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:22px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:10px;align-content:start}
.prow{display:flex;gap:14px;align-items:center}
.av{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:700 1.2rem 'Fraunces',serif;color:#fff;flex:none}
.pcard h3{font-size:1.2rem}
.meta{color:var(--mute);font-size:.93rem}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:.8rem;border:1px solid var(--line);border-radius:999px;padding:2px 10px}
.tag.good{border-color:var(--jade);color:var(--jade)}
.tag.warm{border-color:var(--gold);color:#8a5a00;background:#fff6dd}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pcard .acts{display:flex;gap:8px;margin-top:2px}
.pcard .acts .btn{flex:1;text-align:center}
.star{flex:none;width:44px;padding:8px 0;font-size:1.1rem;line-height:1}
.empty{grid-column:1/-1;text-align:center;color:var(--mute);padding:40px 12px}
.more{text-align:center;margin-top:22px}
dialog{border:0;border-radius:20px;padding:0;max-width:560px;width:calc(100% - 28px);color:var(--ink);background:var(--card);box-shadow:0 24px 64px rgba(0,0,0,.4)}
dialog::backdrop{background:rgba(29,18,48,.6)}
dialog .dbody{padding:24px;display:grid;gap:14px;max-height:85vh;overflow:auto}
dialog h2{font-size:1.5rem}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.facts dt{color:var(--mute)}
.facts dd{margin:0}
.contact{background:#e6f5f1;border:1px solid #9fd3c7;border-radius:14px;padding:14px 16px}
.contact a{color:var(--ink);font-weight:700}
.closex{justify-self:end}
.list{display:grid;gap:14px}
.item{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:10px}
.item .top2{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.item .acts{display:flex;gap:8px;flex-wrap:wrap}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.stat b{display:block;font:700 1.8rem 'Fraunces',serif;color:var(--berry)}
.stat span{color:var(--mute);font-size:.92rem}
.mono{font-variant-numeric:tabular-nums}
.sr{position:absolute;left:-9999px}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--plum);color:#fff;padding:10px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50;max-width:calc(100% - 28px);text-align:center}
.toast.show{opacity:1}
@media (max-width:560px){.two{grid-template-columns:1fr}.box{padding:18px}.appbar nav a,.appbar nav button{padding:8px 10px}}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}

label.f{align-content:start}
h1:focus{outline:none}

/* Profile organization uses the existing palette and field/button styles. */
.member-nav{justify-content:flex-end;gap:12px!important}
.nav-group{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
.nav-account{border-left:1px solid var(--line);padding-left:12px}
.profile-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.profile-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}
.profile-sidebar{display:grid;gap:16px;position:sticky;top:20px;min-width:0}
.profile-sidebar .box{padding:18px}
.profile-summary{display:grid;gap:16px}
.profile-summary .prow{align-items:flex-start;gap:12px}
.profile-summary h2{font-size:1.15rem;overflow-wrap:anywhere;margin-bottom:6px}
.profile-summary .av{width:48px;height:48px}
.profile-summary .meta{font-size:.84rem;line-height:1.5;margin:0}
.profile-summary .btn{text-align:center}
.section-nav{display:grid;gap:4px}
.section-nav-label{font-size:.72rem;letter-spacing:.12em;font-weight:700;color:var(--mute);margin:0 0 8px}
.section-nav a{padding:9px 10px;text-decoration:none;color:var(--ink);border-radius:8px;font-size:.93rem}
.section-nav a:hover,.section-nav a:focus-visible{background:var(--lilac);text-decoration:underline}
.profile-checks{display:grid;gap:12px}
.profile-checks h2{font-size:1.1rem}
.profile-checks ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.profile-checks li{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.8rem}
.profile-checks .tag{font-size:.7rem;padding:2px 7px;white-space:nowrap}
.profile-checks>a{font-size:.85rem}
.profile-content,.profile-form{display:grid;gap:20px;min-width:0}
.profile-section{display:grid;gap:18px;scroll-margin-top:20px}
.section-heading{border-bottom:1px solid var(--line);padding-bottom:14px}
.section-heading h2{font-size:1.3rem;margin:0}
.section-heading .help{margin:7px 0 0;line-height:1.55}
.profile-section h2:focus{outline:none}
.profile-form .two{gap:18px}
.profile-form input,.profile-form select,.profile-form textarea{min-width:0}
.profile-form label.f{gap:7px}
.profile-form .help{line-height:1.55}
.phone-input{display:flex;align-items:stretch;gap:8px;min-width:0}
.phone-prefix{display:flex;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--lilac);flex:none}
.profile-save{display:grid;gap:10px}
.profile-save p{margin:0}
.profile-save .btn{justify-self:end;min-width:180px}
.account-detail{border-bottom:1px solid var(--line);padding-bottom:16px}
.account-detail:last-child{border:0;padding-bottom:0}
.account-detail summary{cursor:pointer;font-weight:700}
.search-panel{margin-bottom:22px}
.search-panel h2{font-size:1.2rem;margin-bottom:18px}
.browse-filters{margin-bottom:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.browse-filters .btn{justify-self:start;min-width:140px}
dialog.organized-profile{max-width:760px}
dialog.organized-profile .dbody{gap:20px;padding:28px}
dialog.organized-profile .facts{grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:10px 22px}
dialog.organized-profile .facts dd{overflow-wrap:anywhere}
dialog.organized-profile h3{font-size:1.15rem;margin-bottom:12px}
@media(min-width:1050px){.appbar .wrap:has(.member-nav){display:grid;grid-template-columns:1fr;padding-top:14px;padding-bottom:14px;gap:10px}.appbar .member-nav{justify-content:space-between;gap:16px!important}.appbar .member-nav .nav-account{border:0;padding-left:0}}
@media(max-width:900px){.profile-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.profile-sidebar .box{padding:14px}.profile-checks li{align-items:flex-start;flex-direction:column}.profile-form .two{grid-template-columns:1fr}.member-nav{justify-content:flex-start}.nav-account{border:0;padding-left:0}}
@media(max-width:700px){.profile-layout{grid-template-columns:minmax(0,1fr)}.profile-sidebar{position:static;grid-template-columns:1fr}.profile-summary{padding:18px!important}.profile-summary .prow{align-items:center}.profile-summary .btn{justify-self:start}.section-nav{display:flex;flex-wrap:wrap;gap:6px;padding:12px!important}.section-nav-label{width:100%;margin:0 4px 4px}.section-nav a{border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.8rem}.profile-checks ul{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-checks li{flex-direction:column;align-items:flex-start}.profile-checks{gap:10px}.profile-section{padding:18px}.profile-form .two{gap:16px}.profile-save .btn{width:100%;justify-self:stretch}.appbar .member-nav{gap:8px!important}.nav-group{gap:2px}.appbar nav a,.appbar nav button{font-size:.84rem;padding:7px 9px}.browse-filters{grid-template-columns:1fr 1fr}.browse-filters .btn{grid-column:1/-1;width:100%}.search-panel{padding:18px}dialog.organized-profile .dbody{padding:20px}dialog.organized-profile .facts{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9px 14px}}

.detail-section{border-bottom:1px solid var(--line);padding-bottom:18px}

/* Compact main navigation and account/help menus; existing colors only. */
.appbar .wrap:has(.clean-member-nav){display:flex;flex-wrap:nowrap;gap:28px;align-items:center;padding-top:14px;padding-bottom:14px}
.clean-member-nav{flex:1;min-width:0;justify-content:space-between;gap:14px!important}
.header-primary,.header-tools{display:flex;align-items:center;gap:4px}
.header-tools{margin-left:auto;gap:10px}
.header-menu{position:relative}
.header-menu summary{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;cursor:pointer;list-style:none;font-size:.93rem;white-space:nowrap}
.header-menu summary::-webkit-details-marker{display:none}
.header-menu summary:hover,.header-menu[open]>summary{background:rgba(247,239,227,.12)}
.account-initial{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--plum);color:var(--cream);font-weight:700}
.menu-chevron{font-size:1rem;line-height:1}
.header-menu-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:100;min-width:220px;padding:8px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 24px rgba(29,18,48,.15);display:grid;gap:3px}
.appbar .header-menu-panel a,.appbar .header-menu-panel button{color:var(--ink);border-radius:7px;padding:10px 12px;text-align:left;font-size:.9rem;opacity:1;white-space:nowrap;width:100%}
.appbar .header-menu-panel a:hover,.appbar .header-menu-panel button:hover,.appbar .header-menu-panel a:focus-visible{background:var(--lilac)}
.appbar .header-menu-panel a[aria-current="page"]{background:var(--lilac);font-weight:700}
.appbar .header-menu-panel .header-signout{border-top:1px solid var(--line);border-radius:0;margin-top:4px;padding-top:14px}
.member-subbar{background:var(--card);border-bottom:1px solid var(--line)}
.member-subbar[hidden]{display:none!important}
.member-subbar nav{display:flex;gap:22px;align-items:center;overflow-x:auto;scrollbar-width:none}
.member-subbar nav::-webkit-scrollbar{display:none}
.onboarding-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.onboarding-step{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:16px;align-items:center}
.step-number{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-weight:700}
.step-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.step-title h2{font-size:1.1rem;margin:0}
.onboarding-step .help{margin:8px 0 0;line-height:1.6}
.community-declaration{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.6}
.review-workspace{max-width:1060px}
.review-workspace .dbody{max-height:90vh}
.review-workspace h3{font-size:1.15rem}
.review-checks{list-style:none;padding:0;margin:0;display:flex;gap:14px;flex-wrap:wrap}
.review-checks li{display:flex;align-items:center;gap:7px}
.review-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.review-photo{display:grid;align-content:start;gap:10px}
.review-photo img{width:100%;max-width:230px;height:230px;object-fit:contain;border-radius:12px}
.review-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.review-comparison figure{margin:0}
.review-comparison img{width:100%;max-width:320px;max-height:340px;object-fit:contain;border-radius:12px}
.review-workspace .acts{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.onboarding-step{grid-template-columns:30px minmax(0,1fr);gap:12px}.onboarding-step>.btn{grid-column:2;justify-self:start}.review-comparison{grid-template-columns:1fr}.review-workspace .box{padding:16px}.review-workspace .facts{grid-template-columns:1fr}.review-workspace .facts dd{margin-bottom:10px}}
.member-subbar a{display:block;flex:none;padding:14px 0 11px;border-bottom:3px solid transparent;color:var(--mute);text-decoration:none;font-size:.88rem;white-space:nowrap}
.member-subbar a[aria-current="page"]{border-bottom-color:var(--berry);color:var(--berry);font-weight:700}
.member-subbar a:hover{color:var(--ink)}
@media(max-width:1050px){.appbar .wrap:has(.clean-member-nav){flex-wrap:wrap;gap:12px}.clean-member-nav{flex-basis:100%}.appbar .logo{font-size:1.3rem}}
@media(max-width:560px){.appbar .wrap:has(.clean-member-nav){gap:8px;padding-top:12px;padding-bottom:10px}.header-primary{gap:0}.header-tools{gap:0}.header-menu summary{font-size:.8rem;padding:6px;gap:5px}.account-initial{width:25px;height:25px}.clean-member-nav{gap:4px!important;flex-wrap:nowrap!important}.appbar .header-primary a{padding:8px 7px;font-size:.82rem}.header-menu-panel{top:calc(100% + 8px);min-width:205px;max-width:calc(100vw - 32px)}.header-tools .header-menu:first-child .header-menu-panel{right:-108px}.member-subbar nav{gap:20px}.member-subbar a{padding:12px 0 9px;font-size:.82rem}}

/* Let navigation groups wrap when their combined width exceeds a small screen. */
@media(max-width:560px){.clean-member-nav{flex-wrap:wrap!important;row-gap:8px!important}.header-primary,.header-tools{max-width:100%}}
/* Password visibility buttons keep the existing site palette. */
.password-control{position:relative;display:block;width:100%;min-width:0}.password-control input{width:100%;padding-right:50px!important}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}.password-toggle:hover{background:var(--bg)}.password-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.birth-date-fields{border:0;padding:0;margin:0;min-width:0}
.birth-date-fields legend{padding:0;margin-bottom:12px;font-weight:500}
.birth-date-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr);gap:12px}
.birth-date-grid .f{min-width:0}
.birth-date-grid select{width:100%;min-width:0}
/* Approved member photos and invitation controls */
.member-photo-gallery{margin:0;min-width:0;display:grid;gap:8px}
.member-photo-image{display:block;width:100%;height:300px;object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:12px}
.member-photo-controls{display:flex;justify-content:center;align-items:center;gap:14px}
.member-photo-controls .btn{min-width:44px;min-height:44px;font-size:1.3rem}
.member-photo-count{font-size:.86rem;min-width:48px;text-align:center}
.member-photo-empty{min-height:160px;display:grid;justify-items:center;align-content:center;gap:12px;border:1px solid var(--line);border-radius:12px}
.connection-actions{flex-wrap:wrap;align-items:center}
.organized-profile .member-photo-gallery{width:100%;max-width:460px;justify-self:center}
.organized-profile .member-photo-image{height:420px}
@media(max-width:500px){.cards{grid-template-columns:minmax(0,1fr)}.member-photo-image{height:320px}.organized-profile .member-photo-image{height:360px}.pcard .acts{flex-wrap:wrap}}
.profile-summary .member-photo-image{height:360px}
.location-credits{margin:24px 0 0;text-align:center;font-size:.75rem}
@media(min-width:701px) and (max-width:900px){.profile-summary .member-photo-image{height:280px}}
@media(max-width:700px){.profile-summary .member-photo-image{height:400px}}
.account-settings-page{max-width:760px;margin-bottom:20px}
/* Browse actions, city search and reviewed-profile seal */
.browse-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:6px}
.browse-filters .browse-actions .btn{grid-column:auto;min-height:48px;margin:0;width:auto}
.browse-city{min-width:0}
.profile-summary>.card-about{margin:0;overflow-wrap:anywhere}
.card-more{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.card-more:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:700px){.browse-actions{flex-direction:column;align-items:stretch}.browse-filters .browse-actions .btn{width:100%}}
/* Blue review seal stays with the name; photo review captions are redundant. */
.verified-mark{position:relative;display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:22px;height:22px;margin-left:7px;color:#1d9bf0;line-height:1;border-radius:50%;cursor:help}
.verified-mark svg{display:block;flex:none;width:22px;height:22px}
.verified-mark:focus-visible{outline:2px solid #1d9bf0;outline-offset:3px}
.verified-tooltip{display:none;position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);z-index:20;width:240px;max-width:70vw;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);box-shadow:0 6px 20px rgba(29,18,48,.15);font:400 .8rem/1.5 'DM Sans',sans-serif;text-align:left}
.verified-mark:hover .verified-tooltip,.verified-mark:focus .verified-tooltip{display:block}
.hobby-group{min-width:0;margin:0;padding:0;border:0}
.hobby-group+.hobby-group{padding-top:18px;border-top:1px solid var(--line)}
.hobby-group legend{float:left;width:100%;font-weight:700;font-size:1rem;margin-bottom:12px;padding:0}
.hobby-options{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.hobby-chip{font:inherit;font-size:.88rem;line-height:1.4;min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);cursor:pointer;max-width:100%}
.hobby-chip[aria-pressed="true"]{background:var(--berry);border-color:var(--berry);color:#fff}
.hobby-chip:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
.shared-interests{padding:12px;border-radius:12px;background:var(--lilac);border:1px solid var(--line);display:grid;gap:8px;font-size:.88rem}
.shared-interests .tag{background:var(--card);border-color:var(--berry);color:var(--ink)}
.profile-hobbies .other-interests{margin-top:12px}.other-interests .help{margin:0 0 8px}
/* Full-page admin review: one document scroll, bounded grid tracks. */
.review-page,.review-body,.review-main,.review-sidebar{min-width:0;display:grid;gap:20px}
.review-heading{display:grid;gap:10px}
.review-heading .meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.review-back{justify-self:start;color:var(--ink);font-weight:700}
.review-page>.err:empty{display:none}
.review-page h2,.review-page h3{font-size:1.25rem;margin:0}
.review-section-nav{display:flex;flex-wrap:wrap;gap:8px}
.review-section-nav button{font:inherit;font-size:.86rem;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--card);color:var(--ink);cursor:pointer}
.review-section-nav button:hover{background:var(--lilac)}
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.review-sidebar{position:sticky;top:20px}
.review-page .box{min-width:0;scroll-margin-top:20px}
.review-page .review-checks{display:grid;gap:14px}
.review-page .review-checks li{display:flex;justify-content:space-between;gap:10px;align-items:start;font-size:.88rem}
.review-page .review-checks .tag{flex:none}
.review-page .facts{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:10px 18px}
.review-page .facts dt,.review-page .facts dd,.review-page p,.review-page figcaption{overflow-wrap:anywhere}
.review-page .acts{display:flex;gap:10px;flex-wrap:wrap}
.review-page input,.review-page select,.review-page textarea{min-width:0;max-width:100%}
.review-page .review-photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.review-page .review-photo{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px}
.review-page .review-photo img{max-width:none;width:100%;height:260px;background:var(--lilac)}
.review-page .review-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.review-page .review-comparison figure{min-width:0;display:grid;gap:10px;align-content:start}
.review-page .review-comparison img{display:block;width:100%;max-width:none;height:300px;max-height:none;background:var(--lilac);border:1px solid var(--line)}
.review-decision{border-top:3px solid var(--berry)}
.review-decision>.acts{padding-top:14px;border-top:1px solid var(--line)}
.review-page button:focus-visible,.review-back:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
@media(max-width:950px){.review-layout{grid-template-columns:minmax(0,1fr)}.review-sidebar{position:static;grid-row:1}.review-page .review-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.review-page .review-checks{grid-template-columns:1fr}.review-page .box{padding:18px}.review-page .facts{grid-template-columns:1fr;gap:4px}.review-page .facts dd{margin-bottom:10px}.review-page .review-comparison{gap:10px}.review-page .review-comparison img{height:210px}.review-page .acts .btn{flex:1 1 150px}.review-section-nav{gap:6px}.review-section-nav button{padding:8px 10px;font-size:.8rem}}
/* Optional dependent study fields stay hidden even inside grid layouts. */
.profile-form [hidden]{display:none!important}
/* Member profile: normal document scrolling, with a responsive gallery and details. */
.member-profile-page{min-width:0;max-width:1120px;margin-inline:auto}
.profile-page-body{display:grid;gap:24px}
.profile-back{justify-self:start;font-weight:600;text-decoration:none;padding:8px 0}
.member-profile-page h1{font-size:clamp(1.8rem,4vw,2.5rem);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.member-profile-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
.member-profile-photos{position:sticky;top:24px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.member-profile-sections{display:grid;gap:22px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.member-profile-page .facts{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:10px 18px}
.member-profile-page .facts dd,.member-profile-page p{overflow-wrap:anywhere}
.member-profile-page .member-photo-gallery{max-width:none}
.member-profile-page .member-photo-image{height:auto;aspect-ratio:3/4;max-height:560px;object-fit:contain}
.member-profile-page .contact{margin:0}
.member-profile-page .detail-section h3{font-size:1.2rem;margin:0 0 12px}
@media(max-width:700px){.member-profile-layout{grid-template-columns:minmax(0,1fr);gap:18px}.member-profile-photos{position:static;max-width:460px;width:100%;justify-self:center;box-sizing:border-box}.member-profile-sections{padding:18px}.member-profile-page .member-photo-image{max-height:440px}.profile-page-body{gap:18px}.member-profile-page .facts{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9px 12px}.member-profile-sections .btn{min-height:44px}}
.completion-summary progress{display:block;width:100%;height:14px;accent-color:var(--accent,#b51f61);margin:14px 0}.completion-count{font-size:1.1rem;margin:8px 0}.completion-count strong{font-size:1.6rem}.completion-summary .help{margin:10px 0 0}
