:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:#f4f6f8;min-width:320px}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f6f8;padding:1rem}.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid #d9dfe6;border-radius:12px;box-shadow:0 10px 24px #00000014;padding:1.5rem}.auth-card h1{margin:0 0 .5rem;font-size:1.5rem;color:#13293d}.auth-text{margin:0 0 1rem;color:#3d4b5c}.auth-form{display:flex;flex-direction:column;gap:.5rem}.auth-label{font-size:.9rem;color:#1f3347}.auth-input{border:1px solid #bcc9d7;border-radius:8px;padding:.65rem .75rem;font-size:1rem}.auth-input:focus{outline:2px solid #4895ef;border-color:#4895ef}.auth-button,.shell-alert-dismiss{border:0;border-radius:8px;padding:.7rem .9rem;font-size:1rem;font-family:inherit;line-height:1.2;color:#fff;background:#2a6fdb;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.auth-button{margin-top:.5rem;background:#2a6fdb}.auth-button:disabled,.shell-alert-dismiss:disabled{opacity:.7;cursor:not-allowed}.auth-button+.auth-button{margin-top:.5rem}.auth-notice{margin:0;padding:.65rem .8rem;border:1px solid #f1b24b;border-radius:8px;background:#fff7e6;color:#7a2e0b;font-size:.9rem}.auth-notice-error{border-color:#ef9a9a;background:#fdecea;color:#b42318}.auth-session{margin:0;color:#1f3347}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr;background:#eef3fa}.shell-sidebar{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1rem;border-right:1px solid #c8d3e0;background:#f7fafc}.shell-brand{font-size:1.1rem;font-weight:700;color:#1f3347;text-decoration:none}.shell-nav{display:flex;flex-direction:column;gap:.4rem}.shell-nav-link{border-radius:8px;padding:.5rem .65rem;color:#29425a;text-decoration:none}.shell-nav-link.active{background:#d9e7ff;color:#1b3b72;font-weight:600}.shell-main{display:flex;flex-direction:column}.shell-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #d1dce8;background:#fff}.shell-context-label{margin:0;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;color:#67809a}.shell-context-value{margin:.15rem 0 0;color:#1f3347;font-weight:600}.shell-logout{margin-top:0}.shell-alert{margin:.75rem 1.25rem 0;padding:.65rem .8rem;border:1px solid #f1b24b;border-radius:8px;background:#fff7e6;color:#7a2e0b;display:flex;justify-content:space-between;gap:1rem;align-items:center}.shell-alert-dismiss{margin-top:0;background:#94a3b8;color:#0f172a}.shell-alert-dismiss:hover,.shell-alert-dismiss:focus-visible{background:#cbd5e1}.benchmark-table-action-secondary{margin:0;background:#f4b36a;color:#7c2d12}.benchmark-table-action-secondary:hover,.benchmark-table-action-secondary:focus-visible{background:#f8c38a}.shell-content{padding:1.25rem}.shell-page{background:#fff;border:1px solid #d7e1ec;border-radius:12px;padding:1.25rem}.shell-page h1{margin-top:0;margin-bottom:.75rem;color:#1f3347}.environment-list{display:grid;gap:.85rem}.environment-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.environment-create-cta{margin-top:0}.environment-card{border:1px solid #d6e2f1;border-radius:10px;padding:.9rem 1rem;background:#f8fbff}.environment-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.environment-card-meta{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.environment-card-header h2{margin:0;font-size:1.1rem;color:#17324a}.environment-card p{margin:.45rem 0 0;color:#3d4b5c}.environment-card-indicators{margin-top:0;display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.45rem}.environment-card-indicator{display:inline-flex;border-radius:999px;border:1px solid #d3dce8;background:#f6f8fb;color:#334155;font-size:.78rem;padding:.15rem .5rem;text-transform:uppercase}.environment-card-indicator-active,.environment-card-indicator-running{border-color:#86d19f;background:#ecfbf1;color:#1e4a2e}.environment-card-indicator-inactive{border-color:#f1c977;background:#fff7e0;color:#7a4a03}.environment-card-indicator-never,.environment-card-indicator-idle{border-color:#d3dce8;background:#f6f8fb;color:#334155}.environment-card-indicator-unknown{border-color:#ef9a9a;background:#fdecea;color:#8a1f1b}.environment-view-details{margin-top:.65rem;text-decoration:none;display:inline-flex}.environment-type{display:inline-flex;border-radius:999px;border:1px solid #b9d2f6;background:#e8f1ff;color:#1f4f8d;font-size:.8rem;text-transform:capitalize;padding:.15rem .5rem}.environment-created-notice{margin-bottom:.95rem;padding:.85rem .95rem;border:1px solid #86d19f;border-radius:10px;background:#ecfbf1;color:#1e4a2e;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.environment-created-notice p{margin:0;flex:1 1 320px}.environment-created-dismiss{margin-left:auto;background:#a7d9b7;color:#1e4a2e}.environment-created-dismiss:hover,.environment-created-dismiss:focus-visible{background:#92cea6}.environment-created-detail{margin-top:.5rem!important}.environment-created-command-wrap{margin-top:.55rem}.environment-created-command{margin:.35rem 0 .75rem;padding:.6rem .7rem;border-radius:8px;border:1px solid #b9d2f6;background:#f5f9ff;color:#17324a;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.environment-form{display:flex;flex-direction:column;gap:.45rem;max-width:560px}.environment-textarea{resize:vertical}.environment-field-error{margin:0;color:#b42318;font-size:.9rem}.environment-form-actions{display:flex;gap:.6rem;margin-top:.4rem}.environment-inline-action{margin-top:0;text-decoration:none;display:inline-flex}.environment-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:.9rem;margin-bottom:1.1rem}.environment-services-section h2{margin:0 0 .55rem;color:#1f3347}.benchmark-section-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.55rem}.benchmark-section-header h2{margin:0;color:#1f3347}.benchmark-section-action{margin:0}.environment-services-table-wrap{overflow-x:auto}.environment-services-table{width:100%;border-collapse:collapse;border:1px solid #d6e2f1;border-radius:8px;overflow:hidden}.environment-services-table th,.environment-services-table td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid #e3ebf5;color:#1f3347}.environment-services-table th{background:#f3f8ff;font-size:.88rem}.environment-benchmarks-table-wrap{overflow-x:auto}.environment-benchmarks-table{width:100%;border-collapse:collapse;border:1px solid #d6e2f1;border-radius:8px;overflow:hidden}.environment-benchmarks-table th,.environment-benchmarks-table td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid #e3ebf5;color:#1f3347;vertical-align:middle}.environment-benchmarks-table th{background:#f3f8ff;font-size:.88rem}.environment-benchmarks-table tbody tr:last-child td{border-bottom:0}.environment-services-table tbody tr:last-child td{border-bottom:0}.environment-benchmarks-section h2,.environment-services-section h2{margin:0 0 .55rem;color:#1f3347}.environment-services-section{margin-top:1.75rem;padding-top:.35rem;border-top:1px solid #e3ebf5}.benchmark-status-badge{display:inline-flex;border-radius:999px;border:1px solid #d3dce8;background:#f6f8fb;color:#334155;font-size:.78rem;padding:.15rem .5rem;text-transform:uppercase}.benchmark-status-idle,.benchmark-status-unknown,.benchmark-status-stopped{border-color:#d3dce8;background:#f6f8fb;color:#334155}.benchmark-status-pending{border-radius:999px;border-color:#f1c977;background:#fff7e0;color:#7a4a03}.benchmark-status-running{border-color:#7ac8ff;background:#e9f7ff;color:#0f4a70}.benchmark-status-success{border-color:#86d19f;background:#ecfbf1;color:#1e4a2e}.benchmark-status-failed{border-color:#ef9a9a;background:#fdecea;color:#8a1f1b}.benchmark-table-action{margin:0;background:#16a34a}.benchmark-table-action:hover,.benchmark-table-action:focus-visible{background:#15803d}.benchmark-go-to-run-action{margin:0;background:#0ea5e9}.benchmark-go-to-run-action:hover,.benchmark-go-to-run-action:focus-visible{background:#0284c7}.benchmark-table-actions{display:flex;gap:.5rem;justify-content:flex-end}.benchmark-action-error{margin-bottom:.7rem}.shell-context-copy-button{border:0;background:transparent;color:inherit;padding:0;font:inherit;text-align:left;cursor:pointer}.shell-context-copy-button:hover,.shell-context-copy-button:focus-visible{text-decoration:underline}.benchmark-copy-feedback{margin-bottom:.9rem}.run-monitor-top-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.run-monitor-byline{margin-bottom:0}.run-monitor-header-controls{margin-left:auto;display:inline-flex;align-items:center;gap:.55rem}.run-monitor-header-actions{display:inline-flex;align-items:center;gap:.55rem}.run-monitor-status{border:1px solid #c9d6e8;border-radius:12px;padding:.65rem .8rem;min-width:300px;max-width:540px;margin-left:0}.run-monitor-status-value{margin:0;font-size:1.15rem;font-weight:700;line-height:1.3;display:inline-flex;align-items:baseline;gap:.45rem}.run-monitor-status-symbol{font-size:1.15rem;font-weight:800}.run-monitor-status-pending{border-color:#f1c977;background:#fff7e0;color:#7a4a03}.run-monitor-status-running{border-color:#7ac8ff;background:#e9f7ff;color:#0f4a70}.run-monitor-status-success{border-color:#86d19f;background:#ecfbf1;color:#1e4a2e}.run-monitor-status-stopped{border-color:#aeb8c7;background:#f1f4f8;color:#334155}.run-monitor-status-failed{border-color:#ef9a9a;background:#fdecea;color:#8a1f1b}.run-monitor-status-unknown{border-color:#d3dce8;background:#f6f8fb;color:#334155}.run-monitor-details-section{margin:1.15rem 0 1.1rem;padding:.35rem 0 .2rem;border-top:1px solid #dbe4ef;border-bottom:1px solid #dbe4ef}.run-monitor-details-grid{margin-bottom:0;gap:.5rem .9rem}.run-monitor-details-grid .shell-context-value{margin-top:.08rem}.run-monitor-details-grid>div{padding:.2rem 0}.run-monitor-refresh{background:#2a6fdb;color:#fff;min-width:2.9rem;padding:.7rem .9rem;font-size:1rem;line-height:1.1}.run-monitor-refresh:hover,.run-monitor-refresh:focus-visible{background:#1f5dbd}.run-monitor-refresh-icon{width:1.2rem;height:1.2rem;display:block}.run-monitor-stop{background:#f59e0b;color:#7c2d12}.run-monitor-stop:hover,.run-monitor-stop:focus-visible{background:#fbbf24}.run-monitor-metrics{margin-top:.4rem}.run-monitor-metrics h2{margin:0 0 .6rem;color:#1f3347}.run-monitor-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:.7rem}.run-metric-card{border:1px solid #d6e2f1;border-radius:10px;background:#f8fbff;padding:.7rem .8rem}.run-metric-card h3{margin:0 0 .45rem;color:#17324a}.run-metric-card p{margin:.2rem 0;color:#2f475f}.run-metric-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.run-metric-list li{display:grid;gap:.1rem}.run-metric-list span{color:#3d4b5c;font-size:.9rem}.benchmark-empty-cta{display:block;text-decoration:none}.benchmark-empty-cta:hover{border-color:#9fc1ea;background:#f3f8ff}.benchmark-empty-cta h2,.benchmark-empty-cta p{color:inherit}.benchmark-form{display:flex;flex-direction:column;gap:.45rem;max-width:760px}.benchmark-textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem}.benchmark-field-error{margin:0;color:#b42318;font-size:.9rem}.benchmark-form-actions{display:flex;gap:.6rem;margin-top:.4rem;align-items:center}.benchmark-form-actions .auth-button,.benchmark-form-actions .shell-alert-dismiss{margin-top:0;min-height:40px}.async-state{border:1px dashed #c7d4e3;border-radius:10px;padding:1rem;background:#f9fbfe}.async-state h2{margin:0 0 .4rem;font-size:1.05rem;color:#1f3347}.async-state p{margin:0;color:#3d4b5c}.async-state-loading{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:.25rem;align-items:center}.async-state-loading h2,.async-state-loading p{grid-column:2}.async-spinner{width:20px;height:20px;border:3px solid #d4e1f3;border-top-color:#2a6fdb;border-radius:50%;animation:async-spin .8s linear infinite;grid-row:1 / span 2}.async-state-empty{border-style:solid}.async-state-error{border:1px solid #ef9a9a;background:#fdecea}.async-state-error h2,.async-state-error p{color:#8a1f1b}.async-retry{margin-top:.75rem}@media(prefers-reduced-motion:reduce){.async-spinner{animation:none;border-top-color:#d4e1f3}}@keyframes async-spin{to{transform:rotate(360deg)}}
