* { margin: 0; padding: 0; box-sizing: border-box; }
body { 
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 100vh; 
    display: flex; 
    align-items: center; 
    justify-content: center;
}
.container { max-width: 400px; width: 90%; }
.glass-form {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    text-align: center;
}
.logo { font-size: 1.5rem; margin-bottom: 1rem; }
h2 { color: white; margin-bottom: 0.5rem; }
p { color: rgba(255,255,255,0.8); margin-bottom: 2rem; }
.input-group { 
    position: relative; margin-bottom: 1.5rem; 
}
input { 
    width: 100%; padding: 1rem; background: rgba(255,255,255,0.2);
    border: none; border-radius: 12px; color: white; 
    backdrop-filter: blur(10px); font-size: 1rem;
}
input::placeholder { color: rgba(255,255,255,0.5); }
label { position: absolute; left: 1rem; top: 1rem; color: rgba(255,255,255,0.7); 
    pointer-events: none; transition: 0.3s; }
input:focus + label, input:valid + label { top: -0.5rem; left: 0.5rem; font-size: 0.8rem; }
button { 
    width: 100%; padding: 1rem; background: rgba(255,255,255,0.3);
    border: none; border-radius: 12px; color: white; font-size: 1rem;
    cursor: pointer; transition: all 0.3s; backdrop-filter: blur(10px);
}
button:hover { background: rgba(255,255,255,0.4); transform: translateY(-2px); }
.error { color: #ff6b6b; margin-top: 1rem; }
.signup-link, .login-link { margin-top: 1.5rem; color: rgba(255,255,255,0.8); }
a { color: white; text-decoration: none; font-weight: 500; }

/* Dashboard styles */
header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; color: white; }
.profile { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.3); display: flex; align-items: center; justify-content: center; font-weight: bold; }
.logout-btn { background: rgba(255,100,100,0.3); padding: 0.5rem 1rem; border-radius: 20px; color: white; }
.dashboard-content { padding: 2rem 0; color: white; }
.profile-card { text-align: left; margin: 2rem 0; }
.content-area { background: rgba(255,255,255,0.1); backdrop-filter: blur(20px); border-radius: 20px; padding: 2rem; }
@media (max-width: 480px) { .glass-form { padding: 1.5rem; } } /* Mobile responsive [web:15][web:21] */
