:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0, 0, var(--toastify-z-index));width:var(--toastify-container-width);box-sizing:border-box;color:#fff;flex-direction:column;display:flex;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);align-items:center;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y:0px;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;word-break:break-word;flex:auto;align-items:center;margin-bottom:1rem;display:flex;position:relative}@media only screen and (width<=480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (width<=480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{width:100%;transform:translate3d(0, var(--y), 0) scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g) * 1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{flex-shrink:0;width:22px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;padding:0;transition:all .3s;position:absolute;top:6px;right:6px}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{z-index:1;opacity:.7;transform-origin:0;width:100%;height:100%;position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0;overflow:hidden}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px, var(--y), 0)}to{opacity:0;transform:translate3d(2000px, var(--y), 0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px, var(--y), 0)}to{opacity:0;transform:translate3d(-2000px, var(--y), 0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0, calc(var(--y) - 10px), 0)}40%,45%{opacity:1;transform:translate3d(0, calc(var(--y) + 20px), 0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0, var(--y), 0) scale3d(.3, .3, .3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0, var(--y), 0) perspective(400px)}30%{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0, var(--y), 0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(110%, var(--y), 0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translate3d(-110%, var(--y), 0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0, var(--y), 0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--color-primary:#3b82f6;--color-primary-contrast:#fff;--color-secondary:#8b5cf6;--color-secondary-contrast:#fff;--color-tertiary:#14b8a6;--color-tertiary-contrast:#fff;--color-success:#22c55e;--color-success-contrast:#fff;--color-warning:#f59e0b;--color-warning-contrast:#1e293b;--color-error:#ef4444;--color-error-contrast:#fff;--color-info:#0ea5e9;--color-info-contrast:#fff;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--border-light:#e2e8f0;--border-medium:#cbd5f1;--border-strong:#94a3b8;--primary-hover:#2563eb;--primary-active:#1d4ed8;--secondary-hover:#7c3aed;--secondary-active:#6d28d9;--focus-ring:#3b82f633;--overlay-dark:#0f172a99;--shadow-soft:0 4px 12px #00000014;--shadow-medium:0 8px 24px #0000001f;--sidebar-bg-start:#0f2d5d;--sidebar-bg-end:#1d4f93;--sidebar-text:#e6efff;--sidebar-title:#b8d1f7;--sidebar-link-hover:#d0e2ff3d;--sidebar-link-active-start:#84b4ff80;--sidebar-link-active-end:#84b4ff38;--sidebar-brand-bg:#ffffff2e;--sidebar-brand-border:#ffffff47;--sidebar-brand-panel-bg:#ffffff29;--sidebar-brand-panel-border:#ffffff57;--sidebar-overlay:#0811229e}.button{font:inherit;cursor:pointer;border:none;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;padding:.6rem .95rem;display:inline-flex}.button--primary{color:#fff;background:linear-gradient(120deg,#2c81ff,#3169f1)}.button--outline{border:1px solid var(--border-light);color:var(--text-primary);background:0 0}.button--ghost{color:var(--text-secondary);background:0 0}.button--icon-only{border-radius:.7rem;width:2.25rem;height:2.25rem;padding:0}.button--link{color:#2f6df4;background:0 0;padding:0}.button--icon{color:#2f6df4;background:#ebf2ff;padding:.45rem .6rem}.input{border:1px solid var(--border-light);background:#fff;border-radius:.7rem;width:100%;padding:.7rem .8rem}.input:focus{border-color:#5a95ff;outline:2px solid #3b82f633}.input--search{background:#f7f9fd}.search-field{position:relative}.search-field__icon{width:1rem;height:1rem;color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-field .input{padding-left:2.3rem}.text-area{border:1px solid var(--border-light);resize:vertical;border-radius:.7rem;width:100%;min-height:6rem;padding:.7rem .8rem}.text-area:focus{outline:2px solid #3b82f633}.select{border:1px solid var(--border-light);background:#fff;border-radius:.7rem;width:100%;padding:.65rem .75rem}.modal{background:var(--overlay-dark);z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal--open{display:flex}.modal__card{border:1px solid var(--border-light);background:var(--bg-primary);width:min(32rem,95vw);box-shadow:var(--shadow-soft);border-radius:1rem;padding:1rem}.profile-modal{max-height:min(42rem,92vh);overflow:auto}.profile-modal__avatar-top-left{flex-direction:column;align-items:flex-start;gap:.35rem;margin:.85rem 1rem 0;display:inline-flex}.profile-modal__avatar-image{object-fit:cover;border:2px solid var(--border-light);width:5rem;height:5rem;box-shadow:var(--shadow-soft);border-radius:999px}.profile-modal__avatar-caption{color:var(--text-secondary);margin:0;font-size:.75rem}.profile-modal__content{grid-template-columns:1fr 1fr;gap:.7rem;padding:.9rem 1rem;display:grid}.profile-modal__actions{border-top:1px solid #eef2f8;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:.85rem 1rem 0;display:flex}.profile-modal .field{gap:.3rem;display:grid}.profile-modal .field span{color:var(--text-secondary);font-size:.875rem}.profile-modal .field small{color:var(--text-secondary);font-size:.75rem;line-height:1.35}.user-modal{max-height:min(36rem,90vh);overflow:auto}.user-modal__content{gap:.7rem;padding:.9rem 1rem;display:grid}.user-modal__actions{border-top:1px solid #eef2f8;justify-content:flex-end;gap:.6rem;padding:.85rem 1rem 0;display:flex}.user-modal__error{color:#c03636;margin:0;font-size:.75rem}.user-modal .field{gap:.3rem;display:grid}.user-modal .field span{color:var(--text-secondary);font-size:.875rem}@media (width<=900px){.profile-modal__content{grid-template-columns:1fr}}.card{border:1px solid var(--border-light);background:var(--bg-primary);box-shadow:var(--shadow-soft);border-radius:1rem;padding:1rem}.card--stat .card__label{color:var(--text-secondary);margin:0}.card--stat .card__value{margin:.3rem 0;font-size:2rem;line-height:1;display:block}.card--stat .card__hint{color:var(--text-secondary);font-size:.875rem}.card--purple{border-color:#e5dcff}.card--green{border-color:#d8f3e4}.card--orange{border-color:#feeccf}.card--blue{border-color:#dbe8ff}.badge{border-radius:999px;align-items:center;padding:.22rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge--success{color:#0f8a4f;background:#daf7e8}.badge--danger{color:#d83f48;background:#fde1e3}.badge--info{color:#466de7;background:#e7edff}.badge--soft{color:#385ecf;background:#f0f4ff}.avatar{object-fit:cover;border-radius:999px;width:2rem;height:2rem}.avatar--sm{width:2.25rem;height:2.25rem}.table-card{padding:0;overflow:hidden}.table{width:100%}.table__row{border-top:1px solid #eef2f8;grid-template-columns:96px 1.8fr auto auto auto;align-items:center;gap:.8rem;padding:.75rem 1rem;display:grid}.table__row--clickable{cursor:pointer;transition:background .15s}.table__row--clickable:hover{background:#f7f9fc}.table__row--clickable:focus-visible{outline:2px solid var(--color-primary,#6c63ff);outline-offset:-2px}.table__empty{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2.5rem 1rem;display:flex}.table__empty p{margin:0}.table__cover{object-fit:cover;border-radius:.4rem;width:96px;height:56px}.table__course-info p{color:var(--text-secondary);margin:.3rem 0 0;font-size:.875rem}.table--users{border-collapse:collapse}.table--users th,.table--users td{text-align:left;border-bottom:1px solid #eef2f8;padding:.85rem;font-size:.875rem}.table--users th{color:var(--text-secondary);font-weight:600}.users-table__footer{justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem;display:flex}.users-table__footer p{color:var(--text-secondary);margin:0;font-size:.875rem}.status-cell{align-items:center;gap:.45rem;display:inline-flex}.status-cell__icon{width:.95rem;height:.95rem;color:var(--text-secondary)}.row-actions{align-items:center;gap:.35rem;display:inline-flex}.row-actions .button .icon{width:.95rem;height:.95rem}@media (width<=900px){.table__row{grid-template-columns:1fr}.table--users{display:block;overflow-x:auto}}.pagination{gap:.4rem;display:flex}.dropdown{position:relative}.dropdown__menu{border:1px solid var(--border-light);min-width:11rem;box-shadow:var(--shadow-soft);background:#fff;border-radius:.7rem;position:absolute;top:calc(100% + .4rem);right:0}.dropdown__menu>:last-child{border-bottom:0}.notification{border:1px solid var(--border-light);border-radius:.7rem;padding:.65rem}.calendar__header{text-align:center;margin-bottom:.7rem;font-weight:600}.calendar__days,.calendar__week{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin-bottom:.3rem;font-size:.875rem;display:grid}.calendar__day{border-radius:999px;padding:.3rem}.calendar__day--active{color:#fff;background:#2f6df4}.chart{width:100%;height:220px}.chart__line{fill:none;stroke-width:4px}.chart__line--a{stroke:#3672f5}.chart__line--b{stroke:#39b783}.chart__legend{color:var(--text-secondary);gap:1rem;font-size:.875rem;display:flex}.chart__dot{border-radius:999px;width:.65rem;height:.65rem;margin-right:.35rem;display:inline-block}.chart__dot--a{background:#3672f5}.chart__dot--b{background:#39b783}.section-header{border-bottom:1px solid #eef2f8;justify-content:space-between;align-items:center;gap:.8rem;padding:.95rem 1rem;display:flex}.section-header h2,.section-header h3{margin:0}.menu{gap:.5rem;display:flex}.breadcrumb{color:var(--text-secondary)}.sidebar{background:linear-gradient(180deg, var(--sidebar-bg-start) 0%, var(--sidebar-bg-end) 100%);width:16.5rem;min-height:100vh;color:var(--sidebar-text);flex-direction:column;padding:1.25rem .9rem;transition:width .2s;display:flex}.sidebar__brand{color:var(--text-inverse);background:var(--sidebar-brand-panel-bg);border:1px solid var(--sidebar-brand-panel-border);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:.8rem;align-items:center;gap:.6rem;margin-bottom:1.4rem;padding:.5rem .55rem;display:flex}.sidebar__brand-logo{object-fit:cover;background:var(--sidebar-brand-bg);border:1px solid var(--sidebar-brand-border);border-radius:50%;flex-shrink:0;width:2rem;height:2rem}.sidebar__brand-text{white-space:nowrap}.sidebar__section{margin-bottom:1rem}.sidebar__sections{flex:1;padding-right:.2rem;overflow-y:auto}.sidebar__title{letter-spacing:.06em;color:var(--sidebar-title);margin:.9rem 0 .5rem;font-size:.75rem}.sidebar__list{margin:0;padding:0;list-style:none}.sidebar__link{color:var(--sidebar-text);cursor:pointer;border-radius:.55rem;align-items:center;gap:.6rem;padding:.58rem .7rem;font-size:.875rem;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar__link:hover{background:var(--sidebar-link-hover)}.sidebar__link--active{background:linear-gradient(90deg, var(--sidebar-link-active-start), var(--sidebar-link-active-end));color:var(--text-inverse)}.sidebar__link--disabled{opacity:.76;cursor:default}.sidebar__link--disabled:hover{background:0 0}.sidebar__icon{flex-shrink:0;width:1rem;height:1rem}.sidebar__profile{background:#ffffff14;border:1px solid #ffffff29;border-radius:.8rem;align-items:center;gap:.5rem;margin-top:.9rem;padding:.55rem;display:flex}.sidebar__profile .avatar{border:1px solid #ffffff47;flex-shrink:0}.sidebar__profile-content{min-width:0}.sidebar__profile-content strong{color:#f3f6ff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;display:block;overflow:hidden}.sidebar__profile-content p{color:#dfe8ffdb;margin:.15rem 0 0;font-size:.75rem}.sidebar--collapsed{width:5.25rem}.sidebar--collapsed .sidebar__brand{justify-content:center}.sidebar--collapsed .sidebar__brand-text,.sidebar--collapsed .sidebar__title,.sidebar--collapsed .sidebar__label,.sidebar--collapsed .sidebar__profile-content{display:none}.sidebar--collapsed .sidebar__link{justify-content:center;padding-inline:.5rem}.sidebar__overlay{display:none}@media (width<=900px){.sidebar{z-index:30;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--mobile-open{transform:translate(0)}.sidebar__overlay{z-index:20;background:var(--sidebar-overlay);opacity:0;pointer-events:none;border:0;display:block;position:fixed;inset:0}.sidebar__overlay--open{opacity:1;pointer-events:auto}}.topbar{border-bottom:1px solid var(--border-light);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.topbar .icon{width:1rem;height:1rem}.topbar__menu-btn{width:2.6rem;height:2.6rem}.topbar__menu-btn .icon{width:1.3rem;height:1.3rem}.topbar__actions{align-items:center;gap:.75rem;display:flex}.topbar__view-toggle{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}.topbar__view-select{border-color:var(--border-light);background:#f8faff;min-width:8.5rem;height:2.45rem}.topbar__lang{border:1px solid var(--border-light);color:var(--text-primary);background:#f8faff;align-items:center;gap:.35rem;display:inline-flex}.topbar__notify{position:relative}.topbar__notify .icon{width:3rem;height:3rem}.topbar__notify-badge{color:#fff;text-align:center;background:#e34953;border-radius:999px;min-width:1rem;height:1rem;font-size:.65rem;line-height:1rem;position:absolute;top:.2rem;right:.2rem}.topbar__profile{border:1px solid var(--border-light);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .45rem;display:flex}.topbar__profile p{color:var(--text-secondary);margin:0;font-size:.875rem}.topbar__user-menu{z-index:20;overflow:hidden}.topbar__user-menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef2f8;align-items:center;gap:.55rem;padding:.65rem .8rem;display:flex}.topbar__user-menu-item:hover{background:#f6f8ff}.topbar__user-menu-item--danger{color:#bf1f3c}.search-bar{flex:1;max-width:460px}.dashboard-shell{background:#f5f7fb;grid-template-columns:16.5rem 1fr;min-height:100vh;display:grid}.dashboard-shell--collapsed{grid-template-columns:5.25rem 1fr}.dashboard-shell__content{min-width:0}.content-shell{padding:1.25rem}.page-title h1{margin:0;font-size:2rem}.page-title p{color:var(--text-secondary);margin-top:.35rem}.page-loading,.page-error,.auth-screen{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}@media (width<=900px){.dashboard-shell,.dashboard-shell--collapsed{grid-template-columns:1fr}}.dashboard-page__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-top:1rem;display:grid}.dashboard-page__grid{grid-template-columns:2fr 1fr;gap:1rem;margin-top:1rem;display:grid}.dashboard-page__left,.dashboard-page__right{align-content:start;gap:1rem;display:grid}@media (width<=1200px){.dashboard-page__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page__grid{grid-template-columns:1fr}}@media (width<=640px){.dashboard-page__stats{grid-template-columns:1fr}}.calendar-card h3,.activity-list h3,.chart-card h3{margin:0 0 .8rem}.activity-list ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.activity-list li{border:1px solid #eef2f8;border-radius:.7rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem;display:flex}.activity-list li p{color:var(--text-secondary);margin:.3rem 0 0;font-size:.875rem}.student-dashboard{gap:1rem;display:grid}.student-dashboard__header{grid-template-columns:1fr minmax(220px,300px);gap:1rem;display:grid}.student-dashboard__header h1{color:#0f1d45;margin:0;font-size:2rem;line-height:1.15}.student-dashboard__header p{color:var(--text-secondary);margin:.35rem 0 0}.student-dashboard__progress-card{background:linear-gradient(140deg,#fff 0%,#f4f7ff 100%);border:1px solid #dce6ff;border-radius:1rem;gap:.4rem;display:grid}.student-dashboard__progress-card p{color:#4f5a81;margin:0;font-size:.86rem}.student-dashboard__progress-card strong{color:#233a8b;font-size:1.8rem}.student-dashboard__progress-card .button{color:#2852e0;justify-self:start;padding-inline:0}.student-dashboard__context-badge{color:#2852e0;background:#ecf2ff;border-radius:999px;align-items:center;gap:.4rem;width:fit-content;padding:.45rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.student-dashboard__context-badge .icon{width:.95rem;height:.95rem}.student-dashboard__hero{background:linear-gradient(140deg,#fbfdff 0%,#f4f5ff 100%);border:1px solid #e3e7f2;border-radius:1rem;grid-template-columns:minmax(200px,380px) 1fr;gap:1rem;display:grid;overflow:hidden}.student-dashboard__hero img{object-fit:cover;width:100%;height:100%;min-height:200px}.student-dashboard__hero h2{color:#1a2b66;margin:.2rem 0}.student-dashboard__hero p{color:var(--text-secondary)}.student-dashboard__eyebrow{color:#4057a5;margin:0;font-size:.86rem;font-weight:600}.student-dashboard__hero-meta{flex-wrap:wrap;gap:.55rem;display:flex}.student-dashboard__hero-meta span{color:#3d4b7f;background:#edf1ff;border-radius:999px;padding:.3rem .55rem;font-size:.78rem;font-weight:600}.student-dashboard__hero-actions{flex-wrap:wrap;gap:.55rem;margin:.85rem 0;display:flex}.student-dashboard__progress-line{background:#e7ecfd;border-radius:999px;width:100%;height:.42rem;overflow:hidden}.student-dashboard__progress-line span{border-radius:inherit;background:linear-gradient(90deg,#2f6df6,#764dff);height:100%;transition:width .2s;display:block}.student-dashboard__section{gap:.8rem;display:grid}.student-dashboard__section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.student-dashboard__section-head h3{color:#0f1d45;margin:0}.student-dashboard__section-head span{color:#4f5a81;font-weight:600}.student-dashboard__carousel{scroll-snap-type:x mandatory;grid-auto-columns:minmax(230px,280px);grid-auto-flow:column;gap:.8rem;padding-bottom:.35rem;display:grid;overflow-x:auto}.student-dashboard__carousel-card{scroll-snap-align:start;border:1px solid #e3e8f9;border-radius:1rem;gap:.55rem;transition:transform .2s,box-shadow .2s;display:grid}.student-dashboard__carousel-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #2c4fba29}.student-dashboard__carousel-thumb{position:relative}.student-dashboard__carousel-thumb img{object-fit:cover;border-radius:.8rem;width:100%;height:130px}.student-dashboard__carousel-thumb .badge{position:absolute;top:.45rem;right:.45rem}.student-dashboard__carousel-body{gap:.3rem;display:grid}.student-dashboard__carousel-body small{color:#57649b;font-weight:600}.student-dashboard__carousel-body h4{color:#111f4b;margin:0}.student-dashboard__carousel-body p{color:var(--text-secondary);margin:0;font-size:.86rem}.student-dashboard__carousel-meta{color:#536084;flex-wrap:wrap;gap:.45rem;font-size:.78rem;display:flex}.student-dashboard__filters{background:#fff;border:1px solid #e2e7f7;border-radius:1rem;gap:.7rem;display:grid}.student-dashboard__search{max-width:none}.student-dashboard__chips{flex-wrap:wrap;gap:.45rem;display:flex}.student-dashboard__chip{color:#4e5982;cursor:pointer;background:#f8f9ff;border:1px solid #dce3fb;border-radius:999px;padding:.4rem .7rem;font-size:.82rem;font-weight:600}.student-dashboard__chip--active{color:#fff;background:linear-gradient(90deg,#2964ef,#6c4dff);border-color:#0000}.student-dashboard__dropdowns{flex-wrap:wrap;gap:.55rem;display:flex}.student-dashboard__course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.student-dashboard__course{border:1px solid #e5e9f8;border-radius:1rem;gap:.7rem;transition:transform .2s,box-shadow .2s;display:grid}.student-dashboard__course:hover{transform:translateY(-2px);box-shadow:0 14px 28px #1f347c26}.student-dashboard__course-thumb{position:relative}.student-dashboard__course-thumb img{object-fit:cover;border-radius:.8rem;width:100%;height:146px}.student-dashboard__course-thumb .button{background:#ffffffd9;border:1px solid #d8dff5;border-radius:999px;width:2rem;height:2rem;font-size:.9rem;position:absolute;top:.45rem;right:.45rem}.student-dashboard__course-body{gap:.35rem;display:grid}.student-dashboard__course-body small{color:#57649b;font-weight:600}.student-dashboard__course-body h4{color:#101f4d;margin:0;font-size:1rem}.student-dashboard__course-body p{color:var(--text-secondary);margin:0;font-size:.85rem}.student-dashboard__course-meta{color:#566389;flex-wrap:wrap;gap:.4rem;font-size:.76rem;display:flex}.student-dashboard__course-actions{flex-wrap:wrap;gap:.4rem;display:flex}.student-dashboard__extra-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.student-dashboard__mini-section{border:1px solid #e4e8f8;border-radius:1rem}.student-dashboard__mini-section h4{color:#14235a;margin:0}.student-dashboard__mini-section p{color:var(--text-secondary);margin:.3rem 0 .8rem;font-size:.9rem}.student-dashboard__mini-section ul{color:#415181;gap:.5rem;margin:0;padding-left:1rem;font-size:.86rem;display:grid}.student-dashboard__mini-section li strong{color:#16255d;display:block}.student-dashboard__mini-section li span{margin-top:.2rem;display:block}.student-dashboard__empty{text-align:center;border:1px dashed #cfd9fb;border-radius:1rem}.student-dashboard__empty h4{color:#17255f;margin:0}.student-dashboard__empty p{color:var(--text-secondary)}.student-dashboard__header-skeleton,.student-dashboard__hero-skeleton,.student-dashboard__grid-skeleton{background:linear-gradient(90deg,#eff3ff 20%,#f8faff 45%,#eff3ff 70%) 0 0/220% 100%;border-radius:1rem;animation:1.5s infinite student-dashboard-pulse}.student-dashboard__header-skeleton{height:88px}.student-dashboard__hero-skeleton{height:220px}.student-dashboard__grid-skeleton{height:320px}@keyframes student-dashboard-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=1200px){.student-dashboard__course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-dashboard__header,.student-dashboard__hero,.student-dashboard__extra-grid{grid-template-columns:1fr}}@media (width<=900px){.student-dashboard__course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-dashboard__carousel{grid-auto-columns:minmax(220px,88vw)}}@media (width<=640px){.student-dashboard__course-grid{grid-template-columns:1fr}}.admin-dashboard{gap:.9rem;display:grid}.admin-dashboard__header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.admin-dashboard__header h1{color:#122158;margin:0;font-size:1.9rem}.admin-dashboard__header p{color:var(--text-secondary);margin:.35rem 0 0}.admin-dashboard__stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;display:grid}.admin-dashboard__stat{background:linear-gradient(140deg,#fff 0%,#f6f8ff 100%);border:1px solid #dde5fb;border-radius:1rem}.admin-dashboard__stat p{color:#54608b;margin:0;font-size:.86rem}.admin-dashboard__stat strong{color:#18307b;margin-top:.35rem;font-size:1.5rem;display:block}.admin-dashboard__placeholder{border:1px dashed #cfd8f8;border-radius:1rem}.admin-dashboard__placeholder h3{color:#13235b;margin:0}.admin-dashboard__placeholder p{color:var(--text-secondary);margin:.45rem 0 0}.admin-dashboard__preview{background:#f8faff;border:1px solid #dae4ff;border-radius:1rem;padding:.8rem}@media (width<=900px){.admin-dashboard__header{gap:.6rem;display:grid}.admin-dashboard__stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.admin-dashboard__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.courses-page__toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.courses-page__search{flex:1;max-width:30rem}.courses-page__toolbar-actions{gap:.65rem;display:inline-flex}.courses-page__filter-btn .badge{margin-left:.25rem}.courses-page__controls{justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.courses-page__controls p{color:var(--text-secondary);margin:0}.courses-page__order{align-items:center;gap:.55rem;display:inline-flex}.courses-page__order span{color:var(--text-secondary);font-size:.875rem}.courses-page__grid{grid-template-columns:2fr .95fr;gap:1rem;margin-top:.9rem;display:grid}.courses-page__grid--single{grid-template-columns:1fr}.courses-page__cards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;display:grid}.courses-page__empty{text-align:center;gap:.6rem;display:grid}.courses-page__empty p,.courses-page__empty h3{margin:0}.courses-page__empty p{color:var(--text-secondary)}.course-filter-panel{align-self:start}.course-filter-panel .field{gap:.35rem;margin-bottom:.8rem;display:grid}.course-filter-panel .field span{color:var(--text-secondary);font-size:.875rem}.course-filter-panel__price-grid,.course-filter-panel__date-grid{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.course-filter-panel__actions{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.8rem;display:grid}.course-card{gap:.7rem;display:grid;position:relative}.course-card__thumb-wrap{position:relative}.course-card__thumb{object-fit:cover;border-radius:.7rem;width:100%;height:10rem}.course-card__status{position:absolute;top:.6rem;left:.6rem}.course-card__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.course-card__level{color:var(--text-secondary);font-size:.75rem}.course-card h3{margin:.45rem 0;font-size:1.03rem}.course-card__description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8rem;margin:0;font-size:.875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.course-card__meta{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.course-card__meta span{color:var(--text-secondary);background:#eef2f8;border-radius:999px;padding:.2rem .5rem;font-size:.75rem}.course-card__actions{border-top:1px solid #eef2f8;align-items:center;gap:.35rem;padding-top:.6rem;display:flex}.course-card__menu-wrap{margin-left:auto;position:relative}.course-card__menu{border:1px solid var(--border-light);background:var(--bg-card);box-shadow:var(--shadow-soft);z-index:8;border-radius:.4rem;min-width:10.5rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .25rem);right:0}.course-card__menu-item{text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:.45rem;padding:.45rem .5rem}.course-card__menu-item:hover{background:#f2f6ff}.course-card__menu-item--danger{color:#c03636}.course-card--skeleton .course-card__thumb-wrap{background:linear-gradient(90deg,#e8edf7 25%,#f3f6fc 37%,#e8edf7 63%) 0 0/400% 100%;border-radius:.7rem;height:10rem;animation:1.4s infinite pulse}.course-card--skeleton .course-card__skeleton-line{background:linear-gradient(90deg,#e8edf7 25%,#f3f6fc 37%,#e8edf7 63%) 0 0/400% 100%;border-radius:999px;height:.8rem;animation:1.4s infinite pulse}.course-card--skeleton .course-card__skeleton-line--title{width:70%}.course-form-modal{max-height:min(44rem,92vh);overflow:auto}.course-form-modal__content{grid-template-columns:1fr 1fr;gap:.7rem;padding:.9rem 1rem;display:grid}.course-form-modal__actions{border-top:1px solid #eef2f8;justify-content:flex-end;gap:.6rem;padding:.85rem 1rem 0;display:flex}.course-form-modal__error{color:#c03636;margin:0;font-size:.75rem}.course-form-modal .field{gap:.3rem;display:grid}.course-form-modal .field span{color:var(--text-secondary);font-size:.875rem}.courses-page__footer{border-top:1px solid #eef2f8;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.9rem;padding-top:.7rem;display:flex}.courses-page__footer p{color:var(--text-secondary);margin:0;font-size:.875rem}.courses-page__pagination{align-items:center;gap:.6rem;display:inline-flex}.courses-page__page-size{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}@keyframes pulse{0%{background-position:100%}to{background-position:0}}@media (width<=1200px){.courses-page__toolbar{flex-direction:column;align-items:stretch}.courses-page__search{max-width:100%}.courses-page__toolbar-actions{justify-content:flex-end}.courses-page__grid,.courses-page__cards-grid{grid-template-columns:1fr}}@media (width<=900px){.course-form-modal__content{grid-template-columns:1fr}.courses-page__footer{flex-direction:column;align-items:stretch}}.course-form-page{flex-direction:column;gap:1rem;display:flex}.course-form-page__back{margin-bottom:.25rem;padding-left:0}.course-form-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.course-form-page__title-block h1{margin:0;font-size:1.8rem}.course-form-page__title-block p{color:var(--text-secondary);max-width:760px;margin:.25rem 0 0}.course-form-page__header-actions{align-items:center;gap:.75rem;display:flex}.course-form-page__tabs{border-bottom:1px solid var(--border-light);gap:.5rem;padding:0 0 .25rem;display:flex;overflow-x:auto}.course-form-page__tab{color:var(--text-secondary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:.4rem .4rem 0 0;padding:.6rem .75rem;font-weight:600}.course-form-page__tab:hover{color:var(--text-primary)}.course-form-page__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.course-form-page__active-tab-title h2{color:var(--text-primary);margin:0;font-size:1.15rem}.course-form-page__content{padding-top:.25rem}.course-form__locked-tab{min-height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.95rem;display:flex}.course-form__tab-loading{color:var(--color-text-muted);padding:2rem}.course-form__tab-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.course-form__tab-header h3{margin:0;font-size:1.1rem;font-weight:600}.course-form__section{margin-bottom:0}.course-form__section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:.85rem;font-weight:600}.course-form__row{flex-wrap:wrap;gap:1rem;display:flex}.course-form__row .form-field{flex:200px}.course-form__actions{gap:.75rem;margin-top:1.25rem;display:flex}.course-form__info-layout{grid-template-columns:minmax(0,1fr) 320px;gap:1rem;display:grid}.course-form__info-main,.course-form__info-sidebar{flex-direction:column;gap:1rem;display:flex}.course-form__hero-row{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:1rem;display:grid}.course-form__cover-column{flex-direction:column;gap:.5rem;display:flex}.course-form__details-column{flex-direction:column;gap:.75rem;display:flex}.course-form__thumb-preview{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-light);width:100%;max-width:250px}.course-form__thumb-placeholder{aspect-ratio:16/9;background-color:var(--bg-secondary);border:2px dashed var(--border-light);border-radius:var(--radius-md);width:100%;max-width:250px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;font-size:.875rem;display:flex}.course-form__thumb-actions{gap:.5rem;margin-top:.5rem;display:flex}.course-form__inline-form{margin-bottom:1.25rem;padding:1.25rem}.course-form__inline-form h4{margin:0 0 1rem;font-size:1rem;font-weight:600}.course-form__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.course-form__list-item{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.course-form__list-item-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.course-form__list-item-info>div{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-form__list-item-order{color:var(--color-text-muted);min-width:2rem;font-size:.8rem;font-weight:600}.course-form__list-item-meta{color:var(--color-text-muted);font-size:.8rem}.course-form__list-item-actions{flex-shrink:0;gap:.5rem;display:flex}.course-form__student-avatar{background:color-mix(in srgb, var(--color-primary) 15%, white);width:2rem;height:2rem;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.course-form__student-meta{flex-direction:column;display:flex}.students-modal{width:min(760px,95vw)}.students-modal__content{flex-direction:column;gap:.9rem;display:flex}.students-modal__toolbar{grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;display:grid}.students-modal__list{flex-direction:column;gap:.35rem;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.students-modal__list-item{border:1px solid var(--border-light);border-radius:.4rem;padding:.55rem .75rem}.students-modal__list-item label{align-items:center;gap:.5rem;display:flex}.students-modal__student-name{font-weight:600}.students-modal__student-email{color:var(--text-secondary);font-size:.85rem}.students-modal__import-result{color:var(--text-secondary);margin:0;font-size:.9rem}.students-modal__error{color:var(--color-danger);margin:0;font-size:.9rem}.students-modal__actions{justify-content:flex-end;gap:.5rem;display:flex}.course-form__empty-state{min-height:160px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.course-form__status-card p,.course-form__tip-card p{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.45}.course-form__status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width<=1080px){.course-form__info-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.course-form__hero-row{grid-template-columns:minmax(0,1fr)}.course-form__thumb-preview,.course-form__thumb-placeholder{max-width:100%}}@media (width<=600px){.course-form-page__header-actions{justify-content:flex-end;width:100%}.course-form__status-grid,.students-modal__toolbar{grid-template-columns:1fr}}.lesson-editor{gap:1rem;display:grid}.lesson-editor__breadcrumb{color:#607190;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}.lesson-editor__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lesson-editor__header h1{color:#0b2347;letter-spacing:-.02em;margin:0;font-family:Poppins,sans-serif;font-size:clamp(1.45rem,2vw,2rem)}.lesson-editor__header p{color:#647795;margin:.32rem 0 0}.lesson-editor__header-actions{gap:.55rem;display:inline-flex}.lesson-editor__grid{grid-template-columns:minmax(220px,260px) 1fr;align-items:start;gap:1rem;display:grid}.lesson-editor__stepper{background:linear-gradient(#f9fbff,#f2f7ff);border-color:#d9e6fd;border-radius:1.1rem;gap:.55rem;display:grid}.lesson-editor__step{text-align:left;color:#5c6f8d;cursor:pointer;background:0 0;border:0;border-radius:.8rem;align-items:center;gap:.7rem;width:100%;padding:.5rem .35rem;font-weight:500;display:flex}.lesson-editor__step:hover{background:#215fc314}.lesson-editor__step--active{color:#1049a0;background:#266bdf24;font-weight:600}.lesson-editor__step--active .lesson-editor__step-index{color:#fff;background:linear-gradient(140deg,#2c80ff,#335df4);border-color:#0000}.lesson-editor__step-index{color:#476086;background:#fff;border:1px solid #c7d8f7;border-radius:999px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:.8rem;font-weight:700;display:inline-flex}.lesson-editor__form{background:linear-gradient(#fff 0%,#fbfcff 100%);border-color:#d9e6fd;border-radius:1.1rem;gap:.9rem;display:grid;box-shadow:0 16px 40px #0e2b5d14}.lesson-editor__form h2{color:#0f274c;margin:0;font-size:1.2rem}.lesson-editor__tab{border:1px solid #e1e9f8;border-radius:.9rem;gap:.9rem;padding:.9rem;display:grid}.lesson-editor__tab--content{background:linear-gradient(#2f7dfa0f,#2f7dfa03);border-left:4px solid #2f7dfa}.lesson-editor__tab--settings{background:linear-gradient(#00a37a0f,#00a37a03);border-left:4px solid #00a37a}.lesson-editor__tab--materials{background:linear-gradient(#c17f1514,#c17f1503);border-left:4px solid #c17f15}.lesson-editor__tab--preview{background:linear-gradient(#5c63f014,#5c63f003);border-left:4px solid #5c63f0}.lesson-editor__field{gap:.42rem;display:grid}.lesson-editor__field>span{text-transform:uppercase;letter-spacing:.07em;color:#607694;font-size:.8rem;font-weight:600}.lesson-editor__field .input,.lesson-editor__field .select,.lesson-editor__field .text-area{background:#fff;border-color:#d4e2fc;border-radius:.9rem;padding:.8rem .9rem}.lesson-editor__field .text-area{resize:vertical;min-height:6.8rem}.lesson-editor__row{gap:.75rem;display:grid}.lesson-editor__row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-editor__row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-editor__upload{text-align:center;cursor:pointer;background:radial-gradient(circle at 0 0,#2d81ff24,#ffffffb3);border:2px dashed #b9cff5;border-radius:1rem;place-items:center;gap:.35rem;min-height:14rem;padding:1rem;transition:border-color .2s,transform .2s;display:grid}.lesson-editor__upload input{display:none}.lesson-editor__upload .icon{color:#285fc7;width:2.2rem;height:2.2rem}.lesson-editor__upload strong{color:#12325f;font-size:1rem}.lesson-editor__upload span{color:#6a7f9d;font-size:.88rem}.lesson-editor__upload--active{border-color:#2e80ff;transform:translateY(-1px)}.lesson-editor__preview{object-fit:cover;border:1px solid #d4e1fb;border-radius:.9rem;width:min(100%,360px);max-height:190px;margin-top:.45rem;box-shadow:0 8px 20px #1031621f}.lesson-editor__footer{border-top:1px solid #e2ebfb;justify-content:flex-end;padding-top:.9rem;display:flex}.lesson-editor__error{color:#bf2c4a;margin:0;font-size:.88rem}@media (width<=1200px){.lesson-editor__grid{grid-template-columns:1fr}.lesson-editor__stepper{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-editor__step{flex-direction:column;justify-content:center;gap:.35rem;padding:.5rem .2rem;font-size:.78rem}}@media (width<=900px){.lesson-editor__header{flex-direction:column;align-items:flex-start}.lesson-editor__row--three,.lesson-editor__row--two,.lesson-editor__stepper{grid-template-columns:1fr}.lesson-editor__step{flex-direction:row;justify-content:flex-start;padding:.5rem .25rem;font-size:.9rem}}.lessons-page{gap:1rem;display:grid}.lessons-page__breadcrumb{color:#5f6f88;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}.lessons-page__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lessons-page__header h1{color:#091c3a;letter-spacing:-.02em;margin:0;font-family:Poppins,sans-serif;font-size:clamp(1.45rem,2.1vw,2rem)}.lessons-page__header p{color:#68788f;margin:.32rem 0 0;font-size:.95rem}.lessons-page__cta{min-width:9.8rem}.lessons-page__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.lessons-page__stat-card{background:linear-gradient(160deg,#fff,#f7faff);border:1px solid #dde7ff;border-radius:1.1rem;padding:1rem 1rem .95rem;box-shadow:0 10px 25px #102e6014}.lessons-page__stat-card p{color:#6a7790;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.78rem}.lessons-page__stat-card strong{color:#0b2247;margin-top:.35rem;font-size:clamp(1.35rem,1.6vw,1.85rem);display:block}.lessons-page__stat-card span{color:#8d9ab2;margin-top:.2rem;font-size:.82rem;display:block}.lessons-page__filters{background:#fff;border-color:#dfe7f8;border-radius:1rem;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;display:grid}.lessons-page__search-field{max-width:none}.lessons-page__filters-btn{white-space:nowrap}.lessons-page__table-wrap{border-color:#dce7fb;border-radius:1.1rem;padding:0;overflow:hidden}.lessons-page__table{width:100%;overflow-x:auto}.lessons-page__table--condensed .lessons-page__description{max-width:15rem}.lessons-page__thead,.lessons-page__row{grid-template-columns:32px 70px 82px 1.45fr 1.5fr 110px 110px 120px 120px 132px;align-items:center;column-gap:.55rem;min-width:1080px;padding:.82rem 1rem;display:grid}.lessons-page__thead{z-index:1;background:#f7faff;border-bottom:1px solid #dce7fb;position:sticky;top:0}.lessons-page__thead span{color:#5b6f8d;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.lessons-page__row{border-bottom:1px solid #edf2fb;transition:background-color .2s}.lessons-page__row:hover{background:#f9fbff}.lessons-page__row:last-child{border-bottom:0}.lessons-page__drag{color:#89a1c7;text-align:center;cursor:grab;font-size:1.05rem}.lessons-page__order,.lessons-page__duration,.lessons-page__views{color:#314867;font-size:.88rem;font-weight:600}.lessons-page__thumb{color:#fff;background:linear-gradient(140deg,#2468df,#5aa3ff);border-radius:.9rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:.73rem;font-weight:700;display:inline-flex;overflow:hidden}.lessons-page__thumb img{object-fit:cover;width:100%;height:100%}.lessons-page__name{color:#0d2246;font-size:.93rem;font-weight:600}.lessons-page__description{color:#5f7391;max-width:18rem;font-size:.86rem;line-height:1.35}.lessons-page__actions{gap:.2rem;display:inline-flex}.lessons-page__actions .button{color:#3f5f94}.lessons-page__loading{color:#627391;margin:0;padding:1rem}.lessons-page__empty{text-align:center;padding:1.8rem 1rem}.lessons-page__empty h3{color:#102748;margin:0}.lessons-page__empty p{color:#6d7f99;margin:.4rem 0 0}.badge--video{color:#1d5fc3;background:#e4f0ff}.badge--quiz{color:#5b42c5;background:#e8e5ff}.badge--assignment{color:#b15b1f;background:#ffebde}.badge--live{color:#0f8964;background:#dcf8f1}.badge--pdf{color:#c03858;background:#ffe0e6}.badge--text{color:#4f5f77;background:#eef1f6}@media (width<=1200px){.lessons-page__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lessons-page__filters{grid-template-columns:1fr 1fr}.lessons-page__filters-btn{justify-content:center}}@media (width<=900px){.lessons-page__header{flex-direction:column;align-items:flex-start}.lessons-page__stats,.lessons-page__filters{grid-template-columns:1fr}.lessons-page__table-wrap{margin-inline:-.25rem}}.users-page__toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.users-page__search{flex:1;max-width:26rem}.users-page__toolbar-actions{align-items:center;gap:.65rem;display:inline-flex}.users-page__filter-btn .badge{margin-left:.2rem}.users-page__grid{grid-template-columns:2fr .9fr;gap:1rem;margin-top:.9rem;display:grid}.users-page__grid--single{grid-template-columns:1fr}.filter-panel{align-self:start}.filter-panel .field{gap:.35rem;margin-bottom:.85rem;display:grid}.filter-panel .field span{color:var(--text-secondary);font-size:.875rem}.filter-panel__actions{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.8rem;display:grid}@media (width<=1200px){.users-page__toolbar{flex-direction:column;align-items:stretch}.users-page__search{max-width:100%}.users-page__toolbar-actions{justify-content:flex-end}.users-page__grid{grid-template-columns:1fr}}.auth-card{gap:.8rem;width:min(26rem,92vw);display:grid}.auth-card__brand{justify-items:center;gap:.35rem;margin-bottom:.2rem;display:grid}.auth-card__logo{object-fit:cover;border-radius:.8rem;width:12rem;height:10rem}.auth-card__subtitle{color:#5f7393;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.88rem;font-weight:600}.auth-card h1,.auth-card p{margin:0}.auth-screen{background:radial-gradient(circle at 100% 0,#edf3ff,#f9fbff 48%,#fff 100%)}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.text-muted{color:var(--text-secondary)}.text-xs{font-size:.75rem}@media (width<=900px){.hide-md{display:none}}[data-theme=dark]{--color-primary:#60a5fa;--color-primary-contrast:#0f172a;--color-secondary:#a78bfa;--color-secondary-contrast:#0f172a;--color-tertiary:#2dd4bf;--color-tertiary-contrast:#0f172a;--color-success:#4ade80;--color-success-contrast:#052e16;--color-warning:#fbbf24;--color-warning-contrast:#422006;--color-error:#f87171;--color-error-contrast:#450a0a;--color-info:#38bdf8;--color-info-contrast:#082f49;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#172338;--text-primary:#f8fafc;--text-secondary:#cbd5f5;--text-muted:#94a3b8;--text-inverse:#020617;--border-light:#334155;--border-medium:#475569;--border-strong:#64748b;--primary-hover:#3b82f6;--primary-active:#2563eb;--secondary-hover:#8b5cf6;--secondary-active:#7c3aed;--focus-ring:#60a5fa47;--overlay-dark:#000000b3;--shadow-soft:0 4px 12px #00000040;--shadow-medium:0 8px 24px #0006;--sidebar-bg-start:#07152f;--sidebar-bg-end:#112b56;--sidebar-text:#e6eeff;--sidebar-title:#8da8d8;--sidebar-link-hover:#8db2eb38;--sidebar-link-active-start:#518df585;--sidebar-link-active-end:#518df53d;--sidebar-brand-bg:#fff3;--sidebar-brand-border:#ffffff4d;--sidebar-brand-panel-bg:#ffffff1a;--sidebar-brand-panel-border:#ffffff38;--sidebar-overlay:#020814b8}[data-theme=dark] .dashboard-shell{background:var(--bg-secondary)}[data-theme=dark] .topbar{background:var(--bg-primary)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text-primary);background:var(--bg-primary);font-family:Inter,sans-serif}
