:root{--bg-page:#f5f6fa;--bg-card:#fff;--bg-input:#e5e7eb;--border:#e5e7eb;--text:#111827;--muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--success:#16a34a;--danger:#dc2626;--brand:#2563eb}*{box-sizing:border-box}body{background:var(--bg-page);color:var(--text);min-height:100vh;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.auth-xp-page{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem 1rem;display:flex}.auth-xp-frame{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:920px;min-height:520px;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000000f,0 20px 40px -12px #0000001f}.auth-xp-hero{color:#fff;flex-direction:column;justify-content:space-between;width:42%;min-width:280px;padding:2rem 1.75rem;display:flex}.auth-xp-hero-logo-badge{background:#fff;border-radius:10px;align-items:center;margin-bottom:1.5rem;padding:.55rem .85rem;display:inline-flex;box-shadow:0 8px 24px #0000001f}.auth-xp-hero-logo-plain{align-items:center;margin-bottom:1.5rem;display:inline-flex}.auth-xp-hero-logo{object-fit:contain;object-position:left center;width:auto;max-width:11rem;height:2rem;display:block}.auth-xp-hero-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;line-height:1.25}.auth-xp-hero-subtitle{opacity:.92;margin:0;font-size:.9rem;line-height:1.5}.auth-xp-hero-checklist{opacity:.95;margin:1.5rem 0 0;padding:0;font-size:.8rem;line-height:1.6;list-style:none}.auth-xp-hero-checklist li:before{content:"✔ "}.auth-xp-hero-foot{opacity:.75;text-transform:uppercase;letter-spacing:.06em;margin:1.5rem 0 0;font-size:.7rem}.auth-xp-main{background:#fff;flex-direction:column;flex:1;justify-content:center;padding:2rem 2rem 1.75rem;display:flex;overflow-y:auto}.auth-xp-form-header h1{color:var(--text);margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.auth-xp-form-header p{color:var(--muted);margin:0 0 1.25rem;font-size:.875rem;line-height:1.45}.auth-xp-step-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:color-mix(in oklab,var(--brand)12%,#fff);border-radius:4px;margin-bottom:.5rem;padding:.2rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.auth-xp-tabs{background:var(--bg-input);border-radius:999px;gap:.15rem;width:fit-content;margin-bottom:1.25rem;padding:.2rem;display:flex}.auth-xp-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.4rem .85rem;font-size:.8rem;font-weight:500}.auth-xp-tabs button.active{color:var(--text);background:#fff;box-shadow:0 1px 3px #00000014}.auth-field{margin-bottom:.85rem}.auth-field label{color:var(--text);margin-bottom:.35rem;font-size:.8rem;font-weight:500;display:block}.auth-field>input,.auth-field>select{background:var(--bg-input);width:100%;color:var(--text);border:none;border-radius:12px;margin:0;padding:.75rem 1rem;font-size:.875rem}.auth-field>input:focus,.auth-field>select:focus{outline:2px solid color-mix(in oklab,var(--brand)40%,#fff);outline-offset:1px}.auth-btn-primary{color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:.25rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.5rem 0 0;font-size:.8rem;font-weight:500}.auth-btn-secondary{border:1px solid var(--border,#e5e7eb);width:100%;color:var(--text,#111827);cursor:pointer;background:#fff;border-radius:12px;margin-top:.5rem;padding:.7rem 1rem;font-size:.875rem;font-weight:600}.auth-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.auth-passwordless-actions{margin-top:.75rem}.auth-divider-label{text-align:center;color:var(--muted);margin:.75rem 0 .25rem;font-size:.75rem}.auth-divider{color:var(--muted);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#d1d5db;flex:1;height:1px}.auth-banner-warn{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin-bottom:1rem;padding:.65rem .85rem;font-size:.75rem;line-height:1.45}.auth-alert-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:.85rem;padding:.5rem .65rem;font-size:.85rem}.auth-alert-success{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:.85rem;padding:.5rem .65rem;font-size:.85rem}.auth-xp-footer{color:var(--muted);text-align:center;margin-top:1.5rem;font-size:.7rem;line-height:1.4}.auth-mfa-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1rem;padding:1.25rem}.auth-mfa-methods{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.auth-mfa-method{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;display:flex}.auth-mfa-method.active{border-width:2px;border-color:var(--brand);background:color-mix(in oklab,var(--brand)6%,#fff)}.auth-mfa-method--disabled{opacity:.6;cursor:not-allowed}.auth-mfa-pending-note{color:#6b7280;margin:.25rem 0 0;font-size:.75rem;line-height:1.45}.auth-mfa-alt-actions{text-align:center;flex-direction:column;align-items:center;gap:.35rem;margin-top:1rem;display:flex}.auth-mfa-alt-heading{color:var(--text,#111827);text-align:left;width:100%;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.auth-mfa-try-another{max-width:18rem;line-height:1.45}.auth-mfa-resend{padding-top:0}.auth-mfa-method-title{margin:0;font-size:.85rem;font-weight:600}.auth-mfa-method-desc{color:var(--muted);margin:.15rem 0 0;font-size:.75rem}.auth-mfa-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--brand);background:color-mix(in oklab,var(--brand)12%,#fff);border-radius:4px;margin-left:.35rem;padding:.1rem .35rem;font-size:.6rem;font-weight:700}.auth-otp{justify-content:center;gap:.45rem;margin:.75rem 0;display:flex}.auth-otp--compact{gap:.35rem}.auth-otp-cell{text-align:center;width:2.5rem;height:2.75rem;color:var(--text);background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:0;font-size:1.1rem;font-weight:600}.auth-otp--compact .auth-otp-cell{width:2.25rem;height:2.5rem}.auth-otp-cell:focus{outline:2px solid color-mix(in oklab,var(--brand)45%,#fff);border-color:var(--brand)}.totp-enroll-panel{text-align:center;margin:.75rem 0}.totp-enroll-panel img{border:1px solid var(--border);background:#fff;border-radius:8px;margin:.5rem auto;padding:.5rem;display:block}.totp-apps-list{color:var(--muted);margin:.5rem 0;padding:0;font-size:.8rem;list-style:none}.auth-phone-row{background:var(--bg-input);border-radius:12px;align-items:stretch;width:100%;display:flex}.auth-phone-row:focus-within{outline:2px solid color-mix(in oklab,var(--brand)40%,#fff);outline-offset:1px}.auth-phone-row input{width:auto;min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0;outline:none;margin:0}.auth-phone-prefix{color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:.75rem 0 .75rem 1rem;font-size:.875rem;font-weight:600;line-height:1}.auth-tel-code{width:3rem;min-width:3rem;max-width:3.5rem;color:var(--text);text-align:left;flex:0 0 3rem;padding:.75rem .25rem .75rem 0;font-size:.875rem}.auth-phone-divider{background:color-mix(in oklab,var(--muted)30%,transparent);flex-shrink:0;align-self:stretch;width:1px;margin:.55rem .35rem}.auth-phone-row input[type=tel]{color:var(--text);flex:auto;padding:.75rem 1rem .75rem .35rem;font-size:.875rem}.google-auth-block{margin-top:.5rem}.google-origin-hint{color:var(--muted);border:1px dashed #d1d5db;border-radius:10px;margin-top:1rem;padding:.75rem;font-size:.75rem}.auth-shell-fallback{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card-fallback{border:1px solid var(--border);background:#fff;border-radius:16px;width:100%;max-width:420px;padding:2rem;box-shadow:0 8px 24px #00000014}.auth-card-fallback h1{margin:0 0 .5rem;font-size:1.25rem}.auth-card-fallback p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}@media (max-width:768px){.auth-xp-frame{flex-direction:column;max-width:400px;min-height:auto}.auth-xp-hero{width:100%;min-width:0;padding:1.5rem 1.25rem}.auth-xp-hero-checklist{display:none}.auth-xp-main{padding:1.5rem 1.25rem 1.25rem}}.auth-entry-launcher{max-width:520px}.auth-entry-badge{letter-spacing:.04em;text-transform:uppercase;color:#2563eb;background:#eff6ff;border-radius:6px;margin-bottom:.75rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.auth-entry-lead{margin-top:.75rem!important;margin-bottom:1rem!important}.auth-entry-panel{border:1px solid var(--border);background:#f9fafb;border-radius:12px;margin:1rem 0;padding:1rem;font-size:.875rem;line-height:1.55}.auth-entry-example{margin-top:.75rem!important}.auth-entry-admin-note{margin-top:1rem!important;font-size:.8rem!important}.auth-org-badge{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin:0 0 .5rem;font-size:.7rem;font-weight:600;display:inline-block}.auth-xp-footer-note{color:#9ca3af;margin-top:.35rem;font-size:.7rem;display:block}.policy-panel{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.8rem}.policy-line{margin:.25rem 0}.auth-policy-loading{margin-bottom:1rem}.auth-policy-loading .subtitle{margin-bottom:.75rem}
