:root { --red:#ed0000; --ink:#080808; --panel:#161616; --line:#303030; --muted:#a2a2a2; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; padding-top:112px; background:var(--ink); color:#f7f7f7; font-family:Inter, sans-serif; }
.site-header { width:100%; height:112px; background:#0b0b0b; border-bottom:1px solid #1f1f1f; position:fixed; top:0; left:0; z-index:1030; }
.navbar { height:100%; }
.brand-mark { width:142px; height:108px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#050505; border:1px solid #240000; box-shadow:0 0 17px rgba(236,0,0,.12) inset; color:#fff; text-decoration:none; line-height:.75; }
.brand-mark .rds { color:#e51818; font-family:'Barlow Condensed',sans-serif; font-size:49px; font-weight:900; letter-spacing:-3px; text-shadow:1px 1px #fff; }
.brand-mark .jr { position:absolute; transform:translate(-39px,-18px) rotate(-18deg); font-family:'Playfair Display',serif; font-style:italic; font-size:31px; color:#fff; }
.brand-mark small { margin-top:7px; font:8px 'DM Mono',monospace; letter-spacing:4px; }
.brand-mark em { margin-top:3px; font:italic 15px 'Playfair Display',serif; color:#e73535; }
.brand-mark { background:#000 url('images/jrds-logo.jpg') center / contain no-repeat; }
.brand-mark > * { display:none; }
.brand-logo-image { width:100%; height:100%; object-fit:contain; }
.nav-link { color:#aaa !important; font:600 12px 'DM Mono',monospace; letter-spacing:.7px; padding:10px 17px !important; }
.nav-link:hover { color:#fff !important; }
.btn-red { background:var(--red); border:1px solid var(--red); border-radius:1px; color:#fff; font:700 12px 'DM Mono',monospace; letter-spacing:.3px; padding:13px 25px; }
.btn-red:hover { background:#bf0000; border-color:#bf0000; color:#fff; }
.auth-page { min-height:calc(100vh - 112px); display:grid; grid-template-columns:minmax(280px, .85fr) minmax(480px, 1.15fr); }
.auth-brand { position:relative; min-height:100%; padding:54px clamp(32px, 6vw, 90px); overflow:hidden; display:flex; flex-direction:column; background:linear-gradient(135deg, #110000, #080808 58%); border-right:1px solid #2c1717; }
.auth-brand::before { content:""; position:absolute; inset:0; opacity:.65; background-image:linear-gradient(rgba(173,0,0,.12) 1px, transparent 1px),linear-gradient(90deg, rgba(173,0,0,.12) 1px, transparent 1px); background-size:45px 45px; }
.auth-brand::after { content:""; position:absolute; right:-100px; bottom:-145px; width:380px; height:380px; border:2px solid #9a0000; transform:rotate(30deg); opacity:.7; }
.auth-logo, .auth-brand-copy { position:relative; z-index:1; }
.auth-logo { width:142px; height:108px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#050505; border:1px solid #470000; box-shadow:0 0 17px rgba(236,0,0,.2) inset; color:#fff; text-decoration:none; line-height:.75; }
.auth-logo .rds { color:#e51818; font:900 49px 'Barlow Condensed',sans-serif; letter-spacing:-3px; text-shadow:1px 1px #fff; }
.auth-logo .jr { position:absolute; transform:translate(-39px,-18px) rotate(-18deg); font:italic 31px 'Playfair Display',serif; color:#fff; }
.auth-logo em { margin-top:3px; color:#e73535; font:italic 15px 'Playfair Display',serif; }
.auth-logo small { margin-top:7px; font:8px 'DM Mono',monospace; letter-spacing:4px; }
.auth-logo { background:#000 url('images/jrds-logo.jpg') center / contain no-repeat; }
.auth-logo > * { display:none; }
.auth-logo-image { width:100%; height:100%; object-fit:contain; }
.auth-brand-copy { margin-top:auto; max-width:440px; padding-top:80px; }
.auth-kicker { margin:0 0 16px; color:#f01616; font:600 11px 'DM Mono',monospace; letter-spacing:1.5px; }
.auth-kicker::before { content:""; display:inline-block; width:22px; margin:0 11px 3px 0; border-top:1px solid #f01616; }
.auth-brand h1 { margin:0 0 21px; font:900 clamp(3.8rem, 6vw, 5.7rem)/.84 'Barlow Condensed',sans-serif; letter-spacing:-2px; text-transform:uppercase; }
.auth-brand h1 span { color:var(--red); }
.auth-brand p { margin:0; max-width:365px; color:#c9c9c9; font-size:14px; line-height:1.7; }
.auth-form-area { display:flex; align-items:center; justify-content:center; padding:48px 28px; background:#111; }
.auth-form { width:min(100%, 440px); }
.auth-form h2 { margin:0 0 10px; font:900 clamp(2.8rem, 4vw, 3.8rem)/.9 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.auth-form > p { margin:0 0 32px; color:var(--muted); font-size:13px; line-height:1.65; }
.auth-status { min-height:20px; margin:-16px 0 18px !important; color:#ff7a7a !important; font-size:12px !important; }
.auth-status[data-type="success"] { color:#7ee29b !important; }
.auth-form label { display:block; margin:0 0 8px; color:#d9d9d9; font:600 10px 'DM Mono',monospace; letter-spacing:1px; text-transform:uppercase; }
.auth-form .form-control { min-height:49px; margin-bottom:19px; border:1px solid var(--line); border-radius:1px; background:#0b0b0b; color:#fff; box-shadow:none; font-size:14px; }
.auth-form .form-control:focus { border-color:#af0000; box-shadow:0 0 0 3px rgba(237,0,0,.12); }
.auth-form .form-control::placeholder { color:#666; }
.password-field { position:relative; margin-bottom:19px; }
.password-field .form-control { margin-bottom:0; padding-right:70px; }
.password-toggle { position:absolute; top:50%; right:12px; transform:translateY(-50%); display:grid; width:26px; height:26px; place-items:center; padding:0; border:0; color:#e73535; background:transparent; }
.password-icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.password-toggle:hover { color:#fff; }
.password-toggle:focus-visible { outline:1px solid #e73535; outline-offset:3px; }
.auth-options { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:2px 0 27px; color:#aaa; font-size:12px; }
.auth-options a, .auth-switch a { color:#ff3434; text-decoration:none; }
.auth-options a:hover, .auth-switch a:hover { color:#fff; }
.auth-options .form-check-input { border-color:#5a5a5a; border-radius:0; background-color:#0b0b0b; box-shadow:none; }
.auth-options .form-check-input:checked { background-color:var(--red); border-color:var(--red); }
.auth-submit { width:100%; min-height:51px; border:1px solid var(--red); border-radius:1px; background:var(--red); color:#fff; font:700 12px 'DM Mono',monospace; letter-spacing:.6px; }
.auth-submit:hover { background:#bf0000; border-color:#bf0000; }
.auth-submit:disabled { cursor:not-allowed; opacity:.65; }
.auth-switch { margin:27px 0 0; color:#999; font-size:13px; text-align:center; }
.auth-back { display:inline-block; margin-top:34px; color:#9c9c9c; font:600 10px 'DM Mono',monospace; letter-spacing:1px; text-decoration:none; }
.auth-back:hover { color:#fff; }
.site-footer { padding:50px 0 23px; background:#080808; border-top:1px solid #242424; }
.footer-inner { padding:0 64px; }
.footer-logo { width:265px; height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#050505; border:1px solid #240000; box-shadow:0 0 22px rgba(236,0,0,.2); color:#fff; text-decoration:none; line-height:.78; }
.footer-logo-main { position:relative; color:#e51818; font:900 74px/.7 'Barlow Condensed',sans-serif; letter-spacing:-5px; text-shadow:1px 1px #fff; }
.footer-logo-jr { position:absolute; left:-31px; top:-19px; transform:rotate(-18deg); color:#fff; font:italic 49px 'Playfair Display',serif; }
.footer-logo-name { margin-top:16px; color:#e73535; font:italic 29px 'Playfair Display',serif; }
.footer-logo small { margin-top:12px; color:#eee; font:10px 'DM Mono',monospace; letter-spacing:5px; }
.footer-logo { background:#000 url('images/jrds-logo.jpg') center / contain no-repeat; }
.footer-logo > * { display:none; }
.footer-about { max-width:270px; margin:14px 0 0; color:#9c9c9c; font-size:11px; line-height:1.7; }
.footer-heading { margin:1px 0 17px; color:var(--red); font:700 10px 'DM Mono',monospace; letter-spacing:2px; }
.footer-links { display:grid; gap:10px; }.footer-links a, .footer-address { color:#979797; font-size:11px; line-height:1.4; text-decoration:none; }.footer-links a:hover { color:#fff; }.footer-address { margin:0 0 8px; line-height:1.85; }.footer-address a { color:#fff; text-decoration:none; }.footer-directions { color:#ff1b1b; font:700 10px 'DM Mono',monospace; letter-spacing:.5px; text-decoration:none; }.footer-bottom { margin-top:39px; padding-top:17px; border-top:1px solid #252525; color:#858585; font-size:9px; }
@media (max-width:991.98px) { body { padding-top:82px; } .site-header { height:82px; } .brand-mark { width:102px; height:81px; } .brand-mark .rds { font-size:38px; } .brand-mark .jr { transform:translate(-30px,-15px) rotate(-18deg); font-size:24px; } .brand-mark em { font-size:10px; } .brand-mark small { font-size:6px; letter-spacing:2px; } .navbar-collapse { background:#101010; padding:14px; margin:0 -12px; border-bottom:1px solid #292929; } .nav-link { padding:10px 0 !important; } .auth-page { min-height:calc(100vh - 82px); } .footer-inner { padding:0 28px; } }
@media (max-width: 767.98px) { .auth-page { min-height:unset; display:block; } .auth-brand { min-height:275px; padding:28px; } .auth-brand > .auth-logo { transform:scale(.78); transform-origin:top left; } .auth-brand-copy { margin-top:27px; padding-top:0; } .auth-brand h1 { font-size:48px; } .auth-brand p { font-size:12px; } .auth-form-area { padding:48px 26px; } }
