select,select option{background-color:var(--card, #1e1e3f);color:var(--text, #f1f5f9)}.form-group{margin-bottom:24px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:var(--text);font-size:.95rem;letter-spacing:.01em}.form-control{width:100%;padding:12px 16px;border-radius:var(--border-radius);border:1px solid rgba(99,102,241,.2);background:#1e1e3c4d;backdrop-filter:blur(10px);font-size:.95rem;color:var(--text);transition:all var(--transition-base);line-height:1.5}.form-control:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f133,0 4px 12px #6366f126;transform:translateY(-1px);background:#1e1e3c80}.form-control::placeholder{color:var(--text-light)}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px;cursor:pointer}select.form-control option{background-color:var(--card);color:var(--text);padding:10px}textarea.form-control{min-height:120px;resize:vertical;font-family:inherit}.field-error{border-color:var(--danger)!important;background-color:#ef44441a!important;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.validation-errors{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid var(--danger);border-radius:var(--border-radius-lg);padding:16px;margin-bottom:20px;animation:slideDown var(--transition-base)}.validation-errors ul{list-style:none;margin:0;padding:0}.validation-errors .error-item{color:var(--danger);padding:6px 0;font-size:.9rem}.validation-errors .error-item:before{content:"⚠️ ";margin-right:8px}.validation-errors.fade-out{animation:fadeOut var(--transition-base);opacity:0}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}#auth-container{background:var(--background);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:20px}#auth-container .auth-card{background:var(--card);border:1px solid var(--border-color);box-shadow:0 20px 60px #00000040,0 0 0 1px #ffffff0d;border-radius:16px;position:relative;z-index:1;max-width:480px;width:100%;margin:0 auto;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}#auth-container .auth-card:hover{transform:translateY(-4px);box-shadow:0 25px 70px #0000004d,0 0 0 1px #ffffff14}#auth-container .auth-card-header{background:linear-gradient(135deg,var(--accent),var(--accent-dark, #3a7bd5));padding:56px 40px;text-align:center;border-bottom:none}#auth-container .auth-logo{max-width:180px;height:auto;margin:0 auto 24px;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3));transition:transform .3s ease}#auth-container .auth-logo:hover{transform:scale(1.05)}#auth-container .auth-title{text-align:center;font-size:2.5rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(0,0,0,.1)}#auth-container .card{background:var(--card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);position:relative;z-index:1;max-width:420px;width:100%;margin:0 auto}#auth-container .card-header{background:transparent;border-bottom:none;padding:32px 32px 0;text-align:center}#auth-container .card-title{text-align:center;font-size:2rem;font-weight:600;color:var(--text);margin-bottom:8px}#auth-container .card-body{background-color:transparent;color:var(--text);padding:32px}.input-group{display:flex;gap:12px}.input-group .btn{flex-shrink:0}.form-help{font-size:.85rem;color:var(--text-light);margin-top:6px;line-height:1.4}#status-message{padding:12px 16px;border-radius:var(--border-radius);margin-top:16px;text-align:center;font-weight:500;animation:slideDown var(--transition-base)}@media(max-width:768px){#auth-container{padding:20px 15px}#auth-container .auth-card{max-width:100%;border-radius:12px}#auth-container .auth-card-header{padding:40px 24px}#auth-container .auth-logo{max-width:140px}#auth-container .auth-title{font-size:1.5rem}#auth-container .card-body{padding:24px}.form-group{margin-bottom:20px}.form-control{padding:12px 14px;font-size:16px}.btn{padding:12px 20px;font-size:15px;white-space:nowrap}@media(max-width:400px){.auth-button-group,.signup-button-group{display:flex;flex-direction:column;gap:10px}.auth-button-group .btn,.signup-button-group .btn{width:100%}}}.table-wrapper{overflow-x:auto}.lectures-table{width:100%;border-collapse:collapse;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.lectures-table th,.lectures-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.lectures-table th{background-color:var(--card-hover);color:var(--text);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.lectures-table tr:hover{background-color:var(--card-hover)}.lectures-table tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:8px}.stats-table-container{padding:0 20px 20px;overflow-x:auto}.calendar-container{background-color:var(--card);border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--border-color)}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.calendar-nav-btn{background:none;border:none;font-size:1.2rem;color:var(--text);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.calendar-nav-btn:hover{background-color:var(--secondary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-color)}.calendar-day-header{padding:10px;text-align:center;font-weight:600;font-size:.9rem;color:var(--text-light);border-right:1px solid var(--border-color)}.calendar-day-header:last-child{border-right:none}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:120px;padding:10px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);position:relative}.calendar-day:nth-child(7n){border-right:none}.calendar-day:nth-last-child(-n+7){border-bottom:none}.calendar-day-number{font-size:.9rem;font-weight:600;margin-bottom:8px;color:var(--text)}.calendar-day.other-month .calendar-day-number{color:var(--text-light);opacity:.5}.calendar-day.today{background-color:#3b82f61a}.calendar-day.today .calendar-day-number{color:var(--accent);font-weight:700}.calendar-event{background-color:var(--card-hover);padding:6px 10px;border-radius:6px;font-size:.75rem;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:all .2s ease;font-weight:500}.calendar-event:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.calendar-event-easy{background:linear-gradient(135deg,#10b98126,#10b9810d);border-left:4px solid var(--success);color:#6ee7b7}.calendar-event-easy:before{content:"📗 ";font-size:.7rem}.calendar-event-medium{background:linear-gradient(135deg,#06b6d426,#06b6d40d);border-left:4px solid var(--info);color:#67e8f9}.calendar-event-medium:before{content:"📘 ";font-size:.7rem}.calendar-event-hard{background:linear-gradient(135deg,#ef444426,#ef44440d);border-left:4px solid var(--danger);color:#fca5a5}.calendar-event-hard:before{content:"📕 ";font-size:.7rem}.calendar-event-exam{background:linear-gradient(135deg,#fbbf2440,#d9770626);border:2px solid #f59e0b;border-left:5px solid #f59e0b;color:#fcd34d;font-weight:700;box-shadow:0 2px 8px #f59e0b4d;text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.calendar-event-exam:before{content:"🎓 ";font-size:.8rem}.calendar-event-exam:hover{background:linear-gradient(135deg,#fbbf2459,#d9770640);box-shadow:0 4px 12px #f59e0b66;border-color:#fbbf24}.calendar-event-custom{background:linear-gradient(135deg,#6366f126,#8b5cf614);border:2px dashed #8b5cf6;border-left:4px solid #8b5cf6;color:#c4b5fd;font-weight:500}.calendar-event-custom:before{content:"📅 ";font-size:.7rem}.calendar-event-custom:hover{background:linear-gradient(135deg,#6366f140,#8b5cf626);border-color:#a78bfa}.calendar-event-custom.priority-critical{background:linear-gradient(135deg,#ef444433,#dc26261a);border-color:#ef4444;border-left-color:#ef4444;color:#fca5a5}.calendar-event-custom.priority-critical:before{content:"🚨 "}.calendar-event-custom.priority-high{background:linear-gradient(135deg,#f59e0b33,#d977061a);border-color:#f59e0b;border-left-color:#f59e0b;color:#fcd34d}.calendar-event-custom.priority-high:before{content:"⚠️ "}.calendar-event-critical{border-left-color:var(--danger);background-color:#ef444414}.calendar-event-high{border-left-color:var(--warning);background-color:#f59e0b14}.calendar-event-low{border-left-color:var(--success);background-color:#10b9811a}.table-view-options{display:flex;gap:10px;margin-bottom:16px}.calendar-day.other-month .calendar-event{opacity:.8}.upcoming-cards-card{margin-bottom:24px}.upcoming-cards-card .card-header{border-bottom:1px solid var(--border);padding-bottom:12px}.upcoming-cards-card .card-title i{color:var(--accent);margin-right:8px}.upcoming-range-toggle{display:flex;gap:4px;background:#6366f126;padding:4px;border-radius:8px}.upcoming-range-toggle .btn{padding:6px 12px;font-size:.85rem;border-radius:6px;border:none;background:transparent;color:var(--text-light);transition:all .2s ease;cursor:pointer}.upcoming-range-toggle .btn.active{background:var(--primary, #6366f1);color:#fff;box-shadow:0 2px 4px #6366f14d}.upcoming-range-toggle .btn:hover:not(.active){background:#6366f140;color:var(--text)}.upcoming-summary{display:flex;gap:32px;margin-bottom:16px;padding:16px;background:#6366f11a;border-radius:12px;border:1px solid var(--border-color);flex-wrap:wrap}.upcoming-stat{display:flex;flex-direction:column;gap:4px;min-width:120px}.upcoming-stat .stat-label{font-size:.8rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.upcoming-stat .stat-value{font-size:1.25rem;font-weight:600;color:var(--text);line-height:1.2}.upcoming-stat .stat-unit{font-size:.85rem;color:var(--text-light)}.upcoming-chart-container{height:200px;position:relative;margin-bottom:12px}.upcoming-description{font-size:.9rem;color:var(--text-light);margin:0;text-align:center}@media(max-width:768px){.upcoming-cards-card{margin-bottom:16px}.upcoming-cards-card .card-header{flex-direction:column;align-items:flex-start;gap:12px}.upcoming-cards-card .card-actions{width:100%}.upcoming-summary{flex-direction:row;flex-wrap:wrap;gap:16px;padding:14px;justify-content:space-around}.upcoming-stat{flex-direction:column;align-items:center;text-align:center;gap:4px;min-width:100px;flex:1}.upcoming-stat .stat-label{font-size:.75rem}.upcoming-stat .stat-value{font-size:1.5rem;color:var(--accent)}.upcoming-stat .stat-unit{font-size:.8rem}.upcoming-range-toggle{width:100%;justify-content:center}.upcoming-range-toggle .btn{flex:1;text-align:center}.upcoming-chart-container{height:180px}.upcoming-description{font-size:.85rem;padding:0 8px}}.achievement-toast{position:fixed;top:20px;right:20px;background-color:var(--card);border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border-color);display:flex;padding:15px;width:320px;transform:translate(calc(100% + 20px));transition:transform .3s ease;z-index:var(--z-achievement, 2000)}.achievement-notification.show{transform:translate(0)}.achievement-icon{width:50px;height:50px;background-color:var(--card-hover);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:15px;flex-shrink:0}.achievement-details{flex:1}.achievement-title{font-weight:600;margin-bottom:5px;color:var(--success)}.achievement-name{font-size:1.1rem;font-weight:600;margin-bottom:3px;color:var(--text)}.achievement-description{font-size:.9rem;color:var(--text-light)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;padding:0 20px 20px}.achievement-card{display:flex;padding:15px;border-radius:var(--border-radius);background-color:var(--card-hover);border:1px solid var(--border-color);transition:transform .2s}.achievement-card.earned{border-color:var(--border-color)}.achievement-card.locked{opacity:.7}.achievement-card:hover{transform:translateY(-3px)}.achievement-earned{margin-top:8px;font-size:.8rem;color:var(--success);display:flex;align-items:center;gap:5px}.achievement-xp{margin-top:5px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:4px}.category-progress{font-size:.85rem;font-weight:400;color:var(--text-light);margin-left:auto}.achievement-card.earned .achievement-icon{animation:achievementPulse 2s ease-in-out infinite}@keyframes achievementPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.leaderboard-container{padding:0 20px 20px}.leaderboard-header{display:grid;grid-template-columns:50px 1fr 100px;padding:10px 15px;background-color:var(--card-hover);border-radius:var(--border-radius) var(--border-radius) 0 0;font-weight:600;font-size:.9rem;color:var(--text-light);border:1px solid var(--border-color);border-bottom:none}.leaderboard-body{border:1px solid var(--border-color);border-radius:0 0 var(--border-radius) var(--border-radius);overflow:hidden}.leaderboard-row{display:grid;grid-template-columns:50px 1fr 100px;padding:12px 15px;border-bottom:1px solid var(--border-color);transition:background-color .2s}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row:hover{background-color:var(--card-hover)}.leaderboard-row.current-user{background-color:#3b82f61a}.leaderboard-rank{font-weight:600}.leaderboard-user{display:flex;align-items:center}.leaderboard-avatar{width:30px;height:30px;border-radius:50%;background-color:var(--accent);margin-right:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:600}.leaderboard-name{font-weight:500}.leaderboard-score{text-align:right;font-weight:600}.leaderboard-separator{height:10px;background-color:var(--card-hover);border-top:1px dashed var(--border-color);border-bottom:1px dashed var(--border-color)}.learning-path-container{padding:15px}.learning-path-list{list-style:none;padding:0;margin:15px 0}.learning-path-item{display:flex;align-items:center;margin-bottom:15px;background:var(--card-hover);border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.path-number{background:var(--accent);color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.path-content{padding:15px;flex:1}.path-content h4{margin:0 0 8px;color:var(--text)}.path-meta{display:flex;gap:15px;margin-bottom:10px;font-size:13px;color:var(--text-light)}.admin-tabs{display:flex;background-color:var(--card-hover);border-bottom:1px solid var(--border-color)}.admin-tab{padding:10px 20px;cursor:pointer;font-weight:500;transition:all .2s}.admin-tab:hover{background-color:var(--secondary)}.admin-tab.active{border-bottom:2px solid var(--accent);color:var(--accent)}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.gamification-toast{position:fixed;bottom:30px;right:30px;z-index:var(--z-achievement, 2000);animation:slideInUp .4s ease-out}.gamification-toast-achievement{display:flex;align-items:center;gap:16px;padding:18px 24px;background:linear-gradient(135deg,#f59e0b26,#eab30814);border:1px solid rgba(245,158,11,.4);border-radius:16px;backdrop-filter:blur(10px);box-shadow:0 8px 32px #00000026;min-width:300px;max-width:400px}.gamification-toast-icon-lg{width:48px;height:48px;background:#f59e0b33;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#f59e0b;flex-shrink:0}.gamification-toast-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#f59e0b;font-weight:600}.gamification-toast-name{font-size:1rem;font-weight:700;color:var(--text);margin-top:2px}.gamification-toast-desc{font-size:.85rem;color:var(--text-light);margin-top:2px}.gamification-toast-xp{display:flex;align-items:center;gap:12px;padding:14px 20px;background:linear-gradient(135deg,#3b82f626,#6366f114);border:1px solid rgba(59,130,246,.3);border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000001a;min-width:220px}.gamification-toast-icon-sm{width:36px;height:36px;background:#3b82f633;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#3b82f6;font-size:1rem;flex-shrink:0}.gamification-toast-xp-amount{font-size:1.1rem;font-weight:700;color:#3b82f6}.gamification-toast-xp-reason{font-size:.8rem;color:var(--text-light)}.gamification-toast-levelup{text-align:center;padding:24px 32px;background:linear-gradient(135deg,#a855f726,#ec489914);border:1px solid rgba(168,85,247,.4);border-radius:16px;backdrop-filter:blur(10px);box-shadow:0 8px 32px #0003;min-width:280px}.gamification-toast-levelup-emoji{font-size:2.5rem;margin-bottom:8px}.gamification-toast-levelup-title{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#a855f7;font-weight:600}.gamification-toast-levelup-level{font-size:1.8rem;font-weight:800;color:var(--text);margin-top:4px}.gamification-toast-levelup-name{font-size:.9rem;color:var(--text-light);margin-top:4px}.exam-scheduler-container{padding:20px}.exam-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.exams-list{margin-bottom:30px}.exam-card{background-color:var(--card);border-radius:var(--border-radius);box-shadow:var(--shadow);margin-bottom:20px;padding:20px;border:1px solid var(--border-color)}.exam-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.exam-title{font-size:1.3rem;font-weight:600;margin-bottom:5px}.exam-subject{color:var(--text-light);font-size:.9rem;margin-bottom:10px}.exam-date{background-color:#6366f199;color:#fff;padding:6px 12px;border-radius:20px;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center}.exam-date i{margin-right:6px}.exam-progress{margin:15px 0}.exam-progress-header{display:flex;justify-content:space-between;margin-bottom:10px}.exam-period-indicator{display:flex;height:10px;border-radius:5px;overflow:hidden;margin-bottom:10px}.period-learning{background-color:var(--info)}.period-maintenance{background-color:var(--accent)}.period-retrievability{background-color:var(--success)}.exam-lectures{margin-top:20px}.exam-lectures-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.lecture-list{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius)}.lecture-item{padding:12px 15px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.lecture-item:hover{background-color:var(--card-hover)}.lecture-title{font-weight:500}.lecture-meta{font-size:.9rem;color:var(--text-light)}.exam-form{background-color:var(--card);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px;border:1px solid var(--border-color)}.form-section{margin-bottom:25px}.form-section-title{font-size:1.1rem;font-weight:600;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.form-row{display:flex;gap:20px;margin-bottom:15px}.form-col{flex:1}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-option{display:flex;align-items:center;gap:8px;padding:10px;border-radius:var(--border-radius);border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.radio-option:hover{background-color:var(--card-hover)}.radio-option.selected{background-color:#3b82f61a;border-color:var(--accent)}.radio-option-title{font-weight:600;margin-bottom:4px}.form-help{font-size:.9rem;color:var(--text-light);margin-top:6px}.lecture-selector{margin-top:15px;border:1px solid var(--border-color);border-radius:var(--border-radius);max-height:300px;overflow-y:auto}.lecture-selector-item{padding:12px 15px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;cursor:pointer;transition:background-color .2s}.lecture-selector-item:hover{background-color:var(--card-hover)}.lecture-selector-checkbox{margin-right:12px}.lecture-selector-title{font-weight:500}.lecture-selector-meta{margin-left:auto;font-size:.9rem;color:var(--text-light)}.exam-chart{margin:20px 0;height:200px;width:100%}.chart-legend{display:flex;justify-content:center;gap:20px;margin-top:15px}.legend-color{width:12px;height:12px;border-radius:2px;margin-right:6px}.study-calendar{margin-top:25px}.calendar-month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar-title{font-size:1.2rem;font-weight:600}.calendar-nav{display:flex;gap:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-header{text-align:center;font-weight:600;font-size:.9rem;padding:8px;color:var(--text-light)}.calendar-day{border:1px solid var(--border-color);border-radius:var(--border-radius);min-height:80px;padding:8px;background-color:var(--card)}.calendar-day.other-month{opacity:.6}.calendar-day.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-number{font-weight:600;margin-bottom:6px;font-size:.9rem}.today .day-number{color:var(--accent)}.study-session{margin-bottom:6px;padding:4px 6px;border-radius:4px;font-size:.8rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.session-learning{background-color:var(--info)}.session-maintenance{background-color:var(--accent)}.session-retrievability{background-color:var(--success)}.session-completed{opacity:.7;text-decoration:line-through}.learning-path-item[data-exam=true]{border-left:4px solid var(--success)}.learning-path-item[data-priority="1"]{border-left:4px solid var(--info)}.learning-path-item[data-priority="2"]{border-left:4px solid var(--accent)}.learning-path-item[data-priority="3"]{border-left:4px solid var(--success)}.priority-tag{display:inline-block;padding:2px 6px;border-radius:12px;font-size:.8rem;color:#fff;margin-left:8px}.priority-1{background-color:var(--info)}.priority-2{background-color:var(--accent)}.priority-3{background-color:var(--success)}.learning-path-container{padding:20px}.learning-path-container.horizontal .learning-path-list{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.learning-path-container.horizontal .lp-section{display:flex;flex-direction:column;gap:12px}.learning-path-container.vertical .learning-path-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.learning-path-container.vertical .lp-section{display:flex;flex-direction:column;gap:12px}.learning-path-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.lp-section{display:flex;flex-direction:column;gap:12px}.lp-section-title{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--border-color);display:flex;align-items:center;gap:8px}.lp-section .learning-path-item{margin-bottom:0}.learning-path-item{display:flex;align-items:flex-start;gap:15px;padding:15px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;transition:box-shadow .3s ease,transform .3s ease;position:relative}.learning-path-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.learning-path-item.overdue{border-left:4px solid var(--danger);background:linear-gradient(to right,rgba(239,68,68,.05),transparent)}.lp-rank{font-size:1.5rem;font-weight:700;color:var(--text-light);min-width:40px;text-align:center;padding:10px;background:var(--bg-secondary);border-radius:8px;flex-shrink:0}.lp-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;padding-right:var(--lp-content-padding)}.lp-header{display:flex;justify-content:flex-start;align-items:flex-start;gap:10px;margin-bottom:0;flex-direction:row;width:100%;padding-right:var(--lp-content-padding)}.lp-header h4{margin:0;font-size:1.1rem;color:var(--text-primary);flex:1}.lp-badges{position:absolute;top:15px;right:15px;display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;z-index:10}.priority-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.priority-badge.critical{background:var(--danger);color:#fff}.priority-badge.high{background:var(--warning);color:#fff}.priority-badge.medium{background:var(--info);color:#fff}.priority-badge.low{background:var(--text-light);color:#fff}.exam-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;background:var(--accent);color:#fff;white-space:nowrap}.lp-meta{display:flex;flex-wrap:wrap;gap:15px;font-size:.9rem;color:var(--text-light);margin-bottom:10px}.lp-meta span{display:flex;align-items:center;gap:5px;white-space:nowrap}.lp-progress{display:flex;align-items:center;gap:10px}.progress-bar{flex:1;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));transition:width .3s ease}.progress-text{font-size:.85rem;color:var(--text-light);min-width:80px;text-align:right}.lp-actions{display:flex;gap:8px;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.priority-indicator{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0}.priority-indicator.critical{background:var(--danger);box-shadow:0 0 8px var(--danger)}.priority-indicator.high{background:var(--warning)}.priority-indicator.medium{background:var(--info)}.priority-indicator.low{background:var(--text-light)}.exam-icon{color:#fbbf24;font-size:1rem}.overdue-row{background:linear-gradient(to right,rgba(239,68,68,.05),transparent);border-left:3px solid var(--danger)}.progress-bar-mini{width:60px;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;display:inline-block;margin-right:8px}.exams-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.exam-card{display:flex;justify-content:space-between;align-items:center;padding:15px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;transition:box-shadow .3s ease,transform .3s ease}.exam-card.urgent{border-left:4px solid var(--danger);background:linear-gradient(to right,rgba(239,68,68,.05),transparent)}.exam-card.soon{border-left:4px solid var(--warning);background:linear-gradient(to right,rgba(245,158,11,.05),transparent)}.exam-card.past{opacity:.6;filter:grayscale(.5)}.exam-info h4{margin:0 0 5px;color:var(--text-primary)}.exam-subject{color:var(--accent);font-weight:600;margin:5px 0}.exam-description{color:var(--text-light);font-size:.9rem;margin:5px 0}.exam-date{color:var(--text-light);font-size:.9rem;margin:5px 0;display:flex;align-items:center;gap:8px}.days-until{color:var(--accent);font-weight:600}.past-label{color:var(--danger);font-weight:600}.exam-actions{display:flex;gap:8px}.settings-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid var(--border-color)}.settings-section h3{margin-bottom:10px;color:var(--text-primary)}@media(max-width:992px)and (min-width:769px){.learning-path-item{padding:14px;gap:12px;flex-wrap:wrap;align-items:flex-start}.lp-header{flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:8px;padding-right:0!important}.lp-header h4{font-size:1rem;flex:1;min-width:200px;word-wrap:break-word;overflow-wrap:anywhere}.lp-badges{position:static!important;top:auto!important;right:auto!important;margin-top:0;margin-left:auto;justify-content:flex-end;flex-wrap:wrap;gap:6px;order:2}.lp-content{padding-right:0!important;width:100%}.lp-actions{position:static!important;transform:none!important;margin-top:10px;width:100%;justify-content:flex-start}.lp-actions .btn{flex:0 0 auto;width:auto;min-width:100px}.priority-badge,.exam-badge{font-size:.72rem;padding:3px 8px}}@media(max-width:768px){.learning-path-container{padding:15px}.learning-path-item{flex-direction:column;align-items:flex-start;padding:12px;gap:12px}.lp-rank{align-self:flex-start;font-size:1.2rem;min-width:35px;padding:8px}.lp-header{width:100%;padding-right:0}.lp-content{padding-right:0}.lp-header h4{font-size:1rem;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.lp-badges{width:100%;justify-content:flex-start;position:static}.priority-badge,.exam-badge{font-size:.7rem;padding:3px 8px}.lp-meta{gap:10px;font-size:.85rem}.lp-actions{width:100%;position:static;transform:none}.lp-actions button{flex:1;min-height:44px}.exam-card{flex-direction:column;align-items:flex-start;gap:15px}.exam-actions{width:100%}.exam-actions button{flex:1}.learning-path-list{grid-template-columns:1fr!important}}@media(max-width:1200px){.learning-path-container.vertical .learning-path-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.learning-path-item{flex-direction:column;padding:10px;gap:8px}.lp-rank{font-size:1.1rem;min-width:30px;padding:6px;align-self:flex-start}.lp-content{padding-right:0!important;width:100%}.lp-header h4{font-size:.95rem;line-height:1.3;word-break:break-word;overflow-wrap:anywhere}.lp-badges{position:static!important;top:auto!important;right:auto!important;margin-top:6px;justify-content:flex-start;flex-wrap:wrap;gap:4px}.lp-meta{font-size:.8rem;gap:6px;flex-wrap:wrap}.lp-actions{width:100%;position:static!important;transform:none!important;margin-top:8px;display:flex;gap:6px}.lp-actions .btn{flex:1;padding:8px 10px;font-size:.85rem;min-height:40px}.learning-path-item.hard-section-item .lp-badges{top:auto;right:auto;position:static}}@media(max-width:360px){.learning-path-item{padding:8px;gap:6px}.lp-rank{font-size:1rem;min-width:26px;padding:5px}.lp-header h4{font-size:.9rem}.lp-meta{font-size:.75rem}.priority-badge,.exam-badge,.hard-section-badge{font-size:.6rem;padding:2px 6px}.lp-actions .btn{font-size:.8rem;padding:6px 8px;min-height:36px}}.learning-path-item.hard-section-item{border-left:4px solid var(--warning);background:linear-gradient(to right,rgba(245,158,11,.08),transparent);padding:18px 15px}.learning-path-item.hard-section-item .lp-content{gap:10px}.learning-path-item.hard-section-item .lp-badges{top:12px;right:100px}.learning-path-item.hard-section-item:hover{border-left-color:var(--warning);box-shadow:0 4px 12px #f59e0b26}.learning-path-item.hard-section-item.overdue{border-left:4px solid var(--danger);background:linear-gradient(to right,rgba(239,68,68,.08),transparent)}.hard-section-badge{background:var(--warning);color:#fff;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.btn-warning{background:var(--warning);color:#fff;border:none}.btn-warning:hover{background:#d97706;transform:translateY(-1px)}.settings-page{max-width:900px;margin:0 auto;padding:20px}.settings-header{display:flex;align-items:center;gap:16px;margin-bottom:30px}.settings-header .back-button{background:var(--secondary-light);border:1px solid var(--border-color);color:var(--text);cursor:pointer;padding:10px 16px;display:flex;align-items:center;gap:8px;font-size:.95rem;border-radius:var(--border-radius);transition:all .2s ease}.settings-header .back-button:hover{background:var(--card-hover);transform:translate(-3px)}.settings-title{font-size:1.75rem;font-weight:700;color:var(--text);margin:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.settings-card{background:var(--card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.settings-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.settings-card.danger{border-color:#ef44444d}.settings-card-header{display:flex;align-items:center;gap:12px;padding:20px;background:linear-gradient(135deg,rgba(126,34,206,.05) 0%,transparent 100%);border-bottom:1px solid var(--border-color)}.settings-card.danger .settings-card-header{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,transparent 100%)}.settings-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.settings-card-icon.learning{background:linear-gradient(135deg,#7e22ce33,#6366f133);color:var(--primary)}.settings-card-icon.account{background:linear-gradient(135deg,#00d9ff33,#6366f133);color:var(--accent)}.settings-card-icon.privacy{background:linear-gradient(135deg,#10b98133,#22c55e33);color:var(--success)}.settings-card-icon.data{background:linear-gradient(135deg,#f59e0b33,#fbbf2433);color:var(--warning)}.settings-card-icon.help{background:linear-gradient(135deg,#6366f133,#8b5cf633);color:#6366f1}.settings-card-icon.danger{background:linear-gradient(135deg,#ef444433,#f8717133);color:var(--danger)}.settings-card-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.settings-card-content{padding:16px 20px}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.settings-item.clickable{cursor:pointer;margin:0 -20px;padding:14px 20px;transition:background .2s ease}.settings-item.clickable:hover{background:var(--card-hover)}.settings-item.clickable.danger:hover{background:#ef44441a}.settings-item-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.settings-item-label{font-weight:600;color:var(--text);font-size:.95rem}.settings-item.danger .settings-item-label{color:var(--danger)}.settings-item-description{font-size:.85rem;color:var(--text-light)}.settings-item-control{display:flex;align-items:center;gap:8px;flex-shrink:0}.retention-input{width:70px!important;text-align:center;font-weight:600;padding:8px 12px!important}.retention-unit{font-weight:600;color:var(--text-light)}.settings-slider-container{display:flex;align-items:center;gap:12px;padding:8px 0 4px}.settings-slider-container .form-range{flex:1}.retention-display{font-weight:600;color:var(--accent);min-width:45px;text-align:right}.settings-help-text{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-light);margin-top:8px;padding:10px 12px;background:#6366f114;border-radius:8px}.settings-help-text i{color:var(--accent)}.settings-divider{height:1px;background:var(--border-color);margin:4px 0}.success-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#10b98126;color:var(--success);border-radius:20px;font-size:.85rem;font-weight:600}.events-log-container{margin-top:16px;max-height:300px;overflow-y:auto;padding:12px;background:var(--secondary-light);border-radius:8px;border:1px solid var(--border-color)}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--text-light);transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #6366f14d}.settings-container{padding:20px}.settings-container h3{margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.subject-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background-color:var(--card-hover);border-radius:var(--border-radius);margin-bottom:10px;border:1px solid var(--border-color);transition:transform .2s}.subject-item:hover{transform:translateY(-2px)}.subject-item .subject-name{font-weight:500;color:var(--text)}.loading{text-align:center;padding:20px;color:var(--text-light)}.no-items{padding:20px;text-align:center;color:var(--text-light);background-color:var(--card-hover);border-radius:var(--border-radius);margin-top:10px}.form-group{margin-bottom:25px}.form-label{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--text);cursor:pointer;margin-bottom:8px}.form-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.form-help{color:var(--text-light);font-size:.9em;margin-top:5px;line-height:1.4}@media(max-width:768px){.settings-page{padding:15px}.settings-title{font-size:1.5rem}.settings-grid{grid-template-columns:1fr;gap:16px}.settings-card-header{padding:16px}.settings-card-content{padding:12px 16px}.settings-item{flex-wrap:wrap}.settings-item-control{width:100%;margin-top:8px;justify-content:flex-end}}@media(max-width:480px){.settings-header{flex-direction:column;align-items:flex-start;gap:12px}.settings-card-icon{width:38px;height:38px;font-size:1.1rem}.settings-tabs{flex-direction:column}.settings-tab-btn{width:100%;justify-content:flex-start}}.settings-tabs{display:flex;gap:8px;margin-bottom:24px;padding:6px;background:#1e1e3c66;backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(99,102,241,.2)}.settings-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-light);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.settings-tab-btn:hover{background:#1e1e3c99;color:var(--text)}.settings-tab-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f166}.settings-tab-btn i{font-size:1rem}.settings-tab-content{display:none}.settings-tab-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.events-log-container{background:var(--card);border-radius:12px;padding:1.5rem;margin-top:1rem}.events-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.events-log-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.events-log-actions{display:flex;gap:.5rem}.events-log-actions .btn-sm{padding:.4rem .75rem;font-size:.8rem}#events-log-list{max-height:400px;overflow-y:auto}.events-log-loading,.events-log-empty{text-align:center;color:var(--text-light);padding:2rem;font-size:.9rem}.events-log-date-group{margin-bottom:1.5rem}.events-log-date-group:last-child{margin-bottom:0}.events-log-date{font-size:.85rem;font-weight:600;color:var(--text-light);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.events-log-items{list-style:none;padding:0;margin:0}.events-log-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--card-hover);border-radius:8px;margin-bottom:.5rem;transition:transform .15s ease}.events-log-item:last-child{margin-bottom:0}.events-log-item:hover{transform:translate(4px)}.events-log-icon{font-size:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--background);border-radius:6px;flex-shrink:0}.events-log-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.events-log-title{font-size:.9rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-log-desc{font-size:.8rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.events-log-time{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.events-log-xp{font-size:.75rem;font-weight:600;color:var(--success);background:var(--success-bg, rgba(34, 197, 94, .1));padding:.2rem .5rem;border-radius:4px;flex-shrink:0}.events-log-icon .text-success{color:var(--success)}.events-log-icon .text-primary{color:var(--accent)}.events-log-icon .text-info{color:var(--info, #3b82f6)}.events-log-icon .text-warning{color:var(--warning)}.events-log-icon .text-danger{color:var(--danger)}.events-log-icon .text-muted{color:var(--text-muted)}.events-log-icon .text-purple{color:#a855f7}@media(max-width:600px){.events-log-header{flex-direction:column;align-items:flex-start;gap:.75rem}.events-log-actions{width:100%}.events-log-actions .btn-sm{flex:1;justify-content:center}.events-log-item{flex-wrap:wrap}.events-log-details{flex-basis:calc(100% - 40px)}.events-log-time,.events-log-xp{margin-left:40px}}.profile-modal{position:fixed;inset:0;background:var(--background);z-index:var(--z-modal);display:none;overflow-y:auto}.profile-modal.active{display:block}.profile-modal-content{min-height:100vh;padding:0}.profile-modal-header{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);padding:20px;display:flex;align-items:center;gap:15px;position:sticky;top:0;z-index:var(--z-sidebar);box-shadow:var(--shadow)}.profile-back-btn{background:#fff3;border:none;color:#fff;font-size:1.2rem;padding:10px 15px;border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease}.profile-back-btn:hover{background:#ffffff4d;transform:translate(-3px)}.profile-modal-header h2{color:#fff;margin:0;font-size:1.5rem}.profile-modal-body{padding:30px 20px}.profile-info-section{text-align:center;padding:30px 0;border-bottom:1px solid var(--border-color);margin-bottom:30px}.profile-avatar-large{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#fff;margin:0 auto 20px;box-shadow:var(--shadow-lg)}.profile-info-section h3{font-size:1.5rem;color:var(--text);margin:10px 0 5px}.profile-info-section p{color:var(--text-light);font-size:.95rem}.profile-stats-section{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.profile-stat-item{background:var(--card);border-radius:var(--border-radius-lg);padding:20px;text-align:center;border:1px solid var(--card-border)}.profile-stat-value{font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:5px}.profile-stat-label{color:var(--text-light);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.profile-menu-section{background:var(--card);border-radius:var(--border-radius-lg);border:1px solid var(--card-border);overflow:hidden}.profile-menu-option{display:flex;align-items:center;gap:15px;padding:18px 20px;cursor:pointer;transition:all .3s ease;border-bottom:1px solid var(--border-color)}.profile-menu-option:last-child{border-bottom:none}.profile-menu-option:hover{background:var(--card-hover);transform:translate(5px)}.profile-menu-option i:first-child{font-size:1.2rem;color:var(--primary);width:30px}.profile-menu-option span{flex:1;color:var(--text);font-weight:500}.profile-menu-option i:last-child{color:var(--text-light);font-size:.9rem}.profile-achievements-section{margin-bottom:30px}.profile-section-title{font-size:1.1rem;color:var(--text);margin-bottom:15px;font-weight:600}.profile-achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px}.profile-achievement-badge{background:var(--card);border:2px solid var(--card-border);border-radius:var(--border-radius-lg);padding:15px 10px;text-align:center;transition:all .3s ease}.profile-achievement-badge.earned{border-color:var(--success);box-shadow:0 0 10px #4ade8033}.profile-achievement-badge.locked{opacity:.5}.profile-achievement-icon{font-size:2rem;margin-bottom:8px}.profile-achievement-name{font-size:.85rem;color:var(--text);font-weight:600;margin-bottom:4px}.profile-achievement-desc{font-size:.7rem;color:var(--text-light);line-height:1.3}.profile-achievement-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow)}@media(min-width:993px){.profile-modal{display:none!important}}@media(max-width:992px){.user-menu{display:none}.profile-modal.active{display:block}.profile-modal .profile-stats-section{display:none}}.sidebar .menu-item i{margin-right:16px}.sidebar .menu-item span{margin-left:4px}.sidebar .menu-category{margin-top:24px;margin-bottom:12px}.card .card-header{margin-bottom:24px}.tab-content>.btn,.card-actions>.btn+.btn{margin:8px 0}.card-actions .btn{margin:0}.form-group .btn{margin-top:16px}#exams-settings-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color)}#exams-settings-section h3{margin-bottom:12px}#exams-settings-section .form-help{margin-bottom:20px}#add-exam-btn{margin-top:16px;margin-bottom:0}.settings-container h3{margin-top:32px;margin-bottom:16px;padding-top:24px;border-top:1px solid var(--border-color)}.settings-container h3:first-child{margin-top:0;padding-top:0;border-top:none}.table-actions{display:flex;gap:8px;align-items:center}.table-actions .btn{margin:0;white-space:nowrap}.learning-path-container .learning-path-item{margin-bottom:16px}.lp-content{padding:4px 0}.lp-content .lp-meta{margin-top:8px;margin-bottom:8px}.lp-content .lp-progress{margin-top:12px}.progress-container,.progress-bar{min-width:100px;min-height:8px;background:var(--secondary-light);border-radius:4px;overflow:hidden}.progress-fill,.progress-bar-accent{min-width:2px;height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--primary) 100%);transition:width .3s ease}.btn:disabled{opacity:.7;cursor:not-allowed}.btn .fa-spinner{animation:spin 1s linear infinite}.settings-container .form-section{margin-bottom:32px}.settings-container .form-section-title,.form-row{margin-bottom:16px}.subject-item{padding:12px 16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;background:var(--secondary);border-radius:var(--border-radius);border:1px solid var(--border-color)}.subject-item .btn{margin:0}#dashboard-tab .stats-grid{margin-bottom:24px}.btn i{margin-right:6px}.btn i:last-child{margin-right:0;margin-left:6px}.btn i:only-child{margin:0}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-sm i{font-size:.9rem}#admin-panel{max-height:100vh;overflow-y:auto;overflow-x:hidden;padding:20px;box-sizing:border-box}@media(min-width:993px){.sidebar-toggle{display:inline-flex}.menu-toggle{display:none}}@media(min-width:769px){#calendar-tab .card-header{flex-direction:row;align-items:center}#calendar-tab .card-title{width:auto;order:unset}#calendar-tab .card-actions{width:auto;order:unset;flex-wrap:nowrap}#calendar-tab .calendar-filter-group{flex:0 1 auto;order:unset;margin-bottom:0}#calendar-tab .card-actions>.btn{order:unset;flex:0 1 auto}.calendar-cell-overflow{display:none}}.mobile-header{display:none;padding:10px 15px;border-bottom:none;background:transparent}@media(max-width:992px){.mobile-header{display:flex;align-items:center;position:sticky;top:0;z-index:var(--z-header);background:transparent}.menu-toggle{display:block}.sidebar-toggle{display:none}.sidebar{transform:translate(-100%);transition:transform .3s ease-in-out;position:fixed;top:0;left:0;z-index:var(--z-mobile-menu);width:280px;height:100vh;overflow-y:auto;box-shadow:2px 0 10px #0000004d}.sidebar.collapsed{width:280px}.sidebar.collapsed .logo{display:block}.sidebar.collapsed .menu-item span{display:inline}.sidebar.collapsed .menu-category{display:block}.sidebar.active,.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0;width:100%}.mobile-menu-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:calc(var(--z-mobile-menu) - 1)}.menu-item{padding:14px 20px;margin:4px 10px}.streak-badge,.due-count-badge{font-size:.7rem;padding:2px 6px}.menu-subitem{padding-left:52px!important;font-size:.92rem;border-left:2px solid rgba(99,102,241,.2);margin-left:28px}.menu-item i{margin-right:16px;width:28px;font-size:1.2rem}.menu-category{padding:16px 20px 8px}}@media(max-width:768px){.main-content{padding:16px 12px}.stats-grid,.courses-grid{grid-template-columns:1fr;gap:12px}.header{flex-wrap:wrap;gap:12px;position:relative;z-index:var(--z-sidebar);padding:12px;margin-bottom:16px}.menu-toggle{order:1;min-width:44px;min-height:44px}.page-title{flex:1;min-width:150px;order:2;font-size:1.5rem}.search-bar{width:100%;order:4;margin:0}.user-section{order:3;margin-left:auto}.user-avatar{margin-left:0;width:44px;height:44px;cursor:pointer}.user-menu{position:fixed;inset:auto 10px 10px;width:auto;max-height:70vh;overflow-y:auto;z-index:var(--z-user-menu);border-radius:12px;box-shadow:var(--shadow-xl)}.user-profile-header{padding:16px 24px 20px}.user-profile-pic{width:70px;height:70px;margin:0 auto 10px}.btn{min-height:44px;padding:12px 20px;font-size:16px}.form-control,.form-select{min-height:44px;font-size:16px}.rating-section{margin:20px 0}.rating-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0}.rating-btn{margin:0;min-height:100px;padding:14px 10px;font-size:.9rem}.rating-btn .rating-label{font-size:1rem}.rating-btn .rating-description{font-size:.75rem}.rating-preview{padding:6px 4px;font-size:.7rem}.rating-btn .preview-interval{font-size:.75rem}.rating-btn .preview-date{font-size:.65rem}.confidence-rating{margin:20px 0}.confidence-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0}.confidence-btn{width:auto;max-width:none;margin:0;min-height:60px;padding:12px 8px;font-size:.9rem}.learning-path-item{flex-direction:row;flex-wrap:wrap;align-items:flex-start;padding:12px}.lp-rank{font-size:1.3rem;min-width:35px;padding:8px;flex-shrink:0}.lp-content{width:calc(100% - 50px);padding-right:0!important}.lp-header{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:8px;padding-right:0!important}.lp-header h4{font-size:1rem;flex:1;min-width:150px;word-wrap:break-word;overflow-wrap:anywhere}.lp-badges{position:static!important;top:auto!important;right:auto!important;justify-content:flex-start;flex-wrap:wrap;gap:4px;margin-left:0;margin-top:4px}.priority-badge,.exam-badge{font-size:.7rem;padding:3px 8px}.lp-meta{flex-direction:row;flex-wrap:wrap;gap:8px;font-size:.85rem}.lp-meta span{flex-shrink:0;white-space:nowrap}.lp-progress{margin-top:8px}.lp-actions{width:100%;margin-top:8px;position:static;transform:none}.lp-actions .btn{width:100%;padding:10px}.path-number{width:auto;border-radius:8px}.path-meta{flex-direction:column;gap:5px}.admin-tabs{overflow-x:auto;white-space:nowrap;padding:10px}.admin-tab{white-space:nowrap;padding:10px 16px;min-width:auto}#admin-panel .card{margin-bottom:16px}#admin-feedback-section,#pending-users-container{padding:12px!important;overflow-x:auto;-webkit-overflow-scrolling:touch}#admin-panel .lectures-table,#stats-tab .lectures-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;min-width:100%}#admin-panel .lectures-table thead,#admin-panel .lectures-table tbody,#admin-panel .lectures-table tr,#stats-tab .lectures-table thead,#stats-tab .lectures-table tbody,#stats-tab .lectures-table tr{display:table;table-layout:fixed;width:100%;min-width:800px}#admin-panel .lectures-table th,#admin-panel .lectures-table td,#stats-tab .lectures-table th,#stats-tab .lectures-table td{padding:8px;font-size:.85rem;overflow:hidden;text-overflow:ellipsis}.feedback-list-container{min-height:200px}.admin-tabs{margin-bottom:16px;display:flex;gap:8px;flex-wrap:wrap}.achievements-grid{grid-template-columns:1fr}.leaderboard-header,.leaderboard-row{grid-template-columns:40px 1fr 80px}.stats-overview{width:100%;overflow-x:auto}.stats-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}.stats-item{min-width:140px}.stats-item h3{font-size:.9rem;margin-bottom:8px}.stats-value{font-size:1.5rem}.analytics-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.analytics-container>div,.analytics-container .card{width:100%!important;margin-bottom:16px}.table-container:after,#pending-users-container:after,#admin-feedback-section:after{content:"← Swipe to see more →";display:block;text-align:center;padding:8px;font-size:.8rem;color:var(--text-light);opacity:.7;font-style:italic}.table-container:not([data-scrollable]):after,#pending-users-container:not([data-scrollable]):after,#admin-feedback-section:not([data-scrollable]):after{display:none}body{font-size:16px}.card{margin:8px 0;border-radius:12px;box-shadow:var(--shadow-md)}form{width:100%;max-width:100%}.form-group{width:100%;margin-bottom:20px}.form-control,textarea.form-control,select.form-control{width:100%!important;max-width:100%!important;box-sizing:border-box;padding:14px 16px;font-size:16px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],textarea,select{width:100%!important;box-sizing:border-box}.card-header{padding:16px 12px;flex-wrap:wrap;gap:12px}.card-header .search-bar{flex:1 1 100%;order:3;max-width:100%;margin:0!important}.card-actions{gap:8px}.card-actions .btn{flex-shrink:0}.card-body{padding:16px}.card-title{font-size:1.25rem;margin-bottom:8px}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -8px}.lecture-meta{flex-wrap:wrap;gap:8px}.lecture-item{padding:16px;margin-bottom:12px;min-height:60px}.modal-content{width:96%;max-width:96%;margin:10px auto;max-height:90vh;overflow-y:auto;padding:20px 16px}.modal-header,.modal-body,.modal-footer{padding:16px 12px}.review-content{padding:16px 12px;margin:12px 0}.lecture-meta-info{padding:12px;margin-bottom:16px}.meta-stats{grid-template-columns:1fr;gap:8px}.final-preview{padding:15px;margin-top:15px}.submit-review-btn{width:100%;max-width:300px;padding:16px 20px;font-size:16px}.calendar-container{overflow-x:auto}.calendar-days{min-width:100%}.calendar-day{min-height:60px;padding:4px;font-size:.8rem}.calendar-day-number{font-size:.75rem}.calendar-event{font-size:.65rem;padding:2px 4px;margin-bottom:1px}.calendar-cell-items>div:nth-child(n+3){display:none}.calendar-cell-items .calendar-cell-overflow{display:block!important}.calendar-cell-items{gap:1px!important;font-size:.65rem!important}.calendar-header{flex-wrap:wrap;gap:10px;padding:15px}.calendar-title{font-size:1rem}.calendar-nav-btn{width:36px;height:36px;font-size:1rem}#calendar-tab .card-header{flex-direction:column;align-items:stretch}#calendar-tab .card-title{width:100%;order:1}#calendar-tab .card-actions{width:100%;order:2;flex-wrap:wrap;gap:8px;justify-content:flex-start}#calendar-tab .calendar-filter-group{display:flex;flex-wrap:wrap;gap:5px;flex:1 1 100%;order:1;margin-bottom:8px}#calendar-tab .calendar-filter-group .btn{flex:1 1 auto;min-width:60px}#calendar-tab .card-actions>.btn{order:2;flex:1 1 auto;min-width:120px}}@media(min-width:769px)and (max-width:992px){.stats-grid,.courses-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:375px){.btn{font-size:14px;padding:10px 16px}.card-title{font-size:1.25rem}.modal-content{width:98%;max-width:98%}#calendar-tab .calendar-filter-group .btn{min-width:55px;font-size:12px;padding:8px 6px}#calendar-tab .card-actions>.btn{min-width:100px;font-size:13px}}@supports (-ms-ime-align:auto){.sidebar{position:absolute}}@media(hover:none)and (pointer:coarse){.btn,.menu-item,button{min-height:44px;min-width:44px}.btn:hover,.menu-item:hover,.card:hover{transform:none}.btn:active,.menu-item:active,.card:active{transform:scale(.98);opacity:.9}.lecture-card,.event-card,.exam-card{cursor:pointer;-webkit-tap-highlight-color:rgba(99,102,241,.2)}.btn,.menu-item,.modal-close,.card-header{-webkit-user-select:none;user-select:none}.sidebar,.main-content,.modal-content,.lecture-list,.all-lectures{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}body{overscroll-behavior-y:contain}input,select,textarea{font-size:16px;min-height:44px}.modal-close,.close-modal{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.rating-btn{min-height:54px;padding:12px 16px;margin:4px}.btn+.btn{margin-left:8px}.menu-item{margin:6px 10px}}@media all and (display-mode:standalone){.header{padding-top:env(safe-area-inset-top,12px);padding-left:env(safe-area-inset-left,12px);padding-right:env(safe-area-inset-right,12px)}.sidebar{padding-top:env(safe-area-inset-top,20px);padding-bottom:env(safe-area-inset-bottom,20px)}.main-content{padding-bottom:env(safe-area-inset-bottom,16px)}html,body{overscroll-behavior:none}}@media(max-width:768px){.exam-header{flex-direction:column;align-items:stretch;gap:12px}.exam-header h2{font-size:1.3rem;margin-bottom:8px}.exam-header>div{display:flex;flex-direction:column;gap:8px}.exam-header .btn{width:100%;justify-content:center}}@media(max-width:768px){.icon-picker-dropdown,#icon-picker-dropdown{position:fixed!important;inset:auto 10px 60px!important;width:auto!important;max-width:calc(100vw - 20px)!important;transform:none!important}.icon-picker-dropdown>div,#icon-picker-dropdown>div{grid-template-columns:repeat(5,1fr)!important}}@media(max-width:767px){.calendar-filter-group{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important}.calendar-filter-group .btn-sm{justify-content:center;text-align:center}}@media(max-width:767px){.hero-stat-nearest{flex:1 1 100%!important}.hero-stats-row>div:not(.hero-stat-nearest){flex:1 1 0!important}}@media(max-width:768px){#lectures-tab .card-header{flex-direction:column;align-items:stretch;gap:12px}#lectures-tab .card-header .card-title{width:100%}#lectures-tab .search-bar{width:100%!important;max-width:100%!important;margin:0!important;order:1}#lectures-tab .card-actions{width:100%;flex-direction:column;align-items:stretch;order:2}#lectures-tab .decay-filters{display:flex!important;flex-wrap:wrap;gap:6px!important;margin-right:0!important;width:100%}#lectures-tab .decay-filters .btn{flex:1 1 45%;min-width:80px;font-size:.75rem;padding:8px 6px}#lectures-tab .layout-toggle{display:none!important}#lectures-tab #quick-add-lecture-btn{width:100%;margin-top:8px}}@media(max-width:768px){.social-tabs{flex-wrap:wrap;gap:6px}.social-tab-btn{flex:1 1 45%;min-width:100px;padding:10px 12px;font-size:.85rem}.social-tab-btn span{display:inline!important}.social-tab-btn i{font-size:.9rem}}@media(max-width:768px){.rating-options{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;padding:0!important}.rating-btn{min-height:90px!important;padding:12px 8px 36px!important;font-size:.85rem!important;margin:0!important}.rating-btn .rating-label{font-size:.95rem!important}.rating-btn .rating-description{font-size:.7rem!important;display:none}.rating-preview{padding:4px 6px!important;font-size:.7rem!important;bottom:4px!important;left:4px!important;right:4px!important}.rating-preview .preview-interval,.preview-interval-simple{font-size:.75rem!important}#review-modal .modal-content{max-height:95vh;margin-top:10px}#review-modal .modal-body{padding:12px;overflow-y:auto;max-height:calc(95vh - 120px)}#review-modal .review-content{padding:12px;margin-bottom:12px}.rating-section{margin:12px 0}}@media(max-width:768px){#calendar-tab .calendar-filter-group{width:100%}#calendar-tab .calendar-filter-group .btn{flex:1 1 22%;min-width:60px;padding:8px 6px;font-size:.75rem}#calendar-tab .calendar-filter-group .btn i{margin-right:2px}}.info-section.decay-stats{background:#1e293b80;border-radius:var(--border-radius, 8px);padding:20px;border:1px solid var(--border-color, rgba(255,255,255,.1))}.info-section.decay-stats h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--accent, #6366f1);display:flex;align-items:center;gap:8px}.decay-indicator .progress-bar{height:20px!important;background:var(--secondary-light, rgba(255,255,255,.1))!important;border-radius:10px!important;overflow:hidden!important}.decay-indicator .progress-fill{height:100%!important;transition:width .3s ease!important}@media(max-width:600px){.info-section.decay-stats .stats-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.info-section.decay-stats .stat-item{padding:8px!important}.info-section.decay-stats .stat-value{font-size:1rem!important}.info-section.decay-stats .stat-label{font-size:.75rem!important}}@media(max-width:768px){.subject-toggle,.layout-toggle-btn,.filter-btn,.btn-icon,.btn-sm{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.decay-badge,.priority-badge,.difficulty-badge{padding:6px 12px;min-height:28px}.calendar-day{min-height:60px;padding:8px}.calendar-event{min-height:32px;padding:6px 8px}.learning-path-item .btn{min-height:44px;padding:10px 16px}.menu-item{min-height:48px;padding:14px 20px}[data-tab],.tab-btn{min-height:44px;padding:12px 16px}button i.fas,button i.far,button i.fab,a i.fas,a i.far,a i.fab{font-size:1.1rem}.btn+.btn,.btn-icon+.btn-icon{margin-left:8px}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}.toggle-switch{min-width:52px;min-height:32px}.modal-close,[class*=close]{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}}@media(max-width:768px){.due-tab-hero,#study-tab>div:first-child{padding:16px!important;border-radius:12px!important}.due-tab-hero [style*="border-radius: 50%"][style*="pointer-events: none"],#study-tab>div:first-child>div[style*="border-radius: 50%"][style*="pointer-events: none"]{display:none!important}.due-tab-hero h1,#study-tab h1{font-size:1.3rem!important;margin-bottom:4px!important}.due-tab-hero p,#study-tab>div:first-child p{font-size:.85rem!important;margin-bottom:12px!important}.layout-toggle{display:none!important}#study-tab .stats-row,.due-tab-stats{flex-wrap:nowrap!important;overflow-x:auto!important;gap:10px!important;padding-bottom:8px!important;-webkit-overflow-scrolling:touch}#study-tab .stats-row>div,.due-tab-stats>div{padding:10px 14px!important;border-radius:10px!important;flex-shrink:0!important;min-width:auto!important}#study-tab .stats-row>div>div:first-child,.due-tab-stats>div>div:first-child{font-size:1.1rem!important}#study-tab .stats-row>div>div:last-child,.due-tab-stats>div>div:last-child{font-size:.7rem!important}#study-tab [style*="borderRadius: '12px'"],.due-lecture-card{padding:12px!important;gap:10px!important}.due-lecture-card>div:first-child[style*="border-radius: 50%"],#study-tab [style*="borderRadius: '50%'"][style*="width: '40px'"]{display:none!important}.due-lecture-card h4,#study-tab h4{font-size:.95rem!important;margin-bottom:2px!important}.due-lecture-card span[style*="borderRadius: '4px'"],#study-tab span[style*="borderRadius: '4px'"]{font-size:.65rem!important;padding:1px 5px!important}.retention-bar,[style*="height: '6px'"][style*="borderRadius: '3px'"]{display:none!important}.due-lecture-card .btn,#study-tab [style*="display: 'flex'"] .btn{padding:8px 12px!important;font-size:.85rem!important}.postponed-section{margin-top:16px!important}.postponed-section h3{font-size:1rem!important}}.exam-card{background-color:var(--card);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:20px;overflow:hidden}.exam-card-header{padding:15px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.exam-title{font-size:1.2rem;font-weight:600;margin-bottom:5px}.exam-subject{color:var(--text-light);margin-bottom:5px}.exam-date{font-size:.9rem}.exam-actions{display:flex;gap:10px}.exam-progress{padding:15px;border-bottom:1px solid var(--border-color)}.exam-progress-header{display:flex;justify-content:space-between;margin-bottom:10px;font-weight:500}.exam-period-indicator{height:20px;display:flex;border-radius:4px;overflow:hidden;margin-bottom:10px}.period-learning{background-color:var(--exam-midterm);height:100%}.period-maintenance{background-color:var(--exam-final);height:100%}.period-retrievability{background-color:var(--exam-quiz);height:100%}.exam-period-labels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-light)}.exam-lectures{padding:15px}.exam-lectures-header{display:flex;justify-content:space-between;align-items:center}.lecture-selector{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card)}.lecture-selector-group-header{padding:10px 15px;background-color:var(--secondary);font-weight:600;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1}.lecture-selector-item{padding:10px 15px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;cursor:pointer}.lecture-selector-item:last-child{border-bottom:none}.lecture-selector-item:hover{background-color:var(--secondary)}.lecture-selector-item.selected{background-color:#3b82f61a}.lecture-selector-checkbox{margin-right:10px}.lecture-selector-title{font-weight:500;flex:1}.lecture-selector-meta{color:var(--text-light);font-size:.9rem}.radio-group{display:flex;flex-direction:column;gap:10px;margin-top:10px}.radio-option{display:flex;padding:10px;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer}.radio-option:hover{background-color:var(--secondary)}.radio-option.selected{border-color:var(--accent);background-color:#3b82f61a}.radio-option input[type=radio]{margin-right:10px}.radio-content{flex:1}.radio-option-title{font-weight:500;margin-bottom:5px}.radio-option-description{font-size:.9rem;color:var(--text-light)}.chart-legend{display:flex;justify-content:center;gap:20px;margin-top:10px}.legend-item{display:flex;align-items:center;font-size:.9rem}.legend-color{width:15px;height:15px;border-radius:3px;margin-right:5px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;padding:20px}.stat-card{background-color:var(--card);border-radius:var(--border-radius);padding:20px;text-align:center;box-shadow:0 1px 3px #0000001a}.stat-value{font-size:2rem;font-weight:600;margin-bottom:5px;color:var(--accent)}.stat-label{color:var(--text-light)}.lectures-list{padding:0;margin:0;list-style:none}.lecture-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid var(--border-color)}.lecture-title{font-size:1.1rem;font-weight:600;margin-bottom:5px}.lecture-meta{display:flex;flex-wrap:wrap;gap:15px;font-size:.9rem;color:var(--text-light)}.lecture-actions{display:flex;gap:10px}.department-stat-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.department-stat-row:last-child{border-bottom:none}.department-name{font-weight:600}.department-progress{width:100px}.department-actions{display:flex;gap:10px}.overdue{border-left:3px solid var(--danger);padding-left:8px}.overdue-label{color:var(--danger);font-weight:500}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.exam-card-header{flex-direction:column}.exam-actions{margin-top:10px;width:100%}.radio-group{flex-direction:column}.lecture-item{flex-direction:column;align-items:flex-start}.lecture-actions{margin-top:10px;width:100%}.lecture-meta{flex-direction:column;gap:5px}}.activity-heatmap{display:flex;flex-direction:column;gap:8px;overflow-x:auto;width:100%}.heatmap-header{display:flex;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap}.heatmap-stats{display:flex;gap:32px;flex-wrap:wrap}.heatmap-stat{display:flex;flex-direction:column;align-items:flex-end}.heatmap-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-color, #fff)}.heatmap-stat-unit{font-size:.9rem;font-weight:400;color:var(--text-light)}.heatmap-stat-label{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.heatmap-months-row{display:flex;gap:3px;margin-bottom:4px;padding-left:32px}.heatmap-month{font-size:10px;color:var(--text-light);text-align:left;flex:1;white-space:nowrap}.heatmap-content{display:flex;flex-direction:column;width:100%}.heatmap-grid-container{display:flex;flex-direction:column;gap:3px;width:100%}.heatmap-row{display:flex;gap:3px;align-items:center}.heatmap-cell{aspect-ratio:1 / 1;flex:1;min-width:10px;border-radius:2px;cursor:pointer;transition:all .2s ease}.heatmap-cell.month-separator{box-shadow:inset 3px 0 #ffffff14}.heatmap-cell:hover{transform:scale(1.15);opacity:.85}.heatmap-empty{background-color:transparent}.heatmap-day-label{width:32px;font-size:10px;color:var(--text-light);text-align:center;display:flex;align-items:center;justify-content:center;flex-shrink:0}.heatmap-legend-row{display:flex;justify-content:center;gap:16px;margin-top:16px;font-size:11px;color:var(--text-light);flex-wrap:wrap}.heatmap-legend-item{display:flex;align-items:center;gap:5px}@media(max-width:768px){.heatmap-header{flex-direction:column;align-items:flex-start;gap:12px}.heatmap-stats{gap:16px;width:100%}.heatmap-stat{align-items:flex-start}.heatmap-months-row{padding-left:20px;overflow-x:auto}.heatmap-cell{min-width:8px}.heatmap-day-label{width:20px;font-size:9px}}.heatmap-legend-cell{width:12px;height:12px;border-radius:2px}.heatmap-legend-cell.heatmap-level-0{background-color:#64647840}.heatmap-legend-cell.heatmap-level-1{background-color:#4ade8059}.heatmap-legend-cell.heatmap-level-2{background-color:#4ade808c}.heatmap-legend-cell.heatmap-level-3{background-color:#4ade80cc}.heatmap-legend-cell.heatmap-level-4{background-color:gold;box-shadow:0 0 3px #ffd70080}.heatmap-streak-value{color:#ff6b35;font-weight:700}#dashboard-heatmap-card{margin-top:20px}#dashboard-heatmap-container{width:100%;overflow-x:hidden;overflow-y:hidden;padding:16px}.dashboard-heatmap{width:100%}@media(max-width:768px){#dashboard-heatmap-container{padding:12px 8px;overflow:hidden}.dashboard-heatmap{min-width:unset;width:100%}.heatmap-stats{gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:16px}.heatmap-stat{align-items:center;flex:0 1 auto;min-width:80px;text-align:center}.heatmap-stat-value{font-size:1.1rem}.heatmap-stat-unit{font-size:.75rem}.heatmap-stat-label{font-size:.65rem}.heatmap-months-row{display:flex;justify-content:flex-start;overflow:hidden;padding-left:24px;gap:2px}.heatmap-month{font-size:10px;flex:1;text-align:center;white-space:nowrap}.heatmap-cell{min-width:8px;max-width:none;flex:1}.heatmap-day-label{width:20px;min-width:20px;font-size:8px}.heatmap-grid-container{overflow:hidden;width:100%}.heatmap-row{width:100%;gap:2px}.heatmap-content{width:100%}.heatmap-legend-row{gap:8px;font-size:9px;margin-top:12px;flex-wrap:nowrap;justify-content:center}.heatmap-legend-item{gap:3px}.heatmap-legend-cell{width:10px;height:10px}}#root{min-height:100vh;height:auto;overflow-x:hidden;overflow-y:auto;position:relative}.tab-content{opacity:0;transition:opacity var(--transition-base);pointer-events:none;display:none}.tab-content.active{opacity:1;pointer-events:auto;display:block}.sidebar{width:280px;background:linear-gradient(180deg,#1e1e3ff2,#1a1a3efa);backdrop-filter:blur(20px);border-right:1px solid var(--border-color);height:100vh;position:fixed;left:0;top:0;overflow-y:auto;overflow-x:hidden;transition:width .3s ease,transform .3s ease;z-index:var(--z-sidebar);box-shadow:var(--shadow-lg)}@media(min-width:993px){.sidebar{transform:translate(0)}}.sidebar.collapsed{width:72px}.sidebar.collapsed .logo,.sidebar.collapsed .menu-item span,.sidebar.collapsed .menu-category{display:none}.sidebar.collapsed .menu-item{justify-content:center;padding:15px 10px}.sidebar.collapsed .menu-item i{margin-right:0;font-size:1.3rem}.sidebar.collapsed .sidebar-header{justify-content:center;padding:20px 10px}.sidebar.collapsed .sidebar-toggle{display:inline-flex}.sidebar-header{padding:24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#6366f126,#8b5cf61a)}.sidebar-toggle{background:var(--secondary-light);border:1px solid var(--border-color);color:var(--text);font-size:1rem;cursor:pointer;padding:10px;border-radius:var(--border-radius);transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.sidebar-toggle:hover{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #00d9ff4d}.logo{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;transition:opacity var(--transition-base);display:flex;align-items:center;justify-content:center}.logo-image{max-width:160px;height:auto;display:block;transition:transform .3s ease,filter .3s ease}.logo-image:hover{transform:scale(1.05);filter:brightness(1.1)}.sidebar.collapsed .logo-image{display:none}.sidebar-menu{padding:16px 0}.menu-category{color:var(--text-light);font-size:.75rem;text-transform:uppercase;letter-spacing:1.2px;font-weight:600;padding:16px 24px 8px;margin-top:12px;transition:opacity var(--transition-base)}.menu-item{display:flex;align-items:center;padding:12px 24px;color:var(--text-dark);text-decoration:none;transition:all var(--transition-base);cursor:pointer;border-radius:0;margin:2px 12px;border-radius:var(--border-radius);position:relative}.menu-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:linear-gradient(180deg,var(--primary),var(--accent));transition:height var(--transition-base);border-radius:0 2px 2px 0}.menu-item:hover:before{height:70%}.menu-item:hover{background:linear-gradient(90deg,rgba(99,102,241,.15) 0%,transparent 100%);color:var(--primary-light);transform:translate(4px)}.menu-item.active{background:linear-gradient(90deg,#6366f133,#3b82f61a);color:var(--primary-light);font-weight:600;box-shadow:0 2px 8px #0b8fff26}.menu-item.active:before{height:70%}.menu-item i{margin-right:20px;font-size:1.1rem;width:24px;text-align:center;transition:transform var(--transition-base);flex-shrink:0}.menu-item span{white-space:nowrap;transition:opacity var(--transition-base)}.menu-item:hover i{transform:scale(1.1)}.streak-badge{margin-left:auto;background:linear-gradient(135deg,#f97316,#f59e0b);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:4px;min-width:20px;justify-content:center}.streak-badge i{font-size:.7rem;margin:0;width:auto}.due-count-badge{margin-left:auto;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;min-width:20px;text-align:center}.due-count-badge:empty,.due-count-badge[data-count="0"]{display:none}.sidebar.collapsed .streak-badge,.sidebar.collapsed .due-count-badge{display:none}.main-content{flex:1;margin-left:280px;width:calc(100% - 280px);padding:32px;transition:margin-left .3s ease,width .3s ease;background:transparent;min-height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;position:relative;z-index:1}.sidebar.collapsed+.main-content{margin-left:72px;width:calc(100% - 72px)}.header{display:flex;justify-content:space-between;align-items:center;padding:24px;margin-bottom:32px;background:linear-gradient(135deg,var(--card) 0%,rgba(30,41,59,.95) 100%);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow)}.page-title{font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--text),var(--text-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.025em}.user-section{display:flex;align-items:center;position:relative;overflow:visible;padding:4px}.user-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);margin-left:12px;overflow:visible!important;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;cursor:pointer;border:2px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;box-shadow:0 4px 12px #00d9ff33;position:relative;z-index:1}.user-avatar:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #6366f166;border-color:var(--primary)}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;position:relative;z-index:1}.notification-badge{position:absolute;top:-5px;right:-5px;background:var(--danger);color:#fff;border-radius:50%;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;padding:2px 4px;border:2px solid var(--background);box-shadow:0 2px 8px #ef444480;z-index:var(--z-mobile-menu);overflow:visible;pointer-events:none}.search-bar{position:relative;max-width:400px;flex:1;margin-right:20px}.search-bar input{width:100%;padding:12px 16px 12px 44px;border-radius:var(--border-radius-lg);border:1px solid var(--border-color);background-color:var(--card);font-size:.95rem;color:var(--text);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.search-bar input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #6366f126;transform:translateY(-1px);outline:none}.search-bar input::placeholder{color:var(--text-light)}.search-bar i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-light);transition:color var(--transition-base);font-size:1.1rem}.search-bar input:focus+i{color:var(--primary)}.user-menu{position:absolute;top:60px;right:0;background:linear-gradient(135deg,var(--card) 0%,rgba(30,41,59,.98) 100%);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:320px;display:none;z-index:var(--z-user-menu);opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease;backdrop-filter:blur(10px)}.user-menu.active{display:block;opacity:1;transform:translateY(0);animation:slideDown var(--transition-base)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-profile-header{padding:24px;border-bottom:1px solid var(--border-color);text-align:center;background:linear-gradient(135deg,rgba(99,102,241,.1) 0%,transparent 100%)}.user-profile-pic{width:90px;height:90px;border-radius:50%;margin:0 auto 12px;background:var(--primary);display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid var(--border-color);box-shadow:var(--shadow-lg)}.user-profile-pic img{width:100%;height:100%;object-fit:cover}.user-name{font-weight:600;font-size:1.1rem;margin-bottom:6px;color:var(--text)}.user-email{color:var(--text-light);font-size:.9rem}.user-stats{padding:20px;border-bottom:1px solid var(--border-color)}.stat-row{display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 0;transition:background-color .15s ease}.stat-row:hover{padding-left:8px;color:var(--primary-light)}.stat-row span:last-child{font-weight:600;color:var(--primary)}.picture-selector{padding:20px;border-bottom:1px solid var(--border-color)}.picture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.profile-pic-option{width:48px;height:48px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;box-shadow:var(--shadow-sm)}.profile-pic-option:hover,.profile-pic-option.selected{border-color:var(--primary);transform:scale(1.15);box-shadow:0 4px 12px #6366f166}.user-menu-item{display:flex;align-items:center;padding:10px 20px;cursor:pointer;transition:background-color .3s ease,transform .3s ease}.user-menu-item:hover{background-color:var(--secondary);transform:translate(4px)}.user-menu-item i{margin-right:10px;width:20px;text-align:center}.menu-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--text);cursor:pointer;margin-right:16px;padding:8px;transition:background-color .3s ease,transform .3s ease}.menu-toggle:hover{background:#ffffff1a;border-radius:4px}.menu-toggle:active{transform:scale(.95)}.menu-section{margin:2px 0}.menu-section-header{position:relative;justify-content:space-between}.section-arrow{margin-left:auto;font-size:.85rem;transition:transform .3s ease}.menu-section-header.collapsed .section-arrow{transform:rotate(-90deg)}.menu-subsection{max-height:500px;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;opacity:1}.menu-subsection.collapsed{max-height:0;opacity:0}.menu-subitem{padding-left:48px;font-size:.9rem}.menu-subitem i{font-size:.9rem}.sidebar.collapsed .menu-subsection,.sidebar.collapsed .section-arrow{display:none}.dashboard-quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px;width:100%}.quick-stat{display:flex;align-items:center;gap:16px;background:#1e1e3c66;backdrop-filter:blur(15px);border-radius:16px;padding:24px;min-width:0;box-shadow:var(--shadow-sm);border:1px solid rgba(99,102,241,.15);transition:all .3s cubic-bezier(.4,0,.2,1)}.quick-stat:hover{transform:translateY(-4px);box-shadow:0 8px 24px #6366f14d;border-color:#6366f166}.quick-stat-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0}.streak-stat .quick-stat-icon{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff}.due-stat .quick-stat-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.xp-stat .quick-stat-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.time-stat .quick-stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.interval-stat .quick-stat-icon{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.quick-stat-info{display:flex;flex-direction:column}.quick-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.quick-stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}@media(max-width:1200px){.dashboard-quick-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.dashboard-quick-stats{grid-template-columns:repeat(2,1fr);gap:12px}.quick-stat{padding:18px;min-width:0}.quick-stat-icon{width:44px;height:44px;font-size:1.3rem;flex-shrink:0}.quick-stat-value{font-size:1.4rem}.quick-stat-label{font-size:.8rem}.quick-stat-info{min-width:0;overflow:hidden}}@media(max-width:480px){.dashboard-quick-stats{gap:10px}.quick-stat{padding:12px 10px;gap:8px}.quick-stat-icon{width:36px;height:36px;font-size:1rem;border-radius:8px}.quick-stat-value{font-size:1.1rem}.quick-stat-label{font-size:.7rem;white-space:nowrap}}@media(max-width:360px){.dashboard-quick-stats{gap:8px}.quick-stat{padding:10px 8px;gap:6px;flex-direction:column;align-items:flex-start}.quick-stat-icon{width:32px;height:32px;font-size:.9rem}.quick-stat-value{font-size:1rem}.quick-stat-label{font-size:.65rem}}.dashboard-activity-card{margin-bottom:20px}.dashboard-activity-feed{display:flex;flex-direction:column;gap:0}.dashboard-activity-item{display:flex;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--border-color);transition:background var(--transition-fast);position:relative}.dashboard-activity-item:last-child{border-bottom:none}.dashboard-activity-item:hover{background:#7e22ce0d}.dashboard-activity-item.completed{opacity:.7}.dashboard-activity-item .activity-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;background:linear-gradient(135deg,var(--success) 0%,#10b981 100%);color:#fff}.dashboard-activity-item.pending .activity-icon{background:linear-gradient(135deg,var(--warning) 0%,#f59e0b 100%)}.dashboard-activity-item.upcoming .activity-icon{background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%)}.dashboard-activity-item.event .activity-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.dashboard-activity-item.overdue .activity-icon{background:linear-gradient(135deg,var(--danger) 0%,#ef4444 100%)}.dashboard-activity-item .activity-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dashboard-activity-item .activity-action{font-size:.85rem;color:var(--text-light);font-weight:500}.dashboard-activity-item .activity-subject{font-size:1rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-activity-item .activity-time{font-size:.8rem;color:var(--text-light)}.dashboard-activity-item .activity-xp{background:linear-gradient(135deg,var(--success) 0%,#10b981 100%);color:#fff;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.dashboard-activity-item .activity-badge{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;background:var(--accent);color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.dashboard-activity-item .activity-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00d9ff4d}.dashboard-activity-item .activity-badge.priority{background:linear-gradient(135deg,var(--danger) 0%,#ef4444 100%)}.dashboard-activity-empty{text-align:center;padding:40px 20px;color:var(--text-light)}.dashboard-activity-empty i{font-size:3rem;margin-bottom:16px;opacity:.5}.dashboard-activity-empty h3{margin-bottom:8px;color:var(--text)}@media(max-width:768px){.dashboard-activity-item{padding:12px;gap:12px}.dashboard-activity-item .activity-icon{width:38px;height:38px;font-size:1rem}.dashboard-activity-item .activity-subject{font-size:.9rem}.dashboard-activity-item .activity-xp,.dashboard-activity-item .activity-badge{padding:4px 10px;font-size:.8rem}}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #8b5cf6;--secondary-light: #a78bfa;--accent: #6366f1;--accent-light: #818cf8;--accent-dark: #4f46e5;--text: #f1f5f9;--text-light: #94a3b8;--text-dark: #cbd5e1;--background: #0f0f23;--background-alt: #1a1a3e;--background-gradient: linear-gradient(135deg, #0f0f23 0%, #1a1a3e 25%, #2d1b69 50%, #3b1e7a 75%, #4a1f8f 100%);--card: #1e1e3f;--card-hover: #2a2a50;--card-border: rgba(99, 102, 241, .2);--surface: #1e1e3f;--surface-hover: #2a2a50;--surface-elevated: #252550;--bg-secondary: rgba(30, 30, 63, .6);--bg-tertiary: rgba(40, 40, 80, .5);--danger: #ef4444;--danger-hover: #dc2626;--warning: #f59e0b;--warning-hover: #d97706;--success: #10b981;--success-hover: #059669;--info: #06b6d4;--info-hover: #0891b2;--rating-again: #dc2626;--rating-again-hover: #b91c1c;--rating-hard: #f59e0b;--rating-hard-hover: #d97706;--rating-good: #6366f1;--rating-good-hover: #4f46e5;--rating-easy: #10b981;--rating-easy-hover: #059669;--exam-midterm: #6366f1;--exam-final: #8b5cf6;--exam-quiz: #a78bfa;--border-radius: 8px;--border-radius-sm: 6px;--border-radius-lg: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--border-color: rgba(99, 102, 241, .15);--transition-fast: .15s ease;--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--container-max-width: 1400px;--hero-padding-x: 60px;--z-base: 1;--z-dropdown: 10;--z-sidebar: 100;--z-header: 110;--z-sticky: 200;--z-overlay: 500;--z-mobile-menu: 1000;--z-user-menu: 1001;--z-loading-overlay: 1500;--z-achievement: 2000;--z-tour-overlay: 2300;--z-tour-spotlight: 2350;--z-tour-dialog: 2380;--z-modal-backdrop: 2400;--z-modal: 2500;--z-modal-close: 2600;--z-confidence-modal: 2700;--z-toast: 9999;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--lp-action-width: 100px;--lp-action-spacing: 10px;--lp-content-padding: calc(var(--lp-action-width) + var(--lp-action-spacing));--border: var(--border-color);--bg: var(--background);--error: var(--danger);--card-bg: var(--card);--text-primary: var(--text);--text-secondary: var(--text-light);--text-muted: var(--text-light);--card-lighter: var(--card-hover);--primary-hover: var(--primary-dark);--input-bg: var(--bg-secondary);--success-bg: rgba(16, 185, 129, .1);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}a,button,.btn,.menu-item,.card,.course-card,.lecture-item,.rating-btn,.confidence-btn,.faq-question,.subject-toggle,.calendar-day,.calendar-event,.learning-path-item,[role=button],[onclick],[tabindex]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body{font-size:16px;line-height:1.6;color:var(--text);background:var(--background-gradient);background-attachment:fixed;background-size:cover;min-height:100vh;overflow-x:hidden;overflow-y:auto;position:relative}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 25%,rgba(99,102,241,.08) 0%,transparent 50%),radial-gradient(circle at 85% 35%,rgba(168,85,247,.06) 0%,transparent 50%),radial-gradient(circle at 50% 75%,rgba(236,72,153,.05) 0%,transparent 50%);pointer-events:none;z-index:0;animation:subtleBackgroundPulse 15s ease-in-out infinite}@keyframes subtleBackgroundPulse{0%,to{opacity:.4}50%{opacity:.7}}body.initializing{overflow:hidden!important;position:fixed;width:100%;height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--card)}::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}#app-container{display:flex;min-height:100vh;max-height:100vh;width:100%;overflow:hidden;opacity:0;transition:opacity .4s ease-in}#app-container.visible{opacity:1}#offline-notification{position:fixed;top:0;left:0;right:0;background-color:var(--warning);color:#fff;text-align:center;padding:10px;z-index:var(--z-toast);box-shadow:0 2px 4px #0003}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*:focus{outline:none}.card{background:#1e1e3c73;backdrop-filter:blur(20px);border-radius:16px;box-shadow:var(--shadow);padding:24px;margin-bottom:24px;border:1px solid var(--card-border);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);opacity:0;transition:opacity var(--transition-base)}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#6366f10d,#8b5cf608);opacity:0;transition:opacity .4s ease;pointer-events:none}.card:hover{box-shadow:0 20px 60px #6366f14d;transform:translateY(-4px);border-color:#6366f180}.card:hover:before{opacity:1}.card:hover:after{opacity:1}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text);letter-spacing:-.025em}.card-actions{display:flex;gap:12px}.btn{padding:10px 20px;border-radius:var(--border-radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);border:none;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff40;transform:translate(-50%,-50%);transition:width .5s,height .5s}.btn:hover:before{width:300px;height:300px}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.96) translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{box-shadow:0 8px 20px #6366f180;transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.btn-accent:hover{box-shadow:0 8px 20px #8b5cf680;transform:translateY(-2px)}.btn-secondary{background:#1e1e3c80;backdrop-filter:blur(10px);color:var(--text);border:1px solid rgba(99,102,241,.2)}.btn-secondary:hover{background:#1e1e3cb3;border-color:#6366f166;box-shadow:0 4px 12px #6366f133;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-hover) 100%);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-bottom:24px}.stats-grid-2x2{grid-template-columns:repeat(2,1fr);gap:15px}@media(max-width:768px){.stats-grid-2x2{grid-template-columns:repeat(2,1fr);gap:12px}.stats-grid-2x2 .stat-card{padding:16px}.stats-grid-2x2 .stat-value{font-size:2rem}.stats-grid-2x2 .stat-label{font-size:.85rem}}.stat-card{background:#1e1e3c66;backdrop-filter:blur(15px);border-radius:16px;padding:24px;text-align:center;border:1px solid rgba(99,102,241,.15);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);opacity:0;transition:opacity var(--transition-base)}.stat-card:hover:before{opacity:1}.stat-card:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 12px 40px #6366f166;border-color:#6366f180}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#818cf8,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all var(--transition-base);filter:drop-shadow(0 2px 8px rgba(99,102,241,.3))}.stat-card:hover .stat-value{transform:scale(1.12)}.stat-label{color:var(--text-light);font-size:.95rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.analytics-filter-bar{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--card);border-radius:12px;border:1px solid var(--border-color);margin-bottom:20px}.analytics-filter-bar .filter-label{display:flex;align-items:center;gap:8px;color:var(--text-light);font-weight:500;white-space:nowrap}.analytics-filter-bar .filter-label i{color:var(--accent)}.analytics-filter-select{min-width:200px;max-width:300px;padding:10px 14px;font-size:.95rem;border-radius:8px;border:1px solid var(--border-color);background:var(--secondary-light);color:var(--text);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.analytics-filter-select:hover{border-color:var(--primary)}.analytics-filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #00d9ff26}.analytics-filter-bar .filter-checkbox{margin-left:auto}.analytics-filter-bar .filter-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--warning);cursor:pointer}.analytics-filter-bar .filter-checkbox label{font-size:.9rem;color:var(--text-light);transition:color .2s ease}.analytics-filter-bar .filter-checkbox:hover label{color:var(--text)}.analytics-filter-bar .filter-checkbox input:checked+label{color:var(--warning);font-weight:500}.stats-subtitle{font-size:.85rem;font-weight:400;color:var(--text-light);margin-left:8px}.subject-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.subject-stats-grid .stat-card.subject-stat{background:linear-gradient(135deg,rgba(0,217,255,.08) 0%,var(--card) 100%);padding:18px}.subject-stats-grid .stat-card.subject-stat .stat-value{font-size:1.8rem}.subject-stats-grid .stat-card.subject-stat .stat-label{font-size:.8rem}.study-time-filter-toggle{display:flex;gap:8px}.study-time-filter-toggle button{padding:6px 12px;font-size:.85rem;border-radius:8px;background:var(--card-lighter);border:1px solid var(--border);color:var(--text-light);cursor:pointer;transition:all .2s ease}.study-time-filter-toggle button:hover{background:var(--primary-hover);border-color:var(--primary)}.study-time-filter-toggle button.active{background:var(--primary);border-color:var(--primary);color:#fff}#study-time-summary{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.study-time-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.study-time-stat .stat-label{font-size:.8rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.study-time-stat .stat-value{font-size:1.3rem;font-weight:700;color:var(--primary)}@media(max-width:768px){.analytics-filter-bar{flex-direction:column;align-items:stretch;gap:12px}.analytics-filter-select{width:100%;max-width:none}.subject-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.subject-stats-grid .stat-card.subject-stat .stat-value{font-size:1.5rem}.study-time-filter-toggle{justify-content:center}.study-time-chart{display:flex;flex-direction:column;align-items:center}.study-time-chart>*{width:100%;max-width:420px}.study-time-days-filter{justify-content:center!important}#study-time-summary{gap:16px}.study-time-stat .stat-value{font-size:1.1rem}}@media(max-width:480px){.subject-stats-grid{grid-template-columns:1fr}}.lectures-list{list-style:none;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden}.lecture-item{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color);transition:all var(--transition-base);background:var(--card)}.lecture-item:hover{background:linear-gradient(90deg,var(--card-hover) 0%,var(--card) 100%);transform:translate(6px);box-shadow:inset 4px 0 0 var(--primary)}.lecture-item:last-child{border-bottom:none}.lecture-info{flex:1}.lecture-title{font-weight:600;font-size:1.1rem;margin-bottom:6px;color:var(--text)}.lecture-meta{display:flex;gap:16px;color:var(--text-light);font-size:.9rem}.lecture-meta span{display:flex;align-items:center}.lecture-meta i{margin-right:6px;color:var(--primary)}.lecture-actions{display:flex;gap:8px}.progress-container{background-color:var(--secondary);border-radius:99px;height:10px;width:100%;margin:12px 0;overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.progress-bar{height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;background:linear-gradient(90deg,var(--primary),var(--accent));box-shadow:0 0 10px #6366f180}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar-accent{background-color:var(--accent)}.progress-bar-info{background-color:var(--info)}.progress-bar-success{background-color:var(--success)}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.course-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--card) 0%,rgba(30,41,59,.95) 100%);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);transition:all var(--transition-base);overflow:hidden;border:1px solid var(--card-border)}.course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity var(--transition-base)}.course-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl);border-color:var(--primary)}.course-card:hover:before{opacity:1}.course-content{padding:24px;flex-grow:1;display:flex;flex-direction:column}.course-header{margin-bottom:16px}.course-title{font-size:1.25rem;font-weight:600;margin-bottom:10px;color:var(--text);line-height:1.4}.course-meta{display:flex;flex-wrap:wrap;color:var(--text-light);font-size:.875rem;margin-bottom:12px;gap:12px}.course-meta span{display:flex;align-items:center;padding:4px 10px;background:#6366f11a;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.course-meta span:hover{background:#6366f133}.course-meta i{margin-right:6px;color:var(--primary)}.course-description{color:var(--text-light);margin-bottom:16px;font-size:.95rem;line-height:1.6;flex-grow:1}.course-footer{padding-top:16px;margin-top:auto;border-top:1px solid var(--border-color)}.course-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.875rem;color:var(--text-dark)}.course-actions{display:flex;gap:10px;margin-top:12px}.course-actions .btn{flex:1}.difficulty-badge{display:inline-block;padding:6px 12px;border-radius:var(--border-radius);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.difficulty-easy{background:linear-gradient(135deg,#10b98133,#10b9811a);color:var(--success);border:1px solid rgba(16,185,129,.3)}.difficulty-medium{background:linear-gradient(135deg,#3b82f633,#3b82f61a);color:var(--info);border:1px solid rgba(59,130,246,.3)}.difficulty-hard{background:linear-gradient(135deg,#ef444433,#ef44441a);color:var(--danger);border:1px solid rgba(239,68,68,.3)}.tab-content{display:none}.tab-content.active{display:block}.no-items{padding:20px;text-align:center;color:var(--text-light)}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.flex-between{display:flex;justify-content:space-between}.flex-center{display:flex;justify-content:center;align-items:center}.gap-2{gap:8px}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}.text-info{color:var(--info)!important}.btn-sm{padding:4px 8px;font-size:.8rem}.btn-filter{background:var(--card);color:var(--text-light);border:1px solid var(--border-color);padding:6px 12px}.btn-filter:hover{background:var(--card-hover);color:var(--text);border-color:var(--primary)}.btn-filter.active{background:var(--primary);color:#fff;border-color:var(--primary)}.calendar-filter-group{display:flex;gap:5px;flex-wrap:wrap}.btn-info{background-color:var(--info);color:#fff}.btn-info:hover{background-color:#2563eb}.btn-ghost{background-color:transparent;color:var(--text-light);border:none;padding:6px 10px}.btn-ghost:hover{background-color:#ffffff1a;color:var(--accent)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:#15803d}.loading{text-align:center;padding:20px;color:var(--text-light);animation:pulse 2s ease-in-out infinite}.loading-spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;inset:0;background:#0f172af2;display:flex;align-items:center;justify-content:center;z-index:var(--z-loading-overlay);backdrop-filter:blur(8px)}.loading-content{text-align:center;color:var(--text)}.loading-content p{margin-top:20px;font-size:1.1rem;animation:pulse 2s ease-in-out infinite}.error{color:var(--danger);text-align:center;padding:20px}.overdue{border-left:3px solid var(--danger);padding-left:10px}.overdue-label{color:var(--danger);font-weight:500;display:inline-block;margin-left:10px}.subjects-list{margin-top:20px}.subject-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:var(--card-hover);border-radius:var(--border-radius);margin-bottom:8px}.subject-item .subject-name{font-weight:500}.input-group{display:flex;gap:10px}.input-group .form-control{flex:1}.error-message{text-align:center;padding:40px 20px;background-color:var(--card);border-radius:var(--border-radius);border:1px solid var(--danger)}.error-message i{font-size:2rem;color:var(--danger);margin-bottom:16px;display:block}.error-message p{color:var(--text);margin-bottom:20px;font-size:1.1rem}.error-message .btn{margin-top:10px}.projection-container{margin:20px 0;padding:20px;background-color:var(--card);border-radius:var(--border-radius);border:1px solid var(--border-color)}.projection-content h3{margin-bottom:10px;color:var(--text)}.projection-content p{margin-bottom:20px;color:var(--text-secondary)}.projection-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:20px}.projection-btn{display:flex;flex-direction:column;align-items:center;padding:15px 10px;border:2px solid var(--border-color);background-color:var(--card);color:var(--text);border-radius:var(--border-radius);cursor:pointer;transition:all .2s}.projection-btn:hover{border-color:var(--primary);background-color:var(--primary-light)}.projection-btn.selected{border-color:var(--primary);background-color:var(--primary);color:#fff}.projection-btn i{font-size:1.5rem;margin-bottom:8px}.projection-btn span{font-size:.9rem;font-weight:500}.projection-preview{margin-top:15px;padding:15px;background-color:var(--card-hover);border-radius:var(--border-radius);border:1px solid var(--border-color)}.preview-content{text-align:center}.preview-text{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:5px}.preview-date{font-size:.9rem;color:var(--text-secondary);margin-bottom:10px}.preview-details{font-size:.8rem;color:var(--text-secondary);font-style:italic}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.feedback-list-container{margin-top:20px}.feedback-list{display:flex;flex-direction:column;gap:16px}.feedback-item{background-color:var(--card);border-radius:var(--border-radius);padding:16px;border:1px solid var(--border-color);transition:all .2s}.feedback-item:hover{background-color:var(--card-hover);box-shadow:var(--shadow)}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.feedback-type{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text);font-size:1rem}.feedback-type i{font-size:1.1rem}.feedback-status{padding:4px 12px;border-radius:99px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-new,.status-new .feedback-status{background-color:#3b82f633;color:#60a5fa}.status-inprogress,.status-inprogress .feedback-status{background-color:#fb923c33;color:#fb923c}.status-resolved,.status-resolved .feedback-status{background-color:#22c55e33;color:#4ade80}.feedback-content{color:var(--text);margin-bottom:12px;font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.feedback-footer{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.85rem;color:var(--text-light);flex-wrap:wrap;gap:12px}.feedback-user,.feedback-date{display:flex;align-items:center;gap:6px}.feedback-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border-color)}.admin-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid var(--border-color)}.admin-tab{padding:10px 20px;cursor:pointer;font-weight:500;color:var(--text-light);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.admin-tab:hover{color:var(--text);background-color:var(--card-hover)}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.feedback-form{margin:20px 0}.feedback-form .form-group{margin-bottom:16px}.feedback-form .form-label{display:block;margin-bottom:8px;color:var(--text);font-weight:500}.feedback-form .form-control{width:100%;padding:10px 12px;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--card);color:var(--text);font-size:.95rem;transition:border-color .2s}.feedback-form .form-control:focus{outline:none;border-color:var(--primary)}.feedback-form textarea.form-control{resize:vertical;min-height:100px;font-family:inherit}#feedback-status{padding:12px;border-radius:var(--border-radius);text-align:center;font-weight:500}.course-card{animation:fadeInUp .5s ease forwards;opacity:0}.course-card:nth-child(1){animation-delay:.05s}.course-card:nth-child(2){animation-delay:.1s}.course-card:nth-child(3){animation-delay:.15s}.course-card:nth-child(4){animation-delay:.2s}.course-card:nth-child(5){animation-delay:.25s}.course-card:nth-child(6){animation-delay:.3s}.course-card:nth-child(7){animation-delay:.35s}.course-card:nth-child(8){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lecture-item{animation:slideInLeft .4s ease forwards;opacity:0}.lecture-item:nth-child(1){animation-delay:.05s}.lecture-item:nth-child(2){animation-delay:.1s}.lecture-item:nth-child(3){animation-delay:.15s}.lecture-item:nth-child(4){animation-delay:.2s}.lecture-item:nth-child(5){animation-delay:.25s}.lecture-item:nth-child(6){animation-delay:.3s}.lecture-item:nth-child(7){animation-delay:.35s}.lecture-item:nth-child(8){animation-delay:.4s}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.stat-card{animation:scaleIn .5s ease forwards;opacity:0}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-content{text-align:center}.loading-spinner{width:60px;height:60px;margin:0 auto 20px;border:4px solid rgba(99,102,241,.2);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.loading-content p{color:var(--text);font-size:1.1rem;font-weight:500}.no-items{padding:60px 20px;text-align:center;color:var(--text-light);font-size:1.1rem;background:linear-gradient(135deg,rgba(99,102,241,.05) 0%,transparent 100%);border-radius:var(--border-radius-lg);border:2px dashed var(--border-color)}.no-items:before{content:"📚";display:block;font-size:3rem;margin-bottom:16px;opacity:.5}.error-message{padding:24px;text-align:center;background:linear-gradient(135deg,#ef44441a,#ef44440d);border-radius:var(--border-radius-lg);border:1px solid rgba(239,68,68,.3);color:var(--text)}.error-message i{font-size:2.5rem;color:var(--danger);margin-bottom:12px;display:block}.error-message p{margin:12px 0 20px;color:var(--text-light)}.user-menu-item{padding:12px 20px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:10px;color:var(--text);font-weight:500}.user-menu-item:hover{background:linear-gradient(90deg,rgba(239,68,68,.15) 0%,transparent 100%);color:var(--danger);padding-left:24px}.user-menu-item i{font-size:1.1rem}.menu-toggle{display:none;background:var(--secondary-light);border:1px solid var(--border-color);color:var(--text);font-size:1.25rem;cursor:pointer;padding:10px;border-radius:var(--border-radius);transition:all var(--transition-base);width:44px;height:44px;align-items:center;justify-content:center}.menu-toggle:hover{background:var(--primary);color:#fff;transform:scale(1.05)}.overdue-label{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#ef444433,#ef44441a);color:var(--danger);border-radius:var(--border-radius-sm);font-size:.85rem;font-weight:600;border:1px solid rgba(239,68,68,.3)}.overdue{border-left:4px solid var(--danger)!important}::selection{background:#6366f14d;color:var(--text)}::-moz-selection{background:#6366f14d;color:var(--text)}.add-lecture-prompt{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border:none;padding:24px}.add-lecture-content{display:flex;justify-content:space-between;align-items:center;gap:20px}.add-lecture-text{display:flex;align-items:center;gap:15px;color:#fff;font-size:1.1rem;font-weight:500}.add-lecture-icon{font-size:2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.add-lecture-prompt .btn{background:#fff;color:var(--primary);border:none;box-shadow:0 4px 12px #0003}.add-lecture-prompt .btn:hover{background:#ffffffe6;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}@media(max-width:768px){.add-lecture-content{flex-direction:column;text-align:center}.add-lecture-text{justify-content:center;font-size:1rem}.add-lecture-prompt .btn{width:auto;max-width:200px;padding:10px 20px}.add-lecture-icon{font-size:1.5rem}}.lectures-grouped{display:flex;flex-direction:column;gap:24px}.lectures-grouped.vertical{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px}.lectures-grouped.vertical .subject-group{display:flex;flex-direction:column;flex:1 1 300px;max-width:400px;min-width:280px}.lectures-grouped.vertical .subject-lectures{display:flex;flex-direction:column;gap:12px;padding:16px}.lectures-grouped.vertical .course-card{width:100%}.lectures-grouped.horizontal{flex-direction:column}.lectures-grouped.horizontal .subject-group{display:flex;flex-direction:column}.lectures-grouped.horizontal .subject-lectures{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:16px 0}.subject-group{background:var(--card);border-radius:var(--border-radius-lg);border:1px solid var(--card-border);overflow:hidden}.subject-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#6366f11a,#8b5cf60d);border-bottom:1px solid var(--border-color);cursor:default}.subject-title{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:600;color:var(--text);margin:0}.subject-title i{color:var(--primary);font-size:1.2rem}.subject-count{font-size:.8rem;font-weight:400;color:var(--text-light);background:var(--bg-secondary);padding:4px 10px;border-radius:var(--border-radius)}.subject-toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-light);cursor:pointer;transition:all var(--transition-fast)}.subject-toggle:hover{background:var(--bg-secondary);color:var(--primary);border-color:var(--primary)}.subject-group.collapsed .subject-lectures{display:none}.subject-group.collapsed .subject-header{border-bottom:none}.subject-lectures{padding:16px}.layout-toggle{display:flex;gap:4px;background:var(--bg-secondary);padding:4px;border-radius:var(--border-radius)}.layout-toggle .btn-filter{padding:6px 10px;background:transparent;border:none;color:var(--text-light);transition:all var(--transition-fast)}.layout-toggle .btn-filter.active{background:var(--primary);color:#fff}.layout-toggle .btn-filter:hover:not(.active){background:#6366f133;color:var(--primary)}@media(max-width:768px){.lectures-grouped.vertical .subject-lectures,.lectures-grouped.horizontal .subject-lectures{grid-template-columns:1fr}.lectures-grouped.horizontal .course-card{min-width:280px}.subject-header{padding:12px 16px}.subject-title{font-size:1rem}.layout-toggle{display:none}}.icon-picker-container{position:relative}.icon-picker-dropdown-container{position:relative;width:100%}.icon-picker-trigger{cursor:pointer;transition:all .2s ease}.icon-picker-trigger:hover{border-color:var(--primary)}.icon-picker-trigger-btn{width:100%;display:flex;align-items:center;padding:12px 16px;background:var(--secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text);cursor:pointer;transition:all .2s ease;font-size:.95rem;text-align:left}.icon-picker-trigger-btn:hover{border-color:var(--accent);background:var(--card-hover)}.icon-picker-trigger-btn.active{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}@media(hover:none){.icon-picker-trigger-btn:hover{border-color:var(--border-color);background:var(--secondary)}.icon-picker-trigger-btn:focus{border-color:var(--border-color);box-shadow:none}}.admin-section-btn:hover{transform:none!important;box-shadow:none!important;background:#1e1e3c80!important;border-color:#6366f133!important}.admin-section-btn.btn-accent:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important}.admin-section-btn:hover:before{width:0!important;height:0!important}.admin-section-btn:focus{outline:none;box-shadow:none!important;transform:none!important}.admin-section-btn:focus-visible{outline:none;box-shadow:none!important}@media(hover:none){.admin-section-btn:hover{background:#1e1e3c80!important}.admin-section-btn.btn-accent:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important}}.icon-picker-trigger-btn:focus{outline:none}.icon-picker-trigger-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.icon-picker-trigger-btn i:first-child{font-size:1.2rem;color:var(--accent);width:24px;text-align:center}.icon-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--card);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 8px 24px #0000004d;z-index:var(--z-dropdown);padding:16px;animation:slideDown .2s ease;max-height:300px;overflow-y:auto}.icon-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.icon-option{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text);cursor:pointer;transition:all .2s ease;font-size:1.1rem}.icon-option-btn{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:1.5px solid transparent;border-radius:8px;background:transparent;color:var(--text-light);cursor:pointer;transition:all .2s ease;font-size:1.2rem;padding:0}.icon-option-btn:hover{background:#6366f126;color:var(--text);border-color:var(--accent);transform:scale(1.05)}.icon-option-btn.selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 2px #6366f14d}.event-icon-picker .event-icon-trigger-btn{background:var(--card);border-color:var(--card-border);color:var(--text);transition:none}.event-icon-picker .event-icon-trigger-btn:hover{background:var(--card);border-color:var(--card-border)}.event-icon-picker .event-icon-trigger-btn.active{background:var(--card)}.event-icon-picker .icon-option-btn:hover{background:transparent;color:var(--text-light);border-color:transparent;transform:none}.icon-option:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.1)}.icon-option.selected{background:var(--accent);color:#fff;border-color:var(--accent)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.review-history-toggle{display:flex;align-items:center;gap:6px;font-size:.85rem;padding:6px 12px}.review-history-container{padding:16px;background:#1e293b80;border-radius:8px;margin-top:16px;border:1px solid var(--border-color)}.review-history-empty{text-align:center;color:var(--text-light);font-size:.9rem;padding:20px}.review-history-chart{width:100%}.review-history-bars{display:flex;justify-content:space-between;align-items:flex-end;height:100px;gap:8px;margin-bottom:12px;padding:0 8px}.review-history-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.review-history-bar{width:100%;background:#6366f14d;border-radius:4px 4px 0 0;min-height:4px;transition:all .3s ease}.review-history-bar.has-data{background:linear-gradient(180deg,var(--accent) 0%,var(--primary) 100%);box-shadow:0 -2px 8px #6366f14d}.review-history-bar:hover{transform:scaleY(1.05);filter:brightness(1.2)}.review-history-label{font-size:.75rem;color:var(--text-light);text-align:center}.review-history-stats{display:flex;justify-content:center;gap:16px;padding-top:12px;border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-light)}.review-history-stats i{color:var(--primary);margin-right:4px}.review-history-details{padding:16px}.review-history-summary h4{margin:0 0 16px;color:var(--text);display:flex;align-items:center;gap:8px}.review-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:20px}.review-stat{display:flex;flex-direction:column;gap:4px;padding:12px;background:#6366f11a;border-radius:8px;border:1px solid rgba(99,102,241,.2)}.review-stat .stat-label{font-size:.8rem;color:var(--text-light)}.review-stat .stat-value{font-size:1.1rem;font-weight:600;color:var(--primary)}.review-history-list h5{margin:0 0 12px;color:var(--text);font-size:.95rem}.review-history-list ul{list-style:none;padding:0;margin:0}.review-history-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#1e293b80;border-radius:6px;margin-bottom:8px;font-size:.85rem}.review-date{color:var(--text-light)}.review-time{color:var(--text);font-weight:500}.review-rating{padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.review-rating.rating-1{background:#ef444433;color:#ef4444}.review-rating.rating-2{background:#f59e0b33;color:#f59e0b}.review-rating.rating-3{background:#3b82f633;color:#3b82f6}.review-rating.rating-4{background:#10b98133;color:#10b981}.quick-todo-input{display:flex;gap:12px;margin-bottom:16px}.quick-todo-input input{flex:1}.quick-todos-list{list-style:none;padding:0;margin:0}.quick-todo-item{display:flex;align-items:center;gap:12px;padding:12px;background:#1e293b80;border-radius:8px;border:1px solid var(--border-color);margin-bottom:8px;transition:all .3s ease}.quick-todo-item:hover{background:#1e293bb3;border-color:var(--primary)}.quick-todo-item.completed{opacity:.6}.quick-todo-item.completed .quick-todo-text{text-decoration:line-through;color:var(--text-light)}.quick-todo-checkbox{width:20px;height:20px;border:2px solid var(--primary);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.quick-todo-checkbox:hover{background:#6366f11a;transform:scale(1.1)}.quick-todo-checkbox.checked{background:var(--primary);color:#fff}.quick-todo-checkbox.checked i{display:block}.quick-todo-checkbox i{display:none;font-size:.8rem}.quick-todo-text{flex:1;color:var(--text);font-size:.95rem}.quick-todo-delete{color:var(--text-light);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .3s ease;flex-shrink:0}.quick-todo-delete:hover{background:#ef444433;color:#ef4444}.quick-todos-empty{text-align:center;padding:24px;color:var(--text-light);font-size:.9rem}.decay-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500;display:inline-block}.decay-badge-green{background:#4ade8033;color:#4ade80;border:1px solid #4ade80}.decay-badge-yellow{background:#fbbf2433;color:#fbbf24;border:1px solid #fbbf24}.decay-badge-red{background:#ef444433;color:#ef4444;border:1px solid #ef4444}.review-history-graph svg{font-family:var(--font-family)}.review-history-graph h5,.review-history-graph h6{color:var(--text);margin-bottom:10px}.review-history-item .rating-1{color:var(--danger)}.review-history-item .rating-2{color:var(--warning)}.review-history-item .rating-3{color:var(--accent)}.review-history-item .rating-4{color:var(--success)}.review-history-item .rating-0{color:var(--text-light)}.time-edit{background:var(--input-bg);border:1px solid var(--border-color);color:var(--text);padding:4px 8px;border-radius:4px}.hard-sections-section{border-top:1px solid var(--border-color);padding-top:20px;margin-top:16px}.lecture-info-form .hard-sections-section{background:transparent;border:none;padding:0;margin-top:0}.hard-sections-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.hard-section-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;transition:all .2s ease}.hard-section-item:hover{background:#f59e0b26;border-color:#f59e0b80}.hard-section-info{display:flex;flex-direction:column;gap:4px;flex:1}.hard-section-title{font-weight:500;color:var(--text);display:flex;align-items:center}.hard-section-meta{display:flex;gap:15px;font-size:.85rem;color:var(--text-light)}.hard-section-meta span{display:flex;align-items:center;gap:4px}.hard-section-actions{display:flex;gap:8px}.no-hard-sections{text-align:center;padding:15px;font-style:italic}.hard-section-badge{background:linear-gradient(135deg,#f59e0b33,#f59e0b1a);border:1px solid rgba(245,158,11,.4);color:#f59e0b;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.lp-hard-section-indicator{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#f59e0b26;border-radius:4px;font-size:.85rem;color:#f59e0b;margin-top:6px}.lp-hard-section-indicator i{font-size:.9rem}.highlight-lecture{animation:highlightPulse 2s ease-out}@keyframes highlightPulse{0%{box-shadow:0 0 #6366f1b3;transform:scale(1)}50%{box-shadow:0 0 20px 10px #6366f14d;transform:scale(1.02)}to{box-shadow:0 0 #6366f100;transform:scale(1)}}.virtual-list-container{position:relative;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--primary) transparent}.virtual-list-container::-webkit-scrollbar{width:6px}.virtual-list-container::-webkit-scrollbar-track{background:transparent}.virtual-list-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}.virtual-list-spacer{position:relative;width:100%}.virtual-list-content{position:absolute;width:100%;top:0;left:0}.virtual-list-item{box-sizing:border-box;contain:layout style;will-change:transform}.lecture-item-pooled{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--card);border-radius:var(--border-radius);margin-bottom:8px;border:1px solid var(--card-border);transition:transform .15s ease,box-shadow .15s ease}.lecture-item-pooled:hover{transform:translate(4px);box-shadow:var(--shadow)}.virtual-list-skeleton{background:linear-gradient(90deg,var(--card) 25%,var(--card-hover) 50%,var(--card) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite;border-radius:var(--border-radius);height:72px;margin-bottom:8px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.virtual-list-container{overscroll-behavior:contain}.lecture-item-pooled{padding:12px}}.loading-overlay-unified{position:fixed;inset:0;background:linear-gradient(135deg,#0f0f23,#1a1a3e,#2d1b69);display:flex;align-items:center;justify-content:center;z-index:var(--z-loading-overlay);transition:opacity .3s ease-out}.loading-overlay-unified .loading-content{text-align:center}.loading-spinner-unified{position:relative;width:80px;height:80px;margin:0 auto}.loading-spinner-unified .spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:var(--primary);border-radius:50%;animation:unified-spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.loading-spinner-unified .spinner-ring:nth-child(2){animation-delay:.15s;width:70%;height:70%;top:15%;left:15%;border-top-color:var(--secondary)}.loading-spinner-unified .spinner-ring:nth-child(3){animation-delay:.3s;width:40%;height:40%;top:30%;left:30%;border-top-color:var(--secondary-light)}@keyframes unified-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay-unified .loading-message{margin-top:24px;color:var(--text);font-size:1rem;font-weight:500;opacity:.9;animation:pulse-fade 2s ease-in-out infinite}@keyframes pulse-fade{0%,to{opacity:.7}50%{opacity:1}}.modal-backdrop{position:fixed;inset:0;background-color:#000000bf;backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);visibility:hidden;opacity:0;transition:opacity .3s ease,visibility .3s ease}.modal-backdrop.active{display:flex;visibility:visible;opacity:1;transition-delay:0s}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:var(--z-modal, 9999);visibility:hidden;opacity:0;transition:opacity .3s ease,visibility .3s ease}.modal-overlay.active{display:flex;visibility:visible;opacity:1;transition-delay:0s}.modal-overlay .modal{position:relative;background:#1a1a3ef2;backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 20px 60px #0009,0 0 0 1px #6366f133;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;border:1px solid rgba(99,102,241,.2);display:block;opacity:1;transform:scale(1);animation:slideUp .3s ease-out;padding:0}.modal-overlay .modal form{padding:0}.modal-overlay .modal .modal-header{padding:24px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#6366f126,#8b5cf61a);position:relative}.modal-overlay .modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text)}.modal-overlay .modal .form-group{padding:0 24px;margin-bottom:20px}.modal-overlay .modal form .form-group:first-of-type{padding-top:24px}.modal-overlay .modal .modal-body .form-group:first-of-type{padding-top:0}.modal-overlay .modal .modal-body{padding:24px}.modal-overlay .modal .modal-actions{padding:20px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;background:#0000001a;margin-top:0}.modal-overlay .modal .modal-footer{padding:20px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;background:#0000001a}.modal{display:none;position:fixed;inset:0;background-color:#000000bf;backdrop-filter:blur(8px);z-index:var(--z-modal);align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.modal.active{display:flex;opacity:1;animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color);position:relative}.modal-header h2,.modal-header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text)}.modal-body{padding:24px}.modal-footer{padding:20px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;background:#0000001a}.modal-close,.close-btn{position:absolute;top:20px;right:20px;background:var(--secondary-light);border:1px solid var(--border-color);color:var(--text);font-size:1.25rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:background .3s ease,color .3s ease,transform .3s ease,border-color .3s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover,.close-btn:hover{background:var(--danger);color:#fff;transform:rotate(90deg);border-color:var(--danger)}.review-content{margin:0 0 20px;padding:24px;background:linear-gradient(135deg,#1e293bf2,#1e293bcc);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 12px #0003}.review-question{margin-bottom:18px}.review-question h3{font-size:1.5rem;margin:0 0 8px;color:var(--text);font-weight:600;letter-spacing:-.01em}.review-answer{margin-top:18px;padding-top:18px;border-top:1px solid rgba(99,102,241,.2);color:var(--text-dark);line-height:1.7;font-size:.95rem}.review-answer p{margin:0}.difficulty-indicator{background:linear-gradient(135deg,rgba(99,102,241,.1) 0%,transparent 100%);border-radius:var(--border-radius-lg);padding:16px;margin:16px 0;border-left:4px solid var(--primary)}.difficulty-label{font-weight:600;color:var(--text);margin-bottom:8px}.difficulty-value{font-size:1.1em;font-weight:500}.response-history{margin-top:10px}.response-history-title{font-size:.9em;color:var(--text-light);margin-bottom:8px}.response-history-dots{display:flex;gap:8px;flex-wrap:wrap}.history-dot{width:12px;height:12px;border-radius:50%;position:relative;cursor:pointer;transition:transform .2s}.history-dot:hover{transform:scale(1.2)}.confidence-marker{position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background-color:var(--accent);border:1px solid var(--background)}.confidence-summary{margin-top:10px;padding:8px;background-color:var(--background);border-radius:var(--border-radius);display:flex;justify-content:space-between;align-items:center}.confidence-label{font-size:.9em;color:var(--text-light)}.confidence-value{font-weight:600;color:var(--accent)}.rating-preview,.confidence-preview{background-color:var(--card-hover);border-radius:var(--border-radius);padding:15px;margin-top:15px;border:1px solid var(--border-color);text-align:center}.preview-content{display:flex;flex-direction:column;gap:5px}.preview-text{font-weight:600;color:var(--text);font-size:1.1em}.preview-date{color:var(--text-light);font-size:.9em}.preview-details{color:var(--text-light);font-size:.8em;margin-top:5px}.submit-container{margin-top:20px;text-align:center}.submit-rating-btn{padding:12px 30px;font-size:1.1em;font-weight:600}.lecture-meta-info{background:linear-gradient(135deg,rgba(99,102,241,.08) 0%,transparent 100%);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:14px 16px;margin-bottom:20px}.meta-stats{display:flex;flex-wrap:wrap;gap:10px;font-size:.875rem;color:var(--text-light)}.meta-stats span{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#1e293b99;border-radius:8px;border:1px solid rgba(99,102,241,.2);white-space:nowrap}.meta-stats i{color:var(--primary-light);width:16px;text-align:center;font-size:.9rem}.review-hard-sections{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:1px solid rgba(245,158,11,.3);border-radius:var(--border-radius-lg);padding:12px 16px;margin-bottom:20px}.hard-sections-header{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:#f59e0b;margin-bottom:10px}.hard-sections-chips{display:flex;flex-wrap:wrap;gap:8px}.hard-section-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:20px;font-size:.85rem;color:var(--text);cursor:default;transition:all .2s ease}.hard-section-chip.due{background:#f59e0b40;border-color:#f59e0b80;animation:pulse-warning 2s infinite}.hard-section-chip i{color:#f59e0b;font-size:.8rem}@keyframes pulse-warning{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 4px #f59e0b00}}.review-timer-container{background:linear-gradient(135deg,#6366f126,#9333ea26);border:1px solid rgba(99,102,241,.4);border-radius:12px;padding:16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.timer-display{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:600;color:var(--text-primary, #ffffff)}.timer-display i{font-size:1.8rem;color:var(--accent)}.timer-status{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .8))}.timer-status i{color:var(--success);font-size:1.1rem}.confidence-container{background-color:var(--card-hover);border-radius:var(--border-radius);padding:20px;margin:20px 0;border:1px solid var(--border-color)}.confidence-content h3{margin-bottom:10px;color:var(--text)}.confidence-content p{color:var(--text-light);margin-bottom:20px;line-height:1.5}.close-btn{position:absolute;top:10px;right:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:50%;border:none;cursor:pointer;color:#fff;font-size:18px;z-index:var(--z-modal-close);transition:background .3s ease,transform .3s ease}.close-btn:hover{background:#e15241cc;transform:rotate(90deg) scale(1.1)}.modal-title{font-size:1.2rem;font-weight:600;color:var(--text)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light)}.modal-content{position:relative;background:#1a1a3ef2;backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 20px 60px #0009,0 0 0 1px #6366f133;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;border:1px solid rgba(99,102,241,.2);transform:scale(.9);opacity:0;transition:opacity .3s ease,transform .3s ease;margin:0 auto}.modal.active .modal-content{transform:scale(1);opacity:1;animation:modalSlideUp .3s ease}.modal-backdrop.active .modal-content{transform:scale(1);opacity:1}@keyframes modalSlideUp{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-body{padding:20px}.modal-footer{padding:20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.rating-buttons{display:flex;justify-content:space-between;margin:24px 0}.rating-section{margin:24px 0}.rating-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.rating-btn{padding:20px 12px 40px;border-radius:var(--border-radius-lg);border:2px solid transparent;font-weight:600;font-size:1rem;cursor:pointer;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;color:#fff;min-height:140px;text-align:center;position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;box-shadow:var(--shadow)}.rating-btn .rating-label{font-size:1.2rem;font-weight:700;display:block;margin-top:8px}.rating-btn .rating-description{font-size:.85rem;font-weight:400;opacity:.9;display:block}.rating-preview{position:absolute;bottom:8px;left:8px;right:8px;background:#0009;padding:6px 10px;border-radius:6px;font-size:.8rem;text-align:center;overflow:hidden;line-height:1.3}.rating-btn .preview-interval{font-weight:600;display:block}.rating-btn .preview-date{font-size:.7rem;opacity:.8;display:block;margin-top:2px}.rating-preview.preview-simple,.rating-preview:not(.loading):not(.error){background:#00000080;padding:6px 10px}.preview-interval-simple{font-weight:600;font-size:.85rem;display:block;color:#fffffff2;text-shadow:0 1px 3px rgba(0,0,0,.5)}.rating-btn:hover{transform:translateY(-6px) scale(1.03);box-shadow:var(--shadow-lg);border-color:#ffffff4d}.rating-btn:active{transform:translateY(-3px) scale(1.01)}.rating-btn.selected{transform:translateY(-6px) scale(1.05);box-shadow:var(--shadow-xl);border-color:#fff}.rating-btn.selected:after{content:"✓";position:absolute;top:10px;right:10px;font-size:1.2em;font-weight:700;background:#fff;color:var(--background);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.rating-btn[data-rating="1"],.rating-btn.rating-again{background:linear-gradient(135deg,var(--rating-again) 0%,var(--rating-again-hover) 100%)}.rating-btn[data-rating="1"]:hover,.rating-btn.rating-again:hover{background:linear-gradient(135deg,var(--rating-again-hover) 0%,var(--rating-again) 100%)}.rating-btn[data-rating="2"],.rating-btn.rating-hard{background:linear-gradient(135deg,var(--rating-hard) 0%,var(--rating-hard-hover) 100%)}.rating-btn[data-rating="2"]:hover,.rating-btn.rating-hard:hover{background:linear-gradient(135deg,var(--rating-hard-hover) 0%,var(--rating-hard) 100%)}.rating-btn[data-rating="3"],.rating-btn.rating-good{background:linear-gradient(135deg,var(--rating-good) 0%,var(--rating-good-hover) 100%)}.rating-btn[data-rating="3"]:hover,.rating-btn.rating-good:hover{background:linear-gradient(135deg,var(--rating-good-hover) 0%,var(--rating-good) 100%)}.rating-btn[data-rating="4"],.rating-btn.rating-easy{background:linear-gradient(135deg,var(--rating-easy) 0%,var(--rating-easy-hover) 100%)}.rating-btn[data-rating="4"]:hover,.rating-btn.rating-easy:hover{background:linear-gradient(135deg,var(--rating-easy-hover) 0%,var(--rating-easy) 100%)}.rating-btn[data-rating="1"].selected,.rating-btn.rating-again.selected{background:linear-gradient(135deg,var(--rating-again) 0%,var(--rating-again-hover) 100%)}.rating-btn[data-rating="2"].selected,.rating-btn.rating-hard.selected{background:linear-gradient(135deg,var(--rating-hard) 0%,var(--rating-hard-hover) 100%)}.rating-btn[data-rating="3"].selected,.rating-btn.rating-good.selected{background:linear-gradient(135deg,var(--rating-good) 0%,var(--rating-good-hover) 100%)}.rating-btn[data-rating="4"].selected,.rating-btn.rating-easy.selected{background:linear-gradient(135deg,var(--rating-easy) 0%,var(--rating-easy-hover) 100%)}.confidence-options{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.confidence-btn{flex:1;padding:16px 12px;border-radius:var(--border-radius-lg);border:2px solid transparent;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;color:#fff;min-height:60px;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:var(--shadow)}.confidence-btn:hover{transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-lg);border-color:#ffffff4d}.confidence-btn.selected{transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-lg);border-color:#fff}.confidence-btn.selected:after{content:"✓";position:absolute;top:6px;right:6px;font-size:1em;font-weight:700;background:#fff;color:var(--background);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.confidence-btn i{font-size:1.3em}.confidence-btn span{font-size:.9em;font-weight:500}.confidence-btn[data-confidence="1"]{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-hover) 100%)}.confidence-btn[data-confidence="2"]{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-hover) 100%)}.confidence-btn[data-confidence="3"]{background:linear-gradient(135deg,var(--info) 0%,var(--info-hover) 100%)}.confidence-btn[data-confidence="4"]{background:linear-gradient(135deg,var(--success) 0%,var(--success-hover) 100%)}.rating-loader{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#202020e6;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:var(--z-confidence-modal, 2700);border-radius:10px;text-align:center;padding:30px}.spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.2);border-top:5px solid var(--accent);border-radius:50%;border:3px solid var(--border-color);border-top:3px solid var(--accent);width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 15px}.confidence-rating{margin:20px 0;text-align:center;display:flex;flex-direction:column;align-items:center}.confidence-options{display:flex;justify-content:center;gap:12px;width:100%;max-width:500px}.confidence-btn{flex:1;padding:15px 10px;border-radius:8px;border:none;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;color:#fff;min-height:50px;text-align:center;min-width:90px}.confidence-btn:hover{transform:translateY(-3px);box-shadow:0 4px 8px #0003}.confidence-btn.selected{transform:translateY(-3px);box-shadow:0 4px 8px #0000004d}#rating-prompt{text-align:center;font-size:1.15rem;margin:24px 0 16px;font-weight:600;color:var(--text);letter-spacing:-.01em}.difficulty-indicator{margin-top:15px;padding:10px 15px;background-color:var(--card);border-radius:8px;border:1px solid var(--border-color)}.difficulty-label{font-size:.9rem;color:var(--text-light);display:inline-block;margin-right:10px}.difficulty-value{font-weight:600;display:inline-block}.response-history{margin-top:12px}.response-history-title{font-size:.85rem;color:var(--text-light);margin-bottom:8px}.response-history-dots{display:flex;gap:8px}.history-dot{position:relative;display:inline-block;width:16px;height:16px;border-radius:50%;margin:0 4px;cursor:help}.confidence-marker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background-color:#fff}.confidence-summary{margin-top:8px;font-size:.9em;display:flex;align-items:center}.confidence-label{margin-right:6px}.confidence-value{font-weight:700}.rating-preview,.confidence-preview{margin-top:15px;padding:10px 12px;background:#000000e6;border:1px solid rgba(255,255,255,.3);border-radius:6px;box-shadow:0 2px 8px #00000080;animation:previewFadeIn .2s ease-out;position:absolute;bottom:8px;left:8px;right:8px;text-align:center;backdrop-filter:blur(4px);z-index:10;pointer-events:none}.rating-preview.preview-simple,.confidence-preview.preview-simple{background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important}.rating-preview.error{background:#f44336e6;color:#fff;font-size:.7rem;padding:4px 8px;border-radius:4px;border:1px solid rgba(244,67,54,.5)}.preview-content{text-align:center;display:flex;flex-direction:column;gap:2px}.preview-interval{font-size:.9rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);letter-spacing:.3px;line-height:1.2}.preview-date{display:block;font-size:.75rem;color:#fffffff2;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);line-height:1.2}.preview-details{font-size:11px;color:#ffffffb3;font-style:italic}.final-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:20px;padding:20px;background-color:var(--card-hover);border-radius:var(--border-radius);border:1px solid var(--border-color);text-align:center}.submit-review-btn{margin-top:20px;padding:14px 40px;font-size:16px;font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background .3s ease,transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 4px #0003;min-width:200px}.submit-review-btn:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.submit-review-btn:active{transform:translateY(0)}.submit-rating-btn{margin-top:15px;width:100%;padding:12px 20px;font-size:16px;font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background .3s ease,transform .3s ease,box-shadow .3s ease}.submit-rating-btn:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.submit-rating-btn:active{transform:translateY(0)}@keyframes previewFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.confidence-container{margin:20px 0;padding:20px;background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color)}.confidence-content h3{margin:0 0 10px;color:var(--text-primary);font-size:1.1rem}.confidence-content p{margin:0 0 20px;color:var(--text-secondary);font-size:.9rem}.confidence-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.confidence-btn{display:flex;flex-direction:column;align-items:center;padding:15px;border:2px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary);cursor:pointer;transition:border-color .2s ease,background .2s ease;text-align:center}.confidence-btn:hover{border-color:var(--accent);background:var(--accent-light)}.confidence-btn.selected{border-color:var(--accent);background:var(--accent);color:#fff}.confidence-btn i{font-size:1.5rem;margin-bottom:8px}.confidence-btn span{font-size:.9rem;font-weight:500}#confidence-step,#rating-step,#preview-step{margin-top:20px}.confidence-options,.rating-options{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:15px}.confidence-btn,.rating-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 10px;background:var(--card);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease;font-size:.9rem}.confidence-btn i,.rating-btn i{font-size:2rem}.confidence-btn:hover{background:var(--card-hover);border-color:var(--accent);transform:translateY(-2px)}.confidence-btn.selected{background:var(--accent);border-color:var(--accent);color:#fff}.preview-box{background:var(--card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;margin-top:20px}.preview-box h4{margin-bottom:15px;color:var(--accent)}.preview-details{margin-bottom:20px}.preview-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-color)}.preview-row:last-child{border-bottom:none}.preview-actions{display:flex;gap:10px;justify-content:flex-end}@media(max-width:768px){.confidence-options,.rating-options{grid-template-columns:repeat(2,1fr)}}.btn-icon-inline{background:none;border:none;color:var(--accent);cursor:pointer;margin-left:8px;font-size:1.1rem;transition:all .3s ease;padding:0;vertical-align:middle}.btn-icon-inline:hover{color:var(--accent-light);transform:scale(1.15)}.modal-content-small{background:var(--card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:450px;width:90%;border:1px solid var(--card-border);animation:slideUp .3s ease-out}.modal-content-small .modal-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-content-small .modal-header h3{margin:0;font-size:1.25rem;color:var(--text)}.modal-content-small .modal-body{padding:20px}.modal-actions{margin-top:20px}.inbox-container{display:flex;flex-direction:column;gap:15px}.inbox-messages{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.inbox-message{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:15px;margin-bottom:12px;transition:all .2s ease}.inbox-message:hover{border-color:var(--accent);box-shadow:0 2px 8px #0099cc1a}.inbox-message.unread{background:#0099cc0d;border-left:3px solid var(--accent)}.inbox-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.inbox-message-from{font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.inbox-message-from .admin-badge{background:linear-gradient(135deg,#09c,#0088b3);color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.inbox-message-date{font-size:.85rem;color:var(--text-light)}.inbox-message-subject{font-weight:600;color:var(--text);margin-bottom:8px;font-size:1.05rem}.inbox-message-body{color:var(--text-light);line-height:1.6;white-space:pre-wrap;margin-bottom:12px}.inbox-message-reference{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.inbox-reference-label{font-size:.85rem;color:var(--text-light);margin-bottom:6px}.inbox-reference-content{padding:10px;background:var(--bg);border-radius:6px;font-size:.9rem;color:var(--text-light);font-style:italic}.inbox-message-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.inbox-empty{text-align:center;padding:40px 20px;color:var(--text-light)}.inbox-empty i{font-size:3rem;margin-bottom:15px;opacity:.5}.inbox-badge{background:var(--danger);color:#fff;border-radius:12px;padding:2px 6px;font-size:.75rem;font-weight:600;margin-left:auto}.loading-state{text-align:center;padding:40px 20px;color:var(--text-light)}.loading-state .spinner{margin:0 auto 15px}#lecture-info-modal .modal-header h2{display:flex;align-items:center;gap:10px}#lecture-info-modal .modal-header h2 i{color:var(--accent)}.lecture-info-form{display:flex;flex-direction:column;gap:20px}.lecture-info-form .info-section{background:#1e293b80;border-radius:var(--border-radius);padding:20px;border:1px solid var(--border-color)}.lecture-info-form .info-section h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.lecture-info-form .form-group{margin-bottom:16px}.lecture-info-form .form-group:last-child{margin-bottom:0}.lecture-info-form .form-group label{display:block;margin-bottom:6px;font-size:.875rem;font-weight:500;color:var(--text-light)}.lecture-info-form .form-group input,.lecture-info-form .form-group select,.lecture-info-form .form-group textarea{width:100%;padding:10px 14px;background:var(--secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.lecture-info-form .form-group input:focus,.lecture-info-form .form-group select:focus,.lecture-info-form .form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.lecture-info-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fsrs-stats .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fsrs-stats .stat-item{background:var(--secondary);border-radius:var(--border-radius);padding:14px;text-align:center;border:1px solid var(--border-color)}.fsrs-stats .stat-label{font-size:.75rem;color:var(--text-light);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.fsrs-stats .stat-value{font-size:1.1rem;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:center;gap:6px}.fsrs-stats .stat-value i{font-size:.9rem;opacity:.8}.fsrs-stats .stat-value small{font-size:.7rem;font-weight:400;opacity:.7}.dates-info .dates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dates-info .date-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--secondary);border-radius:var(--border-radius);border:1px solid var(--border-color)}.dates-info .date-label{font-size:.875rem;color:var(--text-light)}.dates-info .date-value{font-size:.875rem;font-weight:500;color:var(--text)}.btn-icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:1rem}.btn-icon.btn-info{background:#6366f11a;color:var(--accent);border:1px solid rgba(99,102,241,.3)}.btn-icon.btn-info:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-icon.btn-danger{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.btn-icon.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.course-actions{display:flex;gap:8px;align-items:center}.course-actions .review-btn{flex:1}@media(max-width:600px){.lecture-info-form .form-row{grid-template-columns:1fr}.fsrs-stats .stats-grid{grid-template-columns:repeat(2,1fr)}.dates-info .dates-grid{grid-template-columns:1fr}.fsrs-stats .stat-value{font-size:.95rem}}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.mt-0{margin-top:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-wrap{white-space:normal}.text-nowrap{white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.text-muted{color:var(--text-light)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-success{background-color:var(--success)}.bg-warning{background-color:var(--warning)}.bg-danger{background-color:var(--danger)}.bg-card{background-color:var(--card)}.bg-card-hover{background-color:var(--card-hover)}.border{border:1px solid var(--border-color)}.border-0{border:none}.border-top{border-top:1px solid var(--border-color)}.border-bottom{border-bottom:1px solid var(--border-color)}.rounded{border-radius:var(--border-radius)}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-glow{box-shadow:var(--shadow-glow)}.shadow-none{box-shadow:none}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.transition-none{transition:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{user-select:none}.select-text{user-select:text}.select-all{user-select:all}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}@media print{.print-hidden{display:none!important}.print-only{display:block!important}}.toast-container{position:fixed;top:20px;right:20px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;background:#1e1e3cf2;backdrop-filter:blur(12px);box-shadow:0 8px 32px #0000004d,0 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.1);color:var(--text, #f1f5f9);font-size:.95rem;pointer-events:auto;animation:toastSlideIn .3s ease-out;transform-origin:top right}.toast-show{animation:toastSlideIn .3s ease-out forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.toast-icon{font-size:1.2rem;flex-shrink:0}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;margin-left:8px;border-radius:6px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{color:#fff;background:#ffffff1a}.toast-success{border-left:4px solid var(--success, #10b981)}.toast-success .toast-icon{color:var(--success, #10b981)}.toast-error{border-left:4px solid var(--danger, #ef4444)}.toast-error .toast-icon{color:var(--danger, #ef4444)}.toast-warning{border-left:4px solid var(--warning, #f59e0b)}.toast-warning .toast-icon{color:var(--warning, #f59e0b)}.toast-info{border-left:4px solid var(--accent, #6366f1)}.toast-info .toast-icon{color:var(--accent, #6366f1)}.toast-with-action{flex-direction:row;align-items:flex-start}.toast-content-wrapper{display:flex;flex-direction:column;gap:10px;flex:1}.toast-action-btn{cursor:pointer!important;pointer-events:auto!important;z-index:10;position:relative;display:inline-flex;align-items:center;justify-content:center;user-select:none;-webkit-tap-highlight-color:transparent}.toast-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}@media(max-width:480px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{padding:12px 14px;font-size:.9rem}}html{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:scroll!important;min-height:100vh;min-height:100dvh;height:auto;scroll-behavior:smooth}body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:scroll!important;min-height:100vh;min-height:100dvh;height:auto;margin:0;padding:0;position:relative!important}#landing-page{overflow:visible;min-height:100vh;height:auto}#app-container{position:relative;width:100%;min-height:100vh;min-height:100dvh;overflow:hidden;display:flex;flex-direction:row}.main-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:100vh;min-height:100dvh;flex:1;padding-bottom:env(safe-area-inset-bottom,20px)}.tab-content{max-height:none;overflow-y:visible}.tab-content.active{overflow-y:visible}@media(max-width:768px){.card{max-width:100%;overflow-x:hidden}input,select,textarea{font-size:16px!important}button[type=submit],.btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.form-select,select.form-control{-webkit-appearance:none;appearance:none}}@media(display-mode:standalone){html,body{background-color:var(--background, #0f172a)}body{background:var(--background, #0f172a)}body{padding:0;margin:0}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.main-content{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 20px)}#landing-page,#app-container,.main-content{min-height:100vh;min-height:100dvh}}html{scroll-behavior:smooth}select option{background:var(--card, #1e293b);color:var(--text, #fff);padding:10px}
