/* RCC composition and theme. Controls retain their shared GSS implementations. */
:root {
  --rcc-ink: #20262e; --rcc-gold: #ffce00;
  --color-brand-orange: #26323b; --color-brand-orange-hover: #111a22;
  --color-border-focus: #806600;
  --gss-text-input-bg: #fff; --gss-text-input-border: #d9dce0; --gss-text-input-border-focus: #806600;
  --gss-checkbox-checked-bg: #26323b; --gss-checkbox-checked-border: #26323b;
  --gss-checkbox-focus-ring: rgba(128,102,0,.22); --gss-checkbox-hover-bg: #fff9df;
}
.rcc-auth { background: #f8f7f4; color: var(--rcc-ink); min-height: 100svh; margin: 0; overflow: auto; }
.rcc-auth [hidden] { display: none !important; }
.rcc-login-layout { min-height: 100svh; display: grid; grid-template-columns: minmax(480px,49%) minmax(0,1fr); padding: 18px; gap: 18px; }
.rcc-login-panel { display: flex; flex-direction: column; min-width: 0; padding: 26px 48px 17px; }
.rcc-brand { display: flex; gap: 12px; align-items: center; }
.rcc-brand img { flex: 0 0 44px; }
.rcc-brand strong { display: block; font-size: 17px; font-weight: 600; letter-spacing: -.4px; }
.rcc-brand div > span { display: block; font-size: 12px; color: #626970; margin-top: 2px; }
.rcc-monogram { font-size: 10px; font-weight: 600; letter-spacing: 1px; border: 1px solid #d6d8d8; padding: 4px 7px; border-radius: 5px; margin-left: 5px; }
.rcc-form-area { width: 100%; max-width: 390px; margin: auto; padding: 62px 0 40px; }
.rcc-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: 1.65px; color: #697077; margin: 0 0 16px; }
.rcc-auth h1 { font-size: clamp(30px,3vw,42px); line-height: 1.12; font-weight: 600; letter-spacing: -1.6px; margin: 0 0 15px; }
.rcc-description { color: #697077; font-size: 14px; line-height: 1.75; margin: 0 0 32px; max-width: 345px; }
.rcc-field { margin-bottom: 20px; }
.rcc-field label { font-size: 12px; font-weight: 600; display: block; margin-bottom: 8px; }
.rcc-label-row { display: flex; align-items: center; justify-content: space-between; margin-top: -5px; min-height: 30px; }
.rcc-label-row label { margin: 0; }
.rcc-label-row .btn { padding: 0; font-size: 11px; color: #656c74; height: 30px; }
.rcc-auth .gss-text-input__wrapper { height: 48px; padding: 0 14px; border-radius: 8px; }
.rcc-auth .gss-text-input__field { font-size: 13px; }
.rcc-auth .gss-text-input__field::placeholder { color: #959ba3; }
.rcc-auth .gss-text-input__icon { min-width: 26px; min-height: 30px; background: transparent; border: 0; padding: 0; }
.rcc-remember { margin: 4px 0 27px; }
.rcc-auth .gss-check-box { align-items: center; }
.rcc-auth .gss-check-box__control { margin-top: 0; }
.rcc-auth .gss-check-box__label { font-size: 12px; font-weight: 400; color: #626970; }
.rcc-full { width: 100%; }
.rcc-auth .btn--lg { font-size: 13px; font-weight: 600; }
.rcc-auth .btn:disabled { opacity: .5; cursor: wait; transform: none; box-shadow: none; }
.rcc-auth .btn:focus-visible, .rcc-auth [role="button"]:focus-visible { outline: 3px solid #aa8700; outline-offset: 3px; }
.rcc-divider { display: flex; align-items: center; gap: 16px; color: #858b92; font-size: 10px; margin: 22px 0; }
.rcc-divider::before, .rcc-divider::after { content: ''; flex: 1; height: 1px; background: #e0e1e1; }
.rcc-account-note { text-align: center; font-size: 11px; color: #797f86; margin: 24px 0 0; }
.rcc-connection { font-size: 11px; color: #777e85; min-height: 16px; margin-top: 18px; text-align: center; }
.rcc-connection:empty { margin-top: 0; min-height: 0; }
.rcc-login-footer { display: flex; justify-content: space-between; gap: 10px; font-size: 10px; color: #8a8e93; }
.rcc-login-footer > span { display: inline-flex; align-items: center; gap: 5px; }
.rcc-login-footer svg { width: 12px; height: 12px; }
.rcc-visual { position: relative; border-radius: 15px; overflow: hidden; min-height: 660px; background: #b79964; isolation: isolate; }
.rcc-visual-photo { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; z-index: -3; }
.rcc-visual-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(20,20,14,.22),transparent 36%,rgba(19,23,20,.12) 45%,rgba(19,23,20,.84) 100%); z-index: -2; }
.rcc-visual-top { display: flex; align-items: center; justify-content: space-between; color: white; margin: 33px; gap: 16px; }
.rcc-visual-top > svg { width: 23px; height: 23px; }
.rcc-visual-tag { font-size: 9px; letter-spacing: 1.2px; display: flex; align-items: center; gap: 9px; font-weight: 500; }
.rcc-visual-tag > span { width: 6px; height: 6px; background: var(--rcc-gold); border-radius: 50%; }
.rcc-visual-caption { position: absolute; bottom: 50px; left: 44px; right: 35px; color: #fff; }
.rcc-visual-caption p { font-size: 9px; letter-spacing: 1.8px; font-weight: 600; color: var(--rcc-gold); margin: 0 0 17px; }
.rcc-visual-caption h2 { font-size: clamp(38px,4vw,61px); font-weight: 500; line-height: 1.06; letter-spacing: -2px; margin: 0 0 21px; }
.rcc-visual-caption > span { font-size: 12px; color: #e0e2dc; line-height: 1.6; }
.rcc-message { font-size: 12px; line-height: 1.6; padding: 12px 14px; border-radius: 8px; margin-bottom: 18px; }
.rcc-message--error { background: #fff0ee; color: #9e3326; border: 1px solid #f0c8c1; }
.rcc-message--success { background: #eaf6ef; color: #24613d; border: 1px solid #bdd9c7; }
.rcc-back { margin-top: 12px; }
.rcc-session-layout { max-width: 1050px; margin: auto; padding: 50px 30px; }
.rcc-session-card { max-width: 560px; margin: 100px auto 40px; padding: 38px; border: 1px solid #dedfdd; background: white; border-radius: 16px; }
.rcc-session-card h1 { font-size: 32px; }
.rcc-session-card p { line-height: 1.7; color: #697077; font-size: 14px; }
.rcc-profile-summary { padding: 17px 0; margin: 20px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.rcc-profile-summary strong, .rcc-profile-summary span { display: block; }
.rcc-profile-summary span { margin-top: 5px; font-size: 12px; color: #697077; }
@media (min-width:1550px) { .rcc-login-panel { padding-left: 70px; padding-right: 70px; } }
@media (max-width:1000px) { .rcc-login-layout { grid-template-columns: minmax(410px,53%) minmax(0,1fr); padding: 12px; } .rcc-login-panel { padding: 22px 24px; } .rcc-visual-caption { left: 28px; } .rcc-visual-top { margin: 26px; } .rcc-visual-tag { font-size: 8px; letter-spacing: .6px; } }
@media (max-width:760px) { .rcc-login-layout { display: block; padding: 0; } .rcc-login-panel { min-height: 100svh; padding: 28px 26px 22px; } .rcc-visual { display: none; } .rcc-form-area { padding: 60px 0 50px; } .rcc-auth h1 { font-size: 36px; } .rcc-session-card { margin-top: 55px; padding: 25px; } }
@media (min-width:761px) and (max-height:820px) {
  .rcc-form-area { padding: 24px 0 14px; }
  .rcc-eyebrow { margin-bottom: 12px; }
  .rcc-auth h1 { margin-bottom: 12px; }
  .rcc-description { margin-bottom: 24px; line-height: 1.5; }
  .rcc-field { margin-bottom: 16px; }
  .rcc-remember { margin-bottom: 20px; }
  .rcc-divider { margin: 16px 0; }
  .rcc-account-note { margin-top: 16px; }
  .rcc-visual { min-height: 600px; }
  .rcc-visual-caption { bottom: 35px; }
}
@media (prefers-reduced-motion:reduce) { .rcc-auth *, .rcc-auth *::before, .rcc-auth *::after { transition: none !important; animation: none !important; } }
