.auth-container{width:min(500px,90vw);margin:clamp(2rem,8dvh,4rem) auto clamp(2rem,8dvh,4rem);padding:0 1rem;font-family:var(--font-body)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:clamp(1.5rem,5vw,2rem);box-shadow:var(--shadow-md)}.auth-header{text-align:center;margin-bottom:clamp(1rem,4vw,2rem)}.auth-icon{font-size:clamp(2.5rem,8vw,3rem);margin-bottom:1rem}.auth-title{font-size:clamp(1.25rem,5vw,1.5rem);font-weight:600;color:var(--color-text);margin:0 0 .5rem}.auth-subtitle{color:var(--color-text-secondary);margin-bottom:0}.auth-form{display:flex;flex-direction:column;gap:clamp(.75rem,3vw,1rem)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-label-optional{color:var(--color-text-tertiary);font-weight:400}.form-input{width:100%;padding:clamp(.5rem,2vw,.625rem) .75rem;font-family:var(--font-body);font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);transition:border-color .15s,box-shadow .15s}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1718181a}.form-input.error{border-color:#d32f2f}.form-error{font-size:.75rem;color:#d32f2f;margin-top:.25rem}.form-checkbox-group{display:flex;align-items:center;gap:.5rem}.form-checkbox{width:1rem;height:1rem;accent-color:var(--color-primary)}.form-checkbox-label{font-size:.875rem;color:var(--color-text-secondary)}.auth-button{width:100%;padding:clamp(.625rem,2vw,.75rem) 1rem;font-family:var(--font-body);font-size:1rem;font-weight:600;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s;margin-top:.5rem}.auth-button:hover{background:var(--color-primary-hover)}.auth-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-button--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.auth-button--secondary:hover{background:var(--color-bg)}.auth-link-button{background:none;border:none;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;text-decoration:underline;padding:.5rem;width:100%;transition:color .15s}.auth-link-button:hover{color:var(--color-text)}.auth-link-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-google-button{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);text-decoration:none;transition:background-color .15s,border-color .15s}.auth-google-button:hover{background:var(--color-bg);border-color:var(--color-text-tertiary)}.auth-google-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.25rem 0;color:var(--color-text-tertiary);font-size:.8125rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.auth-divider span{padding:0 .75rem}.auth-footer{text-align:center;margin-top:1.25rem;font-size:.875rem;color:var(--color-text-secondary)}.auth-footer a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-footer a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-errors{background:#ffebee;border:1px solid #ffcdd2;border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1rem}.auth-errors ul{margin:0;padding:0 0 0 1.25rem;font-size:.8125rem;color:#c62828}.auth-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:var(--radius-sm);padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.875rem;color:#155724}.auth-info{background:#f8f9fa;border-radius:var(--radius-sm);padding:1rem;margin-bottom:1.25rem;font-size:.875rem;color:var(--color-text-secondary);line-height:1.6}.auth-info p{margin:0}
