.login-section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:6rem 2rem 2rem}.dashboard-preview{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background:linear-gradient(135deg,#0f172a,#1e293b)}.dashboard-blur{position:absolute;top:0;left:0;width:100%;height:100%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0f172a80}.dashboard-preview:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1400px;height:80%;background:url(/assets/dashboard-bg-DGNkVwY9.png) center/cover no-repeat;opacity:.8;border-radius:2rem;box-shadow:0 20px 60px #00000080}.login-container{position:relative;z-index:1;width:100%;max-width:480px}.login-card{background:#0f172af2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:3rem 2.5rem;box-shadow:0 20px 60px #00000080}.login-card h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-subtitle{color:#94a3b8;margin-bottom:2rem;font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-form .input-group{display:flex;flex-direction:column;gap:.5rem}.login-form label{color:#cbd5e1;font-size:.9rem;font-weight:500}.login-form input{width:100%;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:#0f172a99;color:#fff;font-family:var(--font-main);font-size:1rem;outline:none;transition:var(--transition)}.login-form input::placeholder{color:#64748b}.login-form input:focus{background:#0f172acc;border-color:var(--color-primary);box-shadow:0 0 0 4px #3b82f61a}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:-.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:#cbd5e1;font-size:.9rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer;accent-color:var(--color-primary)}.forgot-password{color:var(--color-primary);font-size:.9rem;text-decoration:none;transition:var(--transition)}.forgot-password:hover{color:var(--color-primary-hover);text-decoration:underline}.login-button{width:100%;padding:1.25rem;border-radius:.75rem;border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;font-weight:700;font-size:1.1rem;cursor:pointer;transition:var(--transition);margin-top:.5rem;box-shadow:0 4px 12px #3b82f64d}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.login-button:active{transform:translateY(0)}.login-divider{display:flex;align-items:center;margin:2rem 0;color:#64748b;font-size:.9rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.login-divider span{padding:0 1rem}.oauth-button{width:100%;padding:1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:var(--font-main)}.oauth-button:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff1a}.oauth-button svg{width:20px;height:20px}.signup-prompt{text-align:center;margin-top:2rem;color:#94a3b8;font-size:.95rem}.signup-link{color:var(--color-primary);font-weight:600;text-decoration:none;transition:var(--transition)}.signup-link:hover{color:var(--color-primary-hover);text-decoration:underline}@media(max-width:640px){.login-card{padding:2rem 1.5rem}.login-card h1{font-size:2rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}}.error-message{color:#ff6b6b;font-size:.85rem;margin-top:.5rem;display:none}.error-message.show{display:block}.error-message a{color:var(--color-primary);text-decoration:underline}.error-message a:hover{color:var(--color-primary-hover)}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal.active{display:flex;align-items:center;justify-content:center}.modal .modal-content{background:#0f172afa;border:1px solid rgba(255,255,255,.1);border-radius:20px;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal .modal-header h2{font-size:1.5rem;color:#fff;margin:0}.modal-close{background:none;border:none;color:#94a3b8;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close:hover{color:#fff;transform:rotate(90deg)}.modal .modal-body{padding:2rem}.modal .modal-body p{color:#94a3b8;margin-bottom:1.5rem}.modal .modal-footer{display:flex;gap:1rem;padding:1rem 2rem 2rem;justify-content:flex-end}.modal-button{padding:.75rem 1.5rem;border-radius:10px;font-family:var(--font-main);font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;border:none}.modal-button.cancel{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.modal-button.cancel:hover{background:#ffffff26}.modal-button.save{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;box-shadow:0 4px 12px #3b82f64d}.modal-button.save:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.modal-button.save:disabled{opacity:.5;cursor:not-allowed;transform:none}.toast{position:fixed;bottom:2rem;right:2rem;background:#0f172afa;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1rem 1.5rem;color:#fff;font-family:var(--font-main);font-size:.95rem;box-shadow:0 10px 30px #00000080;z-index:3000;opacity:0;transform:translateY(100px);transition:all .3s ease;pointer-events:none;max-width:400px}.toast.show{opacity:1;transform:translateY(0);pointer-events:auto}.toast.success{border-left:4px solid #4CAF50}.toast.error{border-left:4px solid #ff6b6b}@media(max-width:640px){.toast{bottom:1rem;right:1rem;left:1rem;max-width:none}}
