.auth-page{background:linear-gradient(180deg, var(--color-bg-medium) 0%, var(--color-bg-dark) 100%);min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.auth-card{border:2px solid var(--color-gold-faint);width:100%;max-width:440px;padding:var(--space-2xl);position:relative}.auth-card:before,.auth-card:after{content:"";pointer-events:none;background:url(../../../assets/corner-bracket-faint-gold.svg) 50%/contain no-repeat;width:85px;height:85px;position:absolute}.auth-card:before{top:-2px;left:-2px}.auth-card:after{top:-2px;right:-2px;transform:scaleX(-1)}.auth-corner--bl,.auth-corner--br{pointer-events:none;background:url(../../../assets/corner-bracket-faint-gold.svg) 50%/contain no-repeat;width:85px;height:85px;position:absolute}.auth-corner--bl{bottom:-2px;left:-2px;transform:scaleY(-1)}.auth-corner--br{bottom:-2px;right:-2px;transform:scale(-1)}.auth-logo{text-align:center;margin-bottom:var(--space-lg)}.auth-logo-img{width:auto;height:24px}.auth-logo-text{font-family:var(--font-display);color:var(--color-gold);letter-spacing:2px;font-size:1.5rem}.auth-logo-star{color:var(--color-gold);margin:0 var(--space-xs)}.auth-title{font-family:var(--font-display);color:var(--color-cream);text-align:center;margin-bottom:var(--space-xl);font-size:1.75rem}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-input{background:var(--color-bg-dark);border:1px solid var(--color-gold-faint);width:100%;color:var(--color-cream);font-family:var(--font-body);transition:border-color var(--transition-fast);padding:14px 16px;font-size:.95rem}.auth-input::placeholder{color:var(--color-tan);opacity:.6}.auth-input:focus{border-color:var(--color-gold);outline:none}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-input-group{position:relative}.auth-name-row{gap:var(--space-md);display:flex}.auth-name-row>*{flex:1 1 0;min-width:0}.auth-btn{background:var(--color-gold);width:100%;color:var(--color-bg-dark);font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);border:none;padding:14px;font-size:.9rem;font-weight:700}.auth-btn:hover:not(:disabled){background:var(--color-cream)}.auth-btn:disabled{opacity:.4;cursor:not-allowed}.auth-btn--secondary{color:var(--color-cream);border:1px solid var(--color-gold-faint);background:0 0}.auth-btn--secondary:hover:not(:disabled){background:var(--color-gold-ghost)}.auth-separator{align-items:center;gap:var(--space-md);margin:var(--space-sm) 0;display:flex}.auth-separator-line{background:var(--color-gold-faint);flex:1;height:1px}.auth-separator-text{color:var(--color-tan);text-transform:uppercase;letter-spacing:1px;font-size:.85rem}.auth-google-btn{justify-content:center;align-items:center;gap:var(--space-sm);display:flex}.auth-google-icon{width:18px;height:18px}.auth-footer{text-align:center;margin-top:var(--space-lg);color:var(--color-tan);font-size:.9rem}.auth-footer a,.auth-link{color:var(--color-gold);cursor:pointer;text-decoration:none}.auth-footer a:hover,.auth-link:hover{color:var(--color-cream)}.auth-error{color:#e74c3c;text-align:center;font-size:.85rem}.auth-success{text-align:center;color:var(--color-cream);line-height:1.6}.auth-success p{margin-bottom:var(--space-md)}.auth-checkbox-group{align-items:flex-start;gap:var(--space-sm);display:flex}.auth-checkbox{accent-color:var(--color-gold);cursor:pointer;flex-shrink:0;margin-top:3px}.auth-checkbox-label{color:var(--color-tan);cursor:pointer;font-size:.85rem;line-height:1.4}.auth-checkbox-label a{color:var(--color-gold)}.auth-options{justify-content:space-between;align-items:center;display:flex}.auth-back-btn{color:var(--color-gold);cursor:pointer;font-family:var(--font-body);background:0 0;border:none;padding:0;font-size:.9rem}.auth-back-btn:hover{color:var(--color-cream)}.password-toggle{cursor:pointer;color:var(--color-tan);background:0 0;border:none;padding:4px;font-size:.85rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-gold)}@media (width<=768px){.auth-card{padding:var(--space-lg)}.auth-title{font-size:1.4rem}.auth-name-row{flex-direction:column}}
