.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg-primary)}.modal-content{position:relative;background:var(--surface);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--border);justify-content:space-between}.modal-header,.modal-header h2{display:flex;align-items:center}.modal-header h2{font-size:16px;font-weight:600;color:var(--text-primary);gap:var(--space-sm)}.modal-close{background:none;border:none;padding:6px;border-radius:var(--radius);color:var(--text-tertiary);cursor:pointer;transition:var(--transition);display:inline-flex}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:var(--space-lg);flex:1 1;overflow-y:auto;min-height:0}.form-group{display:flex;flex-direction:column;margin-bottom:var(--space)}.form-group label{margin-bottom:var(--space-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-sm)}.form-group input,.form-group label{color:var(--text-primary);font-size:13px}.form-group input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);transition:var(--transition);font-family:inherit}.form-group input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.auth-actions{margin-top:var(--space-lg)}.auth-divider{position:relative;text-align:center;margin:var(--space-lg) 0;color:var(--text-tertiary);font-size:13px}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);z-index:1}.auth-divider span{background:var(--surface);padding:0 var(--space);position:relative;z-index:2}.social-login{flex-direction:column;margin-bottom:var(--space-lg)}.btn-social,.social-login{display:flex;gap:var(--space-sm)}.btn-social{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);align-items:center;justify-content:center}.btn-social:hover{background:var(--surface-hover);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.btn-social.google{border-color:#4285f4;color:#4285f4}.btn-social.google:hover{background:rgba(66,133,244,.1)}.btn-social.github{border-color:#333;color:var(--text-primary)}.btn-social.github:hover{background:var(--bg-hover)}.auth-links{text-align:center;margin-top:var(--space-lg)}.auth-links p{margin:var(--space-sm) 0;font-size:14px;color:var(--text-secondary)}.auth-links a{color:var(--accent);text-decoration:none;font-weight:500;transition:var(--transition)}.auth-links a:hover{color:var(--accent-hover);text-decoration:underline}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{padding-right:45px;flex:1 1}.password-toggle{position:absolute;right:12px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;transition:var(--transition);display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.password-requirements{margin-top:4px}.password-requirements small{color:var(--text-tertiary);font-size:12px}.checkbox-container{display:flex;align-items:flex-start;gap:var(--space-sm);margin:var(--space-sm) 0}.checkbox-input{display:none}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:14px;color:var(--text-primary);cursor:pointer;line-height:1.4}.checkbox-custom{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0;margin-top:1px}.checkbox-input:checked+.checkbox-label .checkbox-custom{background:var(--accent);border-color:var(--accent)}.checkbox-input:checked+.checkbox-label .checkbox-custom:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.checkbox-label:hover .checkbox-custom{border-color:var(--accent)}.full-width{width:100%}.auth-message{margin-top:var(--space);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px}.auth-message.success{border-left:3px solid var(--success)}.auth-message.error{border-left:3px solid var(--danger)}