:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1b2328;background:#f3f0ea;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}button:disabled{cursor:wait;opacity:.7}.admin-shell{min-height:100vh;padding:28px;display:flex;flex-direction:column;gap:18px}.masthead,.metrics,.metric,.panel-title,.access-row,.workflow-row,.job-row{display:flex;align-items:center}.masthead{justify-content:space-between;gap:18px}.eyebrow{margin:0 0 4px;color:#746b5f;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:0}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05}h2{font-size:1rem}.icon-button{width:42px;height:42px;border:0;border-radius:8px;background:#244c6a;color:#fff;display:inline-grid;place-items:center;cursor:pointer}.metrics{gap:10px;overflow-x:auto}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-tabs button{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid #ded8cc;border-radius:8px;background:#fff;color:#746b5f;padding:0 13px;font-weight:800;cursor:pointer}.admin-tabs button.active{border-color:#6443e8;background:#ece7ff;color:#34206d}.tab-count{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:#b8323b;color:#fff;font-size:.7rem}.metric{min-width:180px;gap:10px;padding:13px 14px;background:#fff;border:1px solid #ded8cc;border-radius:8px}.metric span{color:#746b5f;font-size:.8rem}.metric strong{margin-left:auto;font-size:1.05rem}.layout,.connection-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.connection-admin-wide{grid-column:1 / -1}.connection-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.connection-admin-table .workflow-row{grid-template-columns:minmax(170px,1fr) 100px minmax(130px,.8fr)}.panel{background:#fff;border:1px solid #ded8cc;border-radius:8px;padding:16px;min-width:0}.panel-title{gap:8px;color:#244c6a;margin-bottom:14px}.access-list,.tenant-grid,.workflow-table{display:grid;gap:8px}.access-row,.workflow-row,.job-row{min-height:56px;gap:12px;border-bottom:1px solid #eee8dd;padding:8px 0}.access-row div,.job-row div{min-width:0;flex:1}.access-row strong,.job-row strong{display:block;margin-bottom:3px}.access-row span,.job-row span,.tenant-row span{color:#746b5f;font-size:.82rem}code{border:1px solid #d7e0e2;background:#f2f8f9;color:#244c6a;border-radius:6px;padding:4px 7px;font-size:.78rem;white-space:nowrap}.tenant-row{min-height:66px;display:grid;grid-template-columns:92px minmax(130px,1fr) 116px 132px;gap:10px;align-items:center;border-bottom:1px solid #eee8dd}.workflow-row{display:grid;grid-template-columns:minmax(180px,1fr) 92px 82px}.badge{min-width:72px;min-height:28px;display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:800;text-transform:capitalize}.badge.ok{color:#0f4d32;background:#d8f0dc}.badge.warning{color:#715100;background:#ffe7a8}.badge.missing{color:#703c00;background:#f4d1a7}.badge.blocked{color:#842029;background:#f5d6da}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.research-admin{display:grid;gap:14px}.research-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid #6443e8}.research-hero h2{font-size:1.5rem;color:#1b2328}.research-hero p:not(.eyebrow){margin:7px 0 0;color:#746b5f;font-size:.84rem}.runtime-stack{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:end;gap:5px 8px;white-space:nowrap}.runtime-stack code{grid-column:2}.live-dot{width:9px;height:9px;border-radius:999px;background:#999;box-shadow:0 0 0 4px #9999991f}.live-dot.ok{background:#17854e;box-shadow:0 0 0 4px #17854e24}.live-dot.warning{background:#d69000;box-shadow:0 0 0 4px #d6900024}.inline-alert{min-height:42px;display:flex;align-items:center;gap:9px;border:1px solid;border-radius:8px;padding:9px 12px;font-size:.84rem;font-weight:700}.inline-alert.warning{color:#715100;background:#fff7db;border-color:#f0cf6e}.inline-alert.critical{color:#842029;background:#fff0f1;border-color:#e6a6ac}.research-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px}.research-kpi{min-height:78px;display:flex;align-items:center;gap:11px;border:1px solid #ded8cc;border-radius:8px;background:#fff;padding:12px}.research-kpi>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#edf0f2;color:#244c6a}.research-kpi div{display:grid;gap:3px}.research-kpi small{color:#746b5f;font-size:.72rem}.research-kpi strong{font-size:1.24rem;line-height:1}.research-kpi.queued>span{color:#725300;background:#fff1bd}.research-kpi.running>span{color:#174f87;background:#dbeeff}.research-kpi.review>span{color:#6a3c88;background:#eee2f8}.research-kpi.failed>span{color:#9c2731;background:#fae1e3}.research-kpi.completed>span{color:#0f6640;background:#dff2e5}.research-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:14px}.research-span-2{min-width:0}.dependency-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.dependency{min-height:29px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:800}.dependency i,.rights-list i{width:7px;height:7px;flex:0 0 7px;border-radius:999px}.dependency.ready{color:#0f4d32;background:#dff2e5}.dependency.ready i{background:#16814c}.dependency.missing{color:#842029;background:#fae1e3}.dependency.missing i{background:#bb3842}.worker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.worker-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;border:1px solid #e6e0d6;border-radius:8px;padding:11px;background:#faf9f6}.worker-card div{min-width:0}.worker-card strong{display:block;font-size:.86rem}.worker-card span:not(.status-pill){display:block;color:#746b5f;font-size:.72rem;margin-top:3px}.worker-card small{grid-column:1 / -1;color:#746b5f}.status-pill{display:inline-flex;width:fit-content;min-height:24px;align-items:center;justify-content:center;border-radius:999px;padding:3px 8px;white-space:nowrap;font-size:.68rem;font-weight:900;text-transform:capitalize}.status-pill.queued{color:#715100;background:#ffe9a9}.status-pill.running{color:#174f87;background:#dbeeff}.status-pill.review{color:#633282;background:#eadcf5}.status-pill.failed{color:#842029;background:#f5d6da}.status-pill.completed{color:#0f4d32;background:#d8f0dc}.status-pill.other{color:#51575c;background:#e7eaec}.problem-list{display:grid;gap:8px;max-height:254px;overflow-y:auto;padding-right:3px}.problem-row{display:flex;gap:9px;border:1px solid #e5ded3;border-radius:8px;padding:9px}.problem-row.critical{border-color:#ebc1c5;background:#fff5f5}.problem-row.warning{border-color:#eddba4;background:#fffbef}.problem-icon{width:27px;height:27px;display:grid;flex:0 0 27px;place-items:center;border-radius:7px;color:#8e2730;background:#f5d6da}.problem-row.warning .problem-icon{color:#715100;background:#ffe7a8}.problem-row div{min-width:0}.problem-row strong,.problem-row span,.problem-row small{display:block}.problem-row strong{font-size:.8rem;margin-bottom:2px}.problem-row span{color:#625b52;font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}.problem-row small{color:#91877b;margin-top:5px;font-size:.68rem}.queue-card-grid{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:10px}.queue-card{display:grid;gap:9px;text-align:left;border:1px solid #ded8cc;border-radius:8px;background:#fff;padding:12px;color:inherit;cursor:pointer}.queue-card:hover{border-color:#9e8ee8;background:#fcfbff}.queue-card.selected{border-color:#6443e8;box-shadow:0 0 0 2px #6443e81c}.queue-card header{display:flex;align-items:center;justify-content:space-between;gap:7px}.queue-card header strong{font-size:.85rem}.queue-card small{display:block;color:#746b5f;font-size:.69rem;line-height:1.3}.queue-card small.muted{color:#9b9287}.queue-counts{display:grid;grid-template-columns:1fr 1fr;gap:5px}.queue-counts span{color:#746b5f;font-size:.72rem}.queue-counts b{color:#1b2328}.table-scroll{width:100%;overflow-x:auto}.research-table{width:100%;border-collapse:collapse;min-width:940px}.research-table th{border-bottom:1px solid #d9d1c4;padding:9px 10px;color:#746b5f;text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.research-table td{border-bottom:1px solid #eee8dd;padding:10px;vertical-align:middle;font-size:.78rem}.research-table tbody tr:last-child td{border-bottom:0}.research-table td>strong{display:block}.tenant-rights-table{min-width:1060px}.tenant-filter-button{display:grid;justify-items:start;gap:5px;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:left}.tenant-filter-button:hover strong{color:#6443e8}.rights-list{display:grid;gap:4px}.rights-list span{display:flex;align-items:center;gap:6px;font-size:.7rem}.right-enabled{color:#0f6640}.right-enabled i{background:#16814c}.right-disabled{color:#8a7f73}.right-disabled i{background:#b8b0a6}.cell-note{display:block;max-width:250px;margin-top:4px;color:#847b70;font-size:.68rem;line-height:1.3;overflow-wrap:anywhere}.queue-inline{white-space:nowrap;color:#625b52}.budget-usage{min-width:150px;display:flex;align-items:center;gap:8px}.budget-usage>div{width:76px;height:7px;overflow:hidden;border-radius:999px;background:#e6e1d7}.budget-usage>div>span{display:block;height:100%;border-radius:999px;background:#6443e8}.budget-usage strong{font-size:.72rem;white-space:nowrap}.queue-browser-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.queue-browser-title>span{color:#8a8074;font-size:.7rem}.queue-filters{display:grid;grid-template-columns:minmax(135px,.7fr) minmax(155px,.9fr) minmax(145px,.8fr) minmax(220px,1.4fr) auto;align-items:end;gap:9px;padding:11px;margin-bottom:10px;border:1px solid #e4ded4;border-radius:8px;background:#faf9f6}.queue-filters label{display:grid;gap:5px;color:#746b5f;font-size:.68rem;font-weight:800}.queue-filters select,.queue-filters input{width:100%;height:36px;border:1px solid #d8d0c4;border-radius:7px;background:#fff;color:#1b2328;padding:0 9px;font:inherit;font-size:.78rem}.queue-search>span{position:relative;display:block}.queue-search svg{position:absolute;left:10px;top:10px;color:#8d8478}.queue-search input{padding-left:32px}.secondary-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cfc6b8;border-radius:7px;background:#fff;color:#244c6a;padding:7px 11px;font-size:.78rem;font-weight:800;cursor:pointer}.reset-filters{white-space:nowrap}.jobs-table{min-width:1180px}.jobs-table th:nth-child(1){width:105px}.jobs-table th:nth-child(2){width:160px}.jobs-table th:nth-child(3){width:225px}.jobs-table th:nth-child(4){width:180px}.jobs-table th:nth-child(5){width:180px}.job-table-row{cursor:pointer}.job-table-row:hover td{background:#fbfaf7}.job-table-row.expanded td{background:#f5f1ff;border-bottom-color:#ded2ff}.id-code{display:block;width:fit-content;max-width:210px;margin-top:5px;overflow:hidden;text-overflow:ellipsis}.mini-progress{width:110px;height:5px;margin-top:7px;overflow:hidden;border-radius:99px;background:#e4dfd7}.mini-progress span{display:block;height:100%;border-radius:99px;background:#6443e8}.error-copy{display:-webkit-box;max-width:300px;overflow:hidden;color:#9a2d37;line-height:1.35;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.job-detail-row td{padding:13px;background:#faf8ff}.job-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.detail-item{min-width:0;display:grid;gap:3px}.detail-item span{color:#877d72;font-size:.66rem}.detail-item strong{overflow-wrap:anywhere;font-size:.76rem}.detail-item strong.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.job-detail-row pre{max-height:250px;overflow:auto;margin:12px 0 0;border:1px solid #ddd4ef;border-radius:7px;background:#fff;color:#4c405c;padding:10px;font-size:.7rem}.empty-state{min-height:56px;display:grid;place-items:center;color:#8c8276;font-size:.78rem;text-align:center}.research-unavailable{min-height:300px;display:grid;place-items:center;align-content:center;gap:11px;text-align:center}.research-unavailable .panel-title{justify-self:start;width:100%}.research-unavailable>span{color:#746b5f;font-size:.82rem}@media(max-width:920px){.admin-shell{padding:18px}.masthead{align-items:flex-start}.layout,.connection-admin-grid,.connection-admin-metrics{grid-template-columns:1fr}.connection-admin-wide{grid-column:auto}.tenant-row,.workflow-row{grid-template-columns:1fr;align-items:start}.research-hero{align-items:flex-start;flex-direction:column}.runtime-stack{justify-items:start}.runtime-stack code{grid-column:2}.research-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.research-grid,.worker-grid{grid-template-columns:1fr}.queue-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-filters{grid-template-columns:1fr 1fr}.reset-filters{width:100%}.job-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.admin-shell{padding:12px}.metrics{display:grid;grid-template-columns:1fr 1fr}.metric{min-width:0}.research-kpis,.queue-card-grid,.queue-filters,.job-detail-grid{grid-template-columns:1fr}}
