.login-page{--login-ink:#20283b;--login-muted:#70788c;--login-accent:#6758da;--login-line:#e3e5ef;margin:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 0,#eae5fd 0,transparent 57%),#f6f7fb;color:var(--login-ink);font:16px/1.6 "Segoe UI",Arial,sans-serif}.login-page *{box-sizing:border-box}.login-page [hidden]{display:none!important}.login-page button,.login-page input{font:inherit}.login-page :is(button,input,a):focus-visible{outline:3px solid #8978eb;outline-offset:3px}.login-header{width:min(100% - 40px,1040px);margin:auto;padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.login-brand{display:flex;align-items:center;gap:12px;min-height:46px;color:var(--login-ink);text-decoration:none;border-radius:12px;font-size:19px;font-weight:750;line-height:1.3}.login-brand:hover{color:var(--login-accent)}.login-brand-mark{display:grid;place-items:center;width:46px;height:46px;flex:none;padding-right:4px;border-radius:15px;background:var(--login-accent);color:#fff;font-size:36px;font-weight:800;letter-spacing:-4px}.login-brand small{display:block;font-size:12px;font-weight:400;color:var(--login-muted);margin-top:4px}.login-powered{font-size:12px;color:var(--login-muted)}.login-main{flex:1;display:flex;justify-content:center;align-items:flex-start;width:100%;padding:36px 16px 32px}.login-card{width:100%;max-width:500px;min-width:0;padding:36px;border:1px solid #dedbeb;border-radius:24px;background:#fff;box-shadow:0 16px 56px #4c397110}.login-eyebrow{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--login-accent)}.login-card h1{font-size:clamp(28px,5vw,36px);line-height:1.22;letter-spacing:-.7px;margin:12px 0}.login-intro{color:var(--login-muted);margin:0 0 26px}.login-form{display:grid;gap:19px;min-width:0}.login-field{display:grid;gap:7px;min-width:0}.login-field label{font-size:14px;font-weight:650}.login-field input{width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #dcdfea;border-radius:10px;background:#fcfcff;color:var(--login-ink)}.login-field input:disabled{opacity:.65}.login-optional{font-weight:400;color:var(--login-muted);font-size:12px}.login-field-note{font-size:12px;color:var(--login-muted);margin:0;overflow-wrap:anywhere}.login-submit,.login-retry{display:flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;border:1px solid var(--login-accent);border-radius:11px;padding:11px 16px;font-weight:650;cursor:pointer;line-height:1.5;overflow-wrap:anywhere}.login-submit{width:100%;margin:3px 0 0;background:var(--login-accent);color:#fff;box-shadow:0 4px 14px #6758da20}.login-submit:hover:not(:disabled){background:#5647c6}.login-submit:disabled,.login-retry:disabled{opacity:.6;cursor:default}.login-retry{width:100%;margin-top:12px;background:#fff;color:var(--login-accent);border-color:#d9d3f4}.login-retry:hover:not(:disabled){background:#f4f1ff}.login-error{margin:0;padding:12px 14px;border:1px solid #f1d4dc;border-radius:10px;background:#fff0f3;color:#a32b47;font-size:14px;overflow-wrap:anywhere}.login-status{margin:0 0 18px;padding:10px 12px;border-radius:9px;background:#f3f0fd;color:#67578b;font-size:14px}.login-invitation{margin-top:27px;padding-top:22px;border-top:1px solid var(--login-line);font-size:13px;color:var(--login-muted);overflow-wrap:anywhere}.login-invitation strong{color:#525b70;font-size:14px}.login-invitation p{margin:5px 0 0}.login-footer{text-align:center;padding:20px 16px 30px;font-size:12px;color:var(--login-muted)}
@media(max-width:540px){.login-header{width:calc(100% - 32px);padding:22px 0;align-items:flex-start}.login-powered{max-width:92px;text-align:right;font-size:11px}.login-brand{font-size:18px}.login-brand small{max-width:160px;font-size:11px}.login-main{padding-top:14px}.login-card{padding:26px 22px;border-radius:20px}}

/* PWA offer stays below the logo without moving the login form. */
.login-header>.pwa-brand-stack{min-width:0;flex:0 1 auto}.login-header>.login-powered{flex:none}.pwa-brand-stack .login-brand>span:last-child{min-width:0;overflow-wrap:anywhere}.login-header:has([data-pwa-install]:not([hidden])){align-items:flex-start}.login-header:has([data-pwa-install]:not([hidden]))>.login-powered{padding-top:9px}
