@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap);:root{--bg:#0a0f1e;--surface:#111827;--surface-raised:#1a2235;--surface-hover:#1e2a40;--border:#1f2937;--border-light:#2d3748;--accent:#3b82f6;--accent-hover:#2563eb;--accent-muted:#3b82f61f;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--success:#10b981;--success-muted:#10b9811f;--warning:#f59e0b;--warning-muted:#f59e0b1f;--danger:#ef4444;--danger-muted:#ef44441f;--purple:#8b5cf6;--purple-muted:#8b5cf61f;--sidebar-width:232px;--radius:8px;--radius-sm:6px;--radius-xs:4px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0f1e;background:var(--bg);color:#f9fafb;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#2d3748;background:var(--border-light);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--text-muted)}.card{background:#111827;background:var(--surface);border:1px solid #1f2937;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);padding:20px}.card-sm{padding:14px 16px}.card-hover{cursor:pointer;transition:border-color .15s,background .15s}.card-hover:hover{background:#1a2235;background:var(--surface-raised);border-color:#2d3748;border-color:var(--border-light)}.btn{align-items:center;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;justify-content:center;line-height:1;padding:7px 15px;transition:background .15s,opacity .15s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#3b82f6;background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;background:var(--accent-hover)}.btn-secondary{background:#1a2235;background:var(--surface-raised);border:1px solid #1f2937;border:1px solid var(--border);color:#f9fafb;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#1e2a40;background:var(--surface-hover);border-color:#2d3748;border-color:var(--border-light)}.btn-ghost{background:#0000;color:#9ca3af;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:#1a2235;background:var(--surface-raised);color:#f9fafb;color:var(--text-primary)}.btn-danger{background:#ef4444;background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{font-size:12px;padding:5px 11px}.btn-lg{font-size:15px;padding:10px 20px}.btn-icon{align-items:center;background:#0000;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#9ca3af;color:var(--text-secondary);cursor:pointer;display:inline-flex;justify-content:center;padding:6px;transition:background .15s,color .15s}.btn-icon:hover,.input,.select,.textarea{background:#1a2235;background:var(--surface-raised);color:#f9fafb;color:var(--text-primary)}.input,.select,.textarea{-webkit-appearance:none;appearance:none;border:1px solid #1f2937;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);font-family:inherit;font-size:14px;outline:none;padding:8px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:#3b82f6;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61f;box-shadow:0 0 0 3px var(--accent-muted)}.input::placeholder,.textarea::placeholder{color:#6b7280;color:var(--text-muted)}.select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}.textarea{min-height:80px;resize:vertical}.input-group{display:flex;flex-direction:column;gap:5px}.input-label{color:#9ca3af;color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.01em}.input-error{color:#ef4444;color:var(--danger);font-size:12px;margin-top:4px}.badge{align-items:center;border-radius:4px;border-radius:var(--radius-xs);display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.badge-blue{background:#3b82f61f;background:var(--accent-muted);color:#60a5fa}.badge-green{background:#10b9811f;background:var(--success-muted);color:#34d399}.badge-yellow{background:#f59e0b1f;background:var(--warning-muted);color:#fbbf24}.badge-red{background:#ef44441f;background:var(--danger-muted);color:#f87171}.badge-purple{background:#8b5cf61f;background:var(--purple-muted);color:#a78bfa}.badge-gray{background:#6b728026;color:#9ca3af}.table-wrapper{border:1px solid #1f2937;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);overflow:hidden}table{border-collapse:collapse;font-size:13px;width:100%}thead{background:#1a2235;background:var(--surface-raised);border-bottom:1px solid #1f2937;border-bottom:1px solid var(--border)}thead th{color:#9ca3af;color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 16px;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}tbody tr{border-bottom:1px solid #1f2937;border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#1a2235;background:var(--surface-raised)}tbody td{color:#f9fafb;color:var(--text-primary);padding:11px 16px;vertical-align:middle}.page{max-width:1400px;padding:28px 32px}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.page-header-text h1{color:#f9fafb;color:var(--text-primary);font-size:20px;font-weight:600;line-height:1.2}.page-header-text p{color:#9ca3af;color:var(--text-secondary);font-size:13px;margin-top:4px}.stat-card{background:#111827;background:var(--surface);border:1px solid #1f2937;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);padding:18px 20px}.stat-label{color:#9ca3af;color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.stat-value{color:#f9fafb;color:var(--text-primary);font-size:28px;font-weight:700;line-height:1;margin-top:6px}.stat-sub{color:#6b7280;color:var(--text-muted);font-size:12px;margin-top:6px}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1}.items-center{align-items:center}.items-start{align-items:flex-start}.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-6{gap:24px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.w-full{width:100%}.text-sm{font-size:12px}.text-secondary{color:#9ca3af;color:var(--text-secondary)}.text-muted{color:#6b7280;color:var(--text-muted)}.text-accent{color:#3b82f6;color:var(--accent)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{align-items:center;color:#9ca3af;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.empty-state h3{color:#f9fafb;color:var(--text-primary);font-size:15px;font-weight:500;margin-bottom:6px}.empty-state p{color:#9ca3af;color:var(--text-secondary);font-size:13px;line-height:1.6;max-width:320px}.spinner{animation:spin .65s linear infinite;border:2px solid #2d3748;border-top-color:#3b82f6;border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--accent);display:inline-block;height:18px;width:18px}.spinner-lg{border-width:3px;height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen{align-items:center;display:flex;flex:1 1;height:100%;justify-content:center}.divider{border:none;border-top:1px solid #1f2937;border-top:1px solid var(--border);margin:16px 0}
/*# sourceMappingURL=main.cc232685.css.map*/