:root{--color-bg:#0b0e14;--color-bg-elevated:#12161f;--color-bg-inset:#171c27;--color-border:#232a38;--color-border-strong:#313a4d;--color-text:#e6e9ef;--color-text-muted:#9aa3b5;--color-text-faint:#6b7386;--color-accent:#5b8cff;--color-accent-muted:#2c3e6b;--color-status-online:#3ddc84;--color-status-degraded:#e6b53d;--color-status-offline:#ec5f5f;--color-status-unknown:#7d8598;--color-status-queued:#7d8598;--color-status-running:#5b8cff;--color-status-completed:#3ddc84;--color-status-failed:#ec5f5f;--color-status-waiting:#e6b53d;--color-status-cancelled:#6b7386;--color-status-pending:#e6b53d;--color-status-approved:#3ddc84;--color-status-rejected:#ec5f5f;--color-status-expired:#6b7386;--radius-sm:6px;--radius-md:10px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:inherit}button{font-family:inherit}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}code,.mono{font-family:var(--font-mono)}.app-shell{min-height:100%;display:flex}.sidebar{background:var(--color-bg-elevated);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.sidebar__brand{letter-spacing:-.01em;padding:0 10px 20px;font-size:15px;font-weight:600}.sidebar__brand-sub{color:var(--color-text-faint);margin-top:2px;font-size:11px;font-weight:400;display:block}.sidebar__nav{flex-direction:column;gap:2px;display:flex}.sidebar__link{border-radius:var(--radius-sm);color:var(--color-text-muted);align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex}.sidebar__link:hover{background:var(--color-bg-inset);color:var(--color-text)}.sidebar__link--active{background:var(--color-accent-muted);color:var(--color-text)}.app-shell__main{flex:1;min-width:0}.app-shell__topbar{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);justify-content:flex-end;align-items:center;gap:10px;padding:12px 28px;font-size:13px;display:flex}.topbar__username{color:var(--color-text);font-weight:500}.topbar__role{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-faint);border:1px solid var(--color-border-strong);border-radius:999px;padding:2px 7px;font-size:11px}.app-shell__content{max-width:1280px;padding:24px 28px 48px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header__title{margin:0 0 4px;font-size:20px;font-weight:600}.page-header__subtitle{color:var(--color-text-muted);margin:0;font-size:13.5px}.page-header__actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.page-header__updated{color:var(--color-text-faint);font-size:12px}.btn{appearance:none;border:1px solid var(--color-border-strong);background:var(--color-bg-inset);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;padding:7px 12px;font-size:13px;line-height:1.2}.btn:hover{border-color:var(--color-accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--primary:hover{filter:brightness(1.08)}.btn--danger{border-color:var(--color-status-failed);color:var(--color-status-failed);background:0 0}.btn--danger:hover{background:#ec5f5f1a}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--color-bg-inset);border-color:var(--color-border)}.btn--sm{padding:4px 9px;font-size:12px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:28px;display:grid}.metric-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px 18px}.metric-card__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px}.metric-card__value{margin:0;font-size:26px;font-weight:600}.metric-card__hint{color:var(--color-text-faint);margin:6px 0 0;font-size:12px}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:24px}.card__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.card__title{margin:0;font-size:14px;font-weight:600}.card__link{color:var(--color-accent);font-size:12.5px;text-decoration:none}.card__body{padding:4px 18px 14px}.status-badge{background:var(--color-bg-inset);border:1px solid var(--color-border-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.status-badge__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-badge--online .status-badge__dot,.status-badge--completed .status-badge__dot,.status-badge--approved .status-badge__dot{background:var(--color-status-online)}.status-badge--degraded .status-badge__dot,.status-badge--waiting .status-badge__dot,.status-badge--pending .status-badge__dot{background:var(--color-status-degraded)}.status-badge--offline .status-badge__dot,.status-badge--failed .status-badge__dot,.status-badge--rejected .status-badge__dot{background:var(--color-status-offline)}.status-badge--unknown .status-badge__dot,.status-badge--queued .status-badge__dot,.status-badge--cancelled .status-badge__dot,.status-badge--expired .status-badge__dot{background:var(--color-status-unknown)}.status-badge--running .status-badge__dot{background:var(--color-status-running)}.data-table-wrap{overflow-x:auto}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 18px;font-size:11.5px}.data-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:12px 18px;font-size:13.5px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr[data-clickable=true]{cursor:pointer}.data-table tbody tr[data-clickable=true]:hover{background:var(--color-bg-inset)}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.filter-bar select,.filter-bar input{background:var(--color-bg-inset);border:1px solid var(--color-border-strong);color:var(--color-text);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px}.state-block{text-align:center;color:var(--color-text-muted);padding:40px 20px}.state-block__title{color:var(--color-text);margin:0 0 4px;font-size:13.5px}.state-block__detail{color:var(--color-text-faint);margin:0 0 14px;font-size:12.5px}.error-state .state-block__title{color:var(--color-status-offline)}.skeleton-row{background:linear-gradient(90deg, var(--color-bg-inset) 25%, var(--color-border) 37%, var(--color-bg-inset) 63%);background-size:400% 100%;border-radius:4px;height:14px;margin:10px 18px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.agent-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.agent-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;padding:16px 18px;text-decoration:none;display:block}.agent-card:hover{border-color:var(--color-border-strong)}.agent-card__top{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.agent-card__name{margin:0;font-size:15px;font-weight:600}.agent-card__role{color:var(--color-text-muted);margin:2px 0 0;font-size:12.5px}.agent-card__meta{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tag{color:var(--color-text-muted);background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:4px;padding:2px 7px;font-size:11px}.activity-timeline{flex-direction:column;display:flex}.activity-timeline__item{border-bottom:1px solid var(--color-border);gap:14px;padding:10px 18px;display:flex}.activity-timeline__item:last-child{border-bottom:none}.activity-timeline__time{width:76px;color:var(--color-text-faint);font-size:12px;font-family:var(--font-mono);flex-shrink:0;padding-top:2px}.activity-timeline__body{min-width:0}.activity-timeline__type{font-size:13px;font-weight:500}.activity-timeline__meta{color:var(--color-text-muted);margin-top:2px;font-size:12px}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 24px;padding:4px 18px 16px;display:grid}.detail-field__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);margin:0 0 4px;font-size:11.5px}.detail-field__value{word-break:break-word;margin:0;font-size:13.5px}.id-badge{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg-inset);border:1px solid var(--color-border);cursor:default;border-radius:4px;padding:2px 6px;font-size:12px}.dialog-backdrop{z-index:50;background:#05070c99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:380px;max-width:calc(100vw - 32px);padding:20px}.dialog__title{margin:0 0 8px;font-size:15px;font-weight:600}.dialog__body{color:var(--color-text-muted);margin:0 0 18px;font-size:13.5px}.dialog__actions{justify-content:flex-end;gap:8px;display:flex}.toast{background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);z-index:60;padding:10px 16px;font-size:13px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #0006}.toast--error{border-color:var(--color-status-failed)}.toast--success{border-color:var(--color-status-online)}.login-page{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.login-card{flex-direction:column;gap:14px;width:100%;max-width:340px;padding:28px 26px;display:flex}.login-card__brand{letter-spacing:.02em;color:var(--color-text-muted);text-transform:uppercase;font-size:12.5px;font-weight:600}.login-card__title{margin:0 0 4px;font-size:20px;font-weight:600}.login-field{flex-direction:column;gap:6px;display:flex}.login-field__label{color:var(--color-text-muted);font-size:12.5px}.login-field__input{background:var(--color-bg-inset);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);padding:8px 10px;font-family:inherit;font-size:14px}.login-field__input:focus{border-color:var(--color-accent);outline:none}.login-card__error{color:var(--color-status-failed);margin:0;font-size:13px}.login-card__submit{text-align:center;width:100%;margin-top:4px}@media (width<=860px){.sidebar{width:64px;padding:16px 8px}.sidebar__brand,.sidebar__link-label{display:none}.sidebar__link{justify-content:center}.app-shell__content{padding:20px 16px 40px}}
