@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-a8e7b37e],.card[data-v-a8e7b37e],.stat-card[data-v-a8e7b37e],.header[data-v-a8e7b37e],.sidebar[data-v-a8e7b37e]{background:#fff!important}.admin-layout .glass-surface[data-v-a8e7b37e],.admin-layout .admin-content[data-v-a8e7b37e],.admin-layout .header--admin[data-v-a8e7b37e],.admin-layout .sidebar--admin[data-v-a8e7b37e],.content--admin .glass-surface[data-v-a8e7b37e],.content--admin .admin-content[data-v-a8e7b37e],.content--admin .header--admin[data-v-a8e7b37e],.content--admin .sidebar--admin[data-v-a8e7b37e]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-a8e7b37e],.card[data-v-a8e7b37e],.stat-card[data-v-a8e7b37e],.header[data-v-a8e7b37e],.sidebar[data-v-a8e7b37e],.base-modal[data-v-a8e7b37e]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-a8e7b37e{0%{opacity:0}to{opacity:1}}@keyframes slideUp-a8e7b37e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-a8e7b37e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-a8e7b37e{0%,to{opacity:1}50%{opacity:.5}}.toast-container[data-v-a8e7b37e]{position:fixed;bottom:1.5rem;right:1.5rem;z-index:11000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:24rem;width:calc(100% - 3rem)}.toast[data-v-a8e7b37e]{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:.75rem;background:#fff;border:1px solid var(--student-border-soft, #e2e8f0);box-shadow:0 10px 25px -5px #0f172a1a,0 8px 10px -6px #0f172a0d;cursor:pointer;pointer-events:all}:root:has(.admin-layout) .toast[data-v-a8e7b37e]{background:var(--admin-surface-2, #182030);border-color:var(--admin-border-soft, rgba(255, 255, 255, .1));box-shadow:0 10px 25px -5px #0006}:root:has(.admin-layout) .toast .toast__message[data-v-a8e7b37e]{color:var(--admin-text-primary, #f1f5f9)}:root:has(.admin-layout) .toast .toast__close[data-v-a8e7b37e]{color:var(--admin-text-secondary, #94a3b8)}:root:has(.admin-layout) .toast .toast__close[data-v-a8e7b37e]:hover{color:#fff}.toast--success[data-v-a8e7b37e]{border-color:var(--color-success-500)}.toast--success .toast__icon[data-v-a8e7b37e]{color:var(--color-success-500)}.toast--error[data-v-a8e7b37e]{border-color:var(--color-error-500)}.toast--error .toast__icon[data-v-a8e7b37e]{color:var(--color-error-500)}.toast--warning[data-v-a8e7b37e]{border-color:var(--color-warning-500)}.toast--warning .toast__icon[data-v-a8e7b37e]{color:var(--color-warning-500)}.toast--info[data-v-a8e7b37e]{border-color:var(--color-primary-500)}.toast--info .toast__icon[data-v-a8e7b37e]{color:var(--color-primary-500)}.toast__icon[data-v-a8e7b37e]{flex-shrink:0;width:1.25rem;height:1.25rem}.toast__icon svg[data-v-a8e7b37e]{width:100%;height:100%}.toast__message[data-v-a8e7b37e]{flex:1;font-size:.875rem;line-height:1.4;color:var(--student-text-primary, var(--color-text-primary))}.toast__close[data-v-a8e7b37e]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:none;border:none;cursor:pointer;color:var(--student-text-secondary, var(--color-text-tertiary));padding:0;opacity:.6}.toast__close[data-v-a8e7b37e]:hover{color:var(--student-text-primary, var(--color-text-secondary));opacity:1}.toast__close svg[data-v-a8e7b37e]{width:100%;height:100%}.toast-enter-active[data-v-a8e7b37e]{transition:all .3s ease}.toast-leave-active[data-v-a8e7b37e]{transition:all .25s ease}.toast-enter-from[data-v-a8e7b37e],.toast-leave-to[data-v-a8e7b37e]{opacity:0;transform:translate(100%)}.toast-move[data-v-a8e7b37e]{transition:transform .3s ease}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-6ceb0eca],.card[data-v-6ceb0eca],.stat-card[data-v-6ceb0eca],.header[data-v-6ceb0eca],.sidebar[data-v-6ceb0eca]{background:#fff!important}.admin-layout .glass-surface[data-v-6ceb0eca],.admin-layout .admin-content[data-v-6ceb0eca],.admin-layout .header--admin[data-v-6ceb0eca],.admin-layout .sidebar--admin[data-v-6ceb0eca],.content--admin .glass-surface[data-v-6ceb0eca],.content--admin .admin-content[data-v-6ceb0eca],.content--admin .header--admin[data-v-6ceb0eca],.content--admin .sidebar--admin[data-v-6ceb0eca]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-6ceb0eca],.card[data-v-6ceb0eca],.stat-card[data-v-6ceb0eca],.header[data-v-6ceb0eca],.sidebar[data-v-6ceb0eca],.base-modal[data-v-6ceb0eca]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-6ceb0eca{0%{opacity:0}to{opacity:1}}@keyframes slideUp-6ceb0eca{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-6ceb0eca{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-6ceb0eca{0%,to{opacity:1}50%{opacity:.5}}.error-boundary[data-v-6ceb0eca]{display:flex;align-items:center;justify-content:center;min-height:300px;padding:var(--space-6)}.error-boundary__content[data-v-6ceb0eca]{text-align:center;max-width:480px}.error-boundary__icon[data-v-6ceb0eca]{font-size:3rem;margin-bottom:var(--space-4)}.error-boundary__title[data-v-6ceb0eca]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.error-boundary__message[data-v-6ceb0eca]{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.error-boundary__actions[data-v-6ceb0eca]{display:flex;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-4)}.error-boundary__details[data-v-6ceb0eca]{text-align:left;margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface-2);border-radius:var(--rounded-lg);font-size:var(--text-sm)}.error-boundary__details summary[data-v-6ceb0eca]{cursor:pointer;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.error-boundary__details summary[data-v-6ceb0eca]:hover{color:var(--color-text-secondary)}.error-boundary__details pre[data-v-6ceb0eca]{margin:0;padding:var(--space-3);background:var(--color-surface-3);border-radius:var(--rounded);overflow-x:auto;font-size:var(--text-xs);color:var(--color-danger-400)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-e5103430],.card[data-v-e5103430],.stat-card[data-v-e5103430],.header[data-v-e5103430],.sidebar[data-v-e5103430]{background:#fff!important}.admin-layout .glass-surface[data-v-e5103430],.admin-layout .admin-content[data-v-e5103430],.admin-layout .header--admin[data-v-e5103430],.admin-layout .sidebar--admin[data-v-e5103430],.content--admin .glass-surface[data-v-e5103430],.content--admin .admin-content[data-v-e5103430],.content--admin .header--admin[data-v-e5103430],.content--admin .sidebar--admin[data-v-e5103430]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-e5103430],.card[data-v-e5103430],.stat-card[data-v-e5103430],.header[data-v-e5103430],.sidebar[data-v-e5103430],.base-modal[data-v-e5103430]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-e5103430{0%{opacity:0}to{opacity:1}}@keyframes slideUp-e5103430{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-e5103430{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-e5103430{0%,to{opacity:1}50%{opacity:.5}}.student-footer[data-v-e5103430]{margin-top:auto;margin-left:260px;flex-shrink:0;border-top:1px solid var(--student-border-soft);background:#fff}.student-footer__inner[data-v-e5103430]{width:min(100%,1340px);margin:0 auto;padding:var(--space-5) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.student-footer__brand[data-v-e5103430]{min-width:0}.student-footer__message[data-v-e5103430]{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--student-text-primary)}.student-footer__credit[data-v-e5103430]{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--student-text-secondary)}.student-footer__credit a[data-v-e5103430]{color:var(--student-accent);text-decoration:none;font-weight:600}.student-footer__copyright[data-v-e5103430]{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--student-text-secondary);opacity:.7}.student-footer__nav[data-v-e5103430]{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.student-footer__nav-title[data-v-e5103430]{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-right:var(--space-1)}.student-footer__link[data-v-e5103430]{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-2);border-radius:var(--rounded-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--student-text-secondary);text-decoration:none;transition:color .2s ease,background-color .2s ease}.student-footer__link[data-v-e5103430]:hover{background:var(--student-accent-soft);color:var(--student-accent);text-decoration:none}.student-footer__link.router-link-active[data-v-e5103430],.student-footer__link.router-link-exact-active[data-v-e5103430]{color:var(--student-accent);background:var(--student-accent-soft)}@media(max-width:1024px){.student-footer[data-v-e5103430]{margin-left:0}}@media(max-width:768px){.student-footer__inner[data-v-e5103430]{flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-4)}.student-footer__nav[data-v-e5103430]{width:100%;justify-content:flex-start;align-items:flex-start;flex-direction:column}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-02759259],.card[data-v-02759259],.stat-card[data-v-02759259],.header[data-v-02759259],.sidebar[data-v-02759259]{background:#fff!important}.admin-layout .glass-surface[data-v-02759259],.admin-layout .admin-content[data-v-02759259],.admin-layout .header--admin[data-v-02759259],.admin-layout .sidebar--admin[data-v-02759259],.content--admin .glass-surface[data-v-02759259],.content--admin .admin-content[data-v-02759259],.content--admin .header--admin[data-v-02759259],.content--admin .sidebar--admin[data-v-02759259]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-02759259],.card[data-v-02759259],.stat-card[data-v-02759259],.header[data-v-02759259],.sidebar[data-v-02759259],.base-modal[data-v-02759259]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-02759259{0%{opacity:0}to{opacity:1}}@keyframes slideUp-02759259{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-02759259{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-02759259{0%,to{opacity:1}50%{opacity:.5}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.student-layout[data-v-02759259],.content[data-v-02759259]{--student-surface-1: #ffffff;--student-surface-2: #f8fafc;--student-surface-overlay: #ffffff}}.notif-bell[data-v-02759259]{position:relative}.notif-bell__btn[data-v-02759259]{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--student-border-soft);border-radius:.5rem;color:var(--student-text-secondary);cursor:pointer;transition:all .15s ease}.notif-bell__btn svg[data-v-02759259]{width:18px;height:18px;flex-shrink:0}.notif-bell__btn[data-v-02759259]:hover{background:var(--student-accent-soft);border-color:var(--student-border-strong);color:var(--student-accent)}.notif-bell__btn.has-unread[data-v-02759259]{color:var(--student-accent);border-color:#2563eb4d;background:var(--student-accent-soft)}.notif-bell__btn.has-unread[data-v-02759259]:hover{background:#2563eb29}.notif-bell__badge[data-v-02759259]{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;line-height:18px;text-align:center;border-radius:9999px;border:2px solid transparent;background-clip:padding-box;pointer-events:none}.notif-panel[data-v-02759259]{position:absolute;top:calc(100% + .5rem);right:0;width:360px;max-width:calc(100vw - 2rem);background:var(--student-surface-overlay);border:1px solid var(--student-border-soft);box-shadow:var(--student-shadow-elevated);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:.75rem;z-index:100;overflow:hidden;display:flex;flex-direction:column}@media(max-width:639px){.notif-panel[data-v-02759259]{right:-85px}}.notif-panel__header[data-v-02759259]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--student-border-soft);flex-shrink:0}.notif-panel__title[data-v-02759259]{font-size:.875rem;font-weight:600;color:var(--student-text-primary)}.notif-panel__mark-all[data-v-02759259]{background:none;border:none;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:var(--student-accent);cursor:pointer;border-radius:.375rem;transition:background .15s ease,color .15s ease}.notif-panel__mark-all[data-v-02759259]:hover{background:var(--student-accent-soft);text-decoration:none}.notif-panel__mark-all[data-v-02759259]:disabled{opacity:.5;cursor:not-allowed}.notif-panel__body[data-v-02759259]{overflow-y:auto;max-height:380px;overscroll-behavior:contain}.notif-panel__empty[data-v-02759259]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1rem;color:var(--student-text-muted)}.notif-panel__empty svg[data-v-02759259]{width:40px;height:40px;opacity:.4}.notif-panel__empty p[data-v-02759259]{font-size:.875rem;margin:0}.notif-item[data-v-02759259]{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--student-border-soft);text-align:left;cursor:pointer;transition:background .15s ease;position:relative}.notif-item[data-v-02759259]:last-child{border-bottom:none}.notif-item[data-v-02759259]:hover{background:var(--student-accent-soft)}.notif-item.is-unread[data-v-02759259]{background:#2563eb0d}.notif-item.is-unread[data-v-02759259]:hover{background:var(--student-accent-soft)}.notif-item--skeleton[data-v-02759259]{pointer-events:none}.notif-item--skeleton .sk[data-v-02759259]{background:#94a3b833;border-radius:.25rem;animation:shimmer-02759259 1.4s ease-in-out infinite}.notif-item--skeleton .notif-item__icon-wrap.sk[data-v-02759259]{flex-shrink:0}.notif-item--skeleton .sk--title[data-v-02759259]{width:120px;height:13px;margin-bottom:.5rem}.notif-item--skeleton .sk--body[data-v-02759259]{width:200px;height:11px}.notif-item__icon-wrap[data-v-02759259]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:.5rem;flex-shrink:0;margin-top:1px}.notif-item__icon-wrap svg[data-v-02759259]{width:16px;height:16px}.notif-item__icon-wrap--lesson_unlocked[data-v-02759259]{background:#2563eb14;color:#2563eb}.notif-item__icon-wrap--submission_reviewed[data-v-02759259]{background:#22c55e14;color:#16a34a}.notif-item__icon-wrap--calendar_event[data-v-02759259]{background:#f59e0b14;color:#b45309}.notif-item__icon-wrap--exercise_issue_resolved[data-v-02759259]{background:#22c55e14;color:#15803d}.notif-item__content[data-v-02759259]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notif-item__title[data-v-02759259]{font-size:.875rem;font-weight:600;color:var(--student-text-primary);line-height:1.375}.notif-item__body[data-v-02759259]{font-size:.75rem;color:var(--student-text-secondary);line-height:1.5;white-space:normal;overflow-wrap:break-word}.notif-item__time[data-v-02759259]{font-size:.688rem;color:var(--student-text-muted);margin-top:.25rem}.notif-item__dot[data-v-02759259]{width:8px;height:8px;border-radius:9999px;background:var(--student-accent);flex-shrink:0;margin-top:.5rem}.notif-panel__load-more[data-v-02759259]{padding:.5rem 1rem;text-align:center}.notif-panel__loading-more[data-v-02759259]{font-size:.75rem;color:var(--student-text-muted)}@keyframes shimmer-02759259{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.dropdown-enter-active,.dropdown-leave-active{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from,.dropdown-leave-to{opacity:0;transform:translateY(-.5rem)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-ee568676],.card[data-v-ee568676],.stat-card[data-v-ee568676],.header[data-v-ee568676],.sidebar[data-v-ee568676]{background:#fff!important}.admin-layout .glass-surface[data-v-ee568676],.admin-layout .admin-content[data-v-ee568676],.admin-layout .header--admin[data-v-ee568676],.admin-layout .sidebar--admin[data-v-ee568676],.content--admin .glass-surface[data-v-ee568676],.content--admin .admin-content[data-v-ee568676],.content--admin .header--admin[data-v-ee568676],.content--admin .sidebar--admin[data-v-ee568676]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-ee568676],.card[data-v-ee568676],.stat-card[data-v-ee568676],.header[data-v-ee568676],.sidebar[data-v-ee568676],.base-modal[data-v-ee568676]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-ee568676{0%{opacity:0}to{opacity:1}}@keyframes slideUp-ee568676{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-ee568676{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ee568676{0%,to{opacity:1}50%{opacity:.5}}.base-modal__overlay[data-v-ee568676]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10020;display:grid;place-items:center;padding:var(--space-4);background:#0f172a73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.base-modal[data-v-ee568676]{width:min(100%,34rem);max-height:min(90vh,52rem);display:flex;flex-direction:column;border-radius:1rem;border:1px solid var(--modal-border);background:var(--modal-background);box-shadow:var(--modal-shadow);color:var(--modal-text, var(--color-text-primary));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}.base-modal--sm[data-v-ee568676]{width:min(100%,28rem)}.base-modal--lg[data-v-ee568676]{width:min(100%,42rem)}.base-modal--xl[data-v-ee568676]{width:min(100%,54rem)}.base-modal--student[data-v-ee568676]{--modal-border: #e2e8f0;--modal-background: #ffffff;--modal-shadow: 0 20px 48px -8px rgb(15 23 42 / .12);--modal-text: var(--student-text-primary, var(--color-text-primary));--modal-title: var(--student-text-primary, var(--color-text-primary));--modal-description: var(--student-text-muted, var(--color-text-secondary));--modal-divider: #f1f5f9}.base-modal--admin[data-v-ee568676]{--modal-border: rgb(255 255 255 / .12);--modal-background: #141c2b;--modal-shadow: 0 24px 56px -8px rgb(0 0 0 / .6);--modal-text: var(--admin-text-primary, #f8fafc);--modal-title: var(--admin-text-primary, #f8fafc);--modal-description: var(--admin-text-secondary, #94a3b8);--modal-divider: rgb(255 255 255 / .08)}.base-modal__header[data-v-ee568676]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--modal-divider)}.base-modal__heading[data-v-ee568676]{min-width:0}.base-modal__title[data-v-ee568676]{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.015em;color:var(--modal-title, var(--color-text-primary))}.base-modal__description[data-v-ee568676]{margin:var(--space-2) 0 0;font-size:.875rem;color:var(--modal-description, var(--color-text-secondary));line-height:1.55}.base-modal__body[data-v-ee568676]{padding:var(--space-6);overflow-y:auto}.base-modal__footer[data-v-ee568676]{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--modal-divider);background:#ffffff4d}.base-modal--admin .base-modal__footer[data-v-ee568676]{background:#0003}.base-modal-enter-active[data-v-ee568676],.base-modal-leave-active[data-v-ee568676]{transition:opacity .25s cubic-bezier(.16,1,.3,1)}.base-modal-enter-active .base-modal[data-v-ee568676],.base-modal-leave-active .base-modal[data-v-ee568676]{transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease}.base-modal-enter-from[data-v-ee568676],.base-modal-leave-to[data-v-ee568676]{opacity:0}.base-modal-enter-from .base-modal[data-v-ee568676],.base-modal-leave-to .base-modal[data-v-ee568676]{transform:translateY(12px) scale(.97);opacity:0}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-89bad223],.card[data-v-89bad223],.stat-card[data-v-89bad223],.header[data-v-89bad223],.sidebar[data-v-89bad223]{background:#fff!important}.admin-layout .glass-surface[data-v-89bad223],.admin-layout .admin-content[data-v-89bad223],.admin-layout .header--admin[data-v-89bad223],.admin-layout .sidebar--admin[data-v-89bad223],.content--admin .glass-surface[data-v-89bad223],.content--admin .admin-content[data-v-89bad223],.content--admin .header--admin[data-v-89bad223],.content--admin .sidebar--admin[data-v-89bad223]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-89bad223],.card[data-v-89bad223],.stat-card[data-v-89bad223],.header[data-v-89bad223],.sidebar[data-v-89bad223],.base-modal[data-v-89bad223]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-89bad223{0%{opacity:0}to{opacity:1}}@keyframes slideUp-89bad223{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-89bad223{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-89bad223{0%,to{opacity:1}50%{opacity:.5}}.combo-box[data-v-89bad223]{width:100%;position:relative}.combo-box--light[data-v-89bad223],.combo-box__panel--light[data-v-89bad223]{--combo-bg: #ffffff;--combo-bg-hover: #ffffff;--combo-panel-bg: #ffffff;--combo-border: var(--student-border-soft, rgb(148 163 184 / .28));--combo-border-strong: var(--student-border-strong, rgb(100 130 170 / .42));--combo-text: var(--student-text-primary, #0f172a);--combo-muted: var(--student-text-muted, #64748b);--combo-accent: var(--student-accent, #2563eb);--combo-accent-soft: rgb(37 99 235 / .12);--combo-shadow: 0 14px 30px rgb(15 23 42 / .12)}.combo-box--dark[data-v-89bad223],.combo-box__panel--dark[data-v-89bad223]{--combo-bg: var(--admin-input-bg, #141c2c);--combo-bg-hover: var(--admin-input-bg-hover, #1b263b);--combo-panel-bg: var(--admin-surface-2, #182030);--combo-border: var(--admin-input-border, rgb(255 255 255 / .16));--combo-border-strong: var(--admin-input-border-hover, rgb(255 255 255 / .36));--combo-text: var(--admin-text-primary, #f8fafc);--combo-muted: var(--admin-input-placeholder, #8899ac);--combo-accent: var(--admin-accent, #3b82f6);--combo-accent-soft: rgb(59 130 246 / .2);--combo-shadow: 0 16px 36px rgb(0 0 0 / .45)}.combo-box__trigger[data-v-89bad223]{width:100%;min-height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--combo-border);border-radius:.375rem;background:var(--combo-bg);color:var(--combo-text);padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.combo-box__trigger[data-v-89bad223]:hover:not(:disabled){border-color:var(--combo-border-strong);background:var(--combo-bg-hover)}.combo-box__trigger[data-v-89bad223]:focus-visible{outline:none;border-color:var(--combo-accent);box-shadow:0 0 0 3px var(--combo-accent-soft)}.combo-box__trigger[data-v-89bad223]:disabled{cursor:not-allowed;opacity:.65}.combo-box__trigger-label[data-v-89bad223]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.875rem}.combo-box__trigger-label.is-placeholder[data-v-89bad223]{color:var(--combo-muted)}.combo-box__trigger-chevron[data-v-89bad223]{width:1rem;height:1rem;flex-shrink:0;transition:transform .15s ease}.combo-box.is-open .combo-box__trigger[data-v-89bad223]{border-color:var(--combo-accent);background:var(--combo-bg-hover)}.combo-box.is-open .combo-box__trigger-chevron[data-v-89bad223]{transform:rotate(180deg)}.combo-box__panel[data-v-89bad223]{z-index:600;border:1px solid var(--combo-border);border-radius:.5rem;background:var(--combo-panel-bg);box-shadow:var(--combo-shadow);overflow:hidden;display:flex;flex-direction:column;transform-origin:top center}.combo-box__panel--origin-top[data-v-89bad223]{transform-origin:bottom center}.combo-box-panel-enter-active[data-v-89bad223]{transition:opacity .16s ease,transform .16s cubic-bezier(.16,1,.3,1)}.combo-box-panel-leave-active[data-v-89bad223]{transition:opacity .11s ease,transform .11s cubic-bezier(.4,0,1,1)}.combo-box-panel-enter-from[data-v-89bad223],.combo-box-panel-leave-to[data-v-89bad223]{opacity:0;transform:scaleY(.92)}.combo-box__search-wrap[data-v-89bad223]{padding:.5rem;border-bottom:1px solid var(--combo-border)}.combo-box__search-input[data-v-89bad223]{width:100%;min-height:2.25rem;font-size:.875rem;border:1px solid var(--combo-border);border-radius:.375rem;background:var(--combo-bg);color:var(--combo-text);padding:.5rem .75rem}.combo-box__search-input[data-v-89bad223]::placeholder{color:var(--combo-muted)}.combo-box__search-input[data-v-89bad223]:focus{outline:none;border-color:var(--combo-accent);box-shadow:0 0 0 3px var(--combo-accent-soft)}.combo-box__list[data-v-89bad223]{list-style:none;margin:0;padding:.25rem;max-height:15.75rem;overflow-y:auto;flex:1}.combo-box__empty[data-v-89bad223]{color:var(--combo-muted);font-size:.875rem;padding:.75rem}.combo-box__option[data-v-89bad223]{width:100%;border:0;border-radius:.375rem;background:transparent;color:var(--combo-text);display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;text-align:left;cursor:pointer;transition:background .15s ease}.combo-box__option[data-v-89bad223]:hover,.combo-box__option.is-active[data-v-89bad223]{background:var(--combo-accent-soft)}.combo-box__option[data-v-89bad223]:disabled{opacity:.55;cursor:not-allowed}.combo-box__option.is-selected[data-v-89bad223]{font-weight:600}.combo-box__option-label[data-v-89bad223]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.combo-box__option-check[data-v-89bad223]{width:1rem;height:1rem;color:var(--combo-accent)}.combo-box__option-check svg[data-v-89bad223]{width:100%;height:100%}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-c33b2f8e],.card[data-v-c33b2f8e],.stat-card[data-v-c33b2f8e],.header[data-v-c33b2f8e],.sidebar[data-v-c33b2f8e]{background:#fff!important}.admin-layout .glass-surface[data-v-c33b2f8e],.admin-layout .admin-content[data-v-c33b2f8e],.admin-layout .header--admin[data-v-c33b2f8e],.admin-layout .sidebar--admin[data-v-c33b2f8e],.content--admin .glass-surface[data-v-c33b2f8e],.content--admin .admin-content[data-v-c33b2f8e],.content--admin .header--admin[data-v-c33b2f8e],.content--admin .sidebar--admin[data-v-c33b2f8e]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-c33b2f8e],.card[data-v-c33b2f8e],.stat-card[data-v-c33b2f8e],.header[data-v-c33b2f8e],.sidebar[data-v-c33b2f8e],.base-modal[data-v-c33b2f8e]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-c33b2f8e{0%{opacity:0}to{opacity:1}}@keyframes slideUp-c33b2f8e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-c33b2f8e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-c33b2f8e{0%,to{opacity:1}50%{opacity:.5}}.user-avatar[data-v-c33b2f8e]{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;flex-shrink:0;overflow:hidden;color:#fff;font-weight:700;letter-spacing:.02em;background:#2563eb}.user-avatar--sm[data-v-c33b2f8e]{width:1.75rem;height:1.75rem;font-size:.75rem}.user-avatar--md[data-v-c33b2f8e]{width:2rem;height:2rem;font-size:.75rem}.user-avatar--lg[data-v-c33b2f8e]{width:2.5rem;height:2.5rem;font-size:.875rem}.user-avatar__img[data-v-c33b2f8e]{width:100%;height:100%;object-fit:cover}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-8422a41e],.card[data-v-8422a41e],.stat-card[data-v-8422a41e],.header[data-v-8422a41e],.sidebar[data-v-8422a41e]{background:#fff!important}.admin-layout .glass-surface[data-v-8422a41e],.admin-layout .admin-content[data-v-8422a41e],.admin-layout .header--admin[data-v-8422a41e],.admin-layout .sidebar--admin[data-v-8422a41e],.content--admin .glass-surface[data-v-8422a41e],.content--admin .admin-content[data-v-8422a41e],.content--admin .header--admin[data-v-8422a41e],.content--admin .sidebar--admin[data-v-8422a41e]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-8422a41e],.card[data-v-8422a41e],.stat-card[data-v-8422a41e],.header[data-v-8422a41e],.sidebar[data-v-8422a41e],.base-modal[data-v-8422a41e]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-8422a41e{0%{opacity:0}to{opacity:1}}@keyframes slideUp-8422a41e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-8422a41e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-8422a41e{0%,to{opacity:1}50%{opacity:.5}}.skip-link[data-v-8422a41e]{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:10001;padding:var(--space-3) var(--space-6);background:var(--color-primary);color:#fff;border-radius:var(--rounded-lg);font-weight:600;text-decoration:none;transition:top .2s ease}.skip-link[data-v-8422a41e]:focus{top:var(--space-2);outline:2px solid var(--color-primary);outline-offset:2px}.header__menu-toggle[data-v-8422a41e]{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;border:none;border-radius:.5rem;color:var(--color-text);cursor:pointer;transition:background-color .2s ease}.header__menu-toggle[data-v-8422a41e]:hover{background-color:var(--color-bg-secondary)}.header__menu-toggle svg[data-v-8422a41e]{width:1.5rem;height:1.5rem}@media(max-width:1023px){.header__menu-toggle[data-v-8422a41e]{display:flex}}.sidebar-overlay[data-v-8422a41e]{display:none}@media(max-width:1023px){.sidebar-overlay[data-v-8422a41e]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:299;background-color:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}.overlay-enter-active[data-v-8422a41e],.overlay-leave-active[data-v-8422a41e]{transition:opacity .2s ease}.overlay-enter-from[data-v-8422a41e],.overlay-leave-to[data-v-8422a41e]{opacity:0}@media(max-width:1023px){.header__desktop-only[data-v-8422a41e]{display:none}}.header--student-shell[data-v-8422a41e]{gap:var(--space-6)}.header__logo[data-v-8422a41e]{min-width:0}.header__brand[data-v-8422a41e]{display:flex;flex-direction:column;min-width:0}@media(max-width:767px){.header__brand[data-v-8422a41e]{display:none}}.header__brand-label[data-v-8422a41e]{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--student-text-muted)}.header__brand-title[data-v-8422a41e]{font-size:.95rem;font-weight:700;color:var(--student-text-primary);white-space:nowrap}.header__context[data-v-8422a41e]{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:.85rem 1rem;border:1px solid var(--student-border-soft);border-radius:1rem;background:#fff;box-shadow:0 1px 2px #0f172a08}.header__context-copy[data-v-8422a41e]{min-width:0;display:grid;gap:.2rem}.header__context-label[data-v-8422a41e]{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--student-text-muted)}.header__context-title[data-v-8422a41e]{font-size:1rem;font-weight:700;color:var(--student-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__context-meta[data-v-8422a41e]{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.header__context-chip[data-v-8422a41e],.content__chip[data-v-8422a41e],.sidebar__panel-chip[data-v-8422a41e]{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .75rem;border:1px solid var(--student-border-soft);border-radius:999px;background:#fff;color:var(--student-text-secondary);font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;box-shadow:0 1px 2px #0f172a05}.header__context-chip--accent[data-v-8422a41e],.content__chip--accent[data-v-8422a41e],.sidebar__panel-chip--accent[data-v-8422a41e]{background:#275df114;border-color:#275df12e;color:var(--student-accent)}.content[data-v-8422a41e]{display:flex;flex-direction:column;min-height:calc(100svh - 64px);min-height:calc(100dvh - 64px)}.content__body[data-v-8422a41e]{flex:1 0 auto;min-height:0;padding:1.5rem 1.25rem}@media(min-width:768px){.content__body[data-v-8422a41e]{padding:2rem}}@media(max-width:1023px){.header__user-name[data-v-8422a41e]{display:none}}.content__shell[data-v-8422a41e]{width:min(100%,1080px);margin:0 auto;display:grid;gap:var(--space-4)}.content__meta-bar[data-v-8422a41e]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-inline:var(--space-2)}@media(max-width:767px){.content__meta-bar[data-v-8422a41e]{flex-direction:column;padding-inline:0}}.content__meta-copy[data-v-8422a41e]{min-width:0;display:grid;gap:.35rem}.content__meta-label[data-v-8422a41e]{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--student-text-muted)}.content__breadcrumbs[data-v-8422a41e]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.875rem;color:var(--student-text-secondary)}.content__breadcrumbs a[data-v-8422a41e]{color:var(--student-accent);text-decoration:none;font-weight:600}.content__meta-chips[data-v-8422a41e]{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.content__surface[data-v-8422a41e]{position:relative;border:1px solid var(--student-border-soft);border-radius:.75rem;background:#fff;box-shadow:0 1px 3px #0f172a0a}.content__surface--frameless[data-v-8422a41e]{background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible!important}.content__stage[data-v-8422a41e]{position:relative;z-index:1}.sidebar__panel[data-v-8422a41e]{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--student-border-soft);border-radius:1.25rem;background:linear-gradient(180deg,#ffffffe0,#f9fafcf5);box-shadow:0 10px 24px #0f172a0a}.sidebar__panel-top[data-v-8422a41e]{display:flex;align-items:center;gap:var(--space-3);min-width:0}.sidebar__panel-avatar[data-v-8422a41e]{box-shadow:0 6px 14px #0f172a14}.sidebar__panel-copy[data-v-8422a41e]{min-width:0;display:grid;gap:.25rem}.sidebar__panel-label[data-v-8422a41e]{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--student-text-muted)}.sidebar__panel-name[data-v-8422a41e]{display:block;font-size:1rem;font-weight:700;color:var(--student-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__panel-text[data-v-8422a41e]{margin:0;font-size:.8125rem;line-height:1.5;color:var(--student-text-secondary)}.sidebar__panel-meta[data-v-8422a41e]{display:flex;flex-wrap:wrap;gap:.5rem}.sidebar__mobile-utilities[data-v-8422a41e]{display:none}@media(max-width:1023px){.sidebar__mobile-utilities[data-v-8422a41e]{display:grid;gap:.75rem;margin-top:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--student-border-soft)}}.sidebar__lang[data-v-8422a41e]{display:flex;justify-content:center;gap:.5rem}.sidebar__courses-group[data-v-8422a41e]{display:flex;flex-direction:column;gap:.25rem}.sidebar__courses-trigger[data-v-8422a41e]{display:flex;align-items:stretch;gap:.25rem}.sidebar__courses-trigger .sidebar__link[data-v-8422a41e]{flex:1;min-width:0}.sidebar__courses-toggle[data-v-8422a41e]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;border:1px solid transparent;border-radius:.5rem;background:transparent;color:var(--color-text-secondary, var(--color-text));cursor:pointer;transition:all .2s ease}.sidebar__courses-toggle[data-v-8422a41e]:hover{background:var(--student-accent-soft);color:var(--color-primary)}.sidebar__courses-toggle[data-v-8422a41e]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar__courses-toggle.is-open svg[data-v-8422a41e]{transform:rotate(180deg)}.sidebar__courses-toggle svg[data-v-8422a41e]{width:1.1rem;height:1.1rem;transition:transform .2s ease}.sidebar__courses-submenu[data-v-8422a41e]{display:flex;flex-direction:column;gap:.25rem}.student-view-badge[data-v-8422a41e]{position:sticky;top:var(--space-4);z-index:30;margin:var(--space-4) var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--student-border-soft);border-radius:.5rem;background:#fff;display:flex;align-items:center;gap:var(--space-2);box-shadow:0 4px 12px -2px #0f172a0f}@media(max-width:1023px){.student-view-badge[data-v-8422a41e]{top:var(--space-3);margin:var(--space-3) var(--space-3) 0;padding:var(--space-3);flex-wrap:wrap}}.student-view-badge__label[data-v-8422a41e]{font-size:.75rem;font-weight:700;color:var(--student-accent)}.student-view-badge__value[data-v-8422a41e]{flex:1;min-width:0;font-size:.75rem;color:var(--student-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-view-badge__actions[data-v-8422a41e]{display:flex;gap:var(--space-2)}@media(max-width:639px){.student-view-badge__actions[data-v-8422a41e]{width:100%;justify-content:flex-end}}.student-view-modal[data-v-8422a41e]{display:grid;gap:var(--space-4)}.student-view-modal__toggle[data-v-8422a41e]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.student-view-modal__mode[data-v-8422a41e]{min-height:2.25rem;border:1px solid var(--student-border-soft);border-radius:.7rem;background:#fff;color:var(--student-text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .16s ease}.student-view-modal__mode[data-v-8422a41e]:hover{border-color:var(--student-border-strong)}.student-view-modal__mode.is-active[data-v-8422a41e]{border-color:var(--student-accent);color:var(--student-accent);background:var(--student-accent-soft)}.student-view-modal__field[data-v-8422a41e]{display:grid;gap:var(--space-2)}.student-view-modal__label[data-v-8422a41e]{font-size:.8125rem;font-weight:600;color:var(--student-text-secondary)}.student-view-modal__hint[data-v-8422a41e]{margin:0;font-size:.75rem;color:var(--student-text-muted)}.student-view-modal__error[data-v-8422a41e]{margin:0;font-size:.8125rem;color:var(--color-error, #dc2626)}.student-view-modal__active[data-v-8422a41e]{margin:0;font-size:.8125rem;padding:.5rem .625rem;border-radius:.625rem;background:var(--student-accent-soft);color:var(--student-accent);font-weight:600}.student-view-modal__actions[data-v-8422a41e]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.fade-enter-active[data-v-8422a41e],.fade-leave-active[data-v-8422a41e]{transition:opacity .2s ease}.fade-enter-from[data-v-8422a41e],.fade-leave-to[data-v-8422a41e]{opacity:0}.dropdown-enter-active[data-v-8422a41e],.dropdown-leave-active[data-v-8422a41e]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-8422a41e],.dropdown-leave-to[data-v-8422a41e]{opacity:0;transform:translateY(-.5rem)}.submenu-enter-active[data-v-8422a41e],.submenu-leave-active[data-v-8422a41e]{transition:opacity .16s ease,transform .16s ease;transform-origin:top}.submenu-enter-from[data-v-8422a41e],.submenu-leave-to[data-v-8422a41e]{opacity:0;transform:translateY(-.25rem)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-6ca0c5db],.card[data-v-6ca0c5db],.stat-card[data-v-6ca0c5db],.header[data-v-6ca0c5db],.sidebar[data-v-6ca0c5db]{background:#fff!important}.admin-layout .glass-surface[data-v-6ca0c5db],.admin-layout .admin-content[data-v-6ca0c5db],.admin-layout .header--admin[data-v-6ca0c5db],.admin-layout .sidebar--admin[data-v-6ca0c5db],.content--admin .glass-surface[data-v-6ca0c5db],.content--admin .admin-content[data-v-6ca0c5db],.content--admin .header--admin[data-v-6ca0c5db],.content--admin .sidebar--admin[data-v-6ca0c5db]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-6ca0c5db],.card[data-v-6ca0c5db],.stat-card[data-v-6ca0c5db],.header[data-v-6ca0c5db],.sidebar[data-v-6ca0c5db],.base-modal[data-v-6ca0c5db]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-6ca0c5db{0%{opacity:0}to{opacity:1}}@keyframes slideUp-6ca0c5db{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-6ca0c5db{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-6ca0c5db{0%,to{opacity:1}50%{opacity:.5}}.skip-link[data-v-6ca0c5db]{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:10001;padding:var(--space-3) var(--space-6);background:var(--color-warning);color:var(--color-gray-900);border-radius:var(--rounded-lg);font-weight:600;text-decoration:none;transition:top .2s ease}.skip-link[data-v-6ca0c5db]:focus{top:var(--space-2);outline:2px solid var(--color-warning);outline-offset:2px}.header__menu-toggle[data-v-6ca0c5db]{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;border:none;border-radius:.5rem;color:var(--color-text);cursor:pointer;transition:background-color .2s ease}.header__menu-toggle[data-v-6ca0c5db]:hover{background-color:var(--color-bg-secondary)}.header__menu-toggle svg[data-v-6ca0c5db]{width:1.5rem;height:1.5rem}@media(max-width:1023px){.header__menu-toggle[data-v-6ca0c5db]{display:flex}}.sidebar-overlay[data-v-6ca0c5db]{display:none}@media(max-width:1023px){.sidebar-overlay[data-v-6ca0c5db]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:299;background-color:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}.overlay-enter-active[data-v-6ca0c5db],.overlay-leave-active[data-v-6ca0c5db]{transition:opacity .2s ease}.overlay-enter-from[data-v-6ca0c5db],.overlay-leave-to[data-v-6ca0c5db]{opacity:0}.header__back-btn[data-v-6ca0c5db]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;color:var(--color-gray-400);font-size:.875rem;transition:all .2s ease}.header__back-btn svg[data-v-6ca0c5db]{width:1rem;height:1rem}.header__back-btn[data-v-6ca0c5db]:hover{background:var(--color-gray-700);color:var(--color-white)}@media(max-width:1023px){.header__desktop-only[data-v-6ca0c5db]{display:none}}@media(max-width:1023px){.header__logo-text[data-v-6ca0c5db]{display:none}}@media(max-width:1023px){.header__user-name[data-v-6ca0c5db]{display:none}}.sidebar__mobile-utilities[data-v-6ca0c5db]{display:none}@media(max-width:1023px){.sidebar__mobile-utilities[data-v-6ca0c5db]{display:grid;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-gray-800)}}.sidebar__link--utility[data-v-6ca0c5db]{justify-content:flex-start}.sidebar__lang[data-v-6ca0c5db]{display:flex;justify-content:center;gap:.5rem}.sidebar__lang-btn[data-v-6ca0c5db]{border-color:var(--color-gray-700);color:var(--color-gray-300)}.sidebar__lang-btn[data-v-6ca0c5db]:hover{background-color:var(--color-primary-500);border-color:var(--color-primary-400);color:var(--color-white)}.sidebar__lang-btn.is-active[data-v-6ca0c5db]{background:color-mix(in srgb,var(--color-primary-600) 20%,transparent);border-color:var(--color-primary-500);color:var(--color-primary-300);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary-500) 15%,transparent)}.sidebar__link-label[data-v-6ca0c5db]{flex:1}.sidebar__pill[data-v-6ca0c5db]{flex:0;min-width:1.25rem;height:1.25rem;padding:0 .375rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;font-size:.7rem;font-weight:700;line-height:1;background:color-mix(in srgb,var(--color-error-500) 78%,transparent);color:var(--color-white)}.header__badge[data-v-6ca0c5db]{padding:.125rem .5rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--color-warning);color:var(--color-gray-900);border-radius:9999px}.header__user-avatar--admin[data-v-6ca0c5db]{background:linear-gradient(135deg,var(--color-warning),#f59e0b)}.fade-enter-active[data-v-6ca0c5db],.fade-leave-active[data-v-6ca0c5db]{transition:opacity .2s ease}.fade-enter-from[data-v-6ca0c5db],.fade-leave-to[data-v-6ca0c5db]{opacity:0}.dropdown-enter-active[data-v-6ca0c5db],.dropdown-leave-active[data-v-6ca0c5db]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-6ca0c5db],.dropdown-leave-to[data-v-6ca0c5db]{opacity:0;transform:translateY(-.5rem)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-f78305d3],.card[data-v-f78305d3],.stat-card[data-v-f78305d3],.header[data-v-f78305d3],.sidebar[data-v-f78305d3]{background:#fff!important}.admin-layout .glass-surface[data-v-f78305d3],.admin-layout .admin-content[data-v-f78305d3],.admin-layout .header--admin[data-v-f78305d3],.admin-layout .sidebar--admin[data-v-f78305d3],.content--admin .glass-surface[data-v-f78305d3],.content--admin .admin-content[data-v-f78305d3],.content--admin .header--admin[data-v-f78305d3],.content--admin .sidebar--admin[data-v-f78305d3]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-f78305d3],.card[data-v-f78305d3],.stat-card[data-v-f78305d3],.header[data-v-f78305d3],.sidebar[data-v-f78305d3],.base-modal[data-v-f78305d3]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-f78305d3{0%{opacity:0}to{opacity:1}}@keyframes slideUp-f78305d3{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-f78305d3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-f78305d3{0%,to{opacity:1}50%{opacity:.5}}.session-modal-backdrop[data-v-f78305d3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-modal[data-v-f78305d3]{background:#fff;border:1px solid var(--student-border-soft, #e2e8f0);border-radius:var(--rounded-2xl);padding:var(--space-8);max-width:400px;width:calc(100% - var(--space-8));text-align:center;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}:root:has(.admin-layout) .session-modal[data-v-f78305d3]{background:var(--admin-surface-2, #182030);border-color:var(--admin-border-soft, rgba(255, 255, 255, .1));box-shadow:0 20px 25px -5px #00000080}:root:has(.admin-layout) .session-modal .session-modal__title[data-v-f78305d3]{color:var(--admin-text-primary, #f1f5f9)}:root:has(.admin-layout) .session-modal .session-modal__description[data-v-f78305d3]{color:var(--admin-text-secondary, #94a3b8)}.session-modal__icon[data-v-f78305d3]{font-size:3.5rem;margin-bottom:var(--space-4);line-height:1}.session-modal__title[data-v-f78305d3]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--student-text-primary, var(--color-text-primary));margin:0 0 var(--space-2) 0}.session-modal__description[data-v-f78305d3]{color:var(--student-text-secondary, var(--color-text-secondary));margin:0 0 var(--space-6) 0;line-height:1.5}.modal-enter-active[data-v-f78305d3],.modal-leave-active[data-v-f78305d3]{transition:opacity .2s ease}.modal-enter-active .session-modal[data-v-f78305d3],.modal-leave-active .session-modal[data-v-f78305d3]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-f78305d3],.modal-leave-to[data-v-f78305d3]{opacity:0}.modal-enter-from .session-modal[data-v-f78305d3],.modal-leave-to .session-modal[data-v-f78305d3]{transform:scale(.95);opacity:0}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface[data-v-25d026e4],.card[data-v-25d026e4],.stat-card[data-v-25d026e4],.header[data-v-25d026e4],.sidebar[data-v-25d026e4]{background:#fff!important}.admin-layout .glass-surface[data-v-25d026e4],.admin-layout .admin-content[data-v-25d026e4],.admin-layout .header--admin[data-v-25d026e4],.admin-layout .sidebar--admin[data-v-25d026e4],.content--admin .glass-surface[data-v-25d026e4],.content--admin .admin-content[data-v-25d026e4],.content--admin .header--admin[data-v-25d026e4],.content--admin .sidebar--admin[data-v-25d026e4]{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface[data-v-25d026e4],.card[data-v-25d026e4],.stat-card[data-v-25d026e4],.header[data-v-25d026e4],.sidebar[data-v-25d026e4],.base-modal[data-v-25d026e4]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn-25d026e4{0%{opacity:0}to{opacity:1}}@keyframes slideUp-25d026e4{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-25d026e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-25d026e4{0%,to{opacity:1}50%{opacity:.5}}.cookie-consent[data-v-25d026e4]{position:fixed;left:50%;bottom:var(--space-4);transform:translate(-50%);width:min(960px,100% - var(--space-6) * 2);z-index:9500;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--rounded-xl);background:#ffffffed;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 16px 32px #0f172a26}.cookie-consent__inner[data-v-25d026e4]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.cookie-consent__text[data-v-25d026e4]{margin:0;color:var(--color-text-secondary, #4b5563);font-size:var(--text-sm);line-height:1.55}.cookie-consent__link[data-v-25d026e4]{color:var(--color-primary, #2563eb);font-weight:var(--font-medium);text-decoration:none}.cookie-consent__link[data-v-25d026e4]:hover,.cookie-consent__link[data-v-25d026e4]:focus-visible{text-decoration:underline}.cookie-consent__accept[data-v-25d026e4]{flex-shrink:0}.cookie-consent-fade-enter-active[data-v-25d026e4],.cookie-consent-fade-leave-active[data-v-25d026e4]{transition:opacity .2s ease,transform .2s ease}.cookie-consent-fade-enter-from[data-v-25d026e4],.cookie-consent-fade-leave-to[data-v-25d026e4]{opacity:0;transform:translate(-50%) translateY(10px)}@media(max-width:768px){.cookie-consent[data-v-25d026e4]{width:calc(100% - var(--space-4) * 2);bottom:var(--space-3)}.cookie-consent__inner[data-v-25d026e4]{flex-direction:column;align-items:stretch;padding:var(--space-4)}.cookie-consent__accept[data-v-25d026e4]{width:100%;justify-content:center}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-surface,.card,.stat-card,.header,.sidebar{background:#fff!important}.admin-layout .glass-surface,.admin-layout .admin-content,.admin-layout .header--admin,.admin-layout .sidebar--admin,.content--admin .glass-surface,.content--admin .admin-content,.content--admin .header--admin,.content--admin .sidebar--admin{background:#111723!important}}@media(prefers-reduced-transparency:reduce){.glass-surface,.card,.stat-card,.header,.sidebar,.base-modal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.student-layout,.content{--student-surface-1: #ffffff;--student-surface-2: #f8fafc;--student-surface-overlay: #ffffff}}:root{--color-primary: #2563eb;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-secondary: #14b8a6;--color-secondary-100: #ccfbf1;--color-secondary-400: #2dd4bf;--color-success: #22c55e;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-warning: #f59e0b;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-400: #fbbf24;--color-warning-500: #f59e0b;--color-error: #ef4444;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-400: #f87171;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-danger-400: #f87171;--color-danger-500: #ef4444;--color-info: #3b82f6;--color-info-100: #dbeafe;--color-info-400: #60a5fa;--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--color-surface-1: #ffffff;--color-surface-2: #f3f4f6;--color-surface-3: #e5e7eb;--color-border: #e5e7eb;--color-text: #111827;--color-text-primary: #111827;--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-bg-secondary: #f9fafb;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--rounded-none: 0;--rounded-sm: .125rem;--rounded: .25rem;--rounded-md: .375rem;--rounded-lg: .5rem;--rounded-xl: .75rem;--rounded-2xl: 1rem;--rounded-3xl: 1.5rem;--rounded-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;color:#111827;background-color:#f9fafb}h1,h2,h3,h4,h5,h6{text-wrap:balance;color:#111827}h1{font-size:2.25rem;font-weight:700;line-height:1.25;letter-spacing:-.025em}h2{font-size:1.875rem;font-weight:700;line-height:1.25;letter-spacing:-.025em}h3{font-size:1.5rem;font-weight:600;line-height:1.375}h4{font-size:1.25rem;font-weight:600;line-height:1.375}p{text-wrap:pretty;margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:#2563eb;text-decoration:none;transition:color .15s ease}a:hover{color:#1d4ed8;text-decoration:underline}a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}strong,b{font-weight:600}small{font-size:.875rem}code{font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:.875rem;padding:.125em .375em;background:#f3f4f6;border-radius:.25rem;color:#dc2626}pre{font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:.875rem;padding:1rem;background:#1e1e1e;color:#d4d4d4;border-radius:.5rem;overflow-x:auto}pre code{padding:0;background:none;color:inherit}ul,ol{padding-left:1.5rem;margin-bottom:1rem}ul li,ol li{margin-bottom:.25rem}ul:last-child,ol:last-child{margin-bottom:0}img,picture,video,canvas,svg{display:block;max-width:100%}img{height:auto}input,button,textarea,select{font:inherit}button{cursor:pointer;background:none;border:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{resize:vertical}fieldset{border:none;padding:0}table{border-collapse:collapse;width:100%}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}[disabled]{cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.skip-to-content{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content:focus{position:fixed;top:1rem;left:1rem;z-index:700;width:auto;height:auto;padding:.75rem 1rem;margin:0;overflow:visible;clip:auto;white-space:normal;background:#3b82f6;color:#fff;border-radius:.5rem;font-weight:500}::selection{background:#3b82f633;color:#111827}body{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}body::-webkit-scrollbar{width:6px;height:6px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:3px}body::-webkit-scrollbar-thumb:hover{background:#94a3b899}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.m-0{margin:0}.m-auto{margin:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.text-xs{font-size:.75rem}.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-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:#111827}.text-secondary{color:#4b5563}.text-tertiary{color:#6b7280}.text-success{color:#16a34a}.text-warning{color:#d97706}.text-error{color:#dc2626}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bg-primary{background-color:#fff}.bg-secondary{background-color:#f9fafb}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.border{border:1px solid #e5e7eb}.border-0{border:none}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.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}.visible{visibility:visible}.invisible{visibility:hidden}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.transition{transition:all .2s ease}.transition-fast{transition:all .15s ease}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:1.375;border-radius:.5rem;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn{border-radius:.5rem;position:relative;-webkit-user-select:none;user-select:none;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn--sm{padding:.25rem .75rem;font-size:.75rem;border-radius:.375rem}.btn--lg{padding:.75rem 1.5rem;font-size:1rem;border-radius:.75rem}.btn--primary:hover:not(:disabled){color:#fff;background:#1d4ed8;box-shadow:0 2px 6px #2563eb4d}.btn--primary:active:not(:disabled){background:#1e40af;transform:scale(.98)}.btn--secondary{background:#fff;color:var(--student-text-primary);border:1px solid var(--student-border-soft);box-shadow:0 1px 2px #0f172a08}.btn--secondary:hover:not(:disabled){background:#f8fafce6;border-color:var(--student-border-strong);color:var(--student-text-primary);box-shadow:0 2px 4px #0f172a0a}.btn--secondary:active:not(:disabled){background:#f1f5f9e6;transform:scale(.98)}:root:has(.admin-layout) .btn--secondary,.admin-layout .btn--secondary{background:var(--admin-surface-2, #182030);border:1px solid var(--admin-border-soft, rgba(255, 255, 255, .12));color:var(--admin-text-primary, #f8fafc);box-shadow:0 1px 2px #00000040}:root:has(.admin-layout) .btn--secondary:hover:not(:disabled),.admin-layout .btn--secondary:hover:not(:disabled){background:var(--admin-surface-hover, #1e283c);border-color:var(--admin-border-strong, rgba(255, 255, 255, .28));color:#fff;box-shadow:0 2px 6px #00000059}:root:has(.admin-layout) .btn--secondary:active:not(:disabled),.admin-layout .btn--secondary:active:not(:disabled){background:#25334c}.btn--ghost{background:transparent;color:#4b5563;border:1px solid transparent}.btn--ghost:hover:not(:disabled){background:#0f172a0d;color:#111827;box-shadow:none}:root:has(.admin-layout) .btn--ghost,.admin-layout .btn--ghost{color:var(--admin-text-secondary, #cbd5e1)}:root:has(.admin-layout) .btn--ghost:hover:not(:disabled),.admin-layout .btn--ghost:hover:not(:disabled){background:#ffffff14;color:#fff}:root:has(.admin-layout) .btn--ghost:active:not(:disabled),.admin-layout .btn--ghost:active:not(:disabled){background:#ffffff1f}.btn--success{background:#16a34a;color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #16a34a33}.btn--success:hover:not(:disabled){background:#15803d;box-shadow:0 2px 6px #16a34a4d}.btn--success:disabled,.btn--success:hover:disabled{color:#111827}.btn--danger{background:#dc2626;color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #dc262633}.btn--danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 2px 6px #dc26264d}.btn--link{background:transparent;color:#2563eb;padding:0;border:none;box-shadow:none}.btn--link:hover:not(:disabled){color:#1d4ed8;text-decoration:underline;background:transparent}.btn--loading{position:relative;color:transparent!important;pointer-events:none}.btn--loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn--loading.btn--primary:after,.btn--loading.btn--success:after,.btn--loading.btn--danger:after{border-color:#ffffffb3;border-right-color:transparent}.btn--full,.btn--block{width:100%}.btn--icon{padding:.5rem;border-radius:.5rem}.btn--icon svg{width:20px;height:20px}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.btn-group .btn:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.btn-group .btn:not(:first-child){margin-left:-1px}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:#111827}.form-label .required{color:#ef4444;margin-left:.25rem}.form-input{width:100%;padding:.5rem .75rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;color:var(--input-color, var(--color-text, #111827));background:var(--input-bg, #ffffff);border:1px solid var(--input-border, var(--student-border-soft, #e5e7eb));border-radius:.5rem;box-shadow:0 1px 2px #0f172a08;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease}.form-input::placeholder{color:var(--input-placeholder, #6b7280)}.form-input:hover:not(:disabled){border-color:var(--input-border-hover, var(--student-border-strong, #d1d5db));background:var(--input-bg-hover, #ffffff)}.form-input:focus{outline:none;background:var(--input-bg-focus, #ffffff);border-color:var(--input-border-focus, #3b82f6);box-shadow:0 0 0 3px #3b82f62e}.form-input:disabled{background:var(--input-bg-disabled, rgba(243, 244, 246, .7));color:var(--input-color-disabled, #6b7280);cursor:not-allowed;box-shadow:none}.form-input{height:40px}.form-input--sm{height:32px;font-size:.75rem}.form-input--lg{height:48px;font-size:1rem}.form-input--error{border-color:#ef4444}.form-input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-input--success{border-color:#22c55e}.form-input--success:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.form-textarea{width:100%;padding:.5rem .75rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;color:var(--input-color, var(--color-text, #111827));background:var(--input-bg, #ffffff);border:1px solid var(--input-border, var(--student-border-soft, #e5e7eb));border-radius:.5rem;box-shadow:0 1px 2px #0f172a08;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease}.form-textarea::placeholder{color:var(--input-placeholder, #6b7280)}.form-textarea:hover:not(:disabled){border-color:var(--input-border-hover, var(--student-border-strong, #d1d5db));background:var(--input-bg-hover, #ffffff)}.form-textarea:focus{outline:none;background:var(--input-bg-focus, #ffffff);border-color:var(--input-border-focus, #3b82f6);box-shadow:0 0 0 3px #3b82f62e}.form-textarea:disabled{background:var(--input-bg-disabled, rgba(243, 244, 246, .7));color:var(--input-color-disabled, #6b7280);cursor:not-allowed;box-shadow:none}.form-textarea{min-height:100px;resize:vertical}.form-select{width:100%;padding:.5rem .75rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;color:var(--input-color, var(--color-text, #111827));background:var(--input-bg, #ffffff);border:1px solid var(--input-border, var(--student-border-soft, #e5e7eb));border-radius:.5rem;box-shadow:0 1px 2px #0f172a08;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease}.form-select::placeholder{color:var(--input-placeholder, #6b7280)}.form-select:hover:not(:disabled){border-color:var(--input-border-hover, var(--student-border-strong, #d1d5db));background:var(--input-bg-hover, #ffffff)}.form-select:focus{outline:none;background:var(--input-bg-focus, #ffffff);border-color:var(--input-border-focus, #3b82f6);box-shadow:0 0 0 3px #3b82f62e}.form-select:disabled{background:var(--input-bg-disabled, rgba(243, 244, 246, .7));color:var(--input-color-disabled, #6b7280);cursor:not-allowed;box-shadow:none}.form-select{height:40px;line-height:1.2;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;padding-right:2.5rem;padding-top:0;padding-bottom:0;cursor:pointer}.form-check{display:flex;align-items:flex-start;gap:.5rem}.form-check__input{flex-shrink:0;width:18px;height:18px;margin-top:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d1d5db;border-radius:.25rem;background:#fff;cursor:pointer;transition:all .15s ease}.form-check__input:checked{background:#3b82f6;border-color:#3b82f6;background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}.form-check__input:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}.form-check__input[type=radio]{border-radius:9999px}.form-check__input[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}.form-check__label{font-size:.875rem;color:#111827;line-height:1.375;cursor:pointer}.form-help{margin-top:.25rem;font-size:.75rem;color:#6b7280}.form-error{margin-top:.25rem;font-size:.75rem;color:#dc2626}.form-input-group{position:relative}.form-input-group .form-input--icon-left{padding-left:2.5rem}.form-input-group .form-input--icon-right{padding-right:2.5rem}.form-input-group__icon{position:absolute;top:50%;transform:translateY(-50%);color:#6b7280}.form-input-group__icon--left{left:.75rem}.form-input-group__icon--right{right:.75rem}.form-input-group__icon svg{width:18px;height:18px}.form-input-addon{display:flex}.form-input-addon .form-input{border-top-right-radius:0;border-bottom-right-radius:0}.form-input-addon .form-input:focus{z-index:1}.form-input-addon .btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.form-input.is-error,.form-textarea.is-error{border-color:#ef4444}.form-input.is-error:focus,.form-textarea.is-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-hint{margin-top:.25rem;font-size:.75rem;color:#6b7280}.form-row{display:grid;gap:1rem}@media(min-width:640px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-alert{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;line-height:1.625}.form-alert--success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.form-alert--error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.form-alert--warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.form-alert--info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.form-error-banner{padding:.75rem 1rem;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:.5rem;font-size:.875rem;line-height:1.625;margin-top:.5rem}.card{background:var(--student-surface-1, #ffffff);border:1px solid var(--student-border-soft, #e2e8f0);border-radius:.75rem;box-shadow:0 1px 3px #0f172a08;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--student-border-strong, #cbd5e1);box-shadow:0 4px 12px -2px #0f172a0d}.card--interactive:active{box-shadow:0 1px 2px #0f172a08}.card--flat{box-shadow:none;border-color:var(--student-border-soft, #e2e8f0);background:var(--student-surface-2, #f8fafc)}.card__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--student-border-soft, #e2e8f0)}.card__header--no-border{border-bottom:none}.card__title{font-size:1.25rem;font-weight:600;line-height:1.375;margin:0;letter-spacing:-.015em}.card__subtitle{font-size:.875rem;color:#4b5563;margin-top:.25rem}.card__body{padding:1.5rem}.card__footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--student-border-soft, #e2e8f0);background:var(--student-surface-2, #f8fafc);border-radius:0 0 .75rem .75rem}.card--lesson{position:relative;overflow:hidden}.card--lesson.locked{opacity:.65}.card--lesson.locked .card__body{filter:grayscale(.5)}.card--exercise{background:var(--student-surface-1, #ffffff)}.card--exercise.completed{border-left:3px solid #22c55e}.card--exercise.in-progress{border-left:3px solid #f59e0b}.card--stats .card__body{text-align:center}.card--stats .stats-value{font-size:1.875rem;font-weight:700;line-height:1.25;letter-spacing:-.025em;color:#2563eb;letter-spacing:-.03em}.card--stats .stats-label{font-size:.875rem;color:#4b5563;margin-top:.25rem}.card-grid{display:grid;gap:1.25rem}@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.card-grid--2-col{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid--4-col{grid-template-columns:repeat(4,1fr)}}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:3px .5rem;font-size:.6875rem;font-weight:600;letter-spacing:.02em;line-height:1;border-radius:9999px;text-transform:capitalize;text-align:center;width:fit-content;border:1px solid transparent}.badge--primary{background:#2563eb1a;color:#2563eb;border-color:#2563eb38}.badge--secondary{background:#64748b1a;color:#374151;border-color:#64748b33}.badge--success{background:#22c55e1a;color:#16a34a;border-color:#22c55e3d}.badge--warning{background:#f59e0b1a;color:#b45309;border-color:#f59e0b3d}.badge--error{background:#ef44441a;color:#dc2626;border-color:#ef444438}.badge--info{background:#14b8a61a;color:#0d9488;border-color:#14b8a638}.badge--beginner,.badge--easy{background:#22c55e1a;color:#16a34a;border-color:#22c55e38}.badge--intermediate,.badge--medium{background:#f59e0b1a;color:#b45309;border-color:#f59e0b3d}.badge--advanced,.badge--hard{background:#ef44441a;color:#dc2626;border-color:#ef444438}.badge--sm{padding:2px .25rem;font-size:10px}.badge--lg{padding:.5rem .75rem;font-size:.875rem}.badge--dot:before{content:"";width:6px;height:6px;border-radius:9999px;background:currentColor;box-shadow:0 0 6px currentColor}.badge--gray{background:#94a3b826;color:#4b5563;border-color:#94a3b840}.badge--danger{background:#ef44441a;color:#dc2626;border-color:#ef444438}.badge--outline{background:#ffffff80;color:#4b5563;border:1px solid var(--student-border-soft, #d1d5db);box-shadow:inset 0 1px #fffc}.badge--outline.badge--success{color:#16a34a;border-color:#22c55e4d;background:#fff9}.badge--outline.badge--warning{color:#b45309;border-color:#f59e0b4d;background:#fff9}.badge--outline.badge--error,.badge--outline.badge--danger{color:#dc2626;border-color:#ef44444d;background:#fff9}.badge--outline.badge--primary{color:#2563eb;border-color:#2563eb4d;background:#fff9}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500;border-radius:9999px;border:1px solid transparent}.status-badge__dot{width:8px;height:8px;border-radius:9999px}.status-badge--locked{background:#94a3b81f;color:#4b5563;border-color:#94a3b833}.status-badge--locked .status-badge__dot{background:#9ca3af}.status-badge--unlocked{background:#2563eb1a;color:#2563eb;border-color:#2563eb2e}.status-badge--unlocked .status-badge__dot{background:#3b82f6}.status-badge--in-progress{background:#f59e0b1a;color:#b45309;border-color:#f59e0b33}.status-badge--in-progress .status-badge__dot{background:#f59e0b}.status-badge--completed{background:#22c55e1a;color:#16a34a;border-color:#22c55e33}.status-badge--completed .status-badge__dot{background:#22c55e}.progress-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4b5563}.progress-badge__bar{width:60px;height:4px;background:#94a3b840;border-radius:9999px;overflow:hidden}.progress-badge__fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:9999px;transition:width .3s ease}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.admin-layout,.content--admin{--admin-surface-1: #131924;--admin-surface-2: #182030}}.admin-glass{background:var(--admin-surface-1);border:1px solid var(--admin-border-soft);box-shadow:var(--admin-shadow);backdrop-filter:blur(var(--admin-glass-blur));-webkit-backdrop-filter:blur(var(--admin-glass-blur))}.admin-glass--soft{background:#131924bf;border:1px solid var(--admin-border-soft);box-shadow:var(--admin-shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.admin-glass--strong{background:#182030eb;border:1px solid var(--admin-border-soft);box-shadow:var(--admin-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header{position:fixed;top:0;left:0;right:0;z-index:200;height:64px;background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--student-border-soft);box-shadow:0 1px 2px #0f172a08;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem}@media(min-width:768px){.header{padding:0 1.5rem}}.header--admin{background:#111723d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--admin-border-soft);box-shadow:0 1px 3px #00000059;--color-text: var(--admin-text-primary);--color-bg-secondary: var(--admin-surface-solid)}.header--admin .header__logo-text{color:var(--admin-text-primary)}.header--admin .header__lang-btn{border-color:var(--admin-border-soft);color:var(--admin-text-secondary);text-transform:uppercase;font-size:.75rem;font-weight:500;background:#11182780}.header--admin .header__lang-btn:hover{background-color:var(--admin-accent-soft);border-color:var(--admin-accent);color:var(--admin-text-primary)}.header--admin .header__lang-btn.is-active{background:#63a4ff38;border-color:var(--admin-accent);color:#c8e0ff}.header--admin .header__back-btn{color:var(--admin-text-secondary)}.header--admin .header__back-btn:hover{background:#1f2b42b3;color:var(--admin-text-primary)}.header--admin .header__user-btn:hover{background:#182134bf;border-color:var(--admin-border-soft)}.header--admin .header__user-name{color:var(--admin-text-primary)}.header--admin .header__user-chevron{color:var(--admin-text-muted)}.header--admin .header__dropdown{background:#131a28f5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--admin-border-strong);box-shadow:0 12px 28px -4px #0000008c}.header--admin .header__dropdown-item{color:var(--admin-text-primary)}.header--admin .header__dropdown-item svg{color:var(--admin-text-secondary)}.header--admin .header__dropdown-item:hover{background:#1e2b42b8}.header--admin .header__dropdown-item--danger{color:#f87171}.header--admin .header__dropdown-item--danger svg{color:#f87171}.header--admin .header__dropdown-item--danger:hover{background:#ef444429;color:#fca5a5}.header--admin .header__dropdown-divider{background:var(--admin-border-soft)}.header__left{display:flex;align-items:center;gap:1rem}.header__right{display:flex;align-items:center;gap:.75rem}.header__logo-icon{font-size:1.25rem;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px -1px #2563eb59;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;line-height:1}.header__logo-img{height:32px;object-fit:contain}.header__logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:700;font-size:1.25rem;color:#111827}.header__logo:hover{text-decoration:none}.header__logo:hover .header__logo-icon{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.header__logo-text{color:#2563eb;font-weight:700}.header__badge{padding:2px .5rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#fef3c7;color:#92400e;border-radius:9999px;border:1px solid rgba(245,158,11,.2)}.header__back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#9ca3af;text-decoration:none;transition:all .15s ease}.header__back-btn svg{width:16px;height:16px;flex-shrink:0}.header__back-btn:hover{background:#ffffff1a;color:#fff;text-decoration:none}.header__lang{display:flex;align-items:center;gap:.25rem}.header__lang-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;background:transparent;border:1px solid transparent;border-radius:.375rem;font-size:.6875rem;cursor:pointer;transition:all .15s ease;text-transform:uppercase;font-weight:500;color:var(--student-text-muted)}.header__lang-btn:hover{color:var(--student-text-primary);background:#f1f5f9cc}.header__lang-btn.is-active{background:var(--student-accent-soft);border-color:#2563eb33;color:var(--student-accent);font-weight:600}.header__user{position:relative}.header__user-btn{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:transparent;border:1px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .15s ease}.header__user-btn:focus-visible{outline:none;border-color:var(--student-accent);box-shadow:0 0 0 3px #2563eb24}.header__user-btn:hover{background:#f1f5f9cc}.header__user-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 6px -1px #2563eb4d;color:#fff;font-size:.75rem;font-weight:700;border-radius:9999px;flex-shrink:0;letter-spacing:.02em;overflow:hidden}.header__user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:9999px}.header__user-name{font-size:.875rem;font-weight:500;color:#111827;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:639px){.header__user-name{display:none}}.header__user-chevron{width:16px;height:16px;color:#6b7280;flex-shrink:0}.header__dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:210px;background:var(--student-surface-overlay);border:1px solid var(--student-border-soft);box-shadow:var(--student-shadow-elevated);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:.75rem;z-index:100;padding:.5rem;overflow:hidden}.header__dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;background:transparent;border:none;border-radius:.5rem;font-size:.875rem;font-weight:400;color:var(--student-text-primary);text-decoration:none;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease,transform .15s ease}.header__dropdown-item svg{width:16px;height:16px;color:var(--student-text-muted);flex-shrink:0;transition:color .15s ease}.header__dropdown-item:hover{background:var(--student-accent-soft);color:var(--student-accent);text-decoration:none}.header__dropdown-item:hover svg{color:var(--student-accent)}.header__dropdown-item--danger{color:#dc2626}.header__dropdown-item--danger svg{color:#ef4444}.header__dropdown-item--danger:hover{background:#ef44441a;color:#b91c1c}.header__dropdown-item--danger:hover svg{color:#dc2626}.header--admin .header__user-btn,.header--admin .header__dropdown-item{border:none;box-shadow:none;transform:none}.header__dropdown-divider{height:1px;background:var(--student-border-soft);margin:.5rem 0}.sidebar{position:fixed;top:64px;left:0;bottom:0;width:260px;background:#fff;border-right:1px solid var(--student-border-soft);z-index:299;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.sidebar::-webkit-scrollbar{width:6px;height:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#94a3b899}.sidebar__section.first{padding-top:0!important;border-top:none!important}@media(max-width:1023px){.sidebar{transform:translate(-100%);transition:transform .2s ease;z-index:300;box-shadow:none;background:#fffffffa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sidebar.is-open{transform:translate(0);box-shadow:0 12px 32px #0f172a1f}}.sidebar__link--course{margin-left:1rem}.sidebar--admin{background:#0f1523;border-right:1px solid var(--admin-border-soft);box-shadow:none}@media(max-width:1023px){.sidebar--admin{background:#0f1523}}.sidebar--admin .sidebar__section-title{color:var(--admin-text-muted)}.sidebar--admin .sidebar__link{color:var(--admin-text-secondary)}.sidebar--admin .sidebar__link svg{color:var(--admin-text-muted)}.sidebar--admin .sidebar__link:hover{background:#192334a6;color:var(--admin-text-primary)}.sidebar--admin .sidebar__link:hover svg{color:#93c5fd}.sidebar--admin .sidebar__link.is-active{background:#2563eb2e;color:#93c5fd;border:1px solid rgba(96,165,250,.25);box-shadow:none}.sidebar--admin .sidebar__link.is-active svg{color:#93c5fd}.sidebar__nav{padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar__section{margin-top:1rem}.sidebar__section:not(:first-child){padding-top:.75rem;border-top:1px solid rgba(241,245,249,.8)}.sidebar--admin .sidebar__section:not(:first-child){border-top-color:var(--admin-border-soft)}.sidebar__section-title{display:block;padding:0 .65rem;margin-bottom:.35rem;font-size:.6875rem;font-weight:600;color:var(--student-text-muted);text-transform:uppercase;letter-spacing:.06em}.sidebar__link{display:flex;align-items:center;gap:.75rem;padding:.45rem .65rem;font-size:.84375rem;font-weight:500;color:var(--student-text-secondary);border-radius:.5rem;text-decoration:none;transition:all .15s ease;border:1px solid transparent;letter-spacing:-.01em}.sidebar__link svg{width:17px;height:17px;flex-shrink:0;color:var(--student-text-muted);transition:color .15s ease}.sidebar__link span{flex:1}.sidebar__link:hover{background:#f1f5f9cc;border-color:transparent;color:var(--student-text-primary);text-decoration:none}.sidebar__link:hover svg{color:var(--student-text-primary)}.sidebar__link.is-active{background:#2563eb14;border-color:transparent;color:var(--student-accent);font-weight:600}.sidebar__link.is-active svg{color:var(--student-accent)}.sidebar__footer{padding:1rem .75rem;border-top:1px solid var(--student-border-soft);margin-top:auto}.sidebar__admin-link{display:flex;align-items:center;gap:.75rem;padding:.45rem .65rem;font-size:.8125rem;font-weight:500;color:var(--student-text-secondary);background:transparent;border:1px solid var(--student-border-soft);border-radius:.5rem;text-decoration:none;transition:all .15s ease}.sidebar__admin-link svg{width:16px;height:16px;flex-shrink:0;color:#d97706}.sidebar__admin-link:hover{background:#fef3c766;border-color:#f59e0b4d;color:#92400e;text-decoration:none}.sidebar-footer{position:sticky;bottom:0;padding:1rem;background:var(--student-surface-2);border-top:1px solid var(--student-border-soft)}.app-sidebar--admin .sidebar-footer{background:var(--admin-surface-solid);border-color:var(--admin-border-soft)}.student-layout,.admin-layout{min-height:100vh}.student-layout{--student-bg: #f8fafc;--student-bg-alt: #f1f5f9;--student-surface-1: #ffffff;--student-surface-2: #f8fafc;--student-surface-overlay: rgb(255 255 255 / .94);--student-border-soft: #e2e8f0;--student-border-subtle: #f1f5f9;--student-border-strong: #cbd5e1;--student-text-primary: #0f172a;--student-text-secondary: #475569;--student-text-muted: #94a3b8;--student-accent: #2563eb;--student-accent-soft: rgb(37 99 235 / .06);--student-shadow: 0 1px 3px 0 rgb(15 23 42 / .04), 0 1px 2px -1px rgb(15 23 42 / .02);--student-shadow-elevated: 0 4px 12px -2px rgb(15 23 42 / .05), 0 2px 4px -2px rgb(15 23 42 / .02);--student-glass-blur: 10px;--input-bg: #ffffff;--input-bg-hover: #ffffff;--input-bg-focus: #ffffff;--input-border: var(--student-border-soft);--input-border-hover: var(--student-border-strong);--input-border-focus: var(--student-accent);--input-placeholder: var(--student-text-muted);--input-color: var(--student-text-primary);background-color:#f8fafc;background-image:radial-gradient(at 100% 0%,rgba(37,99,235,.025) 0px,transparent 50%);background-attachment:fixed;color:var(--student-text-primary)}.student-layout ::selection{background:#60a5fa42;color:#111827}.student-layout ::-moz-selection{background:#60a5fa42;color:#111827}.admin-layout{--admin-bg: #0b0f17;--admin-bg-alt: #101522;--admin-surface-1: #131924;--admin-surface-2: #182030;--admin-surface-hover: #1e283c;--admin-surface-solid: #131924;--admin-border-soft: rgb(255 255 255 / .1);--admin-border-strong: rgb(255 255 255 / .22);--admin-text-primary: #f8fafc;--admin-text-secondary: #cbd5e1;--admin-text-muted: #94a3b8;--admin-accent: #3b82f6;--admin-accent-soft: rgb(59 130 246 / .14);--admin-shadow: 0 1px 3px 0 rgb(0 0 0 / .35);--admin-glass-blur: 10px;--admin-input-bg: #141c2c;--admin-input-bg-hover: #1b263b;--admin-input-bg-focus: #1b263b;--admin-input-border: rgb(255 255 255 / .16);--admin-input-border-hover: rgb(255 255 255 / .36);--admin-input-border-focus: #3b82f6;--admin-input-placeholder: #8899ac;--admin-input-color: #f8fafc;--input-bg: var(--admin-input-bg);--input-bg-hover: var(--admin-input-bg-hover);--input-bg-focus: var(--admin-input-bg-focus);--input-border: var(--admin-input-border);--input-border-hover: var(--admin-input-border-hover);--input-border-focus: var(--admin-input-border-focus);--input-placeholder: var(--admin-input-placeholder);--input-color: var(--admin-input-color);background-color:#0b0f17;background-image:radial-gradient(at 50% 0%,rgba(37,99,235,.035) 0px,transparent 60%);background-attachment:fixed;color:var(--admin-text-primary)}.admin-layout ::selection{background:#60a5fa73;color:#f9fafb}.admin-layout ::-moz-selection{background:#60a5fa73;color:#f9fafb}body.admin-theme{--admin-bg: #0b0f17;--admin-bg-alt: #101522;--admin-surface-1: #131924;--admin-surface-2: #182030;--admin-surface-hover: #1e283c;--admin-surface-solid: #131924;--admin-border-soft: rgb(255 255 255 / .1);--admin-border-strong: rgb(255 255 255 / .22);--admin-text-primary: #f8fafc;--admin-text-secondary: #cbd5e1;--admin-text-muted: #94a3b8;--admin-accent: #3b82f6;--admin-accent-soft: rgb(59 130 246 / .14);--admin-shadow: 0 1px 3px 0 rgb(0 0 0 / .35);--admin-glass-blur: 10px;--admin-input-bg: #141c2c;--admin-input-bg-hover: #1b263b;--admin-input-bg-focus: #1b263b;--admin-input-border: rgb(255 255 255 / .16);--admin-input-border-hover: rgb(255 255 255 / .36);--admin-input-border-focus: #3b82f6;--admin-input-placeholder: #8899ac;--admin-input-color: #f8fafc;--input-bg: var(--admin-input-bg);--input-bg-hover: var(--admin-input-bg-hover);--input-bg-focus: var(--admin-input-bg-focus);--input-border: var(--admin-input-border);--input-border-hover: var(--admin-input-border-hover);--input-border-focus: var(--admin-input-border-focus);--input-placeholder: var(--admin-input-placeholder);--input-color: var(--admin-input-color);background-color:#0b0f17;background-image:radial-gradient(at 50% 0%,rgba(37,99,235,.035) 0px,transparent 60%);background-attachment:fixed;color:var(--admin-text-primary)}body.student-theme{--student-bg: #f8fafc;--student-bg-alt: #f1f5f9;--student-surface-1: #ffffff;--student-surface-2: #f8fafc;--student-surface-overlay: rgb(255 255 255 / .94);--student-border-soft: #e2e8f0;--student-border-subtle: #f1f5f9;--student-border-strong: #cbd5e1;--student-text-primary: #0f172a;--student-text-secondary: #475569;--student-text-muted: #94a3b8;--student-accent: #2563eb;--student-accent-soft: rgb(37 99 235 / .06);--student-shadow: 0 1px 3px 0 rgb(15 23 42 / .04), 0 1px 2px -1px rgb(15 23 42 / .02);--student-shadow-elevated: 0 4px 12px -2px rgb(15 23 42 / .05), 0 2px 4px -2px rgb(15 23 42 / .02);--student-glass-blur: 10px;--input-bg: #ffffff;--input-bg-hover: #ffffff;--input-bg-focus: #ffffff;--input-border: var(--student-border-soft);--input-border-hover: var(--student-border-strong);--input-border-focus: var(--student-accent);--input-placeholder: var(--student-text-muted);--input-color: var(--student-text-primary);background-color:#f8fafc;background-image:radial-gradient(at 100% 0%,rgba(37,99,235,.025) 0px,transparent 50%);background-attachment:fixed;color:var(--student-text-primary)}.content{min-height:calc(100vh - 64px);margin-top:64px;background:transparent}@media(min-width:1024px){.content{margin-left:260px}}.content--admin,.student-layout .content{background:transparent}.content--admin{--color-surface-1: var(--admin-surface-solid);--color-surface-2: #1e293b;--color-surface-3: #334155;--color-border: var(--admin-border-soft);--skeleton-color-base: rgb(255 255 255 / .05);--skeleton-color-highlight: rgb(255 255 255 / .1)}.content--admin .btn--secondary{background:var(--admin-surface-2);border-color:var(--admin-border-soft);color:var(--admin-text-primary)}.content--admin .btn--secondary:hover:not(:disabled){background:#2d3d5adb;border-color:var(--admin-border-strong);color:#f5f8ff}.content--admin .btn--ghost{color:var(--admin-text-secondary)}.content--admin .btn--ghost:hover:not(:disabled){background:var(--admin-surface-2);color:var(--admin-text-primary)}.content--admin .skeleton-table,.content--admin .skeleton-stats__card,.content--admin .skeleton-card{background:var(--admin-surface-solid);border-color:var(--admin-border-soft)}.content--admin .skeleton-table__header{background:#0f16258c;border-bottom-color:var(--admin-border-soft)}.content--admin .skeleton-table__row{border-bottom-color:var(--admin-border-soft)}.content--admin .badge--outline{color:var(--admin-text-secondary);border-color:var(--admin-border-strong)}.content--admin .empty-state .empty-state__title{color:var(--admin-text-primary)}.content--admin .empty-state .empty-state__description,.content--admin .empty-state .empty-state__icon{color:var(--admin-text-secondary)}.page{padding:1.5rem}@media(min-width:768px){.page{padding:2rem}}.page__header{margin-bottom:1.5rem}@media(min-width:768px){.page__header{margin-bottom:2rem}}.page__title{font-size:1.875rem;font-weight:700;line-height:1.25;letter-spacing:-.025em;margin-bottom:.5rem}@media(min-width:768px){.page__title{font-size:2.25rem;font-weight:700;line-height:1.25;letter-spacing:-.025em}}.page__subtitle{font-size:1.125rem;color:#4b5563;max-width:600px}.page__actions{display:flex;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.section{margin-bottom:2rem}.section:last-child{margin-bottom:0}.section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.section__title{font-size:1.5rem;font-weight:600;line-height:1.375;margin:0}.section__subtitle{font-size:.875rem;color:#4b5563;margin-top:.25rem}.container{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:768px){.container{padding-left:1.5rem;padding-right:1.5rem}}.content-box{background:var(--student-surface-1);border:1px solid var(--student-border-soft);box-shadow:var(--student-shadow);backdrop-filter:blur(var(--student-glass-blur));-webkit-backdrop-filter:blur(var(--student-glass-blur));padding:1.5rem;border-radius:1rem}@media(min-width:768px){.content-box{padding:2rem}}.content--admin .content-box{background:var(--admin-surface-1);border:1px solid var(--admin-border-soft);box-shadow:var(--admin-shadow);backdrop-filter:blur(var(--admin-glass-blur));-webkit-backdrop-filter:blur(var(--admin-glass-blur))}.split-layout{display:grid;gap:1.5rem}@media(min-width:1024px){.split-layout{grid-template-columns:1fr 1fr;gap:2rem}}@media(min-width:1024px){.split-layout--sidebar{grid-template-columns:300px 1fr}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1rem}.empty-state__icon{width:80px;height:80px;margin-bottom:1rem;color:#6b7280}.empty-state__icon svg{width:100%;height:100%}.empty-state__title{font-size:1.25rem;font-weight:600;line-height:1.375;margin-bottom:.5rem}.empty-state__description{color:#4b5563;max-width:400px;margin-bottom:1rem}.base-modal--admin .btn--ghost{background:var(--admin-surface-2);color:var(--admin-text-secondary)}.base-modal--admin .btn--ghost:hover:not(:disabled){background:var(--admin-surface-solid);color:var(--admin-text-primary)}.loading-state{display:flex;align-items:center;justify-content:center;padding:3rem}.loading-state__spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:9999px;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff26,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:.25rem}.data-table{width:100%;background:var(--student-surface-1);border:1px solid var(--student-border-soft);box-shadow:var(--student-shadow);backdrop-filter:blur(var(--student-glass-blur));-webkit-backdrop-filter:blur(var(--student-glass-blur));border-radius:.75rem;overflow:hidden}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--student-border-soft)}.data-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#ffffff80}.data-table td{font-size:.875rem}.data-table tr:hover td{background:#ffffff73}.student-layout{--skeleton-color-base: rgb(37 99 235 / .06);--skeleton-color-highlight: rgb(37 99 235 / .12)}.student-layout .skeleton-stats__card,.student-layout .skeleton-card{background:var(--student-surface-1);border:1px solid var(--student-border-soft);box-shadow:var(--student-shadow);backdrop-filter:blur(var(--student-glass-blur));-webkit-backdrop-filter:blur(var(--student-glass-blur))}.student-layout .skeleton{background:linear-gradient(90deg,#2563eb0d 25%,#2563eb1f,#2563eb0d 75%);background-size:200% 100%}.student-layout .form-input,.student-layout .form-textarea,.student-layout .form-select{background:#fff;border:1px solid var(--student-border-soft);box-shadow:0 1px 2px #0f172a08;color:var(--student-text-primary);border-radius:.5rem;transition:all .15s ease}.student-layout .form-input::placeholder,.student-layout .form-textarea::placeholder,.student-layout .form-select::placeholder{color:var(--student-text-muted)}.student-layout .form-input:hover,.student-layout .form-textarea:hover,.student-layout .form-select:hover{border-color:var(--student-border-strong)}.student-layout .form-input:focus,.student-layout .form-textarea:focus,.student-layout .form-select:focus{background:#fff;border-color:var(--student-accent);box-shadow:0 0 0 3px #2563eb1f;outline:none}.student-layout .form-input:disabled,.student-layout .form-textarea:disabled,.student-layout .form-select:disabled{background:#f1f5f9;color:var(--student-text-muted);cursor:not-allowed;box-shadow:none}.student-layout .form-check__input{background:#fff;border:1px solid var(--student-border-soft)}.student-layout .form-check__input:checked{background:var(--student-accent);border-color:var(--student-accent)}.student-layout .btn--secondary{background:#fff;border:1px solid var(--student-border-soft);box-shadow:0 1px 2px #0f172a08;color:var(--student-text-primary)}.student-layout .btn--secondary:hover:not(:disabled){background:#f8fafce6;border-color:var(--student-border-strong);color:var(--student-text-primary);box-shadow:0 2px 4px #0f172a0a}.student-layout .btn--secondary:active:not(:disabled){background:#f1f5f9e6}.student-layout .btn--ghost{color:var(--student-text-secondary);border:1px solid transparent}.student-layout .btn--ghost:hover:not(:disabled){background:#f1f5f9cc;color:var(--student-text-primary)}.student-layout .btn--ghost svg{max-width:fit-content}.student-layout .badge--outline{border-color:var(--student-border-strong);color:var(--student-text-secondary);background:#ffffff80}.student-layout .empty-state__title{color:var(--student-text-primary)}.student-layout .empty-state__description,.student-layout .empty-state__icon{color:var(--student-text-secondary)}.admin-layout .form-input,.admin-layout .form-textarea,.admin-layout .form-select,.admin-layout .select-input{color-scheme:dark;background:var(--admin-input-bg, #141c2c);border:1px solid var(--admin-input-border, rgba(255, 255, 255, .16));color:var(--admin-text-primary, #f8fafc);border-radius:.375rem;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease}.admin-layout .form-input::placeholder,.admin-layout .form-textarea::placeholder,.admin-layout .form-select::placeholder,.admin-layout .select-input::placeholder{color:var(--admin-input-placeholder, #8899ac)}.admin-layout .form-input:hover:not(:disabled),.admin-layout .form-textarea:hover:not(:disabled),.admin-layout .form-select:hover:not(:disabled),.admin-layout .select-input:hover:not(:disabled){border-color:var(--admin-input-border-hover, rgba(255, 255, 255, .36));background:var(--admin-input-bg-hover, #1b263b)!important;color:#fff}.admin-layout .form-input:focus,.admin-layout .form-textarea:focus,.admin-layout .form-select:focus,.admin-layout .select-input:focus{outline:none;background:var(--admin-input-bg-focus, #1b263b)!important;border-color:var(--admin-input-border-focus, #3b82f6);box-shadow:0 0 0 3px #3b82f647;color:#fff}.admin-layout .form-input:disabled,.admin-layout .form-textarea:disabled,.admin-layout .form-select:disabled,.admin-layout .select-input:disabled{background:#10182880!important;border-color:var(--admin-border-soft);color:var(--admin-text-muted, #94a3b8);cursor:not-allowed;box-shadow:none}.admin-layout .form-select,.admin-layout .select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;padding-right:2.5rem}.admin-layout .form-select option,.admin-layout .form-select optgroup,.admin-layout .select-input option,.admin-layout .select-input optgroup{background:#182030;color:#f8fafc}.admin-layout .form-check__input{background:var(--admin-surface-2, #182030);border:1px solid var(--admin-border-strong, rgba(255, 255, 255, .22))}.admin-layout .form-check__input:hover:not(:disabled){border-color:var(--admin-accent)}.admin-layout .form-check__input:checked{background:var(--admin-accent);border-color:var(--admin-accent)}.admin-layout .btn--secondary{background:var(--admin-surface-2, #182030);border:1px solid var(--admin-border-soft, rgba(255, 255, 255, .12));color:var(--admin-text-primary, #f8fafc);box-shadow:0 1px 2px #00000040}.admin-layout .btn--secondary:hover:not(:disabled){background:var(--admin-surface-hover, #1e283c);border-color:var(--admin-border-strong, rgba(255, 255, 255, .28));color:#fff;box-shadow:0 2px 6px #00000059}.admin-layout .btn--secondary:active:not(:disabled){background:#25334c}.admin-layout .btn--ghost{background:transparent;color:var(--admin-text-secondary, #cbd5e1);border:1px solid transparent}.admin-layout .btn--ghost:hover:not(:disabled){background:#ffffff14;border-color:transparent;color:#fff}.admin-layout .btn--ghost:active:not(:disabled){background:#ffffff1f}.admin-layout .btn--icon{color:var(--admin-text-secondary, #cbd5e1)}.admin-layout .btn--icon:hover:not(:disabled){color:#fff;background:#ffffff14}.admin-layout .btn--accent-text{color:#60a5fa}.admin-layout .btn--accent-text:hover:not(:disabled){color:#93c5fd;background:#3b82f626}.admin-layout .btn--danger-text{color:#f87171}.admin-layout .btn--danger-text:hover:not(:disabled){color:#fca5a5;background:#ef444426}.admin-layout .data-table{background:var(--admin-surface-1, #131924);border:1px solid var(--admin-border-soft, rgba(255, 255, 255, .08))}.admin-layout .data-table th{background:var(--admin-surface-2, #182030);color:var(--admin-text-secondary, #cbd5e1);border-bottom:1px solid var(--admin-border-soft, rgba(255, 255, 255, .08))}.admin-layout .data-table td{color:var(--admin-text-primary, #f8fafc);border-bottom:1px solid var(--admin-border-soft, rgba(255, 255, 255, .06))}.admin-layout .data-table tr:hover td{background:var(--admin-surface-hover, #1e283c)}.admin-layout .badge--outline{border-color:var(--admin-border-strong, rgba(255, 255, 255, .22));color:var(--admin-text-secondary, #cbd5e1);background:#ffffff0a}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;border-radius:.5rem;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all .15s ease;white-space:nowrap;line-height:1}.btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn:active{transform:scale(.98)}.btn--sm{padding:.5rem 1rem;font-size:.875rem}.btn--lg{padding:.75rem 1.5rem;font-size:1rem}.btn--full{width:100%;justify-content:center}.btn--primary{background:#2563eb;color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #2563eb33}.btn--primary:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb40;transform:translateY(-1px)}.public-layout{background-color:#f8fafc;background-image:radial-gradient(at 100% 0%,rgba(37,99,235,.025) 0px,transparent 50%);background-attachment:fixed;min-height:100vh}.skip-link{position:absolute;top:-100px;left:0;background:#2563eb;color:#fff;padding:.5rem 1rem;z-index:9999;font-size:.875rem;font-weight:500;border-radius:0 0 .5rem;transition:top .2s}.skip-link:focus{top:0}.pub-nav{position:sticky;top:0;z-index:100;background:#ffffffc7;border:1px solid var(--student-border-soft);box-shadow:var(--student-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--student-border-soft);box-shadow:inset 0 -1px #fffc,0 4px 20px -2px #0f172a0a;contain:layout style}.pub-nav__inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:64px;display:flex;align-items:center;gap:1.5rem}.pub-nav__logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;flex-shrink:0}.pub-nav__logo-img{height:32px;object-fit:contain}.pub-nav__logo-text{font-size:1.25rem;font-weight:700;color:#2563eb;letter-spacing:-.02em}.pub-nav__links{display:none;align-items:center;gap:.25rem;margin-left:auto}@media(min-width:768px){.pub-nav__links{display:flex}}.pub-nav__link{padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#4b5563;text-decoration:none;border-radius:.375rem;transition:color .2s,background-color .2s}.pub-nav__link:hover{color:#111827;background:#fff9;text-decoration:none}.pub-nav__lang{display:none;align-items:center;gap:.25rem}@media(min-width:768px){.pub-nav__lang{display:flex}}.pub-nav__lang-btn{padding:.25rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#ffffff80;border:1px solid var(--student-border-soft);box-shadow:inset 0 1px #fffc;border-radius:.375rem;cursor:pointer;transition:all .15s}.pub-nav__lang-btn:hover{color:#111827;border-color:var(--student-border-strong);background:#ffffffd9}.pub-nav__lang-btn.is-active{color:#2563eb;border-color:#2563eb59;background:var(--student-accent-soft)}.pub-nav__actions{display:none;align-items:center;gap:.75rem;flex-shrink:0}.pub-nav__actions .btn:hover{text-decoration:none}@media(min-width:768px){.pub-nav__actions{display:flex}}.pub-nav__hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:.5rem;background:none;border:none;cursor:pointer;border-radius:.375rem;margin-left:auto;will-change:transform}@media(min-width:768px){.pub-nav__hamburger{display:none}}.pub-nav__hamburger span{display:block;width:100%;height:2px;background:#111827;border-radius:2px;transition:transform .2s,opacity .2s;will-change:transform,opacity}.pub-nav__mobile{position:absolute;top:100%;left:0;right:0;background:var(--student-surface-overlay);border:1px solid var(--student-border-soft);box-shadow:var(--student-shadow-elevated);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--student-border-soft);padding:1rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem;transform-origin:top center;will-change:transform,opacity}@media(min-width:768px){.pub-nav__mobile{display:none}}.pub-nav__mobile-link{display:block;padding:.75rem .5rem;font-size:1rem;font-weight:500;color:#4b5563;text-decoration:none;border-bottom:1px solid var(--student-border-soft)}.pub-nav__mobile-link:hover{color:#111827}.pub-nav__mobile-auth{display:flex;flex-direction:column;gap:.75rem}.pub-nav__mobile-lang{display:flex;gap:.5rem}.pub-content{min-height:calc(100vh - 224px)}.pub-content:focus{outline:none}.pub-footer{background:#0b1120;color:#9ca3af;padding:3rem 1.5rem;border-top:1px solid rgba(255,255,255,.08)}.pub-footer__inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center}@media(min-width:768px){.pub-footer__inner{grid-template-columns:1fr auto auto}}.pub-footer__inner .pub-nav__logo-text{color:#fff}.pub-footer__tagline{margin-top:.5rem;font-size:.875rem;color:#6b7280}.pub-footer__links{display:flex;gap:1rem}@media(max-width:480px){.pub-footer__links{flex-direction:column;gap:.5rem}}.pub-footer__link{color:#9ca3af;text-decoration:none;font-size:.875rem;transition:color .15s}.pub-footer__link:hover{color:#fff}.pub-footer__copy{font-size:.75rem;color:#6b7280}.pub-footer__copy--link{color:#3b82f6;text-decoration:none;transition:color .15s}.pub-footer__copy--link:hover{color:#93c5fd;text-decoration:underline}.pub-footer__block{display:flex;flex-direction:column}.pub-footer__block p{margin:.25rem 0}.slide-down-enter-active,.slide-down-leave-active{transition:transform .18s ease-out,opacity .18s ease-out}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translate3d(0,-8px,0) scaleY(.98)}@media(prefers-reduced-motion:reduce){.slide-down-enter-active,.slide-down-leave-active{transition:opacity .01s linear}.slide-down-enter-from,.slide-down-leave-to{transform:none}}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.section{padding:3rem 0}.section--alt{background:transparent}.section__header{text-align:center;margin-bottom:3rem}.section__eyebrow{display:inline-block;margin-bottom:.75rem;padding:3px .75rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2563eb;background:#2563eb1a;border:1px solid rgba(37,99,235,.2);border-radius:9999px;box-shadow:inset 0 1px #fff9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.section__title{font-size:1.875rem;font-weight:700;letter-spacing:-.025em;color:#111827;line-height:1.25;margin:0 0 1rem}@media(min-width:768px){.section__title{font-size:2.25rem}}.section__subtitle{font-size:1.125rem;color:#4b5563;max-width:600px;margin:0 auto;line-height:1.625}.hero{position:relative;overflow:hidden;padding:5rem 0 4rem;background:transparent}@media(min-width:768px){.hero{padding:6rem 0 5rem}}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.hero__blob{position:absolute;border-radius:9999px;filter:blur(80px);opacity:.35}.hero__blob--1{width:600px;height:600px;background:radial-gradient(circle,rgba(96,165,250,.5),transparent 70%);top:-200px;right:-100px}.hero__blob--2{width:450px;height:450px;background:radial-gradient(circle,rgba(45,212,191,.4),transparent 70%);bottom:-100px;left:-50px}.hero__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px);background-size:40px 40px;opacity:.6}.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}@media(min-width:1024px){.hero__inner{grid-template-columns:1fr 1fr;gap:4rem}}.hero__welcome-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#22c55e1a;color:#15803d;border:1px solid rgba(34,197,94,.24);border-radius:9999px;box-shadow:inset 0 1px #fffc;font-size:.875rem;font-weight:500;margin-bottom:1rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero__welcome-badge svg{width:16px;height:16px;flex-shrink:0}.hero__title{font-size:2.25rem;font-weight:700;line-height:1.25;letter-spacing:-.03em;color:#111827;margin:0 0 1.25rem}@media(min-width:768px){.hero__title{font-size:3rem}}.hero__title-line{display:block}.hero__title-accent{display:block;color:#2563eb;background:linear-gradient(135deg,#2563eb,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{font-size:1.125rem;color:#4b5563;line-height:1.625;margin:0 0 2rem;max-width:520px}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.hero__actions .btn:hover{text-decoration:none}.hero__code{background:#0f172a;border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 48px -12px #0f172a40;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;display:none}@media(min-width:1024px){.hero__code{display:block}}.hero__code-bar{display:flex;align-items:center;gap:.5rem;background:#0f172a99;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.hero__code-dot{width:12px;height:12px;border-radius:50%}.hero__code-dot--red{background:#ff5f56}.hero__code-dot--yellow{background:#ffbd2e}.hero__code-dot--green{background:#27c93f}.hero__code-filename{margin-left:.75rem;font-size:.75rem;color:#9ca3af}.hero__code-body{padding:0 1.5rem 1.5rem;margin:0;overflow-x:auto;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:.875rem;line-height:1.8;color:#d4d4d4;white-space:pre;-moz-tab-size:4;tab-size:4}.hero__code-body .tok-kw{color:#c678dd}.hero__code-body .tok-fn{color:#61afef}.hero__code-body .tok-str{color:#98c379}.hero__code-body .tok-comment{color:#5c6370;font-style:italic}.features__grid{display:grid;grid-template-columns:1fr;gap:1.5rem;list-style:none;padding:0;margin:0}@media(min-width:640px){.features__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.features__grid{grid-template-columns:repeat(4,1fr)}}.feature-card{padding:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 3px #0f172a08;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.feature-card:hover{border-color:#cbd5e1;box-shadow:0 8px 20px -4px #0f172a0f;transform:translateY(-2px)}.feature-card__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:.75rem;margin-bottom:1rem}.feature-card__icon svg{width:22px;height:22px}.feature-card__icon--blue{background:#2563eb14;color:#2563eb}.feature-card__icon--purple{background:#7c3aed14;color:#7c3aed}.feature-card__icon--green{background:#22c55e14;color:#16a34a}.feature-card__icon--teal{background:#14b8a614;color:#0d9488}.feature-card__title{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:#111827;margin:0 0 .5rem}.feature-card__desc{font-size:.875rem;color:#4b5563;line-height:1.625;margin:0}.steps{display:grid;grid-template-columns:1fr;gap:1.5rem;list-style:none;padding:0;margin:0;counter-reset:steps}@media(min-width:768px){.steps{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.steps{grid-template-columns:repeat(4,1fr)}}.step{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 1px 3px #0f172a08;position:relative}.step__number{font-size:2.25rem;font-weight:700;color:#2563eb33;line-height:1;font-variant-numeric:tabular-nums}.step__title{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:#111827;margin:0}.step__desc{font-size:.875rem;color:#4b5563;line-height:1.625;margin:0}.subjects__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;list-style:none;padding:0;margin:0}.subject-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#ffffffb8;border:1px solid var(--student-border-soft);box-shadow:inset 0 1px #fffffff2,0 2px 8px -2px #0f172a0a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:9999px;font-size:.875rem;font-weight:500;color:#111827;transition:all .15s ease;cursor:default}.subject-chip:hover{background:#ffffffe6;border-color:#2563eb59;transform:translateY(-2px);box-shadow:inset 0 1px #fff,0 8px 18px -4px #0f172a14}.subject-chip__icon{font-size:1.125rem;line-height:1}.cta-banner{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#2563ebeb,#0d9488eb);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff6,0 24px 60px -12px #2563eb59;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:1.5rem;color:#fff}.cta-banner__title{font-size:1.875rem;font-weight:700;letter-spacing:-.025em;color:#fff;margin:0 0 1rem;line-height:1.25}@media(min-width:768px){.cta-banner__title{font-size:2.25rem}}.cta-banner__subtitle{font-size:1.125rem;color:#ffffffe6;margin:0 0 2rem;line-height:1.625}.cta-banner .hero__actions{justify-content:center}.cta-banner .btn--primary{background:#fff;color:#1d4ed8;border-color:#fff;box-shadow:0 4px 14px #00000026}.cta-banner .btn--primary:hover{background:#fff;color:#1e40af;box-shadow:0 6px 20px #00000040;transform:translateY(-2px)}.legal-page{padding:3rem 0}.legal-page__inner{max-width:960px;margin:0 auto;padding:0 1.5rem}.legal-page__hero{position:relative;overflow:hidden;margin-bottom:2rem;padding:2rem;border:1px solid #e5e7eb;border-radius:1rem;background:radial-gradient(circle at 88% -4%,rgba(59,130,246,.08),transparent 42%),radial-gradient(circle at 12% 0%,rgba(45,212,191,.06),transparent 30%),linear-gradient(168deg,#f5f9ff,#fbfdff 52%,#f7faff);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.legal-page__eyebrow{margin:0 0 .75rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}.legal-page__title{margin:0;font-size:1.875rem;line-height:1.25;color:#111827}@media(min-width:768px){.legal-page__title{font-size:2.25rem}}.legal-page__subtitle{margin:1rem 0 0;font-size:1rem;line-height:1.625;color:#4b5563}.legal-page__effective{margin:1rem 0 0;font-size:.875rem;color:#6b7280}.legal-page__section{padding:1.5rem;border:1px solid #e5e7eb;border-radius:.75rem;background:#ffffffd6;box-shadow:0 1px 2px #0000000d}.legal-page__section+.legal-page__section{margin-top:1rem}.legal-page__section--intro{margin-bottom:1rem}.legal-page__section-title{margin:0 0 .75rem;font-size:1.25rem;line-height:1.25;color:#111827}.legal-page__paragraph{margin:0;font-size:1rem;color:#4b5563;line-height:1.625}.legal-page__paragraph+.legal-page__paragraph{margin-top:.75rem}.legal-page__list{margin:1rem 0 0;padding-left:1.5rem;color:#4b5563}.legal-page__list li{line-height:1.625}.legal-page__list li+li{margin-top:.5rem}.legal-page__footer-note{margin-top:1.5rem;padding:1rem 1.25rem;border-left:4px solid #3b82f6;border-radius:.5rem;background:#eff6ff;color:#1e40af;font-size:.875rem;line-height:1.625}@media(max-width:768px){.legal-page{padding:2rem 0}.legal-page__hero,.legal-page__section{padding:1.25rem}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 1rem;color:#4b5563;font-size:.875rem}.loading-spinner{width:36px;height:36px;border:3px solid rgba(226,232,240,.6);border-top-color:#3b82f6;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem}.empty-state__icon{font-size:3rem;line-height:1;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;color:#111827;margin-bottom:.5rem}.empty-state p{font-size:.875rem;color:#4b5563;max-width:360px;margin-bottom:0}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--student-surface-1, #ffffff);border:1px solid var(--student-border-soft, #e2e8f0);border-radius:.75rem;box-shadow:0 1px 3px #0f172a08;transition:border-color .15s ease,box-shadow .15s ease}.stat-card:hover{border-color:var(--student-border-strong, #cbd5e1);box-shadow:0 4px 12px -2px #0f172a0d}.stat-card:focus-within{border-color:var(--student-accent);box-shadow:0 0 0 3px #2563eb1f}.stat-card__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;flex-shrink:0}.stat-card__icon svg{width:22px;height:22px}.stat-card__icon--primary{background:#2563eb14;color:#2563eb}.stat-card__icon--success{background:#22c55e14;color:#16a34a}.stat-card__icon--warning{background:#f59e0b14;color:#d97706}.stat-card__icon--info{background:#3b82f614;color:#3b82f6}.stat-card__icon--error{background:#ef444414;color:#dc2626}.stat-card__icon--training{background:#7c3aed14;color:#7c3aed}.stat-card__content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.stat-card__value{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:#111827;line-height:1}.stat-card__label{font-size:.875rem;color:#4b5563}.back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#4b5563;text-decoration:none;transition:color .15s ease;margin-bottom:1rem}.back-link svg{width:16px;height:16px;flex-shrink:0}.back-link:hover{color:#2563eb;text-decoration:none}.data-table{width:100%;background:var(--student-surface-1, #ffffff);border:1px solid var(--student-border-soft, #e2e8f0);border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0f172a05}.data-table__wrapper{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.data-table__wrapper::-webkit-scrollbar{width:6px;height:6px}.data-table__wrapper::-webkit-scrollbar-track{background:transparent}.data-table__wrapper::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:3px}.data-table__wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b899}.data-table table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--student-border-soft, #e2e8f0)}.data-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:var(--student-surface-2, #f8fafc);white-space:nowrap}.data-table td{font-size:.875rem;color:#111827;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--student-surface-2, #f8fafc)}.skeleton{background:linear-gradient(90deg,#ffffff14 25%,#fff3,#ffffff14 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:.25rem}.skeleton--text{height:1em;margin-bottom:.5rem}.skeleton--title{height:2em;width:60%;margin-bottom:.75rem}.skeleton--avatar{width:40px;height:40px;border-radius:9999px}.skeleton--card{height:200px;border-radius:.75rem}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all .2s ease}.slide-enter-from,.slide-leave-to{opacity:0;transform:translateY(-8px)}
