:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#fff;background:#00679e;color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 8% 10%,#1795c285,transparent 58%),radial-gradient(ellipse at 90% 100%,#003f7766,transparent 65%),linear-gradient(145deg,#0078aa,#005889);background-attachment:fixed}
body::before,body::after{content:"";position:fixed;pointer-events:none;width:85vw;height:45vw;min-height:260px;border-radius:50%;border:1px solid #ffffff09;transform:rotate(-20deg);z-index:0}body::before{left:-30vw;bottom:-27vw;background:#ffffff03}body::after{right:-35vw;top:-30vw;border-width:45px;border-color:#ffffff02}
.login{position:relative;z-index:1;width:min(100% - 40px,320px);margin:auto;padding:62px 0 50px;text-align:center}.identity{display:inline-flex;flex-direction:column;align-items:center;gap:12px;color:#fff;text-decoration:none;margin-bottom:34px}.cloud-logo{width:112px;height:56px;fill:none;stroke:currentColor;stroke-width:5.5;stroke-linecap:round}.brand{font-size:26px;line-height:1.2;font-weight:400;letter-spacing:.3px}h1{font-size:19px;font-weight:500;margin:0 0 24px;line-height:1.4}
.input-row{height:52px;display:flex;align-items:center;position:relative;background:#fff;border:2px solid transparent;border-radius:7px;margin-bottom:12px;box-shadow:0 2px 5px #003b5d13;color:#6a7780;transition:box-shadow .15s,border-color .15s}.input-row:focus-within{border-color:#9ddfff;box-shadow:0 0 0 3px #b2e5ff38}.input-row>svg{width:20px;height:20px;margin-left:14px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}input{font:inherit;width:100%;min-width:0;height:100%;padding:0 12px;background:transparent;color:#26343d;border:0;outline:none;font-size:14px}input::placeholder{color:#6b7780;opacity:1}#password{padding-right:2px}
button{font:inherit;cursor:pointer}.show-password{display:grid;place-items:center;flex-shrink:0;border:0;color:#75818b;background:transparent;width:42px;height:44px;padding:10px;border-radius:5px}.show-password:hover{background:#eff4f6}.show-password svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.submit{display:flex;justify-content:center;align-items:center;gap:12px;border:1px solid #ffffffa6;border-radius:7px;width:100%;height:50px;background:#ffffffeb;color:#006195;font-size:15px;font-weight:600;margin-top:18px;box-shadow:0 2px 6px #003b5d20;transition:background .15s}.submit:hover{background:#fff}.submit svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.submit:disabled{cursor:wait;opacity:.8}.help-link{display:inline-block;color:#ffffffd9;font-size:13px;text-decoration:none;margin-top:24px;padding:8px}.help-link:hover{text-decoration:underline;color:#fff}
.notice{font-size:13px;line-height:1.55;border:1px solid #ffffff40;background:#ffffff14;border-radius:7px;padding:13px;margin:0 0 20px}.notice.error{background:#fff;color:#97383a;border-color:#f2b5b5;box-shadow:0 2px 6px #003b5d18}.notice[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,a:focus-visible{outline:3px solid #b6e7ff;outline-offset:4px}.show-password:focus-visible{outline:2px solid #0082c9;outline-offset:-3px}footer{position:relative;z-index:1;padding:0 20px 28px;color:#ffffffae;font-size:12px;text-align:center;line-height:1.6}footer>span:first-child{color:#ffffffdf}.footer-dot{padding:0 9px}
@media(max-width:600px){.login{padding:40px 0 30px;width:min(100% - 48px,320px)}.identity{margin-bottom:29px}.cloud-logo{width:102px;height:52px}.brand{font-size:25px}h1{font-size:18px}footer{padding-bottom:23px}}
@media(max-height:640px){.login{padding-top:24px;padding-bottom:14px}.identity{margin-bottom:20px;gap:6px}.cloud-logo{height:42px}.help-link{margin-top:12px}footer{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
