@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--primary:#ea3b92;--primary-light:#f472b6;--primary-dark:#be185d;--primary-50:#fdf2f8;--primary-100:#fce7f3;--primary-200:#fbcfe8;--primary-300:#f9a8d4;--primary-400:#f472b6;--primary-500:#ea3b92;--primary-600:#db2777;--primary-700:#be185d;--primary-800:#9d174d;--primary-900:#831843;--bg:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-elevated:#fff;--text:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--info:#3b82f6;--info-light:#dbeafe;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--header-height:64px;--sidebar-width:260px}[data-theme=dark]{--bg:#0a0a0a;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--bg-card:#141414;--bg-elevated:#1c1c1c;--text:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverse:#0f172a;--border:#262626;--border-light:#1e1e1e;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #0006;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #0006;--success-light:#064e3b;--warning-light:#78350f;--danger-light:#7f1d1d;--info-light:#1e3a5f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.btn{border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;line-height:1.4;transition:all .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #ea3b924d}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px #ea3b9266}.btn-secondary{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-outline{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:#fff}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.btn-icon{border-radius:var(--radius);width:40px;height:40px;padding:0}.btn-icon.btn-sm{width:32px;height:32px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:all .2s}.card-hover:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-200);transform:translateY(-2px)}[data-theme=dark] .card-hover:hover{border-color:var(--primary-800)}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:14px;font-weight:500}.form-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);outline:none;padding:10px 14px;font-size:14px;transition:all .2s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ea3b9226}.form-input::placeholder{color:var(--text-tertiary)}.form-textarea{resize:vertical;min-height:80px}.form-select{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='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge-primary{background:var(--primary-100);color:var(--primary-700)}[data-theme=dark] .badge-primary{color:var(--primary-400);background:#ea3b9226}.badge-success{background:var(--success-light);color:#065f46}[data-theme=dark] .badge-success{color:var(--success)}.badge-warning{background:var(--warning-light);color:#92400e}[data-theme=dark] .badge-warning{color:var(--warning)}.badge-beginner{color:#1e40af;background:#dbeafe}.badge-intermediate{color:#92400e;background:#fef3c7}.badge-advanced{color:#991b1b;background:#fee2e2}[data-theme=dark] .badge-beginner{color:#60a5fa;background:#3b82f626}[data-theme=dark] .badge-intermediate{color:#fbbf24;background:#f59e0b26}[data-theme=dark] .badge-advanced{color:#f87171;background:#ef444426}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.4s ease-out fadeIn}.animate-slide-up{animation:.5s ease-out slideUp}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.spinner-lg{border-width:3px;width:40px;height:40px}.alert{border-radius:var(--radius);align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.alert-error{background:var(--danger-light);color:var(--danger);border:1px solid #ef444433}.alert-success{background:var(--success-light);color:var(--success);border:1px solid #10b98133}.page-header{margin-bottom:32px}.page-header h1{color:var(--text);font-size:28px;font-weight:800;line-height:1.2}.page-header p{color:var(--text-secondary);margin-top:6px;font-size:15px}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state svg{opacity:.4;width:64px;height:64px;margin-bottom:16px}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:18px;font-weight:600}.table-wrapper{border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border-light);padding:12px 16px;font-size:14px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-secondary)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:20px;display:flex}.stat-card .stat-icon{border-radius:var(--radius);background:var(--primary-100);width:44px;height:44px;color:var(--primary);justify-content:center;align-items:center;display:flex}[data-theme=dark] .stat-card .stat-icon{background:#ea3b921f}.stat-card .stat-value{color:var(--text);font-size:28px;font-weight:800;line-height:1}.stat-card .stat-label{color:var(--text-tertiary);font-size:13px;font-weight:500}
