:root{--main-sidebar-width: 255px;--portal-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--portal-radius-lg: 22px;--portal-radius-md: 16px;--portal-radius-sm: 10px;--portal-bg-main: #f4f7fb;--portal-bg-soft: #f8f9fa;--portal-card-bg: #ffffff;--portal-card-border: #dbe4f2;--portal-input-bg: #ffffff;--portal-table-head-bg: #ffffff;--portal-line: #e6edf6;--portal-shadow-soft: 0 18px 45px rgba(36, 68, 118, .08);--portal-overlay-bg: rgba(15, 23, 42, .55);--portal-shell-bar-bg: rgba(255, 255, 255, .96);--portal-text: #172033;--portal-text-muted: #64748b;--portal-table-head-text: #415067;--portal-blue: #3b82f6;--portal-blue-hover: #2563eb;--portal-blue-soft: rgba(37, 99, 235, .1);--portal-blue-light: rgba(59, 130, 246, .12);--portal-accent: #2563eb;--portal-accent-text: #2563eb;--portal-sidebar-text: #64748b;--portal-sidebar-active-bg: rgba(37, 99, 235, .1);--portal-sidebar-active-text: #2563eb;--portal-nav-hover-bg: rgba(37, 99, 235, .1);--portal-nav-hover-text: #2563eb;--portal-page-nav-active-bg: var(--portal-sidebar-active-bg);--portal-page-nav-active-text: var(--portal-sidebar-active-text);--portal-subnav-bg: rgba(255, 255, 255, .42);--portal-form-bg: rgba(255, 255, 255, .72);--portal-form-border: rgba(135, 153, 180, .28);--portal-form-focus-border: var(--portal-blue);--portal-form-focus-ring: rgba(59, 130, 246, .15);--portal-form-disabled-bg: rgba(255, 255, 255, .45);--portal-btn-outline-bg: rgba(255, 255, 255, .55);--portal-btn-outline-border: rgba(90, 112, 145, .24);--portal-btn-outline-hover-bg: rgba(255, 255, 255, .82);--portal-btn-outline-hover-text: var(--portal-blue);--portal-theme-option-active-bg: rgba(37, 99, 235, .08);--portal-theme-option-active-border: var(--portal-blue);--portal-theme-option-active-text: var(--portal-text);--portal-theme-option-icon-bg: var(--portal-card-bg);--portal-theme-option-label: var(--portal-text);--portal-card-backdrop: blur(14px);--portal-btn-close-filter: none;--portal-modal-backdrop-opacity: .5;--portal-dropdown-hover-bg: #f8f9fa;--portal-dropdown-shadow: 0 8px 24px rgba(15, 23, 42, .12);--portal-pagination-bg: #ffffff;--portal-pagination-disabled-bg: #f8f9fa;--bs-primary: var(--portal-blue);--bs-primary-rgb: 59, 130, 246;--bs-body-bg: var(--portal-bg-main);--bs-body-color: var(--portal-text);--bs-border-color: var(--portal-line);--bs-secondary-bg: var(--portal-bg-soft);--bs-tertiary-bg: var(--portal-card-bg);--bs-emphasis-color: var(--portal-text);--bs-secondary-color: var(--portal-text-muted);--bs-link-color: var(--portal-blue);--bs-link-hover-color: var(--portal-blue-hover);--auth-bg-primary: var(--portal-bg-main);--auth-bg-card: var(--portal-card-bg);--auth-border-color: var(--portal-line);--auth-border-light: #cbd5e1;--auth-text-primary: var(--portal-text);--auth-text-secondary: #1e293b;--auth-text-muted: var(--portal-text-muted);--auth-text-dim: #64748b;--auth-accent: var(--portal-blue);--auth-accent-hover: var(--portal-blue-hover);--auth-accent-soft: var(--portal-blue-soft);--auth-input-bg: var(--portal-input-bg);--auth-shadow-sm: var(--portal-shadow-soft);--acc-scaffold: var(--portal-bg-main);--acc-surface: var(--portal-card-bg);--acc-text: var(--portal-text);--acc-text-muted: var(--portal-text-muted);--acc-border: var(--portal-line);--acc-success-bg: rgba(34, 197, 94, .12);--acc-error-bg: rgba(239, 68, 68, .12);--acc-shadow: var(--portal-shadow-soft);--acc-shadow-lg: 0 16px 40px rgba(36, 68, 118, .12);--builder-bg: var(--portal-bg-main);--builder-card-bg: var(--portal-card-bg);--builder-border: var(--portal-line);--builder-text: var(--portal-text);--builder-text-muted: var(--portal-text-muted);--builder-canvas-bg: #eef1f4}html{color-scheme:light}html[data-portal-theme=dark]{color-scheme:dark;--portal-bg-main: #0b0f19;--portal-bg-soft: #111827;--portal-card-bg: #1f2937;--portal-card-border: #374151;--portal-input-bg: #111827;--portal-table-head-bg: #111827;--portal-line: #374151;--portal-shadow-soft: 0 4px 24px rgba(0, 0, 0, .32);--portal-overlay-bg: rgba(11, 15, 25, .78);--portal-shell-bar-bg: rgba(17, 24, 39, .96);--portal-text: #ffffff;--portal-text-muted: #9ca3af;--portal-table-head-text: var(--portal-text);--portal-blue-soft: rgba(37, 99, 235, .18);--portal-accent-text: #60a5fa;--portal-sidebar-text: #9ca3af;--portal-sidebar-active-bg: #2563eb;--portal-sidebar-active-text: #ffffff;--portal-nav-hover-bg: rgba(37, 99, 235, .35);--portal-nav-hover-text: #ffffff;--portal-page-nav-active-bg: var(--portal-accent);--portal-page-nav-active-text: #ffffff;--portal-subnav-bg: var(--portal-input-bg);--portal-form-bg: var(--portal-input-bg);--portal-form-border: var(--portal-line);--portal-form-focus-border: var(--portal-accent);--portal-form-focus-ring: rgba(37, 99, 235, .2);--portal-form-disabled-bg: rgba(17, 24, 39, .55);--portal-btn-outline-bg: var(--portal-input-bg);--portal-btn-outline-border: var(--portal-line);--portal-btn-outline-hover-bg: rgba(37, 99, 235, .2);--portal-btn-outline-hover-text: #ffffff;--portal-theme-option-active-bg: var(--portal-accent);--portal-theme-option-active-border: var(--portal-accent);--portal-theme-option-active-text: #ffffff;--portal-theme-option-icon-bg: transparent;--portal-theme-option-label: var(--portal-text-muted);--portal-card-backdrop: none;--portal-btn-close-filter: invert(1) grayscale(100%) brightness(200%);--portal-modal-backdrop-opacity: .72;--portal-dropdown-hover-bg: rgba(255, 255, 255, .06);--portal-dropdown-shadow: 0 16px 32px rgba(0, 0, 0, .45);--portal-pagination-bg: var(--portal-input-bg);--portal-pagination-disabled-bg: rgba(17, 24, 39, .35);--bs-link-color: #60a5fa;--bs-link-hover-color: #93c5fd;--auth-border-light: #4b5563;--auth-text-secondary: #e5e7eb;--auth-text-dim: #6b7280;--acc-shadow-lg: 0 16px 40px rgba(0, 0, 0, .4);--builder-canvas-bg: var(--portal-input-bg)}html.main-sidebar-expanded{--main-sidebar-width: 255px}: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:var(--portal-bg-main, #f4f7fb);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:var(--portal-bg-soft, #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-sidebar-text, #64748b);--sidebar-nav-color-hover: var(--portal-sidebar-active-text, #2563eb);--sidebar-nav-bg-hover: var(--portal-sidebar-active-bg, rgba(37, 99, 235, .1));--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:var(--portal-blue);text-decoration:none;font-size:.85rem}@media (max-width: 768px){.page-sidebar{display:none!important}.main-content--materials,.main-content--builder{margin-left:0!important;width:100%!important}.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}.admin-shell-root{position:relative;isolation:isolate;overflow:hidden;font-family:var(--portal-font-family);color:var(--portal-text);background:var(--portal-bg-main);transition:background .2s ease,color .2s ease}.admin-shell-root:before,.admin-shell-root:after{display:none}.admin-shell-main{position:relative;z-index:1}.main-sidebar{background:var(--portal-bg-soft, #f8f9fa);border-right:1px solid var(--portal-line);backdrop-filter:none;-webkit-backdrop-filter:none}.main-sidebar-head{border-bottom-color:var(--portal-line)}.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:10px;color:var(--portal-sidebar-text, 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-nav-hover-text);background-color:var(--portal-nav-hover-bg)}.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-sidebar-active-text);background-color:var(--portal-sidebar-active-bg)}.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:var(--portal-line);border-radius:0 var(--portal-radius-sm) var(--portal-radius-sm) 0;background:var(--portal-subnav-bg);box-shadow:none}.nav-subitem:hover{background-color:var(--portal-nav-hover-bg);border-color:transparent}.nav-subitem.active{background-color:var(--portal-sidebar-active-bg);border-color:transparent;color:var(--portal-sidebar-active-text);box-shadow:none}.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:var(--portal-bg-soft);border-right:1px solid var(--portal-line);backdrop-filter:none;-webkit-backdrop-filter:none}.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-page-nav-active-bg);color:var(--portal-page-nav-active-text)}.main-content--dashboard,.main-content--materials,.main-content--builder,.admin-shell-main{background:var(--portal-bg-main);padding:42px 48px 60px}.admin-shell-page-offset{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:var(--portal-card-backdrop);-webkit-backdrop-filter:var(--portal-card-backdrop)}.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-table-head-bg);color:var(--portal-table-head-text);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:var(--portal-table-head-bg, #ffffff)!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-accent-text)}.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:var(--portal-btn-outline-border);border-radius:999px;background:var(--portal-btn-outline-bg);color:var(--portal-text)}.btn-outline:hover{background:var(--portal-btn-outline-hover-bg);border-color:var(--portal-form-focus-border);color:var(--portal-btn-outline-hover-text)}.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-accent-text);border-bottom-color:var(--portal-accent)}.tab-badge,.role-badge{border-radius:999px;background-color:var(--portal-input-bg);color:var(--portal-text)}.role-badge--instructor{background-color:var(--portal-blue-soft);color:var(--portal-accent-text)}.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:var(--portal-form-border);border-radius:var(--portal-radius-sm);background:var(--portal-form-bg);color:var(--portal-text)}.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}}.admin-shell-root .lessons-view-switch,.admin-shell-root .materials-view-toggle{background:var(--portal-input-bg);border-color:var(--portal-line)}.admin-shell-root .lessons-view-switch .btn.active,.admin-shell-root .materials-view-toggle .btn.active{background:var(--portal-accent);border-color:var(--portal-accent);color:#fff}body,#app{background-color:var(--portal-bg-main);color:var(--portal-text)}.form-control,.form-select,.form-check-input{background-color:var(--portal-form-bg);border-color:var(--portal-form-border);color:var(--portal-text)}.form-control:focus,.form-select:focus{background-color:var(--portal-form-bg);border-color:var(--portal-form-focus-border);color:var(--portal-text);box-shadow:0 0 0 .2rem var(--portal-form-focus-ring)}.form-control::placeholder{color:var(--portal-text-muted);opacity:1}.form-control:disabled,.form-select:disabled{background-color:var(--portal-form-disabled-bg);color:var(--portal-text-muted)}.form-label,.col-form-label{color:var(--portal-text-muted)}.input-group-text{background:var(--portal-form-bg);border-color:var(--portal-form-border);color:var(--portal-text-muted)}.form-text{color:var(--portal-text-muted)}.card{background-color:var(--portal-card-bg);border-color:var(--portal-card-border);color:var(--portal-text)}.card-header,.card-footer{background-color:var(--portal-subnav-bg);border-color:var(--portal-line);color:var(--portal-text)}.modal-content{background:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.modal-header,.modal-footer{border-color:var(--portal-line)}.modal-title{color:var(--portal-text)}.modal-body,.modal-body .text-muted{color:var(--portal-text-muted)}.modal-backdrop.show{opacity:var(--portal-modal-backdrop-opacity)}.btn-close{filter:var(--portal-btn-close-filter)}.dropdown-menu{background-color:var(--portal-card-bg);border-color:var(--portal-line);box-shadow:var(--portal-dropdown-shadow)}.dropdown-item{color:var(--portal-text)}.dropdown-item:hover,.dropdown-item:focus{background-color:var(--portal-dropdown-hover-bg);color:var(--portal-accent-text)}.dropdown-divider{border-color:var(--portal-line)}.list-group-item{background:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.list-group-item-action:hover,.list-group-item-action:focus{background:var(--portal-dropdown-hover-bg);color:var(--portal-accent-text)}.nav-tabs{border-bottom-color:var(--portal-line)}.nav-tabs .nav-link{color:var(--portal-text-muted)}.nav-tabs .nav-link:hover{border-color:transparent;color:var(--portal-accent-text)}.nav-tabs .nav-link.active{background:var(--portal-card-bg);border-color:var(--portal-line) var(--portal-line) var(--portal-card-bg);color:var(--portal-accent-text)}.pagination .page-link{background:var(--portal-pagination-bg);border-color:var(--portal-line);color:var(--portal-text)}.pagination .page-item.active .page-link{background:var(--portal-accent);border-color:var(--portal-accent);color:#fff}.pagination .page-item.disabled .page-link{background:var(--portal-pagination-disabled-bg);color:var(--portal-text-muted)}.breadcrumb-item,.breadcrumb-item.active{color:var(--portal-text-muted)}.breadcrumb-item a{color:var(--portal-accent-text)}hr{border-color:var(--portal-line);opacity:1}.btn-outline-secondary,.btn-outline-dark{color:var(--portal-text);border-color:var(--portal-line)}.btn-outline-secondary:hover,.btn-outline-dark:hover{background:var(--portal-dropdown-hover-bg);border-color:var(--portal-line);color:var(--portal-text)}.btn-light,.btn-outline-light{background:var(--portal-btn-outline-bg);border-color:var(--portal-line);color:var(--portal-text)}.btn-link{color:var(--portal-accent-text)}.btn-primary{--bs-btn-bg: var(--portal-blue);--bs-btn-border-color: var(--portal-blue);--bs-btn-hover-bg: var(--portal-blue-hover);--bs-btn-hover-border-color: var(--portal-blue-hover);--bs-btn-active-bg: var(--portal-blue-hover);--bs-btn-active-border-color: var(--portal-blue-hover)}.text-muted{color:var(--portal-text-muted)!important}.text-dark,.text-body{color:var(--portal-text)!important}.bg-white,.bg-light{background-color:var(--portal-card-bg)!important}.border,.border-top,.border-bottom,.border-start,.border-end{border-color:var(--portal-line)!important}.progress{background-color:var(--portal-subnav-bg)}.offcanvas,.popover,.toast{background-color:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.popover-header{background:var(--portal-subnav-bg);border-bottom-color:var(--portal-line);color:var(--portal-text)}.table-striped>tbody>tr:nth-of-type(odd)>*{background-color:var(--portal-subnav-bg);color:var(--portal-text)}.alert-secondary{background:var(--portal-subnav-bg);border-color:var(--portal-line);color:var(--portal-text)}.badge.bg-light,.badge.bg-white,.badge.bg-secondary,.badge.text-dark{background-color:var(--portal-subnav-bg)!important;color:var(--portal-text)!important}.curator-modal,.request-demo-modal{background:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.curator-modal h2{color:var(--portal-text)}.curator-modal-subtitle{color:var(--portal-text-muted)}.curator-modal-close{background:var(--portal-subnav-bg);color:var(--portal-text-muted)}.curator-modal-close:hover{background:var(--portal-dropdown-hover-bg);color:var(--portal-text)}.auth-page,.auth-card{background-color:var(--auth-bg-primary);color:var(--auth-text-primary)}.auth-card-inner{background:var(--auth-bg-card);border-color:var(--auth-border-color)}.materials-page,.lesson-view-page,.mobile-lesson,.account-page,.accreditation-tests-page,.methodical-print-view,.course-view-page,.builder-page,.builder-shell{background-color:var(--portal-bg-main);color:var(--portal-text)}.public-header{background:var(--portal-bg-soft);border-bottom:1px solid var(--portal-line)}.public-header .logo-title{color:var(--portal-text)}.public-header .logo-badge{background:var(--portal-subnav-bg);color:var(--portal-text-muted)}.public-header .search-wrap,.public-header .btn-curator,.public-header .profile-pill{background:var(--portal-input-bg);border-color:var(--portal-line);color:var(--portal-text)}.public-header .search-wrap input{color:var(--portal-text)}.public-header .search-wrap input::placeholder,.public-header .search-wrap i{color:var(--portal-text-muted)}.public-header .btn-curator-icon{background:var(--portal-blue-soft);color:var(--portal-accent-text)}.profile-dropdown{background:var(--portal-card-bg);border-color:var(--portal-line);box-shadow:var(--portal-dropdown-shadow)}.profile-dropdown-head{border-bottom-color:var(--portal-line)}.profile-dropdown-head strong{color:var(--portal-text)}.profile-dropdown-head span{color:var(--portal-text-muted)}.profile-dropdown-item{color:var(--portal-text)}.profile-dropdown-item:hover{background:var(--portal-dropdown-hover-bg);color:var(--portal-accent-text)}.profile-dropdown-item--danger{color:#fca5a5}.profile-dropdown-item--danger:hover{background:rgba(239,68,68,.12);color:#fecaca}.library-empty-state{background:var(--portal-card-bg);border-color:var(--portal-line);box-shadow:var(--portal-shadow-soft)}.library-empty-state__icon{background:var(--portal-blue-soft);color:var(--portal-accent-text)}.library-empty-state__title{color:var(--portal-text)}.library-empty-state__text{color:var(--portal-text-muted)}.course-card{background:var(--portal-card-bg);border-color:var(--portal-card-border);box-shadow:var(--portal-shadow-soft)}.course-card:hover{border-color:var(--portal-accent)}.course-card-title,.course-card-icon{color:var(--portal-text)}.course-card-icon{background:var(--portal-blue-soft);color:var(--portal-accent-text)}.course-card-hours,.course-card-description,.course-card-meta,.course-progress-head{color:var(--portal-text-muted)}.course-favorite-btn{background:var(--portal-input-bg);border-color:var(--portal-line);color:var(--portal-text-muted)}.materials-view-toggle{background:var(--portal-input-bg);border-color:var(--portal-line)}.materials-view-toggle .btn.active{background:var(--portal-accent);border-color:var(--portal-accent);color:#fff}.course-header-card,.lesson-card,.lesson-list-row,.lesson-title-block{background:var(--portal-card-bg);border-color:var(--portal-line);box-shadow:var(--portal-shadow-soft);color:var(--portal-text)}.course-header-pill,.btn-favorite-course{background:var(--portal-input-bg);border-color:var(--portal-line);color:var(--portal-text-muted)}.course-header-pill--published,.lesson-badge,.lesson-list-number{background:var(--portal-blue-soft);border-color:var(--portal-line);color:var(--portal-accent-text)}.course-title,.lesson-card-title,.lesson-list-title,.lesson-title{color:var(--portal-text)}.lesson-list-subtitle,.lesson-subtitle,.lesson-meta,.lesson-navigation,.course-description{color:var(--portal-text-muted)}.lesson-navigation a{color:var(--portal-accent-text)}.lesson-course-sidebar,.lesson-sidebar,.mobile-lesson-header,.mobile-lesson-nav{background:var(--portal-bg-soft);border-color:var(--portal-line);color:var(--portal-text)}.mobile-lesson-panel,.mobile-lesson-content{background:var(--portal-card-bg);border-color:var(--portal-line)}.lesson-list-progress-track{background:var(--portal-subnav-bg)}.quiz-block,.quiz-option,.file-block-card,.pdf-document-card,.description-collapsible,.access-manager-panel,.file-block,.material-item,.assignment-item,.application-item{background:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.quiz-option:hover{border-color:var(--portal-accent);background:var(--portal-blue-soft)}.pdf-reader-overlay,.pdf-reader-toolbar{background:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.acc-card,.acc-modal-content,.acc-result-card,.acc-option,.accreditation-admin,.acc-stats-panel,.acc-test-card{background:var(--acc-surface);border-color:var(--acc-border);color:var(--acc-text)}.acc-muted,.acc-subtitle{color:var(--acc-text-muted)}.builder-sidebar,.builder-panel,.block-editor,.settings-panel{background:var(--builder-card-bg);border-color:var(--builder-border);color:var(--builder-text)}.builder-canvas,.block-preview{background:var(--builder-canvas-bg);border-color:var(--builder-border)}.projects-tree__toggle{background:var(--portal-input-bg);border-color:var(--portal-line);color:var(--portal-text-muted)}.projects-tree__toggle--open{background:var(--portal-blue);border-color:var(--portal-blue);color:#fff}.projects-tree__inner{background:var(--portal-subnav-bg);border-left-color:var(--portal-line)}.projects-tree__link{color:var(--portal-accent-text)}.projects-tree__empty{color:var(--portal-text-muted)}.methodical-editor .editor-panel{background:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.methodical-editor .editor-canvas-wrap{background:var(--builder-canvas-bg)}.methodical-editor .editor-page{background:#fff;color:#111827}.download-app-btn{background:var(--portal-input-bg);border-color:var(--portal-line);color:var(--portal-text)}.demo-access-section,.demo-access-card{background:var(--portal-card-bg);border-color:var(--portal-line);color:var(--portal-text)}.user-row--blocked td{background-color:#ef444414!important}.user-row--blocked td.portal-table-cell--pinned{background-color:#2a3344!important}.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{background-color:var(--portal-table-head-bg)!important}.courses-table tbody tr:hover td,.users-table tbody tr:hover td{background-color:var(--portal-dropdown-hover-bg)}.account-page{min-height:100vh;background:var(--portal-bg-main);color:var(--portal-text)}.account-page--admin-shell{width:100%}.account-shell{max-width:920px;margin:0 auto;padding:28px 20px 48px}.account-page--admin-shell .account-shell{max-width:980px;width:100%;padding:24px 24px 48px}.account-card{background:var(--portal-card-bg);border:1px solid var(--portal-card-border);border-radius:24px;padding:32px;box-shadow:var(--portal-shadow-soft)}.account-card-header h1{margin:0 0 .35rem;color:var(--portal-text);font-size:1.875rem;font-weight:700;line-height:1.2}.account-subtitle{margin:0 0 1.5rem;color:var(--portal-text-muted);font-size:.95rem;line-height:1.5}.account-meta{display:grid;gap:16px}@media (min-width: 768px){.account-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}.meta-label{display:block;margin-bottom:.25rem;font-size:.8125rem;color:var(--portal-text-muted)}.account-meta strong{color:var(--portal-text);font-weight:600;font-size:.9375rem}.account-section{padding-top:28px}.account-section-divider{height:1px;margin:28px 0 0;background:var(--portal-line);border:0}.account-section-title{margin:0 0 1.25rem;color:var(--portal-text);font-size:1.125rem;font-weight:600}.account-section-hint{font-size:.9rem;color:var(--portal-text-muted)!important}.account-card .form-label{margin-bottom:.35rem;font-size:.8125rem;font-weight:500;color:var(--portal-text-muted)}.account-card .form-control,.account-card .form-select{min-height:42px;padding:.5rem .875rem;border:1px solid var(--portal-line);border-radius:10px;background-color:var(--portal-input-bg);color:var(--portal-text)}.account-card .form-control:focus,.account-card .form-select:focus{border-color:var(--portal-form-focus-border);box-shadow:0 0 0 .2rem var(--portal-form-focus-ring);background-color:var(--portal-input-bg);color:var(--portal-text)}.account-card .form-control::placeholder{color:var(--portal-text-muted);opacity:.85}.account-card .btn-primary{margin-top:.25rem;padding:.55rem 1.5rem;font-weight:600}.account-card .btn-outline-primary{color:var(--portal-accent-text);border-color:var(--portal-accent-text)}.account-card .btn-outline-primary:hover{background:var(--portal-nav-hover-bg);color:var(--portal-nav-hover-text)}.portal-theme-picker{display:flex;flex-wrap:wrap;gap:12px}.portal-theme-option{display:flex;align-items:center;gap:10px;min-width:148px;padding:10px 14px;border:1px solid var(--portal-line);border-radius:12px;background:var(--portal-input-bg);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.portal-theme-option--active{border-color:var(--portal-theme-option-active-border);background:var(--portal-theme-option-active-bg);box-shadow:0 0 0 1px var(--portal-theme-option-active-border)}.portal-theme-option__input{position:absolute;opacity:0;pointer-events:none}.portal-theme-option__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--portal-theme-option-icon-bg);color:var(--portal-blue);font-size:1.05rem;flex-shrink:0}.portal-theme-option--active .portal-theme-option__icon{color:var(--portal-theme-option-active-text)}.portal-theme-option__label{font-weight:500;color:var(--portal-theme-option-label)}.portal-theme-option--active .portal-theme-option__label{color:var(--portal-theme-option-active-text)}.medical-specialty-list{background:var(--portal-card-bg);border:1px solid var(--portal-line);color:var(--portal-text)}.medical-specialty-list li:hover{background:var(--portal-nav-hover-bg);color:var(--portal-text)}.portal-mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:var(--portal-overlay-bg);display:flex;align-items:flex-start;justify-content:center;padding:calc(52px + env(safe-area-inset-top,0px)) 16px 16px;overflow:hidden;touch-action:none}.portal-mobile-menu-nav{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(340px,100%);max-height:calc(100dvh - 84px - env(safe-area-inset-top,0px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 16px;border-radius:18px;background:var(--portal-bg-soft);box-shadow:var(--portal-shadow-soft);touch-action:pan-y}.portal-mobile-menu-link,.portal-mobile-menu-group-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;padding:14px 18px;border-radius:14px;background:var(--portal-card-bg);color:var(--portal-text);font-size:.95rem;font-weight:600;line-height:1.2;white-space:nowrap;border:1px solid var(--portal-line);cursor:pointer;font-family:inherit;flex-shrink:0;text-decoration:none}.portal-mobile-menu-link i,.portal-mobile-menu-group-toggle i:first-child{color:var(--portal-accent-text)}.portal-mobile-menu-link:hover,.portal-mobile-menu-link:focus-visible,.portal-mobile-menu-group-toggle:hover,.portal-mobile-menu-group-toggle:focus-visible{background:var(--portal-sidebar-active-bg);color:var(--portal-sidebar-active-text);border-color:var(--portal-sidebar-active-bg)}.portal-mobile-menu-group{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.portal-mobile-menu-group-label{flex:1;text-align:center}.portal-mobile-menu-group-chevron{color:var(--portal-text-muted);font-size:.8rem;transition:transform .18s ease}.portal-mobile-menu-group--open .portal-mobile-menu-group-chevron{transform:rotate(180deg)}.portal-mobile-menu-group-items{display:flex;flex-direction:column;gap:8px;padding-left:8px}.portal-mobile-menu-link--child{font-size:.9rem;font-weight:600;padding:12px 16px}.portal-mobile-shell-bar{display:none}.portal-mobile-shell-bar-spacer{flex:1}.admin-shell-account-fab{position:fixed;top:16px;right:20px;z-index:1050}@media (max-width: 768px){.admin-shell-account-fab{display:none}}.portal-mobile-burger-btn{width:40px;height:40px;border:0;background:transparent;color:var(--portal-blue);font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;cursor:pointer;flex-shrink:0}.portal-mobile-burger-btn:hover{background:var(--portal-blue-soft)}@media (max-width: 768px){.portal-mobile-shell-bar{display:flex;align-items:center;gap:8px;position:fixed;top:0;left:0;right:0;z-index:1100;height:52px;padding:0 12px;background:var(--portal-shell-bar-bg);border-bottom:1px solid var(--portal-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-shell-root .main-sidebar{display:none!important}.admin-shell-root .admin-shell-main,.admin-shell-root .main-content--dashboard,.admin-shell-root .main-content--materials,.admin-shell-root .main-content--builder,.admin-shell-root .admin-shell-page-offset,.admin-shell-root .page-sidebar{margin-left:0!important;width:100%!important}.admin-shell-root .admin-shell-main{padding-top:52px}.materials-page:not(.materials-page--admin-shell) :deep(.page-sidebar){display:none!important}.materials-page:not(.materials-page--admin-shell) .main-content--materials{margin-left:0!important;width:100%!important}.account-page:not(.account-page--admin-shell) .account-shell{padding-top:0}}html[data-portal-theme=dark]{color-scheme:dark}html[data-portal-theme=dark] body,html[data-portal-theme=dark] #app,html[data-portal-theme=dark] .admin-shell-root,html[data-portal-theme=dark] .main-content--dashboard,html[data-portal-theme=dark] .main-content--materials,html[data-portal-theme=dark] .main-content--builder,html[data-portal-theme=dark] .builder-content-shell{background:var(--portal-bg-main)!important;color:var(--portal-text)}html[data-portal-theme=dark] .main-sidebar,html[data-portal-theme=dark] .admin-sidebar{background:var(--portal-bg-soft)!important;border-color:var(--portal-line)!important}html[data-portal-theme=dark] .section-title,html[data-portal-theme=dark] .materials-toolbar-title,html[data-portal-theme=dark] .page-title{color:var(--portal-text)!important}html[data-portal-theme=dark] .text-muted,html[data-portal-theme=dark] .form-text{color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .table,html[data-portal-theme=dark] .table td,html[data-portal-theme=dark] .table th{color:var(--portal-text);border-color:var(--portal-line)!important}html[data-portal-theme=dark] .table-light,html[data-portal-theme=dark] .table>thead,html[data-portal-theme=dark] .table thead th{background:var(--portal-table-head-bg)!important;color:var(--portal-table-head-text)!important}html[data-portal-theme=dark] .table-hover tbody tr:hover>*{background:var(--portal-nav-hover-bg)!important;color:var(--portal-text)}html[data-portal-theme=dark] .dropdown-menu{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)}html[data-portal-theme=dark] .dropdown-item{color:var(--portal-text)}html[data-portal-theme=dark] .dropdown-item:hover,html[data-portal-theme=dark] .dropdown-item:focus{background:var(--portal-dropdown-hover-bg)!important;color:var(--portal-accent-text)}html[data-portal-theme=dark] .list-group-item{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)}html[data-portal-theme=dark] .breadcrumb-item,html[data-portal-theme=dark] .breadcrumb-item a{color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .breadcrumb-item.active{color:var(--portal-text)!important}html[data-portal-theme=dark] .course-header-pill,html[data-portal-theme=dark] .btn-favorite-course,html[data-portal-theme=dark] .course-lesson-row,html[data-portal-theme=dark] .lesson-list-row,html[data-portal-theme=dark] .lesson-card,html[data-portal-theme=dark] .course-section-card{background:var(--portal-input-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)!important}html[data-portal-theme=dark] .course-title,html[data-portal-theme=dark] .course-section-title,html[data-portal-theme=dark] .lesson-list-title{color:var(--portal-text)!important}html[data-portal-theme=dark] .course-description,html[data-portal-theme=dark] .course-meta,html[data-portal-theme=dark] .lesson-list-subtitle,html[data-portal-theme=dark] .course-breadcrumb{color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .course-progress-track,html[data-portal-theme=dark] .lesson-list-progress-track{background:var(--portal-subnav-bg)!important}html[data-portal-theme=dark] .course-progress-fill,html[data-portal-theme=dark] .lesson-list-progress-fill{background:var(--portal-accent)!important}html[data-portal-theme=dark] .course-card-description,html[data-portal-theme=dark] .course-card-meta,html[data-portal-theme=dark] .course-card-hours,html[data-portal-theme=dark] .course-progress-head,html[data-portal-theme=dark] .course-progress-lessons{color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .course-progress-track{background:var(--portal-subnav-bg)!important}html[data-portal-theme=dark] .course-progress-fill{background:var(--portal-accent)!important}html[data-portal-theme=dark] .btn-open-course{border-color:var(--portal-accent)!important;color:var(--portal-accent-text)!important;background:var(--portal-blue-soft)!important}html[data-portal-theme=dark] .course-card-link:hover .btn-open-course{background:var(--portal-accent)!important;color:#fff!important}html[data-portal-theme=dark] input[type=date],html[data-portal-theme=dark] input[type=time],html[data-portal-theme=dark] input[type=datetime-local]{color-scheme:dark}html[data-portal-theme=dark] .materials-page,html[data-portal-theme=dark] .lesson-view-page,html[data-portal-theme=dark] .accreditation-tests-page,html[data-portal-theme=dark] .methodical-print-view,html[data-portal-theme=dark] .course-view-page,html[data-portal-theme=dark] .mobile-lesson{background:var(--portal-bg-main)!important;color:var(--portal-text)}html[data-portal-theme=dark] .main-content--materials,html[data-portal-theme=dark] .lesson-main,html[data-portal-theme=dark] .accreditation-tests-main{background:transparent;color:var(--portal-text)}html[data-portal-theme=dark] .library-empty-state,html[data-portal-theme=dark] .course-card,html[data-portal-theme=dark] .materials-filters-panel,html[data-portal-theme=dark] .filters-panel{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text);box-shadow:var(--portal-shadow-soft)}html[data-portal-theme=dark] .course-card-title,html[data-portal-theme=dark] .section-title,html[data-portal-theme=dark] .library-empty-state__title{color:var(--portal-text)!important}html[data-portal-theme=dark] .course-card-description,html[data-portal-theme=dark] .course-card-hours,html[data-portal-theme=dark] .course-card-meta,html[data-portal-theme=dark] .library-empty-state__text{color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .course-favorite-btn{background:var(--portal-input-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text-muted)}html[data-portal-theme=dark] .course-card-icon{background:var(--portal-blue-soft)!important;color:var(--portal-accent-text)!important}html[data-portal-theme=dark] .materials-search .form-control{background:var(--portal-input-bg);border-color:var(--portal-line);color:var(--portal-text)}html[data-portal-theme=dark] .projects-table__row>td,html[data-portal-theme=dark] .projects-tree__row>td{background:var(--portal-input-bg)!important;color:var(--portal-text);border-color:var(--portal-line)!important}html[data-portal-theme=dark] .demo-access-card{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important}html[data-portal-theme=dark] .public-header{background:var(--portal-bg-soft)!important;border-bottom-color:var(--portal-line)!important}html[data-portal-theme=dark] .public-header .logo-title{color:var(--portal-text)!important}html[data-portal-theme=dark] .public-header .logo-badge{background:var(--portal-subnav-bg)!important;color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .public-header .search-wrap,html[data-portal-theme=dark] .public-header .btn-curator,html[data-portal-theme=dark] .public-header .profile-pill{background:var(--portal-input-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)!important}html[data-portal-theme=dark] .public-header .search-wrap input{color:var(--portal-text)!important}html[data-portal-theme=dark] .public-header .search-wrap input::placeholder,html[data-portal-theme=dark] .public-header .search-wrap i{color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .public-header .btn-curator-icon{background:var(--portal-blue-soft)!important;color:var(--portal-accent-text)!important}html[data-portal-theme=dark] .public-header .profile-dropdown,html[data-portal-theme=dark] .public-header .header-dropdown-menu{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important}html[data-portal-theme=dark] .lesson-title-block,html[data-portal-theme=dark] .lesson-sidebar-card,html[data-portal-theme=dark] .lesson-block-shell,html[data-portal-theme=dark] .course-header-card,html[data-portal-theme=dark] .lesson-list-row,html[data-portal-theme=dark] .lesson-card,html[data-portal-theme=dark] .mobile-lesson-header,html[data-portal-theme=dark] .mobile-lesson-content,html[data-portal-theme=dark] .mobile-lesson-nav,html[data-portal-theme=dark] .mobile-lesson-panel{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)}html[data-portal-theme=dark] .lesson-title,html[data-portal-theme=dark] .course-title,html[data-portal-theme=dark] .lesson-list-title{color:var(--portal-text)!important}html[data-portal-theme=dark] .lesson-badge,html[data-portal-theme=dark] .lesson-list-number,html[data-portal-theme=dark] .course-header-pill--published{background:var(--portal-blue-soft)!important;border-color:#2563eb59!important;color:var(--portal-accent-text)!important}html[data-portal-theme=dark] .course-header-pill,html[data-portal-theme=dark] .btn-favorite-course,html[data-portal-theme=dark] .course-header-pill--draft{background:var(--portal-input-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .lesson-course-sidebar,html[data-portal-theme=dark] .course-sidebar,html[data-portal-theme=dark] .lesson-sidebar-item,html[data-portal-theme=dark] .lesson-sidebar-item--active{background:var(--portal-bg-soft)!important;border-color:var(--portal-line)!important;color:var(--portal-text)}html[data-portal-theme=dark] .lesson-sidebar-item--active,html[data-portal-theme=dark] .lesson-sidebar-item:hover{background:var(--portal-sidebar-active-bg)!important;color:var(--portal-sidebar-active-text)!important}html[data-portal-theme=dark] .lesson-list-progress-track{background:var(--portal-subnav-bg)!important}html[data-portal-theme=dark] .course-card-description,html[data-portal-theme=dark] .lesson-list-subtitle,html[data-portal-theme=dark] .lesson-navigation{color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .file-block,html[data-portal-theme=dark] .file-block-card,html[data-portal-theme=dark] .quiz-block,html[data-portal-theme=dark] .quiz-option,html[data-portal-theme=dark] .pdf-document-card,html[data-portal-theme=dark] .description-collapsible,html[data-portal-theme=dark] .access-manager-panel,html[data-portal-theme=dark] .text-block-content{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)!important}html[data-portal-theme=dark] .quiz-option:hover{background:var(--portal-blue-soft)!important;border-color:var(--portal-accent)!important}html[data-portal-theme=dark] .pdf-reader-overlay,html[data-portal-theme=dark] .pdf-reader-toolbar,html[data-portal-theme=dark] .pdf-reader-sidebar{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)}html[data-portal-theme=dark] .builder-page,html[data-portal-theme=dark] .builder-layout,html[data-portal-theme=dark] .builder-sidebar,html[data-portal-theme=dark] .builder-panel,html[data-portal-theme=dark] .block-editor,html[data-portal-theme=dark] .settings-panel,html[data-portal-theme=dark] .builder-block-tree,html[data-portal-theme=dark] .builder-canvas-wrap{background:var(--builder-card-bg)!important;border-color:var(--builder-border)!important;color:var(--builder-text)}html[data-portal-theme=dark] .builder-canvas,html[data-portal-theme=dark] .block-preview,html[data-portal-theme=dark] .builder-canvas-area{background:var(--builder-canvas-bg)!important}html[data-portal-theme=dark] .block-tree-item,html[data-portal-theme=dark] .builder-lesson-link{color:var(--builder-text)}html[data-portal-theme=dark] .block-tree-item--active,html[data-portal-theme=dark] .builder-lesson-link--active{background:var(--portal-sidebar-active-bg)!important;color:var(--portal-sidebar-active-text)!important}html[data-portal-theme=dark] .acc-flow,html[data-portal-theme=dark] .accreditation-admin,html[data-portal-theme=dark] .acc-admin-panel,html[data-portal-theme=dark] .acc-test-card,html[data-portal-theme=dark] .acc-modal,html[data-portal-theme=dark] .acc-option,html[data-portal-theme=dark] .acc-result-card{background:var(--acc-surface)!important;border-color:var(--acc-border)!important;color:var(--acc-text)}html[data-portal-theme=dark] .acc-admin-content,html[data-portal-theme=dark] .acc-admin-sidebar,html[data-portal-theme=dark] .acc-stats-card{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)}html[data-portal-theme=dark] .nav-submenu-flyout{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important}html[data-portal-theme=dark] .page-sidebar{background:var(--portal-bg-soft)!important;border-right-color:var(--portal-line)!important}html[data-portal-theme=dark] .page-sidebar-header{color:var(--portal-text)!important;border-bottom-color:var(--portal-line)!important}html[data-portal-theme=dark] .users-table-container,html[data-portal-theme=dark] .users-table-hscroll-wrap,html[data-portal-theme=dark] .courses-table-wrap,html[data-portal-theme=dark] .admin-panel,html[data-portal-theme=dark] .admin-layout-card,html[data-portal-theme=dark] .layout-card{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important}html[data-portal-theme=dark] .users-table td,html[data-portal-theme=dark] .users-table th,html[data-portal-theme=dark] .courses-table td,html[data-portal-theme=dark] .courses-table th{color:var(--portal-text);border-color:var(--portal-line)!important}html[data-portal-theme=dark] .users-table th,html[data-portal-theme=dark] .courses-table th{background:var(--portal-table-head-bg)!important}html[data-portal-theme=dark] .user-row--blocked td{background:rgba(239,68,68,.1)!important}html[data-portal-theme=dark] .role-badge--admin{background:rgba(234,179,8,.15)!important;color:#fde68a!important}html[data-portal-theme=dark] .role-badge--student{background:var(--portal-input-bg)!important;color:var(--portal-text-muted)!important}html[data-portal-theme=dark] .status-wrap,html[data-portal-theme=dark] .btn-icon{color:var(--portal-text-muted)}html[data-portal-theme=dark] .btn-icon:hover{background:var(--portal-nav-hover-bg)!important;color:var(--portal-accent-text)!important}html[data-portal-theme=dark] .main-sidebar-collapse-btn:hover{background:var(--portal-nav-hover-bg)!important;color:var(--portal-nav-hover-text)!important}html[data-portal-theme=dark] .nav-submenu{background:var(--portal-input-bg)!important;border-left-color:var(--portal-line)!important}html[data-portal-theme=dark] .download-app-btn,html[data-portal-theme=dark] .curator-modal,html[data-portal-theme=dark] .request-demo-modal,html[data-portal-theme=dark] .methodical-editor .editor-panel,html[data-portal-theme=dark] .methodical-editor .editor-sidebar{background:var(--portal-card-bg)!important;border-color:var(--portal-line)!important;color:var(--portal-text)}html[data-portal-theme=dark] .methodical-editor .editor-canvas-wrap{background:var(--builder-canvas-bg)!important}html[data-portal-theme=dark] .alert-warning{background:rgba(234,179,8,.12)!important;border-color:#eab30847!important;color:#fde68a!important}html[data-portal-theme=dark] .alert-danger{background:rgba(239,68,68,.12)!important;color:#fecaca!important}html[data-portal-theme=dark] .alert-success{background:rgba(34,197,94,.12)!important;color:#bbf7d0!important}html[data-portal-theme=dark] .alert-info{background:rgba(37,99,235,.12)!important;color:#93c5fd!important}html[data-portal-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}html[data-portal-theme=dark] ::-webkit-scrollbar-track{background:var(--portal-bg-main)}html[data-portal-theme=dark] ::-webkit-scrollbar-thumb{background:#374151;border-radius:999px}html[data-portal-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#4b5563}html[data-portal-theme=dark] .users-table-hscroll-top{scrollbar-color:#4b5563 transparent}.portal-account-btn[data-v-dcaa3296]{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--portal-line);background:var(--portal-input-bg);color:var(--portal-text-muted);text-decoration:none;flex-shrink:0;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.portal-account-btn[data-v-dcaa3296]:hover{border-color:var(--portal-accent);background:var(--portal-blue-soft);color:var(--portal-accent-text);box-shadow:0 4px 14px #2563eb26}.portal-account-btn--active[data-v-dcaa3296]{border-color:var(--portal-accent);background:var(--portal-accent);color:#fff}.portal-account-btn--active[data-v-dcaa3296]:hover{background:var(--portal-blue-hover);border-color:var(--portal-blue-hover);color:#fff}.portal-account-btn i[data-v-dcaa3296]{font-size:.95rem}.portal-account-btn--fixed[data-v-dcaa3296]{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:16px;z-index:1101;box-shadow:var(--portal-shadow-soft)}
