@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@500;600;700;800&display=swap";:root{--primary-50:#f3f0ff;--primary-100:#e8e0ff;--primary-200:#d1c2ff;--primary-300:#b49aff;--primary-400:#9b7aff;--primary-500:#7c5cfc;--primary-600:#6644e6;--primary-700:#5233cc;--primary-800:#3d26a3;--primary-900:#2b1a7a;--neutral-0:#fff;--neutral-50:#fafbfc;--neutral-100:#f1f3f5;--neutral-200:#e4e7eb;--neutral-300:#cdd3da;--neutral-400:#9ba3ae;--neutral-500:#6b7685;--neutral-600:#4e5968;--neutral-700:#374151;--neutral-800:#1f2937;--neutral-900:#111827;--success-50:#ecfdf5;--success-100:#d1fae5;--success-500:#10b981;--success-600:#059669;--success-700:#047857;--danger-50:#fff1f0;--danger-100:#ffe0de;--danger-500:#f43f5e;--danger-600:#e11d48;--danger-700:#be123c;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--info-50:#f0f9ff;--info-100:#e0f2fe;--info-500:#0ea5e9;--info-600:#0284c7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Outfit", "Inter", sans-serif;--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;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:9999px;--border-light:1px solid var(--neutral-200);--border-focus:2px solid var(--primary-400);--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #00000012, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 20px #7c5cfc26;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1);--max-width:1200px;--navbar-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--neutral-800);background-color:var(--neutral-50);min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--primary-500);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-700)}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--neutral-900)}h1{font-size:var(--text-4xl);font-weight:var(--weight-extrabold)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg);font-weight:var(--weight-semibold)}p{color:var(--neutral-600);line-height:var(--leading-relaxed)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));color:var(--neutral-0);box-shadow:var(--shadow-sm), 0 0 0 0 #7c5cfc00}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-600), var(--primary-700));box-shadow:var(--shadow-md), 0 0 16px #7c5cfc40;transform:translateY(-1px)}.btn-secondary{background:var(--neutral-0);color:var(--neutral-700);border:var(--border-light);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300);box-shadow:var(--shadow-sm)}.btn-ghost{color:var(--neutral-600);padding:var(--space-2) var(--space-3);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--neutral-100);color:var(--neutral-800)}.btn-danger{background:var(--danger-500);color:var(--neutral-0)}.btn-danger:hover:not(:disabled){background:var(--danger-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background:var(--success-500);color:var(--neutral-0)}.btn-success:hover:not(:disabled){background:var(--success-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md)}.input-group{gap:var(--space-2);flex-direction:column;display:flex}.input-group label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--neutral-700)}.input,input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--neutral-800);background:var(--neutral-0);border:var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none}.input:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,textarea:focus,select:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #7c5cfc1a}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--neutral-400)}textarea{resize:vertical;min-height:120px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7685' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.card{background:var(--neutral-0);border:var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md), var(--shadow-glow);transform:translateY(-2px)}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);white-space:nowrap;letter-spacing:.02em;display:inline-flex}.badge-primary{background:var(--primary-50);color:var(--primary-700)}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-danger{background:var(--danger-50);color:var(--danger-700)}.badge-warning{background:var(--warning-50);color:var(--warning-600)}.badge-info{background:var(--info-50);color:var(--info-600)}.badge-neutral{background:var(--neutral-100);color:var(--neutral-600)}.tag-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--primary-50);color:var(--primary-600);font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-pill);border:1px solid var(--primary-100);transition:all var(--transition-fast);display:inline-flex}.tag-chip button{color:var(--primary-400);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.tag-chip button:hover{color:var(--danger-500)}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-6);margin:0 auto}.page{padding-top:calc(var(--navbar-height) + var(--space-8));padding-bottom:var(--space-12);flex:1}.page-header{margin-bottom:var(--space-8)}.page-header h1{margin-bottom:var(--space-2)}.page-header p{font-size:var(--text-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.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)}.grid{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)}@media (width<=1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.dashboard-content-grid{gap:var(--space-8);grid-template-columns:2fr 1fr;display:grid}@media (width<=900px){.dashboard-content-grid{grid-template-columns:1fr}}.stat-card{background:var(--neutral-0);border:var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);align-items:flex-start;gap:var(--space-4);transition:all var(--transition-base);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-card .stat-icon.purple{background:var(--primary-50);color:var(--primary-500)}.stat-card .stat-icon.green{background:var(--success-50);color:var(--success-500)}.stat-card .stat-icon.blue{background:var(--info-50);color:var(--info-500)}.stat-card .stat-icon.amber{background:var(--warning-50);color:var(--warning-500)}.stat-card .stat-content h4{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--neutral-900);margin-bottom:var(--space-1)}.stat-card .stat-content p{font-size:var(--text-sm);color:var(--neutral-500)}.navbar{height:var(--navbar-height);-webkit-backdrop-filter:blur(12px);border-bottom:var(--border-light);z-index:100;background:#ffffffd9;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar .container{justify-content:space-between;align-items:center;display:flex}.navbar-brand{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.navbar-brand .logo{background:linear-gradient(135deg, var(--primary-500), var(--primary-400));border-radius:var(--radius-md);color:#fff;width:36px;height:36px;font-weight:var(--weight-bold);font-size:var(--text-lg);justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #7c5cfc4d}.navbar-brand span{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--neutral-900)}.navbar-nav{align-items:center;gap:var(--space-1);list-style:none;display:flex}.navbar-nav .nav-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--neutral-500);border-radius:var(--radius-md);transition:all var(--transition-base);text-decoration:none;display:flex}.navbar-nav .nav-link:hover{color:var(--neutral-800);background:var(--neutral-100)}.navbar-nav .nav-link.active{color:var(--primary-600);background:var(--primary-50)}.navbar-actions{align-items:center;gap:var(--space-3);display:flex}.navbar-user{align-items:center;gap:var(--space-2);display:flex}.navbar-user .avatar{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--primary-200), var(--primary-400));width:32px;height:32px;color:var(--neutral-0);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:center;align-items:center;display:flex}.auth-page{background:linear-gradient(135deg, var(--primary-50) 0%, var(--neutral-50) 50%, var(--info-50) 100%);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--neutral-0);border-radius:var(--radius-xl);width:100%;max-width:420px;padding:var(--space-10);box-shadow:var(--shadow-xl);border:var(--border-light)}.auth-card .auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-card .auth-header .logo-wrapper{background:linear-gradient(135deg, var(--primary-500), var(--primary-400));border-radius:var(--radius-lg);width:56px;height:56px;margin:0 auto var(--space-5);justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #7c5cfc4d}.auth-card .auth-header h1{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.auth-card .auth-header p{font-size:var(--text-sm)}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-form .btn-primary{width:100%;padding:var(--space-3) var(--space-5)}.auth-footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--neutral-500)}.auth-footer a{font-weight:var(--weight-semibold)}.auth-error{padding:var(--space-3) var(--space-4);background:var(--danger-50);border:1px solid var(--danger-100);border-radius:var(--radius-md);color:var(--danger-600);font-size:var(--text-sm);align-items:center;gap:var(--space-2);display:flex}.upload-zone{border:2px dashed var(--neutral-300);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--neutral-50)}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--primary-400);background:var(--primary-50)}.upload-zone.drag-over{border-style:solid;transform:scale(1.01)}.upload-zone .upload-icon{width:56px;height:56px;margin:0 auto var(--space-4);background:var(--primary-50);border-radius:var(--radius-xl);color:var(--primary-500);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.upload-zone:hover .upload-icon{background:var(--primary-100);transform:translateY(-2px)}.upload-zone h4{margin-bottom:var(--space-2);font-size:var(--text-base)}.upload-zone p{font-size:var(--text-sm);color:var(--neutral-400)}.upload-zone .file-types{justify-content:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.steps-indicator{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);display:flex}.step-item{align-items:center;gap:var(--space-2);display:flex}.step-circle{border-radius:var(--radius-pill);width:32px;height:32px;font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.step-circle.active{background:var(--primary-500);color:var(--neutral-0);box-shadow:0 0 0 4px var(--primary-100)}.step-circle.completed{background:var(--success-500);color:var(--neutral-0)}.step-circle.inactive{background:var(--neutral-200);color:var(--neutral-500)}.step-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--neutral-500)}.step-label.active{color:var(--primary-600)}.step-connector{background:var(--neutral-200);border-radius:1px;width:48px;height:2px}.step-connector.completed{background:var(--success-500)}.question-card{background:var(--neutral-0);border:var(--border-light);border-radius:var(--radius-lg);transition:all var(--transition-base);overflow:hidden}.question-card:hover{box-shadow:var(--shadow-md)}.question-card.excluded{opacity:.5}.question-card-header{padding:var(--space-4) var(--space-5);background:var(--neutral-50);border-bottom:var(--border-light);justify-content:space-between;align-items:center;display:flex}.question-card-header .question-number{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--neutral-500)}.question-card-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.question-card-body .field-group{gap:var(--space-2);flex-direction:column;display:flex}.question-card-body .field-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em}.question-card-actions{align-items:center;gap:var(--space-2);display:flex}.empty-state{text-align:center;padding:var(--space-16) var(--space-6)}.empty-state .empty-icon{width:80px;height:80px;margin:0 auto var(--space-6);background:var(--primary-50);border-radius:var(--radius-2xl);color:var(--primary-400);justify-content:center;align-items:center;display:flex}.empty-state h3{margin-bottom:var(--space-3);color:var(--neutral-700)}.empty-state p{max-width:400px;margin:0 auto var(--space-6);color:var(--neutral-500)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;padding:var(--space-6);background:#0006;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--neutral-0);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:480px;box-shadow:var(--shadow-xl);animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp}.modal-content h3{margin-bottom:var(--space-2)}.modal-content p{font-size:var(--text-sm);margin-bottom:var(--space-6)}.modal-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.spinner{justify-content:center;align-items:center;display:inline-flex}.spinner-circle{border:3px solid var(--neutral-200);border-top-color:var(--primary-500);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.spinner-lg .spinner-circle{border-width:4px;width:40px;height:40px}.loading-screen{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-16);flex-direction:column;display:flex}.loading-screen p{font-size:var(--text-sm);color:var(--neutral-500);animation:2s ease-in-out infinite pulse}.divider{align-items:center;gap:var(--space-4);color:var(--neutral-400);font-size:var(--text-sm);display:flex}.divider:before,.divider:after{content:"";background:var(--neutral-200);flex:1;height:1px}.toast-custom{font-family:var(--font-body)!important;font-size:var(--text-sm)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-in{animation:.3s cubic-bezier(.34,1.56,.64,1) both slideUp}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.skeleton{background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-200) 50%, var(--neutral-100) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.skeleton-heading{width:50%;height:24px;margin-bottom:var(--space-4)}.checkbox-item,.radio-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--neutral-50);border:var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;display:flex}.checkbox-item:hover,.radio-item:hover{border-color:var(--primary-300);background:var(--primary-50)}.checkbox-item.selected,.radio-item.selected{border-color:var(--primary-400);background:var(--primary-50)}.checkbox-item input,.radio-item input{width:auto;accent-color:var(--primary-500)}.range-group{gap:var(--space-2);flex-direction:column;display:flex}.range-group .range-header{justify-content:space-between;align-items:center;display:flex}.range-group .range-value{font-weight:var(--weight-semibold);color:var(--primary-600);font-size:var(--text-lg)}input[type=range]{-webkit-appearance:none;background:var(--neutral-200);border:none;border-radius:3px;outline:none;width:100%;height:6px;padding:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary-500);cursor:pointer;width:20px;height:20px;transition:transform var(--transition-fast);border-radius:50%;box-shadow:0 2px 6px #7c5cfc4d}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}@media (width<=768px){:root{--navbar-height:56px}.container{padding:0 var(--space-4)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}.auth-card{padding:var(--space-6)}.navbar-nav .nav-link span{display:none}.steps-indicator{flex-wrap:wrap}.step-label{display:none}}
