:root{--navy:#112239;--ink:#192b3d;--muted:#6f7c8c;--teal:#0c8b83;--line:#e6eaf0;--paper:#f5f7fa;--gold:#f4c17a}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;line-height:1.55}
.login{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);min-height:100vh}
.login-hero{position:relative;overflow:hidden;background:linear-gradient(122deg,#152840 7%,#213c55 65%,#31596a);color:#fff;padding:38px 46px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.login-hero:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-160px;top:-260px;z-index:-1}
.brand{display:flex;align-items:center;gap:13px}
.brand-symbol{height:43px;width:43px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:linear-gradient(140deg,#54d8ba,#238999);color:#fff;font-family:Georgia,serif;font-size:30px;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.brand strong{font-size:14px;letter-spacing:.1em;display:block;line-height:1.25}
.brand small{display:block;color:#95abc0;font-size:10px;letter-spacing:.12em;margin-top:5px;text-transform:uppercase}
.hero-copy{max-width:520px;position:relative;z-index:1;padding:40px 0 140px}
.tagline{display:inline-flex;border:1px solid #577485;background:rgba(255,255,255,.08);color:#c5ede4;border-radius:30px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:6px 11px}
.hero-copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.036em;line-height:1.13;font-size:clamp(30px,3.6vw,48px);margin:16px 0 0}
.island{position:absolute;right:0;bottom:-3px;width:78%;max-width:620px;opacity:.96;z-index:0;pointer-events:none}
.login-panel{display:grid;place-items:center;padding:32px 24px}
.card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 35px rgba(20,38,61,.07);padding:34px 32px 28px}
.mobile-brand{display:none;margin-bottom:22px}
.mobile-brand strong{color:var(--navy)}
h1{font-size:26px;letter-spacing:-.05em;margin:0 0 6px}
.lead{margin:0 0 22px;color:var(--muted);font-size:13px}
label{display:block;font-size:11px;font-weight:780;margin:14px 0 6px}
input[type=text],input[type=password]{width:100%;height:46px;border:1px solid #dde5eb;border-radius:11px;background:#fff;padding:0 14px;font:inherit;font-size:15px;color:var(--ink);outline:none}
input:focus{border-color:#36b6a7;box-shadow:0 0 0 3px #d9f5ed}
button{width:100%;height:46px;margin-top:22px;border:1px solid var(--teal);background:var(--teal);color:#fff;border-radius:11px;font:inherit;font-weight:750;font-size:14px;cursor:pointer;box-shadow:0 4px 13px rgba(9,136,124,.17)}
button:hover{background:#087d75}
button:focus-visible{outline:3px solid #85d5bd;outline-offset:2px}
.alert{background:#fff0e7;border:1px solid #f3d3bd;color:#9a5326;border-radius:11px;padding:10px 13px;font-size:12px;margin-bottom:6px}
.fine{font-size:11px;color:#8794a1;margin:18px 0 0;text-align:center}
@media(max-width:860px){.login{grid-template-columns:1fr}.login-hero{display:none}.mobile-brand{display:flex}.login-panel{align-items:start;padding:36px 16px}.card{padding:28px 22px}}
