/* Shared RR page system. Page-specific content remains in its own stylesheet. */
:root { --rr-page-title:clamp(3rem,5vw,4rem); --rr-section-gap:32px; --rr-control-height:48px; }
body[data-portal-surface="member"] .main,
body[data-portal-surface="team"] .main { max-width:1320px; padding:40px 5% 64px; }
body[data-portal-surface="member"] .main h1,
body[data-portal-surface="team"] .main h1 { font:400 var(--rr-page-title)/1.15 Shadows; letter-spacing:0; overflow-wrap:anywhere; }
body[data-portal-surface="member"] .main :is(.page-heading,.rank-heading,.team-heading),
body[data-portal-surface="team"] .main :is(.page-heading,.team-heading) { margin-top:0; margin-bottom:var(--rr-section-gap); gap:24px; align-items:center; }
body[data-portal-surface="member"] .main :is(.page-heading,.rank-heading,.schedule-heading) h1,
body[data-portal-surface="team"] .main :is(.page-heading,.team-heading) h1 { margin:0; }
body[data-portal-surface="member"] .main .lead,
body[data-portal-surface="team"] .main .lead { font-size:1rem; line-height:1.65; margin-top:14px; max-width:680px; }
body[data-portal-surface="member"] .main .hand-note,
body[data-portal-surface="team"] .main .hand-note { letter-spacing:0; }
body[data-portal-surface="member"] .header { max-width:1320px; padding:16px 5%; gap:28px; }
body[data-portal-surface="member"] .header .brand img { width:176px; height:60px; object-fit:contain; }
body[data-portal-surface="member"] .header nav { gap:20px; }
body[data-portal-surface="member"] .header nav > a { display:flex; align-items:center; min-height:44px; padding:10px 2px; border-bottom:2px solid transparent; font-size:.9375rem; }
body[data-portal-surface="member"] .header nav > a[aria-current] { background:var(--paper); color:var(--espresso); border-bottom-color:var(--red); font-weight:500; }
body[data-portal-surface="member"] .header nav > a:hover { color:var(--red); background:var(--paper); }
.member-progress-inner { max-width:1320px; padding:10px 5%; gap:20px; }
.progress-heading { font-size:1.5rem; }
body[data-portal-surface="member"] button.text-link,
body[data-portal-surface="team"] button.text-link { background:var(--paper); border:0; border-radius:0; color:var(--espresso); min-height:44px; padding:8px 0; cursor:pointer; font-family:Franklin; }
body[data-portal-surface="member"] button.text-link:hover,
body[data-portal-surface="team"] button.text-link:hover { color:var(--red); }
input:disabled, select:disabled, textarea:disabled { opacity:1; color:var(--espresso); -webkit-text-fill-color:var(--espresso); }
input::placeholder, textarea::placeholder { color:var(--espresso); opacity:1; }
body[data-portal-surface="member"] :is(.resource-hub,.settings-shell,.notifications-shell) { max-width:none; }
body[data-portal-surface="member"] .button,
body[data-portal-surface="team"] .button { border:1px solid var(--espresso); border-radius:0; min-height:var(--rr-control-height); padding:12px 20px; gap:12px; background:var(--espresso); color:var(--paper); font:500 .9375rem/1.4 Franklin; text-decoration:none; }
body[data-portal-surface="member"] .button:hover,
body[data-portal-surface="team"] .button:hover { background:var(--ink); border-color:var(--ink); color:var(--paper); }
body[data-portal-surface="member"] .button.secondary,
body[data-portal-surface="team"] .button.secondary { background:var(--paper); color:var(--espresso); border-color:var(--espresso); }
body[data-portal-surface="member"] .button.secondary:hover,
body[data-portal-surface="team"] .button.secondary:hover { background:var(--pink); }
body[data-portal-surface="member"] .button.small,
body[data-portal-surface="team"] .button.small { min-height:44px; padding:10px 16px; font-size:.875rem; }
body[data-portal-surface="member"] .button:disabled,
body[data-portal-surface="team"] .button:disabled { opacity:1; background:var(--paper); color:var(--espresso); border-style:dashed; cursor:not-allowed; }
body[data-portal-surface="member"] :is(a,button,input,select,textarea,summary):focus-visible,
body[data-portal-surface="team"] :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--red); outline-offset:3px; }
body[data-portal-surface="member"] .main :is(.field,.settings-form,.stack-form) > label,
body[data-portal-surface="team"] .main :is(.field,.settings-form,.stack-form) > label { font-size:.875rem; line-height:1.5; }
body[data-portal-surface="member"] .main :is(.field,.settings-form) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
body[data-portal-surface="team"] .main :is(.field,.settings-form) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { border-radius:0; border-color:var(--espresso); font:400 1rem/1.5 Franklin; min-height:48px; max-width:100%; }
body[data-portal-surface="member"] .section-help { border-top:0; border-bottom:1px solid var(--espresso); padding:0 0 18px; margin:0 0 28px; }
body[data-portal-surface="member"] .section-help .hand-note { font-size:1.5rem; }
body[data-portal-surface="member"] .section-help-body { padding-top:16px; padding-bottom:4px; }
body[data-portal-surface="member"] .section-help-body p { font-size:.875rem; }
body[data-portal-surface="member"] .schedule-page .section-help { margin-top:28px; padding-top:0; }
body[data-portal-surface="member"] :is(.resource-hub,.resource-script-library,.gold-trainings) > a.text-link:first-child,
body[data-portal-surface="team"] .review-shell > a.text-link:first-child { display:inline-flex; align-items:center; min-height:44px; margin-bottom:18px; }
body[data-portal-surface="member"] .home-workspace { grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr); gap:24px; }
body[data-portal-surface="member"] .home-workspace > :is(.home-program,.home-next) { padding:32px; }
body[data-portal-surface="member"] .home-workspace h2 { font:400 clamp(2.25rem,3.3vw,3rem)/1.15 Caslon; letter-spacing:-.015em; margin-bottom:18px; }
body[data-portal-surface="member"] .home-workspace p { line-height:1.6; }
body[data-portal-surface="member"] .build-strip { padding:24px 28px; margin-top:32px; gap:24px; }
body[data-portal-surface="member"] .build-strip h2 { font:400 2rem/1.2 Caslon; }
body[data-portal-surface="member"] .resource-hub > .page-heading { margin:0 0 32px; }
body[data-portal-surface="member"] .resource-grid { gap:24px; margin-top:24px; }
body[data-portal-surface="member"] :is(.resource-program,.resource-card) { padding:28px; }
body[data-portal-surface="member"] .resource-program { min-height:280px; }
body[data-portal-surface="member"] .resource-program h2 { font-size:clamp(2.75rem,4vw,3.5rem); line-height:1.1; margin:20px 0 16px; }
body[data-portal-surface="member"] .resource-card h2 { font-size:2.25rem; margin:20px 0 16px; }
body[data-portal-surface="member"] .resource-toolkit { margin:32px 0; }
body[data-portal-surface="member"] .resource-tool-links > a { padding:24px; gap:12px; }
body[data-portal-surface="member"] .resource-membership > summary { padding:20px 24px; }
body[data-portal-surface="member"] .settings-layout { grid-template-columns:180px minmax(0,1fr); gap:32px; }
body[data-portal-surface="member"] .settings-content .settings-section { padding:26px 28px; margin-bottom:28px; }
body[data-portal-surface="member"] .settings-content .settings-section h2 { font-size:2rem; margin-bottom:22px; }
body[data-portal-surface="member"] .settings-identity { background:var(--paper); padding:0 0 22px; margin-bottom:22px; border-bottom:1px solid var(--pink); }
body[data-portal-surface="member"] .settings-sidebar > a { font-size:.875rem; min-height:44px; }
body[data-portal-surface="member"] .settings-content .help { font-size:.875rem; line-height:1.6; }
body[data-portal-surface="member"] .inbox-toolbar { margin-top:0; gap:16px; }
body[data-portal-surface="member"] .inbox-toolbar .text-link { font-size:.875rem; }
body[data-portal-surface="member"] .notification-item { padding:24px; }
body[data-portal-surface="member"] .notification-item h2 { font-size:2rem; }
body[data-portal-surface="member"] .notification-meta { font-size:.8125rem; }
body[data-portal-surface="member"] .notification-meta .notification-new { font-size:.75rem; }
body[data-portal-surface="member"] .sheet-heading { margin-bottom:28px; }
body[data-portal-surface="member"] .people-sheet .sheet-toolbar { padding:20px; }
body[data-portal-surface="member"] .sheet-add label.sr-only { width:1px; }
body[data-portal-surface="member"] .sheet-add input { min-height:48px; font-size:1rem; }
body[data-portal-surface="member"] .sheet-bottom { font-size:.8125rem; padding:16px 20px; }
body[data-portal-surface="member"] .contact-table:not(.import-table) th { font-size:.875rem; }
body[data-portal-surface="member"] .gold-program-hero { margin-bottom:28px; }
body[data-portal-surface="member"] .gold-program-hero h1 { margin-top:12px; }
body[data-portal-surface="member"] .gold-program-shell .today-surface h2 { font-size:clamp(2.3rem,3.4vw,3rem); line-height:1.15; }
body[data-portal-surface="member"] .training-week > summary { min-height:72px; padding:20px 8px; }
body[data-portal-surface="member"] .training-week > summary small { font-size:.8125rem; }
body[data-portal-surface="team"] .team-workspace-header { max-width:1320px; margin:auto; padding:16px 5%; }
body[data-portal-surface="team"] .team-work-queue { padding:28px; }
body[data-portal-surface="team"] .team-table th { font:500 .875rem/1.5 Franklin; letter-spacing:0; text-transform:none; padding:16px; }
body[data-portal-surface="team"] .team-table td { padding:20px 16px; }
body[data-portal-surface="team"] .team-table td span { font-size:.8125rem; line-height:1.5; }
body[data-portal-surface="team"] .team-tag { font-size:.8125rem; padding:6px 10px; }
body[data-portal-surface="team"] .team-filters :is(input,select) { min-height:48px; font-size:.9375rem; }
body[data-portal-surface="team"] .team-footnote { font-size:.875rem; line-height:1.6; }
body[data-portal-surface="team"] .review-decision h2 { font:400 2rem/1.25 Shadows; }
body[data-portal-surface="team"] .review-shell { max-width:none; }
body[data-portal-surface="team"] .review-facts { margin-top:0; }
body[data-portal-surface="team"] .review-facts dt { font-size:.8125rem; line-height:1.5; }
body[data-portal-surface="team"] .review-facts dd { font-size:1rem; line-height:1.6; }
.contact-form { border:1px solid var(--espresso); }
.site-footer { font-size:.875rem; }
@media (max-width:900px) {
  body[data-portal-surface="member"] .header { gap:20px; }
  body[data-portal-surface="member"] .header nav { gap:14px; }
  body[data-portal-surface="member"] .header nav > a { font-size:.875rem; }
}
@media (max-width:760px) {
  :root { --rr-section-gap:24px; }
  body[data-portal-surface="member"] .main, body[data-portal-surface="team"] .main { padding:28px 5% 48px; }
  body[data-portal-surface="member"] .header { padding:14px 5% 0; gap:10px; }
  body[data-portal-surface="member"] .header .brand img { width:154px; height:52px; }
  body[data-portal-surface="member"] .header nav { justify-content:space-between; gap:10px; flex-wrap:nowrap; overflow-x:auto; margin-top:6px; }
  body[data-portal-surface="member"] .header nav > a { flex:0 0 auto; padding:10px 0; }
  .member-progress-inner { padding:10px 5%; gap:12px; }
  .progress-heading { font-size:1.35rem; }
  body[data-portal-surface="member"] .home-workspace { grid-template-columns:1fr; gap:20px; }
  body[data-portal-surface="member"] .home-workspace > :is(.home-program,.home-next) { padding:24px; }
  body[data-portal-surface="member"] .build-strip { padding:24px; }
  body[data-portal-surface="member"] .resource-grid { grid-template-columns:1fr; }
  body[data-portal-surface="member"] :is(.resource-program,.resource-card) { padding:24px; }
  body[data-portal-surface="member"] .resource-tool-links > a { padding:22px; }
  body[data-portal-surface="member"] .settings-layout { grid-template-columns:1fr; gap:24px; }
  body[data-portal-surface="member"] .settings-content .settings-section { padding:22px; }
  body[data-portal-surface="member"] .inbox-toolbar { flex-wrap:wrap; }
  body[data-portal-surface="member"] .notification-item { padding:22px 16px; }
  body[data-portal-surface="member"] .people-sheet .sheet-toolbar { padding:16px; }
  body[data-portal-surface="team"] .team-workspace-header { padding:16px 5%; }
  body[data-portal-surface="team"] .team-work-queue { padding:24px; }
  body[data-portal-surface="team"] .review-shell .page-heading { flex-direction:column; align-items:flex-start; gap:12px; }
  body[data-portal-surface="team"] .review-facts > div { grid-template-columns:1fr; gap:6px; padding:14px 0; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; } }
