.login-page{min-height:100svh;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.login-page .login-card{width:min(420px,100%);padding:32px;border-radius:26px;box-shadow:0 16px 48px rgba(16,42,67,.06)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.login-house{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:14px;background:#fff0ee;color:#e51b23}.login-house svg{width:27px;height:27px}.login-brand strong{display:block;color:#102a43;font-size:19px;font-weight:800;letter-spacing:.12em;line-height:1.3}.login-brand span:not(.login-house){display:block;color:#526579;font-size:12px;margin-top:3px}.login-heading{margin-bottom:22px}.login-page .login-heading h1{font-size:clamp(25px,6vw,30px);line-height:1.2;letter-spacing:-.03em;margin:0 0 10px}.login-heading p{color:#526579;font-size:14px;line-height:1.6;margin:0}.login-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #e7e9eb;background:#f4f5f6;border-radius:13px;margin-bottom:24px}.login-modes button{appearance:none;border:0;border-radius:9px;background:transparent;color:#526579;font:inherit;font-size:13px;font-weight:600;padding:11px 8px;min-height:44px;cursor:pointer}.login-modes button[aria-pressed=true]{background:white;color:#102a43;box-shadow:0 2px 6px rgba(16,42,67,.07)}.login-page .login-form{gap:18px}.login-page .login-form label{color:#102a43;font-size:13px;font-weight:600;gap:8px}.login-page .login-form input{min-width:0;min-height:50px;padding:13px 14px;background:#fcfcfc;border:1px solid #d9dfe3;border-radius:12px;font:inherit;font-size:16px;font-weight:400;color:#102a43;box-sizing:border-box}.login-page .login-form input::placeholder{color:#7c8894;opacity:1}.login-page .login-form input:focus{border-color:#102a43;box-shadow:0 0 0 3px rgba(16,42,67,.08)}.login-password-field{display:grid;gap:8px;min-width:0}.login-password-field small{font-size:12px;color:#526579;font-weight:400}.login-password-input{position:relative}.login-page .login-password-input input{padding-right:64px}.login-reveal{appearance:none;position:absolute;right:4px;top:3px;bottom:3px;border:0;background:transparent;padding:0 12px;color:#526579;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.login-page .login-submit{min-height:50px;width:100%;border:0;border-radius:12px;background:#102a43;color:white;font:inherit;font-size:15px;font-weight:700;margin-top:3px;cursor:pointer}.login-page button:disabled{opacity:.6;cursor:default}.login-page button:focus-visible{outline:2px solid #102a43;outline-offset:3px}.login-message{margin:0;padding:12px;border:1px solid #e4e8eb;border-radius:10px;color:#102a43;background:#f5f7f8;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.login-footer{border-top:1px solid #eceeef;margin-top:24px;padding-top:14px;text-align:center}.login-footer p{color:#526579;font-size:13px;line-height:1.7;margin:0}.login-footer button{appearance:none;display:inline;border:0;border-radius:0;background:transparent;color:#b91c22;font:inherit;font-weight:700;padding:10px 3px;cursor:pointer}@media (max-width:480px){.login-page{padding-inline:16px;align-items:start;padding-top:max(28px,env(safe-area-inset-top))}.login-page .login-card{padding:26px 22px;border-radius:22px}.login-brand{margin-bottom:28px}}@media (max-height:700px){.login-page{align-items:start}}.login-form select{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd;color:var(--text);font:inherit}.invitation-card{display:grid;gap:18px;overflow-wrap:anywhere}.invitation-card h1{font-size:clamp(25px,6vw,30px);line-height:1.2;margin:0}.invitation-card>.primary,.invitation-card>.secondary{min-height:48px;width:100%;white-space:normal;text-align:center}.login-form fieldset,.login-form label{min-width:0}.login-form select{min-width:0;font-size:16px}