/* Auth pages */
.gc-auth-body   { background: #1e2235; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.gc-auth-wrap   { display: flex; width: 900px; max-width: 100%; min-height: 560px; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.4); }
.gc-auth-left   { background: #1e2235; width: 42%; display: flex; flex-direction: column; justify-content: space-between; padding: 36px; position: relative; overflow: hidden; border-right: 1px solid rgba(255,255,255,0.06); }
.gc-auth-watermark { position: absolute; bottom: -40px; right: -30px; width: 280px; height: 280px; opacity: 0.07; pointer-events: none; }
.gc-auth-right  { background: #fff; flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 48px 44px; }
.gc-auth-right h2 { font-family: 'Libre Baskerville', serif; font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.gc-auth-right .gc-auth-sub { font-size: 13px; color: #666880; margin: 0 0 28px; }
.gc-auth-tagline p { font-family: 'Libre Baskerville', serif; font-size: 17px; color: rgba(255,255,255,0.85); line-height: 1.55; font-style: italic; margin: 0 0 10px; }
.gc-auth-tagline small { font-size: 11px; color: rgba(255,255,255,0.3); letter-spacing: 1px; }
.gc-auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; }
.gc-auth-divider span { font-size: 10px; color: #9a9bb0; white-space: nowrap; letter-spacing: 1.5px; text-transform: uppercase; }
.gc-auth-divider hr { flex: 1; border: none; border-top: 1px solid #eee; margin: 0; }
.gc-portal-btns { display: flex; gap: 10px; }
.gc-portal-btn  { flex: 1; height: 40px; border: 1px solid #ddd; border-radius: 8px; background: transparent; font-size: 12px; font-weight: 500; color: #666880; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: all 0.15s; display: flex; align-items: center; justify-content: center; gap: 7px; text-decoration: none; }
.gc-portal-btn:hover { border-color: #a2c533; color: #a2c533; }
.gc-portal-dot  { width: 7px; height: 7px; border-radius: 50%; background: #a2c533; flex-shrink: 0; }
.gc-auth-forgot { text-align: right; margin: -6px 0 20px; }
.gc-auth-forgot a { font-size: 12px; color: #5f7a14; text-decoration: none; }
.gc-auth-forgot a:hover { text-decoration: underline; }
.gc-auth-submit { width: 100%; height: 46px; background: #1e2235; color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: background 0.15s; }
.gc-auth-submit:hover { background: #a2c533; }
.gc-auth-error  { background: #fcebeb; color: #A32D2D; border: 1px solid #f7c1c1; border-radius: 8px; padding: 10px 14px; font-size: 13px; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
/* Success notices (e.g. "password updated, sign in") were styled as errors - the
   class was referenced by the views but never defined. */
.gc-auth-error.gc-auth-success { background: #eaf3de; color: #3B6D11; border-color: #c0dd97; }
.gc-auth-error.gc-auth-info { background: #e6f1fb; color: #185FA5; border-color: #b5d4f4; }
/* The biometrics button sits directly in the flex column - don't let it shrink. */
.gc-auth-right > .gc-portal-btn { flex: none; }

/* On narrow viewports stack the two panels and let the card use full width. */
@media (max-width: 720px) {
  .gc-auth-wrap  { flex-direction: column; min-height: 0; }
  .gc-auth-left  { width: 100%; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 28px; }
  .gc-auth-right { padding: 32px 24px; }
  .gc-auth-watermark { display: none; }
}
