:root{font-family:Arial,sans-serif;color:#23313b;background:#f5f7f8;font-size:16px;letter-spacing:0;color-scheme:light}
*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}
.brand{display:flex;gap:16px;align-items:center;padding:20px 28px;background:#fff;border-bottom:1px solid #d9dee5;flex-wrap:wrap}
.brand strong{font-size:24px;color:#276749}.brand span{color:#596977}.brand svg{margin-left:auto;color:#276749;width:24px;height:24px}
.access{max-width:460px;margin:56px auto;padding:0 24px 32px;min-width:0}
.access-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.access-heading svg{flex:none;color:#276749;width:28px;height:28px}
h1{font-size:24px;line-height:1.25;margin:0}h2{font-size:20px}p{line-height:1.5;margin:0 0 18px;overflow-wrap:anywhere}
form,section{min-width:0}label{display:grid;gap:7px;margin:18px 0;font-size:14px;font-weight:600}
input:not([type=checkbox]){width:100%;min-width:0;height:46px;font:inherit;font-size:16px;padding:10px 12px;background:#fff;color:#23313b;border:1px solid #aab5bf;border-radius:5px}
input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8db8e6;outline-offset:2px}
.password-field{display:flex;position:relative}.password-field input{padding-right:46px}
button{min-height:44px;padding:10px 14px;background:#fff;color:#23313b;border:1px solid #b8c2ca;border-radius:5px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.35;white-space:normal}
button svg{width:18px;height:18px;flex:none}button:disabled{opacity:.5;cursor:default}.primary{width:100%;background:#276749;color:#fff;border-color:#276749;margin-top:12px}
.icon{position:absolute;right:2px;top:2px;min-height:42px;width:42px;padding:0;border:0;background:transparent}
.hint,footer{font-size:13px;color:#596977;line-height:1.5}.factor-switch{display:flex;gap:0;margin-top:24px}.factor-switch button{flex:1;border-radius:0}.factor-switch button:first-child{border-radius:5px 0 0 5px}.factor-switch button:last-child{border-radius:0 5px 5px 0;border-left:0}.factor-switch [aria-pressed=true]{background:#e1eee8;color:#20533c}
#message:empty{display:none}#message.error{color:#9b2c2c;background:#fff0ef;padding:12px;border-left:3px solid #b33e38}#message.success{color:#215a42}
#otpQr{display:block;width:240px;max-width:100%;height:auto;aspect-ratio:1;margin:20px auto;background:#fff}
details{margin:14px 0}summary{cursor:pointer}#otpSecret{display:block;overflow-wrap:anywhere;font-size:15px;line-height:1.6;margin-top:10px}
pre{background:#fff;border:1px solid #d9dee5;padding:16px;font-size:16px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.check input{width:18px;height:18px;flex:none;accent-color:#276749}footer{margin-top:36px;border-top:1px solid #d9dee5;padding-top:18px}a{color:#245d96;display:inline-block;margin-top:18px}
@media(max-width:480px){.brand{padding:16px;gap:8px}.brand span{font-size:13px}.access{margin-top:30px;padding:0 18px 24px}h1{font-size:22px}}
