body{margin:0;background:#0f172a;color:#e5e7eb;font-family:Inter,ui-sans-serif,system-ui,sans-serif}main{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.dashboard-header h1{margin:0 0 .25rem}.dashboard-subtitle{color:#94a3b8;margin:0}.userbar{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.userbar img{border-radius:999px;height:32px;width:32px}.batch-progress{background:#ecfeff;border:1px solid #a5f3fc;border-radius:.4rem;color:#155e75;font-size:.85rem;max-width:22rem;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;white-space:nowrap}.card{background:#111827;border:1px solid #374151;border-radius:.75rem;padding:1rem}button,input,select,.button{border:0;border-radius:.5rem;margin:.15rem;padding:.5rem .75rem}button,.button{background:#38bdf8;color:#082f49;cursor:pointer;font-weight:700;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.45}button.ghost{background:transparent;border:1px solid #334155;color:#cbd5f5;font-weight:500}input,select{background:#1f2937;color:#f9fafb}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid #334155;padding:.6rem .75rem;text-align:left}th{color:#94a3b8;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}tbody tr:hover{background:#1e293b;cursor:pointer}.empty-row{color:#94a3b8;text-align:center}pre{background:#020617;border-radius:.75rem;overflow:auto;padding:1rem}code{background:#020617;border-radius:.25rem;color:#94a3b8;font-size:.85rem;padding:.05rem .3rem}.badge{background:#1f2937;border-radius:999px;color:#f9fafb;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.25rem;padding:.1rem .5rem}.badge-open{background:#fb923c;color:#431407}.badge-mitigated{background:#facc15;color:#422006}.badge-fixed{background:#22c55e;color:#052e16}.badge-wontfix{background:#f87171;color:#450a0a}.badge-severity-high{background:#ef4444;color:#450a0a}.badge-severity-medium{background:#f59e0b;color:#431407}.badge-severity-low{background:#38bdf8;color:#082f49}.badge-severity-info{background:#475569;color:#e2e8f0}.badge-unconfirmed{background:transparent;border:1px dashed #64748b;color:#94a3b8}.badge-fail-count{background:#f8717140;color:#fca5a5}.badge-warn-count{background:#fbbf2438;color:#fbbf24}.badge-classification{background:#334155;color:#e2e8f0}.badges{display:flex;gap:.25rem;margin:.25rem 0}.known-issue{border-left:4px solid #fb923c;padding-left:.75rem}.known-issue-node{border-left-color:#fb923c}.known-issue-pbx{border-left-color:#f59e0b}.known-issue-carrier{border-left-color:#a78bfa}.known-issue-app{border-left-color:#f87171}.known-issue-sdk{border-left-color:#38bdf8}.known-issue-harness{border-left-color:#facc15}.known-issue-banner{background:#422006;border:1px solid #fb923c;border-radius:.5rem;margin:.75rem 0;padding:.75rem}.known-issue-banner h4{margin:0 0 .4rem}.known-issue-banner ul{list-style:none;margin:0;padding-left:0}.known-issue-banner li{margin-bottom:.4rem}.latest-runs{background:#0b1220;border:1px solid #1f2937;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.latest-runs-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin-bottom:.75rem}.latest-runs-header h2{margin:0}.latest-runs-summary{display:flex;flex-wrap:wrap;gap:.4rem}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:600;gap:.3rem;padding:.15rem .55rem}.status-pill-passed{background:#22c55e2e;color:#4ade80}.status-pill-failed{background:#f8717133;color:#fca5a5}.status-pill-blocked{background:#facc1533;color:#facc15}.status-pill-known-issue{background:#fbbf2438;color:#fbbf24}.status-pill-meta{background:#1f2937;color:#e2e8f0;font-weight:500}.status-pill-flaky{background:#fb923c33;color:#fdba74}.status-pill-skipped{background:#94a3b82e;color:#cbd5e1}.status-pill-running{background:#38bdf82e;color:#7dd3fc}.status-pill-not-reproduced{background:transparent;border:1px solid #22c55e;color:#4ade80;font-weight:500}.status-pill-not-reproduced code,.status-pill-known-issue code{background:transparent;color:inherit;padding:0}.scenario-id .status-pill-flaky{font-size:.72rem;margin-left:.45rem;padding:.05rem .45rem;vertical-align:middle}.latest-runs-group{margin-top:1rem}.latest-runs-group-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.35rem}.latest-runs-group-header h3{margin:0}.run-category{font-size:.75rem;padding:.15rem .55rem}.run-category:disabled{cursor:not-allowed;opacity:.45}.latest-runs-group h3{color:#cbd5f5;font-size:.9rem;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.latest-runs-list{display:grid;gap:.3rem;list-style:none;margin:0;padding:0}.latest-runs-row{align-items:baseline;background:#111827;border-left:3px solid transparent;border-radius:.4rem;column-gap:.6rem;cursor:pointer;display:grid;grid-template-columns:auto minmax(14rem,22rem) 1fr auto;padding:.45rem .7rem;transition:background .12s ease,transform .12s ease}.latest-runs-row:hover{background:#182238}.latest-runs-row:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.latest-runs-row-passed{border-left-color:#22c55e}.latest-runs-row-failed{background:#1c1014;border-left-color:#f87171}.latest-runs-row-known-issue{background:#1c1a0e;border-left-color:#fbbf24}.latest-runs-row-blocked{background:#1c1a0e;border-left-color:#facc15}.latest-runs-row-skipped,.latest-runs-row-not-run{border-left-color:#475569}.latest-runs-row-running{background:#0f1a2e;border-left-color:#38bdf8}.latest-runs-row-disabled{opacity:.6}.outcome-dot{font-size:.9rem;line-height:1}.scenario-id code{background:transparent;color:#e2e8f0;font-size:.92rem;padding:0}.row-detail{color:#cbd5f5;font-size:.92rem}.row-extra{color:#94a3b8;font-size:.85rem}.run-link code,.known-issue-link code,.scenario-link code{background:#020617;color:#93c5fd}.run-link,.known-issue-link,.scenario-link{color:#93c5fd;text-decoration:none}.run-link:hover,.known-issue-link:hover,.scenario-link:hover{text-decoration:underline}.run-id{color:#93c5fd}.runs-log{background:#0b1220;border:1px solid #1f2937;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.runs-log-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin-bottom:.5rem}.runs-log-header h2{margin:0}.runs-log-meta{color:#94a3b8;font-size:.85rem}.runs-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.runs-filter input[type=search]{flex:1 1 14rem}.runs-filter select{min-width:9rem}.runs-pagination{align-items:center;display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem}.runs-pagination span{color:#94a3b8;font-size:.85rem}.schedules{background:#0b1220;border:1px solid #1f2937;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.schedules-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.schedules-header h2{margin:0}.schedule-create{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.schedule-create select{min-width:14rem}.drawer-overlay{background:#0206178c;top:0;right:0;bottom:0;left:0;position:fixed;z-index:100}.drawer{background:#0b1220;border-left:1px solid #1f2937;bottom:0;display:flex;flex-direction:column;max-width:100vw;padding:0;position:fixed;right:0;top:0;width:min(560px,100vw);z-index:101;animation:drawer-slide-in .18s ease-out}@keyframes drawer-slide-in{0%{transform:translate(16px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{align-items:center;border-bottom:1px solid #1f2937;display:flex;justify-content:space-between;padding:1rem 1.25rem}.drawer-header h2{margin:0}.drawer-close{background:transparent;border:0;color:#cbd5f5;cursor:pointer;font-size:1.1rem;padding:.25rem .5rem}.drawer-close:hover{color:#f9fafb}.drawer-body{flex:1 1 auto;overflow-y:auto;padding:1rem 1.25rem 1.5rem}.drawer-body h3{margin-top:0}.drawer-body h4{color:#cbd5f5;font-size:.85rem;letter-spacing:.04em;margin-bottom:.4rem;margin-top:1rem;text-transform:uppercase}.drawer-meta{color:#94a3b8;margin:.25rem 0 .75rem}.drawer-block{background:#111827;border-radius:.5rem;margin-top:.75rem;padding:.75rem}.drawer-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.drawer-list{list-style:none;margin:0;padding:0}.drawer-list li{border-bottom:1px solid #1f2937;padding:.35rem 0}.drawer-list li:last-child{border-bottom:0}.audio-list .audio-item{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}.audio-item-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.audio-name{background:transparent;color:#cbd5f5;font-size:.85rem;padding:0}.audio-item audio{background:#020617;border-radius:.4rem;width:100%}@media(max-width:720px){main{padding:1rem}.latest-runs-row{grid-template-columns:auto 1fr;row-gap:.2rem}.latest-runs-row .row-detail,.latest-runs-row .row-actions{grid-column:1 / -1}.drawer{width:100vw}}.drawer-header-actions{align-items:center;display:flex;gap:.5rem}.drawer-expand{background:#111a2e;border:1px solid #1f2937;border-radius:6px;color:#cbd5f5;cursor:pointer;font-size:.8rem;padding:.25rem .6rem}.drawer-expand:hover{border-color:#2563eb;color:#f9fafb}.drawer.drawer-expanded{width:min(1200px,96vw);left:50%;right:auto;top:2.5vh;bottom:2.5vh;transform:translate(-50%);border:1px solid #1f2937;border-radius:12px;box-shadow:0 24px 80px #02061799;animation:drawer-zoom-in .16s ease-out}@keyframes drawer-zoom-in{0%{transform:translate(-50%) scale(.98);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.drawer-overlay-expanded{background:#020617b8}.setup-section,.sip-section{border-top:1px solid #1f2937;margin-top:1rem;padding-top:.75rem}.setup-desc{color:#e2e8f0;margin:.25rem 0 .5rem}.setup-block{margin:.75rem 0}.setup-block h5,.sip-leg h5{color:#94a3b8;font-size:.78rem;letter-spacing:.03em;margin:.5rem 0 .35rem;text-transform:uppercase}.setup-table{border-collapse:collapse;font-size:.82rem;width:100%}.setup-table th,.setup-table td{border-bottom:1px solid #1a2333;padding:.3rem .5rem;text-align:left;vertical-align:top}.setup-table th{color:#94a3b8;font-weight:600}.setup-actions{color:#93c5fd;font-size:.76rem}.setup-resource-list li{display:block}.setup-resource-head{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.3rem}.json-details{margin:.3rem 0}.json-details summary{color:#93c5fd;cursor:pointer;font-size:.78rem}.json-pre{background:#060b16;border:1px solid #1a2333;border-radius:6px;color:#cbd5e1;font-size:.72rem;margin:.35rem 0 0;max-height:320px;overflow:auto;padding:.6rem .75rem}.sip-legend{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.72rem;gap:.75rem;margin:.25rem 0 .6rem}.sip-legend span{align-items:center;display:inline-flex;gap:.3rem}.sip-legend i{border-radius:2px;display:inline-block;height:10px;width:14px}.sip-leg{margin-bottom:1rem}.sip-diagram-scroll{border:1px solid #1a2333;border-radius:8px;overflow-x:auto;padding:.25rem}.sip-diagram{background:#060b16}.sip-actor{fill:#111a2e;stroke:#1f2937}.sip-actor-bot{fill:#10233f;stroke:#2563eb}.sip-actor-label{fill:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.sip-lifeline{stroke:#1f2937;stroke-dasharray:3 4}.sip-ts{fill:#64748b;font-family:ui-monospace,Menlo,monospace;font-size:10px}.sip-cseq{fill:#475569;font-family:ui-monospace,Menlo,monospace;font-size:9px}.sip-msg-label{font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:600}.sip-transport{border-radius:4px;font-size:.62rem;font-weight:600;letter-spacing:.03em;padding:.1rem .4rem;text-transform:none;vertical-align:middle}.sip-transport-wss{background:#10233f;color:#93c5fd}.sip-transport-udp{background:#0f2a1e;color:#86efac}.sip-log-link{color:#93c5fd;font-size:.72rem;font-weight:500;margin-left:.35rem;text-transform:none}.sip-hint{color:#64748b;font-size:.7rem;margin:0 0 .35rem}.sip-msg-group{cursor:help}.sip-diagram text,.sip-diagram line,.sip-diagram polygon{pointer-events:none}.sip-hit{pointer-events:all}.sip-msg-group:hover .sip-msg-label{text-decoration:underline}.sip-msg-group:hover .sip-hit{fill:#94a3b814}.sip-tooltip{background:#0b1220;border:1px solid #2563eb;border-radius:8px;box-shadow:0 16px 48px #020617b3;max-height:360px;max-width:520px;overflow:auto;padding:.5rem .65rem;pointer-events:none;position:fixed;z-index:200}.sip-tooltip-head{color:#93c5fd;font-size:.72rem;margin-bottom:.35rem}.sip-tooltip pre{color:#e2e8f0;font-size:.72rem;line-height:1.35;margin:0;white-space:pre-wrap;word-break:break-word}.status-bar{align-items:center;background:#0b1220;border:1px solid #1f2937;border-radius:.75rem;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:1.5rem;padding:.6rem 1rem}.status-item{align-items:center;color:#cbd5f5;display:inline-flex;flex-wrap:wrap;font-size:.88rem;gap:.35rem}.status-dot{background:#64748b;border-radius:999px;display:inline-block;height:9px;width:9px}.status-item-ok .status-dot{background:#22c55e}.status-item-warn .status-dot{background:#facc15}.status-item-bad .status-dot{background:#f87171}.status-item-bad{color:#fca5a5}.status-item-active .status-dot,.status-dot-live{animation:status-pulse 1.2s ease-in-out infinite;background:#38bdf8}.status-item-idle{color:#94a3b8}.status-cancel{font-size:.75rem;margin-left:.35rem;padding:.15rem .55rem}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.35}}.latest-runs-note{color:#7dd3fc;font-size:.85rem;margin:0 0 .5rem}.scenario-name{color:#cbd5f5;display:block;font-size:.85rem;margin-top:.1rem}.scenario-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.scenario-badges .status-pill{font-size:.68rem;padding:.05rem .45rem}.tag-chips{display:inline-flex;flex-wrap:wrap;gap:.25rem}.tag-chip{background:#1e293b;border-radius:.3rem;color:#94a3b8;font-size:.68rem;padding:.08rem .4rem}.row-actions{align-self:center}.row-message{display:block;margin-top:.15rem}.session-link{color:#93c5fd;text-decoration:none}.session-link:hover{text-decoration:underline}.filter-chip{align-self:center}.chip-clear{background:transparent;color:inherit;font-size:.7rem;margin:0 0 0 .2rem;padding:0 .2rem}.issues{background:#0b1220;border:1px solid #1f2937;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.issues-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin-bottom:.5rem}.issues-header h2{margin:0}.issue-title{color:#e2e8f0}.issue-text{color:#e2e8f0;line-height:1.5;margin:.3rem 0 .6rem}.issue-run-ids,.repro-chips{display:flex;flex-wrap:wrap;gap:.3rem}.repro-chip{align-items:center;background:#1e293b;border:1px solid #334155;border-radius:999px;color:#e2e8f0;display:inline-flex;gap:.3rem;padding:.1rem .45rem;text-decoration:none}.repro-chip code{background:transparent;color:inherit;padding:0}.repro-chip .status-pill{font-size:.68rem;padding:.02rem .4rem}.repro-chip-reproduced{background:#fbbf2429;border-color:#fbbf24}.repro-chip-not-reproduced{background:#22c55e24;border-color:#22c55e}.repro-chip-none{color:#94a3b8}.repro-chip-disabled{opacity:.6}.repro-chip:hover{border-color:#93c5fd}.steps-table td code.params-json{display:inline-block;max-width:28rem;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.actor-chip{border-radius:.3rem;font-size:.72rem;font-weight:600;padding:.08rem .4rem}.actor-chip-device{background:#10233f;color:#93c5fd}.actor-chip-farEnd{background:#0f2a1e;color:#86efac}.actor-chip-coordinator{background:#2a1f3f;color:#c4b5fd}.actor-chip-network{background:#3a2410;color:#fdba74}.assertion-key{margin-right:.3rem}.assertion-tabs{border-bottom:1px solid #1f2937;display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.assertion-tab{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#94a3b8;font-size:.82rem;font-weight:500;margin:0;padding:.35rem .6rem}.assertion-tab-active{border-bottom-color:#38bdf8;color:#f9fafb}.timeline li{padding-left:0}.run-scenario-name{color:#cbd5f5;font-size:.95rem;font-weight:400}.run-error-banner{background:#2a0f12;border-color:#f87171}.artifact-kind{font-size:.68rem}.screenshot-strip{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 .5rem}.screenshot-thumb{color:#94a3b8;flex:0 0 auto;font-size:.68rem;text-align:center;text-decoration:none;width:120px}.screenshot-thumb img{background:#020617;border:1px solid #1f2937;border-radius:6px;display:block;height:200px;object-fit:contain;width:120px}.screenshot-thumb:hover img{border-color:#38bdf8}.screenshot-thumb span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-panel{background:#020617;border:1px solid #1f2937;border-radius:8px;margin:.75rem 0}.log-panel-live{border-color:#0e7490}.log-panel-header{align-items:center;border-bottom:1px solid #1f2937;color:#94a3b8;display:flex;font-size:.78rem;gap:.5rem;justify-content:space-between;padding:.4rem .65rem}.log-panel-header .status-dot{margin-right:.35rem}.log-follow{color:#cbd5f5;font-size:.75rem}.log-follow input{margin:0 .2rem 0 0;padding:0}.log-panel-body{background:transparent;border-radius:0;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.4;margin:0;max-height:320px;overflow:auto;padding:.6rem .75rem;white-space:pre-wrap;word-break:break-word}.screenshot-thumb{background:none;border:0;cursor:zoom-in;padding:0;font:inherit}.lightbox{align-items:center;background:#020617e0;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:1000}.lightbox-body{display:flex;flex-direction:column;gap:.5rem;max-height:94vh;max-width:94vw}.lightbox-body img{background:#020617;border:1px solid #334155;border-radius:8px;max-height:84vh;max-width:94vw;object-fit:contain}.lightbox-bar{align-items:center;color:#cbd5e1;display:flex;font-size:.8rem;gap:.75rem;justify-content:center}.lightbox-bar button{background:#1e293b;border:1px solid #334155;border-radius:6px;color:#e2e8f0;cursor:pointer;padding:.25rem .6rem}.lightbox-bar button:disabled{opacity:.4}.lightbox-caption a{color:#38bdf8}.sip-section{background:#0b1220;border:1px solid #1f2937;border-radius:8px;padding:.5rem .65rem}.sip-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.sip-tab{background:#0f172a;border:1px solid #1f2937;border-radius:6px;color:#cbd5e1;cursor:pointer;font:inherit;font-size:.74rem;padding:.25rem .5rem}.sip-tab-active{border-color:#38bdf8;color:#f8fafc}.sip-count{color:#64748b;margin-left:.3rem}.sip-toggle{color:#94a3b8;font-size:.74rem;margin-left:auto}.sip-diagram{display:block;height:auto;max-width:640px;width:100%}.sip-lane{stroke:#334155;stroke-dasharray:4 4}.sip-lane-title{fill:#94a3b8;font-size:12px;font-weight:600}.sip-row{cursor:pointer}.sip-row-bg{fill:transparent}.sip-row:hover .sip-row-bg,.sip-row-selected .sip-row-bg{fill:#38bdf814}.sip-arrow{stroke:#94a3b8;stroke-width:1.5}.sip-arrow-invite{stroke:#38bdf8;stroke-width:2}.sip-arrow-ok{stroke:#4ade80}.sip-arrow-bad{stroke:#f87171}.sip-arrow-provisional{stroke:#64748b;stroke-dasharray:3 3}.sip-head{fill:#94a3b8}.sip-label{fill:#e2e8f0;font-family:ui-monospace,Menlo,monospace;font-size:11px}.sip-time{fill:#64748b;font-family:ui-monospace,Menlo,monospace;font-size:10px}.sip-message{border-top:1px solid #1f2937;margin-top:.5rem;padding-top:.5rem}.sip-message-header{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.74rem;gap:.75rem;justify-content:space-between}.sip-raw{background:#020617;border-radius:6px;color:#cbd5e1;font-size:.7rem;margin:.4rem 0 0;max-height:320px;overflow:auto;padding:.5rem;white-space:pre-wrap;word-break:break-word}.login{display:grid;min-height:70vh;place-items:center}.login-card{max-width:28rem;text-align:center}.login-card h1{margin-top:0}.login-card .button{display:inline-block;margin-top:.5rem}.login-hint{background:#422006;border:1px solid #fb923c;border-radius:.5rem;color:#fed7aa;font-size:.9rem;padding:.75rem;text-align:left}.user-chip{align-items:center;border-left:1px solid #334155;color:#cbd5e1;display:inline-flex;font-size:.9rem;gap:.5rem;margin-left:.5rem;padding-left:.75rem}.user-chip img{border-radius:999px;height:28px;width:28px}
