:root{--bg-color:#f8f9fa;--text-color:#212529}[data-theme=dark]{--bg-color:#1e272e;--text-color:#dfe6e9}body{background-color:#f8f9fa;background-color:var(--bg-color);color:#212529;color:var(--text-color);font-family:Poppins,sans-serif;line-height:1.6;transition:background-color .3s,color .3s}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.hidden{display:none!important}.auth-container{align-items:center;background-color:var(--bg-color);display:flex;justify-content:center;min-height:100vh;padding:1.5rem 0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:slideInUp .5s ease-out;background:#fff;background:var(--bg-color-card,#fff);border:1px solid #e9ecef;border:1px solid var(--border-color,#e9ecef);border-radius:12px;box-shadow:0 4px 12px #0000000d;box-shadow:0 4px 12px var(--shadow-color,#0000000d);max-width:450px;padding:2.5rem;width:90%}.auth-logo{display:block;height:auto;margin:0 auto 1.5rem;max-width:120px}.auth-title{color:#4caf50;color:var(--color-primary,#4caf50);font-size:2rem;font-weight:700;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#6c757d;color:var(--text-color-secondary,#6c757d);font-size:1rem;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem;position:relative}.form-label{color:#6c757d;color:var(--text-color-secondary,#6c757d);font-weight:500;left:1rem;padding:0 4px;pointer-events:none;position:absolute;top:.75rem;transition:all .2s ease}.form-input,.form-label{background-color:#fff;background-color:var(--bg-color-field,#fff);font-size:1rem;line-height:1.5}.form-input{border:1px solid #ced4da;border:1px solid var(--border-color-input,#ced4da);border-radius:8px;box-sizing:border-box;color:var(--text-color);display:block;padding:.75rem 1rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-input:focus{border-color:#4caf50;border-color:var(--color-primary,#4caf50);box-shadow:0 0 0 3px #4caf5026;box-shadow:0 0 0 3px var(--shadow-color-focus,#4caf5026);outline:none}.form-input:focus+.form-label,.form-input:not(:placeholder-shown)+.form-label{color:#4caf50;color:var(--color-primary,#4caf50);font-size:.8rem;left:.75rem;top:-.7rem}.password-toggle-btn{background:#0000;border:none;color:#6c757d;color:var(--text-color-secondary,#6c757d);cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:2}.password-toggle-btn:hover{color:#4caf50;color:var(--color-primary,#4caf50)}.form-input.input-password{padding-right:4.5rem}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:1.2rem;width:1.2rem}.btn{align-items:center;background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;min-height:calc(3.25rem + 2px);padding:.875rem 1rem;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.btn:hover{background-color:#45a049}.btn:disabled{background-color:#adb5bd;cursor:not-allowed}.auth-links{color:#6c757d;color:var(--text-color-secondary,#6c757d);font-size:.9rem;margin-top:1.5rem}.auth-links.split{align-items:center;display:flex;justify-content:space-between}.auth-links.text-center{text-align:center}.auth-link{color:#4caf50;color:var(--color-primary,#4caf50);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.form-error{color:#dc3545;display:block;font-size:.8rem;margin-top:.25rem}.toast{transition:all .4s ease}[data-theme=dark]{--bg-color-card:#28303a;--bg-color-field:#3b424d;--text-color-secondary:#b0bec5;--border-color:#495057;--border-color-input:#495057;--shadow-color:#0006;--shadow-color-focus:#69f0ae4d;--color-primary:#69f0ae}[data-theme=dark] .btn:hover{background-color:#00c853}.form-input:-webkit-autofill,.form-input:-webkit-autofill:active,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-color)!important;border-color:#ced4da;border-color:var(--border-color-input,#ced4da);box-shadow:inset 0 0 0 1000px #fff!important;box-shadow:0 0 0 1000px var(--bg-color-field,#fff) inset!important}.dashboard-header{background:#fff;box-shadow:0 2px 4px #0000000d;padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;transition:background-color .3s ease,box-shadow .3s ease;z-index:1000}.header-content{justify-content:space-between}.header-content,.user-info{align-items:center;display:flex}.user-info{gap:1rem}.btn-sm{font-size:.875rem;padding:.375rem .75rem}.dashboard-main{padding:2rem 0}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:992px){.dashboard-grid{grid-template-columns:300px 1fr}}.main-content,.sidebar{display:flex;flex-direction:column;gap:1.5rem}.card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease}.card:hover{box-shadow:0 12px 24px #0000001a;transform:translateY(-5px)}.card-title{border-bottom:1px solid #f1f3f5;color:#343a40;font-size:1.25rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem}.level-badge{grid-gap:.75rem;align-items:center;background:linear-gradient(135deg,#b2f5b5,#4caf50);border-radius:12px;box-shadow:0 4px 15px #4caf504d;color:#fff;display:grid;gap:.75rem;grid-template-columns:80px 1fr;padding:1rem;transition:transform .3s ease}.level-badge:hover{transform:translateY(-3px)}.level-badge .badge-icon{flex-shrink:0;font-size:0;height:80px;line-height:1;position:relative;text-align:center;width:80px}.level-badge .badge-icon img{height:100%;max-width:80px;object-fit:contain;width:100%}.level-badge .badge-icon img:hover{transform:scale(1.3)}.badge-info{min-width:0}.badge-info h3{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.badge-info p{font-size:.9rem;margin:0;opacity:.9}.quote-section{text-align:left}.quote-text{color:#495057;font-size:1.1rem;font-style:italic;margin-bottom:1rem;transition:color .3s ease;white-space:normal}.quote-author{color:#6c757d;font-weight:500;transition:color .3s ease}.activity-item{align-items:center;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem 3rem 1rem 1rem;position:relative;transition:all .3s ease}.activity-item:not(.completed):hover{background-color:#f8f9fa;border-color:#4caf50;box-shadow:0 2px 8px #0000000d;transform:translateX(5px)}.activity-item.completed{background-color:#f1f3f5;color:#6c757d}.activity-checkbox{align-items:center;border:2px solid #ced4da;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-weight:600;height:1.5rem;justify-content:center;transition:all .3s ease;width:1.5rem}.activity-item:not(.completed) .activity-checkbox:hover{border-color:#4caf50;transform:scale(1.1)}.activity-checkbox.checked{background-color:#4caf50;border-color:#4caf50}.activity-checkbox.loading{background-color:#adb5bd;border-color:#adb5bd;cursor:not-allowed;font-size:.75rem}.activity-item.completed .activity-checkbox{cursor:default}.activity-info{flex:1 1}.activity-name{color:#212529;font-weight:500}.activity-item.completed .activity-name{color:#6c757d;text-decoration:line-through}.activity-points{color:#4caf50;font-size:.9rem;font-weight:600}.activity-item.completed .activity-points{color:#6c757d}.activity-info-btn{background:#e9ecef;border:none;border-radius:50%;color:#495057;cursor:pointer;font-size:1rem;font-weight:700;height:1.75rem;line-height:1.75rem;position:absolute;right:1rem;text-align:center;top:50%;transform:translateY(-50%);transition:all .3s cubic-bezier(.175,.885,.32,1.275);width:1.75rem}.activity-info-btn:hover{background:#ced4da;color:#212529;transform:translateY(-50%) scale(1.15)}.chart-container{height:350px;position:relative}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:2000}.modal-overlay:not(.hidden){opacity:1}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:450px;transform:scale(.95);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);width:90%}.modal-overlay:not(.hidden) .modal-content{transform:scale(1)}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header h3{font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#adb5bd;cursor:pointer;font-size:1.75rem;line-height:1;padding:0;transition:color .2s,transform .2s}.modal-close:hover{color:#dc3545;transform:rotate(90deg)}.modal-body{color:#495057;font-size:1rem;padding:1.5rem}.education-modal-body h4{color:#4caf50;font-weight:600;margin-bottom:.5rem;margin-top:1rem}.education-modal-body p{color:#495057;white-space:pre-line}.modal-footer{background-color:#f8f9fa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem}.btn-danger{background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#5a6268}#toast-container{display:flex;flex-direction:column;gap:.75rem;position:fixed;right:1.5rem;top:1.5rem;z-index:3000}.toast{border-radius:8px;box-shadow:0 5px 15px #0000001a;color:#fff;font-weight:500;opacity:0;padding:1rem 1.5rem;transform:translateX(100%);transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}.toast.show{opacity:1;transform:translateX(0)}.toast.toast-success{background-color:#4caf50}.toast.toast-error{background-color:#dc3545}.skeleton{animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-title{height:1.5rem;margin-bottom:1.25rem;width:60%}.skeleton-text,.skeleton-title{background:#e9ecef;border-radius:4px}.skeleton-text{height:1rem;margin-bottom:.75rem}.skeleton-text.short{width:70%}.skeleton-badge{height:70px}.skeleton-badge,.skeleton-chart{background:#e9ecef;border-radius:12px}.skeleton-chart{height:350px}.error-card{background:#fff6f6;border-color:#dc3545;text-align:center}.error-card .card-title{border-bottom:none;color:#dc3545}.error-card p{color:#721c24;margin-bottom:1.5rem}.impact-stats{display:flex;flex-direction:column;gap:1.5rem}.impact-item{align-items:center;display:flex;gap:1rem;transition:transform .3s ease}.impact-item:hover{transform:translateX(5px)}.impact-icon{align-items:center;display:flex;flex-shrink:0;font-size:2rem;height:2rem;justify-content:center;line-height:1;width:2rem}.impact-text{display:flex;flex-direction:column}.impact-value{color:#4caf50;font-size:1.25rem;font-weight:600}.impact-label{font-size:.9rem}.impact-analogy,.impact-label{color:#6c757d;transition:color .3s}.impact-analogy{font-size:.85rem;font-style:italic;margin-top:4px}#leaderboardList,.leaderboard{display:flex;flex-direction:column}#leaderboardList{gap:1.25rem;list-style:none;margin:0;padding-left:0}.leaderboard-item{align-items:center;border-radius:8px;display:flex;gap:1rem;padding:.5rem;transition:background-color .2s ease,transform .2s ease}.leaderboard-avatar{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:40px;margin-right:.75rem;object-fit:cover;width:40px}.leaderboard-item:hover{background-color:#00000008;transform:scale(1.02)}.leaderboard-item img:hover{transform:scale(1.5)}.leaderboard-rank{color:#4caf50;font-size:1.25rem;font-weight:700;min-width:20px;text-align:right}.leaderboard-item:first-child .leaderboard-rank{color:gold}.leaderboard-item:nth-child(2) .leaderboard-rank{color:silver}.leaderboard-item:nth-child(3) .leaderboard-rank{color:#cd7f32}.leaderboard-info{flex:1 1}.leaderboard-name{color:#343a40;display:block;font-weight:600}.leaderboard-points{color:#6c757d;font-size:.9rem}.ai-assistant .form-group{margin-bottom:1rem}.ai-assistant .form-input{background-color:#fff;border:1px solid #ced4da;border-radius:8px;box-sizing:border-box;color:#495057;display:block;font-size:.9rem;line-height:1.5;padding:.75rem 1rem;resize:vertical;transition:all .3s ease;width:100%}.ai-assistant .form-input:focus,.ai-assistant .form-input:hover{border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026}.ai-buttons{display:flex;gap:.75rem;margin-bottom:1rem}.ai-response{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#343a40;font-size:.9rem;min-height:50px;padding:1rem;transition:background-color .3s,border-color .3s,color .3s;white-space:pre-line}.filter-container{border-bottom:1px solid #f1f3f5;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.btn-filter{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;color:#495057;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-filter .filter-icon{font-size:14px;margin-right:8px}.btn-filter:hover{background-color:#e9ecef;border-color:#4caf50;transform:translateY(-2px)}.btn-filter.active{background-color:#4caf50;border-color:#4caf50;box-shadow:0 2px 8px #4caf504d;color:#fff;transform:scale(1.05)}.badge-grid{grid-gap:1rem;display:grid;flex-wrap:wrap;gap:1rem;grid-template-columns:repeat(3,1fr);justify-content:center}.badge-item{align-items:center;cursor:help;display:flex;flex-direction:column;height:60px;justify-content:center;padding:10px;position:relative;transition:transform .3s ease;width:60px}.badge-item:hover{transform:scale(1.1)}.badge-image{height:100px;margin-bottom:0;transition:transform .2s;width:100px}.badge-item:not(.unlocked) .badge-image{filter:grayscale(100%);opacity:.5}.badge-item.unlocked .badge-image:hover{transform:scale(1.1)}.badge-icon .badge-icon{filter:grayscale(100%);font-size:3rem;line-height:1;opacity:.3;text-align:center;transition:all .3s ease}.badge-item.unlocked .badge-icon{filter:grayscale(0);opacity:1}.badge-tooltip{background-color:#343a40;border-radius:8px;bottom:110%;color:#fff;font-size:.875rem;font-weight:500;opacity:0;padding:.5rem .75rem;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;white-space:nowrap;z-index:10}.badge-tooltip,.badge-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.badge-tooltip:after{border:5px solid #0000;border-top-color:#343a40;content:"";top:100%}.badge-item:hover .badge-tooltip{opacity:1;visibility:visible}.user-menu{position:relative}.user-trigger{align-items:center;border-radius:25px;cursor:pointer;display:flex;gap:.75rem;padding:.25rem;transition:background .2s,transform .2s}.user-trigger:hover{background-color:#f8f9fa;transform:translateY(-1px)}.user-name-display{color:#343a40;font-weight:600;transition:color .3s}.profile-pic{border:2px solid #4caf50;border-radius:50%;height:40px;object-fit:cover;width:40px}.dropdown-menu{animation:slideDown .2s ease;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 10px 30px #00000026;overflow:hidden;position:absolute;right:0;top:120%;width:220px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submenu-slide{animation:slideDown .2s ease forwards;height:100%;width:100%}.dropdown-item{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:.95rem;gap:.5rem;justify-content:flex-start;padding:.75rem 1rem;transition:background .2s}.dropdown-item:hover{background-color:#f8f9fa;color:#212529}.dropdown-item.danger:hover{background-color:#fff5f5}.dropdown-header{align-items:center;border-bottom:1px solid #f1f3f5;color:#6c757d;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1rem}.dropdown-header:hover{background-color:#f8f9fa;color:#343a40}.dropdown-divider{background-color:#f1f3f5;height:1px;margin:.25rem 0}.fa-icon-wrapper i.fa-solid{vertical-align:0}.dropdown-item.has-submenu{gap:1;justify-content:space-between}.dropdown-item.has-submenu .fa-arrow-right-custom{color:#495057;font-size:1.25rem;font-weight:700;margin-left:auto;transition:transform .2s ease}.dropdown-item.has-submenu:hover .fa-arrow-right-custom{transform:translateX(3px)}.dropdown-item.has-submenu span{font-size:1.1em}.dropdown-item.danger{color:#dc3545}[data-theme=dark] .card,[data-theme=dark] .dashboard-header,[data-theme=dark] .dropdown-menu{background:#2d3436;border-color:#444;color:#dfe6e9}[data-theme=dark] .activity-name,[data-theme=dark] .card-title,[data-theme=dark] .dropdown-item,[data-theme=dark] .user-name-display{color:#dfe6e9}[data-theme=dark] .dropdown-item:hover,[data-theme=dark] .user-trigger:hover{background-color:#3b4446}[data-theme=dark] body{background-color:#1e272e;color:#b2bec3}[data-theme=dark] .modal-content{background-color:#2d3436;color:#dfe6e9}[data-theme=dark] .quote-text{color:#fff}[data-theme=dark] .quote-author{color:#ced4da}[data-theme=dark] .impact-analogy{color:#e9ecef}[data-theme=dark] .impact-label{color:#adb5bd}[data-theme=dark] .ai-response{background-color:#2d3436;border-color:#495057;color:#fff}[data-theme=dark] .ai-response strong{color:#81c784}[data-theme=dark] .form-input{background-color:#2d3436;border-color:#495057;color:#dfe6e9}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-input:hover{background-color:#3b4446;border-color:#4caf50}[data-theme=dark] .activity-item{background-color:#ffffff05;border-color:#444}[data-theme=dark] .activity-item:not(.completed):hover{background-color:#3b4446;border-color:#4caf50}[data-theme=dark] .activity-item.completed{background-color:#2d3436;border-color:#333}[data-theme=dark] .activity-info-btn{background-color:#444;color:#dfe6e9}[data-theme=dark] .activity-info-btn:hover{background-color:#4caf50;color:#fff}[data-theme=dark] .card:hover{border-color:#636e72;box-shadow:0 8px 20px #0000004d}[data-theme=dark] .leaderboard-name{color:#dfe6e9}[data-theme=dark] .leaderboard-avatar{border-color:#444}[data-theme=dark] .leaderboard-points{color:#b2bec3}[data-theme=dark] .leaderboard-rank{text-shadow:0 2px 4px #0000004d}[data-theme=dark] .leaderboard-item:hover{background-color:#ffffff0d}[data-theme=dark] .education-modal-body h4{color:#81c784}[data-theme=dark] .education-modal-body p{color:#dfe6e9}[data-theme=dark] .education-modal-body a{color:#74c0fc}[data-theme=dark] .btn-filter{background-color:#ffffff05;border-color:#444;color:#dfe6e9}[data-theme=dark] .btn-filter:hover{background-color:#3b4446;border-color:#4caf50}[data-theme=dark] .dropdown-header:hover{background-color:#3b4446;color:#dfe6e9}[data-theme=dark] .modal-footer{background-color:#2d3436}[data-theme=dark] .btn-filter.active{background-color:#4caf50;border-color:#4caf50;color:#fff}.logo{align-items:center;color:#4caf50;display:flex;font-size:1.5rem;font-weight:700;gap:10px}.header-logo-img{height:45px;object-fit:contain;width:45px}.upload-modal-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:1rem 0;text-align:center}.profile-preview-img{border:4px solid #f0f0f0;border-radius:50%;box-shadow:0 4px 6px #0000001a;height:120px;margin-bottom:1.5rem;object-fit:cover;width:120px}.file-upload-btn{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;margin:0 auto;max-width:220px;padding:.6rem 1.5rem;text-align:center;transition:all .3s ease;white-space:nowrap;width:100%}.file-upload-btn.loading{cursor:wait;opacity:.7}.upload-helper-text{color:#6c757d;font-size:.85rem;margin-top:1rem}.forgot-password-link{color:#4caf50;font-size:.85rem;text-decoration:none;transition:color .2s}.forgot-password-link:hover{color:#388e3c;text-decoration:underline}.forgot-password-wrapper{margin-top:5px;text-align:right}.logout-confirmation-text{color:#4a5568;font-size:1rem;margin-bottom:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.btn-secondary{background-color:#e2e8f0;border:none;border-radius:8px;color:#4a5568;cursor:pointer;padding:.6rem 1.2rem;transition:background .2s}.btn-secondary:hover{background-color:#cbd5e0}.btn-danger{background-color:#e53e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.6rem 1.2rem;transition:background .2s}.btn-danger:hover{background-color:#c53030}
/*# sourceMappingURL=main.f2aa712e.css.map*/