@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none;color-scheme:light}
body{margin:0;background:#f6f8fd;color:#1c2a41;font-family:Inter,system-ui,sans-serif}
*{box-sizing:border-box}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}
.tab-pane{display:none;animation:fadein .24s ease}.tab-pane.active{display:block}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.gradient-primary{background:linear-gradient(135deg,#4f46e5,#8b5cf6 64%,#3b82f6)}
.gradient-sky{background:linear-gradient(135deg,#38bdf8,#2563eb)}
.nav-btn{width:100%;display:flex;align-items:center;text-align:left;gap:13px;min-height:49px;padding:0 16px;border-radius:13px;color:#64748b;font-weight:700;font-size:13px;transition:all .2s}
.nav-btn:hover{background:#f3f5ff;color:#4f46e5}.nav-btn.active{background:#eef2ff;color:#4f46e5;box-shadow:inset 3px 0 #6366f1}
.nav-btn svg{width:19px;height:19px;stroke-width:2.1}
#menu .nav-btn.active svg{filter:drop-shadow(0 1px 1px rgba(99,102,241,.15))}
.surface{background:#fff;border:1px solid #e8edf7;border-radius:21px;box-shadow:0 7px 30px rgba(49,61,108,.035)}
.card-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}
.eyebrow{font-weight:800;font-size:10px;letter-spacing:.16em;color:#818cf8;margin-bottom:8px}
.section-heading{font-weight:900;letter-spacing:-.03em;color:#0f172a;font-size:clamp(22px,2.2vw,29px);line-height:1.3}
.section-subtitle{font-size:13px;color:#8b98ab;margin-top:9px;line-height:1.7}
.round-btn{height:41px;width:41px;display:grid;place-items:center;color:#475569;border:1px solid #e2e8f0;border-radius:14px;transition:.2s;background:#fff}
.round-btn:hover{color:#4f46e5;border-color:#c7d2fe;background:#f8faff}
.round-btn svg{width:18px;height:18px}
.pill-border{align-items:center;gap:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:11px;font-weight:700;border-radius:100px;padding:10px 14px}
.pill-border svg{height:16px;width:16px}
.btn-primary,.btn-neutral,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;padding:11px 18px;font-size:12px;font-weight:800;line-height:1.4;white-space:nowrap;transition:.2s}
.btn-primary{background:linear-gradient(115deg,#4f46e5,#7358f7);box-shadow:0 5px 14px #6366f13d;color:#fff}
.btn-primary:hover{box-shadow:0 8px 18px #6366f160;transform:translateY(-1px)}
.btn-neutral{background:#f1f5f9;color:#334155}.btn-neutral:hover{background:#e2e8f0}
.btn-danger{background:#fff1f2;color:#e11d48}.btn-danger:hover{background:#ffe4e6}
.btn-primary svg,.btn-neutral svg,.btn-danger svg{height:16px;width:16px}
.field-input{padding:11px 13px;border-radius:12px;background:white;border:1px solid #dce3ef;outline:none;color:#334155;font-size:13px;min-height:42px;transition:border .2s,box-shadow .2s}
.field-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf826}
.field-input::placeholder{color:#aeb9c8}
.kpi-card{position:relative;overflow:hidden;border-radius:20px;padding:23px 23px 22px;background:white;border:1px solid #e8edf7;box-shadow:0 7px 30px rgba(49,61,108,.035)}
.kpi-card .blob{position:absolute;right:-34px;top:-34px;width:155px;height:155px;border-radius:50%;opacity:.47}
.kpi-card .icon-square{height:47px;width:47px;display:grid;place-items:center;border-radius:15px;position:relative}
.kpi-card .icon-square svg{width:23px;height:23px}
.kpi-card .val{font-weight:900;font-size:34px;line-height:1.1;letter-spacing:-.035em;margin-top:22px;position:relative}
.kpi-card .title{font-size:12px;font-weight:700;color:#64748b;margin-top:7px;position:relative}
.kpi-card .hint{font-size:11px;color:#94a3b8;margin-top:15px;display:flex;gap:6px;align-items:center}
.icon-surface{height:36px;width:36px;border-radius:12px;display:inline-grid;place-items:center}.icon-surface svg{height:18px;width:18px}
.status{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;font-weight:800;font-size:10px;white-space:nowrap;line-height:1.3}
.status svg{height:13px;width:13px;flex-shrink:0}
.status-running{color:#2563eb;background:#dbeafe;border:1px solid #bfdbfe}
.status-success{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}
.status-failed,.status-timeout{color:#e11d48;background:#ffe4e6;border:1px solid #fecdd3}
.status-pending,.status-retry{color:#b45309;background:#fef3c7;border:1px solid #fde68a}
.status-paused,.status-never,.status-cancelled{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}
.status-interrupted{color:#7c3aed;background:#f3e8ff;border:1px solid #ddd6fe}
.status-enabled{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}
.group-chip{display:inline-flex;align-items:center;gap:6px;border-radius:9px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.group-chip svg{width:13px;height:13px}
.chip-blog{color:#7c3aed;background:#ede9fe}.chip-facebook{color:#2563eb;background:#dbeafe}.chip-motion{color:#db2777;background:#fce7f3}.chip-personal{color:#d97706;background:#fef3c7}.chip-other{color:#64748b;background:#f1f5f9}
.task-card{padding:22px;border-radius:20px;border:1px solid #e8edf7;background:white;transition:.2s;position:relative;overflow:hidden;box-shadow:0 7px 30px rgba(49,61,108,.035)}
.task-card:hover{box-shadow:0 12px 32px rgba(99,102,241,.09);border-color:#c7d2fe;transform:translateY(-1px)}
.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}
.task-card.running:before{background:#3b82f6}.task-card.enabled:before{background:#14b8a6}.task-card.failed:before{background:#f43f5e}
.task-card h3{font-size:14px;line-height:1.4;font-weight:900;color:#172033;letter-spacing:-.012em}
.task-card .meta{display:flex;align-items:center;gap:8px;color:#64748b;font-size:11px;line-height:1.5}
.task-card .meta svg{width:14px;height:14px;flex-shrink:0}
.task-card .meta strong{color:#475569}
.task-card .task-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #f1f5f9;margin-top:18px;padding-top:17px}
.legend-dot{height:8px;width:8px;display:inline-block;border-radius:50%;margin-right:4px}
.graph-area{height:248px;display:flex;align-items:flex-end;gap:10px;padding-bottom:22px;border-bottom:1px solid #e2e8f0;background:repeating-linear-gradient(to top,transparent 0,transparent 61px,#edf1f8 62px);position:relative}
.graph-col{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative;min-width:0}
.graph-stack{display:flex;align-items:stretch;flex-direction:column;justify-content:end;gap:2px;width:min(34px,70%);min-height:2px;border-radius:6px 6px 0 0;overflow:hidden;position:absolute;bottom:0}
.graph-bar{width:100%;transition:height .5s}
.graph-date{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:9px;color:#94a3b8;font-weight:600;white-space:nowrap}
.graph-top{position:absolute;bottom:calc(100% + 5px);font-size:9px;color:#94a3b8;font-weight:800;white-space:nowrap}
.group-line{margin:20px 0}
.group-line .track{height:9px;background:#edf2fa;border-radius:99px;overflow:hidden;margin-top:9px}
.group-line .fill{height:100%;border-radius:99px;min-width:2px;transition:width .5s}
.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#818cf8 0% 100%);margin:4px auto 20px;display:grid;place-items:center}
.donut .inner{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:inset 0 0 6px #0000000a}
.donut .inner strong{font-size:26px;color:#1e293b}
.donut .inner span{font-size:10px;color:#94a3b8;font-weight:700}
.pipeline-row{display:flex;justify-content:space-between;align-items:center;gap:5px}
.pipe-step{display:flex;align-items:center;flex-direction:column;flex:1;position:relative;z-index:1;gap:9px;text-align:center}
.pipe-step .pipe-bubble{height:53px;width:53px;display:grid;place-items:center;background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0;border-radius:17px;transition:.3s}
.pipe-step .pipe-bubble svg{height:23px;width:23px}
.pipe-step.active .pipe-bubble{background:#eef2ff;color:#6366f1;border-color:#c7d2fe;box-shadow:0 0 0 5px #818cf820;animation:pulsePipe 1.6s infinite}
.pipe-step.done .pipe-bubble{background:#dcfce7;color:#16a34a;border-color:#bbf7d0}
.pipe-step .label{font-size:10px;font-weight:800;color:#94a3b8}.pipe-step.active .label{color:#4f46e5}.pipe-step.done .label{color:#16a34a}
.pipe-link{height:2px;background:#e2e8f0;flex:.28;margin-bottom:26px;position:relative;min-width:7px}
.pipe-link.active:after{content:"";position:absolute;inset:0;background:#818cf8;animation:flowPipe 1.4s linear infinite}
@keyframes flowPipe{0%{transform:scaleX(.1);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@keyframes pulsePipe{0%,100%{box-shadow:0 0 0 5px #818cf810}50%{box-shadow:0 0 0 8px #818cf82c}}
.spin-icon svg{animation:spinner 1.2s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.agent-float{animation:float 2.6s ease-in-out infinite}
.activity-item{display:flex;gap:13px;align-items:start}.activity-item .circle{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.activity-item .circle svg{height:17px;width:17px}
.activity-item strong{font-size:12px;display:block;line-height:1.45;color:#334155}.activity-item p{font-size:10px;color:#94a3b8;line-height:1.5;margin-top:3px}
table td{padding:15px 10px;font-size:12px;color:#64748b;border-bottom:1px solid #f1f5f9}
table td:first-child{padding-left:24px}table td:last-child{padding-right:24px}
table tbody tr:hover{background:#fafbff}
.table-action{color:#6366f1;font-weight:800;font-size:11px;padding:6px 9px;border-radius:9px}.table-action:hover{background:#eef2ff}
.modal-label{font-size:11px;display:block;font-weight:800;color:#64748b;margin-bottom:7px}
.modal-form .field-input{width:100%}
.modal-form textarea{min-height:170px;resize:vertical;font-family:ui-monospace,monospace;font-size:11px;line-height:1.5}
.switch{display:inline-block;position:relative;width:42px;height:25px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#cbd5e1;transition:.2s;border-radius:50px}
.slider:before{content:"";position:absolute;height:19px;width:19px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s;box-shadow:0 2px 3px #0002}
.switch input:checked+.slider{background:#6366f1}.switch input:checked+.slider:before{transform:translateX(17px)}
pre.log-output{white-space:pre-wrap;overflow-wrap:anywhere;color:#dce2f7;background:#121d36;border-radius:16px;padding:18px;font-size:11px;line-height:1.7;max-height:350px;overflow:auto}
.login-orb{position:absolute;pointer-events:none;border-radius:50%;filter:blur(20px)}.orb-a{width:340px;height:340px;background:#c7d2fe55;top:8%;left:8%}.orb-b{width:330px;height:330px;background:#ddd6fe88;right:4%;bottom:4%}
@media(max-width:1023px){.sidebar{transform:translateX(-105%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}}
@media(max-width:550px){.pipeline-row{gap:1px}.pipe-step .pipe-bubble{width:40px;height:40px;border-radius:12px}.pipe-step .pipe-bubble svg{width:19px;height:19px}.pipe-step .label{font-size:9px}.pipe-link{margin-bottom:22px}.surface{border-radius:17px}.kpi-card{padding:20px}}

#login.hidden,#app.hidden,#modal.hidden,#toast.hidden{display:none!important}
