@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f3f4f6;color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}:root{--primary:#1e40af;--primary-dark:#1e3a8a;--primary-light:#3b82f6;--success:#059669;--success-light:#10b981;--danger:#dc2626;--danger-light:#ef4444;--warning:#d97706;--warning-light:#f59e0b;--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}button{cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.card-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.card-title{color:#1f2937;color:var(--gray-800);font-size:1.125rem;font-weight:600}.btn{align-items:center;border:none;border-radius:8px;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.625rem 1.25rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#1e40af;background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:#1e3a8a;background:var(--primary-dark)}.btn-success{background:#059669;background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#047857}.btn-danger{background:#dc2626;background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-warning{background:#d97706;background:var(--warning);color:#fff}.btn-warning:hover:not(:disabled){background:#b45309}.btn-secondary{background:#e5e7eb;background:var(--gray-200);color:#374151;color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background:#d1d5db;background:var(--gray-300)}.btn-outline{background:#0000;border:1px solid #d1d5db;border:1px solid var(--gray-300);color:#374151;color:var(--gray-700)}.btn-outline:hover:not(:disabled){background:#f3f4f6;background:var(--gray-100)}.btn-lg{font-size:1rem;padding:.875rem 1.75rem}.btn-sm{font-size:.75rem;padding:.375rem .75rem}.btn-block{width:100%}.form-group{margin-bottom:1rem}.form-label{color:#374151;color:var(--gray-700);display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.form-input{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;font-size:.875rem;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus{border-color:#1e40af;border-color:var(--primary);box-shadow:0 0 0 3px #1e40af1a;outline:none}.form-input::placeholder{color:#9ca3af;color:var(--gray-400)}.form-select{background:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;cursor:pointer;font-size:.875rem;padding:.625rem .875rem;width:100%}.form-select:focus{border-color:#1e40af;border-color:var(--primary);box-shadow:0 0 0 3px #1e40af1a;outline:none}.alert{border-radius:8px;font-size:.875rem;margin-bottom:1rem;padding:.875rem 1rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .625rem}.badge-primary{background:#dbeafe;color:#1e40af}.badge-success{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-gray{background:#e5e7eb;background:var(--gray-200);color:#374151;color:var(--gray-700)}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);padding:.75rem 1rem;text-align:left}.table th{color:#6b7280;color:var(--gray-500);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table tbody tr:hover,.table th{background:#f9fafb;background:var(--gray-50)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-title{font-size:1.125rem;font-weight:600}.modal-close{background:none;border:none;color:#9ca3af;color:var(--gray-400);cursor:pointer;font-size:1.5rem}.modal-close:hover{color:#4b5563;color:var(--gray-600)}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.spinner{animation:logoPulse 1.2s ease-in-out infinite;background:url(data:image/png;base64,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) 50%/contain no-repeat;height:60px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes logoPulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.empty-state{color:#6b7280;color:var(--gray-500);padding:3rem 1.5rem;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{color:#374151;color:var(--gray-700);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f3f4f6;background:var(--gray-100)}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--gray-400)}