*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.6;color:#1f2937;background:#f9fafb}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:.875rem}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;border:1px solid transparent;transition:background .15s,border-color .15s}.btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn-primary:hover{background:#1d4ed8;text-decoration:none}.btn-danger{background:#fff;color:#dc2626;border-color:#fecaca}.btn-danger:hover{background:#fef2f2;border-color:#dc2626}.btn-secondary{background:#fff;color:#374151;border-color:#d1d5db}.btn-secondary:hover{background:#f3f4f6;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-family:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-green{background:#dcfce7;color:#166534}.badge-yellow{background:#fef9c3;color:#854d0e}.badge-gray{background:#f3f4f6;color:#6b7280}.badge-blue{background:#dbeafe;color:#1e40af}.badge-red{background:#fee2e2;color:#991b1b}.mono{font-family:SF Mono,Fira Code,Menlo,monospace;font-size:.8125rem}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.topbar-left{display:flex;align-items:center;gap:2rem}.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.125rem;color:#111827}.brand:hover{text-decoration:none}.brand-mark{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;font-weight:700;font-size:.9rem}.topbar nav{display:flex;gap:1rem}.topbar nav a{color:#6b7280;font-size:.875rem}.topbar nav a:hover{text-decoration:none;color:#374151}.topbar nav a.active{color:#2563eb;font-weight:600}.topbar-right{display:flex;align-items:center;gap:1rem}main.container{flex:1;padding:1.5rem;max-width:80rem;width:100%;margin:0 auto}.center{display:flex;justify-content:center;padding-top:3rem}.page-title{font-size:1.75rem;font-weight:700;margin-bottom:.25rem;color:#111827}.page-meta{color:#6b7280;font-size:.875rem;margin-bottom:1.25rem}.page-meta strong{color:#1f2937;font-weight:600}.muted{color:#6b7280}.small{font-size:.8125rem}.error{color:#dc2626}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1rem 0 1.25rem}.search{flex:1 1 18rem;min-width:14rem}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.table thead th{text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;padding:.625rem .875rem;background:#fafafa;border-bottom:1px solid #e5e7eb}.table tbody td{padding:.75rem .875rem;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-size:.875rem}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fafafa}.row-actions{display:inline-flex;gap:.25rem;justify-content:flex-end}.empty{padding:3rem 1.5rem;text-align:center;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem}.empty strong{color:#1f2937;display:block;margin-bottom:.25rem}.icon-btn{width:2rem;height:2rem;border:1px solid transparent;background:transparent;border-radius:.375rem;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover{background:#f3f4f6;color:#1f2937;border-color:#e5e7eb}.icon-btn.icon-danger:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.icon-btn svg{width:1rem;height:1rem}.dept-group{margin:1.75rem 0}.dept-head{display:flex;align-items:baseline;gap:.625rem;margin-bottom:.875rem}.dept-head h2{font-size:1.125rem;font-weight:600;color:#111827}.dept-head .count{color:#9ca3af;font-weight:500;font-size:.95rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.agent-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.125rem;display:block;transition:border-color .15s,box-shadow .15s}.agent-card:hover{text-decoration:none;border-color:#c7d2fe;box-shadow:0 1px 3px #0000000f}.agent-card-head{display:flex;gap:.75rem;align-items:flex-start}.agent-card-title{font-weight:600;font-size:1rem;color:#111827}.avatar{border-radius:9999px;object-fit:cover;background:#e0e7ff;flex-shrink:0}.avatar-initials{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#3730a3;background:#e0e7ff;flex-shrink:0;border-radius:9999px}.caps{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.875rem}.cap{font-size:.75rem;background:#f3f4f6;color:#6b7280;padding:.125rem .5rem;border-radius:9999px}.cap-more{color:#2563eb;background:#dbeafe}.detail-head{display:flex;gap:1.25rem;align-items:center;margin:.75rem 0 1rem}.detail-head h1{font-size:1.5rem;font-weight:700;color:#111827}.detail-section{margin-top:1.5rem}.detail-section h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:#111827}.kv-list{list-style:none}.kv-list li{padding:.25rem 0}.jd{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem 1.25rem;white-space:pre-wrap;word-break:break-word;font:inherit;color:#374151;margin:0}.callout{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;padding:1rem 1.25rem;margin:1rem 0}.callout strong{color:#1e3a8a}.token{background:#1f2937;color:#e5e7eb;border-radius:.375rem;padding:.75rem 1rem;overflow-x:auto;-webkit-user-select:all;user-select:all;margin:.625rem 0;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:.8125rem}.field{display:flex;flex-direction:column;gap:.25rem}.field label{font-size:.75rem;color:#6b7280}
