:root{--primary:#7B61FF;--secondary:#00F2FF;--accent:#FF2D95;--bg-dark:#05070A;--card-bg:#09090B;--border-glass:#27272A;--text-main:#FAFAFA;--text-dim:#A1A1AA;--btn-primary-bg:#FAFAFA;--btn-primary-text:#09090B;--btn-secondary-bg:transparent;--btn-hover:#E4E4E7}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}body{background:var(--bg-dark);height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.stars-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.star{position:absolute;background:#fff;border-radius:50%;opacity:.5;animation:twinkle var(--duration) infinite ease-in-out}@keyframes twinkle{0%,100%{opacity:.2;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.auth-container{position:relative;z-index:10;width:100%;max-width:400px;padding:1rem}.auth-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:2rem;box-shadow:inset 0 1px 1px rgba(255,255,255,.1),0 10px 40px rgba(0,0,0,.8),0 0 20px rgba(123,97,255,.15);text-align:left;position:relative;color:var(--text-main)}.auth-card::before{content:'';position:absolute;inset:-2px;border-radius:14px;background:linear-gradient(135deg,rgba(123,97,255,.6),rgba(0,242,255,.3),rgba(255,45,149,.3));z-index:-1;filter:blur(4px);opacity:.8}.auth-header{margin-bottom:1.25rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:.75rem}.auth-logo img{height:32px;border-radius:50%}.auth-logo span{font-size:1.25rem;font-weight:700;letter-spacing:1px;color:#fff}.auth-logo .highlight{color:var(--secondary)}.auth-header h1{font-size:1.3rem;font-weight:600;margin-bottom:.4rem;color:var(--text-main);letter-spacing:-.02em}.auth-header p{color:var(--text-dim);font-size:.85rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.input-group{text-align:left}.input-group label{display:block;font-size:.8rem;font-weight:500;color:var(--text-main);margin-bottom:.4rem}.input-wrapper{position:relative}.input-wrapper input{width:100%;background:0 0;border:1px solid var(--border-glass);border-radius:6px;padding:.6rem 1rem .6rem 2.2rem;font-size:.85rem;color:var(--text-main);outline:0;transition:all .2s ease}.input-wrapper input:focus{border-color:#52525b}.input-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);opacity:.6;font-size:.9rem}.forgot-password{text-align:right;margin-top:-.5rem;margin-bottom:.5rem}.forgot-password a{color:var(--text-dim);font-size:.75rem;text-decoration:none;transition:color .2s}.forgot-password a:hover{color:var(--text-main)}.btn-auth{width:100%;padding:.6rem;border-radius:6px;border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login{background:var(--btn-primary-bg);color:var(--btn-primary-text);margin-top:.5rem}.btn-login:hover{background:var(--btn-hover)}.divider{display:flex;align-items:center;gap:.8rem;margin:1.25rem 0;color:#71717a;font-size:.65rem;text-transform:uppercase}.divider::after,.divider::before{content:'';flex:1;height:1px;background:var(--border-glass)}.social-buttons{display:flex;gap:10px}.social-buttons .btn-auth{flex:1}.btn-secondary{background:var(--btn-secondary-bg);border:1px solid var(--border-glass);color:var(--text-main);margin-bottom:.5rem}.btn-secondary:hover{background:#18181b}.btn-secondary img{height:16px}.auth-footer{margin-top:1.25rem;font-size:.8rem;color:var(--text-dim);text-align:center}.auth-footer a{color:var(--text-main);text-decoration:none;font-weight:500;transition:color .2s}.auth-footer a:hover{text-decoration:underline}.back-link{position:absolute;top:2rem;left:2rem;color:var(--text-main);text-decoration:none;display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;padding:.5rem 1.2rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;z-index:100}.back-link:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateX(-4px);box-shadow:0 4px 15px rgba(0,0,0,.2)}.role-toggle-container{display:flex;background:#18181b;border:1px solid var(--border-glass);border-radius:6px;padding:3px;margin-bottom:1.25rem;position:relative}.role-btn{flex:1;padding:.4rem 0;font-size:.75rem;font-weight:500;color:var(--text-dim);background:0 0;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;z-index:2}.role-btn.active{color:var(--text-main)}.role-toggle-bg{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);background:#27272a;border-radius:4px;transition:transform .2s ease;z-index:1}.role-toggle-container.admin-active .role-toggle-bg{transform:translateX(100%)}#auth-error-msg{color:#ff4757;background:rgba(255,71,87,.1);border:1px solid rgba(255,71,87,.3);padding:.75rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem;display:none}.hidden{display:none}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.auth-container{padding:.5rem}.auth-card{padding:1.5rem;border-radius:12px}.auth-header h1{font-size:1.35rem}.auth-logo span{font-size:1.15rem}.back-link{top:1.5rem;left:1rem;font-size:.8rem;padding:.4rem 1rem}}@media (max-width:360px){.auth-card{padding:1.2rem 1rem}.auth-header h1{font-size:1.2rem}.social-buttons{flex-direction:column;gap:8px}}