:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.agent-score-card{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:16px;color:#fff;overflow:hidden;box-shadow:0 10px 40px #0000004d}.score-card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.header-info{display:flex;align-items:center;gap:16px}.score-card-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.agent-badge{background:#3b82f633;color:#60a5fa;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.score-card-header .close-btn{background:#ffffff1a;border:none;color:#94a3b8;font-size:1.5rem;width:36px;height:36px;border-radius:8px;cursor:pointer;transition:all .2s}.score-card-header .close-btn:hover{background:#fff3;color:#fff}.score-card-content{padding:24px}.score-card-content h3{margin:0 0 16px;font-size:.9rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.section-subtitle{margin:-12px 0 16px;font-size:.8rem;color:#64748b}.overall-section{margin-bottom:32px;padding:20px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.overall-score{display:flex;flex-direction:column;gap:12px}.score-value{font-size:3rem;font-weight:700;color:#fff;line-height:1}.score-bar-container{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#ffffff1a}.score-bar{height:100%;transition:width .5s ease}.score-bar.pass{background:linear-gradient(90deg,#22c55e,#4ade80)}.score-bar.fail{background:linear-gradient(90deg,#ef4444,#f87171)}.score-indicators{display:flex;gap:20px}.indicator{display:flex;align-items:center;gap:6px;font-size:.875rem;color:#94a3b8}.indicator .icon{font-weight:700}.indicator.pass .icon{color:#22c55e}.indicator.fail .icon{color:#ef4444}.metrics-section{margin-bottom:32px}.metrics-list{display:flex;flex-direction:column;gap:16px}.metric-item{padding:16px;background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.metric-name{font-size:.9rem;font-weight:500;color:#e2e8f0}.metric-score{font-size:1rem;font-weight:700;padding:2px 10px;border-radius:6px}.metric-score.good{background:#22c55e33;color:#4ade80}.metric-score.warning{background:#f59e0b33;color:#fbbf24}.metric-score.poor{background:#ef444433;color:#f87171}.metric-bar-container{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:8px}.metric-bar{height:100%;border-radius:3px;transition:width .5s ease}.metric-bar.good{background:linear-gradient(90deg,#22c55e,#4ade80)}.metric-bar.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.metric-bar.poor{background:linear-gradient(90deg,#ef4444,#f87171)}.metric-insight{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;color:#94a3b8}.insight-arrow{color:#64748b;flex-shrink:0}.insight-text{line-height:1.4}.summary-section{margin-bottom:32px}.summary-stats{display:flex;gap:16px}.stat-item{flex:1;padding:16px;background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.06);text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:4px}.stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.recommendations-section{padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.recommendations-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.recommendation{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;font-size:.85rem;line-height:1.4}.recommendation.high{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.recommendation.medium{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:#fcd34d}.recommendation.low{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#93c5fd}.rec-icon{flex-shrink:0;width:18px;font-weight:700}.recommendation.high .rec-icon{color:#ef4444}.recommendation.medium .rec-icon{color:#f59e0b}.recommendation.low .rec-icon{color:#3b82f6}.rec-text{flex:1}@media(max-width:600px){.summary-stats{flex-direction:column}.score-value{font-size:2.5rem}}.dashboard{display:flex;flex-direction:column;gap:2rem;padding:1.5rem;max-width:80rem;margin:0 auto}.section{margin-bottom:40px}.section h2{margin-bottom:16px;font-size:1.5rem;color:#333}.results-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.results-table th,.results-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.results-table th{background:#f5f5f5;font-weight:600;color:#555;font-size:.875rem;text-transform:uppercase}.result-row{cursor:pointer;transition:background .2s}.result-row:hover{background:#f9f9f9}.result-row.passed{border-left:4px solid #22c55e}.result-row.failed{border-left:4px solid #ef4444}.result-row.error{border-left:4px solid #f59e0b}.status-cell{width:50px;text-align:center}.status-icon.error{color:#f59e0b}.agent-name{font-weight:500;color:#333}.version{font-family:monospace;color:#666;background:#f0f0f0;padding:2px 8px;border-radius:4px;font-size:.875rem}.count{font-weight:600;text-align:center}.count.passed{color:#22c55e}.count.failed{color:#ef4444}.count.skipped{color:#f59e0b}.timestamp{color:#888;font-size:.875rem}.results-summary{font-size:.875rem}.results-summary .passed{color:#22c55e}.results-summary .failed{color:#ef4444}.results-summary .skipped{color:#f59e0b}.history{font-size:.875rem}.history .result-row{opacity:.9}.history .result-row:first-child{opacity:1;font-weight:500}.actions-cell{display:flex;gap:8px;justify-content:center}.view-score-btn{background:#3b82f6;border:none;padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;color:#fff;font-weight:500}.view-score-btn:hover{background:#2563eb}.edit-tests-btn{background:#f3f4f6;border:1px solid #d1d5db;padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;color:#374151}.edit-tests-btn:hover{background:#e5e7eb;border-color:#9ca3af}.score-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.score-modal{max-width:600px;width:100%;max-height:90vh;overflow-y:auto;border-radius:16px;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.detail-view{padding:20px;max-width:1200px;margin:0 auto}.back-btn{background:#f5f5f5;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;color:#555;margin-bottom:20px;transition:background .2s}.back-btn:hover{background:#e5e5e5}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.agent-info h1{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:1.75rem}.agent-info .meta{display:flex;gap:16px}.agent-info .version{font-family:monospace;background:#f0f0f0;padding:4px 12px;border-radius:4px;color:#666}.agent-info .timestamp{color:#888}.summary-stats{display:flex;gap:24px}.stat{text-align:center;padding:12px 24px;border-radius:8px;background:#f9f9f9}.stat .value{display:block;font-size:2rem;font-weight:700}.stat .label{font-size:.75rem;text-transform:uppercase;color:#888}.stat.passed .value{color:#22c55e}.stat.failed .value{color:#ef4444}.stat.skipped .value{color:#f59e0b}.tests-section,.log-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.tests-section h2{margin:0 0 16px;font-size:1.25rem;color:#333}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.log-header h2{margin:0;font-size:1.25rem;color:#333}.log-toggle{display:flex;gap:4px;background:#f0f0f0;padding:4px;border-radius:8px}.log-toggle button{padding:6px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.875rem;color:#666;transition:all .2s}.log-toggle button:hover{color:#333}.log-toggle button.active{background:#fff;color:#333;box-shadow:0 1px 3px #0000001a}.tests-list{display:flex;flex-direction:column;gap:8px}.test-item{border:1px solid #eee;border-radius:8px;overflow:hidden}.test-item.passed{border-left:4px solid #22c55e}.test-item.failed{border-left:4px solid #ef4444}.test-item.skipped{border-left:4px solid #f59e0b}.test-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fafafa}.test-name{flex:1;font-family:monospace;font-size:.875rem;word-break:break-all}.test-duration{color:#888;font-size:.75rem;font-family:monospace}.test-error{padding:12px 16px;background:#fef2f2;border-top:1px solid #fecaca}.test-error pre{margin:0;font-size:.8rem;color:#b91c1c;white-space:pre-wrap;word-break:break-word}.test-log{border-top:1px solid #eee}.test-log summary{padding:8px 16px;cursor:pointer;font-size:.8rem;color:#666}.test-log pre{margin:0;padding:12px 16px;background:#f5f5f5;font-size:.75rem;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.no-tests{color:#888;font-style:italic}.full-log{background:#1e1e1e;color:#d4d4d4;padding:16px;border-radius:8px;font-size:.8rem;white-space:pre-wrap;word-break:break-word;max-height:500px;overflow-y:auto;margin:0}.status-icon{font-size:1.25rem}.status-icon.passed{color:#22c55e}.status-icon.failed{color:#ef4444}.status-icon.skipped,.status-icon.error{color:#f59e0b}.formatted-log{background:#fafafa;border-radius:8px;padding:16px}.log-quick-summary{display:flex;gap:24px;padding:16px 20px;background:#fff;border-radius:8px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a}.quick-stat{display:flex;flex-direction:column;align-items:center}.quick-value{font-size:1.5rem;font-weight:700}.quick-value.passed{color:#22c55e}.quick-value.failed{color:#ef4444}.quick-value.skipped{color:#f59e0b}.quick-value.duration{color:#6366f1}.quick-label{font-size:.75rem;color:#888;text-transform:uppercase}.error-types-summary{margin-bottom:20px}.error-types-summary h3{font-size:.875rem;color:#666;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.error-type-chips{display:flex;flex-wrap:wrap;gap:8px}.error-type-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #e5e5e5;border-radius:20px;font-size:.875rem}.error-type-count{background:#ef4444;color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.error-type-name{color:#333}.log-failures h3{display:flex;align-items:center;gap:8px;margin:20px 0 12px}.error-type-badge{background:#fef2f2;color:#dc2626;padding:4px 12px;border-radius:4px;font-size:.875rem;font-weight:500}.error-count{font-size:.875rem;color:#888;font-weight:400}.failure-item{background:#fff;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;margin-bottom:12px;overflow:hidden}.failure-header{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fef2f2}.failure-icon{color:#ef4444;font-size:1rem;flex-shrink:0;margin-top:2px}.failure-info{flex:1;min-width:0}.failure-question{display:block;font-weight:500;color:#333;word-break:break-word}.failure-tool{display:block;font-size:.8rem;color:#666;margin-top:4px;font-family:monospace}.failure-location{font-size:.75rem;color:#888;font-family:monospace;flex-shrink:0}.failure-error{padding:12px 16px;background:#fff5f5;border-top:1px solid #fecaca}.failure-error code{display:block;font-size:.8rem;color:#b91c1c;word-break:break-word;white-space:pre-wrap}.failure-details{border-top:1px solid #fecaca}.failure-details summary{padding:8px 16px;cursor:pointer;font-size:.8rem;color:#666;background:#fafafa}.failure-details summary:hover{background:#f5f5f5}.failure-details pre{margin:0;padding:12px 16px;background:#1e1e1e;color:#d4d4d4;font-size:.75rem;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.log-success{display:flex;align-items:center;gap:12px;padding:24px;background:#dcfce7;color:#166534;border-radius:8px;font-weight:500}.success-icon{font-size:1.5rem}.log-fallback{padding:16px;color:#666;font-style:italic}.log-fallback p{margin:0}.controls{display:flex;align-items:flex-end;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #eee;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:4px}.control-group label{font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase}.control-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.875rem;min-width:180px;background:#fff;cursor:pointer}.control-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.control-group.checkbox{flex-direction:row;align-items:center}.control-group.checkbox label{display:flex;align-items:center;gap:8px;font-size:.875rem;text-transform:none;cursor:pointer}.control-group.checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.run-btn{background:#22c55e;color:#fff;border:none;padding:8px 24px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.run-btn:hover:not(:disabled){background:#16a34a}.run-btn:disabled{background:#9ca3af;cursor:not-allowed}.running-jobs{padding:12px 24px;background:#fef3c7;border-bottom:1px solid #fcd34d}.running-jobs h3{margin:0 0 8px;font-size:.875rem;color:#92400e}.jobs-list{display:flex;flex-direction:column;gap:8px}.job-item{display:flex;align-items:center;gap:12px;font-size:.875rem}.spinner{width:16px;height:16px;border:2px solid #fcd34d;border-top-color:#f59e0b;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.job-agent{font-weight:600;color:#92400e}.job-env{background:#fcd34d;color:#78350f;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.job-time{color:#a16207;font-size:.75rem}.test-editor{position:fixed;inset:0;background:#fff;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.header-left{display:flex;flex-direction:column;gap:4px}.editor-header h2{margin:0;font-size:1.25rem}.source-info{display:flex;align-items:center;gap:12px;font-size:.75rem}.commit-sha{font-family:monospace;color:#6b7280;background:#e5e7eb;padding:2px 6px;border-radius:4px}.github-link{color:#3b82f6;text-decoration:none}.github-link:hover{text-decoration:underline}.edit-github-btn{background:#f3f4f6;border:1px solid #d1d5db;padding:6px 12px;border-radius:6px;font-size:.75rem;color:#374151;text-decoration:none;cursor:pointer}.edit-github-btn:hover{background:#e5e7eb;border-color:#9ca3af}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px 8px}.close-btn:hover{color:#1f2937}.editor-content{flex:1;overflow-y:auto;padding:24px}.section{margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:1rem;color:#374151}.add-btn{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem}.add-btn:hover{background:#2563eb}.test-list{display:flex;flex-direction:column;gap:8px}.test-case{border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;background:#f9fafb}.test-case.new{background:#f0fdf4;border-color:#86efac}.test-case.existing{opacity:.7}.test-case-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.marker-badge{font-size:.75rem;padding:2px 8px;border-radius:4px;font-weight:500}.test-question{flex:1;font-size:.875rem;color:#1f2937}.test-tools{font-size:.75rem;color:#6b7280;font-family:monospace}.remove-btn{background:none;border:none;color:#ef4444;font-size:1.25rem;cursor:pointer;padding:0 4px}.remove-btn:hover{color:#dc2626}.add-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:.75rem;font-weight:600;color:#374151;margin-bottom:4px;text-transform:uppercase}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.form-group textarea{resize:vertical}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.cancel-btn{background:#f3f4f6;color:#374151;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.cancel-btn:hover{background:#e5e7eb}.confirm-btn{background:#22c55e;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.confirm-btn:hover{background:#16a34a}.empty-state{color:#9ca3af;font-style:italic;text-align:center;padding:24px}.editor-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:#f9fafb;border-top:1px solid #e5e7eb}.secondary-btn{background:#f3f4f6;color:#374151;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.875rem}.secondary-btn:hover{background:#e5e7eb}.primary-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500}.primary-btn:hover:not(:disabled){background:#2563eb}.primary-btn:disabled{background:#9ca3af;cursor:not-allowed}.error-banner{background:#fef2f2;color:#b91c1c;padding:12px 24px;border-bottom:1px solid #fecaca}.loading{padding:48px;text-align:center;color:#6b7280}.pr-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.success-icon{width:64px;height:64px;background:#22c55e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:16px}.pr-success h3{margin:0 0 8px;color:#1f2937}.pr-success p{color:#6b7280;margin:0 0 16px}.pr-success code{background:#f3f4f6;padding:2px 8px;border-radius:4px}.pr-link{display:inline-block;background:#3b82f6;color:#fff;padding:12px 24px;border-radius:6px;text-decoration:none;font-weight:500;margin-bottom:16px}.pr-link:hover{background:#2563eb}.new-tests{min-height:100px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:600;color:#374151}.ai-assist-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;display:flex;align-items:center;gap:4px;transition:all .2s}.ai-assist-btn:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 2px 8px #8b5cf64d}.ai-icon{font-size:.875rem}.ai-assist-panel{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #c4b5fd;border-radius:8px;padding:16px;margin-bottom:16px}.ai-assist-panel .form-group label{color:#6d28d9}.ai-assist-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.ai-generate-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500}.ai-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5)}.ai-generate-btn:disabled{background:#9ca3af;cursor:not-allowed}.ai-explanation{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:6px;padding:10px 12px;margin-bottom:16px;font-size:.8rem;color:#5b21b6;display:flex;align-items:flex-start;gap:8px}.ai-explanation .ai-icon{flex-shrink:0}.optional-label{font-weight:400;color:#9ca3af;text-transform:none;font-size:.7rem}.tools-autocomplete{display:flex;flex-direction:column;gap:8px}.selected-tools-row{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.selected-tool-chip{display:inline-flex;align-items:center;gap:4px;background:#dbeafe;color:#1e40af;padding:4px 8px;border-radius:4px;font-size:.75rem;font-family:monospace}.chip-remove{background:none;border:none;color:#1e40af;cursor:pointer;padding:0;font-size:1rem;line-height:1;opacity:.6}.chip-remove:hover{opacity:1}.autocomplete-wrapper{position:relative}.autocomplete-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.autocomplete-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;z-index:100;max-height:240px;overflow-y:auto}.suggestion-item{padding:10px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:monospace;font-size:.8rem;border-bottom:1px solid #f3f4f6}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#f3f4f6}.suggestion-item.already-selected{opacity:.5;cursor:default}.suggestion-item.already-selected:hover{background:transparent}.suggestion-item.loading,.suggestion-item.empty{color:#9ca3af;font-family:inherit;cursor:default}.suggestion-item.empty:hover{background:#f0fdf4}.suggestion-name{color:#1f2937}.already-added{font-size:.65rem;color:#9ca3af;font-family:inherit}.test-library{width:320px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;flex-shrink:0}.library-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.library-header h2{margin:0;font-size:1rem;color:#374151}.test-count{background:#3b82f6;color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:12px}.library-empty{padding:32px 20px;text-align:center}.library-empty p{margin:8px 0;color:#6b7280;font-size:.9rem}.library-empty .hint{font-size:.8rem;color:#9ca3af}.library-list{max-height:500px;overflow-y:auto}.library-item{display:flex;align-items:flex-start;padding:14px 16px;border-bottom:1px solid #f3f4f6;transition:background .2s}.library-item:hover{background:#f9fafb}.library-item:last-child{border-bottom:none}.item-content{flex:1;cursor:pointer;min-width:0}.item-question{font-size:.875rem;color:#1f2937;line-height:1.4;margin-bottom:8px;word-wrap:break-word}.item-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.tool-tag{font-size:.7rem;background:#e0f2fe;color:#0369a1;padding:2px 8px;border-radius:10px;font-family:monospace}.tool-more{font-size:.7rem;color:#6b7280;padding:2px 6px}.item-date{font-size:.75rem;color:#9ca3af}.delete-btn{background:none;border:none;color:#9ca3af;font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .2s,color .2s}.library-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:#ef4444}.item-expected{margin-bottom:6px}.expected-indicator{font-size:.7rem;background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:10px}.item-metrics{font-size:.7rem;color:#6b7280;margin-bottom:6px}.quick-test{min-height:100vh;background:#f5f7fa}.quick-test-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d}.quick-test-header h1{margin:0;font-size:1.5rem;color:#333}.back-btn{background:none;border:1px solid #d1d5db;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;color:#374151;transition:all .2s}.back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.library-toggle-btn{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background .2s}.library-toggle-btn:hover{background:#2563eb}.quick-test-layout{display:flex;max-width:1400px;margin:0 auto;padding:20px;gap:20px}.quick-test-main{flex:1;display:flex;flex-direction:column;gap:20px}.test-config-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.config-row{display:flex;gap:20px;margin-bottom:20px}.config-group{display:flex;flex-direction:column;gap:8px}.config-group.full-width{width:100%;margin-bottom:16px}.config-group label{font-size:.875rem;font-weight:600;color:#374151}.config-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;min-width:180px;background:#fff}.config-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.config-group textarea{padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;resize:vertical;font-family:inherit}.config-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.tools-autocomplete-wrapper{position:relative}.tools-input{display:flex;gap:8px}.tools-input input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.tools-input input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.tools-input input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.add-tool-btn{background:#f3f4f6;border:1px solid #d1d5db;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;color:#374151;white-space:nowrap}.add-tool-btn:hover:not(:disabled){background:#e5e7eb}.add-tool-btn:disabled{opacity:.5;cursor:not-allowed}.tool-suggestions{position:absolute;top:100%;left:0;right:80px;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;z-index:100;max-height:240px;overflow-y:auto}.tool-suggestions .suggestion-item{padding:10px 12px;cursor:pointer;font-family:monospace;font-size:.8rem;border-bottom:1px solid #f3f4f6;color:#1f2937}.tool-suggestions .suggestion-item:last-child{border-bottom:none}.tool-suggestions .suggestion-item:hover,.tool-suggestions .suggestion-item.highlighted{background:#e0f2fe}.tool-suggestions .suggestion-item.loading,.tool-suggestions .suggestion-item.hint{color:#9ca3af;font-family:inherit;cursor:default}.tool-suggestions .suggestion-item.hint:hover{background:#f0fdf4}.tools-hint{display:block;margin-top:6px;font-size:.75rem;color:#6b7280}.tool-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tool-chip{display:inline-flex;align-items:center;gap:6px;background:#e0f2fe;color:#0369a1;padding:6px 12px;border-radius:20px;font-size:.875rem;font-family:monospace}.tool-chip button{background:none;border:none;color:#0369a1;cursor:pointer;font-size:1rem;padding:0;line-height:1}.tool-chip button:hover{color:#0c4a6e}.config-actions{display:flex;gap:12px;margin-top:8px}.run-test-btn{background:#22c55e;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.run-test-btn:hover:not(:disabled){background:#16a34a}.run-test-btn:disabled{background:#9ca3af;cursor:not-allowed}.save-library-btn{background:#fff;color:#3b82f6;border:1px solid #3b82f6;padding:12px 24px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.save-library-btn:hover:not(:disabled){background:#eff6ff}.save-library-btn:disabled{color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.clear-btn{background:#f3f4f6;border:1px solid #d1d5db;padding:12px 24px;border-radius:6px;font-size:.9rem;cursor:pointer;color:#374151}.clear-btn:hover{background:#e5e7eb}.conversation-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;flex:1;min-height:400px}.conversation-panel h2{margin:0 0 20px;font-size:1.25rem;color:#333;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.empty-conversation{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#6b7280;text-align:center}.empty-conversation p{margin:8px 0}.empty-conversation .hint{font-size:.875rem;color:#9ca3af}.conversation-messages{display:flex;flex-direction:column;gap:16px}.message{max-width:100%}.message-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.message-role{font-weight:600;font-size:.875rem;color:#374151;background:#f3f4f6;padding:4px 10px;border-radius:4px}.message-role.agent-role{background:#dbeafe;color:#1d4ed8}.message-time{font-size:.75rem;color:#9ca3af}.message-content{background:#f9fafb;padding:14px 16px;border-radius:8px;color:#374151;line-height:1.5}.message.user .message-content{background:#f0f9ff;border-left:3px solid #3b82f6}.message.agent .message-content{background:#f0fdf4;border-left:3px solid #22c55e}.error-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px}.error-header{display:flex;align-items:center;gap:8px;font-weight:600;color:#b91c1c;margin-bottom:8px}.error-icon{font-size:1rem}.error-content{color:#7f1d1d;font-size:.875rem;white-space:pre-wrap;font-family:monospace}.thinking-indicator{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef3c7;border-radius:8px;color:#92400e}.thinking-text{font-size:.9rem}.thinking-dots{display:flex;gap:4px}.thinking-dots span{width:6px;height:6px;background:#92400e;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-dots span:nth-child(3){animation-delay:0}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.tool-call-box{background:#1e293b;border-radius:8px;overflow:hidden;font-family:Monaco,Menlo,monospace}.tool-call-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#334155;color:#e2e8f0;font-size:.875rem}.tool-icon{font-size:1rem}.tool-call-header code{color:#fbbf24;background:#fbbf241a;padding:2px 8px;border-radius:4px}.tool-call-content{padding:16px}.tool-section{margin-bottom:12px}.tool-section:last-child{margin-bottom:0}.tool-label{display:block;font-size:.75rem;color:#94a3b8;margin-bottom:6px;text-transform:uppercase}.tool-section pre{margin:0;padding:12px;background:#0f172a;border-radius:6px;color:#a5f3fc;font-size:.8rem;overflow-x:auto}.evaluation-box{border-radius:8px;overflow:hidden;border:2px solid}.evaluation-box.passed{border-color:#22c55e}.evaluation-box.failed{border-color:#ef4444}.eval-status{font-weight:700;font-size:.875rem;padding:4px 12px;border-radius:4px}.eval-status.passed{background:#dcfce7;color:#166534}.eval-status.failed{background:#fee2e2;color:#991b1b}.eval-title{font-weight:600;color:#374151}.eval-content{padding:16px;background:#fff}.eval-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6}.eval-row:last-child{border-bottom:none}.eval-label{font-size:.875rem;color:#6b7280}.eval-value{font-family:monospace;font-size:.875rem;color:#374151}.eval-value.passed{color:#22c55e;font-weight:600}.eval-value.failed{color:#ef4444;font-weight:600}.field-hint{display:block;margin-top:6px;font-size:.75rem;color:#9ca3af;font-style:italic}.metrics-selector{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.metric-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff;border:1px solid #e5e7eb}.metric-option:hover{border-color:#3b82f6;background:#f0f9ff}.metric-option.selected{border-color:#3b82f6;background:#eff6ff}.metric-option input[type=checkbox]{margin-top:2px;width:16px;height:16px;cursor:pointer}.metric-info{display:flex;flex-direction:column;gap:2px}.metric-info .metric-name{font-weight:600;font-size:.875rem;color:#374151}.metric-info .metric-desc{font-size:.75rem;color:#6b7280}.expected-output-preview{margin-top:8px;padding:10px 14px;background:#fef3c7;border-radius:6px;border-left:3px solid #f59e0b}.expected-label{font-size:.75rem;font-weight:600;color:#92400e;text-transform:uppercase;display:block;margin-bottom:4px}.expected-text{font-size:.875rem;color:#78350f;line-height:1.4}.eval-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb}.eval-overall-score{margin-left:auto;font-weight:600;font-size:.9rem;color:#374151;background:#fff;padding:4px 12px;border-radius:4px;border:1px solid #e5e7eb}.eval-metrics-list{padding:16px;background:#fff;display:flex;flex-direction:column;gap:12px}.eval-metric{padding:14px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fafafa}.eval-metric.passed{border-left:4px solid #22c55e}.eval-metric.failed{border-left:4px solid #ef4444}.eval-metric .metric-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.eval-metric .metric-status{font-size:1rem;font-weight:700}.eval-metric .metric-status.passed{color:#22c55e}.eval-metric .metric-status.failed{color:#ef4444}.eval-metric .metric-name{font-weight:600;font-size:.9rem;color:#374151}.eval-metric .metric-score{margin-left:auto;font-family:monospace;font-size:.875rem;font-weight:600;color:#374151;background:#f3f4f6;padding:2px 8px;border-radius:4px}.eval-metric .metric-reason{font-size:.85rem;color:#6b7280;line-height:1.4;margin-bottom:8px}.eval-metric .metric-details{background:#f9fafb;border-radius:6px;padding:10px 12px;font-size:.8rem}.eval-metric .metric-details .detail-row{display:flex;gap:8px;padding:4px 0;border-bottom:none}.eval-metric .metric-details .detail-label{color:#6b7280;font-weight:500;min-width:100px}.eval-metric .metric-details .detail-value{color:#374151;font-family:monospace;word-break:break-word}.schedule-manager{min-height:100vh;background:#f5f7fa}.schedule-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d}.schedule-header h1{margin:0;font-size:1.5rem;color:#333}.create-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.create-btn:hover{background:#2563eb}.schedules-container{max-width:900px;margin:0 auto;padding:24px}.empty-schedules{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-schedules p{margin:8px 0;color:#6b7280}.empty-schedules .hint{font-size:.875rem;color:#9ca3af}.schedules-list{display:flex;flex-direction:column;gap:16px}.schedule-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s}.schedule-card:hover{box-shadow:0 4px 12px #0000001f}.schedule-card.disabled{opacity:.7}.schedule-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.schedule-info{display:flex;align-items:center;gap:12px}.schedule-info h3{margin:0;font-size:1.1rem;color:#1f2937}.status-badge{font-size:.75rem;padding:4px 10px;border-radius:20px;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.toggle{position:relative;display:inline-block;width:48px;height:26px}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.3s;border-radius:26px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle input:checked+.slider{background-color:#22c55e}.toggle input:checked+.slider:before{transform:translate(22px)}.schedule-details{margin-bottom:16px}.detail-row{display:flex;align-items:center;gap:10px;padding:8px 0}.detail-icon{width:24px;text-align:center}.detail-label{width:100px;font-size:.875rem;color:#6b7280}.detail-value{font-size:.9rem;color:#374151}.detail-value.muted{color:#9ca3af}.env-badge{font-size:.75rem;padding:3px 10px;border-radius:4px;font-weight:500;text-transform:uppercase}.env-badge.prod{background:#fee2e2;color:#991b1b}.env-badge.dev{background:#dbeafe;color:#1e40af}.schedule-actions{display:flex;gap:10px;padding-top:16px;border-top:1px solid #f3f4f6}.action-btn{padding:8px 16px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.action-btn.run-now{background:#22c55e;color:#fff;border:none}.action-btn.run-now:hover{background:#16a34a}.action-btn.edit{background:#fff;color:#3b82f6;border:1px solid #3b82f6}.action-btn.edit:hover{background:#eff6ff}.action-btn.delete{background:#fff;color:#ef4444;border:1px solid #ef4444}.action-btn.delete:hover{background:#fef2f2}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.25rem;color:#1f2937}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#9ca3af;padding:0;line-height:1}.close-btn:hover{color:#374151}.modal form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:8px}.form-group input[type=text],.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group .hint{display:block;margin-top:6px;font-size:.75rem;color:#9ca3af}.agent-selector{border:1px solid #e5e7eb;border-radius:6px;padding:12px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#374151;cursor:pointer}.checkbox-label input{width:16px;height:16px}.agent-checkboxes{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.cancel-btn{background:#fff;color:#6b7280;border:1px solid #d1d5db;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem}.cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.submit-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.submit-btn:hover{background:#2563eb}.submit-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;padding:60px 20px;color:#6b7280;font-size:1rem}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 20px;margin:0 24px 16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:#991b1b;cursor:pointer;font-size:.875rem;text-decoration:underline}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333}.app{min-height:100vh}.header{background:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.header-nav{display:flex;gap:4px;background:#f3f4f6;padding:4px;border-radius:8px}.nav-btn{background:transparent;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:#6b7280;transition:all .2s}.nav-btn:hover{color:#374151;background:#ffffff80}.nav-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.header h1{margin:0;font-size:1.5rem;color:#333}.refresh-btn{background:#3b82f6;color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.refresh-btn:hover{background:#2563eb}.loading{text-align:center;padding:60px 20px;color:#666;font-size:1.125rem}.error{text-align:center;padding:40px 20px;color:#ef4444;background:#fef2f2;margin:20px;border-radius:8px}
