@font-face{font-family:Franklin Gothic;src:url(/fonts/Franklin-Gothic-Medium.ttf) format("truetype");font-weight:400 600;font-display:swap}:root{--brand-1: #6366f1;--brand-2: #7c3aed;--ink: #1a1d29;--ink-soft: #5a6072;--surface: #f5f6fa;--card: #ffffff;--border: #e3e6ee}*{box-sizing:border-box}body{margin:0;font-family:Franklin Gothic,Segoe UI,Arial,sans-serif;background:var(--surface);color:var(--ink)}.placeholder{color:#444}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;background:#fdecea;border:1px solid #f5c2c0;color:#7a1f1f;border-radius:4px}.error-banner .dismiss-btn{background:transparent;border:none;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .25rem}.toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar h1{margin:0 auto 0 0}.search-input{padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;min-width:220px}.filter-select{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#333}.filter-select select{padding:.35rem .4rem;border:1px solid #ccc;border-radius:4px;background:#fff;font:inherit;text-transform:capitalize}.loading,.empty{color:#666}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th,.data-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid #e6e6e6}.data-table thead th{background:#f5f6fa;font-weight:600;font-size:.85rem;color:#333}.data-table .checkbox-col{width:2.5rem}.data-table thead th.sortable{padding:0}.sort-header{display:flex;align-items:center;gap:.35rem;width:100%;padding:.6rem .75rem;background:transparent;border:none;cursor:pointer;font:inherit;font-weight:600;font-size:.85rem;color:#333;text-align:left}.sort-header:hover{background:#e8eaf2}.sort-indicator{font-size:.7rem;color:#555;min-width:.8rem}.pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.pagination .page-size{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#333}.pagination .page-size select{padding:.25rem .4rem;border:1px solid #ccc;border-radius:4px;background:#fff;font:inherit}.pagination .page-info{font-size:.85rem;color:#555;margin-right:auto}.pagination .page-btn{padding:.35rem .9rem;border:1px solid #ccc;border-radius:4px;background:#fff;font:inherit;font-size:.85rem;cursor:pointer}.pagination .page-btn:hover:not(:disabled){background:#f5f6fa}.pagination .page-btn:disabled{opacity:.5;cursor:default}.status-chip{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-pending{background:#eceef1;color:#4b5563}.status-running{background:#dbeafe;color:#1d4ed8}.status-completed{background:#dcfce7;color:#15803d}.status-failed{background:#fde2e1;color:#b91c1c}.callout{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.callout h2{margin:0 0 .5rem;font-size:1rem}.callout-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a5b13}.callout-error{background:#fdecea;border:1px solid #f5c2c0;color:#7a1f1f}.back-link{display:inline-block;margin-bottom:1rem;color:#1a1a2e;text-decoration:none}.back-link:hover{text-decoration:underline}
