:root{--bg:#f5f7fa;--text:#172033;--muted:#667085;--line:#dfe4ea;--surface:#fff;--accent:#111827;--focus:#2563eb;--danger-bg:#fff1f2;--danger-text:#9f1239;--ok-bg:#ecfdf3;--ok-text:#067647}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}.shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr)}.brand-panel{background:#111827;color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.brand{font-size:38px;font-weight:800;letter-spacing:-1px}.brand span{font-weight:400;opacity:.72}.tagline{margin-top:10px;opacity:.72;font-size:16px}.login-panel{display:grid;place-items:center;padding:32px}.card{width:min(100%,500px);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:0 14px 36px rgba(17,24,39,.08);min-width:0}.heading h1{margin:0;font-size:28px;letter-spacing:-.4px}.heading p{margin:8px 0 28px;color:var(--muted);line-height:1.5}label{display:block;font-size:14px;font-weight:650;margin-bottom:8px}.label-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.label-row label{margin-bottom:8px}a{color:#344054;text-decoration:none;font-size:13px}a:hover{text-decoration:underline}input,select{width:100%;min-height:48px;border:1px solid #cfd6df;border-radius:10px;padding:0 14px;font-size:16px;background:#fff;outline:none}input:focus,select:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(37,99,235,.13)}.password-wrap{position:relative}.password-wrap input{padding-right:86px}.show-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#344054;font-weight:650;cursor:pointer;min-height:44px;padding:0 8px}.primary,.secondary{margin-top:24px;width:100%;min-height:50px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:16px;font-weight:700;cursor:pointer}.secondary{background:#fff;color:#111827;border:1px solid #cfd6df;margin-top:12px}.alert{margin-bottom:18px;padding:12px 14px;border-radius:10px;background:var(--danger-bg);color:var(--danger-text);font-size:14px}.alert.ok{background:var(--ok-bg);color:var(--ok-text)}.security-note{margin-top:22px;color:var(--muted);font-size:12px;line-height:1.45}.security-note span{margin-right:7px}footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}footer span{margin-right:auto}.org-list{display:grid;gap:12px}.org-btn{width:100%;text-align:left;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.org-btn strong,.org-btn span{display:block}.org-btn span{margin-top:4px;color:var(--muted);font-size:13px}.secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;padding:12px;border:1px dashed #98a2b3;border-radius:8px;background:#f9fafb;margin:14px 0}.help{font-size:13px;color:var(--muted);line-height:1.5}@media(max-width:800px){.shell{grid-template-columns:1fr}.brand-panel{min-height:180px;padding:28px}.login-panel{padding:22px}.card{padding:28px 22px}}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}


.mfa-qr{display:flex;flex-direction:column;align-items:center;gap:10px;margin:18px 0;padding:18px;border:1px solid #d9dee7;border-radius:14px;background:#fff}
.mfa-qr-image{display:flex;justify-content:center;max-width:100%;overflow:auto}
.mfa-qr-image svg{display:block;width:min(280px,100%);height:auto}
.mfa-manual{margin:12px 0 18px}
.mfa-manual summary{cursor:pointer;font-weight:600}
