.viewer-login{min-height:100dvh;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 30% 10%,#17343c 0,#0b1218 65%);color:#e8eef3}.viewer-login-card{width:100%;max-width:420px;background:#111d25;border:1px solid #29414d;border-radius:24px;padding:36px;box-shadow:0 24px 80px #0004}.viewer-brand{display:flex;align-items:center;gap:12px;color:#71d6bf;font-size:21px;font-weight:700;margin-bottom:28px}.viewer-eyebrow{font-size:11px;letter-spacing:.15em;color:#8b9faa}.viewer-login h1{font-size:27px;margin:12px 0}.viewer-login p{color:#9baeb9;font-size:14px;line-height:1.6;margin-bottom:26px}.viewer-login form{display:flex;flex-direction:column;gap:10px}.viewer-login label{font-size:13px;font-weight:600;margin-top:5px}.viewer-login input{box-sizing:border-box;width:100%;background:#0b151c;border:1px solid #36515e;border-radius:10px;color:#f0f5f8;padding:13px;font:inherit;min-height:48px}.viewer-login input:focus{outline:2px solid #71d6bf;outline-offset:2px}.viewer-password{position:relative}.viewer-password input{padding-right:50px}.viewer-password button{position:absolute;right:4px;top:4px;width:42px;height:42px;display:grid;place-items:center;background:transparent;border:0;color:#95abb6;cursor:pointer;border-radius:8px}.viewer-submit{margin-top:15px;border:0;border-radius:10px;background:#76d7c2;color:#0c2424;min-height:49px;display:flex;align-items:center;justify-content:center;gap:12px;font:inherit;font-weight:700;cursor:pointer}.viewer-submit:disabled{opacity:.5;cursor:default}.viewer-login button:focus-visible{outline:2px solid #c8fff1;outline-offset:3px}.viewer-login small{display:block;text-align:center;font-size:11px;color:#78919e;margin-top:25px}.viewer-login-error{padding:12px;border-radius:9px;background:#43272a;color:#ffb6b5;font-size:13px;line-height:1.5}.viewer-login-error span{display:block}@media (max-width:500px){.viewer-login{padding:18px}.viewer-login-card{padding:26px 22px;border-radius:18px}.viewer-login h1{font-size:25px}}.viewer-register{height:100dvh;overflow-y:auto;align-items:start}.viewer-register .viewer-login-card{margin-block:auto}