/* FCNB theme: sign-in and password-reset screens (body.theme-fcnb-login).
   Loaded only when Settings > Backend Theme is "FCNB". Restyles the existing markup. */

body.theme-fcnb-login {
    min-height: 100vh; margin: 0; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    background:
        radial-gradient(900px 480px at 85% -10%, rgba(var(--b-primary-rgb, 250, 94, 1), .22), transparent 60%),
        radial-gradient(700px 420px at -10% 110%, rgba(42, 49, 88, .9), transparent 60%),
        var(--b-navy, #0C1028);
    color: #334155; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px 16px;
    -webkit-font-smoothing: antialiased;
}
.theme-fcnb-login h1, .theme-fcnb-login h2, .theme-fcnb-login h3, .theme-fcnb-login h4,
.theme-fcnb-login p, .theme-fcnb-login label, .theme-fcnb-login input, .theme-fcnb-login button, .theme-fcnb-login a { font-family: inherit; }

/* brand line above the card */
.theme-fcnb-login .fl-brand { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: #fff; text-decoration: none; }
.theme-fcnb-login .fl-brand img { width: 46px; height: 46px; object-fit: contain; background: #fff; border-radius: 12px; padding: 4px; box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .5); }
.theme-fcnb-login .fl-brand b { display: block; font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.theme-fcnb-login .fl-brand span { display: block; font-size: 12.5px; color: #9AA3C2; }

/* card */
.theme-fcnb-login .login { margin: 0 auto !important; max-width: 960px; border-radius: 20px !important; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .55); background: #fff; }
.theme-fcnb-login .login-content { padding: 40px 40px 28px !important; }
.theme-fcnb-login .login-content h3 { font-size: 28px !important; font-weight: 700; color: #0F172A; letter-spacing: -.02em; }
.theme-fcnb-login .login-content h3::after { content: ''; display: block; width: 36px; height: 4px; border-radius: 4px; background: var(--b-primary, #FA5E01); margin-top: 12px; }
.theme-fcnb-login .login-content p { color: #64748B !important; font-size: 14.5px !important; margin: 12px 0 26px !important; }
.theme-fcnb-login .form-label { font-weight: 600; font-size: 13px; color: #0F172A; margin-bottom: 6px; }
.theme-fcnb-login .form-control {
    height: 46px; border-radius: 11px !important; border: 1px solid #CBD2DE !important; font-size: 14.5px; padding: 10px 14px;
    box-shadow: none !important; transition: border-color .15s, box-shadow .15s;
}
.theme-fcnb-login .form-control:focus { border-color: var(--b-primary, #FA5E01) !important; box-shadow: 0 0 0 3px rgba(var(--b-primary-rgb, 250, 94, 1), .18) !important; }
.theme-fcnb-login .form-group { margin-bottom: 16px; }
.theme-fcnb-login input[type="checkbox"] { accent-color: var(--b-primary, #FA5E01); }
.theme-fcnb-login .checkbox { font-size: 13.5px; color: #334155; }
.theme-fcnb-login .forgotPass, .theme-fcnb-login .forgotPass:hover { color: #E05200 !important; text-decoration: none !important; font-weight: 600; }
.theme-fcnb-login .btn-inline, .theme-fcnb-login .login-form button[type="submit"], .theme-fcnb-login .reset-panel .btn {
    height: 48px; border-radius: 11px !important; background: var(--b-primary, #FA5E01) !important; border: 0 !important; color: #fff !important;
    font-weight: 700; font-size: 15px; letter-spacing: .01em; text-transform: capitalize; box-shadow: 0 10px 20px -10px rgba(var(--b-primary-rgb, 250, 94, 1), .8);
    transition: background .15s, transform .15s;
}
.theme-fcnb-login .btn-inline:hover, .theme-fcnb-login .login-form button[type="submit"]:hover, .theme-fcnb-login .reset-panel .btn:hover { background: #E05200 !important; transform: translateY(-1px); }
.theme-fcnb-login .alert { border-radius: 11px; font-size: 13.5px; }

/* photo side */
.theme-fcnb-login .login-banner { position: relative; overflow: hidden; }
.theme-fcnb-login .login-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(var(--b-navy-rgb, 12, 16, 40), .05) 30%, rgba(var(--b-navy-rgb, 12, 16, 40), .78)); pointer-events: none; }
.theme-fcnb-login .login-banner div {
    z-index: 1; bottom: 32px !important; width: 84% !important; border-radius: 16px; background: rgba(var(--b-navy-rgb, 12, 16, 40), .55) !important;
    border: 1px solid rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff;
}
.theme-fcnb-login .login-banner blockquote { color: #fff; font-size: 18px !important; font-weight: 600; font-style: normal; line-height: 1.45; margin-bottom: 10px !important; }
.theme-fcnb-login .login-banner label { color: var(--b-primary-300, #FFB27F); font-size: 13px !important; font-weight: 600; }
/* college crest at the top centre of the photo */
.theme-fcnb-login .login-banner .fl-crest {
    position: absolute; z-index: 2; top: 30px; left: 50%; transform: translateX(-50%);
    width: 112px; height: 112px; border-radius: 50%; background: #fff; padding: 8px; box-sizing: border-box;
    box-shadow: 0 18px 38px -12px rgba(var(--b-navy-rgb, 12, 16, 40), .55), 0 0 0 6px rgba(255, 255, 255, .35);
}
.theme-fcnb-login .login-banner .fl-crest img { width: 100% !important; height: 100% !important; object-fit: contain; border-radius: 50%; }
.theme-fcnb-login .fl-mobile-logo { display: none; }
@media (max-width: 767px) {
    .theme-fcnb-login .fl-mobile-logo { display: block; width: 76px; height: 76px; object-fit: contain; margin: 0 auto 16px; background: #fff; border-radius: 50%; padding: 5px; box-shadow: 0 10px 24px -10px rgba(var(--b-navy-rgb, 12, 16, 40), .45); }
}

/* password reset screens */
.theme-fcnb-login .reset-page { padding: 0 !important; width: 100%; }
.theme-fcnb-login .reset-panel { border-radius: 20px !important; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .55) !important; padding: 34px !important; }

.theme-fcnb-login .fl-foot { margin-top: 22px; color: #6F7896; font-size: 12px; text-align: center; }

@media (max-width: 767px) {
    .theme-fcnb-login .login-content { padding: 28px 22px 20px !important; }
    .theme-fcnb-login .login-content h3 { font-size: 24px !important; }
}

/* 2026-10-07: no scrolling where it is not needed. The picture fills the right half behind the crest and quote (cropped
   like a cover photo) instead of setting the card's height, so the card is as tall as the form. Short windows (laptops,
   125% text size) get a more compact form. */
@media (min-width: 768px) {
    .theme-fcnb-login .login { display: flex !important; align-items: stretch; }
    .theme-fcnb-login .login > .login-content, .theme-fcnb-login .login > .login-banner { flex: 1 1 50%; min-width: 0; float: none !important; }
    .theme-fcnb-login .login-banner > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
}
@media (min-width: 768px) and (max-height: 760px) {
    .theme-fcnb-login body, body.theme-fcnb-login { padding-top: 14px; padding-bottom: 14px; }
    .theme-fcnb-login .login-content { padding: 28px 36px 20px !important; }
    .theme-fcnb-login .login-content h3 { font-size: 24px !important; }
    .theme-fcnb-login .login-content p { margin: 8px 0 16px !important; }
    .theme-fcnb-login .form-group { margin-bottom: 12px; }
    .theme-fcnb-login .login-banner .fl-crest { width: 88px; height: 88px; }
    .theme-fcnb-login .fl-foot { margin-top: 12px; }
}
