: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;--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;--success-50:#ecfdf5;--success-500:#10b981;--warning-50:#fffbeb;--warning-500:#f59e0b;--error-50:#fef2f2;--error-500:#ef4444;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:1rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #00000026;--transition-default:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--gray-50);color:var(--gray-900);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--gray-900);margin-bottom:var(--space-md);font-weight:700}a{color:var(--primary-600);font-weight:600;text-decoration:none}.container{max-width:1200px;padding:var(--space-xl);margin:0 auto}.card{border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);transition:transform var(--transition-default), box-shadow var(--transition-default);background:#fff}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-default);border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--primary-600);color:#fff}.btn-primary:hover{background-color:var(--primary-700);transform:translateY(-1px)}.btn-secondary{border:1px solid var(--gray-300);color:var(--gray-700);background-color:#fff}.btn-secondary:hover{background-color:var(--gray-50)}.form-group{margin-bottom:var(--space-lg)}.form-label{margin-bottom:var(--space-xs);color:var(--gray-700);font-weight:600;display:block}.form-input{border:1.5px solid var(--gray-300);border-radius:var(--radius-md);width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.form-input:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #6366f133}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-card{padding:var(--space-xl);text-align:center}.stat-value{color:var(--primary-600);margin-bottom:var(--space-xs);font-size:2rem;font-weight:800}.stat-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.layout{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--gray-200);width:280px;padding:var(--space-xl);background:#fff}.main-content{padding:var(--space-xl);flex:1}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.min-h-screen{min-height:100vh}.bg-gray-50{background-color:var(--gray-50)}.py-12{padding-top:3rem;padding-bottom:3rem}.px-4{padding-left:1rem;padding-right:1rem}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.text-center{text-align:center}.mb-8{margin-bottom:2rem}.mb-4{margin-bottom:1rem}.inline-flex{display:inline-flex}.w-16{width:4rem}.h-16{height:4rem}.w-8{width:2rem}.h-8{height:2rem}.w-12{width:3rem}.h-12{height:3rem}.rounded-full{border-radius:9999px}.bg-primary-100{background-color:var(--primary-100)}.text-primary-600{color:var(--primary-600)}.text-gray-900{color:var(--gray-900);font-weight:900}.text-gray-600{color:var(--gray-600)}.mt-2{margin-top:.5rem}.p-6{padding:1.5rem}.mb-6{margin-bottom:1.5rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-4>*+*{margin-top:1rem}.font-bold{font-weight:700}.bg-red-50{background-color:var(--error-50)}.text-red-600{color:var(--error-500)}.gap-4{gap:1rem}.flex-1{flex:1}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
