.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1f2e,#2d3748);padding:1rem}.auth-card{background:hsla(0,0%,100%,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;box-shadow:0 10px 25px rgba(0,0,0,.2);padding:2rem;width:100%;max-width:420px;animation:slideUp .5s ease-out;border:1px solid hsla(0,0%,100%,.1)}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:.5rem}.auth-header p{color:#a0aec0;font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-input-group{position:relative}.auth-input{width:100%;padding:.75rem 1rem;border:2px solid hsla(0,0%,100%,.1);border-radius:.5rem;font-size:.875rem;transition:all .2s;background:hsla(0,0%,100%,.05);color:#fff}.auth-input::-moz-placeholder{color:#a0aec0}.auth-input::placeholder{color:#a0aec0}.auth-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2);outline:none;background:hsla(0,0%,100%,.1)}.auth-button{width:100%;padding:.75rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.auth-button:hover{background:#2563eb;transform:translateY(-1px)}.auth-button:active{transform:translateY(0)}.auth-link{color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s}.auth-link:hover{color:#60a5fa}.auth-error{color:#ef4444;animation:shake .5s ease-in-out}.auth-error,.auth-success{font-size:.875rem;text-align:center}.auth-success{color:#10b981;animation:fadeIn .5s ease-out}.role-selector{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.role-option{padding:1rem;border:2px solid hsla(0,0%,100%,.1);border-radius:.5rem;cursor:pointer;transition:all .2s;background:hsla(0,0%,100%,.05)}.role-option:hover{border-color:#3b82f6;background:rgba(59,130,246,.1)}.role-option.selected{border-color:#3b82f6;background:rgba(59,130,246,.2)}.role-option h3{color:#fff;margin-bottom:.25rem}.role-option p{color:#a0aec0;font-size:.875rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}