:root{--bg: #ffffff;--bg-alt: #f5f5f5;--bg-hover: #eeeeee;--border: #e0e0e0;--text: #111111;--text-muted: #666666;--text-dim: #999999;--accent: #0066cc;--success: #1a7f37;--failure: #c0392b;--warning: #b45309;--neutral: #555555;--badge-bg: #f0f0f0;--badge-text: #333333;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--radius: 4px}[data-theme=dark]{--bg: #0d1117;--bg-alt: #161b22;--bg-hover: #1f2937;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--text-dim: #484f58;--accent: #58a6ff;--success: #3fb950;--failure: #f85149;--warning: #d29922;--neutral: #8b949e;--badge-bg: #21262d;--badge-text: #c9d1d9}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-alt);flex-shrink:0;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-title{font-weight:600;font-size:15px;letter-spacing:-.02em;white-space:nowrap;color:var(--text)}.main{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.section{display:flex;flex-direction:column;gap:8px}.runs-table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:13px}.runs-table th{text-align:left;padding:6px 10px;background:var(--bg-alt);color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border);white-space:nowrap}.runs-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}.runs-table tr:last-child td{border-bottom:none}.runs-table tr:hover td{background:var(--bg-hover)}.status{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.dot-success{background:var(--success)}.dot-failure{background:var(--failure)}.dot-running{background:var(--warning);animation:pulse 1.5s infinite}.dot-neutral{background:var(--neutral)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.btn{appearance:none;background:var(--bg-alt);border:1px solid var(--border);color:var(--text);padding:4px 10px;border-radius:var(--radius);font-size:12px;cursor:pointer;transition:background .1s}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.conn-status{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:4px}.conn-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);display:inline-block}.conn-dot-live{background:var(--success)}.empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius)}.time{font-size:11px;color:var(--text-dim);font-family:var(--font-mono);white-space:nowrap}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.update-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 1rem;background:var(--accent);color:#fff;font-size:.875rem;font-weight:500}.update-banner-button{padding:.25rem .75rem;background:#fff;color:var(--accent);border:none;border-radius:var(--radius);font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity .2s}.update-banner-button:hover{opacity:.9}.auth-error{margin-top:1rem;padding:1rem;background:#fee;border:1px solid #c00;border-radius:var(--radius)}[data-theme=dark] .auth-error{background:#1a0000;border-color:var(--failure)}.selector-page{display:flex;flex-direction:column;gap:12px}.selector-page h2{font-size:14px;font-weight:600;color:var(--text-muted)}.scenario-filter-row{display:flex}.scenario-filter{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:13px}.scenario-filter:focus{outline:none;border-color:var(--accent)}.time-section{display:flex;flex-direction:column;gap:4px}.time-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;padding:2px 0}.scenario-list{display:flex;flex-direction:column;gap:2px}.scenario-row{display:flex;align-items:center;gap:6px}.scenario-btn{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text);transition:background .1s;min-width:0}.scenario-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.scenario-title{font-size:13px;font-weight:500;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.scenario-project{color:var(--text-muted)}.scenario-divider{color:var(--text-dim)}.scenario-name{color:var(--text)}.scenario-version{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.scenario-org{font-size:10px;padding:1px 5px;border-radius:10px;background:var(--badge-bg);color:var(--text-dim);font-family:var(--font-mono)}.scenario-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.scenario-errors{font-size:11px;padding:1px 5px;border-radius:10px;background:#fee;color:var(--failure)}[data-theme=dark] .scenario-errors{background:#1a0808}.scenario-pending{font-size:11px;padding:1px 5px;border-radius:10px;background:#fef9e7;color:var(--warning)}[data-theme=dark] .scenario-pending{background:#1a1000}.scenario-timing{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.scenario-model-type{font-size:11px;padding:1px 5px;border-radius:10px;background:var(--badge-bg);color:var(--badge-text)}.loading-box,.error-box,.empty-box{padding:16px;text-align:center;color:var(--text-muted);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius)}.error-box{border-color:var(--failure);color:var(--failure)}.error-detail{margin-top:8px;font-size:11px;font-family:var(--font-mono);white-space:pre-wrap;text-align:left;color:var(--text-muted)}@media(max-width:640px){.header{gap:8px;padding:8px 12px}.header-right{width:100%;gap:6px}.main{padding:12px}}
