:root { --navy:#07162f; --blue:#123765; --gold:#f2c14d; --saffron:#e59a18; --muted:#667085; --line:#dfe5ec; }
* { box-sizing: border-box; }
body { min-height: 100vh; margin: 0; background: #eef2f6; color: var(--navy); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(400px,.85fr); }
.login-story { min-height: 100vh; position: relative; padding: clamp(38px,5vw,72px); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: radial-gradient(circle at 75% 25%, #1f4b84, transparent 35%), linear-gradient(145deg, #07162f, #0b2448); color: white; }
.login-story::after { content:""; width:520px; height:520px; position:absolute; right:-190px; bottom:-230px; border:1px solid rgba(242,193,77,.32); border-radius:50%; box-shadow:0 0 0 80px rgba(255,255,255,.02),0 0 0 160px rgba(255,255,255,.018); }
.eyebrow { margin:0 0 12px; color:var(--gold); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.login-story h1 { max-width:680px; margin:0; font-family:Georgia,serif; font-size:clamp(38px,5vw,64px); line-height:1; letter-spacing:-.04em; }
.login-story p:last-child { max-width:580px; margin:20px 0 0; color:#b8c6da; font-size:15px; line-height:1.65; }
.cross { width:180px; height:105px; position:absolute; top:9%; right:8%; opacity:.65; }
.cross i { width:8px; height:8px; position:absolute; border-radius:50%; background:white; box-shadow:0 0 18px white; }
.cross i:nth-child(1){left:25%;top:45%}.cross i:nth-child(2){left:52%;top:15%}.cross i:nth-child(3){left:60%;top:70%}.cross i:nth-child(4){left:82%;top:40%}.cross i:nth-child(5){left:42%;top:82%}
.route { position:relative; z-index:2; width:max-content; padding:12px 16px; display:flex; gap:12px; align-items:center; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.06); font-size:12px; }
.route span { color:var(--gold); }
.login-card { padding:clamp(30px,5vw,64px); display:flex; flex-direction:column; justify-content:center; background:white; }
.brand { width:max-content; display:flex; align-items:center; gap:13px; color:var(--navy); text-decoration:none; }
.brand img { width:48px; height:48px; border-radius:14px; object-fit:cover; }
.brand span { font-family:Georgia,serif; font-size:24px; font-weight:900; }
.login-copy { margin:42px 0 26px; }
.login-copy .eyebrow { color:var(--saffron); }
.login-copy h2 { margin:0; font-family:Georgia,serif; font-size:clamp(32px,4vw,46px); letter-spacing:-.035em; }
.login-copy p:last-child { max-width:500px; margin:12px 0 0; color:var(--muted); font-size:15px; line-height:1.6; }
.login-form { display:grid; gap:16px; }
.login-form label { display:grid; gap:8px; color:#39445a; font-size:12px; font-weight:900; }
.login-form input { width:100%; min-height:48px; padding:0 14px; border:1px solid var(--line); border-radius:11px; background:white; color:var(--navy); font:inherit; outline:none; }
.login-form input:focus { border-color:#6785ae; box-shadow:0 0 0 3px rgba(31,77,136,.1); }
.signin-button { width:100%; min-height:50px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; border:0; border-radius:12px; background:var(--navy); color:white; font:inherit; font-weight:900; text-decoration:none; cursor:pointer; box-shadow:0 12px 26px rgba(7,22,47,.14); }
.signin-button:hover { background:var(--blue); }
.signin-button:disabled { opacity:.65; cursor:wait; }
.signin-button b { color:var(--gold); font-size:20px; }
.security-note { margin:20px 0 0; display:flex; gap:10px; color:var(--muted); font-size:11px; line-height:1.5; }
.security-note span { color:var(--saffron); }
.access-message { padding:13px 15px; border-radius:13px; background:#fff0f2; color:#8f2d42; font-size:12px; line-height:1.5; }
.back-link { margin-top:30px; color:var(--blue); font-size:12px; font-weight:800; text-decoration:none; }
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-story{min-height:34vh;padding:32px 7vw}.cross{display:none}.login-card{min-height:66vh;padding:36px 7vw}.login-copy{margin:30px 0 24px}.route{margin-top:28px}}
