 :root{--primary:#2563eb;--primary-dark:#1d4ed8;--secondary:#64748b;--success:#22c55e;--danger:#ef4444;--warning:#f59e0b;--bg-light:#f8fafc;--bg-white:#ffffff;--text-dark:#1e293b;--text-muted:#64748b;--border:#e2e8f0;--shadow:0 1px 3px rgba(0, 0, 0, 0.1);--shadow-md:0 4px 6px rgba(0, 0, 0, 0.1);--shadow-lg:0 10px 15px rgba(0, 0, 0, 0.1);--sidebar-width-open:280px;--sidebar-width-collapsed:70px;} *{margin:0;padding:0;box-sizing:border-box;} body.dashboard-body{font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;background:var(--bg-light);color:var(--text-dark);line-height:1.6;}  .dashboard-layout{display:flex;min-height:100vh;} .dashboard-main{flex:1;margin-left:var(--sidebar-width-open);max-width:calc(100vw - var(--sidebar-width-open));min-height:100vh;display:flex;flex-direction:column;transition:margin-left 0.3s ease, max-width 0.3s ease;} .dashboard-layout.sidebar-collapsed .dashboard-main{margin-left:var(--sidebar-width-collapsed);max-width:calc(100vw - var(--sidebar-width-collapsed));}  .dashboard-header{background:var(--bg-white);border-bottom:1px solid var(--border);padding:0 2rem;height:64px;display:flex;align-items:center;position:sticky;top:0;z-index:10;} .header-content{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;} .sidebar-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;color:#1f2937;cursor:pointer;transition:background-color 0.2s;margin-right:1rem;} .sidebar-toggle:hover{background-color:#f3f4f6;} .sidebar-toggle svg{width:24px;height:24px;} .header-left{display:flex;align-items:center;gap:1rem;} .dashboard-body .dashboard-body .header-title{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin:0;} .header-subtitle{font-size:0.875rem;color:var(--text-muted);margin:0.25rem 0 0 0;}  .dashboard-content{flex:1;padding:2rem;overflow-y:auto;}  .breadcrumb-section{margin-bottom:1.5rem;} .breadcrumb{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;} .breadcrumb-item{font-size:0.875rem;color:var(--text-muted);text-decoration:none;transition:color 0.2s;} .breadcrumb-item:hover{color:var(--primary);} .breadcrumb-item.active{color:var(--text-dark);font-weight:500;} .breadcrumb-separator{color:var(--text-muted);font-size:0.875rem;}  .search-box{position:relative;max-width:600px;margin-bottom:2rem;} .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted);pointer-events:none;} .search-input{width:100%;padding:0.875rem 3rem 0.875rem 3rem;border:2px solid var(--border);border-radius:12px;font-size:1rem;background:var(--bg-white);transition:all 0.2s;} .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37, 99, 235, 0.1);} .clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0.25rem;border-radius:4px;transition:background 0.2s;} .clear-search:hover{background:var(--bg-light);} .clear-search svg{width:18px;height:18px;color:var(--text-muted);}  .courses-layout{display:grid;grid-template-columns:280px 1fr;gap:2rem;}  .sidebar-filters{position:relative;} .sidebar-sticky{position:sticky;top:1rem;} .filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;} .filter-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);} .clear-filters{background:none;border:none;color:var(--primary);font-size:0.875rem;font-weight:600;cursor:pointer;padding:0.25rem 0.5rem;border-radius:4px;transition:background 0.2s;} .clear-filters:hover{background:rgba(37, 99, 235, 0.1);} .filter-section{background:var(--bg-white);border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow);} .filter-section-title{font-size:0.875rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:1rem;} .category-list{display:flex;flex-direction:column;gap:0.25rem;} .category-item{display:flex;align-items:center;justify-content:space-between;padding:0.625rem 0.875rem;border-radius:8px;text-decoration:none;color:var(--text-dark);transition:all 0.2s;} .category-item:hover{background:var(--bg-light);} .category-item.active{background:var(--primary);color:white;} .category-name{font-size:0.875rem;font-weight:500;} .category-count{font-size:0.75rem;font-weight:600;background:rgba(0, 0, 0, 0.1);padding:0.125rem 0.5rem;border-radius:12px;} .category-item.active .category-count{background:rgba(255, 255, 255, 0.2);}  .popular-courses{display:flex;flex-direction:column;gap:0.75rem;} .popular-course-item{display:flex;gap:0.75rem;text-decoration:none;padding:0.5rem;border-radius:8px;transition:background 0.2s;} .popular-course-item:hover{background:var(--bg-light);} .popular-course-image{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0;} .popular-course-info{flex:1;min-width:0;} .popular-course-title{font-size:0.813rem;font-weight:600;color:var(--text-dark);margin-bottom:0.25rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;} .popular-course-price{font-size:0.875rem;font-weight:700;color:var(--primary);margin:0;}  .main-content{min-width:0;}  .toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem;background:var(--bg-white);border-radius:12px;box-shadow:var(--shadow);} .results-info{font-size:0.875rem;color:var(--text-muted);font-weight:500;} .sort-controls{display:flex;align-items:center;gap:0.75rem;} .sort-label{font-size:0.875rem;font-weight:500;color:var(--text-dark);} .sort-select{padding:0.5rem 2rem 0.5rem 0.75rem;border:1px solid var(--border);border-radius:8px;font-size:0.875rem;background:var(--bg-white);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.5rem center;} .sort-select:focus{outline:none;border-color:var(--primary);}  .active-filters{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem;} .filter-tag{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;background:var(--primary);color:white;border-radius:8px;font-size:0.875rem;font-weight:500;} .remove-filter{background:rgba(255, 255, 255, 0.2);border:none;color:white;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.125rem;line-height:1;transition:background 0.2s;} .remove-filter:hover{background:rgba(255, 255, 255, 0.3);}  .courses-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem;} .course-card{background:var(--bg-white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);transition:all 0.3s;display:flex;flex-direction:column;} .course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);} .course-image-link{position:relative;display:block;overflow:hidden;} .course-image{width:100%;height:200px;object-fit:cover;transition:transform 0.3s;} .course-card:hover .course-image{transform:scale(1.05);} .discount-badge{position:absolute;top:0.75rem;right:0.75rem;background:var(--danger);color:white;padding:0.375rem 0.625rem;border-radius:6px;font-size:0.75rem;font-weight:700;} .course-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;} .course-category{display:inline-block;font-size:0.75rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.5rem;} .course-title{font-size:1.125rem;font-weight:600;margin-bottom:0.75rem;line-height:1.4;} .course-title a{color:var(--text-dark);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;} .course-title a:hover{color:var(--primary);} .course-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;} .meta-item{display:flex;align-items:center;gap:0.375rem;font-size:0.813rem;color:var(--text-muted);} .meta-item svg{width:16px;height:16px;} .course-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;} .course-price{display:flex;flex-direction:column;gap:0.25rem;} .price-original{font-size:0.875rem;color:var(--text-muted);text-decoration:line-through;} .price-current{font-size:1.25rem;font-weight:700;color:var(--primary);} .btn-view-course{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 1rem;background:var(--primary);color:white;text-decoration:none;border-radius:8px;font-size:0.875rem;font-weight:600;transition:all 0.2s;} .btn-view-course:hover{background:var(--primary-dark);transform:translateX(2px);} .btn-view-course svg{width:16px;height:16px;}  .empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-white);border-radius:12px;box-shadow:var(--shadow);} .empty-icon{width:80px;height:80px;color:var(--text-muted);opacity:0.5;margin:0 auto 1.5rem;} .empty-state h3{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:0.5rem;} .empty-state p{font-size:1rem;color:var(--text-muted);margin-bottom:1.5rem;} .btn-reset{display:inline-block;padding:0.75rem 1.5rem;background:var(--primary);color:white;text-decoration:none;border-radius:8px;font-weight:600;transition:background 0.2s;} .btn-reset:hover{background:var(--primary-dark);}  .pagination{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-top:3rem;} .pagination-container{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;justify-content:center;} .pagination-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.625rem 1rem;background:white;border:1px solid var(--border);border-radius:8px;font-size:0.875rem;font-weight:600;color:var(--text-dark);text-decoration:none;transition:all 0.2s;cursor:pointer;} .pagination-btn:hover:not(.disabled){background:var(--bg-light);border-color:var(--primary);color:var(--primary);} .pagination-btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;} .pagination-btn svg{width:16px;height:16px;} .pagination-numbers{display:flex;align-items:center;gap:0.25rem;} .pagination-number{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0.5rem;background:white;border:1px solid var(--border);border-radius:8px;font-size:0.875rem;font-weight:600;color:var(--text-dark);text-decoration:none;transition:all 0.2s;} .pagination-number:hover:not(.active){background:var(--bg-light);border-color:var(--primary);color:var(--primary);} .pagination-number.active{background:var(--primary);border-color:var(--primary);color:white;} .pagination-info{font-size:0.875rem;color:var(--text-muted);text-align:center;} .pagination-info strong{color:var(--text-dark);font-weight:600;}  .mobile-filter-toggle{display:none;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background:var(--primary);color:white;border:none;border-radius:8px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background 0.2s;} .mobile-filter-toggle:hover{background:var(--primary-dark);} .mobile-filter-toggle svg{width:18px;height:18px;}  @media (max-width:1024px){.courses-layout{grid-template-columns:240px 1fr;gap:1.5rem;} .courses-grid{grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));}} @media (max-width:768px){.dashboard-main, .dashboard-layout.sidebar-collapsed .dashboard-main{margin-left:0 !important;max-width:100% !important;} .dashboard-header{padding:0 1rem;} .header-content{flex-direction:column;align-items:flex-start;gap:0.75rem;} .header-left{width:100%;} .dashboard-body .header-title{font-size:1.25rem;} .header-subtitle{font-size:0.813rem;} .dashboard-content{padding:1rem;} .courses-layout{grid-template-columns:1fr;} .sidebar-filters{position:fixed;left:0;top:0;bottom:0;width:280px;background:var(--bg-white);z-index:1000;padding:1.5rem;overflow-y:auto;transform:translateX(-100%);transition:transform 0.3s ease;box-shadow:2px 0 12px rgba(0, 0, 0, 0.1);} .sidebar-filters.show-mobile{transform:translateX(0);} .mobile-filter-toggle{display:flex;} .toolbar{flex-direction:column;align-items:flex-start;gap:1rem;} .sort-controls{width:100%;} .sort-select{flex:1;} .courses-grid{grid-template-columns:1fr;}} @media (max-width:640px){.pagination-btn span{display:none;} .pagination-number{min-width:36px;height:36px;font-size:0.813rem;}} @media (max-width:480px){.dashboard-body .header-title{font-size:1.125rem;} .header-subtitle{font-size:0.75rem;} .search-input{padding:0.75rem 2.5rem 0.75rem 2.5rem;font-size:0.938rem;} .toolbar{padding:1rem;} .course-card{margin:0 -0.5rem;} .sidebar-filters{width:100%;}}