: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}.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;width:100%;padding-top:100%;background:#f1f5f9}.course-image{position:absolute;top:0;left:0;width:100%;height:100%;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;z-index:1}.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%}.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){.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%}}