@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700&family=JetBrains+Mono:wght@300;400;500;600&family=Syne:wght@400;500;600;700;800&display=swap");@tailwind base;@tailwind components;@tailwind utilities;:root,[data-theme=dark]{--bg:#0a0a0b;--surface:#111114;--surface-2:#16161b;--border:#1e1e24;--border-hi:#2e2e38;--text:#e8e8f0;--text-2:#a0a0b0;--muted:#6b6b7e;--accent:#7c6af7;--accent-hi:#9d8fff;--accent-bg:rgba(124,106,247,.12);--green:#34d399;--red:#f87171;--yellow:#fbbf24;--blue:#60a5fa;--shadow-sm:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 16px rgba(0,0,0,.5)}[data-theme=light]{--bg:#f4f4f6;--surface:#fff;--surface-2:#f9f9fb;--border:#e2e2ea;--border-hi:#c8c8d8;--text:#111118;--text-2:#44445a;--muted:#8888a0;--accent:#6355e8;--accent-hi:#7c6af7;--accent-bg:rgba(99,85,232,.08);--green:#10b981;--red:#ef4444;--yellow:#f59e0b;--blue:#3b82f6;--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 16px rgba(0,0,0,.12)}*{box-sizing:border-box}body,html{background:var(--bg);color:var(--text);font-family:Inter,Syne,sans-serif;margin:0;padding:0;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.mono,code,pre{font-family:JetBrains Mono,monospace}.status-queued{color:var(--muted)}.status-running{color:var(--yellow)}.status-completed{color:var(--green)}.status-failed{color:var(--red)}.status-cancelled{color:var(--muted)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.pulse{animation:pulse-dot 1.4s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease forwards}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes fadeInBg{0%{opacity:0}to{opacity:1}}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--muted);text-decoration:none;transition:background .13s,color .13s;border:none;background:none;width:100%;text-align:left;white-space:nowrap}.nav-item:hover{background:var(--border);color:var(--text)}.nav-item.active{background:var(--accent-bg);color:var(--accent-hi)}.nav-item.active .nav-icon{color:var(--accent)}.nav-icon{color:var(--muted);flex-shrink:0;transition:color .13s}.nav-item:hover .nav-icon{color:var(--text-2)}.app-shell{background:var(--bg)}.app-shell,.app-sidebar{display:flex;height:100vh;overflow:hidden}.app-sidebar{width:240px;border-right:1px solid var(--border);flex-direction:column}.app-sidebar,.app-topbar{flex-shrink:0;background:var(--surface)}.app-topbar{height:52px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:8px}.app-main{flex:1 1;overflow:auto;display:flex;flex-direction:column;min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:var(--border-hi);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;transition:background .13s,color .13s,opacity .13s;border:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hi)}.btn-ghost{background:none;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--border);color:var(--text)}.btn:disabled{opacity:.45;cursor:default}.input{width:100%;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:13px;outline:none;transition:border-color .15s;font-family:inherit}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--muted)}.divider{height:1px;background:var(--border);margin:8px 0}.mobile-panel-overlay{animation:fadeInBg .2s ease forwards}.mobile-panel-left{animation:slideInLeft .25s ease forwards}.mobile-panel-right{animation:slideInRight .25s ease forwards}@media (max-width:768px){a,button,input,select,textarea{min-height:36px}body,html{overflow-x:hidden}}@supports (padding:env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}