/* Branded two-panel sign-in page (App\Filament\Auth\Login). Colours follow the college theme. */
.utc-login {
    --login-brand: var(--utc-brand, #1f2a44);
    --login-gold: var(--utc-brand-3, #c9a227);
    min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 32px 16px;
    font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif;
    background:
        radial-gradient(1000px 500px at 85% -10%, color-mix(in srgb, var(--login-brand) 18%, transparent), transparent 60%),
        radial-gradient(800px 400px at -10% 110%, color-mix(in srgb, var(--utc-brand-2, #7a1f2b) 14%, transparent), transparent 60%),
        #eef0f7;
}
.dark .utc-login { background: #0f1220; }
.utc-login-card {
    width: 100%; max-width: 1040px; display: grid; grid-template-columns: 1fr 1fr; border-radius: 28px; overflow: hidden;
    background: #fff; box-shadow: 0 30px 80px -30px rgba(15, 18, 45, .45); border-top: 3px solid color-mix(in srgb, var(--login-brand) 55%, #fff);
}
.dark .utc-login-card { background: #171a28; }

/* Left panel */
.utc-login-brand {
    position: relative; color: #fff; padding: 44px 44px 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px;
    background:
        radial-gradient(circle at 1px 1px, rgba(255,255,255,.07) 1px, transparent 0) 0 0 / 22px 22px,
        radial-gradient(600px 300px at 80% 0%, rgba(255,255,255,.10), transparent 60%),
        linear-gradient(160deg, color-mix(in srgb, var(--login-brand) 85%, #4b3fa0) 0%, color-mix(in srgb, var(--login-brand) 90%, #000) 100%);
}
.utc-login-identity { display: flex; align-items: center; gap: 18px; }
.utc-login-logo { flex: 0 0 64px; height: 64px; border-radius: 16px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.utc-login-logo img { width: 52px; height: 52px; object-fit: contain; }
.utc-login-logo span { font-weight: 700; color: var(--login-brand); font-size: 1.05rem; }
.utc-login-eyebrow { margin: 0; font-size: .7rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.utc-login-name { margin: 2px 0 0; font-size: 1.45rem; line-height: 1.2; font-weight: 700; }
.utc-login-tagline { margin: 30px 0 0; font-size: 1rem; line-height: 1.6; color: rgba(255,255,255,.88); }
.utc-login-points { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: .9rem; color: rgba(255,255,255,.92); }
.utc-login-points li { display: flex; align-items: center; gap: 10px; }
.utc-login-tick { flex: 0 0 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--login-gold) 80%, #fff); color: var(--login-brand); font-size: .7rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.utc-login-other { margin: 0 0 12px; font-size: .7rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.utc-login-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.utc-login-link { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.05); color: #fff; text-decoration: none; transition: background .15s, border-color .15s; }
.utc-login-link:hover { background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.3); }
.utc-login-link strong { display: block; font-size: .88rem; font-weight: 600; }
.utc-login-link small { display: block; font-size: .74rem; color: rgba(255,255,255,.68); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.utc-login-link-icon { flex: 0 0 36px; height: 36px; border-radius: 10px; background: rgba(255,255,255,.12); display: inline-flex; align-items: center; justify-content: center; color: var(--login-gold); }
.utc-login-link-icon svg { width: 20px; height: 20px; }
.utc-login-help { margin: 18px 0 0; font-size: .78rem; color: rgba(255,255,255,.6); }

/* Right panel */
.utc-login-form { padding: 56px 52px 40px; color: #111827; }
.dark .utc-login-form { color: #f4f4f5; }
.utc-login-welcome { margin: 0; font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: color-mix(in srgb, var(--login-brand) 70%, #6d5bd0); }
.dark .utc-login-welcome { color: var(--login-gold); }
.utc-login-heading { margin: 10px 0 0; font-size: 2rem; line-height: 1.15; font-weight: 700; letter-spacing: -.01em; }
.utc-login-sub { margin: 10px 0 26px; font-size: .95rem; line-height: 1.6; color: #6b7280; }
.dark .utc-login-sub { color: #a1a1aa; }
.utc-login-form .fi-btn { min-height: 46px; border-radius: 12px; font-weight: 600; }
.utc-login-form .fi-form-actions .fi-btn, .utc-login-form button[type="submit"].fi-btn {
    background: linear-gradient(135deg, color-mix(in srgb, var(--login-brand) 70%, #6d5bd0), var(--login-brand)); color: #fff;
    box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--login-brand) 80%, transparent);
}
.utc-login-form .fi-form-actions .fi-btn:hover, .utc-login-form button[type="submit"].fi-btn:hover { filter: brightness(1.1); }
.utc-login-form .fi-form-actions .fi-btn .fi-icon, .utc-login-form button[type="submit"].fi-btn .fi-loading-indicator { color: #fff; }
.utc-login-mobile-links { display: none; }
.utc-login-form .fi-input-wrp { border-radius: 10px; }
.utc-login-note { margin: 18px 0 0; font-size: .78rem; line-height: 1.5; color: #9ca3af; }
.utc-login-note a { color: color-mix(in srgb, var(--login-brand) 75%, #6d5bd0); font-weight: 600; text-decoration: underline; }
.dark .utc-login-note a { color: var(--login-gold); }

@media (max-width: 860px) {
    .utc-login { padding: 0; align-items: stretch; }
    .utc-login-card { grid-template-columns: 1fr; border-radius: 0; min-height: 100vh; }
    .utc-login-brand { padding: 28px 22px; gap: 22px; }
    .utc-login-tagline, .utc-login-points, .utc-login-brand-bottom { display: none; }
    .utc-login-mobile-links { display: block; }
    .utc-login-form { padding: 32px 22px; }
    .utc-login-heading { font-size: 1.6rem; }
}
@media (max-width: 420px) { .utc-login-links { grid-template-columns: 1fr; } }
