:root{--primary:#0a1226;--primary-contrast:#f8fafc;--background:#f5f7fa;--surface:#fff;--text-primary:#171c26;--text-secondary:#3f4555;--text-muted:#6b7280;--border:#e7ebf1;--hover:#edf2f8;--active:#eaf0f6;--danger:#d64545;--danger-bg:#fff1f1;--theme-bg:#f8fafc;--theme-border:#e4e9f0;--motivation-bg:#f3f6fa;--motivation-border:#e3e9f1}.app-layout.dark-mode{--primary:#044d5b;--primary-contrast:#f3f6ff;--background:#101114;--surface:#17191d;--text-primary:#f5f7fb;--text-secondary:#b8bcc8;--text-muted:#7a828f;--border:#2a2f36;--hover:#1f2329;--active:#232933;--danger:#ff6b6b;--danger-bg:#2a1e22;--theme-bg:#13161a;--theme-border:#2a2f36;--motivation-bg:#1b1f26;--motivation-border:#2a2f36}*{box-sizing:border-box}html{font-size:16px}body{background:var(--background);color:var(--text-primary);margin:0;font-family:Inter,Arial,sans-serif}.app-layout{background:var(--background);color:var(--text-primary);min-height:100vh;transition:background .2s,color .2s}.main-content{min-height:100vh;margin-left:260px}main{padding:30px}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:260px;height:100vh;padding:24px 16px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{color:var(--text-primary);letter-spacing:-.5px;align-items:center;gap:11px;margin-bottom:24px;padding:0 10px;font-size:1.3rem;font-weight:700;display:flex}.logo-icon{width:38px;height:38px;color:var(--primary-contrast);background:var(--primary);border-radius:11px;justify-content:center;align-items:center;display:flex;box-shadow:0 5px 14px #1a1d242e}.sidebar-nav{flex-direction:column;gap:18px;display:flex}.sidebar-section{flex-direction:column;gap:2px;display:flex}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin:0 0 6px 12px;font-size:.7rem;font-weight:700}.side-btn{height:40px;color:var(--text-secondary);border-radius:10px;align-items:center;gap:13px;padding:0 13px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.side-btn svg{stroke-width:1.9px;flex-shrink:0}.side-btn:hover{background:var(--hover);color:var(--primary)}.side-btn.active{color:var(--primary);background:var(--active);font-weight:600}.side-btn.active svg{stroke-width:2.3px}.side-btn.logout:hover{color:var(--danger);background:var(--danger-bg)}.sidebar-bottom{flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.theme-toggle{border:1px solid var(--theme-border);background:var(--theme-bg);width:100%;height:42px;color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:0 10px;font-family:inherit;font-size:.8rem;font-weight:500;display:flex}.theme-icon{color:#f59e0b;justify-content:center;align-items:center;display:flex}.toggle{background:#dfe1e8;border-radius:20px;align-items:center;width:30px;height:17px;margin-left:auto;padding:2px;display:flex}.toggle-circle{background:#fff;border-radius:50%;width:13px;height:13px;box-shadow:0 1px 3px #00000026}.sidebar-motivation{background:linear-gradient(135deg, var(--motivation-bg), #f8f7ff);border:1px solid var(--motivation-border);border-radius:12px;padding:12px}.sidebar-motivation p{color:#4b3fd1;margin:0 0 4px;font-size:.75rem;font-weight:600}.sidebar-motivation span{color:var(--text-muted);font-size:.7rem}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:72px;padding:0 30px;display:flex}.topbar-search{background:var(--background);border:1px solid var(--border);width:320px;height:40px;color:var(--text-muted);border-radius:9px;align-items:center;gap:10px;padding:0 13px;display:flex}.topbar-search svg{flex-shrink:0}.topbar-search input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit;font-size:.875rem}.topbar-search input::placeholder{color:var(--text-muted)}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:relative}.topbar-btn:hover{background:var(--hover);color:var(--primary)}.notification-dot{background:var(--primary);border:2px solid var(--surface);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.topbar-profile{cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:9px;height:40px;margin-left:8px;padding:0 5px 0 7px;display:flex}.topbar-profile:hover{background:var(--hover)}.profile-avatar{width:34px;height:34px;color:var(--primary);background:var(--active);border-radius:50%;justify-content:center;align-items:center;display:flex}.profile-info{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.profile-name{color:var(--text-primary);font-size:.8rem;font-weight:600}.profile-status{color:var(--text-muted);font-size:.7rem}.topbar-left{align-items:center;gap:12px;display:flex}.menu-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;display:none}.sidebar-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-left:auto;display:none}.notification-wrapper{position:relative}.notification-popup{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:10px;width:220px;padding:16px;position:absolute;top:48px;right:0;box-shadow:0 8px 25px #00000014}.notification-popup strong{margin-bottom:6px;display:block}.notification-popup p{color:var(--text-secondary);margin:0;font-size:.8rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;width:100%;display:grid}.stats-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:8px;min-height:150px;padding:20px;transition:all .2s;display:flex;position:relative}.stats-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000000f}.stats-title{color:var(--text-secondary);font-size:.85rem;font-weight:500}.stats-card strong{color:var(--text-primary);margin-top:4px;font-size:1.5rem;font-weight:600}.stats-card p{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.stats-card svg{width:22px;height:22px;color:var(--primary)}.stat-icon{width:44px;height:44px;color:var(--primary);background:var(--active);border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 10px 20px #0000000f}.stat-content{flex-direction:column;margin-top:14px;display:flex}.stat-line{background:var(--border);border-radius:50px;height:4px;position:absolute;bottom:14px;left:20px;right:20px;overflow:hidden}.stat-line-fill{background:var(--primary);transform-origin:0;border-radius:50px;width:70%;height:100%;transform:scaleX(0)}.progress-bar{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;padding:20px;box-shadow:0 6px 18px #0000000d}.prog-title{color:var(--text-primary);margin-bottom:20px;font-size:1rem;font-weight:600}.progress-cont{flex-direction:column;gap:18px;width:100%;display:flex}.progress{align-items:center;gap:12px;width:100%;display:flex}.tech-icon{aspect-ratio:1;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:visible}.tech-icon-image,.course-icon-image{object-fit:contain;filter:none;width:100%;height:100%;display:block}.prog-subject{width:90px;color:var(--text-primary);flex-shrink:0;font-size:.85rem;font-weight:500}.progress-track{background:var(--border);border-radius:50px;flex:1;height:6px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transform:width .3s ease;border-radius:50px}.prog-percent{width:40px;color:var(--text-primary);text-align:right;font-size:.8rem}.learning{width:100%;max-width:1100px;padding-bottom:40px}.learning-header{margin-bottom:22px}.learning-header h1{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.learning-header p{color:var(--text-muted);margin:6px 0 0;font-size:.85rem}.learning-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.learning-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.learning-stat-icon{width:40px;height:40px;color:var(--primary);background:var(--active);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.learning-stat span{color:var(--text-muted);margin-bottom:3px;font-size:.7rem;display:block}.learning-stat strong{color:var(--text-primary);font-size:1rem}.courses-section .section-heading{margin-bottom:14px}.courses-section .section-heading p{color:var(--text-muted);margin:4px 0 0;font-size:.75rem}.courses-section .section-heading>span{color:var(--text-muted);font-size:.75rem}.goals-section{width:100%}.goals-section-title{color:var(--text-primary);font-size:1rem;font-weight:600}.goals-section .section-heading button{color:var(--primary);background:var(--active);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:.75rem}.goals{background:0 0;border:none;border-radius:0;padding:0}.goals-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.goals-header span{color:var(--text-muted);font-size:.75rem}.goals-header strong{color:var(--primary);font-size:.8rem}.goals-progress-track{background:var(--border);border-radius:50px;width:100%;height:7px;margin-bottom:16px;overflow:hidden}.goals-progress{background:var(--primary);border-radius:50px;height:100%;transition:width .3s}.goals-list{flex-direction:column;gap:8px;max-height:220px;padding-right:6px;display:flex;overflow-y:auto}.goal{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.goal-check{color:#fff;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.goal-check.completed{color:#fff;background:var(--primary);border-color:var(--primary)}.goal>span:nth-child(2){color:var(--text-primary);flex:1;font-size:.75rem}.goal-completed{text-decoration:line-through;color:var(--text-muted)!important}.goal-status{border-radius:999px;padding:4px 7px;font-size:.65rem}.goal-done{color:var(--primary);background:var(--active)}.goal-pending{color:var(--text-muted);background:var(--border)}.goals-header>div{align-items:center;gap:10px;display:flex}.add-goal-button{color:var(--primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:5px;padding:7px 10px;font-size:.7rem;display:flex}.add-goal-button:hover{opacity:.85}.add-goal-form{gap:8px;margin-bottom:12px;display:flex}.add-goal-form input{min-width:0;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:8px;outline:none;flex:1;padding:9px 10px;font-size:.75rem}.add-goal-form input:focus{border-color:var(--primary)}.add-goal-form button{color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:8px;padding:8px 12px;font-size:.7rem}.dashboard{width:100%;max-width:1100px;padding-bottom:40px}.dashboard-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.dashboard-header h1{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.dashboard-header p{color:var(--text-muted);margin:6px 0 0;font-size:.85rem}.dashboard-date{background:var(--surface);border:1px solid var(--border);text-align:right;border-radius:10px;min-width:120px;padding:10px 14px}.dashboard-date span{color:var(--text-muted);font-size:.65rem;display:block}.dashboard-date strong{color:var(--primary);margin-top:3px;font-size:1rem;display:block}.dashboard-main-grid{grid-template-columns:1.4fr 1fr;gap:18px;width:100%;margin-top:20px;display:grid}.toggle{background:var(--border);border-radius:50px;align-items:center;width:32px;height:18px;margin-left:auto;padding:2px;transition:all .2s;display:flex}.toggle-circle{background:var(--text-muted);border-radius:50%;width:14px;height:14px;transition:all .2s}.toggle-active{background:var(--primary)}.toggle-active .toggle-circle{background:#fff;margin-left:14px}.projects-section{width:100%;margin-top:24px}.projects-section>h2{color:var(--text-primary);margin:0 0 16px;font-size:1.2rem;font-weight:600}.projects-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:transform .2s,border-color .2s;overflow:hidden}.project-card:hover{border-color:var(--primary);transform:translateY(-3px)}.project-image{background:var(--border);aspect-ratio:360/170;width:100%;height:170px;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-image img{transform:scale(1.03)}.project-content{padding:16px}.project-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-heading h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.project-heading>div>span{color:var(--text-muted);margin-top:5px;font-size:.7rem;display:block}.project-status{white-space:nowrap;border-radius:6px;padding:5px 8px;font-size:.65rem}.proj-completed{color:var(--primary);background:var(--active)}.proj-inprogress{color:var(--text-muted);background:var(--border)}.project-progress{align-items:center;gap:10px;margin-top:18px;display:flex}.project-progress-track{background:var(--border);border-radius:50px;flex:1;height:6px;overflow:hidden}.project-progress-fill{background:var(--primary);border-radius:50px;height:100%}.project-progress>span{color:var(--text-muted);font-size:.7rem}.project-button{width:100%;color:var(--text-primary);border:1px solid var(--border);text-align:center;box-sizing:border-box;cursor:pointer;background:0 0;border-radius:8px;margin-top:16px;padding:9px 12px;font-size:.75rem;text-decoration:none;transition:background .2s,border-color .2s;display:block}.project-button:hover{background:var(--active);border-color:var(--primary)}.projects-page{width:100%}.projects-page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.projects-page-header h1{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.projects-page-header p{color:var(--text-muted);margin:6px 0 0;font-size:.8rem}.projects-page-icon{width:44px;height:44px;color:var(--primary);background:var(--active);border-radius:10px;justify-content:center;align-items:center;display:flex}.projects-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.projects-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}.projects-stat span{color:var(--text-muted);font-size:.75rem;display:block}.projects-stat strong{color:var(--text-primary);margin-top:6px;font-size:1.3rem;display:block}.projects-page .projects-section{margin-top:0}.courses-section{width:100%;margin-top:20px}.courses-section h2{color:var(--primary);font-size:1.2rem;font-weight:500}.courses-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.course-card h2{color:var(--text-primary);margin:0 0 6px;font-size:1.1rem}.course-progress-track{background:var(--border);border-radius:50px;width:100%;height:8px;margin:16px 0 8px;overflow:hidden}.course-progress-fill{background:var(--primary);border-radius:50px;height:100%;transition:width .3s}.course-icon{aspect-ratio:1;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:flex;overflow:visible}.course-card-header{align-items:center;gap:12px;display:flex}.course-card-info{flex:1}.course-card-info h2,.course-card-info h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.course-card-info span{color:var(--text-muted);margin-top:3px;font-size:.7rem;display:block}.course-card-header strong{color:var(--primary);font-size:.9rem}.course-card-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.course-card-footer>span{color:var(--text-muted);font-size:.75rem}.course-selected{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:.75rem;font-weight:500;transition:all .2s}.course-card-selected{border-color:var(--primary)}.course-selected:hover{background:var(--active);color:var(--primary);border-color:var(--primary)}.course-selected:active{transform:scale(.97)}.continue-learning{width:100%;margin-top:24px}.continue-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:0 6px 18px #0000000d}.continue-header{align-items:center;gap:12px;display:flex}.continue-icon{width:44px;height:44px;color:var(--primary);background:var(--active);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.continue-icon span{font-size:.8rem}.continue-title{flex:1}.continue-title h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.continue-title span{color:var(--text-muted);margin-top:3px;font-size:.7rem;display:block}.continue-progress{margin-top:20px}.continue-info{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.continue-info span{color:var(--text-muted);font-size:.7rem}.continue-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:18px;padding:10px;font-family:inherit;font-size:.75rem;font-weight:500;transition:all .2s}.continue-button:hover{opacity:.9;transform:translateY(-1px)}.continue-button:active{transform:scale(.98)}.continue-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.course-completed-message{color:#16834b;background:#eaf8f0;border-radius:8px;margin:14px 0 0;padding:9px 12px;font-size:.75rem}.profile{width:100%}.profile-header{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:14px;margin-bottom:24px;padding:24px;display:flex}.profile-avatar{width:64px;height:64px;color:var(--primary);background:var(--active);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-header h1{color:var(--text-primary);margin:0;font-size:1.4rem}.profile-header p{color:var(--text-muted);margin:5px 0 0;font-size:.85rem}.profile-edit-button{color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:9px 16px;font-size:.8rem}.profile-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.profile-card-heading{margin-bottom:18px}.profile-card-heading h2{color:var(--text-primary);margin:0;font-size:1rem}.profile-info{flex-direction:column;gap:16px;display:flex}.profile-info-item{align-items:center;gap:12px;display:flex}.profile-info-item>svg{color:var(--primary)}.profile-info-item div{flex-direction:column;gap:3px;display:flex}.profile-info-item span{color:var(--text-muted);font-size:.7rem}.profile-info-item strong{color:var(--text-primary);font-size:.85rem;font-weight:500}.profile-skills{flex-wrap:wrap;gap:8px;display:flex}.profile-skills span{color:var(--primary);background:var(--active);border-radius:7px;padding:7px 11px;font-size:.75rem}.profile-overview{margin-top:16px}.profile-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.profile-stat{background:var(--background);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:14px;display:flex}.profile-stat>svg{color:var(--primary)}.profile-stat div{flex-direction:column;gap:3px;display:flex}.profile-stat span{color:var(--text-muted);font-size:.7rem}.profile-stat strong{color:var(--text-primary);font-size:.9rem;font-weight:600}.profile-info-item a{color:var(--text-primary);text-decoration:none}.goals-page{width:100%}.goals-page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.goals-page-header h1{color:var(--text-primary);margin:0;font-size:1.5rem}.goals-page-header p{color:var(--text-muted);margin:6px 0 0;font-size:.85rem}.goals-add-button{color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:.8rem}.goals-page-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.goals-page-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:18px;display:flex}.goals-page-icon{width:40px;height:40px;color:var(--primary);background:var(--active);border-radius:9px;justify-content:center;align-items:center;display:flex}.goals-page-stat div:last-child{flex-direction:column;gap:3px;display:flex}.goals-page-stat span{color:var(--text-muted);font-size:.7rem}.goals-page-stat strong{color:var(--text-primary);font-size:1rem}.goals-page-content{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.calendar-page{width:100%}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calendar-header h1{color:var(--text-primary);margin:0;font-size:1.5rem}.calendar-header p{color:var(--text-muted);margin:6px 0 0;font-size:.85rem}.calendar-add-button{color:var(--primary-contrast);background:var(--primary);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 15px;font-size:.8rem;display:flex}.calendar-layout{grid-template-columns:2fr 1fr;gap:16px;display:grid}.calendar-card,.calendar-events{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-month h2{color:var(--text-primary);margin:0;font-size:1.05rem}.calendar-actions{align-items:center;gap:6px;display:flex}.calendar-actions button{min-width:32px;height:32px;color:var(--text-secondary);background:var(--background);border:1px solid var(--border);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0 9px;font-size:.7rem;display:flex}.calendar-actions button:hover{color:var(--primary);background:var(--hover)}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{text-align:center;color:var(--text-muted);font-size:.7rem}.calendar-day{height:58px;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:relative}.calendar-day:hover{background:var(--hover)}.calendar-day.today{color:var(--primary);font-weight:600}.calendar-day.selected{color:var(--primary-contrast);background:var(--primary)}.calendar-day.empty{cursor:default}.calendar-day i{background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:7px}.calendar-day.selected i{background:#fff}.calendar-events-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:16px;display:flex}.calendar-events-header h2{color:var(--text-primary);margin:0;font-size:1rem}.calendar-events-header p{color:var(--text-muted);margin:5px 0 0;font-size:.7rem}.calendar-events-header>svg{color:var(--primary)}.event-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.event-item{background:var(--background);border:1px solid var(--border);border-radius:9px;align-items:center;gap:10px;padding:12px;display:flex}.event-icon{width:34px;height:34px;color:var(--primary);background:var(--active);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.event-item div:last-child{flex-direction:column;gap:3px;display:flex}.event-item strong{color:var(--text-primary);font-size:.75rem;font-weight:500}.event-item span{color:var(--text-muted);font-size:.65rem}.no-events{min-height:180px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.no-events p{margin:8px 0 0;font-size:.75rem}.calendar-event-form{gap:8px;margin-bottom:18px;display:flex}.calendar-event-form input{min-width:0;color:var(--text-primary);background:var(--background);border:1px solid var(--border);border-radius:7px;outline:none;flex:1;padding:9px 12px;font-size:.75rem}.calendar-event-form input:focus{border-color:var(--primary)}.calendar-event-form button{color:var(--primary-contrast);background:var(--primary);cursor:pointer;border:none;border-radius:7px;padding:9px 14px;font-size:.75rem}.event-item{align-items:center;gap:10px;display:flex}lets remove not .event-details{flex-direction:column;flex:1;gap:3px;display:flex}.event-delete{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.event-delete:hover{color:var(--danger);background:var(--danger-bg)}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:30px;display:flex}.not-found-icon{width:64px;height:64px;color:var(--primary);background:var(--active);border-radius:14px;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.not-found-code{color:var(--primary);font-size:4rem;font-weight:700;line-height:1}.not-found h1{color:var(--text-primary);margin:12px 0 6px;font-size:1.4rem}.not-found p{max-width:400px;color:var(--text-muted);margin:0 0 20px;font-size:.8rem;line-height:1.6}.not-found-button{color:#fff;background:var(--primary);border-radius:8px;align-items:center;gap:7px;padding:10px 16px;font-size:.75rem;text-decoration:none;display:flex}.not-found-button:hover{opacity:.9}@media (width<=1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}}@media (width<=900px){.topbar{height:64px;padding:0 16px}.topbar-search{width:180px}.profile-info{display:none}.topbar-profile{margin-left:0}.sidebar{width:240px;transform:translate(-100%)}.stats-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.courses-grid{grid-template-columns:1fr}.dashboard{max-width:100%}.dashboard-main-grid{grid-template-columns:1fr}.learning{max-width:100%}.learning-stats{grid-template-columns:1fr 1fr}.calendar-layout{grid-template-columns:1fr}.projects-stats{grid-template-columns:repeat(2,1fr)}.menu-button{display:flex}.sidebar{z-index:300;transition:transform .25s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close{justify-content:center;align-items:center;display:flex}.sidebar-overlay{z-index:250;background:#00000059;position:fixed;inset:0}.main-content{margin-left:0}.topbar{padding:0 20px}main{padding:20px}}@media (width<=768px){main{padding:20px}.goals-page-stats,.projects-stats{grid-template-columns:1fr 1fr}}@media (width<=600px){.dashboard{padding-bottom:24px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-header h1{font-size:1.25rem}.dashboard-header p{font-size:.8rem}.dashboard-date{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stats-card{min-height:120px;padding:14px}.stats-title{font-size:.8rem}.stats-card strong{font-size:1.1rem}.stats-card p{font-size:.7rem}.dashboard-main-grid{grid-template-columns:1fr}.progress-bar{padding:14px}.prog-subject{width:60px;font-size:.75rem}.goals{padding:14px}.goal{gap:8px;padding:8px 10px}.goal span:nth-child(2){font-size:.75rem}.goal-status{padding:3px 6px;font-size:.6rem}.projects-grid{grid-template-columns:1fr}.project-image{height:160px}.learning-header h1{font-size:1.25rem}.learning-header p{font-size:.8rem}.learning-stats{grid-template-columns:1fr}.learning-stat{padding:12px}.projects-stats{grid-template-columns:1fr}.projects-page-header,.goals-page-header{flex-direction:column;align-items:flex-start;gap:12px}.goals-page-stats{grid-template-columns:1fr}.profile-header{text-align:center;flex-direction:column;padding:20px}.profile-edit-button{margin-left:0}.profile-stats-grid{grid-template-columns:1fr 1fr}.calendar-header{flex-direction:column;align-items:flex-start;gap:12px}.calendar-day{height:44px;font-size:.75rem}.topbar{padding:0 14px}.topbar-search{width:100%}.topbar-left{flex:1}.topbar-actions{gap:4px}.topbar-profile{padding:0}.profile-info{display:none}main{padding:16px}}
