:root { color-scheme: light; --navy:#0b2b61; --blue:#315fcd; --pale:#eef4ff; --line:#dce7fb; --muted:#7485a5; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; color:#102b58; background:#f7faff; }
body { min-height:100vh; display:grid; place-items:center; padding:32px; }
.login-page { width:min(1120px,100%); }
.login-shell { width:min(1120px,100%); min-height:650px; display:grid; grid-template-columns:1.05fr .95fr; border:1px solid var(--line); border-radius:32px; overflow:hidden; background:#fff; box-shadow:0 32px 80px rgba(41,80,155,.13); }
.brand-panel { position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 70% 35%,#2f64ce 0,#173f91 32%,#0a2a61 72%,#071e47 100%); color:#fff; }
.brand-panel::after { content:""; position:absolute; inset:auto -10% -25% 20%; height:55%; border-radius:50%; background:rgba(112,161,255,.12); transform:rotate(-12deg); }
.orbit { position:absolute; width:430px; height:430px; border:1px solid rgba(181,207,255,.19); border-radius:50%; }
.orbit-one { left:-130px; top:-120px; }.orbit-two { width:610px; height:610px; right:-320px; bottom:-310px; }
.spark { position:absolute; right:13%; top:12%; font-size:40px; color:#f6bd50; }
.brand-copy { position:relative; z-index:1; text-align:center; }
.brand-copy b { display:grid; place-items:center; width:96px; height:96px; margin:0 auto 26px; border-radius:23px; color:#fff; background:linear-gradient(145deg,#5281e8,#173e98); font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:42px; font-weight:400; line-height:1; letter-spacing:-.04em; box-shadow:0 18px 40px rgba(2,17,51,.3); }
.brand-copy h1 { margin:0; font-size:46px; letter-spacing:.04em; }.brand-copy p { margin:12px 0 0; font-size:15px; letter-spacing:.24em; color:#a9c3ef; font-weight:700; }
.form-panel { display:grid; place-items:center; padding:64px; }
form { width:min(390px,100%); }.eyebrow { color:var(--blue); font-size:13px; font-weight:800; letter-spacing:.2em; }
h2 { margin:16px 0 8px; font-size:42px; letter-spacing:-.04em; } form>p { margin:0 0 42px; color:var(--muted); line-height:1.7; }
label { display:block; margin:0 0 22px; font-size:14px; font-weight:700; } input { width:100%; margin-top:10px; padding:17px 18px; border:1px solid var(--line); border-radius:14px; background:var(--pale); color:#102b58; outline:none; font-size:17px; transition:.2s; }
input:focus { border-color:#6a92e8; box-shadow:0 0 0 4px rgba(82,129,229,.12); background:#fff; }.password-wrap { position:relative; display:block; }.password-wrap input { padding-right:72px; }.password-wrap button { position:absolute; right:14px; top:25px; border:0; background:transparent; color:var(--muted); cursor:pointer; }
.error { min-height:22px; margin:-5px 0 12px; color:#ce3e4f; font-size:14px; }.submit { width:100%; display:flex; align-items:center; justify-content:space-between; border:0; border-radius:15px; padding:14px 16px 14px 22px; background:linear-gradient(120deg,#2c60d0,#17459d); color:#fff; font-size:18px; font-weight:800; cursor:pointer; box-shadow:0 14px 28px rgba(38,87,192,.22); }.submit i { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.13); font-style:normal; }.submit:disabled { opacity:.65; cursor:wait; }
.login-filing { padding:18px 8px 0; display:flex; justify-content:space-between; gap:16px; color:#7d8ca7; font-size:12px; }.login-filing span{font-weight:700;letter-spacing:.13em}.login-filing a{color:inherit;text-decoration:none}.login-filing a:hover{color:var(--blue)}
@media (max-width:800px){ body{padding:0}.login-page{width:100%}.login-shell{min-height:calc(100vh - 60px);border:0;border-radius:0;grid-template-columns:1fr}.brand-panel{min-height:240px}.orbit{width:290px;height:290px}.brand-copy b{width:68px;height:68px;border-radius:16px;font-size:30px;margin-bottom:14px}.brand-copy h1{font-size:30px}.form-panel{padding:42px 26px}h2{font-size:36px}form>p{margin-bottom:30px}.login-filing{min-height:60px;padding:15px 20px;align-items:center;flex-direction:column;justify-content:center;font-size:11px} }
