*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--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;--green-50:#f0fdf4;--green-100:#dcfce7;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--red-50:#fef2f2;--red-100:#fee2e2;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--yellow-50:#fefce8;--yellow-100:#fef9c3;--yellow-500:#eab308;--yellow-600:#ca8a04;--purple-50:#faf5ff;--purple-500:#a855f7;--purple-600:#9333ea;--shadow-sm:0 1px 2px 0 #0000000d;--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;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans)}body{background:#f9fafb;background:var(--gray-50);color:#111827;color:var(--gray-900);line-height:1.5}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--gray-400)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (min-width:768px){.md-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.h-screen{height:100vh}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.p-8{padding:32px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.py-2{padding-bottom:8px;padding-top:8px}.py-3{padding-bottom:12px;padding-top:12px}.py-4{padding-bottom:16px;padding-top:16px}.m-0{margin:0}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.ml-auto{margin-left:auto}.text-xs{font-size:12px;line-height:16px}.text-sm{font-size:14px;line-height:20px}.text-base{font-size:16px;line-height:24px}.text-lg{font-size:18px;line-height:28px}.text-xl{font-size:20px;line-height:28px}.text-2xl{font-size:24px;line-height:32px}.text-3xl{font-size:30px;line-height:36px}.text-4xl{font-size:36px;line-height:40px}.text-5xl{font-size:48px;line-height:1}.text-6xl{font-size:60px;line-height:1}.text-8xl{font-size:96px;line-height:1}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.font-mono{font-family:ui-monospace,SFMono-Regular,monospace}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.text-white{color:#fff}.text-gray-400{color:#9ca3af;color:var(--gray-400)}.text-gray-500{color:#6b7280;color:var(--gray-500)}.text-gray-600{color:#4b5563;color:var(--gray-600)}.text-gray-700{color:#374151;color:var(--gray-700)}.text-gray-800{color:#1f2937;color:var(--gray-800)}.text-gray-900{color:#111827;color:var(--gray-900)}.text-blue-300{color:#93c5fd;color:var(--primary-300)}.text-blue-600{color:#2563eb;color:var(--primary-600)}.text-blue-700{color:#1d4ed8;color:var(--primary-700)}.text-blue-200{color:#bfdbfe;color:var(--primary-200)}.text-green-700{color:#15803d;color:var(--green-700)}.text-green-800{color:#166534}.text-red-500{color:#ef4444;color:var(--red-500)}.text-red-600{color:#dc2626;color:var(--red-600)}.text-red-700{color:#b91c1c;color:var(--red-700)}.text-red-800{color:#991b1b}.text-yellow-800{color:#854d0e}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb;background-color:var(--gray-50)}.bg-gray-100{background-color:#f3f4f6;background-color:var(--gray-100)}.bg-blue-50{background-color:#eff6ff;background-color:var(--primary-50)}.bg-blue-100{background-color:#dbeafe;background-color:var(--primary-100)}.bg-blue-600{background-color:#2563eb;background-color:var(--primary-600)}.bg-blue-700{background-color:#1d4ed8;background-color:var(--primary-700)}.bg-green-50{background-color:#f0fdf4;background-color:var(--green-50)}.bg-green-100{background-color:#dcfce7;background-color:var(--green-100)}.bg-green-500{background-color:#22c55e;background-color:var(--green-500)}.bg-red-50{background-color:#fef2f2;background-color:var(--red-50)}.bg-red-100{background-color:#fee2e2;background-color:var(--red-100)}.bg-red-500{background-color:#ef4444;background-color:var(--red-500)}.bg-yellow-50{background-color:#fefce8;background-color:var(--yellow-50)}.bg-yellow-100{background-color:#fef9c3;background-color:var(--yellow-100)}.bg-yellow-500{background-color:#eab308;background-color:var(--yellow-500)}.bg-purple-50{background-color:#faf5ff;background-color:var(--purple-50)}.rounded{border-radius:6px;border-radius:var(--radius-sm)}.rounded-md{border-radius:8px;border-radius:var(--radius-md)}.rounded-lg{border-radius:12px;border-radius:var(--radius-lg)}.rounded-xl{border-radius:16px;border-radius:var(--radius-xl)}.rounded-2xl{border-radius:20px;border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px;border-radius:var(--radius-full)}.border{border:1px solid #e5e7eb;border:1px solid var(--gray-200)}.border-b{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200)}.border-t{border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100)}.border-gray-100{border-color:#f3f4f6;border-color:var(--gray-100)}.border-gray-200{border-color:#e5e7eb;border-color:var(--gray-200)}.border-gray-300{border-color:#d1d5db;border-color:var(--gray-300)}.border-blue-200{border-color:#bfdbfe;border-color:var(--primary-200)}.border-green-200{border-color:#bbf7d0}.border-green-300{border-color:#86efac}.border-red-200{border-color:#fecaca}.border-red-300{border-color:#fca5a5}.border-yellow-200{border-color:#fef08a}.border-yellow-300{border-color:#fde047}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.transition-colors{transition:color .15s,background-color .15s,border-color .15s}.transition-all{transition:all .2s ease}.transition-transform{transition:transform .3s ease}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.inset-0{bottom:0;left:0;right:0;top:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.opacity-60{opacity:.6}.backdrop-blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.space-y-1>*+*{margin-top:4px}.space-y-2>*+*{margin-top:8px}.space-y-3>*+*{margin-top:12px}.space-y-4>*+*{margin-top:16px}.space-y-6>*+*{margin-top:24px}.min-w-0{min-width:0}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.hidden{display:none}@media (min-width:1024px){.lg-hidden{display:none}.lg-static{position:static}.lg-translate-x-0{transform:translateX(0)}.lg-flex{display:flex}.lg-block{display:block}.lg-p-6{padding:24px}.lg-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn{align-items:center;border:none;border-radius:16px;border-radius:var(--radius-xl);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:600;gap:8px;justify-content:center;line-height:1.5;padding:10px 20px;text-decoration:none;transition:all .15s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#2563eb;background:var(--primary-600);color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8;background:var(--primary-700);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.btn-secondary{background:#f3f4f6;background:var(--gray-100);border:1px solid #e5e7eb;border:1px solid var(--gray-200);color:#374151;color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background:#e5e7eb;background:var(--gray-200)}.btn-danger{background:#dc2626;background:var(--red-600);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;background:var(--red-700)}.btn-success{background:#16a34a;background:var(--green-600);color:#fff}.btn-success:hover:not(:disabled){background:#15803d;background:var(--green-700)}.btn-sm{font-size:13px;padding:6px 14px}.btn-xs{font-size:11px;padding:4px 10px}.btn-lg{font-size:16px;padding:14px 28px}.btn-ghost{background:#0000;color:#4b5563;color:var(--gray-600)}.btn-ghost:hover:not(:disabled){background:#f3f4f6;background:var(--gray-100)}.input{background:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:16px;border-radius:var(--radius-xl);color:#111827;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;outline:none;padding:10px 16px;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus{border-color:#3b82f6;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f626}.input::placeholder{color:#9ca3af;color:var(--gray-400)}.input-lg{font-size:16px;padding:14px 20px}.select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7280' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:16px;border-radius:var(--radius-xl);color:#111827;color:var(--gray-900);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;outline:none;padding:10px 36px 10px 16px;width:100%}.select:focus{border-color:#3b82f6;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f626}textarea.input{border-radius:12px;border-radius:var(--radius-lg);min-height:80px;resize:vertical}.label{color:#374151;color:var(--gray-700);display:block;font-size:14px;font-weight:500;margin-bottom:4px}.form-group{margin-bottom:16px}.card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-xl);overflow:hidden}.card-header{background:#f9fafb;background:var(--gray-50);border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);color:#1f2937;color:var(--gray-800);font-weight:600;padding:16px 20px}.card-body{padding:20px}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:12px;font-weight:600;gap:4px;line-height:20px;padding:2px 10px}.badge-blue{background:#dbeafe;background:var(--primary-100);color:#1d4ed8;color:var(--primary-700)}.badge-green{background:#dcfce7;background:var(--green-100);color:#15803d;color:var(--green-700)}.badge-red{background:#fee2e2;background:var(--red-100);color:#b91c1c;color:var(--red-700)}.badge-yellow{background:#fef9c3;background:var(--yellow-100);color:#854d0e}.badge-gray{background:#f3f4f6;background:var(--gray-100);color:#4b5563;color:var(--gray-600)}.badge-purple{background:#faf5ff;background:var(--purple-50);color:#9333ea;color:var(--purple-600)}.table-container{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-xl);overflow-x:auto}.table{border-collapse:collapse;font-size:14px;width:100%}.table th{background:#f9fafb;background:var(--gray-50);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);color:#6b7280;color:var(--gray-500);font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.table td{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);color:#374151;color:var(--gray-700);padding:12px 16px}.table tr:last-child td{border-bottom:none}.table tr:hover{background:#f9fafb;background:var(--gray-50)}.modal-overlay{align-items:center;animation:fadeIn .15s ease;background:#0006;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:50}.modal-overlay.bottom{align-items:flex-end}.modal{animation:slideUp .2s ease;background:#fff;border-radius:20px;border-radius:var(--radius-2xl);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:20px 24px 0}.modal-header h2{color:#111827;color:var(--gray-900);font-size:18px;font-weight:700}.modal-body{padding:20px 24px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:0 24px 20px}.toast-container{display:flex;flex-direction:column;gap:8px;position:fixed;right:16px;top:16px;z-index:100}.toast{align-items:center;animation:slideIn .3s ease;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);display:flex;font-size:14px;font-weight:500;gap:8px;min-width:280px;padding:12px 20px}.toast-success{background:#16a34a;background:var(--green-600);color:#fff}.toast-error{background:#dc2626;background:var(--red-600);color:#fff}.toast-info{background:#2563eb;background:var(--primary-600);color:#fff}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#2563eb;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary-600);display:inline-block;height:32px;width:32px}.spinner-sm{border-width:2px;height:16px;width:16px}.stat-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-xl);padding:20px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.stat-card .stat-value{font-size:32px;font-weight:800;line-height:1;margin-bottom:4px}.stat-card .stat-label{color:#6b7280;color:var(--gray-500);font-size:14px;font-weight:500}.alert{align-items:flex-start;border-radius:12px;border-radius:var(--radius-lg);display:flex;font-size:14px;gap:10px;padding:12px 16px}.alert-error{background:#fef2f2;background:var(--red-50);border:1px solid var(--red-200);color:#b91c1c;color:var(--red-700)}.alert-success{background:#f0fdf4;background:var(--green-50);border:1px solid var(--green-200);color:#15803d;color:var(--green-700)}.alert-warning{background:#fefce8;background:var(--yellow-50);border:1px solid var(--yellow-200);color:#854d0e}.alert-info{background:#eff6ff;background:var(--primary-50);border:1px solid #bfdbfe;border:1px solid var(--primary-200);color:#1d4ed8;color:var(--primary-700)}.empty-state{color:#6b7280;color:var(--gray-500);padding:48px 24px;text-align:center}.empty-state .empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state h3{color:#374151;color:var(--gray-700);font-size:16px;font-weight:600;margin-bottom:4px}.search-input-wrap{position:relative}.search-input-wrap .search-icon{color:#9ca3af;color:var(--gray-400);left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input-wrap .input{padding-left:42px}.tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:4px;margin-bottom:20px}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--gray-500);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:500;padding:10px 16px;transition:all .15s}.tab:hover{color:#374151;color:var(--gray-700)}.tab.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary-600);color:#2563eb;color:var(--primary-600)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-spin{animation:spin .8s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.bg-gradient-blue{background:linear-gradient(135deg,#eff6ff,#e0e7ff);background:linear-gradient(135deg,var(--primary-50),#e0e7ff)}.bg-gradient-dark{background:linear-gradient(135deg,#1e1b4b,#312e81)}@media (max-width:767px){.hide-mobile{display:none!important}}@media (min-width:768px){.hide-desktop{display:none!important}}@media (max-width:1023px){.-translate-x-full{transform:translateX(-100%)}.translate-x-0{transform:translateX(0)}}
/*# sourceMappingURL=main.b0c53d03.css.map*/