:root{--navy:#071a25;--navy2:#0a2532;--panel:#fff;--ink:#102b37;--muted:#6b7e87;--line:#d9e3e8;--cyan:#19b8d4;--cyan2:#078ca8;--green:#20c98b;--red:#d9475c}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif;background:#eef3f5;color:var(--ink)}
button,input{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.15fr) minmax(420px,.85fr)}
.welcome-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#061923 0%,#0a2a38 58%,#0b3545 100%);color:#fff;padding:42px 7vw 46px;display:flex;flex-direction:column;justify-content:space-between}
.welcome-panel:before,.welcome-panel:after{content:"";position:absolute;border-radius:50%;border:1px solid #27bad239;pointer-events:none}
.welcome-panel:before{width:560px;height:560px;right:-180px;bottom:-230px}.welcome-panel:after{width:310px;height:310px;right:-70px;bottom:-105px;background:#19b8d40b}
.brand{display:flex;align-items:center;gap:15px;position:relative;z-index:1}.brand-mark{border:1px solid var(--cyan);color:#7deaff;letter-spacing:2px;font-size:11px;font-weight:800;padding:10px 12px}
.brand strong{display:block;font-size:19px;letter-spacing:2px}.brand small{display:block;color:#8bb8c8;font-size:9px;letter-spacing:1.7px;margin-top:4px}
.welcome-copy{max-width:650px;position:relative;z-index:1}.eyebrow{margin:0 0 12px;color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:1.8px}.welcome-copy h1{font-size:clamp(42px,5.1vw,74px);line-height:1.04;letter-spacing:-2.6px;margin:0 0 26px}.welcome-copy>p:last-child{max-width:610px;color:#b5ced8;font-size:17px;line-height:1.7}
.trust-row{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.trust-row span{border:1px solid #3d6675;background:#0a2632a6;color:#b8d0da;padding:9px 12px;font-size:11px}
.signin-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px;background:linear-gradient(160deg,#fff,#f3f7f8)}
.signin-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 70px #17384619;padding:42px}
.signin-card h2{font-size:30px;letter-spacing:-.8px;margin:0 0 8px}.subtle{color:var(--muted);line-height:1.5;margin:0 0 30px}.signin-card label{display:block;font-size:12px;font-weight:700;margin:18px 0 7px}
.signin-card input{width:100%;height:48px;border:1px solid #c8d5db;border-radius:6px;background:#fbfdfe;color:var(--ink);padding:0 13px;outline:0;transition:.18s}.signin-card input:focus{border-color:var(--cyan2);box-shadow:0 0 0 3px #19b8d41c}
.password-field{position:relative}.password-field input{padding-right:65px}.password-field button{position:absolute;right:7px;top:7px;height:34px;border:0;background:transparent;color:var(--cyan2);font-size:10px;font-weight:800;cursor:pointer}
.primary{width:100%;height:50px;margin-top:24px;border:0;border-radius:6px;background:linear-gradient(135deg,var(--cyan2),#08677d);color:#fff;font-weight:800;letter-spacing:.5px;cursor:pointer;box-shadow:0 9px 22px #078ca82b}.primary:hover{filter:brightness(1.06)}.primary:disabled{opacity:.6;cursor:wait}
.form-error{min-height:20px;margin:12px 0 0;color:var(--red);font-size:12px}.security-note{border-top:1px solid var(--line);padding-top:18px;margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.mobile-brand{display:none}.signin-panel footer{color:#81939b;font-size:11px;margin-top:28px}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.welcome-panel{display:none}.signin-panel{min-height:100vh;padding:28px}.mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:40px}.mobile-brand b{letter-spacing:1.5px}.brand-mark{color:var(--cyan2)}.signin-card{box-shadow:0 18px 55px #17384614;padding:34px}}
@media(max-width:520px){.signin-panel{padding:18px}.signin-card{border-radius:8px;padding:28px 22px}.signin-card h2{font-size:26px}}
