:root{font-family:Segoe UI,Arial,sans-serif;color:#08285d;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#84a6cf url('/static/login-campus-v3.webp') center center/cover fixed no-repeat}body:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,#072b4225,transparent 70%);pointer-events:none}main{min-height:100svh;display:flex;align-items:center;padding:48px clamp(24px,9.6vw,160px);position:relative}.login-panel{width:568px;padding:32px 36px 34px;border:1px solid #fffffff0;border-radius:28px;background:#fff;box-shadow:0 16px 60px #092d6230,inset 0 1px 0 #fff;}.brand{text-align:center;margin-bottom:25px}.brand img{width:112px;height:112px;object-fit:contain;}h1{font-size:34px;line-height:1.1;margin:8px 0 4px;letter-spacing:-.7px}.brand p{margin:0;font-size:20px}svg{width:25px;height:25px;flex-shrink:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #0060ff}button{cursor:pointer}a{color:inherit;text-decoration:none}.language{position:absolute;z-index:2;top:40px;right:3.2vw;display:flex;box-shadow:0 5px 18px #0b2d6e20;border-radius:15px;border:1px solid #fff;background:#f8fbff;overflow:hidden}.language a{padding:13px 19px;font-size:18px;font-weight:600}.language a[aria-current]{color:white;background:linear-gradient(#1685ff,#004bec);border-radius:13px;box-shadow:inset 0 1px 2px #ffffff80}.input-wrap{display:flex;align-items:center;gap:14px;padding:0 17px;height:57px;background:#ffffffdf;border:1px solid #d9e7fa;border-radius:12px;box-shadow:0 3px 10px #1a488c05;margin-bottom:15px}.input-wrap:focus-within{border-color:#0864ff;box-shadow:0 0 0 3px #0062ff12}.input-wrap input{background:transparent;border:0;min-width:0;width:100%;height:100%;font-size:18px;color:#09285e;outline:none}.input-wrap input::placeholder{color:#7289b5;opacity:1}.eye{border:0;padding:8px;background:none;color:#163b77;display:flex;margin-right:-8px;border-radius:8px}.form-options{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 3px 22px;font-size:14px}.remember{display:flex;gap:9px;align-items:center;cursor:pointer}.remember input{accent-color:#075cff;width:21px;height:21px;margin:0}.text-button{border:0;background:none;color:#0055ee;padding:4px 0;font-size:14px}.text-button:hover{text-decoration:underline}.submit{width:100%;border:0;border-radius:11px;background:linear-gradient(170deg,#076aff,#0045e9);color:#fff;min-height:57px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:19px;font-weight:600;box-shadow:0 6px 18px #0056ff12;transition:filter .15s,transform .15s}.submit:hover{filter:brightness(1.08)}.submit:active{transform:translateY(1px)}.divider{display:flex;gap:14px;align-items:center;font-size:14px;margin:22px 8px 16px;white-space:nowrap}.divider:before,.divider:after{content:"";height:1px;background:#adc6e5;flex:1}.register{min-height:52px;border:1px solid #075bff;color:#073781;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:10px;width:72%;margin:auto;font-size:18px;font-weight:600;background:#e0eeff30}.register:hover{background:#ffffff90}.register svg{color:#005cff}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.features>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:15px 4px;min-height:88px;background:#bed7f56e;border-radius:13px;font-size:14px}.features svg{color:#075cff;width:34px;height:34px}.login-alert{padding:12px 14px;background:#fff2f2;border:1px solid #efbcbc;border-radius:10px;color:#9e2735;font-size:14px;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{max-width:440px;width:calc(100% - 32px);padding:28px;border:1px solid #dbe7ff;border-radius:20px;color:#08285d;box-shadow:0 24px 90px #00275840}dialog::backdrop{background:#09234670;backdrop-filter:blur(4px)}dialog h2{margin-top:0}dialog p{line-height:1.65;margin-bottom:24px}[hidden]{display:none!important}@media(min-width:761px) and (max-height:850px){main{padding-top:26px;padding-bottom:26px}.login-panel{padding:24px 30px;width:520px}.brand{margin-bottom:18px}.brand img{width:85px;height:85px}.brand h1{font-size:30px}.brand p{font-size:18px}.form-options{margin:15px 2px}.features{margin-top:18px}.features>div{min-height:76px;padding:10px}.divider{margin-top:18px}.input-wrap,.submit{height:52px;min-height:52px}.language{top:26px}}@media(max-width:760px){body{background-position:66% center}main{padding:88px 18px 24px;justify-content:center;align-items:flex-start}.login-panel{width:100%;max-width:500px;padding:26px 22px;border-radius:24px;background:#fff}.language{position:absolute;top:20px;right:20px}.language a{padding:9px 16px;font-size:16px}.brand img{width:92px;height:92px}.brand h1{font-size:30px}.brand p{font-size:18px}.brand{margin-bottom:24px}.input-wrap{padding:0 12px;gap:10px}.input-wrap input{font-size:16px}.form-options{gap:5px;font-size:12px}.text-button{font-size:12px}.remember{gap:6px}.features{gap:8px}.features>div{font-size:12px}.register{width:90%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}} 

@media(max-width:760px){main{min-height:100dvh;padding:58px 12px 12px;align-items:center}.language{top:10px;right:12px}.language a{padding:7px 14px}.login-panel{padding:18px 20px;border-radius:20px}.brand{margin-bottom:16px}.brand img{width:64px;height:64px}.brand h1{font-size:27px;margin-top:4px}.brand p{font-size:16px}.input-wrap{height:48px;margin-bottom:10px}.form-options{margin:12px 0}.remember input{width:20px;height:20px}.submit{min-height:46px;font-size:17px}.divider{margin:14px 4px 10px}.register{min-height:44px;font-size:16px}.features{margin-top:14px;gap:8px}.features>div{min-height:62px;padding:8px 2px;font-size:11px;gap:5px}.features svg{width:26px;height:26px}}
@media(max-width:760px) and (max-height:700px){.features{display:none}.brand img{width:52px;height:52px}.brand{margin-bottom:12px}.login-panel{padding:16px 18px}.brand h1{font-size:25px}.brand p{font-size:15px}}
