
.auth-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;}
.auth-modal__backdrop{position:absolute;inset:0;background:var(--scrim);}
.auth-modal__card{position:relative;background:var(--color-white);width:100%;max-width:460px;margin:var(--gap-block);padding:38px 38px 32px;border:1px solid var(--border-strong);box-shadow:var(--shadow-modal);max-height:calc(100vh - 40px);overflow:auto;} 
.auth-modal__tabs{display:flex;margin:0 0 var(--space-lg);border-bottom:1px solid var(--color-border);}
.auth-modal__tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;padding:var(--gap-row) 0;font-family:var(--font-heading);font-size:var(--type-prose);letter-spacing:0.04em;text-transform:uppercase;color:var(--grey);cursor:pointer;}
.auth-modal__tab.is-active{color:var(--color-text-primary);border-bottom-color:var(--border-strong);}
.auth-modal__row{display:flex;gap:var(--inset-box);}
.auth-modal__col{flex:1;min-width:0;}
.auth-modal__label{display:block;font-family:var(--font-mono);font-size:var(--type-badge);letter-spacing:var(--type-badge-tracking-wide);text-transform:uppercase;color:var(--grey);margin:var(--inset-panel) 0 var(--gap-tight);}
.auth-modal__label .req{color:var(--red);margin-left:3px;}
.auth-modal__why{font-family:var(--font-mono);font-size:var(--type-caption);letter-spacing:var(--type-caption-tracking);text-transform:uppercase;color:var(--color-text-primary);line-height:1.5;margin:0 0 var(--inset-panel);}
.auth-modal__rule{font-family:var(--font-ui);font-size:var(--type-caption);letter-spacing:var(--type-caption-tracking-none);text-transform:none;color:var(--grey);margin:0 0 7px;line-height:1.45;}
.auth-modal__pw{position:relative;display:block;}
.auth-modal__pw input{padding-right:64px;}
.auth-modal__reveal{position:absolute;top:50%;right:1px;transform:translateY(-50%);height:calc(100% - 2px);
    border:0;background:transparent;padding:0 var(--inset-box);cursor:pointer;font-family:var(--font-mono);font-size:var(--type-badge);
    letter-spacing:var(--type-badge-tracking);text-transform:uppercase;color:var(--grey);}
.auth-modal__reveal:hover{color:var(--color-text-primary);}
.auth-modal__consent{display:flex;align-items:flex-start;gap:var(--gap-row);font-family:var(--font-ui);font-size:var(--type-note);
    color:var(--color-text-primary);line-height:var(--type-note-line);cursor:pointer;text-transform:none;letter-spacing:var(--type-note-tracking);margin:var(--inset-panel) 0 0;}
.auth-modal__consent input{margin-top:var(--nudge);flex:0 0 auto;}
.auth-modal__consent a{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:2px;}
.auth-modal__remember{display:flex;align-items:center;gap:9px;margin:var(--inset-panel) 0 0;font-family:var(--font-ui);font-size:var(--type-note);color:var(--color-text-primary);}
.auth-modal__forgot{display:block;text-align:center;margin:var(--inset-box) 0 0;text-decoration:underline;text-underline-offset:3px;}
.auth-modal__input{width:100%;padding:var(--gap-row) var(--inset-box);border:1px solid var(--color-border);background:var(--color-white);}
.auth-modal__input:focus{outline:2px solid var(--border-strong);outline-offset:-1px;border-color:var(--border-strong);}
.auth-modal__input:focus{outline:2px solid var(--red);outline-offset:-1px;}
.auth-modal__forgot{display:inline-block;margin:var(--gap-row) 0 0;text-decoration:none;}
.auth-modal__consent{display:flex;align-items:flex-start;gap:var(--inset-control);margin:var(--inset-panel) 0 0;font-size:var(--type-note);line-height:var(--type-note-line);cursor:pointer;text-transform:none;letter-spacing:var(--type-note-tracking);}
.auth-modal__consent input{flex:0 0 auto;margin-top:var(--nudge);width:auto;}
.auth-modal__forgot:hover{text-decoration:underline;}
.auth-modal__submit{width:100%;margin-top:var(--gap-block);letter-spacing:var(--type-badge-tracking);text-transform:uppercase;padding:var(--inset-box);border:1px solid var(--border-strong);background:var(--ink);color:var(--on-ink);cursor:pointer;}
.auth-modal__submit:hover{opacity:0.85;}
.auth-modal__submit:hover{background:var(--red-dark);}
.auth-modal__submit[disabled]{opacity:0.6;cursor:default;}
