*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif}body{margin:0;color:#28133c;background:radial-gradient(circle at 12% 15%,#eee1f3,transparent 38%),#f8f6fa}[hidden]{display:none!important}.page{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:min(100%,940px);background:#fff;border:1px solid #eadfed;border-radius:22px;box-shadow:0 20px 55px #31133e13;padding:clamp(26px,4vw,50px)}.brand{display:flex;align-items:center;gap:20px;margin-bottom:38px}.brand img{width:min(48%,330px);max-height:110px;object-fit:contain;object-position:left}.brand span{font-size:14px;font-weight:700;color:#49345b}h1{font-size:clamp(28px,3.5vw,40px);line-height:1.15;margin:0 0 10px}.eyebrow{color:#74418c;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:700;margin:0 0 9px}.intro{font-size:16px;line-height:1.5;color:#655b6c;margin:0 0 25px}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.choice{min-height:165px;border:1px solid #e7dfea;background:#fff;border-radius:14px;text-decoration:none;color:#28133c;padding:22px;display:flex;flex-direction:column;gap:9px}.choice:hover,.choice:focus-visible{border-color:#68357b;background:#faf6fc;outline:none}.choice strong{font-size:19px}.choice span{font-size:14px;line-height:1.4;color:#6d6274}.choice b{font-size:13px;color:#613074;margin-top:auto}.back{display:inline-block;margin-bottom:22px;color:#633375;font-weight:700;text-decoration:none}.back:hover{text-decoration:underline}.login-form{display:grid;gap:15px;width:min(100%,460px)}.login-form label{font-weight:700;font-size:13px}.login-form input{display:block;margin-top:7px;width:100%;padding:13px;border:1px solid #d9cfdf;border-radius:10px;font:inherit;background:#f8f6fa}.login-form button{border:0;border-radius:10px;padding:14px;background:#d8cfdc;color:#55485c;font-weight:700;font-size:15px}.notice{margin:25px 0 0;padding:14px 16px;border-left:3px solid #e6a22e;background:#fff8eb;border-radius:8px;color:#694b1b;line-height:1.45;font-size:13px}.developer-entry{max-width:600px;border:1px solid #e7dfea;border-radius:14px;background:#faf7fc;padding:18px 20px;line-height:1.5;color:#594963}.developer-entry p{margin:0 0 18px}.entry-primary{display:inline-block;background:#36174e;color:#fff;text-decoration:none;font-weight:700;padding:13px 19px;border-radius:10px}.entry-primary:hover,.entry-primary:focus-visible{background:#53246d}.recovery-link{display:inline-block;margin-top:18px;color:#633375;font-weight:700}.recovery-link:hover{text-decoration:none}@media(max-width:760px){.choices{grid-template-columns:1fr}.choice{min-height:120px}}@media(max-width:650px){.page{padding:12px}.card{padding:23px}.brand{display:block}.brand img{width:min(100%,320px)}.brand span{display:block;margin-top:5px}}
.login-form button:not(:disabled){background:#36174e;color:#fff;cursor:pointer}
.back-button{border:0;background:none;padding:0;font:inherit;cursor:pointer}
.login-form button:not(:disabled):hover,.login-form button:not(:disabled):focus-visible{background:#53246d}
.login-form input:focus-visible{outline:2px solid #7a3a96;outline-offset:2px;background:#fff}
.login-explainer{font-size:13px;line-height:1.45;color:#6a5c73;max-width:510px}
.form-status{border-radius:8px;padding:12px 15px;margin:16px 0 0;max-width:510px;font-size:13px;line-height:1.4}
.form-status.error{background:#fff0ef;border:1px solid #efbcb7;color:#892c28}
.form-status.success{background:#eff8f0;border:1px solid #b9d9bd;color:#246d36}
.mfa-enrollment{max-width:510px;border:1px solid #dfd0e8;background:#faf7fc;border-radius:12px;padding:17px;margin-bottom:18px}
.mfa-enrollment p{color:#665870;font-size:13px;line-height:1.4}
.mfa-enrollment button{border:0;border-radius:9px;background:#4a2162;color:#fff;font-weight:700;padding:11px 13px;cursor:pointer}
.mfa-enrollment button:disabled{opacity:.55;cursor:wait}
#admin-mfa-qr img{display:block;max-width:100%;height:auto;margin-top:17px;padding:8px;background:#fff;border-radius:8px}
.admin-email-dialog{width:min(92vw,540px);max-height:min(88vh,760px);overflow:auto;border:1px solid #e3d8e9;border-radius:18px;box-shadow:0 24px 70px #1f0e2d40;padding:clamp(20px,3vw,30px);color:#28133c}
.admin-email-dialog::backdrop{background:#1f0e2db8}
.admin-email-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.admin-email-dialog-head h2{font-size:clamp(21px,2.6vw,27px);margin:0;line-height:1.2}
.admin-email-dialog-head button{display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;border-radius:9px;background:#f1ecf4;color:#36174e;font-size:24px;cursor:pointer}
.admin-email-dialog-head button:hover,.admin-email-dialog-head button:focus-visible{background:#e7daed;outline:2px solid #714087;outline-offset:2px}
.admin-email-dialog p{font-size:14px;line-height:1.5;color:#5e5266;margin:0 0 16px;overflow-wrap:anywhere}
.admin-email-dialog p strong{color:#28133c}
.admin-email-dialog .login-form{width:100%;margin:18px 0}
.admin-email-dialog .form-status{margin:0 0 16px;color:#28133c}
.admin-email-dialog .form-status.success{color:#246d36}
.admin-email-dialog .form-status.error{color:#892c28}
.admin-email-dialog .admin-email-note{padding:12px 14px;border-radius:9px;background:#fff8eb;color:#694b1b;margin:0}
@media(max-width:600px){.admin-email-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:20px}}
