*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;font-family:Inter,system-ui,sans-serif}button,input{font:inherit}:root{--bg-app:#080b11;--bg-sidebar:#0b0f19;--bg-surface:#101626;--bg-surface-elevated:#161e33;--bg-surface-hover:#1c2642;--bg-input:#0d1220;--border-subtle:#ffffff12;--border-default:#ffffff1f;--border-focus:#6366f1;--border-accent:#6366f166;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-glow:#6366f140;--color-success:#10b981;--color-success-bg:#10b9811f;--color-success-border:#10b9814d;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1f;--color-warning-border:#f59e0b4d;--color-danger:#ef4444;--color-danger-bg:#ef44441f;--color-danger-border:#ef44444d;--color-info:#06b6d4;--color-info-bg:#06b6d41f;--color-info-border:#06b6d44d;--font-family-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--font-size-xs:.75rem;--font-size-sm:.844rem;--font-size-base:.938rem;--font-size-lg:1.063rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 12px -2px #00000080, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 25px -5px #0009, 0 8px 10px -6px #0006;--shadow-xl:0 20px 40px -10px #000000b3;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-app:#f8fafc;--bg-sidebar:#fff;--bg-surface:#fff;--bg-surface-elevated:#f1f5f9;--bg-surface-hover:#e2e8f0;--bg-input:#fff;--border-subtle:#00000014;--border-default:#00000024;--border-focus:#4f46e5;--border-accent:#4f46e566;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#f8fafc;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000000f}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-family-sans);font-size:var(--font-size-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:.5rem 1rem;font-weight:500;line-height:1.25;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{font-size:var(--font-size-xs);border-radius:var(--radius-sm);padding:.35rem .65rem}.btn-lg{font-size:var(--font-size-base);border-radius:var(--radius-lg);padding:.75rem 1.35rem}.btn-primary{background-color:var(--accent-primary);color:#fff;box-shadow:0 1px 3px #0000004d}.btn-primary:hover:not(:disabled){background-color:var(--accent-primary-hover);box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-surface-elevated);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-surface-hover);border-color:#fff3}.btn-ghost{color:var(--text-secondary);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--bg-surface-elevated);color:var(--text-primary)}.btn-danger{background-color:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger);color:#fff}.btn-success{background-color:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.btn-success:hover:not(:disabled){background-color:var(--color-success);color:#fff}.badge{font-family:var(--font-family-mono);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge-indigo{color:#a5b4fc;background-color:#6366f124;border-color:#6366f14d}.badge-emerald{background-color:var(--color-success-bg);color:#6ee7b7;border-color:var(--color-success-border)}.badge-amber{background-color:var(--color-warning-bg);color:#fcd34d;border-color:var(--color-warning-border)}.badge-rose{background-color:var(--color-danger-bg);color:#fca5a5;border-color:var(--color-danger-border)}.badge-cyan{background-color:var(--color-info-bg);color:#67e8f9;border-color:var(--color-info-border)}.badge-neutral{color:var(--text-secondary);border-color:var(--border-subtle);background-color:#ffffff0f}.card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.card-hover:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-base);color:var(--text-primary);align-items:center;gap:var(--space-2);margin:0;font-weight:600;display:flex}.input-group{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.input-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:500}.input,.select,.textarea{background-color:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);transition:all var(--transition-fast);outline:none;padding:.6rem .85rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.textarea{resize:vertical;min-height:80px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--space-4);background-color:#000000bf;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:580px;max-height:90vh;animation:.18s ease-out scaleIn;display:flex;overflow:hidden}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-5);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6;overflow-y:auto}.modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:var(--space-2);background-color:var(--bg-surface-elevated);display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17 37%,#ffffff0a 63%) 0 0/400% 100%;animation:1.4s infinite shimmer}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{width:48px;height:48px;color:var(--text-muted);opacity:.6;margin-bottom:var(--space-3)}.empty-state-title{font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 var(--space-1) 0;font-weight:600}.empty-state-desc{font-size:var(--font-size-sm);max-width:380px;margin:0 0 var(--space-4) 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@keyframes pulseIndigo{0%,to{border-color:#6366f1b3;box-shadow:0 0 #6366f166,inset 0 0 12px #6366f11a}50%{border-color:#818cf8;box-shadow:0 0 18px 4px #6366f140,inset 0 0 20px #6366f133}}@keyframes breatheAmber{0%,to{border-color:#f59e0b99;box-shadow:0 0 #f59e0b59}50%{border-color:#fbbf24f2;box-shadow:0 0 16px 3px #f59e0b38}}@keyframes pulseRuby{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 14px 2px #ef444433}}.view-container{perspective:1200px}.card-hover{will-change:transform, box-shadow;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .18s;transform:translateY(0)translateZ(0)}.card-hover:hover{border-color:#6366f152;transform:translateY(-2px)scale(1.003)translateZ(6px);box-shadow:0 10px 24px -4px #0009,0 0 16px -2px #6366f11f}.dag-step-item{transition:all .2s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.dag-step-item:hover{transform:translateY(-1px)translateZ(4px)}.dag-step-current{animation:2.2s cubic-bezier(.4,0,.6,1) infinite pulseIndigo}.dag-step-awaiting{animation:2.6s cubic-bezier(.4,0,.6,1) infinite breatheAmber}.graph-node{transition:transform .2s}.graph-node:hover circle{filter:drop-shadow(0 0 12px #6366f1bf);stroke-width:2.5px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transform:none!important}.dag-step-current,.dag-step-awaiting,.spinning,.skeleton{animation:none!important}}.app-shell{background-color:var(--bg-app,#080b11);width:100%;min-height:100vh;color:var(--text-primary,#f8fafc);font-family:var(--font-family-sans,sans-serif);display:flex}.app-main-workspace{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:hidden}.spinning{animation:1s linear infinite spin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default,#ffffff1f);border-radius:var(--radius-full,9999px)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#64748b)}.graph-node:hover circle{filter:drop-shadow(0 0 12px var(--accent-glow,#6366f180))}.graph-edge:hover line{stroke-opacity:.9;stroke-width:2.5px}.mobile-menu-btn{display:none}@media (width<=768px){.mobile-menu-btn{display:inline-flex}.app-sidebar{top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #000c;transition:transform .22s cubic-bezier(.4,0,.2,1)!important;position:fixed!important}.app-sidebar.mobile-open{transform:translate(0)}.health-label{display:none}.view-container{padding:16px!important}}@media (width<=480px){.metrics-grid{grid-template-columns:1fr!important}}
