/* RSA shared surfaces. Local, lightweight, and deliberately separate from sport maps and print. */
@media screen {
  :root {
    --rsa-bg:#f6f4f1; --rsa-surface:#fffefd; --rsa-ink:#302e2d;
    --rsa-muted:#68625e; --rsa-line:#e5dfd9; --rsa-red:#a6383e;
    --rsa-red-soft:#f5e8e7; --rsa-ease:cubic-bezier(.22,.7,.3,1);
    --bg:var(--rsa-bg); --ink:var(--rsa-ink); --text:var(--rsa-ink);
    --muted:var(--rsa-muted); --accent:var(--rsa-red); --accent2:#8f2c33;
    --accent-soft:var(--rsa-red-soft); --line:var(--rsa-line); --line2:#ece7e2;
    --soft:rgba(62,48,40,.08); --soft2:rgba(62,48,40,.14);
    --paper:var(--rsa-surface); --paper2:#f9f7f4; --card:var(--rsa-surface);
    --btn:var(--rsa-red); --radius:16px; --radius2:12px;
    --shadow:0 3px 16px rgba(54,40,31,.035); --shadow2:0 8px 28px rgba(54,40,31,.065);
  }
  html,body,body.compact-page,body.member-page,body.rsa-comp-public {background:var(--rsa-bg);color:var(--rsa-ink)}
  body {font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
  h1,h2,h3 {text-wrap:balance}
  p {text-wrap:pretty}
  :where(a,button,input,select,textarea,summary):focus-visible {outline:2px solid var(--rsa-red);outline-offset:4px}
  :where(button,.btn,.pill,.button,summary,.nav-item,.ws-tabs a,.member-sidebar nav a) {
    transition:background-color 160ms var(--rsa-ease),border-color 160ms var(--rsa-ease),box-shadow 160ms var(--rsa-ease),color 160ms var(--rsa-ease);
  }
  :where(.card,.panel,.summary,.contact-card,.certificate-card,.ws-dashboard-stats>a,.mobile-module,.mobile-activity) {
    background:var(--rsa-surface);border:1px solid var(--rsa-line);border-radius:16px;box-shadow:var(--shadow);
  }
  :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]),select,textarea) {
    background:#fffefd;color:var(--rsa-ink);border-color:#ccc3ba;border-radius:10px;
    transition:border-color 160ms ease,box-shadow 160ms ease;
  }
  :where(input,textarea)::placeholder {color:#79716a;opacity:1}
  :where(input,select,textarea):focus {border-color:var(--rsa-red);box-shadow:0 0 0 3px rgba(166,56,62,.09)}
  input[type=checkbox],input[type=radio] {accent-color:var(--rsa-red)}
  .pill,.button,.btn,button.primary {border-radius:10px;box-shadow:none;font-weight:600}
  .pill:not(.secondary),.primary,.btn-primary {background:var(--rsa-red);border-color:var(--rsa-red);color:#fff}
  .pill.secondary,.button.secondary,.btn-secondary {background:var(--rsa-surface);border-color:var(--rsa-line);color:var(--rsa-ink)}
  .pill:hover,.button:hover,button:hover {filter:none}
  .pill:not(.secondary):hover,.primary:hover {background:#8f2c33;color:#fff}
  .pill.secondary:hover,.button.secondary:hover {background:#f0ece7;border-color:#cfc5bc}
  .notice {border-radius:12px;box-shadow:none;line-height:1.55}
  .notice.warning {background:#fbf4e7;color:#745316;border-color:#e9d6b4}
  .notice.error,.notice.bad {background:#faeceb;color:#912f35;border-color:#e8c8c6}
  .notice.ok {background:#edf4ee;color:#356347;border-color:#ceded1}

  /* Public website: keep the familiar photo and logo, soften the surrounding chrome. */
  .compact-page .topbar,.compact-page .topbar.is-compact,.signup-site-header {background:var(--rsa-surface);border-bottom-color:var(--rsa-line)}
  .compact-page .topbar {box-shadow:0 2px 12px rgba(54,40,31,.025)}
  .compact-page .text-hero,.compact-page .events-shell,.compact-page .rg-kb-hero {padding-top:30px}
  .compact-page .text-hero h1,.compact-page .events-head h1,.compact-page .rg-kb-hero h1 {font-size:clamp(28px,3vw,36px);font-weight:650;letter-spacing:-.035em}
  .compact-page .text-lead,.compact-page .events-head p,.compact-page .rg-lead {color:var(--rsa-muted);font-size:15px;line-height:1.65}
  .compact-page .text-block {padding:24px 0;border-color:var(--rsa-line)}
  .compact-page .text-block h2 {font-size:20px;font-weight:600}
  .compact-page .text-block p {color:var(--rsa-muted);line-height:1.75}
  .compact-page .page-links a {border-bottom:1px solid #c88487;padding-bottom:3px;font-weight:550}
  .compact-page .events-row {border-color:var(--rsa-line);padding:22px 8px;border-radius:12px}
  .compact-page .events-main h2 {font-size:21px;font-weight:600}
  .contact-card {background:var(--rsa-surface);border-color:var(--rsa-line);border-radius:18px;padding:26px}
  .contact-email {font-size:clamp(18px,2.2vw,24px);border-bottom:1px solid #c88487}
  .footer {border-color:var(--rsa-line);background:#eeeae5}
  .hero-copy-home .hero-h1 {font-weight:650;letter-spacing:-.04em}
  body.home-hero-dark .topbar,body.home-hero-dark .topbar:not(.is-solid) {background:var(--rsa-surface);border-bottom:1px solid var(--rsa-line);backdrop-filter:none}
  body.home-hero-dark .topbar:not(.is-solid) .navlinks a {color:var(--rsa-ink)}
  body.home-hero-dark .topbar:not(.is-solid) .navlinks a:hover {background:#f0ebe5}
  body.home-hero-dark .topbar:not(.is-solid) .navlinks a[aria-current="page"] {color:var(--rsa-ink)}
  body.home-hero-dark .topbar:not(.is-solid) .actions .iconbtn {background:#f8f5f1;color:var(--rsa-ink);border-color:var(--rsa-line)}
  body.home-hero-dark .topbar:not(.is-solid) .langswitch .flagbtn {background:transparent;border-color:transparent;box-shadow:none}

  /* Backroom: clear hierarchy, calm navigation, compact information. */
  body:has(.sidebar) {background:var(--rsa-bg);color:var(--rsa-ink)}
  body:has(.sidebar) .topbar {background:var(--rsa-surface);border-color:var(--rsa-line);box-shadow:0 2px 12px rgba(54,40,31,.025)}
  .sidebar {background:#f0ece7;border-right-color:var(--rsa-line);padding:24px 12px;scrollbar-width:thin;scrollbar-color:#cfc6bd transparent}
  .sidebar .nav-item {color:#605953;border-radius:11px;padding:11px 13px;min-height:44px}
  .sidebar .nav-item:hover {background:#e9e2db;color:var(--rsa-ink)}
  .sidebar .nav-item.active {background:var(--rsa-surface);color:#8f2c33;box-shadow:0 2px 8px rgba(54,40,31,.045);font-weight:650}
  .sidebar-title,.sidebar-footer {color:#746b63;letter-spacing:1.2px}
  .content .card {background:var(--rsa-surface);border-color:var(--rsa-line);border-radius:16px;box-shadow:var(--shadow)}
  .content h1,.ws-heading h1 {font-size:30px;font-weight:650;letter-spacing:-.9px}
  .ws-heading {margin-bottom:24px;gap:20px}
  .ws-heading p {font-size:13px;color:var(--rsa-muted)}
  .ws-heading .ws-eyebrow,.ws-eyebrow {font-size:10px;letter-spacing:1.1px;color:#746b63}
  .ws-breadcrumb {margin-bottom:16px;color:var(--rsa-muted)}
  .ws-tabs {gap:4px;padding:5px;background:#eeebe6;border:1px solid #e5ded6;border-radius:12px;margin-bottom:22px}
  .ws-tabs a {padding:9px 13px;border:0;border-radius:8px;color:#655d56;font-weight:500;flex-shrink:0}
  .ws-tabs a:hover {background:#e5ded6;color:var(--rsa-ink)}
  .ws-tabs a[aria-current=page] {background:var(--rsa-surface);color:#912f35;box-shadow:0 1px 5px rgba(54,40,31,.07);font-weight:650}
  .ws-tabs a span {background:#eee9e3;color:#655d56;border-radius:5px}
  .ws-type-nav a[aria-current=page] {background:#383431}
  .ws-event {padding:20px 24px;gap:18px;border-color:#ece6df;transition:background-color 160ms ease}
  .ws-event:hover {background:#faf7f3}
  .ws-event-title h2 {font-size:16px;line-height:1.4;font-weight:600}
  .ws-event-title p,.ws-event-count span {font-size:12px;color:var(--rsa-muted)}
  .ws-date {background:#f4f0eb;border:0;border-radius:12px;min-width:60px}
  .ws-date strong {color:#6a4946;font-weight:600}.ws-date span {font-size:10px;color:#6b625a}
  .ws-status {font-size:10px;border-radius:5px;padding:3px 6px}
  .ws-filter {padding:20px 24px 0}.ws-list-caption {padding:12px 24px}
  .ws-dashboard-stats>a,.ws-stats>div {background:var(--rsa-surface);border:1px solid var(--rsa-line);border-radius:16px;box-shadow:var(--shadow)}
  .ws-dashboard-stats>a:first-child {background:#efe5e1;color:var(--rsa-ink);border-color:#e4d2cc}
  .ws-dashboard-stats strong,.ws-stats strong {font-size:32px;font-weight:600;color:var(--rsa-ink)}
  body .ws-dashboard-stats>a:first-child span,.ws-dashboard-stats span,.ws-stats span {color:var(--rsa-muted);font-size:12px}
  .ws-create,.ws-task {border-color:var(--rsa-line);border-radius:8px;transition:background-color 160ms ease}
  .ws-create:hover,.ws-task:hover {background:#f5f0ea}
  .ws-create b,.ws-task b {color:var(--rsa-red)}
  .content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea) {border-color:#cfc6bd;background:#fffefd;border-radius:10px;color:var(--rsa-ink)}
  .content table {border-color:var(--rsa-line)}
  .content th {background:#f4f0eb;color:#655d56;font-weight:600}
  .content td {border-color:#ece6df}
  .content .entry-card {border-color:var(--rsa-line);border-radius:12px;background:var(--rsa-surface)}
  .content .entry-bulkbar,.content .entry-detail summary {background:#f3eee8;color:var(--rsa-ink);border-radius:10px}
  .content .entry-run {border-color:var(--rsa-line)}
  .content .comp-note,.content .help {font-size:12px;line-height:1.65;color:var(--rsa-muted)}

  /* Member and registration forms use the same palette and controls. */
  .auth-main {margin:0 auto}
  .member-sidebar {background:transparent;border-color:var(--rsa-line)}
  .member-sidebar nav a {border-radius:10px;color:#655d56}
  .member-sidebar nav a[aria-current] {background:var(--rsa-red-soft);border-left:0;color:#912f35;font-weight:650}
  .member-main .panel,.member-main .summary {border-color:var(--rsa-line);border-radius:16px;background:var(--rsa-surface);box-shadow:var(--shadow)}
  .member-main .summary.dark {background:#efe5e1;color:var(--rsa-ink);border:1px solid #e4d2cc}
  .member-main .summary.dark span,.member-main .summary small {color:var(--rsa-muted)}
  .member-main .primary {background:var(--rsa-red);border:1px solid var(--rsa-red);border-radius:10px}
  .member-main .primary:hover {background:#8f2c33}
  .member-main .page-heading h1 {font-size:30px;font-weight:650}
  .member-main .auth-note h2 {font-size:22px;font-weight:600}
  .member-main .date-tile,.member-main .dog-initial {background:#f1e9e3;color:#76524b}
  .member-main .title-card,.member-main .certificate-card {border:1px solid var(--rsa-line);border-top:2px solid #bc7276;border-radius:14px;background:var(--rsa-surface)}
  .member-page .mobile-nav {background:var(--rsa-surface);border-color:var(--rsa-line)}
  .member-page .mobile-nav a[aria-current] {border:0;border-radius:10px;background:var(--rsa-red-soft);color:#912f35}
  .rsa-comp-public {--accent:var(--rsa-red);--line:var(--rsa-line);--muted:var(--rsa-muted)}
  .rsa-comp-public .pub-head h1 {color:var(--rsa-ink);font-weight:650;font-size:30px}
  .rsa-comp-public .card {background:var(--rsa-surface);border-radius:16px;border-color:var(--rsa-line);box-shadow:var(--shadow)}
  .rsa-comp-public .rg-signup .rg-dog {background:#f8f5f1;border-color:#e7dfd6;border-radius:14px}
  .rsa-comp-public .rg-lookup {background:var(--rsa-surface);border-color:var(--rsa-line);border-radius:10px}
  .rsa-comp-public .rg-step-title>span {background:var(--rsa-red-soft);color:#912f35}
  .rsa-comp-public :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {color:var(--rsa-ink);background:var(--rsa-surface);border-color:#cfc6bd;border-radius:10px}
  .rsa-comp-public .pill {border-radius:10px;background:var(--rsa-red);border-color:var(--rsa-red)}
  .rsa-comp-public .pill.secondary {background:var(--rsa-surface);color:var(--rsa-ink);border-color:var(--rsa-line)}
  .rsa-comp-public .signup-class-list span,.rsa-comp-public .tag-pill {background:#f0ebe5;color:#655d56;border-radius:7px}
  .rsa-comp-public .comp-note {color:var(--rsa-muted)}
  .rsa-comp-public .notice {background:#f6efe3;border-color:#e6d6ba;color:#6c522b;border-radius:12px}
  .rsa-comp-public .notice.ok {background:#edf4ee;border-color:#ceded1;color:#356347}

  body.rebel-page,body.rebel-login {background:var(--rsa-bg)}
  body[data-system="rsa"] .app {background:var(--rsa-bg)!important}
  .mobile-content .mobile-hero {background:#efe5e1;border:1px solid #e4d2cc;border-radius:16px;color:var(--rsa-ink);padding:22px}
  .mobile-content .mobile-hero p,.mobile-content .mobile-hero .mobile-eyebrow {color:var(--rsa-muted)}
  .rsa-profile-button {background:#f0e9e1;color:#76524b;border-color:var(--rsa-line)}
  body .bottom-nav {background:var(--rsa-surface)!important;border-color:var(--rsa-line)!important}
  body .bottom-nav a {color:var(--rsa-muted)!important}
  body .bottom-nav a.active {background:var(--rsa-red-soft)!important;color:#912f35!important}
  /* RSApp: no animation that delays interaction or scrolling. */
  .mobile-content .mobile-module,.mobile-content .mobile-activity {background:var(--rsa-surface);border-color:var(--rsa-line);border-radius:14px;box-shadow:var(--shadow)}
  .mobile-content .mobile-hero h1 {font-size:28px;font-weight:650;color:var(--rsa-ink)}
  .mobile-content .mobile-date {background:#f0e9e1;color:#76524b;border-radius:10px}
  .mobile-content .mobile-eyebrow {color:var(--rsa-muted);letter-spacing:1px}
  .rsa-compact-topbar {background:var(--rsa-surface);border-color:var(--rsa-line)}
  @media (hover:hover) {
    .summary:hover,.contact-card:hover,.ws-dashboard-stats>a:hover {border-color:#cdbfb4;box-shadow:var(--shadow2)}
    .compact-page .events-row:hover {background:#efeae4}
  }
  @media (prefers-reduced-motion:no-preference) {
    .ws-heading,.member-main>.page-heading,.compact-page .text-hero,.rsa-comp-public .pub-head {animation:rsa-arrive 280ms var(--rsa-ease) both}
    details[open]>:not(summary) {animation:rsa-disclose 160ms ease-out}
    @keyframes rsa-arrive {from{opacity:.7;translate:0 5px}to{opacity:1;translate:0 0}}
    @keyframes rsa-disclose {from{opacity:.5}to{opacity:1}}
  }
  @media(max-width:760px) {
    .content h1,.ws-heading h1,.member-main .page-heading h1,.rsa-comp-public .pub-head h1 {font-size:26px}
    .ws-tabs {border-radius:11px;gap:2px}.ws-tabs a {padding:10px 12px;min-height:42px}
    .ws-event {padding:18px;gap:12px}.ws-date {min-width:54px;width:54px}
    .content .card,.member-main .panel,.rsa-comp-public .card {border-radius:14px}
    .ws-filter {padding:18px 18px 0}.ws-dashboard-stats strong {font-size:28px}
    .contact-card {padding:21px}.compact-page .text-block h2 {font-size:20px}
    .ws-heading {align-items:flex-start}
  }
  @media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
  }
}

@media screen{.rg-class-choices{border:0;padding:0;margin:8px 0;min-width:0}.rg-class-choices legend{font-weight:650;margin-bottom:8px}.rg-signup .rg-start-choice{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e5dfd9;border-radius:10px;background:#fffefd;font-weight:500}.rg-start-choice:has(input:checked){background:#f5e8e7;border-color:#ba7479}.rg-start-choice:has(input:disabled){opacity:.6}.rg-start-choice span{display:flex;justify-content:space-between;gap:12px;flex:1}.rg-start-choice small{white-space:nowrap}.rg-total{padding:16px;border-radius:12px;background:#f0e9e3;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.rg-total strong{font-size:22px}.rg-total span{font-size:12px;color:#68625e}}

@media screen{.ws-person,.entry-card{padding:14px!important}.ws-person h3,.entry-card h3{font-size:16px!important;margin:0 0 4px}.ws-followup{padding:8px 0;display:flex;flex-wrap:wrap;gap:6px}.ws-followup form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;margin:4px 0}.ws-followup label{display:flex;align-items:center;gap:6px;font-size:12px}.ws-followup select{padding:7px!important;min-height:34px}.ws-followup button{font-size:12px;padding:7px 10px;min-height:34px}.ws-person-details summary,.entry-detail summary{font-size:13px;cursor:pointer}.ws-stats{gap:10px!important}.ws-people-filter{margin:12px 0!important}.ws-followup .ws-tag{font-size:11px}@media(max-width:600px){.ws-person-main{gap:8px!important}.ws-followup form{gap:8px}.ws-followup button{flex:1}.entry-filters{grid-template-columns:1fr!important}}}
