@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-base:#0b0f19;--bg-surface:#111827;--bg-surface-alt:#1a2035;--bg-elevated:#1f2937;--bg-hover:#ffffff0a;--bg-active:#6366f114;--bg-input:#0f172acc;--bg-overlay:#020617bf;--border-subtle:#ffffff0a;--border-default:#ffffff12;--border-strong:#ffffff1f;--border-focus:#6366f180;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--text-inverse:#0f172a;--accent-primary:#6366f1;--accent-primary-hover:#818cf8;--accent-primary-muted:#6366f126;--accent-success:#10b981;--accent-success-muted:#10b9811f;--accent-warning:#f59e0b;--accent-warning-muted:#f59e0b1f;--accent-error:#ef4444;--accent-error-muted:#ef44441f;--accent-info:#3b82f6;--accent-info-muted:#3b82f61f;--gradient-primary:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-success:linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-surface:linear-gradient(180deg, #111827f2 0%, #0b0f19f2 100%);--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 6px #00000059;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-xl:0 16px 48px #0009;--shadow-glow:0 0 20px #6366f126;--shadow-glow-sm:0 0 10px #6366f11a;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", "Consolas", monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.35s;--sidebar-width:280px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;overflow:hidden}::selection{color:var(--text-primary);background:#6366f14d}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff14}::-webkit-scrollbar-thumb:hover{background:#ffffff24}.app-layout{background:var(--bg-base);height:100vh;display:flex;position:relative;overflow:hidden}.ambient-glow{filter:blur(80px);pointer-events:none;z-index:0;background:radial-gradient(circle,#6366f10f 0%,#0000 70%);width:600px;height:600px;animation:20s ease-in-out infinite alternate ambient-drift;position:fixed;top:-200px;left:10%}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-default);z-index:10;flex-direction:column;display:flex;position:relative}.sidebar-profile{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:20px 18px 16px;display:flex}.sidebar-avatar{border-radius:var(--radius-full);background:var(--gradient-primary);width:38px;height:38px;font-family:var(--font-heading);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;box-shadow:0 0 0 2px #6366f133}.sidebar-profile-info{flex:1;min-width:0}.sidebar-profile-name{font-family:var(--font-heading);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.sidebar-profile-role{color:var(--text-tertiary);font-size:11px;font-weight:500}.sidebar-search{padding:12px 16px}.sidebar-search-input{background:var(--bg-hover);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:12.5px;font-family:var(--font-body);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);outline:none;padding:8px 12px 8px 34px}.sidebar-search-input::placeholder{color:var(--text-muted)}.sidebar-search-input:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-glow-sm)}.sidebar-search-wrapper{position:relative}.sidebar-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.sidebar-nav{padding:8px 12px}.sidebar-nav-item{border-radius:var(--radius-md);font-family:var(--font-heading);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--bg-active);color:var(--accent-primary)}.sidebar-nav-item svg{flex-shrink:0}.sidebar-section-header{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:16px 16px 6px;font-size:10.5px;font-weight:700}.sidebar-runs{flex-direction:column;flex:1;gap:2px;padding:4px 8px 16px;display:flex;overflow-y:auto}.run-item{border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.run-item:hover{background:var(--bg-hover)}.run-item.active{background:var(--bg-active);border-color:#6366f11f}.delete-run-btn{color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:10px;right:10px}.run-item:hover .delete-run-btn{opacity:1}.delete-run-btn:hover{color:var(--accent-error);background:#ef44441a;border-color:#ef444433}.run-item-name{font-family:var(--font-heading);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.run-item-meta{color:var(--text-tertiary);align-items:center;gap:6px;font-size:11px;display:flex}.status-dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot.running{background:var(--accent-info);box-shadow:0 0 6px var(--accent-info);animation:1.8s infinite pulse-dot}.status-dot.complete{background:var(--accent-success)}.status-dot.failed{background:var(--accent-error)}.status-dot.pending{background:var(--text-muted)}.status-dot.awaiting_review{background:var(--accent-warning);box-shadow:0 0 6px var(--accent-warning);animation:1.4s infinite pulse-dot}.btn-new-run{border:1px dashed var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.btn-new-run:hover{border-color:var(--accent-primary);color:var(--accent-primary-hover);background:var(--accent-primary-muted)}.btn-new-run:active{transform:scale(.98)}.sidebar-bottom{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sidebar-version{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);font-weight:500}.sidebar-settings-btn{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-settings-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.main-panel{background:var(--bg-base);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.main-header{border-bottom:1px solid var(--border-default);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.main-header-left{flex-direction:column;gap:2px;min-width:0;display:flex}.main-header-breadcrumb{color:var(--text-tertiary);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.main-header-breadcrumb a,.main-header-breadcrumb .breadcrumb-link{color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);text-decoration:none}.main-header-breadcrumb a:hover,.main-header-breadcrumb .breadcrumb-link:hover{color:var(--accent-primary)}.main-header-breadcrumb .breadcrumb-sep{color:var(--text-muted);font-size:10px}.main-header-breadcrumb .breadcrumb-current{color:var(--text-primary);font-weight:600}.main-header-title{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);font-size:18px;font-weight:700}.main-header-stage{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.status-badge{border-radius:var(--radius-full);font-family:var(--font-heading);align-items:center;gap:5px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.running{background:var(--accent-info-muted);color:var(--accent-info)}.status-badge.complete{background:var(--accent-success-muted);color:var(--accent-success)}.status-badge.failed{background:var(--accent-error-muted);color:var(--accent-error)}.status-badge.pending{background:var(--bg-hover);color:var(--text-tertiary)}.status-badge.awaiting_review{background:var(--accent-warning-muted);color:var(--accent-warning)}.main-header-actions{gap:8px;display:flex}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-icon:active{transform:scale(.95)}.dashboard-view{flex:1;padding:32px;overflow-y:auto}.dashboard-greeting{margin-bottom:28px}.dashboard-greeting h1{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:4px;font-size:26px;font-weight:700}.dashboard-greeting p{color:var(--text-tertiary);font-size:14px}.stat-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out);cursor:default;flex-direction:column;gap:12px;padding:20px;display:flex}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.stat-card-header{justify-content:space-between;align-items:center;display:flex}.stat-card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-card-icon.indigo{background:var(--accent-primary-muted);color:var(--accent-primary)}.stat-card-icon.emerald{background:var(--accent-success-muted);color:var(--accent-success)}.stat-card-icon.amber{background:var(--accent-warning-muted);color:var(--accent-warning)}.stat-card-icon.red{background:var(--accent-error-muted);color:var(--accent-error)}.stat-card-icon.blue{background:var(--accent-info-muted);color:var(--accent-info)}.stat-card-trend{font-size:11px;font-weight:600;font-family:var(--font-heading);border-radius:var(--radius-full);padding:2px 8px}.stat-card-trend.up{background:var(--accent-success-muted);color:var(--accent-success)}.stat-card-trend.down{background:var(--accent-error-muted);color:var(--accent-error)}.stat-card-value{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.03em;font-size:28px;font-weight:800}.stat-card-label{color:var(--text-tertiary);font-size:12px;font-weight:500}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dash-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.dash-card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dash-card-title{font-family:var(--font-heading);color:var(--text-primary);font-size:14px;font-weight:700}.dash-card-body{padding:16px 20px}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-action-btn{border-radius:var(--radius-md);border:1px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-align:left;background:0 0;align-items:center;gap:10px;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.quick-action-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.quick-action-btn:active{transform:scale(.98)}.quick-action-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.activity-feed{list-style:none}.activity-item{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px;margin-top:5px}.activity-dot.success{background:var(--accent-success)}.activity-dot.error{background:var(--accent-error)}.activity-dot.warning{background:var(--accent-warning)}.activity-dot.info{background:var(--accent-info)}.activity-dot.default{background:var(--text-muted)}.activity-content{flex:1;min-width:0}.activity-text{color:var(--text-secondary);font-size:13px;line-height:1.4}.activity-text strong{color:var(--text-primary);font-weight:600}.activity-time{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);margin-top:2px}.pipeline-progress{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;padding:14px 28px;overflow-x:auto}.pipeline-stages{align-items:center;gap:4px;min-width:550px;display:flex;position:relative}.stage-chip{border-radius:var(--radius-full);font-family:var(--font-heading);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-muted);transition:all var(--duration-normal) var(--ease-out);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;display:flex}.stage-connector{background:var(--border-default);flex-shrink:0;width:16px;height:1px}.stage-connector.completed{background:var(--accent-success);opacity:.4}.stage-chip.completed{color:var(--accent-success);background:var(--accent-success-muted);border-color:#10b98140}.stage-chip.active{border-color:var(--accent-primary);color:#fff;background:var(--accent-primary);box-shadow:var(--shadow-glow)}.stage-chip.failed{color:var(--accent-error);background:var(--accent-error-muted);border-color:#ef44444d}.chat-container{flex-direction:column;flex:1;gap:16px;padding:24px 28px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;max-width:400px;margin:0 auto;display:flex}.chat-empty-icon{border-radius:var(--radius-xl);background:var(--accent-primary-muted);width:56px;height:56px;color:var(--accent-primary);justify-content:center;align-items:center;animation:4s ease-in-out infinite float;display:flex}.chat-empty-text{font-family:var(--font-heading);color:var(--text-secondary);font-size:15px;font-weight:500;line-height:1.5}.message{animation:msg-in var(--duration-slow) var(--ease-out);gap:12px;max-width:78%;display:flex;position:relative}.message.user{flex-direction:row-reverse;margin-left:auto}.message.assistant{margin-right:auto}.message.system{justify-content:center;width:100%;max-width:600px;margin:8px auto}.message-avatar{border-radius:var(--radius-full);width:32px;height:32px;font-family:var(--font-heading);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.message-avatar.user{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)}.message-avatar.assistant{background:var(--gradient-primary)}.message-content{border-radius:var(--radius-lg);overflow-wrap:break-word;padding:12px 16px;font-size:14px;line-height:1.65}.message.user .message-content{background:var(--bg-elevated);border:1px solid var(--border-default);border-top-right-radius:var(--radius-xs);color:var(--text-primary)}.message.assistant .message-content{background:var(--bg-surface);border:1px solid var(--border-default);border-top-left-radius:var(--radius-xs);color:var(--text-primary)}.message.system .message-content{border:1px solid var(--border-subtle);color:var(--text-tertiary);border-radius:var(--radius-full);background:0 0;padding:6px 16px;font-size:12px}.message-stage-tag{border-radius:var(--radius-full);font-size:10px;font-weight:600;font-family:var(--font-heading);background:var(--accent-primary-muted);color:var(--accent-primary);align-items:center;gap:4px;padding:1px 7px;display:inline-flex}.message-content h1,.message-content h2,.message-content h3,.message-content h4{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.01em;margin:14px 0 6px;font-weight:700}.message-content h1{border-bottom:1px solid var(--border-subtle);padding-bottom:4px;font-size:18px}.message-content h2{font-size:16px}.message-content h3{font-size:14px}.message-content p{margin:6px 0}.message-content ul,.message-content ol{margin:6px 0;padding-left:20px}.message-content li{margin:3px 0}.message-content code{color:#c7d2fe;border-radius:var(--radius-xs);font-size:12.5px;font-family:var(--font-mono);background:#6366f11f;padding:2px 6px;font-weight:500}.message-content pre{border:1px solid var(--border-default);border-radius:var(--radius-md);background:#020617e6;margin:10px 0;padding:14px;overflow-x:auto}.message-content pre code{color:#e2e8f0;font-size:12.5px;font-family:var(--font-mono);border:none;background:0 0!important;padding:0!important}.message-content blockquote{border-left:3px solid var(--accent-primary);background:var(--accent-primary-muted);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-secondary);margin:10px 0;padding:8px 14px}.message-content table{border-collapse:separate;border-spacing:0;border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;margin:12px 0;font-size:13px;overflow:hidden}.message-content th,.message-content td{border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);text-align:left;padding:8px 12px}.message-content th:last-child,.message-content td:last-child{border-right:none}.message-content tr:last-child td{border-bottom:none}.message-content th{background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-heading);font-size:12px;font-weight:600}.message-content td{color:var(--text-secondary);background:#0f172a4d}.message-time{color:var(--text-muted);align-items:center;gap:6px;margin-top:4px;padding:0 4px;font-size:10px;display:flex}.checkpoint-card{background:var(--accent-warning-muted);border-radius:var(--radius-lg);animation:slide-up var(--duration-slow) var(--ease-out);border:1px solid #f59e0b33;margin:12px 0;padding:20px}.checkpoint-card.failed-card{background:var(--accent-error-muted);border-color:#ef444433}.checkpoint-card.failed-card .checkpoint-title{color:var(--accent-error)}.checkpoint-card.complete-card{background:var(--accent-success-muted);box-shadow:0 0 25px #10b98114, var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:#10b98133;position:relative;overflow:hidden}.checkpoint-card.complete-card:before{content:"";background:var(--gradient-success);width:100%;height:2px;position:absolute;top:0;left:0}.checkpoint-card.complete-card .checkpoint-title{color:var(--accent-success)}.checkpoint-title{font-family:var(--font-heading);color:var(--accent-warning);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.checkpoint-summary{color:var(--text-secondary);font-size:13px;line-height:1.5}.checkpoint-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.btn-approve,.btn-reject,.btn-feedback{border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.btn-approve{background:var(--accent-success);color:#fff}.btn-approve:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-reject{color:#fca5a5;background:0 0;border-color:#ef444440}.btn-reject:hover{background:var(--accent-error-muted);border-color:var(--accent-error)}.btn-feedback{border-color:var(--border-default);color:var(--text-secondary);background:0 0}.btn-feedback:hover{border-color:var(--border-strong);color:var(--text-primary)}.btn-approve:active,.btn-reject:active,.btn-feedback:active{transform:scale(.97)}.btn-resume-large{background:linear-gradient(135deg, var(--accent-error) 0%, #b91c1c 100%)!important;color:#fff!important}.btn-resume-large:hover{filter:brightness(1.1)!important;transform:translateY(-1px)!important}.btn-resume-small{border-radius:var(--radius-sm);background:var(--accent-error-muted);color:#fca5a5;font-family:var(--font-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:1px solid #ef444440;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.btn-resume-small:hover{background:var(--accent-error);color:#fff}.btn-stop-small{border-radius:var(--radius-sm);color:#fca5a5;font-family:var(--font-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:#ef44440d;border:1px solid #ef444440;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.btn-stop-small:hover{background:var(--accent-error);color:#fff}.feedback-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-body);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);outline:none;margin-top:12px;padding:10px 14px}.feedback-input:focus{border-color:var(--accent-warning);box-shadow:0 0 8px #f59e0b1a}.input-bar{border-top:1px solid var(--border-default);background:var(--bg-surface);flex-shrink:0;padding:16px 28px 20px}.input-wrapper{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);align-items:flex-end;gap:10px;padding:8px 12px;display:flex}.input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:var(--shadow-glow-sm)}.input-wrapper textarea{color:var(--text-primary);font-size:14px;font-family:var(--font-body);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:22px;max-height:140px;padding:4px 0;line-height:1.5}.input-wrapper textarea::placeholder{color:var(--text-muted)}.btn-send{border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;cursor:pointer;width:34px;height:34px;transition:all var(--duration-fast) var(--ease-out);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-send:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.btn-send:disabled{opacity:.3;cursor:not-allowed;transform:none!important}.btn-upload{border-radius:var(--radius-md);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-upload:hover{color:var(--text-secondary);background:var(--bg-hover)}.artifact-panel{background:var(--bg-surface);border-left:1px solid var(--border-default);width:440px;min-width:440px;animation:panel-slide-in var(--duration-slow) var(--ease-out);z-index:8;flex-direction:column;display:flex;overflow:hidden}.artifact-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.artifact-header h3{font-family:var(--font-heading);font-size:15px;font-weight:700}.artifact-list{border-bottom:1px solid var(--border-subtle);max-height:260px;padding:8px 12px;overflow-y:auto}.artifact-item{border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;display:flex}.artifact-item:hover{background:var(--bg-hover)}.artifact-item.active{background:var(--bg-active);border-color:#6366f11a}.artifact-icon{border-radius:var(--radius-md);background:var(--bg-hover);width:32px;height:32px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.artifact-name{font-family:var(--font-heading);color:var(--text-primary);font-size:13px;font-weight:600}.artifact-size{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.artifact-viewer{background:#0206174d;flex:1;padding:20px;overflow-y:auto}.artifact-viewer-loading{height:120px;color:var(--text-muted);font-family:var(--font-heading);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.artifact-viewer pre{white-space:pre-wrap;word-break:break-all;border-radius:var(--radius-md);border:1px solid var(--border-default);font-family:var(--font-mono);color:#e2e8f0;background:#020617cc;padding:16px;font-size:12.5px;line-height:1.6}.modal-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);z-index:1000;animation:fade-in var(--duration-normal) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:500px;max-width:90vw;max-height:85vh;box-shadow:var(--shadow-xl);animation:modal-up var(--duration-slow) var(--ease-spring);padding:28px;overflow-y:auto}.modal h2{font-family:var(--font-heading);letter-spacing:-.02em;margin-bottom:0;font-size:20px;font-weight:800}.form-group{margin-bottom:18px}.form-label{font-family:var(--font-heading);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:14px;font-family:var(--font-body);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);outline:none;padding:10px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-glow-sm)}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748B'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;padding-right:36px}.form-textarea{resize:vertical;min-height:90px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.btn-primary{border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;font-family:var(--font-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:none;padding:10px 20px;font-size:13px;font-weight:700}.btn-primary:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn-primary:active{transform:scale(.97)}.btn-secondary{border-radius:var(--radius-md);border:1px solid var(--border-default);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;padding:10px 20px;font-size:13px;font-weight:600}.btn-secondary:hover{border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:active{transform:scale(.97)}.typing-indicator{align-items:center;gap:4px;padding:6px 10px;display:flex}.typing-dot{border-radius:var(--radius-full);background:var(--accent-primary);width:6px;height:6px;animation:1.4s ease-in-out infinite typing-bounce}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-slide-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes modal-up{0%{opacity:0;transform:scale(.97)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ambient-drift{0%{transform:translate(0)}to{transform:translate(60px,30px)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}@keyframes typing-bounce{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes status-pulse{0%{box-shadow:0 0 #6366f166}70%{box-shadow:0 0 0 6px #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes stage-pulse{0%{box-shadow:0 0 10px #6366f14d}to{box-shadow:0 0 20px #6366f180,0 0 0 4px #6366f11a}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1280px){.stat-cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=1024px){.sidebar{width:240px;min-width:240px}.artifact-panel{width:360px;min-width:360px}.stat-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar,.artifact-panel{display:none}.message{max-width:92%}.pipeline-progress{display:none}.stat-cards,.dashboard-grid{grid-template-columns:1fr}.dashboard-view{padding:20px 16px}.chat-container{padding:16px}.main-header,.input-bar{padding:12px 16px}}
