.layout[data-v-17735f5f]{min-height:100vh;display:flex}.sidebar[data-v-17735f5f]{background:#0f172a;flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:0;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand[data-v-17735f5f]{border-bottom:1px solid #ffffff0f;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:1.25rem 1rem;display:flex}.brand-icon[data-v-17735f5f]{color:#818cf8;background:#6366f133;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-name[data-v-17735f5f]{color:#f1f5f9;font-size:.875rem;font-weight:700;line-height:1.2}.brand-sub[data-v-17735f5f]{color:#475569;margin-top:1px;font-size:.6875rem}.nav-section-label[data-v-17735f5f]{text-transform:uppercase;letter-spacing:.1em;color:#334155;padding:.75rem 1rem .25rem;font-size:.625rem;font-weight:700}nav[data-v-17735f5f]{flex-direction:column;gap:2px;padding:0 .5rem;display:flex}.nav-link[data-v-17735f5f]{color:#64748b;border-radius:7px;align-items:center;gap:.625rem;padding:.5625rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-link[data-v-17735f5f]:hover{color:#cbd5e1;background:#ffffff0d}.nav-link.active[data-v-17735f5f]{color:#a5b4fc;background:#6366f126}.nav-icon[data-v-17735f5f]{flex-shrink:0;align-items:center;width:16px;height:16px;display:flex}.nav-icon[data-v-17735f5f] svg{width:16px;height:16px}.nav-badge[data-v-17735f5f]{background:#ef4444;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-left:auto;box-shadow:0 0 0 2px #0f172a}.content[data-v-17735f5f]{flex:1;min-width:0;padding:1.75rem 2rem;overflow:auto}.login-overlay[data-v-d10ddbfc]{background:#0f172a;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box[data-v-d10ddbfc]{text-align:center;background:#1e293b;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;width:320px;padding:2rem;display:flex}.login-brand[data-v-d10ddbfc]{color:#818cf8;background:#6366f133;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.login-title[data-v-d10ddbfc]{color:#f1f5f9;margin-bottom:.25rem;font-size:1.125rem;font-weight:700}.login-sub[data-v-d10ddbfc]{color:#64748b;margin-bottom:1.5rem;font-size:.8125rem}.login-form[data-v-d10ddbfc]{flex-direction:column;gap:.75rem;width:100%;display:flex}.login-input[data-v-d10ddbfc]{color:#f1f5f9;box-sizing:border-box;background:#0f172a;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:.625rem .875rem;font-size:.875rem}.login-input[data-v-d10ddbfc]:focus{border-color:#6366f1}.login-btn[data-v-d10ddbfc]{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:.625rem;font-size:.875rem;font-weight:600;transition:background .15s}.login-btn[data-v-d10ddbfc]:hover:not(:disabled){background:#4f46e5}.login-btn[data-v-d10ddbfc]:disabled{opacity:.6;cursor:not-allowed}.login-error[data-v-d10ddbfc]{color:#f87171;text-align:center;font-size:.8125rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f1f5f9;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--border-light:#f1f5f9;--text:#0f172a;--text-2:#475569;--text-3:#94a3b8;--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#eef2ff;--success:#10b981;--success-light:#d1fae5;--success-text:#065f46;--warning:#f59e0b;--warning-light:#fef3c7;--warning-text:#92400e;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#fee2e2;--danger-text:#991b1b;--neutral-light:#f1f5f9;--neutral-text:#475569;--radius:8px;--radius-sm:5px;--radius-lg:12px;--shadow:0 1px 3px #00000012, 0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--transition:.15s ease}html,body{height:100%}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5}#app{height:100%}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}h1{font-size:1.25rem;font-weight:700}h2{color:var(--text);margin-bottom:.25rem;font-size:1.125rem;font-weight:600}h3{color:var(--text);font-size:.9375rem;font-weight:600}h4{color:var(--text-2);font-size:.875rem;font-weight:600}code{background:var(--neutral-light);color:var(--accent);border-radius:4px;padding:.125em .375em;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8125em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all var(--transition);white-space:nowrap;align-items:center;gap:.375rem;padding:.4375rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:var(--surface-2);color:var(--text);border-color:#cbd5e1}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-danger{color:var(--danger);border-color:#fca5a5}.btn-danger:hover{background:var(--danger-light);color:var(--danger-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--neutral-light);border-color:#0000}.btn-sm{padding:.3125rem .625rem;font-size:.75rem}.btn-xs{padding:.1875rem .5rem;font-size:.6875rem}.input,.select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.4375rem .75rem;font-family:inherit;font-size:.8125rem;line-height:1.5}.input:focus,.select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-light);color:var(--success-text)}.badge-danger{background:var(--danger-light);color:var(--danger-text)}.badge-warning{background:var(--warning-light);color:var(--warning-text)}.badge-neutral{background:var(--neutral-light);color:var(--neutral-text)}.badge-accent{background:var(--accent-light);color:var(--accent)}.table{border-collapse:collapse;width:100%}.table thead tr{border-bottom:2px solid var(--border)}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);white-space:nowrap;padding:.5rem .875rem;font-size:.6875rem;font-weight:600}.table td{border-bottom:1px solid var(--border-light);color:var(--text);vertical-align:middle;padding:.625rem .875rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg)}.table tbody tr.clickable{cursor:pointer}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{color:var(--text-3);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;font-size:.875rem;display:flex}.empty-state{color:var(--text-3);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;display:flex}.empty-state-icon{opacity:.5;margin-bottom:.25rem;font-size:2rem}.empty-state strong{color:var(--text-2)}.alert{border-radius:var(--radius);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5;display:flex}.alert-error{background:var(--danger-light);color:var(--danger-text);border:1px solid #fca5a5}.alert-success{background:var(--success-light);color:var(--success-text);border:1px solid #6ee7b7}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-label{color:var(--text-2);font-size:.8125rem;font-weight:500}.form-hint{color:var(--text-3);font-size:.75rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;margin-bottom:1.25rem;display:flex}.page-header .btn-sm{flex-shrink:0}.page-title{color:var(--text);font-size:1.125rem;font-weight:700}.page-subtitle{color:var(--text-3);margin-top:.125rem;font-size:.8125rem}
