:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#243752;background:#f7f9fd}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #8abbff;outline-offset:3px}header{height:100px;max-width:1400px;margin:auto;padding:0 65px;display:flex;justify-content:space-between;align-items:center}header>a:last-child{font-size:12px;color:#7e8da2}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:700;letter-spacing:2px}.brand>span{display:grid;place-items:center;width:43px;height:46px;border-radius:11px;background:linear-gradient(140deg,#2563eb,#31a8d2);color:#fff}.brand small{display:block;font-size:8px;letter-spacing:1.3px;color:#8a98ac;margin-top:6px}main{max-width:1270px;min-height:680px;margin:10px auto 30px;display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid #e6ecf5;border-radius:22px;overflow:hidden;box-shadow:0 16px 65px #284f7b08}.intro{padding:55px 56px;background:linear-gradient(155deg,#edf4ff,#f1f7fd 70%,#e6f0fd);position:relative;overflow:hidden}.eyebrow{color:#7391b6;letter-spacing:2.6px;font-size:10px}.intro h1{font-size:38px;line-height:1.6;font-weight:650;letter-spacing:2px;margin:22px 0 17px}.intro p{font-size:13px;color:#8294ad;line-height:2;max-width:340px}.optics{height:230px;position:relative;margin:14px -10px;display:grid;place-items:center}.orbit{position:absolute;width:280px;height:140px;border:1px solid #94b8eb75;border-radius:50%;transform:rotate(-30deg)}.orbit.b{transform:rotate(30deg);border-color:#729cdd60}.orbit.c{transform:rotate(90deg);border-color:#accee3}.core{width:83px;height:83px;border-radius:25px;background:linear-gradient(140deg,#3879ed,#64bddc);box-shadow:0 15px 40px #467fc834,inset 0 2px 4px #ffffff7a;display:grid;place-items:center;font-size:39px;color:white}.optics i{position:absolute;height:10px;width:10px;background:#5d93e3;left:25%;top:21%;border:2px solid white;border-radius:50%;box-shadow:0 0 0 6px #adc7f033}.features{display:flex;gap:25px;font-size:11px;color:#6e86a8;margin-top:7px}.intro-foot{display:block;margin-top:35px;color:#9aabc1;font-size:8px;letter-spacing:1.8px}.login-side{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:38px 55px}.login-card{width:100%;max-width:365px}.role-tabs{display:flex;border-bottom:1px solid #e7edf6;gap:35px;margin-bottom:35px}.role-tabs a{padding:0 0 15px;font-size:13px;color:#99a4b7}.role-tabs [aria-current]{color:#2563eb;border-bottom:2px solid #2563eb;font-weight:600}.portal-label{font-size:10px;color:#8199bb;letter-spacing:1px}h2{font-size:28px;margin:12px 0 8px;font-weight:650}.login-card>p{font-size:12px;color:#8f9aab;margin-bottom:28px}label{display:block;font-size:12px;color:#51647e;margin-bottom:9px}input{width:100%;height:46px;border:1px solid #dce4f0;background:#fcfdff;border-radius:7px;padding:0 13px;font-size:12px;color:#253b5b;outline:0;margin-bottom:20px}input:focus{border-color:#6193f2;box-shadow:0 0 0 3px #2563eb0d}input::placeholder{color:#a1adbf}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;top:0;right:5px;height:46px;border:0;background:none;color:#8295af;font-size:11px}.form-tools{display:flex;justify-content:space-between;font-size:10px;color:#97a5b9;margin-bottom:22px}.form-tools button,.register-line button{border:0;background:none;color:#2563eb;font-size:11px;padding:0}.submit{background:#2563eb;color:white;border:0;border-radius:7px;width:100%;height:46px;font-size:13px;box-shadow:0 5px 12px #2563eb20}.submit span{float:right;margin-right:15px}.submit:hover{background:#1b56d5}.submit:disabled{opacity:.6;cursor:wait}.register-line{text-align:center;font-size:11px;color:#95a1b3;margin:23px 0}.register-line button{margin-left:7px}.security-note{border-top:1px solid #edf0f6;padding-top:20px;font-size:10px;color:#9caabe;text-align:center}.local-note{font-size:10px;line-height:1.9;color:#a5afbe;text-align:center;margin-top:30px}.admin-tip,.help-note{font-size:11px;line-height:1.9;padding:13px;background:#f1f5fc;color:#8194af;border-radius:7px;margin:18px 0}.help-note{background:#fff7e9;color:#977743}#error{font-size:12px;line-height:1.8;color:#bd4e54;background:#fff1f2;border-radius:6px;padding:10px;margin:0 0 15px}footer{text-align:center;font-size:10px;color:#a4b0c2;padding:0 0 25px}body[data-role=admin] .intro{background:linear-gradient(155deg,#eaf0fc,#e5edf9)}[hidden]{display:none!important}@media(max-width:1100px){main{margin:10px 30px 25px}.intro{padding:45px 35px}.login-side{padding:35px}.intro h1{font-size:31px}.features{gap:15px}}@media(max-width:720px){header{height:85px;padding:0 23px}.brand{font-size:20px}main{display:block;margin:5px 16px 25px;min-height:0;border-radius:15px}.intro{padding:28px}.intro h1{font-size:25px;line-height:1.4;margin:15px 0 10px}.intro h1 br{display:none}.intro p{font-size:11px;margin:0}.optics,.features,.intro-foot{display:none}.eyebrow{font-size:8px}.login-side{padding:28px 25px}.role-tabs{margin-bottom:25px}h2{font-size:25px}.local-note{margin-bottom:0}header>a:last-child{font-size:10px}}
.email-hint{display:block;font-size:10px;color:#91a0b6;margin:-12px 0 20px;line-height:1.8}.recovery-steps{display:flex;gap:17px;align-items:center;padding:14px 0 24px;font-size:11px;color:#acb6c6}.recovery-steps .active{color:#2563eb;font-weight:600}.recovery-steps i{font-style:normal;color:#bcc7d7}.recovery-hint{font-size:11px;color:#91a0b5;line-height:1.9;margin:0 0 22px}.recovery-back{display:block;text-align:center;font-size:12px;color:#2563eb;margin:23px 0}.recovery-error{padding:12px;border-radius:6px;background:#fff1f2;color:#bd4e54;font-size:12px;line-height:1.8;margin-top:15px}
