:root{--auth-bg-primary: #f8fafc;--auth-bg-card: #ffffff;--auth-border-color: #e2e8f0;--auth-border-light: #cbd5e1;--auth-text-primary: #0f172a;--auth-text-secondary: #1e293b;--auth-text-muted: #475569;--auth-text-dim: #64748b;--auth-accent: #0d6efd;--auth-accent-hover: #0b5ed7;--auth-accent-soft: rgba(13, 110, 253, .12);--auth-input-bg: #ffffff;--auth-shadow-sm: 0 4px 12px rgba(0, 0, 0, .05)}html[data-portal-theme=dark]{--auth-bg-primary: #0a0f1a;--auth-bg-card: #111827;--auth-border-color: #1f2a3e;--auth-border-light: #2d3a4e;--auth-text-primary: #eff3f8;--auth-text-secondary: #cbd5e1;--auth-text-muted: #9ca3af;--auth-text-dim: #7f8ea3;--auth-input-bg: #1e293b;--auth-shadow-sm: 0 10px 20px -5px rgba(0, 0, 0, .3)}:root{--main-sidebar-width: 252px}html.main-sidebar-collapsed{--main-sidebar-width: 60px}html.main-sidebar-expanded{--main-sidebar-width: 252px}.admin-shell-root{display:flex;min-height:100vh;font-family:var(--portal-font-family, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);background-color:#f4f6f9;transition:background-color .2s ease}.admin-shell-main{flex:1 1 auto;min-width:0;width:100%;overflow-x:clip}.admin-shell-root *{box-sizing:border-box}.main-sidebar{width:var(--main-sidebar-width);background-color:#f8f9fa;display:flex;flex-direction:column;align-items:stretch;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:width .2s ease,background-color .2s ease;overflow:hidden}.main-sidebar-head{flex-shrink:0;padding:14px 10px 10px;border-bottom:1px solid #e8eef5}.main-sidebar-collapse-btn{display:flex;align-items:center;gap:12px;width:calc(100% - 20px);margin:0 10px;padding:8px 14px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;transition:all .2s ease;font-size:.8125rem;font-weight:500;text-align:left}.main-sidebar-collapse-btn:hover{color:#475569;background-color:#eef2f7}.main-sidebar-collapse-btn i{width:1.25rem;text-align:center;font-size:1rem}html.main-sidebar-collapsed .main-sidebar-head{padding:14px 8px 10px}html.main-sidebar-collapsed .main-sidebar-collapse-btn{justify-content:center;gap:0;width:calc(100% - 16px);margin:0 8px;padding:8px 0;position:relative}html.main-sidebar-collapsed .main-sidebar-collapse-btn:hover:after{content:attr(data-tooltip);position:absolute;left:var(--main-sidebar-width);top:50%;transform:translateY(-50%);background:#212529;color:#fff;padding:6px 12px;border-radius:6px;font-size:14px;white-space:nowrap;z-index:200;box-shadow:0 2px 6px #0003}.main-sidebar-bottom{margin-top:auto;flex-shrink:0;width:100%;padding-bottom:12px}.main-sidebar-bottom .nav-item--download{margin-bottom:4px}.main-sidebar .nav-item--bottom{margin-top:0;margin-bottom:0}.main-sidebar .nav-item--logout a:hover{color:#dc3545;background-color:#fff5f5}.main-sidebar .nav-menu{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:12px;flex:1;overflow-y:auto;overflow-x:hidden}.main-sidebar .nav-item{width:100%;text-align:left;position:relative}.main-sidebar{--sidebar-nav-color: var(--portal-text-muted, #8b97a8);--sidebar-nav-color-hover: var(--portal-blue, #1677ff);--sidebar-nav-bg-hover: var(--portal-blue-soft, rgba(22, 119, 255, .12));--sidebar-nav-font-size: .875rem;--sidebar-nav-font-weight: 500;--sidebar-nav-icon-size: 1rem}.main-sidebar .nav-item a,.main-sidebar .nav-item .router-link{display:flex;align-items:center;gap:12px;justify-content:flex-start;color:var(--sidebar-nav-color);text-decoration:none;font-size:var(--sidebar-nav-icon-size);font-weight:var(--sidebar-nav-font-weight);transition:color .2s ease,background-color .2s ease;padding:10px 14px;margin:0 10px;border-radius:8px;border:none;background:transparent;width:calc(100% - 20px);cursor:pointer}.main-sidebar .nav-item a i,.main-sidebar .nav-item .router-link i,.main-sidebar .nav-group-link i{width:1.125rem;font-size:var(--sidebar-nav-icon-size);text-align:center;color:inherit;flex-shrink:0}.main-sidebar .nav-label{font-size:var(--sidebar-nav-font-size);font-weight:var(--sidebar-nav-font-weight);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.main-sidebar-collapsed .main-sidebar .nav-item a,html.main-sidebar-collapsed .main-sidebar .nav-item .router-link{justify-content:center;gap:0;font-size:22px;padding:8px 0;margin:0 8px;width:calc(100% - 16px)}html.main-sidebar-collapsed .main-sidebar .nav-label{display:none}.main-sidebar .nav-item a:hover,.main-sidebar .nav-item .router-link:hover,.main-sidebar .nav-item.active a,.main-sidebar .nav-item.active .router-link,.main-sidebar .nav-item .router-link.router-link-active{color:var(--sidebar-nav-color-hover);background-color:var(--sidebar-nav-bg-hover)}html.main-sidebar-collapsed .main-sidebar .nav-item a:hover:after,html.main-sidebar-collapsed .main-sidebar .nav-item .router-link:hover:after{content:attr(data-tooltip);position:absolute;left:var(--main-sidebar-width);top:50%;transform:translateY(-50%);background:#212529;color:#fff;padding:6px 12px;border-radius:6px;font-size:14px;white-space:nowrap;z-index:200;box-shadow:0 2px 6px #0003}.nav-group{width:100%;position:relative;margin-bottom:4px}.nav-group-head{display:flex;align-items:center;gap:4px;margin:0 10px}.nav-group-link{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--sidebar-nav-color, var(--portal-text-muted, #8b97a8));text-decoration:none;font-size:var(--sidebar-nav-icon-size, 1rem);font-weight:var(--sidebar-nav-font-weight, 500);transition:color .2s ease,background-color .2s ease;padding:10px 14px;border-radius:10px;border:none;background:transparent;cursor:pointer;text-align:left}.nav-group-link:hover{color:var(--sidebar-nav-color-hover, var(--portal-blue, #1677ff));background-color:var(--sidebar-nav-bg-hover, rgba(22, 119, 255, .12))}.nav-group.open>.nav-group-head .nav-group-link{color:var(--sidebar-nav-color, var(--portal-text-muted, #8b97a8));font-weight:var(--sidebar-nav-font-weight, 500);background-color:transparent}.nav-group.active>.nav-group-head .nav-group-link{color:var(--sidebar-nav-color-hover, var(--portal-blue, #1677ff));background-color:var(--sidebar-nav-bg-hover, rgba(22, 119, 255, .12))}.nav-group.active.open>.nav-group-head .nav-group-link{background-color:var(--sidebar-nav-bg-hover, rgba(22, 119, 255, .12))}.nav-group-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--sidebar-nav-color, var(--portal-text-muted, #8b97a8));cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;flex-shrink:0}.nav-group-toggle:hover,.nav-group.open .nav-group-toggle{color:var(--sidebar-nav-color-hover, var(--portal-blue, #1677ff));background-color:var(--sidebar-nav-bg-hover, rgba(22, 119, 255, .12))}.nav-group.open .nav-group-toggle{transform:rotate(180deg)}.nav-submenu{display:grid;gap:2px;margin:6px 8px 10px 14px;padding:10px 6px;min-width:0;border-left:2px solid #cbd5e1;border-radius:0 12px 12px 0;background:linear-gradient(90deg,#f8fafc 0%,#ffffff 100%);box-shadow:inset 0 1px #fffc}.nav-subitem{display:flex;align-items:flex-start;gap:10px;min-width:0;color:var(--sidebar-nav-color, var(--portal-text-muted, #8b97a8));text-decoration:none;font-size:var(--sidebar-nav-font-size, .875rem);font-weight:var(--sidebar-nav-font-weight, 500);padding:9px 10px;border-radius:8px;border:1px solid transparent;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.nav-subitem i{width:1.125rem;font-size:var(--sidebar-nav-icon-size, 1rem);text-align:center;color:inherit;flex-shrink:0;margin-top:2px}.nav-submenu .nav-subitem .nav-label,.nav-submenu-flyout .nav-subitem .nav-label{flex:1;min-width:0;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35;word-break:break-word}.nav-subitem:hover{color:var(--sidebar-nav-color-hover, var(--portal-blue, #1677ff));background-color:#ffffffb8;border-color:#1677ff2e}.nav-subitem.active{color:var(--sidebar-nav-color-hover, var(--portal-blue, #1677ff));background-color:#ffffffd1;border-color:#1677ff3d;box-shadow:0 1px 3px #1677ff1f;font-weight:var(--sidebar-nav-font-weight, 500)}html.main-sidebar-collapsed .nav-group-head{margin:0 8px}html.main-sidebar-collapsed .nav-group-link{justify-content:center;gap:0;padding:8px 0;margin:0;width:calc(100% - 16px)}html.main-sidebar-collapsed .nav-group-toggle,html.main-sidebar-collapsed .nav-submenu{display:none}html.main-sidebar-collapsed .nav-group:hover .nav-submenu-flyout,html.main-sidebar-collapsed .nav-group:focus-within .nav-submenu-flyout{display:grid}.nav-submenu-flyout{display:none;position:absolute;left:calc(100% + 8px);top:0;min-width:240px;background:#fff;border:1px solid #dbe4f2;border-radius:12px;box-shadow:0 8px 24px #0f172a1f;padding:10px;z-index:300;gap:4px}.nav-submenu-flyout .nav-subitem{font-size:.875rem}.page-sidebar{width:260px;background-color:#fff;border-right:1px solid #e9ecef;position:fixed;top:0;left:var(--main-sidebar-width);bottom:0;z-index:99;padding:24px 16px;display:flex;flex-direction:column;transition:left .2s ease,background-color .2s ease,border-color .2s ease}.page-sidebar-header{font-size:1.25rem;font-weight:600;margin-bottom:24px;color:#1e2a3a;padding-bottom:12px;border-bottom:1px solid #e9ecef}.page-sidebar-nav{display:flex;flex-direction:column;gap:8px}.page-sidebar-nav a,.page-sidebar-nav .router-link{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:10px 12px;border-radius:8px;color:var(--portal-text-muted, #8b97a8);text-decoration:none;font-size:.875rem;font-weight:500;line-height:1.35;transition:color .2s ease,background-color .2s ease;word-break:break-word}.page-sidebar-nav a i,.page-sidebar-nav .router-link i{width:1.125rem;font-size:1rem;color:inherit;flex-shrink:0;margin-top:2px}.page-sidebar-nav a:hover,.page-sidebar-nav .router-link:hover{background-color:var(--portal-blue-soft, rgba(22, 119, 255, .12));color:var(--portal-blue, #1677ff)}.page-sidebar-nav a.active,.page-sidebar-nav .router-link.router-link-active{background-color:var(--portal-blue-soft, rgba(22, 119, 255, .12));color:var(--portal-blue, #1677ff);font-weight:500}.page-sidebar-nav a.active i,.page-sidebar-nav .router-link.router-link-active i{color:inherit}.main-content--dashboard,.admin-shell-page-offset{margin-left:var(--main-sidebar-width);padding:24px;width:calc(100% - var(--main-sidebar-width));min-width:0;max-width:100%;min-height:100vh;box-sizing:border-box;overflow-x:clip;transition:margin-left .2s ease,width .2s ease,background-color .2s ease}.main-content--materials{margin-left:calc(var(--main-sidebar-width) + 260px);padding:24px;width:calc(100% - var(--main-sidebar-width) - 260px);min-width:0;max-width:100%;min-height:100vh;box-sizing:border-box;overflow-x:clip;transition:margin-left .2s ease,width .2s ease,background-color .2s ease}.page-header-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-bottom:24px}.section-title{font-size:1.5rem;font-weight:600;color:#1e2a3a}.btn-create{background-color:#0d6efd;color:#fff;border:none;padding:8px 20px;border-radius:30px;font-size:.9rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap;transition:background-color .2s;text-decoration:none}.btn-create:hover,.btn-create:focus{background-color:#0b5ed7;color:#fff}.btn-create:hover *,.btn-create:focus *{color:inherit}.courses-table-container{background:#ffffff;border-radius:16px;box-shadow:0 2px 8px #0000000a;width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.courses-table{width:100%;border-collapse:collapse}.courses-table th,.courses-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #e9ecef}.courses-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.courses-table td{color:#212529}.courses-table-title-link{color:#212529;font-weight:500}.courses-table-title-link:hover{color:#0d6efd}.materials-fav-btn{line-height:1}.checkbox-col{width:40px;text-align:center}.checkbox-col input{width:18px;height:18px;cursor:pointer}.portal-table-hscroll-wrap,.users-table-hscroll-wrap{width:100%;max-width:100%;min-width:0;background:#ffffff;border-radius:16px;box-shadow:0 2px 8px #0000000a;overflow:visible}.portal-table-sticky-head,.users-table-sticky-head{background-color:transparent}.portal-table-sticky-head th,.users-table-sticky-head th{position:sticky;top:0;z-index:7;background-color:#fff;background-clip:padding-box;box-shadow:0 1px #e9ecef}.portal-table-sticky-head th:before,.users-table-sticky-head th:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:#fff;pointer-events:none}.portal-table-hscroll-row .portal-table-hscroll-cell,.users-table-hscroll-row .users-table-hscroll-cell{position:sticky;z-index:6;padding:0!important;border-top:0;border-bottom:1px solid #e9ecef;background-color:#fff;background-clip:padding-box;line-height:0;vertical-align:top;box-shadow:0 1px #e9ecef}.portal-table-hscroll-top,.users-table-hscroll-top{display:block;overflow-x:auto;overflow-y:hidden;width:100%;height:9px;margin:0;opacity:.38;transition:opacity .15s ease;scrollbar-width:thin;scrollbar-color:#c5d0de transparent}.portal-table-container:hover .portal-table-hscroll-top,.portal-table-container:hover .users-table-hscroll-top,.users-table-container:hover .portal-table-hscroll-top,.users-table-container:hover .users-table-hscroll-top,.portal-table-hscroll-top:focus-within,.users-table-hscroll-top:focus-within{opacity:.72}.portal-table-hscroll-top::-webkit-scrollbar,.users-table-hscroll-top::-webkit-scrollbar{height:5px}.portal-table-hscroll-top::-webkit-scrollbar-track,.users-table-hscroll-top::-webkit-scrollbar-track{background:transparent}.portal-table-hscroll-top::-webkit-scrollbar-thumb,.users-table-hscroll-top::-webkit-scrollbar-thumb{background:#c5d0de;border-radius:999px}.portal-table-hscroll-top-inner,.users-table-hscroll-top-inner{height:1px;pointer-events:none}.portal-table-container,.users-table-container{background:transparent;border-radius:0 0 16px 16px;box-shadow:none;width:100%;max-width:100%;min-width:0;max-height:none;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:auto}.portal-table-container--embedded,.modal .portal-table-container,.modal .users-table-container,.card-body>.portal-table-hscroll-wrap .portal-table-container,.card-body>.portal-table-hscroll-wrap .users-table-container{max-height:none;overflow-y:visible}.portal-table-container.users-table--grab,.users-table-container.users-table--grab{cursor:grab}.portal-table-container.users-table--grab .user-name-link,.portal-table-container.users-table--grab a,.users-table-container.users-table--grab .user-name-link,.users-table-container.users-table--grab a{cursor:pointer}.portal-table-container.users-table--panning,.users-table-container.users-table--panning{cursor:grabbing;-webkit-user-select:none;user-select:none;touch-action:none}.portal-table-container.users-table--panning:not(.users-table--alt-select) *,.users-table-container.users-table--panning:not(.users-table--alt-select) *{cursor:grabbing}.portal-table-container.users-table--alt-select,.users-table-container.users-table--alt-select{cursor:text}.portal-table-container.users-table--alt-select .portal-table th,.portal-table-container.users-table--alt-select .users-table th,.users-table-container.users-table--alt-select .portal-table th,.users-table-container.users-table--alt-select .users-table td{-webkit-user-select:text;user-select:text;cursor:text}.portal-table-container.users-table--alt-select .portal-table th,.users-table-container.users-table--alt-select .users-table th{-webkit-user-select:text;user-select:text}.portal-table-container.users-table--alt-select .user-name-link,.portal-table-container.users-table--alt-select a,.portal-table-container.users-table--alt-select button,.users-table-container.users-table--alt-select .user-name-link,.users-table-container.users-table--alt-select a,.users-table-container.users-table--alt-select button{cursor:text;user-select:text;-webkit-user-select:text}.main-content--dashboard .table-responsive,.admin-content-card .table-responsive{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.main-content--dashboard .card .card-header,.admin-content-card .card-header{padding:1rem 1.25rem}.main-content--dashboard .card .table>:not(caption)>*>*,.admin-content-card .card .table>:not(caption)>*>*{padding-left:1.25rem;padding-right:1.25rem}.main-content--dashboard .card .table>:not(caption)>*>*:first-child,.admin-content-card .card .table>:not(caption)>*>*:first-child{padding-left:1.25rem}.main-content--dashboard .card .table-sm>:not(caption)>*>*,.admin-content-card .card .table-sm>:not(caption)>*>*{padding-top:.7rem;padding-bottom:.7rem}.main-content--dashboard .card-body.p-0>.p-3,.admin-content-card .card-body.p-0>.p-3{padding:1rem 1.25rem!important}.users-table{width:100%;border-collapse:collapse}.users-table:not(.users-table--resizable),.courses-table:not(.courses-table--resizable){width:max-content;min-width:100%;table-layout:auto}.users-table:not(.users-table--resizable) th,.users-table:not(.users-table--resizable) td,.courses-table:not(.courses-table--resizable) th,.courses-table:not(.courses-table--resizable) td{white-space:nowrap}.users-table th,.users-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #e9ecef;vertical-align:middle}.users-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.users-table td{color:#212529}.stats-user-name{display:inline-flex;align-items:center}.stats-user-online{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;margin-right:10px}.stats-user-name .dot-online{display:block;width:8px;height:8px;border-radius:50%;background:#22c55e}.users-actions-cell{white-space:nowrap;text-align:right;width:1%}.portal-table td.text-center .role-badge,.users-table td.text-center .role-badge,.portal-table td.text-center .status-wrap,.users-table td.text-center .status-wrap{display:inline-block}.portal-table-cell--pinned,.users-table td.portal-table-cell--pinned,.portal-table-sticky-head th.portal-table-cell--pinned,.users-table-sticky-head th.portal-table-cell--pinned{position:sticky;background-color:#fff;background-clip:padding-box}.portal-table-sticky-head th.portal-table-cell--pinned,.users-table-sticky-head th.portal-table-cell--pinned{top:0;z-index:9}.users-table tbody td.portal-table-cell--pinned{z-index:5}.portal-table-cell--pinned-last:after,.users-table td.portal-table-cell--pinned-last:after,.portal-table-sticky-head th.portal-table-cell--pinned-last:after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:8px;pointer-events:none;box-shadow:4px 0 8px #0f172a14}.user-row--blocked td.portal-table-cell--pinned{background-color:#f8f9fa}.users-table--resizable{table-layout:fixed;border-collapse:separate;border-spacing:0}.users-table--resizable th,.users-table--resizable td{overflow:hidden;max-width:0;text-overflow:ellipsis;white-space:nowrap}.users-table--resizable .users-actions-cell{max-width:none;overflow:visible;white-space:nowrap}.users-table--resizable th.users-th--select,.users-table--resizable td.users-td--select,.users-table--resizable th.users-th--toggle,.users-table--resizable td.users-td--toggle{max-width:none;overflow:visible;text-overflow:clip;box-sizing:border-box}.users-table--resizable th.users-actions-cell,.users-table--resizable th.users-th--no-resizer{overflow:visible;text-overflow:clip;padding-right:16px}.users-table--resizable th{position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;padding-right:18px}.users-table--resizable .portal-table-sticky-head th,.users-table--resizable .users-table-sticky-head th{position:sticky;top:0;z-index:7;overflow:visible}.users-th--sortable{cursor:pointer}.users-th-label{display:block;overflow:hidden;text-overflow:ellipsis}.users-col-resizer{position:absolute;top:0;right:0;width:10px;height:100%;transform:translate(50%);cursor:col-resize;touch-action:none;z-index:3;background:linear-gradient(to right,transparent 0 4px,#c5d0de 4px 5px,transparent 5px)}.users-col-resizer:hover,.users-col-resizer--active,.users-table--resizing .users-col-resizer{background:linear-gradient(to right,transparent 0 3px,#1677ff 3px 5px,transparent 5px)}.users-cell-clip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.columns-settings{position:relative}.columns-settings-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0}.columns-settings-panel{position:absolute;top:calc(100% + 8px);z-index:1050;width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid #dbe4f2;border-radius:14px;box-shadow:0 16px 32px #0f172a1f;padding:14px}.columns-settings--panel-end .columns-settings-panel{right:0;left:auto}.columns-settings--panel-start .columns-settings-panel{left:0;right:auto}.columns-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.columns-settings-list{display:grid;gap:8px;max-height:320px;overflow-y:auto}.columns-settings-item{display:flex;align-items:center;gap:10px;margin:0;font-size:.92rem;cursor:pointer}.columns-settings-item input{margin:0}body.users-col-resizing,body.users-col-resizing *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:4px;border:none;border-radius:8px;background:transparent;color:#6c757d;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-icon:hover{background-color:#e9ecef;color:#0d6efd}.btn-icon--danger:hover{background-color:#f8d7da;color:#dc3545}.btn-icon--success:hover{background-color:#d1e7dd;color:#198754}.btn-new{background-color:#0d6efd;color:#fff;border:none;padding:8px 20px;border-radius:30px;font-size:.9rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background-color .2s}.btn-new:hover,.btn-new:focus{background-color:#0b5ed7;color:#fff}.btn-new:hover *,.btn-new:focus *{color:inherit}.role-badge{background-color:#e9ecef;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500;display:inline-block;color:#212529}.role-badge--super-admin{background-color:#fde2e2;color:#842029}.role-badge--admin{background-color:#fff3cd;color:#664d03}.role-badge--instructor{background-color:#cfe2ff;color:#084298}.role-badge--student{background-color:#e9ecef;color:#495057}.status-wrap{display:inline-flex;align-items:center;font-size:.875rem;color:#495057}.status-badge{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;flex-shrink:0}.status-active{background-color:#28a745}.status-inactive{background-color:#adb5bd}.page-header-dash h1{font-size:1.8rem;font-weight:600;margin-bottom:24px;color:#1e2a3a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#ffffff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000a;transition:all .2s ease;cursor:pointer;display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.stat-info h3{font-size:.85rem;font-weight:500;color:#6c757d;margin-bottom:8px}.stat-number{font-size:2rem;font-weight:700;color:#1e2a3a;line-height:1}.stat-icon{font-size:2.2rem;color:#0d6efd;opacity:.7}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.dashboard-card{background:#ffffff;border-radius:20px;padding:20px;box-shadow:0 2px 8px #0000000a}.card-title{font-size:1.2rem;font-weight:600;margin-bottom:16px;color:#1e2a3a}.card-title-sub{font-size:.75rem;font-weight:400}.tabs{display:flex;gap:16px;border-bottom:1px solid #e9ecef;margin-bottom:20px}.tab{padding-bottom:8px;font-weight:500;color:#6c757d;cursor:pointer;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;font-size:inherit;font-family:inherit}.tab.active{color:#0d6efd;border-bottom-color:#0d6efd}.tab-badge{background:#e9ecef;padding:0 6px;border-radius:20px;margin-left:4px}.assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.btn-outline{border:1px solid #dee2e6;background:transparent;padding:6px 12px;border-radius:20px;font-size:.8rem;cursor:pointer;transition:.2s}.btn-outline:hover{background:#f8f9fa}.empty-state{text-align:center;padding:32px 0;color:#adb5bd}.material-list{display:flex;flex-direction:column;gap:16px}.link-all-materials{margin-top:16px;text-align:right}.link-all-materials a{color:#0d6efd;text-decoration:none;font-size:.85rem}html[data-portal-theme=dark] .admin-shell-root{background-color:#121212}html[data-portal-theme=dark] .main-sidebar{background-color:#1e1e2f}html[data-portal-theme=dark] .main-sidebar .nav-item a,html[data-portal-theme=dark] .main-sidebar .nav-item .router-link{color:#adb5bd}html[data-portal-theme=dark] .main-sidebar .nav-item a:hover,html[data-portal-theme=dark] .main-sidebar .nav-item .router-link:hover,html[data-portal-theme=dark] .main-sidebar .nav-item.active a,html[data-portal-theme=dark] .main-sidebar .nav-item.active .router-link,html[data-portal-theme=dark] .main-sidebar .nav-item .router-link.router-link-active{color:#90caf9;background-color:#2c2c3a}html[data-portal-theme=dark] .main-sidebar-head{border-bottom-color:#3a3a4a}html[data-portal-theme=dark] .main-sidebar-collapse-btn{color:#94a3b8}html[data-portal-theme=dark] .main-sidebar-collapse-btn:hover{color:#cbd5e1;background-color:#2c2c3a}html[data-portal-theme=dark] .main-sidebar .nav-item--logout a:hover{color:#f87171;background-color:#dc35451f}html[data-portal-theme=dark] .nav-group.open>.nav-group-head .nav-group-link{color:#adb5bd;background-color:transparent;font-weight:500}html[data-portal-theme=dark] .nav-group-link:hover,html[data-portal-theme=dark] .nav-group.active>.nav-group-head .nav-group-link{color:#90caf9;background-color:#2c2c3a}html[data-portal-theme=dark] .nav-group.active.open>.nav-group-head .nav-group-link{background-color:#252536}html[data-portal-theme=dark] .nav-group-toggle:hover{color:#90caf9;background-color:#2c2c3a}html[data-portal-theme=dark] .nav-submenu{border-left-color:#3a3a4a;background:linear-gradient(90deg,#252536 0%,#1e1e2f 100%);box-shadow:inset 0 1px #ffffff0a}html[data-portal-theme=dark] .nav-subitem{color:#adb5bd}html[data-portal-theme=dark] .nav-subitem i{color:#8f9bb3}html[data-portal-theme=dark] .nav-subitem:hover{color:#90caf9;background-color:#2c2c3a;border-color:#3a3a4a}html[data-portal-theme=dark] .nav-subitem:hover i,html[data-portal-theme=dark] .nav-subitem.active i{color:#90caf9}html[data-portal-theme=dark] .nav-subitem.active{color:#90caf9;background-color:#2c2c3a;border-color:#4a6fa5;box-shadow:0 1px 3px #00000040}html[data-portal-theme=dark] .nav-submenu-flyout{background:#1e1e2f;border-color:#2c2c3a}html[data-portal-theme=dark] .page-sidebar{background-color:#1e1e2f;border-right-color:#2c2c3a}html[data-portal-theme=dark] .page-sidebar-header{color:#e0e0e0;border-bottom-color:#2c2c3a}html[data-portal-theme=dark] .page-sidebar-nav a,html[data-portal-theme=dark] .page-sidebar-nav .router-link{color:#adb5bd}html[data-portal-theme=dark] .page-sidebar-nav a i,html[data-portal-theme=dark] .page-sidebar-nav .router-link i{color:#8f9bb3}html[data-portal-theme=dark] .page-sidebar-nav a:hover,html[data-portal-theme=dark] .page-sidebar-nav .router-link:hover,html[data-portal-theme=dark] .page-sidebar-nav a.active,html[data-portal-theme=dark] .page-sidebar-nav .router-link.router-link-active{background-color:#2c2c3a;color:#90caf9}html[data-portal-theme=dark] .main-content--dashboard,html[data-portal-theme=dark] .main-content--materials{background-color:#121212}html[data-portal-theme=dark] .page-header-dash h1,html[data-portal-theme=dark] .section-title{color:#e0e0e0}html[data-portal-theme=dark] .stat-card,html[data-portal-theme=dark] .dashboard-card{background-color:#1e1e2f;box-shadow:0 2px 8px #0000004d}html[data-portal-theme=dark] .stat-number,html[data-portal-theme=dark] .card-title{color:#e0e0e0}html[data-portal-theme=dark] .stat-info h3,html[data-portal-theme=dark] .tab{color:#adb5bd}html[data-portal-theme=dark] .tab.active{color:#90caf9;border-bottom-color:#90caf9}html[data-portal-theme=dark] .btn-outline{border-color:#2c2c3a;color:#e0e0e0}html[data-portal-theme=dark] .btn-outline:hover{background-color:#2c2c3a}html[data-portal-theme=dark] .courses-table-container{background-color:#1e1e2f}html[data-portal-theme=dark] .courses-table th{background-color:#2c2c3a;color:#e0e0e0;border-bottom-color:#3a3a4a}html[data-portal-theme=dark] .courses-table td{color:#e0e0e0;border-bottom-color:#2c2c3a}html[data-portal-theme=dark] .courses-table-title-link{color:#e0e0e0}html[data-portal-theme=dark] .courses-table-title-link:hover{color:#90caf9}html[data-portal-theme=dark] .users-table-hscroll-wrap{background-color:#1e1e2f}html[data-portal-theme=dark] .users-table-sticky-head th,html[data-portal-theme=dark] .users-table-hscroll-row .users-table-hscroll-cell,html[data-portal-theme=dark] .users-table-hscroll-row .users-table-hscroll-cell{background-color:#1e2430;border-bottom-color:#3a3a4a}html[data-portal-theme=dark] .portal-table-cell--pinned,html[data-portal-theme=dark] .users-table td.portal-table-cell--pinned,html[data-portal-theme=dark] .portal-table-sticky-head th.portal-table-cell--pinned,html[data-portal-theme=dark] .users-table-sticky-head th.portal-table-cell--pinned{background-color:#1e2430}html[data-portal-theme=dark] .user-row--blocked td.portal-table-cell--pinned{background-color:#2a3344}html[data-portal-theme=dark] .users-table-hscroll-top{scrollbar-color:#4a5568 transparent}html[data-portal-theme=dark] .users-table-hscroll-top::-webkit-scrollbar-thumb{background:#4a5568}html[data-portal-theme=dark] .users-table-container{background-color:transparent}html[data-portal-theme=dark] .users-table th{background-color:#2c2c3a;color:#e0e0e0;border-bottom-color:#3a3a4a}html[data-portal-theme=dark] .users-table td{color:#e0e0e0;border-bottom-color:#2c2c3a}html[data-portal-theme=dark] .role-badge{background-color:#2c2c3a;color:#e0e0e0}html[data-portal-theme=dark] .role-badge--admin{background-color:#4d4420;color:#ffecb3}html[data-portal-theme=dark] .role-badge--instructor{background-color:#1e3a5f;color:#90caf9}html[data-portal-theme=dark] .role-badge--student{background-color:#2c2c3a;color:#adb5bd}html[data-portal-theme=dark] .status-wrap,html[data-portal-theme=dark] .btn-icon{color:#adb5bd}html[data-portal-theme=dark] .btn-icon:hover{background-color:#2c2c3a;color:#90caf9}html[data-portal-theme=dark] .btn-icon--danger:hover{background-color:#3d2020;color:#f48fb1}html[data-portal-theme=dark] .btn-icon--success:hover{background-color:#1f3a2a;color:#7cd992}@media (max-width: 768px){.page-sidebar{width:200px;left:var(--main-sidebar-width)}.main-content--materials{margin-left:calc(var(--main-sidebar-width) + 200px);width:calc(100% - var(--main-sidebar-width) - 200px)}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}.admin-shell-root button,.admin-shell-root [role=button],.admin-shell-root .btn,.admin-shell-root label.btn,.admin-shell-root .nav-link,.admin-shell-root .nav-group-link,.admin-shell-root .nav-subitem,.admin-shell-root .tab,.admin-shell-root .btn-icon,.admin-shell-root .columns-settings-item,.admin-shell-root .users-th--sortable,.admin-shell-root .builder-lesson-link,.admin-shell-root .lesson-card,.admin-shell-root .lessons-view-btn,.admin-shell-root .materials-view-toggle .btn,.admin-shell-root .main-sidebar .nav-item a,.admin-shell-root .main-sidebar .nav-item .router-link,.admin-shell-root .page-sidebar-nav a,.admin-shell-root .page-sidebar-nav .router-link,.admin-shell-root .settings-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-shell-root input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),.admin-shell-root textarea,.admin-shell-root select,.admin-shell-root [contenteditable=true],.admin-shell-root .form-control,.admin-shell-root .form-select{cursor:auto;-webkit-user-select:text;user-select:text}:root{--portal-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--portal-bg-main: #f4f7fb;--portal-bg-soft: #eef4fb;--portal-blue: #1677ff;--portal-blue-hover: #0958d9;--portal-blue-soft: rgba(22, 119, 255, .12);--portal-blue-light: rgba(93, 164, 255, .16);--portal-card-bg: rgba(255, 255, 255, .88);--portal-card-border: rgba(135, 153, 180, .22);--portal-text: #172033;--portal-text-muted: #8b97a8;--portal-line: #e6edf6;--portal-shadow-soft: 0 18px 45px rgba(36, 68, 118, .08);--portal-radius-lg: 22px;--portal-radius-md: 16px;--portal-radius-sm: 10px;--bs-primary: #1677ff;--bs-primary-rgb: 22, 119, 255;--bs-link-color: #1677ff;--bs-link-hover-color: #0958d9;--main-sidebar-width: 255px}html{color-scheme:light}html[data-portal-theme=dark]{color-scheme:dark}html.main-sidebar-expanded{--main-sidebar-width: 255px}.admin-shell-root{position:relative;isolation:isolate;overflow:hidden;font-family:var(--portal-font-family);color:var(--portal-text);background:radial-gradient(circle at 15% 12%,rgba(22,119,255,.11),transparent 26%),radial-gradient(circle at 82% 8%,rgba(91,164,255,.16),transparent 28%),radial-gradient(circle at 76% 82%,rgba(22,119,255,.08),transparent 30%),linear-gradient(180deg,#f7f9fd 0%,#eef3f9 100%);transition:background .2s ease,color .2s ease}.admin-shell-root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;pointer-events:none;background-image:linear-gradient(rgba(38,103,180,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(38,103,180,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,.22));mask-image:linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,.22))}.admin-shell-root:after{content:"";position:fixed;top:-180px;right:-180px;bottom:-180px;left:-180px;z-index:-2;pointer-events:none;background:radial-gradient(circle at 8% 72%,rgba(22,119,255,.1),transparent 24%),radial-gradient(circle at 96% 42%,rgba(122,177,255,.13),transparent 26%),radial-gradient(circle at 52% -4%,rgba(255,255,255,.8),transparent 32%);filter:blur(22px);opacity:.95}.admin-shell-main{position:relative;z-index:1}.main-sidebar{background:rgba(255,255,255,.58);border-right:1px solid rgba(130,150,180,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.main-sidebar-head{border-bottom-color:#8296b424}.main-sidebar-collapse-btn{border-radius:14px;color:var(--portal-text-muted)}.main-sidebar-collapse-btn:hover{color:var(--portal-blue);background-color:var(--portal-blue-soft)}.main-sidebar .nav-item a,.main-sidebar .nav-item .router-link,.nav-group-link{border-radius:14px;color:var(--portal-text-muted);font-weight:500}.main-sidebar .nav-label,.nav-subitem{font-size:.875rem;font-weight:500}.main-sidebar .nav-item a:hover,.main-sidebar .nav-item .router-link:hover,.nav-group-link:hover{color:var(--portal-blue);background-color:var(--portal-blue-soft)}.main-sidebar .nav-item.active a,.main-sidebar .nav-item.active .router-link,.main-sidebar .nav-item .router-link.router-link-active,.nav-group.active>.nav-group-head .nav-group-link{color:var(--portal-blue);background-color:var(--portal-blue-soft)}.main-sidebar .nav-item--logout a:hover{color:#dc3545;background-color:#dc354514}.nav-group.open>.nav-group-head .nav-group-link{color:var(--portal-text-muted);font-weight:500;background-color:transparent}.nav-group.active.open>.nav-group-head .nav-group-link{background-color:var(--portal-blue-soft)}.nav-group-toggle{color:var(--portal-text-muted)}.nav-group-toggle:hover,.nav-group.open .nav-group-toggle{color:var(--portal-blue);background-color:var(--portal-blue-soft)}.nav-subitem{color:var(--portal-text-muted)}.nav-subitem:hover,.nav-subitem.active{color:var(--portal-blue)}.nav-submenu{border-left-color:#8296b447;border-radius:0 var(--portal-radius-sm) var(--portal-radius-sm) 0;background:rgba(255,255,255,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffffa6}.nav-subitem{border-radius:var(--portal-radius-sm)}.nav-subitem:hover{background-color:#ffffffb8;border-color:#1677ff2e}.nav-subitem.active{background-color:#ffffffd1;border-color:#1677ff3d;box-shadow:0 4px 14px #1677ff1a}.nav-submenu-flyout{background:var(--portal-card-bg);border:1px solid var(--portal-card-border);border-radius:var(--portal-radius-md);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--portal-shadow-soft)}.page-sidebar{background:rgba(255,255,255,.62);border-right:1px solid rgba(130,150,180,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.page-sidebar-header{color:var(--portal-text);border-bottom-color:var(--portal-line)}.page-sidebar-nav a,.page-sidebar-nav .router-link{border-radius:var(--portal-radius-sm);color:var(--portal-text-muted)}.page-sidebar-nav a:hover,.page-sidebar-nav .router-link:hover,.page-sidebar-nav a.active,.page-sidebar-nav .router-link.router-link-active{background-color:var(--portal-blue-soft);color:var(--portal-blue)}.main-content--dashboard,.main-content--materials,.admin-shell-page-offset{background:transparent;padding:42px 48px 60px}.page-header-dash h1,.section-title{color:var(--portal-text)}.page-header-bar{margin-bottom:28px}.stat-card,.dashboard-card,.courses-table-container,.portal-table-hscroll-wrap,.users-table-hscroll-wrap,.portal-table-container,.users-table-container,.columns-settings-panel,.admin-content-card{background:var(--portal-card-bg);border:1px solid var(--portal-card-border);border-radius:var(--portal-radius-lg);box-shadow:var(--portal-shadow-soft);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.stat-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px #2444761a;border-color:#1677ff38}.dashboard-card{border-radius:var(--portal-radius-lg)}.stat-info h3{color:var(--portal-text-muted)}.stat-number,.card-title{color:var(--portal-text)}.stat-icon{color:var(--portal-blue);opacity:.75}.courses-table th,.users-table th{background-color:var(--portal-bg-soft, #eef4fb);color:#415067;border-bottom-color:var(--portal-line);font-weight:600}.portal-table-sticky-head th,.users-table-sticky-head th,.portal-table-sticky-head th:before,.users-table-sticky-head th:before,.portal-table-hscroll-row .portal-table-hscroll-cell,.users-table-hscroll-row .users-table-hscroll-cell{background-color:#fff!important}.courses-table td,.users-table td{border-bottom-color:var(--portal-line);color:var(--portal-text)}.courses-table-title-link:hover{color:var(--portal-blue)}.users-col-resizer:hover,.users-col-resizer--active,.users-table--resizing .users-col-resizer{background:linear-gradient(to right,transparent 0 2px,var(--portal-blue) 2px 4px,transparent 4px)}.btn-new,.btn-create{background-color:var(--portal-blue);border-radius:999px;box-shadow:0 8px 20px #1677ff38}.btn-new:hover,.btn-create:hover{background-color:var(--portal-blue-hover)}.btn-icon{border-radius:var(--portal-radius-sm)}.btn-icon:hover{background-color:var(--portal-blue-soft);color:var(--portal-blue)}.btn-outline{border-color:#5a70913d;border-radius:999px;background:rgba(255,255,255,.55)}.btn-outline:hover{background:rgba(255,255,255,.82);border-color:#1677ff38;color:var(--portal-blue)}.admin-shell-root .btn-primary{--bs-btn-color: #fff;--bs-btn-hover-color: #fff;--bs-btn-active-color: #fff;background-color:var(--portal-blue);border-color:var(--portal-blue);color:#fff}.admin-shell-root .btn-primary:hover,.admin-shell-root .btn-primary:focus,.admin-shell-root .btn-primary:active{--bs-btn-hover-color: #fff;--bs-btn-active-color: #fff;background-color:var(--portal-blue-hover);border-color:var(--portal-blue-hover);color:#fff}.admin-shell-root .btn-primary:hover *,.admin-shell-root .btn-primary:focus *{color:inherit}.btn-new,.btn-create{color:#fff}.btn-new:hover,.btn-new:focus,.btn-create:hover,.btn-create:focus{color:#fff}.btn-new:hover *,.btn-create:hover *{color:inherit}.admin-shell-root .btn-outline-primary{color:var(--portal-blue);border-color:#1677ffbf}.admin-shell-root .btn-outline-primary:hover,.admin-shell-root .btn-outline-primary:focus,.admin-shell-root .btn-outline-primary:active{--bs-btn-hover-color: #fff;background-color:var(--portal-blue);border-color:var(--portal-blue);color:#fff}.admin-shell-root .materials-view-toggle .btn.active,.admin-shell-root .materials-view-toggle .btn.active:hover{color:#fff}.tabs{border-bottom-color:var(--portal-line)}.tab.active{color:var(--portal-blue);border-bottom-color:var(--portal-blue)}.tab-badge,.role-badge{border-radius:999px}.role-badge--instructor{background-color:var(--portal-blue-soft);color:#0b4db8}.link-all-materials a{color:var(--portal-blue)}.empty-state{color:var(--portal-text-muted)}.admin-shell-root .form-control,.admin-shell-root .form-select{border-color:#8799b447;border-radius:var(--portal-radius-sm);background:rgba(255,255,255,.72)}.admin-shell-root .form-control:focus,.admin-shell-root .form-select:focus{border-color:#1677ff73;box-shadow:0 0 0 .2rem #1677ff1f}.admin-shell-root .text-primary{color:var(--portal-blue)!important}.admin-shell-root .border-primary{border-color:var(--portal-blue)!important}.admin-shell-root .bg-primary{background-color:var(--portal-blue)!important}.admin-shell-root .alert-primary{background-color:var(--portal-blue-soft);border-color:#1677ff38;color:#0b4db8}.admin-shell-root .course-header-card{position:relative;background:var(--portal-card-bg);border:1px solid var(--portal-card-border);border-radius:28px;box-shadow:var(--portal-shadow-soft);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden}.admin-shell-root .course-header-card:before{content:"";position:absolute;width:360px;height:360px;right:-120px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(22,119,255,.12),transparent 64%);pointer-events:none}.admin-shell-root .course-header-pill{border-color:#5a70913d;background:rgba(255,255,255,.55)}.admin-shell-root .course-header-pill--edit:hover{border-color:var(--portal-blue);color:var(--portal-blue);background:var(--portal-blue-soft)}.admin-shell-root .course-header-pill--published{background:var(--portal-blue-soft);border-color:#1677ff38;color:#0b4db8}.admin-shell-root .course-description-edit-btn,.admin-shell-root .course-meta i{color:var(--portal-blue)}.admin-shell-root .course-total-progress-track{background:#e5edf8}.admin-shell-root .course-total-progress-fill,.admin-shell-root .lesson-card-progress-fill{background:linear-gradient(90deg,var(--portal-blue),#69a9ff)}.admin-shell-root .lessons-view-switch{padding:6px;border-radius:var(--portal-radius-md);background:rgba(255,255,255,.72);border-color:#8799b433;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.admin-shell-root .lessons-view-btn{border-radius:var(--portal-radius-sm)}.admin-shell-root .lessons-view-btn.active{background:var(--portal-blue);box-shadow:0 8px 20px #1677ff3d}.admin-shell-root .lesson-card{position:relative;background:var(--portal-card-bg);border:1px solid var(--portal-card-border);border-radius:var(--portal-radius-lg);box-shadow:0 14px 34px #24447611;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden}.admin-shell-root .lesson-card:after{content:"";position:absolute;width:180px;height:180px;right:-95px;bottom:-100px;border-radius:50%;background:radial-gradient(circle,rgba(22,119,255,.09),transparent 66%);pointer-events:none}.admin-shell-root .lesson-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px #2444761a;border-color:#1677ff38}.admin-shell-root .lesson-card-icon{background:linear-gradient(135deg,rgba(22,119,255,.13),rgba(91,164,255,.2));color:var(--portal-blue)}.admin-shell-root .lesson-card-number{color:var(--portal-blue);background:var(--portal-blue-soft)}.admin-shell-root .btn-open-lesson{border-color:#1677ffbf;color:var(--portal-blue);background:rgba(255,255,255,.56)}.admin-shell-root .lesson-card:hover .btn-open-lesson,.admin-shell-root .btn-open-lesson--edit{background:var(--portal-blue);border-color:var(--portal-blue);color:#fff}.admin-shell-root .btn-favorite-course:hover:not(:disabled){border-color:var(--portal-blue);color:var(--portal-blue)}.admin-shell-root .materials-view-toggle{padding:6px;border-radius:var(--portal-radius-md);background:rgba(255,255,255,.72);border:1px solid rgba(135,153,180,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.admin-shell-root .materials-view-toggle .btn{border-radius:var(--portal-radius-sm);border:none}.admin-shell-root .materials-view-toggle .btn.active{background:var(--portal-blue);border-color:var(--portal-blue);box-shadow:0 8px 20px #1677ff3d}@media (max-width: 1280px){.main-content--dashboard,.main-content--materials,.admin-shell-page-offset{padding:36px 32px 52px}}@media (max-width: 768px){.main-content--dashboard,.main-content--materials,.admin-shell-page-offset{padding:24px 18px 40px}}html[data-portal-theme=dark] :root{--portal-bg-main: #0f1419;--portal-bg-soft: #151b24;--portal-card-bg: rgba(24, 32, 44, .88);--portal-card-border: rgba(100, 120, 150, .22);--portal-text: #e8edf5;--portal-text-muted: #8b97a8;--portal-line: rgba(100, 120, 150, .22);--portal-shadow-soft: 0 18px 45px rgba(0, 0, 0, .35);--portal-blue-soft: rgba(22, 119, 255, .16)}html[data-portal-theme=dark] .admin-shell-root{background:radial-gradient(circle at 15% 12%,rgba(22,119,255,.08),transparent 26%),radial-gradient(circle at 82% 8%,rgba(91,164,255,.1),transparent 28%),radial-gradient(circle at 76% 82%,rgba(22,119,255,.06),transparent 30%),linear-gradient(180deg,#0f1419 0%,#121820 100%)}html[data-portal-theme=dark] .admin-shell-root:before{background-image:linear-gradient(rgba(38,103,180,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(38,103,180,.06) 1px,transparent 1px);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.15));mask-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.15))}html[data-portal-theme=dark] .admin-shell-root:after{opacity:.65}html[data-portal-theme=dark] .main-sidebar{background:rgba(24,32,44,.72);border-right-color:#6478962e}html[data-portal-theme=dark] .main-sidebar-head{border-bottom-color:#6478962e}html[data-portal-theme=dark] .main-sidebar .nav-item a:hover,html[data-portal-theme=dark] .main-sidebar .nav-item .router-link:hover,html[data-portal-theme=dark] .main-sidebar .nav-item.active a,html[data-portal-theme=dark] .main-sidebar .nav-item.active .router-link,html[data-portal-theme=dark] .main-sidebar .nav-item .router-link.router-link-active{color:#69a9ff;background-color:var(--portal-blue-soft)}html[data-portal-theme=dark] .nav-group.open>.nav-group-head .nav-group-link{color:var(--portal-text-muted);background-color:transparent}html[data-portal-theme=dark] .nav-group.active>.nav-group-head .nav-group-link,html[data-portal-theme=dark] .main-sidebar .nav-item.active a,html[data-portal-theme=dark] .main-sidebar .nav-item.active .router-link,html[data-portal-theme=dark] .main-sidebar .nav-item .router-link.router-link-active,html[data-portal-theme=dark] .nav-group-link:hover,html[data-portal-theme=dark] .nav-group-toggle:hover,html[data-portal-theme=dark] .nav-group.open .nav-group-toggle,html[data-portal-theme=dark] .nav-subitem:hover,html[data-portal-theme=dark] .nav-subitem.active{color:#69a9ff}html[data-portal-theme=dark] .nav-submenu{background:rgba(20,28,40,.55);border-left-color:#64789647}html[data-portal-theme=dark] .nav-subitem:hover,html[data-portal-theme=dark] .nav-subitem.active{background-color:#ffffff0f;border-color:#1677ff47;color:#69a9ff}html[data-portal-theme=dark] .nav-submenu-flyout{background:var(--portal-card-bg);border-color:var(--portal-card-border)}html[data-portal-theme=dark] .page-sidebar{background:rgba(24,32,44,.72);border-right-color:#6478962e}html[data-portal-theme=dark] .page-sidebar-nav a:hover,html[data-portal-theme=dark] .page-sidebar-nav .router-link:hover,html[data-portal-theme=dark] .page-sidebar-nav a.active,html[data-portal-theme=dark] .page-sidebar-nav .router-link.router-link-active{background-color:var(--portal-blue-soft);color:#69a9ff}html[data-portal-theme=dark] .courses-table th,html[data-portal-theme=dark] .users-table th{background-color:#2a3344;color:var(--portal-text);border-bottom-color:var(--portal-line)}html[data-portal-theme=dark] .portal-table-sticky-head th,html[data-portal-theme=dark] .users-table-sticky-head th,html[data-portal-theme=dark] .portal-table-hscroll-row .portal-table-hscroll-cell,html[data-portal-theme=dark] .users-table-hscroll-row .users-table-hscroll-cell,html[data-portal-theme=dark] .portal-table-hscroll-row .portal-table-hscroll-cell,html[data-portal-theme=dark] .users-table-hscroll-row .users-table-hscroll-cell{background-color:#1e2430!important}html[data-portal-theme=dark] .courses-table td,html[data-portal-theme=dark] .users-table td{color:var(--portal-text);border-bottom-color:var(--portal-line)}html[data-portal-theme=dark] .courses-table-title-link{color:var(--portal-text)}html[data-portal-theme=dark] .courses-table-title-link:hover{color:#69a9ff}html[data-portal-theme=dark] .tab.active{color:#69a9ff;border-bottom-color:#69a9ff}html[data-portal-theme=dark] .btn-icon:hover{background-color:var(--portal-blue-soft);color:#69a9ff}html[data-portal-theme=dark] .btn-outline{border-color:#64789647;background:rgba(255,255,255,.04);color:var(--portal-text)}html[data-portal-theme=dark] .btn-outline:hover{background:rgba(255,255,255,.08);color:#69a9ff}html[data-portal-theme=dark] .admin-shell-root .form-control,html[data-portal-theme=dark] .admin-shell-root .form-select{background:rgba(20,28,40,.72);border-color:#64789647;color:var(--portal-text)}html[data-portal-theme=dark] .admin-shell-root .lessons-view-switch,html[data-portal-theme=dark] .admin-shell-root .materials-view-toggle{background:rgba(24,32,44,.72);border-color:#64789638}html[data-portal-theme=dark] .stat-card,html[data-portal-theme=dark] .dashboard-card,html[data-portal-theme=dark] .courses-table-container,html[data-portal-theme=dark] .portal-table-hscroll-wrap,html[data-portal-theme=dark] .users-table-hscroll-wrap,html[data-portal-theme=dark] .portal-table-container,html[data-portal-theme=dark] .users-table-container,html[data-portal-theme=dark] .columns-settings-panel,html[data-portal-theme=dark] .admin-content-card,html[data-portal-theme=dark] .admin-shell-root .course-header-card,html[data-portal-theme=dark] .admin-shell-root .lesson-card{background:var(--portal-card-bg);border-color:var(--portal-card-border);box-shadow:var(--portal-shadow-soft)}html[data-portal-theme=dark] .stat-number,html[data-portal-theme=dark] .card-title,html[data-portal-theme=dark] .page-header-dash h1,html[data-portal-theme=dark] .section-title{color:var(--portal-text)}html[data-portal-theme=dark] .stat-info h3{color:var(--portal-text-muted)}html[data-portal-theme=dark] .stat-icon{color:#69a9ff}html[data-portal-theme=dark] .role-badge{background-color:#ffffff14;color:var(--portal-text)}html[data-portal-theme=dark] .role-badge--instructor{background-color:var(--portal-blue-soft);color:#69a9ff}
