.graphs-page[data-v-5ec9d997]{background:linear-gradient(135deg,#3aa7ff,#34d399);min-height:100vh}.graphs-page .main[data-v-5ec9d997]{margin:0 auto;max-width:75rem;padding:2rem}.graphs-page .page-header[data-v-5ec9d997]{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.graphs-page .page-header h1[data-v-5ec9d997]{color:#fff;font-size:1.75rem;font-weight:600}.graphs-page .page-header .back-btn[data-v-5ec9d997]{align-items:center;background:#fff3;border:.0625rem solid hsla(0,0%,100%,.3);border-radius:.625rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.5rem 1rem;transition:all .3s ease}.graphs-page .page-header .back-btn[data-v-5ec9d997]:hover{background:#ffffff4d;transform:translate(-.25rem)}.graphs-page .course-selector[data-v-5ec9d997]{align-items:center;background:#fff;border-radius:1rem;box-shadow:0 .125rem .5rem #0000001a;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}.graphs-page .course-selector .selector-label[data-v-5ec9d997]{align-items:center;color:#0f172a;display:flex;font-size:.875rem;font-weight:600;gap:.25rem;white-space:nowrap}.graphs-page .course-selector .course-select[data-v-5ec9d997]{background:#fff;border:.125rem solid #d8e1ea;border-radius:.625rem;color:#0f172a;cursor:pointer;flex:1;font-size:.875rem;padding:.5rem 1rem;transition:all .3s}.graphs-page .course-selector .course-select[data-v-5ec9d997]:focus{border-color:#3aa7ff;box-shadow:0 0 0 .1875rem #3aa7ff1a;outline:none}.graphs-page .course-selector .course-select[data-v-5ec9d997]:hover{border-color:#3aa7ff}.graphs-page .alert[data-v-5ec9d997]{align-items:center;border-radius:.625rem;display:flex;font-size:.75rem;gap:.5rem;line-height:1.6;margin-bottom:1.5rem;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.graphs-page .alert.alert-info[data-v-5ec9d997]{background:#d1ecf1;border:.0625rem solid #17a2b8;color:#0c5460}.graphs-page .alert .alert-close[data-v-5ec9d997]{align-items:center;background:transparent;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;justify-content:center;opacity:.7;padding:.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:all .2s ease}.graphs-page .alert .alert-close[data-v-5ec9d997]:hover{background:#0000001a;opacity:1}.graphs-page .loading-state[data-v-5ec9d997]{align-items:center;color:#fff;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:6rem}.graphs-page .loading-state .spin[data-v-5ec9d997]{animation:spin-5ec9d997 1s linear infinite}@keyframes spin-5ec9d997{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.graphs-page .graph-header[data-v-5ec9d997]{background:#fff;border-radius:1rem;box-shadow:0 .25rem .75rem #0000001a;margin-bottom:1.5rem;padding:2rem}.graphs-page .graph-header .graph-title[data-v-5ec9d997]{color:#0f172a;font-size:1.75rem;font-weight:600;margin-bottom:1.5rem}.graphs-page .graph-header .graph-stats[data-v-5ec9d997]{display:flex;gap:1.5rem}.graphs-page .graph-header .graph-stats .stat-item[data-v-5ec9d997]{align-items:center;background:linear-gradient(135deg,#3aa7ff,#34d399);border-radius:.625rem;display:flex;gap:.5rem;padding:1rem 1.5rem}.graphs-page .graph-header .graph-stats .stat-item .stat-label[data-v-5ec9d997]{color:#ffffffe6;font-size:.75rem}.graphs-page .graph-header .graph-stats .stat-item .stat-value[data-v-5ec9d997]{color:#fff;font-size:1.5rem;font-weight:600}.graphs-page .graph-header .graph-stats .stat-item svg[data-v-5ec9d997]{color:#fff}.graphs-page .modules-grid[data-v-5ec9d997]{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}.graphs-page .module-card[data-v-5ec9d997]{background:#fff;border-radius:1rem;box-shadow:0 .125rem .5rem #0000001a;cursor:pointer;padding:2rem;transition:all .3s ease}.graphs-page .module-card[data-v-5ec9d997]:hover{box-shadow:0 .5rem 1.5rem #00000026;transform:translateY(-.25rem)}.graphs-page .module-card .module-header[data-v-5ec9d997]{border-bottom:.125rem solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1rem}.graphs-page .module-card .module-header .module-title[data-v-5ec9d997]{color:#0f172a;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.graphs-page .module-card .module-header .module-progress[data-v-5ec9d997]{align-items:center;display:flex;gap:.5rem}.graphs-page .module-card .module-header .module-progress .progress-bar[data-v-5ec9d997]{background:#e0e0e0;border-radius:.25rem;flex:1;height:.5rem;overflow:hidden;position:relative}.graphs-page .module-card .module-header .module-progress .progress-bar .progress-fill[data-v-5ec9d997]{background:linear-gradient(90deg,#3aa7ff,#34d399);border-radius:.25rem;height:100%;transition:width .3s ease}.graphs-page .module-card .module-header .module-progress .progress-text[data-v-5ec9d997]{color:#64748b;font-size:.75rem;font-weight:500;min-width:2.8125rem;text-align:right}.graphs-page .module-card .module-stats[data-v-5ec9d997]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.graphs-page .module-card .module-stats .stat-row[data-v-5ec9d997]{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:.25rem}.graphs-page .module-card .module-stats .stat-row .stat-label[data-v-5ec9d997]{flex:1}.graphs-page .module-card .module-stats .stat-row .stat-value[data-v-5ec9d997]{color:#0f172a;font-weight:600}.graphs-page .module-card .module-stats .stat-row .stat-value.success[data-v-5ec9d997]{color:#52c41a}.graphs-page .module-card .module-stats .stat-row .stat-value.warning[data-v-5ec9d997]{color:#faad14}.graphs-page .module-card .module-footer .view-btn[data-v-5ec9d997]{align-items:center;background:linear-gradient(135deg,#3aa7ff,#34d399);border:none;border-radius:.625rem;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;justify-content:center;padding:.5rem 1rem;transition:all .3s ease;width:100%}.graphs-page .module-card .module-footer .view-btn[data-v-5ec9d997]:hover{box-shadow:0 .25rem .75rem #667eea66;transform:translateY(-.125rem)}.graphs-page .empty-state[data-v-5ec9d997]{align-items:center;color:#fff;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;padding:6rem}.graphs-page .empty-state svg[data-v-5ec9d997]{opacity:.6}.graphs-page .empty-state p[data-v-5ec9d997]{font-size:1rem;opacity:.8}@media (max-width:768px){.graphs-page .main[data-v-5ec9d997]{padding:1rem}.graphs-page .modules-grid[data-v-5ec9d997]{grid-template-columns:1fr}.graphs-page .graph-header[data-v-5ec9d997]{padding:1.5rem}.graphs-page .graph-header .graph-title[data-v-5ec9d997]{font-size:1.375rem}.graphs-page .graph-header .graph-stats[data-v-5ec9d997]{flex-direction:column}}
