.ubc-member-access { padding-block: clamp(2rem, 5vw, 4.75rem); }
.ubc-member-access .container { max-width: 1180px; }
.ubc-auth-shell { display: grid; grid-template-columns: minmax(340px, 1fr) minmax(0, 1fr); overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 18px 55px rgba(45, 18, 74, .16); }
.ubc-auth-welcome { display: flex; min-height: 650px; flex-direction: column; padding: clamp(2rem, 5vw, 3.5rem); background: #4b2275; color: #fff; }
.ubc-auth-brand { display: flex; align-items: center; gap: 1rem; }
.ubc-auth-brand img { width: 54px; height: 54px; padding: .2rem; background: #fff; object-fit: contain; }
.ubc-auth-brand strong { display: block; font: 700 1.25rem/1.1 var(--font-display, Georgia, serif); }
.ubc-auth-brand small { display: block; margin-top: .25rem; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #f3ecfb; }
.ubc-auth-welcome blockquote { margin: clamp(2.5rem, 6vw, 4.5rem) 0 0; font: italic 600 clamp(1.35rem, 2.2vw, 1.8rem)/1.45 var(--font-display, Georgia, serif); }
.ubc-auth-welcome cite { display: block; margin-top: 1.15rem; font: 700 .82rem/1.2 var(--font-body, sans-serif); letter-spacing: .06em; text-transform: uppercase; color: #e7c95e; }
.ubc-auth-benefits { display: grid; gap: 1rem; margin: 2.5rem 0 0; padding: 0; list-style: none; font-weight: 600; }
.ubc-auth-benefits li { display: flex; align-items: center; gap: .9rem; }
.ubc-auth-benefits li::before { display: grid; width: 2.1rem; height: 2.1rem; flex: 0 0 2.1rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.14); color: #e7c95e; content: '✓'; font-weight: 800; }
.ubc-auth-privacy { margin: auto 0 0; padding-top: 2rem; font-size: .86rem; color: #f3ecfb; }
.ubc-auth-card { padding: clamp(2rem, 5vw, 3.5rem); }
.ubc-auth-tabs { display: grid; grid-template-columns: repeat(2, 1fr); padding: .25rem; border-radius: 999px; background: #f3ecfb; }
.ubc-auth-tabs button { min-height: 48px; border: 0; border-radius: 999px; background: transparent; color: #6c5c7a; font: 700 1rem var(--font-body, sans-serif); cursor: pointer; }
.ubc-auth-tabs button[aria-selected='true'] { background: #fff; color: #4b2275; box-shadow: 0 2px 8px rgba(45,18,74,.1); }
.ubc-auth-panel { max-width: 470px; margin: 2.5rem auto 0; }
.ubc-auth-panel h2 { margin: 0; color: #4b2275; font: 700 clamp(2.2rem, 4vw, 3.1rem)/1.12 var(--font-display, Georgia, serif); }
.ubc-auth-intro { margin: .45rem 0 1.9rem; color: #6c5c7a; }
.ubc-auth-form { display: grid; gap: 1rem; }
.ubc-auth-form label { display: grid; gap: .45rem; color: #241531; font-size: .94rem; font-weight: 700; }
.ubc-auth-form input { width: 100%; min-height: 52px; border: 1px solid #d9cbeb; border-radius: 10px; background: #faf6f1; color: #241531; font: inherit; padding: .75rem .9rem; }
.ubc-auth-form input:focus { border-color: #4b2275; outline: 3px solid rgba(75,34,117,.16); }
.ubc-auth-form input::placeholder { color: #8b7a99; }
.ubc-auth-form button[type='submit'] { width: 100%; min-height: 52px; margin-top: .35rem; border: 0; border-radius: 10px; background: #c9a227; color: #241a00; font: 700 1rem var(--font-body, sans-serif); cursor: pointer; }
.ubc-auth-form button[type='submit']:hover, .ubc-auth-form button[type='submit']:focus { background: #d6ad34; }
.ubc-auth-consent { grid-template-columns: auto 1fr; align-items: start; color: #6c5c7a !important; font-size: .82rem !important; font-weight: 500 !important; line-height: 1.5; }
.ubc-auth-consent input { width: 1.1rem; min-height: 1.1rem; margin-top: .15rem; accent-color: #4b2275; }
.ubc-auth-switch { margin: 1.5rem 0 0; text-align: center; color: #6c5c7a; }
.ubc-auth-switch button { border: 0; background: transparent; color: #4b2275; font: 700 inherit; cursor: pointer; }
.ubc-auth-staff { margin: 1.25rem 0 0; padding-top: 1.25rem; border-top: 1px dashed #d9cbeb; text-align: center; }
.ubc-auth-staff a { color: #4b2275; font-weight: 700; }
.ubc-auth-panel[hidden] { display: none; }
@media (max-width: 820px) { .ubc-auth-shell { grid-template-columns: 1fr; } .ubc-auth-welcome { min-height: auto; } .ubc-auth-privacy { margin-top: 2.5rem; } }
@media (max-width: 520px) { .ubc-member-access .container { padding-inline: 0; } .ubc-auth-shell { border-radius: 0; } .ubc-auth-welcome, .ubc-auth-card { padding: 1.6rem; } .ubc-auth-welcome blockquote { margin-top: 2rem; } .ubc-auth-benefits { margin-top: 2rem; } .ubc-auth-tabs button { font-size: .9rem; } }
