body,html{margin:0;min-height:100%;background:#f8f3fc}*{box-sizing:border-box}button,input{font:inherit}.app-loading{place-items:center;font:16px system-ui;color:#70438d;padding:24px;text-align:center}.app-loading,.login-page{min-height:100dvh;display:grid}.login-page{place-items:center;background:radial-gradient(ellipse at 20% 10%,#8f55ab44,transparent 55%),#241234;padding:24px;color:#f9f2ff;font-family:system-ui}.login-card{width:min(100%,440px);border:1px solid #dbb67177;border-radius:24px;background:#3b2150;padding:32px;box-shadow:0 20px 80px #13071f66}.login-card>img{display:block;width:230px;max-width:100%;margin:0 auto 20px}.login-card h1{font-size:26px;margin:8px 0;color:#ffe5ac}.login-card p{line-height:1.6;color:#ddcce7}.login-card label{display:grid;gap:9px;margin:18px 0;font-size:14px}.login-card input{width:100%;min-height:48px;border:1px solid #ab8ebd;border-radius:12px;background:#fffaf4;padding:12px;color:#321c4e}.login-card .login-link,.login-card button{display:block;width:100%;padding:13px 16px;border:1px solid #d8b576;border-radius:12px;background:#f1ce8a;color:#3b2150;font-weight:650;text-align:center;text-decoration:none;cursor:pointer;margin-top:12px}.login-card button:disabled{opacity:.55;cursor:wait}.login-card .secondary{background:transparent;color:#ffdfa4}.login-card .login-note{font-size:12px}.login-card .login-error{color:#ffd6d0;background:#8a3b3b44;padding:12px;border-radius:10px}.login-card fieldset{border:1px dashed #c5aad0;border-radius:12px;padding:15px;margin:24px 0}.login-card legend{font-size:12px;color:#eed6ff}.login-card a{color:#ffe1a3}.login-card .login-eyebrow{font-size:11px;letter-spacing:2px;color:#d8b576}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #35d3d1;outline-offset:3px}