/* Auth pages */
.gc-auth-body   { background: #1e2235; min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.gc-auth-wrap   { display: flex; width: 900px; 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: #a2c533; text-decoration: none; }
.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; }
