
:root{
  --brand-red:#E30613; --brand-navy:#0A2342; --brand-navy-deep:#071C3D;
  --brand-surface:#F5F7FA; --brand-white:#FFFFFF; --brand-muted:#64748B;
}
.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}
.brand-lockup img{display:block;object-fit:contain}
.brand-lockup-copy{display:flex;flex-direction:column;min-width:0;line-height:1.05}
.brand-lockup-name{font-weight:900;letter-spacing:-.03em;color:var(--brand-navy-deep)}
.brand-lockup-name .brand-n{color:var(--brand-red)}
.brand-lockup-tagline{font-size:.65rem;font-weight:700;color:var(--brand-muted);letter-spacing:.01em;margin-top:4px;white-space:nowrap}
.app.dark .brand-lockup-name,.dark .brand-lockup-name{color:#fff}
.app.dark .brand-lockup-tagline,.dark .brand-lockup-tagline{color:#cbd5e1}
.app-header{border-top:3px solid var(--brand-red)}
.app-header .brand{color:inherit}
.app-footer{position:relative;overflow:hidden}
.app-footer:before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand-navy),var(--brand-red),var(--brand-navy))}
.brand-footer-lockup{display:flex;align-items:center;gap:9px;text-align:left}
.brand-footer-lockup img{width:42px;height:42px;object-fit:contain}
.brand-footer-title{font-weight:900;color:var(--brand-navy-deep)}
.app.dark .brand-footer-title{color:#fff}
.brand-footer-tagline{font-size:.78rem;color:var(--brand-muted);font-weight:650}
.brand-login-shell{max-width:980px;margin:6vh auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);overflow:hidden;padding:0!important}
.brand-login-hero{padding:42px;background:linear-gradient(145deg,#071C3D 0%,#0A2342 58%,#E30613 145%);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:500px;position:relative;overflow:hidden}
.brand-login-hero:after{content:'';position:absolute;width:330px;height:330px;border-radius:50%;border:50px solid rgba(255,255,255,.055);right:-125px;bottom:-140px}
.brand-login-hero img{width:min(100%,360px);max-height:220px;object-fit:contain;object-position:left center;filter:drop-shadow(0 18px 26px rgba(0,0,0,.2));position:relative;z-index:1}
.brand-login-hero h1{font-size:2rem;margin:24px 0 8px;position:relative;z-index:1}.brand-login-hero h1 span{color:#ff3a45}
.brand-login-hero p{margin:0;opacity:.86;font-weight:650;position:relative;z-index:1}
.brand-login-form{padding:42px;display:flex;flex-direction:column;justify-content:center}
.brand-login-form .login-kicker{color:var(--brand-red);font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.brand-login-form h2{font-size:1.75rem;margin:8px 0 6px}.brand-login-form .login-subtitle{margin:0 0 24px;color:var(--brand-muted)}
.brand-login-form .btn.primary{background:var(--brand-red);border-color:var(--brand-red);font-weight:850;min-height:45px}
.brand-login-form input:focus{outline:2px solid color-mix(in srgb,var(--brand-red) 34%,transparent);border-color:var(--brand-red)}
.brand-page-kicker{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-red);font-weight:900}
@media(max-width:760px){.brand-login-shell{grid-template-columns:1fr;margin:18px auto}.brand-login-hero{min-height:240px;padding:28px}.brand-login-hero img{max-height:130px}.brand-login-hero h1{font-size:1.55rem;margin-top:12px}.brand-login-form{padding:28px}.brand-lockup-tagline{display:none}}
@media print{.app-header,.app-footer,.mobile-bottom-nav,.mobile-more-overlay{display:none!important}}
