/* JBN NEXUS — sign-in / register / password screens */
html, body.pace-done, body {
    min-height: 100vh;
}
html {
    color: #E2E8F5;
    background:
        radial-gradient(900px 520px at 12% 8%, rgba(47, 123, 255, .35), transparent 60%),
        radial-gradient(700px 480px at 92% 92%, rgba(124, 58, 237, .28), transparent 60%),
        linear-gradient(160deg, #0B1630 0%, #0E1D40 55%, #11285A 100%) !important;
    background-attachment: fixed !important;
}
body.pace-done, body.hold-transition {
    background: transparent !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans Devanagari", sans-serif !important;
}
body.pace-done::before {
    content: "";
    position: fixed; inset: 0; pointer-events: none;
    background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 44px 44px;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
    mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.right-col { position: relative; z-index: 1; }
.right-col a { color: #8CB4FF; }
.right-col a:hover { color: #fff; }

/* the sign-in card */
.right-col .tw-bg-white.tw-rounded-2xl, .right-col .tw-rounded-2xl.tw-bg-white {
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid rgba(255, 255, 255, .6) !important;
    border-radius: 24px !important;
    box-shadow: 0 40px 90px rgba(2, 8, 23, .55), 0 0 0 1px rgba(255, 255, 255, .06) !important;
    padding: 34px 34px 28px !important;
    color: #0F172A;
}
.right-col .tw-bg-white h1 { font-size: 26px !important; font-weight: 800 !important; letter-spacing: -.02em; color: #0F172A !important; }
.right-col .tw-bg-white h2 { font-size: 14px !important; color: #64748B !important; font-weight: 500 !important; }
.right-col .tw-bg-white label, .right-col .tw-bg-white .tw-text-black { color: #334155 !important; }
.right-col .tw-bg-white input[type=text],
.right-col .tw-bg-white input[type=password],
.right-col .tw-bg-white input[type=email],
.right-col .tw-bg-white input.tw-border {
    height: 50px !important;
    border: 1px solid #D5DEEB !important;
    border-radius: 12px !important;
    background: #F8FAFD !important;
    padding: 0 14px !important;
    color: #0F172A !important;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.right-col .tw-bg-white input:focus { border-color: #7FA9FF !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(31, 107, 255, .14) !important; outline: none; }
.right-col button[type=submit] {
    background: linear-gradient(135deg, #1F6BFF, #3B82F6) !important;
    border: 0 !important;
    border-radius: 14px !important;
    height: 52px !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
    box-shadow: 0 14px 30px rgba(31, 107, 255, .4) !important;
    transition: transform .1s, box-shadow .15s;
}
.right-col button[type=submit]:hover { box-shadow: 0 18px 38px rgba(31, 107, 255, .5) !important; transform: translateY(-1px); }
.right-col .tw-bg-white a { color: #1F6BFF !important; background: none !important; -webkit-text-fill-color: #1F6BFF !important; }
.right-col .tw-bg-white .help-block { color: #DC2626; }
.right-col .tw-bg-white .tw-dw-checkbox { border-radius: 6px; }
/* top-left logo + links on the dark canvas */
.right-col img { filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .35)); }
footer, .right-col + footer { color: #7E90B3; }
