:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--secondary-50:#faf5ff;--secondary-100:#f3e8ff;--secondary-200:#e9d5ff;--secondary-300:#d8b4fe;--secondary-400:#c084fc;--secondary-500:#a855f7;--secondary-600:#9333ea;--secondary-700:#7e22ce;--secondary-800:#6b21a8;--secondary-900:#581c87;--success-50:#ecfdf5;--success-500:#10b981;--success-600:#059669;--success-700:#047857;--warning-50:#fffbeb;--warning-500:#f59e0b;--warning-600:#d97706;--warning-700:#b45309;--danger-50:#fef2f2;--danger-500:#ef4444;--danger-600:#dc2626;--danger-700:#b91c1c;--info-50:#eff6ff;--info-500:#3b82f6;--info-600:#2563eb;--info-700:#1d4ed8;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--gray-950:#030712;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.06);--shadow-primary:0 10px 15px -3px rgba(99,102,241,.2), 0 4px 6px -2px rgba(99,102,241,.1);--shadow-success:0 10px 15px -3px rgba(16,185,129,.2), 0 4px 6px -2px rgba(16,185,129,.1);--shadow-danger:0 10px 15px -3px rgba(239,68,68,.2), 0 4px 6px -2px rgba(239,68,68,.1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--transition-slower:.5s cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--sidebar-width:280px;--header-height:64px;--max-width-sm:640px;--max-width-md:768px;--max-width-lg:1024px;--max-width-xl:1280px;--max-width-2xl:1536px}@media (prefers-color-scheme:dark){:root{--bg-primary:var(--gray-900);--bg-secondary:var(--gray-800);--text-primary:var(--gray-100);--text-secondary:var(--gray-400)}}:root{--bg-base:#fff;--bg-subtle:var(--gray-50);--bg-muted:var(--gray-100);--bg-emphasis:var(--gray-200);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--text-disabled:var(--gray-400);--text-inverse:#fff;--border-subtle:var(--gray-200);--border-default:var(--gray-300);--border-emphasis:var(--gray-400);--interactive-primary:var(--primary-600);--interactive-primary-hover:var(--primary-700);--interactive-primary-active:var(--primary-800);--focus-ring:0 0 0 3px rgba(99,102,241,.1);--focus-ring-offset:0 0 0 2px #fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.5}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-subtle);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary);margin:0}h1{font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:-.02em}h2{font-size:var(--text-3xl);letter-spacing:-.01em}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{line-height:var(--leading-normal);margin:0}a{color:var(--interactive-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--interactive-primary-hover)}a:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:2px;border-radius:var(--radius-sm)}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.6}input:focus,select:focus,textarea:focus,button:focus{outline:none}input[type=checkbox]{cursor:pointer}input[type=radio]{cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}*{scrollbar-width:thin;scrollbar-color:var(--gray-300) var(--gray-100)}::-moz-selection{background:var(--primary-200);color:var(--primary-900)}::selection{background:var(--primary-200);color:var(--primary-900)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.focus-visible:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff}.no-print{display:none!important}}.app-layout{background:var(--bg-subtle);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border-subtle);height:100vh;z-index:var(--z-fixed);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;display:flex;position:fixed}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--border-subtle)}.brand-icon{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--primary-600), var(--secondary-600));color:#fff;width:48px;height:48px;font-weight:var(--font-bold);font-size:var(--text-lg);box-shadow:var(--shadow-primary);justify-content:center;align-items:center;display:flex}.brand-text h2{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1);line-height:1.2}.brand-text span{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.sidebar-nav{padding:var(--space-4);flex:1;overflow-y:auto}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);color:var(--text-secondary);font-weight:var(--font-medium);font-size:var(--text-sm);transition:all var(--transition-fast);margin-bottom:var(--space-1);text-decoration:none;display:flex;position:relative}.nav-item:before{content:"";background:var(--primary-600);border-radius:0 var(--radius-full) var(--radius-full) 0;width:0;height:0;transition:all var(--transition-fast);position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item:hover{background:var(--primary-50);color:var(--primary-700);padding-left:var(--space-5)}.nav-item:hover:before{width:4px;height:70%}.nav-item.active{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;box-shadow:var(--shadow-primary)}.nav-item.active:before{display:none}.nav-item svg{flex-shrink:0;width:20px;height:20px}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-subtle);background:var(--bg-subtle)}.user-info{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-xl);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);background:#fff;display:flex}.user-avatar{background:linear-gradient(135deg, var(--primary-500), var(--secondary-500));color:#fff;width:44px;height:44px;font-weight:var(--font-bold);font-size:var(--text-base);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-details{flex:1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-role{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.logout-btn{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);color:var(--danger-600);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:all var(--transition-fast);background:#fff;display:flex}.logout-btn:hover{background:var(--danger-50);border-color:var(--danger-200);box-shadow:var(--shadow-md)}.main-content{margin-left:var(--sidebar-width);padding:var(--space-8);min-height:100vh;animation:fadeIn var(--transition-base);flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;display:flex}.page-header h1{font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin-bottom:var(--space-2);background:linear-gradient(135deg, var(--primary-600), var(--secondary-600));-webkit-text-fill-color:transparent;-webkit-background-clip:text;-ms-background-clip:text;background-clip:text}.page-header p{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium)}.page-actions{gap:var(--space-3);display:flex}.grid{gap:var(--space-6);display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.stats-grid{gap:var(--space-6);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.stat-card{border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);padding:var(--space-6);align-items:center;gap:var(--space-4);transition:all var(--transition-base);background:#fff;text-decoration:none;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,transparent,rgba(99,102,241,.05));position:absolute;top:0;bottom:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-200);transform:translateY(-4px)}.stat-card:hover:before{opacity:1}.stat-icon{border-radius:var(--radius-xl);width:64px;height:64px;box-shadow:var(--shadow-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-content{z-index:1;flex:1}.stat-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--text-primary);line-height:1}.section-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-2);display:flex}.section-title:before{content:"";background:linear-gradient(135deg, var(--primary-600), var(--secondary-600));border-radius:var(--radius-full);width:4px;height:24px}.empty-state,.loading-state,.error-state{border:2px dashed var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-16) var(--space-8);text-align:center;background:#fff}.empty-state svg,.loading-state svg,.error-state svg{margin:0 auto var(--space-4)}.empty-state h2,.error-state h2{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state p,.error-state p{color:var(--text-secondary);margin-bottom:var(--space-6);max-width:400px;margin-left:auto;margin-right:auto}@media (max-width:1024px){:root{--sidebar-width:240px}.page-header h1{font-size:var(--text-3xl)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:768px){.sidebar{transition:transform var(--transition-base);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{padding:var(--space-4);margin-left:0}.page-header{gap:var(--space-4);flex-direction:column}.page-actions{flex-direction:column;width:100%}.stats-grid,.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-lg);transition:all var(--transition-base);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring-offset), var(--focus-ring);outline:none}.btn-primary{background:var(--primary-600);color:#fff;border:1px solid var(--primary-600);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-700);border-color:var(--primary-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--primary-800);transform:translateY(0)}.btn-secondary{color:var(--gray-700);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--border-emphasis);box-shadow:var(--shadow-md)}.btn-danger{background:var(--danger-600);color:#fff;border:1px solid var(--danger-600)}.btn-danger:hover:not(:disabled){background:var(--danger-700);transform:translateY(-1px)}.btn-ghost{color:var(--gray-700);background:0 0;border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--gray-100)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}.btn-icon{border-radius:var(--radius-md);width:36px;height:36px;padding:0}.btn-icon-sm{width:28px;height:28px}.btn-icon-lg{width:44px;height:44px}.card{border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);background:#fff}.card-hover:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-200);transform:translateY(-2px)}.card-header{padding:var(--space-6);border-bottom:1px solid var(--border-subtle)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;line-height:1;display:inline-flex}.badge-primary{background:var(--primary-50);color:var(--primary-700)}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-warning{background:var(--warning-50);color:var(--warning-700)}.badge-danger{background:var(--danger-50);color:var(--danger-700)}.badge-lg{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);background:#fff}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-emphasis)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--bg-muted);cursor:not-allowed;opacity:.6}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:var(--text-xs);color:var(--text-secondary)}.form-error{font-size:var(--text-xs);color:var(--danger-600);font-weight:var(--font-medium)}.search-group{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);background:#fff;display:flex;position:relative}.search-group:focus-within{border-color:var(--primary-500);box-shadow:var(--shadow-primary)}.search-group input{background:0 0;border:none;flex:1;padding:0}.search-group input:focus{box-shadow:none;outline:none}.spinner-lg{border-width:4px;width:48px;height:48px}.spinner-primary{border-color:var(--primary-200);border-top-color:var(--primary-600)}@keyframes spin{to{transform:rotate(360deg)}}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);animation:slideDown var(--transition-base);border:1px solid;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:var(--success-50);border-color:var(--success-200);color:var(--success-700)}.alert-warning{background:var(--warning-50);border-color:var(--warning-200);color:var(--warning-700)}.alert-danger{background:var(--danger-50);border-color:var(--danger-200);color:var(--danger-700)}.alert-info{background:var(--info-50);border-color:var(--info-200);color:var(--info-700)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);padding:var(--space-4);animation:fadeIn var(--transition-base);background:rgba(0,0,0,.6);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);width:100%;max-width:500px;max-height:90vh;animation:slideUp var(--transition-base);background:#fff;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-lg{max-width:700px}.modal-xl{max-width:900px}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);padding:var(--space-2) var(--space-3);background:var(--gray-900);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-md);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}.tooltip:hover:after{opacity:1}.divider{background:var(--border-subtle);height:1px;margin:var(--space-6) 0}.divider-vertical{background:var(--border-subtle);width:1px;height:100%;margin:0 var(--space-4)}.skeleton{background:linear-gradient(90deg, var(--gray-200) 0%, var(--gray-100) 50%, var(--gray-200) 100%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-text{height:1rem;margin-bottom:var(--space-2)}.skeleton-circle{border-radius:50%}.dropdown{position:relative}.dropdown-menu{top:calc(100% + var(--space-1));border:1px solid var(--border-subtle);border-radius:var(--radius-xl);min-width:180px;box-shadow:var(--shadow-xl);padding:var(--space-2);z-index:var(--z-dropdown);animation:slideDown var(--transition-fast);background:#fff;position:absolute;right:0}.dropdown-item{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);text-align:left;border-radius:var(--radius-md);transition:background var(--transition-fast)}.dropdown-item:hover{background:var(--bg-subtle)}.dropdown-divider{background:var(--border-subtle);height:1px;margin:var(--space-2) 0}.progress{background:var(--gray-200);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar{background:var(--primary-600);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.progress-bar-success{background:var(--success-600)}.progress-bar-warning{background:var(--warning-600)}.progress-bar-danger{background:var(--danger-600)}.login-container{background:linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-container:before,.login-container:after{content:"";background:rgba(255,255,255,.1);border-radius:50%;animation:20s infinite float;position:absolute}.login-container:before{width:400px;height:400px;animation-delay:-5s;top:-200px;left:-200px}.login-container:after{width:300px;height:300px;animation-delay:-10s;bottom:-150px;right:-150px}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(180deg)}}.login-box{border-radius:var(--radius-3xl);padding:var(--space-12);width:100%;max-width:480px;box-shadow:var(--shadow-2xl);z-index:1;animation:slideUp var(--transition-slow);background:#fff;position:relative}.logo-circle{background:linear-gradient(135deg, var(--primary-600), var(--secondary-600));width:80px;height:80px;margin:0 auto var(--space-6);color:#fff;box-shadow:var(--shadow-primary);border-radius:50%;justify-content:center;align-items:center;animation:2s ease-in-out infinite pulse;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.login-header h1{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin-bottom:var(--space-2);background:linear-gradient(135deg, var(--primary-600), var(--secondary-600));-webkit-text-fill-color:transparent;-webkit-background-clip:text;-ms-background-clip:text;background-clip:text}.login-header p{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium)}.error-alert{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--danger-50);border:1px solid var(--danger-200);border-radius:var(--radius-xl);color:var(--danger-700);margin-bottom:var(--space-6);animation:.5s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-form{gap:var(--space-6);flex-direction:column;display:flex}.login-footer{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.dashboard-container{animation:fadeIn var(--transition-base)}.actions-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.action-card{border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);padding:var(--space-6);transition:all var(--transition-base);background:#fff;text-decoration:none;position:relative;overflow:hidden}.action-card:before{content:"";opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,transparent,rgba(99,102,241,.05));position:absolute;top:0;bottom:0;left:0;right:0}.action-card:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-200);transform:translateY(-4px)}.action-card:hover:before{opacity:1}.action-icon{border-radius:var(--radius-xl);width:64px;height:64px;margin-bottom:var(--space-4);box-shadow:var(--shadow-md);transition:transform var(--transition-base);justify-content:center;align-items:center;display:flex}.action-card:hover .action-icon{transform:scale(1.1)rotate(5deg)}.action-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.action-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.activity-placeholder{border:2px dashed var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-16) var(--space-8);text-align:center;color:var(--text-tertiary);background:#fff}.activity-placeholder svg{opacity:.5}.activity-placeholder p{margin-top:var(--space-4);color:var(--text-secondary);font-weight:var(--font-medium)}.table-container{border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);background:#fff;overflow:hidden}.table{border-collapse:collapse;width:100%}.table thead{background:var(--bg-subtle)}.table th{padding:var(--space-4) var(--space-6);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}.table td{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-primary)}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--bg-subtle)}.table tbody tr:last-child td{border-bottom:none}.pagination{justify-content:center;align-items:center;gap:var(--space-6);padding:var(--space-6);display:flex}.pagination-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:var(--space-2);background:#fff;display:flex}.pagination-btn:hover:not(:disabled){background:var(--primary-600);color:#fff;border-color:var(--primary-600);box-shadow:var(--shadow-primary)}.pagination-info{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.file-upload-area{border:2px dashed var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-10);text-align:center;transition:all var(--transition-base);cursor:pointer}.file-upload-area:hover{border-color:var(--primary-500);background:var(--primary-50)}.file-upload-area.dragging{border-color:var(--primary-600);background:var(--primary-100);transform:scale(1.02)}.selected-file{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-xl);margin-top:var(--space-4);display:flex}.file-icon{border-radius:var(--radius-lg);background:var(--primary-100);width:40px;height:40px;color:var(--primary-600);justify-content:center;align-items:center;display:flex}.file-info{text-align:left;flex:1}.file-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.file-size{font-size:var(--text-xs);color:var(--text-secondary)}.progress-text{text-align:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-600);margin-top:var(--space-2)}.filters-bar{gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-2xl);margin-bottom:var(--space-6);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.filter-group label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2);display:block}@media (max-width:768px){.table-container{overflow-x:auto}.table{min-width:600px}}.competitions-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.competition-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s}.competition-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.competition-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.competition-header h3{color:#111827;margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.program-name{color:#6b7280;font-size:.875rem}.competition-description{color:#4b5563;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:1rem 0;font-size:.9375rem;line-height:1.5;display:-webkit-box;overflow:hidden}.competition-meta{border-top:1px solid #e5e7eb;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.5rem 0;padding-top:1rem;display:grid}.meta-item{color:#6b7280;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.meta-item svg{flex-shrink:0}.competition-actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.competition-actions .btn{flex:1;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.badge-draft{color:#6b7280;background-color:#f3f4f6}.badge-upcoming{color:#1e40af;background-color:#dbeafe}.badge-active{color:#065f46;background-color:#d1fae5;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.badge-completed{color:#374151;background-color:#e5e7eb}.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.info-row{flex-wrap:wrap;gap:2rem;display:flex}.info-item{flex-direction:column;gap:.25rem;display:flex}.info-item label{color:#6b7280;font-size:.875rem;font-weight:500}.info-item span{color:#111827;font-size:1rem}.bulk-import-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;margin-bottom:2rem;padding:2rem;box-shadow:0 10px 25px rgba(102,126,234,.3)}.bulk-import-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.bulk-import-header h2{align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:1.5rem;font-weight:600;display:flex}.bulk-import-header p{opacity:.9;margin:0;font-size:.9375rem}.bulk-import-header .btn-outline{color:#667eea;background:#fff;border:none}.bulk-import-header .btn-outline:hover{background:#f9fafb;transform:translateY(-2px)}.bulk-import-body{flex-direction:column;gap:1.5rem;display:flex}.file-drop-zone{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;cursor:pointer;background:rgba(255,255,255,.1);border:2px dashed rgba(255,255,255,.4);border-radius:12px;padding:3rem 2rem;transition:all .3s}.file-drop-zone:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.6);transform:scale(1.02)}.drop-text{margin:1rem 0 .5rem;font-size:1.125rem;font-weight:500}.drop-hint{opacity:.8;margin:0;font-size:.875rem}.import-options{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.1);border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.checkbox-label span{flex:1}.import-results{color:#111827;background:#fff;border-radius:12px;margin-top:1rem;padding:1.5rem}.import-results.success{border-left:4px solid #10b981}.import-results.error{border-left:4px solid #f59e0b}.results-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.results-header h3{margin:0;font-size:1.125rem;font-weight:600}.results-summary{background:#f9fafb;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;padding:1rem;display:grid}.summary-item{flex-direction:column;gap:.25rem;display:flex}.summary-item span{color:#6b7280;font-size:.875rem}.summary-item strong{font-size:1.25rem;font-weight:600}.text-error{color:#ef4444}.validation-details{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.validation-details summary{cursor:pointer;color:#ef4444;padding:.5rem;font-weight:500}.validation-details summary:hover{background:#fef2f2;border-radius:4px}.validation-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.validation-item{border-radius:6px;padding:.75rem;font-size:.875rem}.validation-item.error{background:#fef2f2;border-left:3px solid #ef4444}.validation-item strong{color:#991b1b;margin-bottom:.5rem;display:block}.validation-item ul{margin:0;padding-left:1.5rem}.validation-item li{color:#7f1d1d;margin:.25rem 0}.section-divider{text-align:center;margin:2rem 0;position:relative}.section-divider:before{content:"";background:#e5e7eb;height:1px;position:absolute;top:50%;left:0;right:0}.section-divider span{color:#9ca3af;background:#f9fafb;padding:0 1rem;font-size:.875rem;font-weight:500;position:relative}.action-bar{justify-content:center;margin:2rem 0;display:flex}.questions-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.questions-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1.5rem}.questions-header h2{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.question-item{border-bottom:1px solid #e5e7eb;align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:background .2s;display:flex}.question-item:last-child{border-bottom:none}.question-item:hover{background:#f9fafb}.question-drag{cursor:grab;color:#9ca3af}.question-drag:active{cursor:grabbing}.question-number{color:#fff;background:#6366f1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;display:flex}.question-content{flex:1;min-width:0}.question-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.question-text{color:#374151;flex:1;margin:0;font-size:.9375rem;line-height:1.5}.question-meta{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.points-badge{color:#92400e;background:#fef3c7;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.fixed-action-bar{z-index:100;background:#fff;border-top:1px solid #e5e7eb;justify-content:center;padding:1.5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px rgba(0,0,0,.05)}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px rgba(0,0,0,.3)}.modal-header h2{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;transition:all .2s;display:flex}.modal-close:hover{color:#374151;background:#f3f4f6}.modal-body{padding:2rem}.modal-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}@media (max-width:768px){.competitions-grid,.competition-meta{grid-template-columns:1fr}.bulk-import-header{flex-direction:column;gap:1rem}.results-summary{grid-template-columns:repeat(2,1fr)}.fixed-action-bar{padding:1rem}}.hidden{display:none!important}.block{display:block!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.grid{display:grid!important}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.m-0{margin:0}.m-auto{margin:auto}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.w-full{width:100%}.h-full{height:100%}.max-w-sm{max-width:var(--max-width-sm)}.max-w-md{max-width:var(--max-width-md)}.max-w-lg{max-width:var(--max-width-lg)}.max-w-xl{max-width:var(--max-width-xl)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-600)}.text-warning{color:var(--warning-600)}.text-danger{color:var(--danger-600)}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.bg-white{background-color:#fff}.bg-primary{background-color:var(--primary-600)}.bg-success{background-color:var(--success-600)}.bg-warning{background-color:var(--warning-600)}.bg-danger{background-color:var(--danger-600)}.bg-gradient{background:linear-gradient(135deg, var(--primary-600), var(--secondary-600))}.border{border:1px solid var(--border-subtle)}.border-t{border-top:1px solid var(--border-subtle)}.border-b{border-bottom:1px solid var(--border-subtle)}.rounded{border-radius:var(--radius-lg)}.rounded-lg{border-radius:var(--radius-xl)}.rounded-xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.05)}.hover-grow:hover{transform:scale(1.02)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-bounce{animation:1s infinite bounce}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-up{animation:slideUp var(--transition-base)}.animate-slide-down{animation:slideDown var(--transition-base)}:root{--primary:#3b82f6;--primary-dark:#2563eb;--secondary:#8b5cf6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--dark:#1f2937;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--gray-900);background:var(--gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.login-container{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:48px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.login-header{text-align:center;margin-bottom:32px}.logo-circle{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex}.login-header h1{color:var(--gray-900);margin-bottom:8px;font-size:28px;font-weight:700}.login-header p{color:var(--gray-600);font-size:14px}.error-alert{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:flex}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--gray-700);font-size:14px;font-weight:600}.form-group input,.form-group textarea,.form-group select{border:2px solid var(--gray-200);border-radius:8px;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background:var(--gray-100);cursor:not-allowed}.submit-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:background .2s;display:flex}.submit-btn:hover:not(:disabled){background:var(--primary-dark)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.login-footer{text-align:center;color:var(--gray-600);margin-top:24px;font-size:13px}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--gray-200);z-index:100;background:#fff;flex-direction:column;height:100vh;display:flex;position:fixed}.sidebar-header{border-bottom:1px solid var(--gray-200);padding:24px}.brand{align-items:center;gap:12px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.brand-text h2{color:var(--gray-900);font-size:18px;font-weight:700;line-height:1.2}.brand-text span{color:var(--gray-600);font-size:12px}.sidebar-nav{flex:1;padding:16px;overflow-y:auto}.nav-item{color:var(--gray-700);border-radius:8px;align-items:center;gap:12px;margin-bottom:4px;padding:12px 16px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background:var(--gray-100);color:var(--gray-900)}.nav-item.active{background:var(--primary);color:#fff}.sidebar-footer{border-top:1px solid var(--gray-200);padding:16px}.user-info{background:var(--gray-50);border-radius:8px;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:flex}.user-details{flex:1}.user-name{color:var(--gray-900);font-size:14px;font-weight:600}.user-role{color:var(--gray-600);font-size:12px}.logout-btn{border:1px solid var(--gray-300);width:100%;color:var(--gray-700);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.logout-btn:hover{background:var(--gray-100);border-color:var(--gray-400)}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:32px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.page-header h1{color:var(--gray-900);margin-bottom:4px;font-size:32px;font-weight:700}.page-header p{color:var(--gray-600);font-size:14px}.primary-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.primary-btn:hover:not(:disabled){background:var(--primary-dark)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{color:var(--gray-700);border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.secondary-btn:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.icon-btn{border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:inline-flex}.icon-btn:hover{background:var(--gray-100)}.icon-btn.edit:hover{border-color:var(--primary);color:var(--primary)}.icon-btn.delete:hover{border-color:var(--danger);color:var(--danger)}.icon-btn.preview:hover{border-color:var(--secondary);color:var(--secondary)}.icon-btn-sm{border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:inline-flex}.icon-btn-sm:hover{background:var(--gray-100)}.icon-btn-sm.edit:hover{border-color:var(--primary);color:var(--primary)}.icon-btn-sm.delete:hover{border-color:var(--danger);color:var(--danger)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:40px;display:grid}.stat-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:24px;text-decoration:none;transition:all .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.stat-label{color:var(--gray-600);margin-bottom:4px;font-size:14px}.stat-value{color:var(--gray-900);font-size:32px;font-weight:700}.section{margin-bottom:40px}.section-title{color:var(--gray-900);margin-bottom:16px;font-size:20px;font-weight:700}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.action-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:24px;text-decoration:none;transition:all .2s}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.action-icon{border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;display:flex}.action-title{color:var(--gray-900);margin-bottom:8px;font-size:16px;font-weight:600}.action-description{color:var(--gray-600);font-size:14px}.activity-placeholder{border:1px solid var(--gray-200);text-align:center;background:#fff;border-radius:12px;padding:48px}.activity-placeholder p{color:var(--gray-600);margin-top:12px}.loading-state,.empty-state,.coming-soon{border:1px solid var(--gray-200);text-align:center;background:#fff;border-radius:12px;padding:64px 32px}.empty-state h2,.coming-soon h2{color:var(--gray-900);margin:16px 0 8px;font-size:20px;font-weight:700}.empty-state p,.coming-soon p{color:var(--gray-600);margin-bottom:24px}.coming-soon-details{max-width:500px;margin:0 auto 24px;font-size:14px}.spinner-large{border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:.8s linear infinite spin}.filters-section{border:1px solid var(--gray-200);background:#fff;border-radius:12px;margin-bottom:24px;padding:20px}.filters-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.search-box{flex:1;min-width:280px;position:relative}.search-icon{color:var(--gray-400);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{border:1px solid var(--gray-300);border-radius:8px;width:100%;padding:10px 40px;font-size:14px;transition:all .2s}.search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.clear-search-btn{color:var(--gray-400);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.clear-search-btn:hover{color:var(--gray-600);background:var(--gray-100)}.filter-group{flex-direction:column;gap:6px;min-width:180px;display:flex}.filter-label{color:var(--gray-700);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.clear-filters-btn{background:var(--gray-100);border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;border-radius:8px;align-items:center;gap:6px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-top:auto;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.clear-filters-btn:hover{background:var(--gray-200);border-color:var(--gray-400)}.results-count{border-top:1px solid var(--gray-200);color:var(--gray-600);margin-top:16px;padding-top:16px;font-size:14px;font-weight:500}.courses-list{flex-direction:column;gap:16px;display:flex}.course-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden}.course-header{align-items:flex-start;gap:16px;padding:20px;display:flex}.expand-btn{color:var(--gray-600);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.expand-btn:hover{color:var(--gray-900)}.course-info{flex:1}.course-info h3{color:var(--gray-900);margin-bottom:8px;font-size:18px;font-weight:600}.course-info p{color:var(--gray-600);margin-bottom:12px;font-size:14px}.course-meta{align-items:center;gap:12px;display:flex}.badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.meta-item{color:var(--gray-600);font-size:13px}.program-badge{color:var(--primary);font-weight:600}.course-actions{gap:8px;display:flex}.modules-container{background:var(--gray-50);border-top:1px solid var(--gray-200);padding:0 20px 20px}.module-item{border:1px solid var(--gray-200);background:#fff;border-radius:8px;margin-top:12px;padding:16px}.module-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.module-header h4{color:var(--gray-900);font-size:16px;font-weight:600}.module-actions{gap:6px;display:flex}.lessons-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.lesson-item{background:var(--gray-50);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;display:flex}.lesson-icon{color:var(--gray-600)}.lesson-info{flex:1;align-items:center;gap:8px;display:flex}.lesson-title{color:var(--gray-900);font-size:14px}.premium-badge{color:#92400e;background:#fef3c7;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.lesson-actions{gap:6px;display:flex}.add-module-btn,.add-lesson-btn{border:1px dashed var(--gray-300);color:var(--gray-600);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.add-module-btn:hover,.add-lesson-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-900)}.videos-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.video-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;transition:all .2s;overflow:hidden}.video-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.video-thumbnail{aspect-ratio:16/9;background:var(--gray-900);justify-content:center;align-items:center;width:100%;display:flex}.video-placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.video-preview{object-fit:cover;width:100%;height:100%}.video-info{padding:16px}.video-info h3{color:var(--gray-900);margin-bottom:8px;font-size:16px;font-weight:600}.video-lesson{color:var(--gray-600);margin-bottom:12px;font-size:14px}.video-meta{flex-wrap:wrap;gap:8px;display:flex}.video-actions{border-top:1px solid var(--gray-200);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.modal-overlay{z-index:1000;background:rgba(0,0,0,.6);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal.large{max-width:700px}.modal-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--gray-900);font-size:20px;font-weight:700}.close-btn{width:32px;height:32px;color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.close-btn:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.modal-form{padding:24px}.modal-footer{border-top:1px solid var(--gray-200);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.form-hint{color:var(--gray-600);margin-top:4px;font-size:13px}.file-upload-area{border:2px dashed var(--gray-300);text-align:center;border-radius:8px;padding:24px}.file-select-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.file-select-btn:hover:not(:disabled){background:var(--primary-dark)}.file-select-btn:disabled{opacity:.5;cursor:not-allowed}.selected-file{background:var(--gray-50);text-align:left;border-radius:8px;align-items:center;gap:12px;margin-top:16px;padding:12px;display:flex}.file-name{color:var(--gray-900);font-size:14px;font-weight:600}.file-size{color:var(--gray-600);font-size:13px}.upload-progress{margin-top:20px}.progress-bar{background:var(--gray-200);border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .3s}.progress-text{text-align:center;color:var(--gray-700);margin-top:8px;font-size:14px;font-weight:600}@media (max-width:768px){.sidebar{width:200px}.main-content{margin-left:200px;padding:20px}.page-header{flex-direction:column;gap:16px}.stats-grid,.actions-grid,.videos-grid{grid-template-columns:1fr}}.programs-container{padding:32px}.programs-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:24px;display:grid}.program-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.program-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.1)}.program-thumbnail{background:var(--gray-100);width:100%;height:180px;position:relative;overflow:hidden}.program-thumbnail img{object-fit:cover;width:100%;height:100%}.thumbnail-placeholder{background:linear-gradient(135deg, var(--gray-100), var(--gray-200));justify-content:center;align-items:center;width:100%;height:100%;display:flex}.program-content{flex:1;padding:20px}.program-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.program-header h3{color:var(--gray-900);flex:1;margin:0;font-size:20px;font-weight:600}.program-badges{gap:8px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.badge.premium{color:#92400e;background:#fef3c7}.badge.free{color:#065f46;background:#d1fae5}.badge.inactive{background:var(--gray-200);color:var(--gray-600)}.program-description{color:var(--gray-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.program-stats{border-top:1px solid var(--gray-200);gap:16px;padding-top:16px;display:flex}.stat-item{color:var(--gray-600);align-items:center;gap:6px;font-size:13px;display:flex}.stat-item svg{color:var(--gray-400)}.program-actions{border-top:1px solid var(--gray-200);background:var(--gray-50);gap:8px;padding:12px 20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-label span{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.questions-container{padding:32px}.header-actions{gap:12px;display:flex}.filters-bar{border:1px solid var(--gray-200);background:#fff;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:20px;display:grid}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group label{color:var(--gray-700);font-size:13px;font-weight:600}.filter-group select{border:1px solid var(--gray-300);border-radius:6px;padding:8px 12px;font-size:14px}.questions-list{flex-direction:column;gap:16px;display:flex}.question-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:20px;transition:all .2s}.question-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.1)}.question-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.question-badges{gap:8px;display:flex}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-secondary{background:var(--gray-200);color:var(--gray-700)}.question-actions{gap:8px;display:flex}.question-text{color:var(--gray-900);margin-bottom:16px;font-size:16px;font-weight:500;line-height:1.6}.question-options{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.option-item{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.option-item.correct{background:#d1fae5;border-color:#10b981;font-weight:500}.option-label{color:var(--primary);min-width:24px;font-weight:600}.correct-mark{color:#10b981;margin-left:auto;font-size:18px;font-weight:700}.question-footer{border-top:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.question-meta{color:var(--gray-600);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.question-stats{color:var(--gray-600);gap:12px;font-size:12px;display:flex}.pagination{justify-content:center;align-items:center;gap:20px;margin-top:32px;padding:20px;display:flex}.pagination-btn{border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:6px;padding:8px 16px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--gray-600);font-size:14px}.modal-large{max-width:900px;max-height:90vh;overflow-y:auto}.option-input-group{align-items:center;gap:10px;margin-bottom:10px;display:flex}.option-input-group .option-label{color:var(--primary);min-width:24px;font-weight:600}.option-input-group input{flex:1}.add-option-btn{border:1px dashed var(--gray-300);cursor:pointer;color:var(--primary);background:#fff;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;font-size:14px;transition:all .2s;display:flex}.add-option-btn:hover{background:var(--gray-50);border-color:var(--primary)}.users-container{padding:32px}.stats-bar{align-items:center;gap:24px;display:flex}.search-group{border:1px solid var(--gray-300);background:#fff;border-radius:8px;flex:1;align-items:center;gap:10px;max-width:400px;padding:10px 16px;position:relative;display:flex!important}.search-group input{border:none;flex:1;padding:0}.search-group input:focus{box-shadow:none;border:none;outline:none}.users-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;display:grid}.user-card{border:1px solid var(--gray-200);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:16px;padding:20px;transition:all .2s;display:flex}.user-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.user-info h3{color:var(--gray-900);margin-bottom:4px;font-size:16px;font-weight:600}.user-phone{color:var(--gray-600);margin-bottom:2px;font-size:14px}.user-meta{flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;display:flex}.programs-count{color:var(--gray-600);white-space:nowrap;font-size:13px}.badge-primary{color:#1e40af;background:#dbeafe}.user-detail-container{max-width:1200px;margin:0 auto;padding:32px}.back-btn{border:1px solid var(--gray-300);cursor:pointer;color:var(--gray-700);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.back-btn:hover{background:var(--gray-100);border-color:var(--gray-400)}.user-info-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;align-items:flex-start;gap:24px;margin-top:24px;padding:32px;display:flex}.user-avatar-large{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;font-size:36px;font-weight:700;display:flex}.user-info-details{flex:1}.user-info-details h1{color:var(--gray-900);margin-bottom:12px;font-size:28px;font-weight:700}.user-contact-info{flex-wrap:wrap;gap:20px;display:flex}.contact-item{color:var(--gray-600);align-items:center;gap:8px;font-size:14px;display:flex}.user-role-selector{flex-direction:column;gap:8px;display:flex}.user-role-selector label{color:var(--gray-700);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.role-select{cursor:pointer;border:2px solid;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600}.role-select.badge-primary{color:#1e40af;background:#dbeafe;border-color:#1e40af}.role-select.badge-success{color:#065f46;background:#d1fae5;border-color:#065f46}.role-select.badge-secondary{border-color:var(--gray-400);background:var(--gray-100);color:var(--gray-700)}.section{margin-top:32px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{color:var(--gray-900);font-size:20px;font-weight:700}.empty-card{border:1px solid var(--gray-200);text-align:center;background:#fff;border-radius:12px;padding:48px}.empty-card p{color:var(--gray-600);margin-bottom:20px}.access-list{flex-direction:column;gap:16px;display:flex}.access-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:20px;transition:all .2s}.access-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.05)}.access-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.access-header h3{color:var(--gray-900);font-size:18px;font-weight:600}.access-actions-dropdown,.access-actions-dropdown .icon-btn{position:relative}.dropdown-menu{border:1px solid var(--gray-200);z-index:10;background:#fff;border-radius:8px;min-width:180px;margin-top:4px;display:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px rgba(0,0,0,.1)}.access-actions-dropdown:hover .dropdown-menu{display:block}.dropdown-menu button{text-align:left;cursor:pointer;width:100%;color:var(--gray-700);background:0 0;border:none;padding:10px 16px;font-size:14px;transition:background .2s}.dropdown-menu button:hover{background:var(--gray-100)}.dropdown-menu button:first-child{border-radius:8px 8px 0 0}.dropdown-menu button:last-child{border-radius:0 0 8px 8px}.dropdown-menu button.text-danger{color:var(--danger)}.dropdown-menu button.text-danger:hover{background:#fee2e2}.access-details{flex-direction:column;gap:8px;display:flex}.detail-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.detail-row .label{color:var(--gray-600);font-weight:500}.stats-note{text-align:center;color:var(--gray-500);margin-top:16px;font-size:13px}.user-info-banner{background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-700);border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:14px}.summary-box{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-top:16px;padding:16px}.summary-box h3{color:var(--gray-700);margin-bottom:12px;font-size:14px;font-weight:600}.summary-row{justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.summary-row span{color:var(--gray-600)}.summary-row strong{color:var(--gray-900)}.warning-banner{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-weight:600;display:flex}.modal-description{color:var(--gray-600);margin-bottom:16px;font-size:14px}.info-box{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:20px;padding:16px}.info-row strong{color:var(--gray-700)}.info-row span{color:var(--gray-600)}.consequences-box{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:16px}.consequences-box h4{color:#991b1b;margin-bottom:10px;font-size:14px;font-weight:600}.consequences-box ul{color:#991b1b;margin-left:20px;font-size:13px}.consequences-box li{margin-bottom:4px}.danger-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.danger-btn:hover:not(:disabled){background:#dc2626}.danger-btn:disabled{opacity:.5;cursor:not-allowed}.info-header{color:var(--gray-700);align-items:center;gap:8px;margin-bottom:12px;font-weight:600;display:flex}.current-expiry{background:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:12px;display:flex}.new-expiry-box{background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;margin-top:16px;padding:12px 16px}.expiry-row{color:#1e40af;justify-content:space-between;align-items:center;font-size:14px;display:flex}.expiry-row strong{font-size:16px}.text-warning{color:var(--warning);font-size:13px}.notes-container{max-width:1400px;margin:0 auto;padding:24px}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:24px;display:grid}.note-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:16px;padding:20px;transition:all .2s;display:flex}.note-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.note-icon{background:#eef2ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.note-info{flex:1;min-width:0}.note-info h3{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;font-size:16px;font-weight:600;overflow:hidden}.note-lesson{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:13px;overflow:hidden}.note-program{color:#9ca3af;margin:2px 0;font-size:12px}.note-preview{color:#4b5563;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.note-meta{gap:12px;margin-top:8px;display:flex}.note-actions{flex-direction:column;gap:8px;display:flex}.modal.full-screen{width:95vw;max-width:1200px;height:90vh;max-height:none}.notes-editor-body{flex-direction:column;gap:16px;height:100%;display:flex;overflow:auto}.lesson-selector{background:#f9fafb;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;display:grid}.editor-container{border:1px solid #e5e7eb;border-radius:8px;flex:1;min-height:400px;overflow:hidden}.markdown-editor{resize:vertical;border:none;width:100%;height:100%;min-height:400px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6}.markdown-editor:focus{border-color:#6366f1;outline:none}.markdown-preview{background:#fff;height:100%;padding:20px;overflow-y:auto}.markdown-preview h1{color:#111827;border-bottom:2px solid #e5e7eb;margin:24px 0 16px;padding-bottom:8px;font-size:28px;font-weight:700}.markdown-preview h2{color:#111827;margin:20px 0 12px;font-size:24px;font-weight:600}.markdown-preview h3{color:#111827;margin:16px 0 8px;font-size:20px;font-weight:600}.markdown-preview p{color:#374151;margin:12px 0;line-height:1.7}.markdown-preview ul,.markdown-preview ol{margin:12px 0;padding-left:24px}.markdown-preview li{margin:6px 0;line-height:1.6}.markdown-preview code{color:#dc2626;background:#f3f4f6;border-radius:4px;padding:2px 6px;font-family:Monaco,Menlo,monospace;font-size:13px}.markdown-preview pre{color:#f9fafb;background:#1f2937;border-radius:8px;margin:12px 0;padding:16px;overflow-x:auto}.markdown-preview blockquote{color:#6b7280;border-left:4px solid #6366f1;margin:16px 0;padding-left:16px;font-style:italic}.markdown-preview a:hover{color:#4f46e5}.markdown-preview table{border-collapse:collapse;width:100%;margin:16px 0}.markdown-preview th,.markdown-preview td{text-align:left;border:1px solid #e5e7eb;padding:8px 12px}.markdown-preview th{background:#f9fafb;font-weight:600}.markdown-help{color:#92400e;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;padding:12px 16px;font-size:13px}.markdown-help strong{color:#78350f}.header-actions{align-items:center;gap:12px;display:flex}.payments-container{padding:24px}.payments-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;margin-top:20px;display:grid}.payment-card{background:#fff;border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px rgba(0,0,0,.1)}.payment-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.payment-header{border-bottom:1px solid var(--gray-200);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:700;display:flex}.user-info h3{color:var(--gray-900);margin:0;font-size:16px;font-weight:600}.user-info p{color:var(--gray-600);margin:2px 0;font-size:13px}.user-email{color:var(--gray-500);font-size:12px}.payment-program{background:#eef2ff;border-radius:8px;margin-bottom:12px;padding:12px}.payment-program strong{color:#4f46e5;margin-bottom:4px;font-size:14px;display:block}.program-details{color:#6366f1;gap:8px;font-size:13px;display:flex}.payment-info{background:var(--gray-50);border-radius:8px;margin-bottom:12px;padding:12px}.info-row{justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.info-label{color:var(--gray-600);font-weight:500}.info-value{color:var(--gray-900);font-weight:600}.payment-screenshot{border:1px solid var(--gray-200);border-radius:8px;margin:12px 0;overflow:hidden}.payment-screenshot img{object-fit:cover;cursor:pointer;width:100%;height:200px;transition:transform .2s}.payment-screenshot img:hover{transform:scale(1.02)}.screenshot-label{text-align:center;background:var(--gray-50);color:var(--gray-600);margin:0;padding:8px;font-size:12px}.payment-actions{gap:12px;margin-top:16px;display:flex}.btn-reject,.btn-approve{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-reject{color:#dc2626;background:#fee2e2}.btn-reject:hover:not(:disabled){background:#fca5a5}.btn-approve{background:var(--primary);color:#fff}.btn-approve:hover:not(:disabled){background:var(--primary-dark)}.btn-reject:disabled,.btn-approve:disabled{opacity:.5;cursor:not-allowed}.payment-status{text-align:center;border-radius:8px;margin-top:16px;padding:12px;font-weight:600}.status-approved{color:#059669;background:#d1fae5}.status-rejected{color:#dc2626;background:#fee2e2}.admin-notes{color:var(--gray-700);margin:8px 0 4px;font-size:13px;font-weight:400}.processed-date{color:var(--gray-600);margin:4px 0 0;font-size:12px;font-weight:400}.filter-select{border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:8px;padding:8px 16px;font-size:14px;transition:border-color .2s}.filter-select:hover{border-color:var(--primary)}.filter-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.image-modal{z-index:9999;cursor:pointer;background:rgba(0,0,0,.95);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.image-modal-content{max-width:90%;max-height:90%;position:relative}.image-modal-content img{object-fit:contain;max-width:100%;max-height:90vh}.modal-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:8px;font-size:32px;line-height:1;position:absolute;top:-40px;right:0}.modal-close:hover{color:var(--gray-400)}.modal.full-screen{flex-direction:column;width:90vw;max-width:90vw;height:90vh;max-height:90vh;display:flex}.notes-editor-body{flex-direction:column;flex:1;display:flex;overflow-y:auto}.content-type-toggle{background:var(--gray-100);border-radius:8px;gap:4px;padding:4px;display:flex}.toggle-btn{color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.toggle-btn:hover:not(:disabled){color:var(--gray-900)}.toggle-btn.active{color:var(--primary);background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.lesson-selector{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;padding:20px;display:grid}.file-upload-section{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:16px;display:flex}.upload-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .2s;display:flex}.upload-btn:hover:not(:disabled){background:var(--primary-dark)}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.uploaded-file-info{border:1px solid var(--gray-300);background:#fff;border-radius:6px;flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.uploaded-file-info span{color:var(--gray-900);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:500;overflow:hidden}.clear-file-btn{width:24px;height:24px;color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .2s;display:flex}.clear-file-btn:hover:not(:disabled){background:var(--gray-200);color:var(--danger)}.clear-file-btn:disabled{opacity:.5;cursor:not-allowed}.upload-hint{color:var(--gray-600);margin:0;font-size:13px}.editor-container{flex-direction:column;flex:1;min-height:400px;display:flex}.markdown-editor{border:2px solid var(--gray-200);resize:vertical;border-radius:8px;flex:1;width:100%;min-height:400px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;font-size:14px;line-height:1.6;transition:border-color .2s}.markdown-editor:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.markdown-editor:disabled{background:var(--gray-100);cursor:not-allowed}.markdown-preview{border:2px solid var(--gray-200);background:#fff;border-radius:8px;flex:1;min-height:400px;padding:20px;overflow-y:auto}.markdown-preview h1{color:var(--gray-900);margin-bottom:16px;font-size:32px;font-weight:700}.markdown-preview h2{color:var(--gray-900);margin-top:24px;margin-bottom:12px;font-size:24px;font-weight:700}.markdown-preview h3{color:var(--gray-900);margin-top:20px;margin-bottom:10px;font-size:20px;font-weight:600}.markdown-preview p{color:var(--gray-700);margin-bottom:12px;line-height:1.6}.markdown-preview ul,.markdown-preview ol{margin-bottom:12px;padding-left:24px}.markdown-preview li{margin-bottom:6px;line-height:1.6}.markdown-preview code{background:var(--gray-100);border-radius:4px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;font-size:13px}.markdown-preview pre{background:var(--gray-900);color:var(--gray-100);border-radius:8px;margin-bottom:12px;padding:16px;overflow-x:auto}.markdown-preview pre code{color:inherit;background:0 0;padding:0}.markdown-preview a{color:var(--primary);text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.markdown-preview blockquote{border-left:4px solid var(--primary);color:var(--gray-600);margin:16px 0;padding-left:16px;font-style:italic}.markdown-help{background:var(--gray-50);border-left:4px solid var(--primary);border-radius:8px;margin-top:12px;padding:12px 16px}.markdown-help p{color:var(--gray-600);margin:0;font-size:13px;line-height:1.5}.markdown-help strong{color:var(--gray-900);font-weight:600}.participants-toolbar{border:1px solid var(--gray-200);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:20px;display:flex}.toolbar-stats{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stat-badge{background:var(--primary);color:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;display:flex}.stat-badge.secondary{background:var(--gray-100);color:var(--gray-700)}.toolbar-actions{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.table-container{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.data-table thead tr th{text-align:left;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;padding:16px;font-size:13px;font-weight:700}.data-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background .2s}.data-table tbody tr:hover{background:var(--gray-50)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr td{color:var(--gray-900);padding:16px;font-size:14px}.rank-badge{justify-content:center;align-items:center;display:flex}.rank-medal{font-size:24px}.rank-number{color:var(--gray-700);font-size:16px;font-weight:700}.participant-name{font-weight:600}.contact-info{color:var(--gray-600);align-items:center;gap:8px;display:flex}.contact-info svg{color:var(--gray-400);flex-shrink:0}.score-badge{background:var(--primary);color:#fff;border-radius:12px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-block}.correct-badge{background:var(--success);color:#fff;border-radius:12px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.time-badge{color:var(--gray-700);font-weight:600}.btn{border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-outline{border-color:var(--gray-300);color:var(--gray-700);background:0 0}.btn-outline:hover:not(:disabled){background:var(--gray-100)}.btn-text{color:var(--primary);background:0 0;border:none;padding:8px 12px}.btn-text:hover:not(:disabled){background:var(--gray-100)}.page-subtitle{color:var(--gray-600);align-items:center;margin-top:8px;font-size:16px;display:flex}@media (max-width:768px){.participants-toolbar,.toolbar-actions{flex-direction:column;align-items:stretch}.table-container{overflow-x:auto}.data-table{min-width:800px}}
