:root{--primary-color: #094e23;--primary-dark: #063519;--primary-light: #0d6b31;--primary-lighter: #11853d;--secondary-color: #ffa202;--secondary-dark: #f57c00;--accent-green: #4caf50;--accent-red: #ff5722;--accent-blue: #2196F3;--accent-purple: #9C27B0;--accent-red-alt: #f44336;--bg-main: #f5f5f5;--bg-sidebar: #094e23;--bg-sidebar-header: #094e23;--bg-search: #226039;--bg-submenu: #063519;--bg-card-white: #ffffff;--bg-gray-light: #f8f8f8;--bg-gray: #f0f0f0;--text-white: #ffffff;--text-white-70: rgba(255, 255, 255, .7);--text-white-80: rgba(255, 255, 255, .8);--text-white-90: rgba(255, 255, 255, .9);--text-gray: #888888;--text-light-gray: #aaaaaa;--text-dark: #333;--text-medium: #666;--text-muted: #999;--active-bg: #226039;--active-dark: #134129;--hover-bg: rgba(255, 255, 255, .08);--hover-light: #f5f5f5;--border-light: #e0e0e0;--border-medium: #ddd;--border-dark: #ccc;--overlay-white-5: rgba(255, 255, 255, .05);--overlay-white-10: rgba(255, 255, 255, .1);--overlay-white-15: rgba(255, 255, 255, .15);--overlay-black-10: rgba(0, 0, 0, .1);--overlay-black-15: rgba(0, 0, 0, .15);--header-height: 8vh;--sidebar-width: 15vw;--sidebar-width-tablet: 25vw;--sidebar-width-mobile: 60vw;--radius-sm: .3vw;--radius-md: .5vw;--radius-lg: 1vw;--radius-round: 50%;--transition-fast: .75s;--transition-medium: .75s;--shadow-sm: 0 .2vh 1vh rgba(0, 0, 0, .1);--shadow-md: 0 .4vh 1.6vh rgba(0, 0, 0, .1);--shadow-lg: 0 1vh 4vh rgba(0, 0, 0, .15);--z-sidebar: 1000;--z-header: 999}*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}body{background-color:var(--bg-main);overflow-x:hidden}.main-header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:var(--primary-color);color:var(--text-white);display:flex;justify-content:space-between;align-items:center;padding:0 1.2vw;z-index:var(--z-header);box-shadow:var(--shadow-sm);transition:left var(--transition-fast)}.header-left{display:flex;align-items:center;gap:1.2vw}.header-maximize-icon{font-size:1.1vw;opacity:.9;cursor:pointer}.menu-toggle{display:block;background:none;border:none;color:var(--text-white);font-size:1.3vw;cursor:pointer;padding:.6vh .8vw;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.menu-toggle:hover{background:var(--overlay-white-10)}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--text-white);font-size:1.2vw;cursor:pointer;padding:.8vh .6vw;border-radius:var(--radius-sm);transition:background var(--transition-fast);margin-left:.3vw;margin-right:0}.mobile-menu-toggle:hover{background:var(--overlay-white-10)}.mobile-menu-toggle i{font-size:1.2vw}.header-logo-section{display:flex;align-items:center;gap:1.2vw}.header-logo-section i{font-size:1.6vw;opacity:1}.header-title h1{font-size:1.1vw;font-weight:600;margin:0;line-height:1.3;letter-spacing:.3px}.header-title p{font-size:.95vw;opacity:.9;margin:0;margin-top:.3vh;font-weight:400}.header-right{display:flex;gap:1.2vw;margin-left:auto;align-items:center}.header-icon{position:relative;background:none;border:none;color:var(--text-white);font-size:1.15vw;cursor:pointer;padding:.5vh .5vw;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;gap:.3vw}.dropdown-arrow{font-size:.65vw;opacity:.8}.badge{position:absolute;top:.2vh;right:.2vw;background:var(--secondary-color);color:var(--text-white);width:.8vw;height:.8vw;border-radius:50%;border:.15vh solid var(--primary-color)}.dropdown-wrapper{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 1.5vh);right:0;background:var(--bg-card-white);border-radius:var(--radius-md);box-shadow:0 .5vh 2vh #00000026;opacity:0;visibility:hidden;transform:translateY(-1vh);transition:all var(--transition-fast);z-index:1000;min-width:18vw}.dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu:before{content:"";position:absolute;top:-.8vh;right:1.5vw;width:0;height:0;border-left:.8vw solid transparent;border-right:.8vw solid transparent;border-bottom:.8vh solid var(--bg-card-white)}.dropdown-header{padding:1.5vh 1.5vw;border-bottom:1px solid var(--border-light)}.dropdown-header h3{margin:0;font-size:1.1vw;font-weight:600;color:var(--text-dark)}.dropdown-content{padding:1.5vh 1.5vw}.no-notification{color:var(--text-muted);font-size:.95vw;margin:0;text-align:center;padding:2vh 0}.dropdown-profile{padding:2vh 1.5vw;background:var(--primary-color);border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;justify-content:space-between;align-items:center}.profile-avatar{width:3vw;height:3vw;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:var(--text-white)}.profile-avatar i{font-size:1.8vw}.logout-btn{background:none;border:none;color:var(--text-white);font-size:1.5vw;cursor:pointer;padding:.5vh .5vw;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.logout-btn:hover{opacity:.8}.logout-icon{width:1.5vw;height:1.5vw;filter:brightness(0) invert(1)}.dropdown-item{display:flex;align-items:center;gap:.8vw;padding:1.2vh 1vw;color:var(--text-dark);text-decoration:none;border-radius:var(--radius-md);transition:background var(--transition-fast)}.dropdown-item:hover{background:var(--hover-light)}.dropdown-item i{font-size:1.2vw;color:var(--text-medium)}.dropdown-item span{font-size:.95vw;font-weight:500}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-sidebar);padding:0;overflow-y:hidden;overflow-x:hidden;transition:width var(--transition-fast);z-index:var(--z-sidebar);display:flex;flex-direction:column;box-shadow:.3vw 0 1.2vw #094e2399}.sidebar.collapsed{width:5vw}.sidebar.collapsed:hover{width:var(--sidebar-width)}.sidebar.collapsed .sidebar-header{flex-direction:column;padding:1.2vh 0}.sidebar.collapsed .toggle-sidebar{margin-top:1.5vh}.sidebar.collapsed:hover .sidebar-header{flex-direction:row;padding:1.2vh .8vw}.sidebar.collapsed:hover .toggle-sidebar{margin-top:0}.sidebar.collapsed .logo-section{justify-content:center}.sidebar.collapsed .sidebar-logo{max-width:40px}.sidebar.collapsed:hover .logo-section{justify-content:flex-start}.sidebar.collapsed:hover .sidebar-logo{max-width:80%}.sidebar.collapsed .nav-item span,.sidebar.collapsed .nav-item .arrow,.sidebar.collapsed .submenu{opacity:0;visibility:hidden}.sidebar.collapsed:hover .nav-item span,.sidebar.collapsed:hover .nav-item .arrow,.sidebar.collapsed:hover .submenu.active{opacity:1;visibility:visible}.sidebar.collapsed .search-box input{text-indent:-999px}.sidebar.collapsed .search-box:after{content:"Sec";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-gray);font-size:.9vw;padding:.8vh .6vw;font-weight:500}.sidebar.collapsed:hover .search-box:after{display:none}.sidebar.collapsed:hover .search-box input{text-indent:0}.sidebar.collapsed .nav-item,.sidebar.collapsed .submenu-item{white-space:nowrap;overflow:visible;display:flex;align-items:center;justify-content:left}.sidebar.collapsed:hover .nav-item{padding-left:1vw}.sidebar.collapsed:hover .submenu-item{padding-left:3.5vw}.sidebar-header{background:var(--bg-sidebar-header);padding:1.2vh .8vw;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast)}.logo-section{display:flex;align-items:center;flex:1;justify-content:flex-start;transition:all var(--transition-fast)}.sidebar-logo{width:auto;height:auto;max-height:8vh;max-width:80%;object-fit:contain;flex-shrink:0}.toggle-sidebar{display:block;background:none;border:none;color:var(--text-white);font-size:1.3vw;cursor:pointer;padding:.4vh .4vw;border-radius:var(--radius-sm);flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-text h1,.logo-text h2,.logo-text h3{color:var(--text-white);margin:0;font-weight:600;font-size:.65vw;white-space:nowrap}.close-sidebar{background:none;border:none;color:var(--text-white);font-size:1.5vw;cursor:pointer;padding:.5vh .5vw;border-radius:var(--radius-sm);transition:background var(--transition-fast);flex-shrink:0}.close-sidebar:hover{background:var(--overlay-white-10)}.search-box{position:relative;margin:1.5vh .5vw}.search-box i{position:absolute;left:.8vw;top:50%;transform:translateY(-50%);color:var(--text-gray);font-size:1.1vw}.search-box input{width:100%;padding:1vh 1vw 1vh 1vw;border:1px solid rgba(255,255,255,.118);background:var(--bg-search);color:var(--text-white);font-size:.85vw;outline:none;transition:all var(--transition-fast)}.search-box input:focus{border-color:#fff6;background:var(--bg-search)}.search-box input::placeholder{color:#ffffff80;font-weight:400}.sidebar-nav{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex:1;gap:.5vh;padding-bottom:2vh;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none;width:0;height:0}.nav-group{display:flex;flex-direction:column;position:relative}.nav-item{display:flex;align-items:center;padding:1.2vh 1vw;color:var(--text-white);text-decoration:none;transition:background var(--transition-fast);position:relative;border-left:3px solid transparent}.nav-item:hover{background:var(--hover-bg);border-radius:var(--radius-md)}.nav-item:hover span,.nav-item:hover i:first-child{color:var(--secondary-color)}.nav-item.active{background:var(--active-dark);border-left:3px solid var(--secondary-color);border-radius:0 8px 8px 0}.nav-item.active span,.nav-item.active i:first-child{color:var(--secondary-color)}.nav-group:has(.submenu.active)>.nav-item{background:var(--active-dark);border-left:3px solid var(--secondary-color);position:relative;border-radius:0 8px 8px 0}.nav-group:has(.submenu.active):before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--secondary-color);animation:borderSlideDown var(--transition-fast) ease-out;z-index:1}@keyframes borderSlideDown{0%{height:0}to{height:100%}}.nav-item i:first-child{width:1.6vw;font-size:1.1vw;margin-right:.5vw;display:flex;justify-content:center;align-items:center;flex-shrink:0}.nav-item span{flex:1;font-size:.9vw;white-space:nowrap;transition:opacity var(--transition-fast),color var(--transition-fast);overflow:hidden;text-overflow:ellipsis}.nav-item .arrow{font-size:.75vw;color:var(--text-white);opacity:1;margin-left:auto;transition:transform var(--transition-fast),color var(--transition-fast);transform:rotate(-90deg)}.nav-item .arrow.rotated{transform:rotate(0)}.sidebar.collapsed .nav-item.has-submenu:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:.8vw;font-size:.75vw;color:var(--text-white);opacity:1;visibility:visible;transition:content var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;transform:rotate(0)}.sidebar.collapsed .nav-group:has(.submenu.active)>.nav-item.has-submenu:after{content:"";transform:rotate(0)}.sidebar.collapsed:hover .nav-item.has-submenu:after{opacity:0;visibility:hidden}.sidebar.collapsed .nav-item.has-submenu:hover:after{color:var(--secondary-color)}.submenu{display:flex;flex-direction:column;background:var(--bg-sidebar);overflow:hidden;max-height:0;opacity:0;transition:max-height var(--transition-fast) ease-in-out,opacity var(--transition-fast) ease-in-out;width:100%}.submenu.active{display:flex;max-height:500px;opacity:1}.submenu-item{padding:1.2vh 1vw 1.2vh 3.5vw;color:var(--text-white);text-decoration:none;font-size:.9vw;transition:all var(--transition-fast);border-left:3px solid transparent;position:relative;font-weight:500;white-space:nowrap;display:block;width:100%;overflow:hidden;text-overflow:ellipsis}.submenu-item:before{content:"-";position:absolute;left:2.2vw;top:50%;transform:translateY(-50%);width:1.6vw;display:flex;justify-content:center;align-items:center;color:var(--text-white-70);font-size:1.1vw;line-height:1}.submenu-item:hover{color:var(--secondary-color);background:var(--hover-bg);border-radius:var(--radius-md)}.submenu-item:hover:before{color:var(--secondary-color)}.submenu-item.active{color:var(--secondary-color);border-left-color:var(--secondary-color);background:var(--active-bg);font-weight:500}.submenu-group{position:relative}.submenu-group:after{content:"";display:block;height:1px;background:var(--overlay-white-10);margin:.5vh 1.5vw}.submenu-group:last-child:after{display:none}.submenu-item.has-submenu{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.submenu-item.has-submenu span{flex:1}.submenu-item .arrow{font-size:.7vw;transition:transform .3s ease;margin-left:auto;transform:rotate(-90deg)}.submenu-item.has-submenu.expanded .arrow{transform:rotate(0)}.submenu-group>.submenu{max-height:0;opacity:0;overflow:hidden;transition:max-height var(--transition-fast) ease-in-out,opacity var(--transition-fast) ease-in-out}.submenu-group>.submenu.active{max-height:500px;opacity:1}.submenu .submenu .submenu-item{padding-left:4.5vw}.submenu .submenu .submenu .submenu-item{padding-left:5.5vw}.submenu .submenu .submenu .submenu .submenu-item{padding-left:6.5vw}.submenu .submenu .submenu-item:before{content:"-";left:3.2vw}.submenu .submenu .submenu .submenu-item:before{content:"-";left:4.2vw}.submenu .submenu .submenu .submenu .submenu-item:before{content:"-";left:5.2vw}.submenu-group>.submenu .submenu-item,.submenu-group>.submenu .submenu-group{opacity:0;transform:translate(-8px);transition:opacity .25s ease,transform .25s ease,color .3s,background .3s}.submenu-group>.submenu.active .submenu-item,.submenu-group>.submenu.active .submenu-group{opacity:1;transform:translate(0)}.submenu-group>.submenu.active>*:nth-child(1){transition-delay:.05s}.submenu-group>.submenu.active>*:nth-child(2){transition-delay:.1s}.submenu-group>.submenu.active>*:nth-child(3){transition-delay:.15s}.submenu-group>.submenu.active>*:nth-child(4){transition-delay:.2s}.submenu-group>.submenu.active>*:nth-child(5){transition-delay:.25s}.main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);transition:margin-left var(--transition-fast);min-height:calc(100vh - var(--header-height))}.sidebar.collapsed~.main-content{margin-left:5vw}.sidebar.collapsed~.main-header{left:5vw}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5vw;margin-bottom:4vh}.stat-card{background:var(--bg-card-white);padding:2.5vh 1.5vw;border-radius:var(--radius-lg);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.stat-card.green{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);color:var(--text-white)}.stat-card.orange{background:linear-gradient(135deg,var(--secondary-dark) 0%,var(--secondary-color) 100%);color:var(--text-white)}.stat-content h3{font-size:.9vw;font-weight:500;margin-bottom:1vh;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-number{font-size:2.2vw;font-weight:700;white-space:nowrap}.stat-icon{font-size:3vw;opacity:.3}.chart-container{background:var(--bg-card-white);padding:3vh 2.5vw;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);height:50vh}.page-title{margin-bottom:3vh}.page-title h2{font-size:1.2vw;color:var(--primary-color);font-weight:600;margin:0}.section-card{background:transparent;border-radius:0;padding:0;margin-bottom:3vh;box-shadow:none}.section-header{display:flex;align-items:center;gap:1vw;margin-bottom:2vh;background:var(--bg-gray);padding:1vh .5vw;border-bottom:1px solid var(--border-medium)}.section-icon{background:var(--secondary-color);width:2.5vw;height:2.5vw;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-white)}.section-icon i{font-size:1.5vw}.section-header h3{font-size:1vw;font-weight:600;color:var(--text-dark);margin:0}.courses-navigation{display:flex;gap:1vw;margin-bottom:2vh}.nav-arrow{background:var(--hover-light);border:none;width:2.5vw;height:2.5vw;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast)}.nav-arrow:hover{background:var(--border-light)}.nav-arrow i{font-size:1vw;color:var(--text-medium)}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5vw}.course-card{background:var(--bg-card-white);border:1px solid var(--border-light);border-radius:0;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.course-image{position:relative;width:100%;height:18vh}.course-image img{width:100%;height:100%;object-fit:cover}.course-progress-wrapper{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000000b3,#0000);padding:1vh 1vw 1vh 1vw;padding-top:5vh}.progress-bar-container{position:absolute;bottom:4vh;left:1vw;right:4vw}.menu-button-container{position:absolute;bottom:1.5vh;right:1vw}.progress-text-container{position:absolute;bottom:1vh;left:1vw}.progress{height:.6vh;border-radius:0;overflow:hidden}.progress.bg-white{background-color:#fff!important}.progress.border{border:.1vh solid var(--border-medium)}.progress-bar.bar{background-color:var(--primary-color);transition:width .6s ease}.progress-text{display:block;color:#fff;padding:0;font-size:.85vw;font-weight:400}.course-progress i{font-size:.9vw}.course-menu-btn{background:#ffffffe6;border:none;width:2vw;height:2vw;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.course-menu-btn:hover{background:#fff}.course-menu-btn i{font-size:.8vw;color:var(--text-medium)}.course-menu-dropdown{background:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-shadow:0 .5vh 1.5vh #00000026;min-width:10vw;position:absolute;top:18vh;right:1vw;opacity:0;visibility:hidden;transform:translateY(1vh);transition:all var(--transition-fast);z-index:1000}.course-menu-dropdown.show{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;z-index:10000!important;display:block!important}.gold-star{display:none;color:#ffc107;margin-right:.5vw;font-size:.9vw}.is-starred .gold-star{display:inline-block}.menu-item{display:flex;align-items:center;gap:.6vw;padding:.8vh 1vw;color:var(--text-dark);text-decoration:none;font-size:.7vw;transition:all var(--transition-fast)}.menu-item:hover{background:var(--hover-light);color:var(--primary-color)}.menu-item i{font-size:.9vw;width:1.2vw;color:var(--text-medium)}.menu-item:hover i{color:var(--primary-color)}.course-info{padding:1vh 1.2vw}.course-info .course-progress-wrapper,.course-info .course-menu-dropdown{display:none}.course-category{color:var(--text-muted);font-size:.8vw;margin:0 0 .3vh}.course-title{color:var(--text-dark);font-size:.8vw;font-weight:500;margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.course-filters{display:flex;gap:1vw;margin-bottom:2.5vh;justify-content:space-between;align-items:center}.filter-right{display:flex;gap:1vw}.filter-dropdown-wrapper{position:relative}.filter-btn{background:var(--primary-color);border:1px solid var(--primary-color);padding:1.2vh 1.8vw;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.6vw;cursor:pointer;font-size:.9vw;font-weight:500;color:var(--text-white);transition:all var(--transition-fast)}.filter-btn.active{background:var(--primary-color);color:var(--text-white);border-color:var(--primary-color)}.filter-btn i{font-size:.9vw}.filter-dropdown{position:absolute;top:calc(100% + .5vh);left:0;background:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-shadow:0 .5vh 1.5vh #00000026;min-width:100%;opacity:0;visibility:hidden;transform:translateY(-.5vh);transition:all var(--transition-fast);z-index:100}.filter-dropdown-wrapper:hover .filter-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.filter-option{display:block;padding:1vh 1.5vw;color:var(--text-dark);text-decoration:none;font-size:.9vw;transition:background var(--transition-fast);white-space:nowrap}.filter-option:hover{background:var(--hover-light)}.filter-option.active{background:var(--primary-color);color:#fff;font-weight:500}.dashboard-layout{display:grid;grid-template-columns:1fr 25vw;gap:2vw}.dashboard-main,.dashboard-sidebar{min-width:0}.widget{background:var(--bg-card-white);border-radius:0;margin-bottom:2vh;box-shadow:var(--shadow-sm);overflow:visible}.widget-header{display:flex;align-items:center;gap:.8vw;padding:1.5vh 1.5vw;background:var(--bg-gray-light);border-bottom:1px solid var(--border-light)}.widget-icon{width:2.5vw;height:2.5vw;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-white)}.widget-icon.orange{background:var(--secondary-color)}.widget-icon.blue{background:var(--accent-blue)}.widget-icon.purple{background:var(--accent-purple)}.widget-icon.red{background:var(--accent-red-alt)}.widget-icon i{font-size:1.2vw}.widget-header h3{font-size:1vw;font-weight:600;color:var(--text-dark);margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-actions{display:flex;gap:.5vw;padding:1vh 1.5vw;border-bottom:1px solid var(--border-light)}.widget-btn{background:var(--accent-green);border:none;color:var(--text-white);padding:.8vh 1.2vw;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.5vw;font-size:.85vw;transition:background var(--transition-fast)}.widget-btn:hover{background:#45a049}.widget-btn i{font-size:.9vw}.widget-content{padding:2vh 1.5vw}.widget-content.empty{text-align:center;padding:3vh 1.5vw}.empty-icon{font-size:3vw;color:var(--border-dark);margin-bottom:1vh}.widget-content p{color:var(--text-medium);font-size:.9vw;margin:0}.widget-text{color:var(--text-medium);font-size:.9vw;margin-bottom:1vh}.widget-subtitle{color:var(--text-muted);font-size:.85vw;margin-bottom:1.5vh;text-align:center}.widget-link{color:var(--secondary-color);font-size:.9vw;text-decoration:none;display:inline-block;margin-top:.5vh}.widget-link:hover{text-decoration:underline}.user-item{display:flex;align-items:center;gap:.8vw;padding:1vh 0}.user-avatar{font-size:2vw;color:var(--border-dark)}.user-name{flex:1;color:var(--secondary-color);font-size:.9vw;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-message{font-size:1.1vw;color:var(--text-muted);cursor:pointer}.user-message:hover{color:var(--text-medium)}.calendar{width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5vh}.calendar-nav{background:none;border:none;color:var(--secondary-color);font-size:1vw;cursor:pointer;padding:.5vh}.calendar-nav:hover{opacity:.7}.calendar-month{color:var(--secondary-color);font-size:.95vw;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3vh}.calendar-day-header{text-align:center;font-size:.75vw;font-weight:600;color:var(--text-medium);padding:.5vh 0}.calendar-day{text-align:center;padding:.8vh 0;font-size:.85vw;color:var(--text-dark);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.calendar-day:hover{background:var(--bg-gray)}.calendar-day.today{border:2px solid var(--primary-color);background:#094e2366;font-weight:600;color:var(--primary-color)}.calendar-day.selected{background:var(--primary-color)!important;color:var(--text-white)!important;font-weight:600}.calendar-day.event{background:var(--secondary-color);color:var(--text-white);font-weight:600}.sidebar-nav{overflow-y:auto}@media(max-width:768px){:root{--sidebar-width: 18vw}.sidebar{transform:translate(-100%)}.sidebar.show{transform:translate(0)}body:not(.sidebar-collapsed) .main-content{margin-left:0}.mobile-menu-toggle{display:block!important;font-size:2vw;padding:1vh 1vw}.mobile-menu-toggle i{font-size:2vw}.toggle-sidebar{display:none}.main-header{left:0!important}.header-title h1{font-size:1.5vw!important}.header-title p{font-size:1.2vw!important}.dashboard-layout{grid-template-columns:1fr;gap:2vh}.stats-grid{grid-template-columns:repeat(2,1fr);gap:2vh}.stat-content h3{font-size:1.6vw}.stat-number{font-size:3.2vw}.stat-icon{font-size:4.5vw}.courses-grid{grid-template-columns:repeat(2,1fr);gap:2vw}.widget-icon{width:4.5vw;height:4.5vw}.widget-icon i{font-size:2.2vw}.section-icon{width:4.5vw;height:4.5vw}.section-icon i{font-size:2.2vw}.nav-item span{font-size:1.8vw}.filter-btn{padding:1vh 2vw;font-size:1.5vw}.course-menu-btn{width:3.5vw;height:3.5vw}.course-menu-btn i,.course-category{font-size:1.4vw}.course-title,.widget-header h3{font-size:1.8vw}.widget-content p,.widget-text{font-size:1.6vw}.widget-subtitle{font-size:1.5vw}.widget-link{font-size:1.6vw}.widget-btn{font-size:1.5vw}.calendar-month{font-size:1.8vw}.calendar-day-header{font-size:1.4vw}.calendar-day{font-size:1.5vw}.calendar-nav i{font-size:1.8vw}.user-name{font-size:1.6vw}.user-avatar{font-size:3vw}}@media(max-width:480px){.sidebar{width:1000%;max-width:55vw;transform:translate(-100%);position:fixed;z-index:9999}.sidebar.show{transform:translate(0)}.main-content{margin-left:0!important;width:100%}.mobile-menu-toggle{display:block!important;font-size:3.5vw;padding:1.2vh 1.5vw}.mobile-menu-toggle i{font-size:3.5vw}.toggle-sidebar,.header-maximize-icon{display:none}.main-header{padding:1vh 2vw;left:0!important}.header-left{flex:1;min-width:0}.header-title{margin-left:2vw}.header-title h1{font-size:2.2vw!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-title p{font-size:1.8vw!important;display:block}.header-right{gap:2vw}.header-icon{width:7vw;height:7vw}.header-icon i{font-size:3.2vw}.dashboard-layout{grid-template-columns:1fr;gap:2vh}.dashboard-sidebar{order:2}.stats-grid{grid-template-columns:1fr;gap:1.5vh}.stat-card{padding:2vh 3vw}.stat-content h3{font-size:2.6vw}.stat-number{font-size:4.8vw}.stat-icon{font-size:6.4vw}.courses-grid{grid-template-columns:1fr!important;gap:2vh}.course-card{margin-bottom:1vh}.course-image{height:25vh}.course-filters{flex-direction:column;gap:1vh;align-items:stretch}.filter-right{flex-direction:column;gap:1vh}.filter-btn{width:100%;justify-content:center;padding:1.5vh 4vw;font-size:4vw}.section-header{padding:1vh 2vw}.section-icon{width:7vw;height:7vw}.section-icon i{font-size:3.6vw}.section-header h3{font-size:4vw}.nav-arrow{width:7vw;height:7vw}.nav-arrow i{font-size:2.8vw}.widget{margin-bottom:2vh}.widget-header{padding:1.5vh 3vw}.widget-icon{width:7vw;height:7vw}.widget-icon i{font-size:3.6vw}.widget-header h3{font-size:4vw}.widget-content{padding:2vh 3vw}.widget-content p,.widget-text{font-size:3.8vw}.widget-subtitle{font-size:3.5vw}.widget-link{font-size:3.8vw}.widget-btn{padding:1vh 3vw;font-size:3.5vw}.calendar-day-header{font-size:3.2vw;padding:.5vh 0}.calendar-day{padding:1vh 0;font-size:3.5vw}.calendar-month{font-size:4vw}.calendar-nav i{font-size:4.2vw}.user-avatar{font-size:6vw}.user-name{font-size:3.8vw}.nav-item{padding:1.5vh 3vw}.nav-item span{font-size:2.8vw}.nav-item i{font-size:3.2vw}.submenu-item{font-size:2.6vw;padding:1vh 4vw}.search-box input{font-size:2.8vw;padding:1.5vh 3vw}.dropdown-menu{min-width:40vw}.widget-dropdown{min-width:36vw}.filter-dropdown{min-width:30vw}.course-info{padding:1.5vh 3vw}.course-category,.course-title{font-size:4vw}.progress-text{font-size:2.2vw}.menu-item{padding:1.5vh 3vw;font-size:2.6vw}.menu-item i{font-size:2.8vw}.course-menu-btn{width:6.4vw;height:6.4vw}.course-menu-btn i{font-size:2.8vw}}@media(max-width:375px){.header-title h1{font-size:3vw!important}.sidebar{width:85%}.filter-btn{font-size:4.2vw;padding:1.2vh 3vw}.section-header h3{font-size:4.2vw}.widget-header h3{font-size:4.5vw}}.widget-actions{display:flex;justify-content:space-between;align-items:center;padding:1vh 1.5vw}.widget-btn{background:var(--primary-color);border:none;color:#fff;padding:.8vh 1.2vw;border-radius:4px;cursor:pointer;font-size:1.4vh;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.widget-btn:hover{background:var(--primary-color)}.widget-btn i{font-size:1.6vh}.widget-btn.green,.widget-btn.green:hover{background:var(--primary-color)}.widget-dropdown-wrapper{position:relative}.widget-btn i+i{margin-left:.5vw;font-size:1.2vh}.widget-dropdown{position:absolute;top:calc(100% + .5vh);left:0;background:#fff;border:.1vh solid var(--border-medium);border-radius:var(--radius-sm);box-shadow:0 .4vh 1.2vh #00000026;min-width:14vw;opacity:0;visibility:hidden;transform:translateY(-1vh);transition:all var(--transition-fast);z-index:10000}.widget-dropdown.show{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}.widget-dropdown-item{display:block;padding:1vh 1.5vw;color:var(--text-dark);text-decoration:none;font-size:1vw;transition:background .2s;border-bottom:.1vh solid var(--bg-gray);white-space:nowrap}.widget-dropdown-item:last-child{border-bottom:none}.widget-dropdown-item:hover{background:var(--hover-light)}.widget-dropdown-item.active{background:var(--primary-color);color:#fff;font-weight:500}.widget-dropdown.small{min-width:10vw;left:auto;right:0}
