.auth-page{background:var(--portal-canvas);justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1rem;display:flex}.auth-card{background:var(--portal-panel);border:1px solid var(--portal-border);border-radius:24px;width:100%;max-width:420px;padding:1.75rem 1.75rem 2rem;box-shadow:0 24px 48px #0000001f}.auth-card-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.auth-top-back-btn{color:var(--portal-muted);background:var(--portal-inset);border:1px solid var(--portal-border);cursor:pointer;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;line-height:1;text-decoration:none;transition:all .15s;display:inline-flex}.auth-top-back-btn:hover{color:var(--portal-text);background:var(--portal-hover);border-color:var(--portal-border-strong,var(--portal-border))}.auth-brand{text-align:center;letter-spacing:-.02em;color:var(--portal-text);margin-bottom:1.5rem;font-size:1.125rem;font-weight:600;display:block}.auth-brand-inline{letter-spacing:-.02em;color:var(--portal-text);font-size:1rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.auth-brand-inline:hover{opacity:.8}.auth-mode-tabs{background:var(--portal-inset);border:1px solid var(--portal-border);border-radius:9999px;grid-template-columns:1fr 1fr;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:grid}.auth-mode-tab{color:var(--portal-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s}.auth-mode-tab.is-active{background:var(--portal-hero);color:var(--portal-hero-text)}.auth-role-tabs{background:var(--portal-inset);border:1px solid var(--portal-border);border-radius:9999px;grid-template-columns:1fr 1fr;gap:.25rem;margin-bottom:1.25rem;padding:.25rem;display:grid}.auth-role-tab{color:var(--portal-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.375rem;padding:.4375rem .75rem;font-size:.75rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.auth-role-tab.is-active{background:var(--portal-panel);color:var(--portal-text);box-shadow:0 1px 2px #0000000f}.auth-heading{text-align:center;margin-bottom:.375rem}.auth-heading h1{letter-spacing:-.02em;color:var(--portal-text);font-size:1.375rem;font-weight:600;line-height:1.25}.auth-heading p{color:var(--portal-muted);font-size:.8125rem;line-height:1.5}.auth-stepper{justify-content:center;align-items:center;gap:0;margin:1.25rem 0 1.5rem;display:flex}.auth-stepper__item{flex-direction:column;flex:1;align-items:center;gap:.375rem;max-width:5.5rem;display:flex;position:relative}.auth-stepper__item:not(:last-child):after{content:"";background:var(--portal-border);z-index:0;width:calc(100% - 1.75rem);height:2px;position:absolute;top:.6875rem;left:calc(50% + .875rem)}.auth-stepper__item.is-done:not(:last-child):after{background:var(--portal-accent)}.auth-stepper__dot{border:2px solid var(--portal-border);background:var(--portal-panel);width:1.375rem;height:1.375rem;color:var(--portal-muted);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.625rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:flex;position:relative}.auth-stepper__item.is-active .auth-stepper__dot,.auth-stepper__item.is-done .auth-stepper__dot{border-color:var(--portal-accent);background:var(--portal-accent);color:#fff}.auth-stepper__label{text-transform:uppercase;letter-spacing:.06em;color:var(--portal-muted);text-align:center;font-size:.625rem;font-weight:500}.auth-stepper__item.is-active .auth-stepper__label,.auth-stepper__item.is-done .auth-stepper__label{color:var(--portal-text)}.auth-email-chip{background:var(--portal-inset);border:1px solid var(--portal-border);border-radius:9999px;align-items:center;gap:.625rem;margin-bottom:1rem;padding:.625rem .875rem;display:flex}.auth-email-chip__icon{color:var(--portal-muted);flex-shrink:0}.auth-email-chip__text{min-width:0;color:var(--portal-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8125rem;overflow:hidden}.auth-email-chip__edit{color:var(--portal-accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.6875rem;font-weight:500}.auth-email-chip__edit:hover{text-decoration:underline}.auth-field-icon{position:relative}.auth-field-icon .saas-input{padding-left:2.75rem}.auth-field-icon>svg{width:1rem;height:1rem;color:var(--portal-muted);pointer-events:none;z-index:1;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.auth-field-icon .auth-toggle-pw{color:var(--portal-muted);cursor:pointer;z-index:2;pointer-events:auto;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.auth-field-icon .auth-toggle-pw:hover{color:var(--portal-fg)}.auth-field-icon .auth-toggle-pw:focus-visible{outline:2px solid var(--portal-accent);outline-offset:2px}.auth-field-icon .auth-toggle-pw svg{pointer-events:auto;width:1rem;height:1rem;position:static;top:auto;left:auto;transform:none}.auth-divider{text-align:center;margin:1.25rem 0;position:relative}.auth-divider:before{content:"";background:var(--portal-border);height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-muted);background:var(--portal-panel);padding:0 .75rem;font-size:.6875rem;font-weight:500;display:inline-block;position:relative}.auth-google-btn{width:100%;color:var(--portal-text);background:var(--portal-inset);border:1px solid var(--portal-border);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.auth-google-btn:hover:not(:disabled){background:var(--portal-hover)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-alert{border-radius:16px;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.75rem;line-height:1.45;display:flex}.auth-alert--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.auth-alert--success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.auth-otp-row{justify-content:center;gap:clamp(.25rem,2vw,.5rem);display:flex}.auth-otp-cell{aspect-ratio:2.75/3;text-align:center;width:auto;min-width:0;max-width:2.75rem;height:auto;min-height:2.5rem;color:var(--portal-text);background:var(--portal-inset);border:1px solid var(--portal-border);border-radius:12px;outline:none;flex:1 1 0;font-size:clamp(1rem,4.5vw,1.25rem);font-weight:600;transition:border-color .15s,box-shadow .15s}@media (max-width:400px){.auth-page{padding:1.25rem .75rem}.auth-card{border-radius:20px;padding:1.25rem 1rem}.auth-otp-cell{border-radius:10px;max-width:2.5rem;min-height:2.375rem}}.auth-otp-cell:focus{border-color:var(--portal-accent);box-shadow:0 0 0 3px #5b8def40}.auth-footer-link{text-align:center;color:var(--portal-muted);margin-top:1rem;font-size:.75rem}.auth-footer-link a,.auth-footer-link button{color:var(--portal-text);cursor:pointer;font-weight:500;font-size:inherit;background:0 0;border:none;padding:0}.auth-footer-link a:hover,.auth-footer-link button:hover{text-decoration:underline}.auth-hint{color:var(--portal-muted);text-align:center;margin-top:.75rem;font-size:.6875rem;line-height:1.5}.auth-back-row{justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.75rem;display:flex}.auth-back-row button{color:var(--portal-muted);cursor:pointer;background:0 0;border:none;padding:0}.auth-back-row button:hover:not(:disabled){color:var(--portal-text)}.auth-back-row button:disabled{opacity:.5;cursor:not-allowed}.auth-guest-block{border-top:1px solid var(--portal-border);margin-top:1.25rem;padding-top:1.25rem}.auth-guest-block p{text-align:center;color:var(--portal-muted);margin-bottom:.625rem;font-size:.6875rem}.auth-guest-btn{width:100%;color:var(--portal-text);border:1px solid var(--portal-border);background:0 0;border-radius:9999px;justify-content:center;align-items:center;padding:.625rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.auth-guest-btn:hover{background:var(--portal-hover)}
