:root{--bg: #F0EEE6;--bg-2: #E9E6DC;--surface: #FAF9F5;--surface-2: #F5F3EC;--ink: #1F1E1D;--ink-2: #3D3D3A;--ink-3: #6B6A65;--ink-4: #9C9A93;--line: #DDD9CD;--line-2: #C9C4B5;--accent: #C96442;--accent-soft: #EFD9CD;--red: #B7372A;--red-soft: #F2DAD4;--amber: #B07A1C;--amber-soft: #F4E6CC;--green: #4F7A4A;--green-soft: #DDE7D6;--blue: #3F6E94;--blue-soft: #D6E0EA;--violet: #6F558D;--violet-soft: #E0D7EB;--serif: "Source Serif 4", Georgia, "Times New Roman", serif;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius: 10px;--radius-sm: 6px;--shadow-1: 0 1px 0 rgba(31, 30, 29, .04), 0 1px 2px rgba(31, 30, 29, .04);--shadow-2: 0 1px 2px rgba(31, 30, 29, .06), 0 6px 16px rgba(31, 30, 29, .06)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:18px;padding:14px 24px;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:26px;height:26px;border-radius:7px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-size:13px;font-weight:600}.brand-name{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.01em}.brand-version{font-family:var(--mono);font-size:11px;color:var(--ink-4)}.tabs{display:flex;gap:2px;margin-left:12px}.tab{border:0;background:transparent;padding:7px 14px;font-size:13.5px;font-weight:500;color:var(--ink-3);border-radius:var(--radius-sm);transition:background 80ms,color 80ms}.tab:hover{color:var(--ink);background:var(--bg-2)}.tab.active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-1)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--ink-2);padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.status-pill .ind{width:7px;height:7px;border-radius:50%;background:var(--green)}.status-pill .ind.amber{background:var(--amber)}.status-pill .ind.red{background:var(--red)}.page{flex:1;padding:22px 28px 60px;max-width:1480px;width:100%;margin:0 auto}.page h1{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:-.015em;margin:0 0 4px}.page .subtitle{color:var(--ink-3);font-size:14px;margin-bottom:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-1)}.card.flush{padding:0}.card.elevated{box-shadow:var(--shadow-2)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-title{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.005em}.card-sub{color:var(--ink-3);font-size:12px}.row{display:flex;gap:12px}.col{display:flex;flex-direction:column;gap:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:12px;font-weight:500;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip.red{background:var(--red-soft);border-color:transparent;color:var(--red)}.chip.amber{background:var(--amber-soft);border-color:transparent;color:var(--amber)}.chip.green{background:var(--green-soft);border-color:transparent;color:var(--green)}.chip.blue{background:var(--blue-soft);border-color:transparent;color:var(--blue)}.chip.violet{background:var(--violet-soft);border-color:transparent;color:var(--violet)}.chip.solid{background:var(--ink);color:var(--bg);border-color:transparent}.chip.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink-3)}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.dot.green{background:var(--green)}.dot.blue{background:var(--blue)}.dot.pulse{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.55}}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--ink);transition:background 80ms,border-color 80ms}.btn:hover{background:var(--surface-2);border-color:var(--line-2)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{background:#2c2b29}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{filter:brightness(.96)}.btn.ghost{background:transparent}.btn.danger{background:var(--red-soft);color:var(--red);border-color:transparent}.btn.sm{padding:5px 10px;font-size:12px}.mono{font-family:var(--mono);font-size:12px}.mono-xs{font-family:var(--mono);font-size:11px}.serif{font-family:var(--serif)}.muted{color:var(--ink-3)}.label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:500}.toggle{display:inline-flex;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:2px}.toggle button{padding:4px 12px;border:0;background:transparent;font-size:12px;font-weight:500;border-radius:999px;color:var(--ink-3)}.toggle button.on{background:var(--ink);color:var(--bg)}.side{width:220px;border-right:1px solid var(--line);background:var(--bg);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.side-section{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);margin:14px 8px 4px}.side-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--ink-2);cursor:pointer}.side-item:hover{background:var(--bg-2)}.side-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.split{display:flex;min-height:calc(100vh - 60px)}.split>.side+.main{flex:1;padding:24px 28px;overflow:auto}.bar{width:100%;height:6px;background:var(--bg-2);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--ink);border-radius:999px}.bar.accent>span{background:var(--accent)}.logline{font-family:var(--mono);font-size:11.5px;display:flex;gap:10px;padding:4px 0;border-bottom:1px dashed var(--line);color:var(--ink-2)}.logline:last-child{border-bottom:none}.lvl-error{color:var(--red);font-weight:600}.lvl-warn{color:var(--amber);font-weight:600}.lvl-info{color:var(--blue)}.agent-node{display:inline-flex;flex-direction:column;align-items:center;gap:6px}.agent-circle{width:56px;height:56px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:22px;box-shadow:var(--shadow-1);position:relative;transition:background .12s,border-color .12s}.agent-circle.active{background:#fff6e5;border-color:var(--amber)}.agent-circle.done{background:var(--green-soft);border-color:transparent}.agent-circle .pulse-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--amber);animation:ring 1.4s ease-out infinite;pointer-events:none}@keyframes ring{0%{transform:scale(.92);opacity:1}to{transform:scale(1.18);opacity:0}}.agent-name{font-size:13px;font-weight:600;color:var(--ink)}.agent-meta{font-family:var(--mono);font-size:10px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em}.pipeline{display:flex;align-items:center;justify-content:space-between;gap:6px}table.t{width:100%;border-collapse:collapse}table.t th,table.t td{text-align:left;padding:9px 12px;font-size:13px;border-bottom:1px solid var(--line)}table.t th{font-weight:500;color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em}table.t tr:hover td{background:var(--surface-2)}.kpi{display:flex;flex-direction:column;gap:4px}.kpi .v{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:-.015em}.kpi .k{font-size:12px;color:var(--ink-3)}.empty{padding:40px 20px;text-align:center;color:var(--ink-3);border:1px dashed var(--line-2);border-radius:var(--radius);background:var(--surface)}input[type=text],input[type=search],select,textarea{font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:7px 10px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c964421f}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}
