.global-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;background:var(--color-bg-primary);border-right:1px solid var(--color-neutral-100);display:flex;flex-direction:column;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:24px 20px 0}.sidebar-brand-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--color-primary-600);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-bold);flex-shrink:0}.sidebar-brand-text{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-neutral-900)}.sidebar-nav{padding:24px 20px;display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border:none;background:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-family:inherit;font-size:var(--text-base);color:var(--color-neutral-700);text-align:left;width:100%}.sidebar-nav-item:hover{background:var(--color-neutral-50);color:var(--color-neutral-900)}.sidebar-nav-item.active{background:var(--color-primary-50);color:var(--color-primary-800);font-weight:var(--font-bold)}.sidebar-nav-item.active .sidebar-nav-icon{color:var(--color-primary-600)}.sidebar-nav-icon{font-size:20px;width:20px;height:20px;flex-shrink:0;color:var(--color-neutral-500)}.sidebar-nav-label{flex:1}.sidebar-footer{margin-top:auto;padding:var(--space-4) 20px;border-top:1px solid var(--color-neutral-100)}.sidebar-connection{display:flex;align-items:center;gap:var(--space-2)}.sidebar-connection-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-neutral-300);flex-shrink:0}.sidebar-connection-dot.connected{background:var(--color-success-500)}.sidebar-connection-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.table-wrap{flex:1;overflow:auto;border:1px solid var(--color-neutral-100);border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.data-table th{text-align:left;padding:10px 20px;background:var(--color-neutral-50);color:var(--color-neutral-600);font-weight:var(--font-semibold);font-size:var(--text-sm);border-bottom:1px solid var(--color-neutral-100);position:sticky;top:0;z-index:1}.data-table td{padding:14px 20px;border-bottom:1px solid var(--color-neutral-100);color:var(--color-text-primary);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.table-row-clickable{cursor:pointer;transition:background var(--transition-fast)}.table-row-clickable:hover{background:var(--color-neutral-50)}.table-empty{text-align:center;color:var(--color-text-tertiary);font-size:var(--text-base);padding:48px 0}.dashboard-overview{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:32px 40px;gap:32px}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end}.dashboard-header-left{display:flex;flex-direction:column;gap:8px}.dashboard-title{font-size:28px;font-weight:700;color:var(--color-neutral-900);line-height:1.4}.dashboard-subtitle{font-size:14px;color:var(--color-neutral-600);line-height:1.5}.dashboard-header-right{display:flex;align-items:center;gap:8px}.dashboard-btn-secondary{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);background:none;color:var(--color-neutral-600);font-family:inherit;font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.dashboard-btn-secondary:hover{border-color:var(--color-neutral-300);background:var(--color-neutral-50)}.dashboard-btn-primary{display:flex;align-items:center;gap:8px;height:44px;padding:0 20px;border:none;border-radius:var(--radius-md);background:var(--color-primary-600);color:var(--color-white);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.dashboard-btn-primary:hover{background:var(--color-primary-700)}.dashboard-kpi-row{display:flex;gap:16px}.dashboard-grid{display:flex;gap:24px;flex:1;min-height:0}.dashboard-recent-tasks{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.dashboard-activity-feed{width:320px;min-width:320px;display:flex;flex-direction:column;min-height:0;border:1px solid var(--color-neutral-100);border-radius:var(--radius-md);overflow:hidden}.dashboard-section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dashboard-activity-feed .dashboard-section-header{padding:14px 16px;margin-bottom:0;border-bottom:1px solid var(--color-neutral-100)}.dashboard-section-title{font-size:16px;font-weight:700;color:var(--color-neutral-900)}.dashboard-link-btn{margin-left:auto;display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-primary-600);font-family:inherit;font-size:13px;cursor:pointer}.dashboard-link-btn:hover{text-decoration:underline}.dashboard-live-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-success-500);animation:pulse 1.5s ease-in-out infinite}.dashboard-activity-list{flex:1;overflow-y:auto}.dashboard-activity-empty{color:var(--color-text-tertiary);font-size:var(--text-sm);text-align:center;padding:32px 16px}.activity-item{display:flex;gap:12px;padding:10px 16px;cursor:pointer;transition:background var(--transition-fast);align-items:flex-start}.activity-item:hover{background:var(--color-neutral-50)}.activity-icon{margin-top:1px;flex-shrink:0}.activity-icon.working{color:var(--color-success-500)}.activity-icon.completed{color:var(--color-neutral-400)}.activity-icon.error{color:var(--color-error-500)}.activity-icon.idle{color:var(--color-warning-500)}.activity-content{flex:1;min-width:0}.activity-title{font-size:13px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-meta{font-size:12px;color:var(--color-text-tertiary);margin-top:2px}.tasks-list-page{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:32px 40px}.tasks-list-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.tasks-header-left{display:flex;flex-direction:column;gap:8px}.tasks-header-left h1{font-size:28px;font-weight:700;color:var(--color-neutral-900);line-height:1.4}.tasks-header-left p{font-size:14px;color:var(--color-neutral-600)}.tasks-header-right{display:flex;gap:8px;align-items:center}.tasks-filter-section{margin-bottom:24px}.tasks-table-section{flex:1;overflow:hidden;display:flex;flex-direction:column}.task-detail-page{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:32px 40px;gap:24px}.task-detail-back{display:inline-flex;align-items:center;gap:8px;color:var(--color-primary-600);font-size:14px;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.task-detail-back:hover{color:var(--color-primary-700)}.task-detail-back .material-symbols-rounded{font-size:18px}.task-detail-badges{display:flex;align-items:center;gap:12px}.task-detail-title{font-size:22px;font-weight:700;color:var(--color-neutral-900);line-height:1.4;margin:0}.task-detail-meta-line{font-family:var(--font-mono);font-size:12px;color:var(--color-neutral-500)}.task-detail-stats-card{display:flex;border:1px solid var(--color-neutral-200);border-radius:8px;overflow:hidden}.task-detail-stat{flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 20px}.task-detail-stat:not(:last-child){border-right:1px solid var(--color-neutral-200)}.task-detail-stat-label{font-size:12px;color:var(--color-neutral-500)}.task-detail-stat-value{font-size:20px;font-weight:700;color:var(--color-neutral-900)}.task-detail-stat-value.mono{font-family:var(--font-mono)}.task-detail-wf-card{border:1px solid var(--color-neutral-200);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:16px}.task-detail-wf-header{display:flex;justify-content:space-between;align-items:center}.task-detail-wf-title{font-size:16px;font-weight:700;color:var(--color-neutral-900)}.task-detail-wf-pct{font-size:14px;font-weight:700;color:var(--color-primary-600)}.task-detail-wf-bar{height:6px;background:var(--color-neutral-200);border-radius:3px;overflow:hidden}.task-detail-wf-bar-fill{height:100%;background:var(--color-primary-600);border-radius:3px;transition:width .5s ease}.task-detail-wf-steps{display:flex;justify-content:space-between}.task-detail-wf-step{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-neutral-400)}.task-detail-wf-step.completed{color:var(--color-success-600)}.task-detail-wf-step.current{color:var(--color-neutral-900);font-weight:700}.task-detail-wf-step .step-icon{font-size:18px}.task-executions-section{flex:1;display:flex;flex-direction:column;gap:16px;min-height:0}.task-executions-title{font-size:16px;font-weight:700;color:var(--color-neutral-900);margin:0}.task-executions-list{display:flex;flex-direction:column;gap:12px}.execution-card{border:1px solid var(--color-neutral-200);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:16px}.execution-card.running{background:var(--color-primary-50);border-color:var(--color-primary-600)}.exec-card-header{display:flex;align-items:center;justify-content:space-between}.exec-card-header-left{display:flex;align-items:center;gap:12px}.exec-card-header-right{display:flex;align-items:center;gap:8px}.exec-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700}.exec-status-badge.running{background:#fff;color:var(--color-primary-700);border:1px solid var(--color-primary-600)}.exec-status-badge.running .exec-status-dot{background:var(--color-primary-600)}.exec-status-badge.completed{background:var(--color-success-50);color:var(--color-success-700)}.exec-status-badge.completed .exec-status-dot{background:var(--color-success-600)}.exec-status-badge.failed{background:var(--color-error-50);color:var(--color-error-700)}.exec-status-badge.failed .exec-status-dot{background:var(--color-error-600)}.exec-status-badge.interrupted{background:var(--color-error-50);color:var(--color-error-700)}.exec-status-badge.interrupted .exec-status-dot{background:var(--color-error-600)}.exec-status-dot{width:8px;height:8px;border-radius:50%}.exec-card-id{font-size:14px;font-weight:700;color:var(--color-neutral-900)}.exec-card-time{font-size:12px;color:var(--color-neutral-500)}.exec-action-btn{display:inline-flex;align-items:center;gap:6px;padding:0 16px;height:36px;border:1px solid var(--color-neutral-300);border-radius:6px;background:#fff;font-size:13px;color:var(--color-neutral-700);cursor:pointer;font-family:inherit}.exec-action-btn:hover{border-color:var(--color-neutral-400);background:var(--color-neutral-50)}.exec-action-btn .material-symbols-rounded{font-size:16px}.exec-card-body{display:flex;gap:24px}.exec-metric{display:flex;flex-direction:column;gap:2px}.exec-metric-label{font-size:11px;color:var(--color-neutral-500)}.exec-metric-value{font-size:13px;font-weight:700;color:var(--color-neutral-900)}.exec-metric-value.mono{font-family:var(--font-mono)}.exec-metric-value.phase{color:var(--color-primary-600)}.exec-metric-value.interrupted{color:var(--color-error-600)}.exec-artifacts{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--color-neutral-300)}.exec-artifacts-label{font-size:12px;font-weight:700;color:var(--color-neutral-500)}.exec-artifacts-list{display:flex;gap:8px;flex-wrap:wrap}.exec-artifact-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-neutral-100);border:1px solid var(--color-neutral-200);border-radius:6px;font-family:var(--font-mono);font-size:12px;color:var(--color-neutral-700);cursor:pointer;text-decoration:none}.exec-artifact-chip:hover{background:var(--color-neutral-200)}.exec-artifact-chip .material-symbols-rounded{font-size:16px;color:var(--color-primary-600)}.session-detail-page{flex:1;display:flex;flex-direction:column;overflow:hidden}.session-detail-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-primary)}.session-back{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);background:none;border:none;cursor:pointer;padding:0;margin-bottom:var(--space-3);font-family:inherit}.session-back:hover{color:var(--color-text-primary)}.session-header-top{display:flex;justify-content:space-between;align-items:flex-start}.session-header-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.session-header-cwd{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px}.session-header-session-id{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono);margin-top:2px}.session-actions{display:flex;gap:var(--space-2)}.session-review-links{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.session-review-link{font-size:var(--text-xs);color:var(--color-text-link);padding:2px 8px;border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none}.session-review-link:hover{border-color:var(--color-border-primary);background:var(--color-bg-hover);text-decoration:none}.session-content-body{flex:1;display:flex;overflow:hidden}.session-log-container{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-6)}.session-log-entry{display:flex;gap:var(--space-3);padding:var(--space-1) 0;font-size:var(--text-sm);line-height:var(--leading-normal)}.session-log-time{color:var(--color-text-tertiary);flex-shrink:0;min-width:70px;font-family:var(--font-mono);font-size:var(--text-xs)}.session-log-type{flex-shrink:0;min-width:110px;font-weight:var(--font-semibold);font-size:var(--text-xs)}.session-log-type.session_start{color:var(--color-success-600)}.session-log-type.tool_use{color:var(--color-primary-600)}.session-log-type.assistant_turn{color:var(--color-warning-600)}.session-log-type.tool_summary{color:var(--color-success-500)}.session-log-type.session_end{color:var(--color-primary-700)}.session-log-type.error{color:var(--color-error-600)}.session-log-type.bot_message{color:var(--color-primary-500)}.session-log-detail{color:var(--color-text-secondary);word-break:break-word}.session-log-link{color:var(--color-text-link)}.session-log-thinking{color:var(--color-text-tertiary);font-style:italic;margin-left:192px;padding:2px 0;font-size:var(--text-xs)}.session-artifacts-panel{width:220px;min-width:220px;background:var(--color-bg-secondary);border-left:1px solid var(--color-border-secondary);display:flex;flex-direction:column;overflow:hidden}.session-artifacts-panel.expanded{width:480px;min-width:480px}.artifacts-header{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border-secondary);display:flex;justify-content:space-between;align-items:center}.artifacts-count{color:var(--color-text-tertiary);font-size:var(--text-xs)}.artifacts-list{flex:1;overflow-y:auto;padding:var(--space-1) 0}.artifact-item{display:flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);cursor:pointer;transition:background var(--transition-fast)}.artifact-item:hover{background:var(--color-bg-hover)}.artifact-item.active{background:var(--color-primary-50);border-left:2px solid var(--color-primary-500);padding-left:calc(var(--space-3) - 2px)}.artifact-name{color:var(--color-text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-size{color:var(--color-text-tertiary);flex-shrink:0}.artifact-viewer{border-top:1px solid var(--color-border-secondary);display:flex;flex-direction:column;flex:2;min-height:0}.artifact-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-secondary)}.artifact-viewer-title{font-size:var(--text-xs);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-viewer-close{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:var(--text-base);padding:2px 6px;border-radius:var(--radius-sm)}.artifact-viewer-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.artifact-viewer-body{flex:1;overflow:auto;padding:var(--space-3)}.artifact-viewer-image{max-width:100%;height:auto;border-radius:var(--radius-sm)}.artifact-viewer-text{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono)}.artifact-viewer-markdown{font-size:var(--text-base);line-height:var(--leading-loose);color:var(--color-text-primary)}.artifact-viewer-markdown h1,.artifact-viewer-markdown h2,.artifact-viewer-markdown h3{color:var(--color-text-primary);margin:1em 0 .5em;line-height:var(--leading-tight)}.artifact-viewer-markdown h1{font-size:1.4em;border-bottom:1px solid var(--color-border-secondary);padding-bottom:.3em}.artifact-viewer-markdown h2{font-size:1.2em}.artifact-viewer-markdown code{background:var(--color-bg-secondary);padding:.15em .4em;border-radius:var(--radius-sm);font-size:.9em;font-family:var(--font-mono)}.artifact-viewer-markdown pre{background:var(--color-bg-secondary);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;margin:.8em 0}.artifact-viewer-markdown pre code{background:none;padding:0}.artifact-viewer-markdown table{border-collapse:collapse;width:100%;margin:.8em 0;font-size:var(--text-sm)}.artifact-viewer-markdown th,.artifact-viewer-markdown td{border:1px solid var(--color-border-secondary);padding:6px 10px;text-align:left}.artifact-viewer-markdown th{background:var(--color-bg-secondary)}.artifact-viewer-markdown blockquote{border-left:3px solid var(--color-primary-300);margin:.8em 0;padding:.3em 1em;color:var(--color-text-secondary)}.artifact-viewer-markdown a{color:var(--color-text-link)}.session-summary-bar{padding:var(--space-2) var(--space-6);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-secondary);font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex;gap:var(--space-5)}.session-summary-stat{display:flex;gap:var(--space-1)}.session-summary-value{color:var(--color-text-primary);font-weight:var(--font-medium)}.trace-detail-page{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:32px 40px}.trace-back{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);background:none;border:none;cursor:pointer;padding:0;margin-bottom:var(--space-4);font-family:inherit}.trace-back:hover{color:var(--color-text-primary)}.trace-title-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.trace-id{font-family:var(--font-mono);color:var(--color-primary-700);font-size:var(--text-lg)}.trace-meta-grid{display:flex;flex-wrap:wrap;gap:var(--space-5);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.trace-meta-item{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm)}.trace-meta-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.3px}.trace-span-tree{flex:1;overflow:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--space-2) 0}.trace-span-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);cursor:pointer;transition:background var(--transition-fast);font-size:var(--text-sm)}.trace-span-row:hover{background:var(--color-bg-hover)}.trace-toggle{width:14px;text-align:center;color:var(--color-text-tertiary);flex-shrink:0;font-size:var(--text-xs)}.trace-toggle-ph{width:14px;flex-shrink:0}.trace-span-kind{padding:1px 6px;border-radius:var(--radius-sm);border:1px solid;font-size:var(--text-xs);font-weight:var(--font-semibold);flex-shrink:0}.trace-span-name{color:var(--color-text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trace-span-error-badge{background:var(--color-error-100);color:var(--color-error-700);padding:1px 6px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.trace-span-tokens{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);flex-shrink:0}.trace-span-duration{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);flex-shrink:0;min-width:40px;text-align:right}.trace-span-error-msg{color:var(--color-error-600);font-size:var(--text-xs);padding:2px var(--space-3) var(--space-1);font-style:italic}.traces-list-page{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:32px 40px}.traces-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.traces-list-header h1{font-size:var(--text-xl);font-weight:var(--font-bold)}.plan-review-page{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:32px 40px}.plan-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.plan-review-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.plan-review-meta{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-1)}.plan-review-content{flex:1;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:32px 40px}.plan-review-content h1,.plan-review-content h2,.plan-review-content h3{color:var(--color-text-primary);margin:1em 0 .5em;line-height:var(--leading-tight)}.plan-review-content h1{font-size:1.5em;border-bottom:1px solid var(--color-border-secondary);padding-bottom:.3em}.plan-review-content h2{font-size:1.25em}.plan-review-content p{margin:.6em 0}.plan-review-content ul,.plan-review-content ol{padding-left:1.5em;margin:.5em 0}.plan-review-content code{background:var(--color-bg-secondary);padding:.15em .4em;border-radius:var(--radius-sm);font-size:.9em;font-family:var(--font-mono)}.plan-review-content pre{background:var(--color-bg-secondary);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;margin:.8em 0}.plan-review-content pre code{background:none;padding:0}.plan-review-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-secondary);margin-top:var(--space-4)}.plan-feedback-input{flex:1;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-base);resize:none;outline:none;min-height:40px}.plan-feedback-input:focus{border-color:var(--color-border-focus)}.code-review-page{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:32px 40px}.code-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.code-review-title{font-size:var(--text-xl);font-weight:var(--font-bold)}.code-review-meta{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-1)}.code-review-diff{flex:1;overflow:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md)}.code-review-diff pre{margin:0;padding:var(--space-4);font-size:var(--text-sm);line-height:1.6;font-family:var(--font-mono);color:var(--color-text-primary)}.diff-line-add{background:var(--color-success-50);color:var(--color-success-700)}.diff-line-remove{background:var(--color-error-50);color:var(--color-error-700)}.diff-line-header{color:var(--color-primary-600);font-weight:var(--font-semibold)}.code-review-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-secondary);margin-top:var(--space-4)}.code-review-feedback{flex:1;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-base);resize:none;outline:none;min-height:40px}.code-review-feedback:focus{border-color:var(--color-border-focus)}.settings-page{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:32px 40px;gap:32px}.settings-page h1{font-size:28px;font-weight:700;color:var(--color-neutral-900)}.settings-page-sub{font-size:14px;color:var(--color-neutral-600);margin-top:8px}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section h2{font-size:18px;font-weight:700;color:var(--color-neutral-900);padding-bottom:12px;border-bottom:1px solid var(--color-neutral-100)}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field-label{font-size:12px;font-weight:600;color:var(--color-neutral-600)}.settings-field-value{padding:10px 14px;background:var(--color-neutral-50);border:1px solid var(--color-neutral-100);border-radius:var(--radius-md);font-size:14px;color:var(--color-neutral-900);font-family:inherit}.settings-field-value.mono{font-family:var(--font-mono);font-size:13px}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.settings-toggle-info{display:flex;flex-direction:column;gap:2px}.settings-toggle-label{font-size:14px;font-weight:600;color:var(--color-neutral-900)}.settings-toggle-desc{font-size:12px;color:var(--color-neutral-500)}.settings-toggle{position:relative;width:44px;height:24px;background:var(--color-neutral-200);border-radius:12px;border:none;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.settings-toggle.on{background:var(--color-primary-600)}.settings-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--transition-fast);box-shadow:0 1px 3px #00000026}.settings-toggle.on:after{transform:translate(20px)}:root{--color-primary-900: #003182;--color-primary-800: #003FA5;--color-primary-700: #0050C8;--color-primary-600: #0064EB;--color-primary-500: #0078FF;--color-primary-400: #3D97FF;--color-primary-300: #7AB5FF;--color-primary-200: #B8D4FF;--color-primary-100: #E5EFFF;--color-primary-50: #F2F7FF;--color-success-700: #006B2B;--color-success-600: #008838;--color-success-500: #00A645;--color-success-400: #33B86A;--color-success-300: #66CA90;--color-success-200: #99DCB5;--color-success-100: #E5F5EC;--color-success-50: #F2FAF5;--color-warning-700: #8A6900;--color-warning-600: #AD8400;--color-warning-500: #D19F00;--color-warning-400: #DDBB33;--color-warning-300: #E7D066;--color-warning-200: #F1E499;--color-warning-100: #FAF4E0;--color-warning-50: #FDFAF0;--color-error-700: #B3261E;--color-error-600: #D42E26;--color-error-500: #EC3A30;--color-error-400: #F0615A;--color-error-300: #F48983;--color-error-200: #F8B0AD;--color-error-100: #FDE8E7;--color-error-50: #FEF3F3;--color-neutral-900: #1A1A1C;--color-neutral-800: #333336;--color-neutral-700: #4D4D50;--color-neutral-600: #666669;--color-neutral-500: #808083;--color-neutral-400: #99999C;--color-neutral-300: #B3B3B5;--color-neutral-200: #CCCCCE;--color-neutral-100: #E6E6E7;--color-neutral-50: #F5F5F6;--color-white: #FFFFFF;--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-neutral-50);--color-bg-tertiary: var(--color-neutral-100);--color-bg-hover: var(--color-neutral-50);--color-bg-active: var(--color-primary-50);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-tertiary: var(--color-neutral-400);--color-text-inverse: var(--color-white);--color-text-link: var(--color-primary-700);--color-border-primary: var(--color-neutral-200);--color-border-secondary: var(--color-neutral-100);--color-border-focus: var(--color-primary-500);--font-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Noto Sans Mono", "SF Mono", "Menlo", "Monaco", "Consolas", monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--leading-tight: 1.3;--leading-normal: 1.6;--leading-loose: 1.8;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 2px 4px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-lg: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--sidebar-width: 256px;--header-height: 0px;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex}.app-shell{display:flex;width:100%;height:100%;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--font-mono)}::selection{background:var(--color-primary-200);color:var(--color-primary-900)}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-page{flex:1;display:flex;overflow:hidden}.chat-sidebar{width:280px;min-width:280px;background:var(--color-bg-primary);border-right:1px solid var(--color-border-secondary);display:flex;flex-direction:column}.chat-sidebar-header{padding:var(--space-3) var(--space-4);display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border-secondary)}.new-chat-btn{background:var(--color-primary-100);border:1px solid var(--color-primary-200);color:var(--color-primary-700);width:28px;height:28px;border-radius:var(--radius-md);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.new-chat-btn:hover{background:var(--color-primary-200);border-color:var(--color-primary-300)}.chat-sidebar-list{flex:1;overflow-y:auto}.chat-sidebar-empty{padding:var(--space-5) var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);text-align:center}.chat-conv-item{padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:1px solid var(--color-border-secondary);transition:background var(--transition-fast)}.chat-conv-item:hover{background:var(--color-bg-hover)}.chat-conv-item.active{background:var(--color-bg-active);border-left:3px solid var(--color-primary-600)}.chat-conv-top{display:flex;align-items:center;gap:var(--space-2)}.chat-conv-title{font-size:var(--text-base);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.chat-conv-preview{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:var(--space-2) var(--space-5);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-secondary);display:flex;align-items:center;justify-content:space-between}.chat-header-left{display:flex;align-items:center;gap:var(--space-2)}.chat-header-status{font-size:var(--text-sm);color:var(--color-text-tertiary)}.connection-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-neutral-300)}.connection-dot.connected{background:var(--color-success-500)}.connection-dot.disconnected{background:var(--color-error-500)}.chat-view{flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-view-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-tertiary);gap:var(--space-3)}.chat-empty-icon{font-size:48px;opacity:.3}.chat-empty-text{font-size:var(--text-base)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.chat-bubble{max-width:75%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-base);line-height:var(--leading-normal);word-break:break-word}.chat-user{align-self:flex-end;background:var(--color-primary-600);color:var(--color-white);border-bottom-right-radius:var(--radius-sm)}.chat-assistant{align-self:flex-start;background:var(--color-bg-secondary);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm)}.chat-error{align-self:flex-start;background:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error-700)}.chat-bubble-text{white-space:pre-wrap}.chat-progress{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.progress-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-success-500);animation:pulse 1.5s ease-in-out infinite}.chat-usage{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-tertiary);align-self:center}.chat-usage span{color:var(--color-text-secondary)}.chat-input-area{padding:var(--space-3) var(--space-5);background:var(--color-bg-primary);border-top:1px solid var(--color-border-secondary)}.chat-input-controls{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.chat-select{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);color:var(--color-text-primary);padding:6px 10px;border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);cursor:pointer;outline:none}.chat-select:focus{border-color:var(--color-border-focus)}.chat-input-row{display:flex;gap:var(--space-2);align-items:flex-end}.chat-textarea{flex:1;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--text-base);line-height:1.5;resize:none;outline:none;min-height:40px;max-height:200px}.chat-textarea:focus{border-color:var(--color-border-focus)}.chat-textarea:disabled{opacity:.5;cursor:not-allowed}.chat-textarea::placeholder{color:var(--color-text-tertiary)}.chat-send-btn,.chat-abort-btn{width:40px;height:40px;border:none;border-radius:var(--radius-lg);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.chat-send-btn{background:var(--color-primary-600);color:var(--color-white)}.chat-send-btn:hover:not(:disabled){background:var(--color-primary-700)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-abort-btn{background:var(--color-error-600);color:var(--color-white)}.chat-abort-btn:hover{background:var(--color-error-700)}.chat-attach-btn{width:40px;height:40px;border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);background:var(--color-bg-primary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.chat-attach-btn:hover:not(:disabled){border-color:var(--color-primary-500);background:var(--color-primary-50)}.chat-attach-btn:disabled{opacity:.3;cursor:not-allowed}.chat-upload-error{background:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error-700);padding:6px 10px;border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-2)}.chat-attached-files{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-2)}.chat-attached-file{display:flex;align-items:center;gap:4px;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:4px 8px;font-size:var(--text-xs);color:var(--color-text-secondary)}.attached-file-name{color:var(--color-text-primary)}.attached-file-size{color:var(--color-text-tertiary)}.attached-file-remove{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:var(--text-base);padding:0 2px;line-height:1}.attached-file-remove:hover{color:var(--color-error-600)}.chat-file-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.chat-file-tag{background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--text-xs);color:var(--color-primary-700)}.approval-card{background:var(--color-bg-primary);border:1px solid var(--color-warning-500);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);max-width:85%;align-self:flex-start}.approval-card.approval-resolved{border-color:var(--color-neutral-300);opacity:.7}.approval-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.approval-icon{font-size:18px}.approval-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-warning-700)}.approval-badge{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-sm);font-weight:var(--font-semibold)}.badge-approved{background:var(--color-success-100);color:var(--color-success-700)}.badge-rejected{background:var(--color-error-100);color:var(--color-error-700)}.approval-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);margin-bottom:var(--space-2)}.approval-diff{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--space-2);margin-bottom:var(--space-2);overflow-x:auto;max-height:300px;overflow-y:auto}.approval-diff pre{margin:0;font-size:var(--text-xs);line-height:1.5;color:var(--color-text-primary)}.approval-diff code{font-family:var(--font-mono)}.approval-feedback{margin-bottom:var(--space-2)}.approval-feedback-input{width:100%;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);color:var(--color-text-primary);padding:var(--space-2);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);resize:none;outline:none}.approval-feedback-input:focus{border-color:var(--color-warning-500)}.approval-actions{display:flex;gap:var(--space-2)}.approval-btn{padding:6px 14px;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.approve-btn{background:var(--color-success-500);color:var(--color-white)}.approve-btn:hover{background:var(--color-success-600)}.reject-btn{background:var(--color-error-500);color:var(--color-white)}.reject-btn:hover:not(:disabled){background:var(--color-error-600)}.reject-btn:disabled{opacity:.4;cursor:not-allowed}.reject-no-feedback-btn{background:transparent;border:1px solid var(--color-neutral-300);color:var(--color-text-tertiary)}.reject-no-feedback-btn:hover{border-color:var(--color-error-500);color:var(--color-error-600)}.chat-assistant .chat-bubble-text h1,.chat-assistant .chat-bubble-text h2,.chat-assistant .chat-bubble-text h3{margin:8px 0 4px;color:var(--color-text-primary)}.chat-assistant .chat-bubble-text h1{font-size:var(--text-lg)}.chat-assistant .chat-bubble-text h2,.chat-assistant .chat-bubble-text h3{font-size:var(--text-base)}.chat-assistant .chat-bubble-text p{margin:4px 0}.chat-assistant .chat-bubble-text ul,.chat-assistant .chat-bubble-text ol{margin:4px 0;padding-left:20px}.chat-assistant .chat-bubble-text li{margin:2px 0}.chat-assistant .chat-bubble-text code{font-family:var(--font-mono);background:var(--color-neutral-100);padding:1px 5px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.chat-assistant .chat-bubble-text pre{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);overflow-x:auto;margin:6px 0}.chat-assistant .chat-bubble-text pre code{background:none;padding:0;font-size:var(--text-sm);line-height:1.5;color:var(--color-text-primary)}.chat-assistant .chat-bubble-text blockquote{border-left:3px solid var(--color-primary-300);padding-left:10px;margin:6px 0;color:var(--color-text-secondary)}.chat-assistant .chat-bubble-text table{border-collapse:collapse;margin:6px 0;font-size:var(--text-sm)}.chat-assistant .chat-bubble-text th,.chat-assistant .chat-bubble-text td{border:1px solid var(--color-border-secondary);padding:4px 8px}.chat-assistant .chat-bubble-text th{background:var(--color-bg-secondary);font-weight:var(--font-semibold)}.chat-assistant .chat-bubble-text a{color:var(--color-text-link)}.chat-assistant .chat-bubble-text hr{border:none;border-top:1px solid var(--color-border-secondary);margin:8px 0}
