@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600&display=swap');
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f4f6fb;background:#101a31;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;isolation:isolate}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}[hidden]{display:none!important}
.portal-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,#243252 0%,#19253f 32%,#101a31 65%,#0b1428 100%)}
.portal-atmosphere:before{content:'';position:absolute;inset:44px max(44px,calc((100vw - 1180px)/2));border:1px solid #c2cfea12;border-radius:24px;background:linear-gradient(160deg,#d2dcf507 0%,#d2dcf500 45%);box-shadow:0 0 100px #03091630,inset 0 1px #ffffff04}
.portal-atmosphere:after{content:'';position:absolute;inset:0 13%;border-left:1px solid #b9c9ed06;border-right:1px solid #b9c9ed06;background:linear-gradient(90deg,#d5dffd00,#d5dffd02 50%,#d5dffd00)}
.portal-light{position:absolute;left:calc(50% - .5px);top:0;width:1px;height:100px;background:linear-gradient(#e9edff00,#c5d2f245,#e9edff00);animation:light-arrive 1.5s ease-out both}
.portal-rule{position:absolute;left:50%;top:44px;transform:translateX(-50%);width:160px;height:1px;background:linear-gradient(90deg,#d5dffd00,#d5dffd60,#d5dffd00)}
.login-layout{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:76px 24px 46px;text-align:center}
.login-panel{width:100%;max-width:470px;padding:0 38px;animation:portal-arrive .65s cubic-bezier(.2,.7,.2,1) both}
.login-brand{position:relative;width:112px;height:46px;overflow:hidden;margin:0 auto 36px}
.login-brand img{position:absolute;width:149px;max-width:none;left:-18.6px;top:-46px;filter:brightness(0) invert(1)}
.eyebrow{text-transform:uppercase;letter-spacing:2.6px;font-size:10px;line-height:1.5;font-weight:500;color:#bac7df;margin-bottom:18px}
h1{font-size:38px;line-height:1.18;letter-spacing:-1.45px;font-weight:450;color:#f6f7fc;text-wrap:balance}
.login-description{font-size:14px;line-height:1.85;color:#bec9de;margin:21px 0 34px;text-wrap:balance}
.microsoft-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 15px;border:1px solid #fff;background:#f8f9fd;color:#1b2546;border-radius:8px;font-size:14px;line-height:1.5;font-weight:550;box-shadow:0 4px 20px #0308152b,0 1px #ffffff55 inset;transition:background .15s,box-shadow .15s,transform .15s}
.microsoft-button:hover{background:#fff;box-shadow:0 5px 25px #03081555,0 0 0 4px #ffffff06;transform:translateY(-1px)}
.microsoft-button:active{transform:translateY(0)}
.microsoft-button:focus-visible{outline:3px solid #c0d5ff;outline-offset:5px}.microsoft-button svg{flex:none}
.login-help{font-size:11px;line-height:1.7;color:#b5c2d9;margin-top:13px}
.access-note{border-top:1px solid #c1cfea20;margin-top:31px;padding-top:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#c0cce0}
.access-note svg{flex:none;opacity:.85}.access-note p{font-size:11px;line-height:1.8}.access-note span{display:block;font-size:10px;color:#aebed7;margin-top:3px}
footer{font-size:10px;letter-spacing:.2px;color:#a5b6d0;margin-top:31px;line-height:1.7;text-align:center}footer span{margin:0 8px;color:#869bbd}
.auth-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #92a9d033;border-radius:9px;padding:17px 18px;margin:0 0 23px;background:#b7c9ee09;text-align:center}
.message-mark{display:grid;place-items:center;flex:none;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:600;color:#becde6}
.auth-message h2{font-size:12px;line-height:1.6;font-weight:550;color:#f3f6fc}.auth-message p{font-size:11px;line-height:1.7;color:#c1cce0;margin-top:5px}
.auth-message[data-state=denied],.auth-message[data-state=error]{background:#c77d6c0c;border-color:#cda59d45}.auth-message[data-state=denied] .message-mark,.auth-message[data-state=error] .message-mark{color:#eac3b9}
.auth-message[data-state=signing-in] .message-mark{font-size:0;border:2px solid #aebed745;border-top-color:#e3ebfa;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes portal-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes light-arrive{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.portal-atmosphere:before{inset:20px 14px;border-radius:18px}.portal-atmosphere:after{inset:0 8%}.portal-rule{top:20px;width:112px}.portal-light{height:66px}.login-layout{padding:54px 25px 30px}.login-panel{max-width:390px;padding:0 8px}.login-brand{margin-bottom:31px}h1{font-size:34px;letter-spacing:-1.15px}.login-description{font-size:13px;margin-top:19px;margin-bottom:29px}.desktop-break{display:none}footer{margin-top:27px}}
@media(max-width:359px){.login-layout{padding:44px 22px 26px}.login-panel{padding:0 3px}.login-brand{margin-bottom:27px;width:106px;height:44px}.login-brand img{width:141px;left:-17.6px;top:-43.6px}h1{font-size:30px;letter-spacing:-1px}.login-description{font-size:12px}.microsoft-button{font-size:13px;gap:10px;padding:13px 10px}.login-help{font-size:10px}.auth-message{padding:15px 13px}.access-note{margin-top:26px;padding-top:19px}footer{font-size:9px}}
@media(max-height:720px){.login-layout{padding-top:43px;padding-bottom:28px}.login-brand{margin-bottom:25px}.login-description{margin-top:17px;margin-bottom:25px}.access-note{margin-top:25px;padding-top:18px}footer{margin-top:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.microsoft-button:hover{transform:none}}
