:root{--primary-color: #6c63ff;--secondary-color: #5751d4;--success-color: #28a745;--danger-color: #dc3545;--dark-bg: #1a1a2e;--light-bg: #f8f9fa;--card-shadow: 0 4px 15px rgba(0, 0, 0, .1);--card-shadow-hover: 0 8px 25px rgba(0, 0, 0, .15);--transition-speed: .3s;--border-radius: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;overflow-x:hidden}html{scroll-behavior:smooth}[data-bs-theme=dark] body{background:linear-gradient(135deg,#2c3e50,#1a1a2e);color:#e0e0e0}h1,h2,h3,h4,h5,h6{font-weight:600;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 5px #6c63ff80}50%{box-shadow:0 0 20px #6c63ffcc}}.fade-in{animation:fadeIn .5s ease-in-out}.slide-in-left{animation:slideInFromLeft .6s ease-in-out}.slide-in-right{animation:slideInFromRight .6s ease-in-out}.scale-in{animation:scaleIn .4s ease-in-out}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.loading-spinner{display:inline-block;width:40px;height:40px;border:4px solid rgba(108,99,255,.2);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container-fluid{padding:0 1rem}@media (max-width: 768px){body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}}@media (max-width: 576px){.container-fluid{padding:0 .5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-in-out}.modal-box{background:linear-gradient(145deg,#fff,#f8f9fa);padding:2.5rem;border-radius:20px;width:100%;max-width:450px;position:relative;box-shadow:0 20px 60px #0000004d;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;animation:scaleIn .4s cubic-bezier(.68,-.55,.265,1.55);transition:all .3s ease}[data-bs-theme=dark] .modal-box{background:linear-gradient(145deg,#2c3e50,#34495e)}.modal-box h2{text-align:center;color:#333;margin-bottom:.5rem;font-size:1.8rem;font-weight:700}[data-bs-theme=dark] .modal-box h2{color:#e0e0e0}.login-container{width:100%}.login-form{display:flex;flex-direction:column;gap:1.2rem}.title{text-align:center;color:#333;margin-bottom:.3rem;font-size:1.8rem;font-weight:700}[data-bs-theme=dark] .title{color:#e0e0e0}.subtitle{text-align:center;color:#666;font-size:.9rem;margin-bottom:1.5rem}[data-bs-theme=dark] .subtitle{color:#a0a0a0}.input-field{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;outline:none;transition:all .3s ease;background:#fff;font-family:inherit}[data-bs-theme=dark] .input-field{background:#34495e;border-color:#4a5f7f;color:#e0e0e0}.input-field:focus{border-color:#6c63ff;box-shadow:0 0 0 3px #6c63ff1a;background:#fff}[data-bs-theme=dark] .input-field:focus{background:#3d566e;border-color:#8e85ff}.input-field::placeholder{color:#999}[data-bs-theme=dark] .input-field::placeholder{color:#7a8ba0}.password-container{position:relative;width:100%}.password-container .input-field{padding-right:45px}.toggle-password{position:absolute;top:50%;right:14px;transform:translateY(-50%);cursor:pointer;font-size:1.3rem;color:#666;-webkit-user-select:none;user-select:none;transition:all .2s ease}.toggle-password:hover{transform:translateY(-50%) scale(1.1)}[data-bs-theme=dark] .toggle-password{color:#a0a0a0}.login-btn,.signup-btn{padding:12px 20px;background:linear-gradient(135deg,#6c63ff,#5751d4);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6c63ff4d}.login-btn:hover,.signup-btn:hover{background:linear-gradient(135deg,#5751d4,#4a45b8);transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff66}.login-btn:active,.signup-btn:active{transform:translateY(0)}.login-btn:disabled,.signup-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.footer-text{margin-top:.5rem;text-align:center;font-size:.9rem;color:#666}[data-bs-theme=dark] .footer-text{color:#a0a0a0}.link{color:#6c63ff;cursor:pointer;font-weight:600;text-decoration:none;transition:all .2s ease}.link:hover{color:#5751d4;text-decoration:underline}.close-btn{position:absolute;right:1.5rem;top:1.5rem;background:#ffffffe6;border:none;width:35px;height:35px;border-radius:50%;font-size:1.8rem;line-height:1;color:#333;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000001a}.close-btn:hover{background:#dc3545;color:#fff;transform:rotate(90deg) scale(1.1);box-shadow:0 4px 15px #dc354566}[data-bs-theme=dark] .close-btn{background:#34495ee6;color:#e0e0e0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 576px){.modal-box{padding:2rem 1.5rem;max-width:95%}.title{font-size:1.5rem}.subtitle{font-size:.85rem}.close-btn{width:30px;height:30px;font-size:1.5rem;right:1rem;top:1rem}.input-field{padding:10px 14px;font-size:14px}.login-btn,.signup-btn{padding:10px 16px;font-size:15px}}@media (max-width: 400px){.modal-box{padding:1.5rem 1rem}.login-form{gap:1rem}}
