*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e2e8f0;background:#0f172a;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px;line-height:1.6}a{color:#60a5fa;text-decoration:none}a:hover{text-decoration:underline}:root{--sidebar-w:248px;--sidebar-w-collapsed:72px;--topbar-h:56px}body.has-sidebar{--shell-offset:var(--sidebar-w)}body.has-sidebar.sidebar-collapsed{--shell-offset:var(--sidebar-w-collapsed)}.sidebar{z-index:40;width:var(--sidebar-w);background:#0b1220;border-right:1px solid #1e293b;flex-direction:column;transition:width .18s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar.is-collapsed{width:var(--sidebar-w-collapsed)}.sidebar__brand{min-height:var(--topbar-h);color:#f8fafc;border-bottom:1px solid #1e293b;align-items:center;gap:.6rem;padding:1rem .95rem;font-size:14px;font-weight:700;display:flex}.sidebar__brand svg{color:#60a5fa;flex-shrink:0}.sidebar__nav{flex-direction:column;flex:1;gap:1rem;padding:.75rem .55rem;display:flex;overflow:auto}.sidebar__group{gap:.2rem;display:grid}.sidebar__group-label{text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:.35rem .65rem .25rem;font-size:10px;font-weight:600}.sidebar__link{color:#94a3b8;border-radius:8px;align-items:center;gap:.65rem;padding:.55rem .7rem;font-size:13px;font-weight:500;text-decoration:none;display:flex}.sidebar__link svg{flex-shrink:0}.sidebar__link:hover{color:#e2e8f0;background:#1e293b;text-decoration:none}.sidebar__link.is-active{color:#fff;background:#1d4ed8}.sidebar.is-collapsed .sidebar__link{justify-content:center;padding:.65rem}.sidebar__foot{border-top:1px solid #1e293b;gap:.65rem;padding:.75rem .55rem 1rem;display:grid}.sidebar__collapse{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.55rem;width:100%;padding:.55rem .7rem;font-family:inherit;font-size:13px;display:flex}.sidebar__collapse:hover{color:#e2e8f0;background:#1e293b}.sidebar.is-collapsed .sidebar__collapse{justify-content:center}.sidebar__collapse-icon{transition:transform .18s;display:inline-flex}.sidebar__collapse-icon.is-flipped{transform:rotate(180deg)}.sidebar__meta{color:#475569;gap:.15rem;padding:0 .7rem;font-size:10px;line-height:1.35;display:grid}.sidebar__meta .mono{color:#64748b;font-size:10px}.topbar{z-index:30;margin-left:var(--shell-offset,0);min-height:var(--topbar-h);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172aeb;border-bottom:1px solid #1e293b;align-items:center;gap:1rem;padding:.55rem 1.25rem;transition:margin-left .18s;display:flex;position:sticky;top:0}.topbar__search{color:#64748b;text-transform:none;letter-spacing:0;background:#0f172a;border:1px solid #334155;border-radius:8px;flex:1;align-items:center;gap:.5rem;min-width:10rem;max-width:28rem;margin:0;padding:0 .75rem;display:inline-flex}.topbar__search input{background:0 0;border:none;width:100%;margin:0;padding:.45rem 0}.topbar__search input:focus{outline:none}.topbar__links{align-items:center;gap:1rem;margin-left:auto;display:flex}.topbar__links a{color:#94a3b8;font-size:13px;text-decoration:none}.topbar__links a:hover{color:#e2e8f0;text-decoration:none}.topbar__links a.active{color:#60a5fa}.topbar__user{color:#94a3b8;align-items:center;gap:.65rem;font-size:13px;display:flex}.topbar__user span{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav{background:#1e293b;border-bottom:1px solid #334155;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.nav-brand{color:#e2e8f0;margin-right:auto;font-size:1rem;font-weight:700}.nav-links{gap:1rem;display:flex}.nav-links a{color:#94a3b8}.nav-links a.active{color:#60a5fa}.nav-user{color:#64748b;align-items:center;gap:.75rem;display:flex}.page{max-width:900px;margin:0 auto;padding:2rem 1.5rem 2.5rem}.page--wide{max-width:1120px}body.has-sidebar .page{margin-left:var(--shell-offset);max-width:none;margin-right:0;transition:margin-left .18s}body.has-sidebar .page.page--wide{padding-left:1.5rem;padding-right:1.5rem}@media (width>=1400px){body.has-sidebar .page.page--wide{padding-left:2rem;padding-right:2rem}}@media (width<=900px){.sidebar{width:var(--sidebar-w-collapsed)}.sidebar__brand span,.sidebar__group-label,.sidebar__link span,.sidebar__collapse span:not(.sidebar__collapse-icon),.sidebar__meta{display:none}.sidebar__link,.sidebar__collapse{justify-content:center}body.has-sidebar,body.has-sidebar.sidebar-collapsed{--shell-offset:var(--sidebar-w-collapsed)}.topbar__links{display:none}}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page h2{font-size:1.4rem}.page h3{color:#94a3b8;margin:1.5rem 0 .75rem;font-size:1rem}.breadcrumb{color:#64748b;margin-bottom:1rem;font-size:12px}.breadcrumb a{color:#94a3b8}.muted{color:#64748b}.small{font-size:12px}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.card-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.card{background:#1e293b;border:1px solid #334155;border-radius:6px;padding:.75rem 1rem}.card-row{justify-content:space-between;align-items:center;display:flex}.form-card{background:#1e293b;border:1px solid #334155;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.form-card h3{margin-bottom:1rem}label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:12px;display:block}label input[type=checkbox]{width:auto;margin-top:0;margin-right:.5rem;display:inline}input,select{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:4px;width:100%;margin-top:.25rem;padding:.5rem .75rem;font-family:inherit;font-size:14px;display:block}input:focus,select:focus{border-color:#60a5fa;outline:none}textarea{color:#e2e8f0;resize:vertical;background:#0f172a;border:1px solid #334155;border-radius:4px;width:100%;min-height:80px;margin-top:.25rem;padding:.5rem .75rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;display:block}button,a.button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:4px;padding:.4rem .9rem;font-family:inherit;font-size:13px;text-decoration:none;display:inline-block}button:hover,a.button:hover{background:#1d4ed8}button:disabled{opacity:.5;cursor:not-allowed}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #1e2235;padding:.6rem .75rem}.table th{color:#64748b;text-transform:uppercase;font-size:12px}.log-viewer{background:#0a0d14;border:1px solid #1e2235;border-radius:6px;max-height:500px;padding:1rem;font-family:SF Mono,Fira Code,monospace;font-size:12px;overflow-y:auto}.log-line{gap:.75rem;padding:2px 0;display:flex}.log-time{color:#4b5563;min-width:65px}.log-level{min-width:40px;font-weight:600}.log-line.log-error .log-level{color:#f87171}.log-line.log-warn .log-level{color:#fbbf24}.log-line.log-info .log-level{color:#60a5fa}.log-line.log-debug .log-level{color:#6b7280}.log-msg{color:#d1d5db;flex:1}.log-meta{color:#4b5563;font-size:11px}.meta-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.meta-grid>div{background:#1a1d27;border:1px solid #2d3148;border-radius:6px;padding:.75rem}.meta-grid label{color:#64748b;text-transform:uppercase;margin-bottom:.25rem;font-size:11px;display:block}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#1a1d27;border:1px solid #2d3148;border-radius:8px;width:360px;padding:2rem}.login-card h1{text-align:center;margin-bottom:1.5rem;font-size:1.2rem}.login-card button{width:100%;margin-top:.75rem;padding:.6rem}.error{color:#f87171;margin-top:.5rem;font-size:13px}.loading{color:#64748b;justify-content:center;align-items:center;height:60vh;display:flex}code{background:#0f1117;border-radius:3px;padding:1px 5px;font-family:SF Mono,monospace;font-size:12px}section{margin-bottom:2rem}.app-footer{display:none}.app-footer code{color:#94a3b8;background:0 0;padding:0;font-size:11px}.footer-sep{opacity:.5}.storage-kv{margin:.75rem 0 1rem}.storage-kv-row{grid-template-columns:1fr 1fr auto;gap:.5rem;margin-top:.4rem;display:grid}.button-muted{color:#cbd5e1;cursor:pointer;background:#1e2235;border:1px solid #2d3148;border-radius:4px;padding:.4rem .7rem;font-size:13px}.button-muted:hover{background:#2d3148}.muted.small{margin:.25rem 0 .5rem;font-size:12px}.diff-header{border-bottom:1px solid #2d3148;margin-bottom:1rem;padding-bottom:.75rem}.diff-header__top{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.65rem;display:flex}.diff-header__top h2{margin:0;font-size:1.125rem;font-weight:600}.diff-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.diff-filter{color:#94a3b8;align-items:center;gap:.35rem;margin:0;font-size:13px;display:inline-flex}.diff-filter select{width:auto;max-width:min(28rem,70vw);margin:0;padding:.35rem .5rem;font-size:13px}.diff-meta{color:#94a3b8;margin:.5rem 0 0;font-size:13px}.orient-group,.side-group{gap:.25rem;display:inline-flex}.orient-group button,.side-group button{color:#e2e8f0;cursor:pointer;background:#1e2235;border:1px solid #2d3148;border-radius:.375rem;padding:.35rem .75rem;font-size:13px}.orient-group button.is-active,.side-group button.is-active{color:#fff;background:#a67c52;border-color:#a67c52}.viewport-shell{background:#1a1d27;border:1px solid #2d3148;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.viewport-chrome{background:#12141c;border-bottom:1px solid #2d3148;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.65rem .9rem;display:flex}.viewport-chrome__title{gap:.1rem;min-width:0;display:grid}.viewport-chrome__title strong{letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-size:11px}.viewport-chrome__title span{color:#e2e8f0;word-break:break-all;font-size:13px}.viewport-chrome__dims{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:12px}.viewport-stage{cursor:pointer;background:#0a0d14;place-items:start center;min-height:min(70vh,40rem);padding:1rem;display:grid;overflow:auto}.viewport-stage.is-delta{cursor:default;background:#000}.viewport-img{pointer-events:none;max-width:100%;height:auto;display:block;box-shadow:0 12px 40px #00000059}.diff-hint{padding:0 .9rem .75rem}.diff-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.diff-card{text-align:left;color:inherit;cursor:pointer;background:#1a1d27;border:2px solid #2d3148;border-radius:8px;gap:.25rem;padding:.65rem .75rem;display:grid}.diff-card.is-active{border-color:#a67c52}.diff-card__meta{word-break:break-all;font-size:12px}.badge{color:#e8d5c0;background:#a67c5238;border-radius:999px;width:fit-content;padding:.1rem .45rem;font-size:12px;font-weight:600;display:inline-block}.device-picker{gap:1rem;margin:0;display:grid}.device-picker--split{grid-template-columns:minmax(0,1.4fr) minmax(220px,.85fr);align-items:start;gap:1.25rem}.device-picker__controls{gap:1rem;min-width:0;display:grid}.device-picker__block{gap:.45rem;display:grid}.device-picker__label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0;font-size:11px;font-weight:600;display:block}.device-picker__search{max-width:22rem;margin:0}.device-picker__chips{flex-wrap:wrap;gap:.4rem;display:flex}.device-picker__catalog{max-height:11rem;padding:.15rem 0;overflow:auto}.device-picker__preview{background:#0f172a;border:1px solid #334155;border-radius:10px;min-height:12rem;padding:.9rem}.device-picker__preview-title{color:#e2e8f0;margin:0 0 .75rem;font-size:13px;font-weight:600}.device-picker__preview-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.device-preview-card{background:#1e293b;border:1px solid #334155;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.65rem .7rem;display:grid}.device-preview-card__icon{color:#94a3b8;display:inline-flex}.device-preview-card__body{gap:.1rem;min-width:0;display:grid}.device-preview-card__body strong{color:#f1f5f9;font-size:13px;font-weight:600}.seg-control{background:#0f172a;border:1px solid #334155;border-radius:8px;flex-wrap:wrap;gap:0;display:inline-flex;overflow:hidden}.seg-control__btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-right:1px solid #334155;border-radius:0;padding:.45rem .85rem;font-family:inherit;font-size:13px;font-weight:500}.seg-control__btn:last-child{border-right:none}.seg-control__btn:hover{color:#e2e8f0;background:#1e293b}.seg-control__btn.is-on{color:#fff;background:#1d4ed8}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.chip{color:#cbd5e1;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:999px;padding:.35rem .65rem;font-family:inherit;font-size:12px}.chip.is-on{color:#fff;background:#1d4ed8;border-color:#2563eb}.chip:hover{background:#1e293b;border-color:#64748b}.chip.is-on:hover{background:#1d4ed8;border-color:#2563eb}.device-chip{color:#bfdbfe;cursor:pointer;background:#1e3a5f;border:1px solid #3b82f6;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem .3rem .7rem;font-family:inherit;font-size:12px;display:inline-flex}.device-chip span{opacity:.8;font-size:14px;line-height:1}.checkbox-row{text-transform:none;letter-spacing:0;color:#e2e8f0;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin:.5rem 0 0;font-size:14px;display:flex}.checkbox-row input{width:auto;margin:0}.preauth-editor{margin:.5rem 0 1.25rem}.preauth-editor__body{background:#0f172a;border:1px solid #334155;border-radius:8px;gap:.75rem;margin-top:.5rem;padding:.75rem .9rem;display:grid}.preauth-editor__row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem .75rem;display:grid}.preauth-editor__row label{color:#94a3b8;margin:0;font-size:13px}.preauth-editor__row input,.preauth-editor__row select{margin-top:.25rem}.preauth-editor input.is-readonly{opacity:.7}.preauth-editor__presets{flex-wrap:wrap;gap:.5rem;display:flex}.preauth-editor.is-embedded{margin:0}.preauth-editor.is-embedded .preauth-editor__body{background:0 0;border:none;margin-top:.35rem;padding:0}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.btn--primary:hover{color:#fff;background:#1d4ed8}.btn--secondary{color:#e2e8f0;background:#1e293b;border-color:#334155}.btn--secondary:hover{color:#fff;background:#334155}.btn--outline{color:#cbd5e1;background:0 0;border-color:#334155}.btn--outline:hover,.btn--outline.is-active{color:#fff;background:#1e293b;border-color:#64748b}.btn--ghost{color:#94a3b8;background:0 0;border-color:#0000}.btn--ghost:hover{color:#e2e8f0;background:#1e293b}.btn--icon{color:#94a3b8;background:0 0;border:1px solid #0000;border-radius:6px;width:2rem;height:2rem;padding:0}.btn--icon:hover{color:#e2e8f0;background:#334155;border-color:#475569}.btn--sm{width:auto;height:auto;padding:.25rem .55rem;font-size:12px}.btn.is-disabled,.btn:disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.job-page section{margin-bottom:1.25rem}.job-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:1.25rem;display:flex}.job-hero__title{letter-spacing:-.02em;color:#f8fafc;margin:0 0 .55rem;font-size:1.75rem;font-weight:700}.job-hero__actions{flex-wrap:wrap;gap:.5rem;display:flex}.meta-chips{flex-wrap:wrap;gap:.4rem;display:flex}.meta-chip{color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:12px;font-weight:500;display:inline-flex}.meta-chip--warn{color:#fbbf24;background:#fbbf241a;border-color:#fbbf2459}.settings-panel{margin-bottom:1.25rem}.settings-summary-card{text-align:left;width:100%;color:inherit;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:10px;gap:.85rem;padding:1rem 1.15rem;font-family:inherit;display:grid}.settings-summary-card:hover{background:#1e293b;border-color:#475569}.settings-summary-card__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.settings-summary-card__title{color:#f1f5f9;align-items:center;gap:.5rem;font-size:14px;font-weight:600;display:inline-flex}.settings-summary-card__chevron{color:#64748b;font-size:12px}.settings-summary-card__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.settings-summary-card__col{gap:.25rem;min-width:0;display:grid}.settings-summary-card__label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:11px;font-weight:600}.settings-summary-card__value{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.settings-summary-card__value--row{white-space:normal;align-items:center;gap:.45rem;display:inline-flex}.pill-ok{color:#4ade80;background:#22c55e24;border:1px solid #22c55e47;border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:11px;font-weight:600;display:inline-flex}.settings-card{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:0;overflow:hidden}.settings-card__head{border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:.85rem 1.1rem;display:flex}.settings-card__head h2{color:#f1f5f9;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:inline-flex}.settings-tabs{border-bottom:1px solid #334155;gap:0;padding:0 .5rem;display:flex;overflow-x:auto}.settings-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.75rem .9rem;font-family:inherit;font-size:13px;font-weight:500}.settings-tab:hover{color:#e2e8f0;background:0 0}.settings-tab.is-active{color:#f8fafc;border-bottom-color:#3b82f6}.settings-tabpanel{padding:1.1rem}.settings-grid{gap:.85rem;display:grid}.settings-card__footer{background:#0f172a;border-top:1px solid #334155;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;padding:.85rem 1.1rem;display:flex}.settings-card__footer .error{margin:0 auto 0 0}.toast{z-index:60;pointer-events:none;border-radius:8px;padding:.65rem 1rem;font-size:13px;font-weight:500;animation:.2s ease-out toast-in;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.toast--ok{color:#bbf7d0;background:#14532d;border:1px solid #166534}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.runs-card{background:#1e293b;border:1px solid #334155;border-radius:10px;overflow:hidden}.runs-card__head{align-items:center;gap:.55rem;padding:1rem 1.1rem .35rem;display:flex}.runs-card__head h2{color:#f1f5f9;margin:0;font-size:1.05rem;font-weight:600}.count-badge{color:#e2e8f0;background:#334155;border-radius:999px;justify-content:center;align-items:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;font-size:11px;font-weight:600;display:inline-flex}.runs-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.65rem 1.1rem 1rem;display:flex}.runs-toolbar__right{align-items:center;gap:.45rem;display:flex}.runs-search{color:#64748b;text-transform:none;letter-spacing:0;background:#0f172a;border:1px solid #334155;border-radius:8px;align-items:center;gap:.5rem;min-width:min(20rem,100%);margin:0;padding:0 .75rem;display:inline-flex}.runs-search input{background:0 0;border:none;width:100%;margin:0;padding:.55rem 0}.runs-search input:focus{outline:none}.runs-status-select{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:8px;width:auto;min-width:9rem;margin:0;padding:.5rem .7rem;font-size:13px}.runs-table-wrap{border-top:1px solid #334155;overflow:auto}.runs-table{border-collapse:collapse;width:100%}.runs-table th,.runs-table td{text-align:left;white-space:nowrap;vertical-align:middle;border-bottom:1px solid #334155;padding:.75rem 1.1rem}.runs-table th{text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#0f172a;font-size:11px;font-weight:600}.runs-table tbody tr:last-child td{border-bottom:none}.runs-table tbody tr:hover td{background:#33415547}.run-id{color:#93c5fd;align-items:baseline;gap:.4rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.run-id:hover{color:#bfdbfe;text-decoration:none}.run-num{color:#64748b;font-size:12px;font-weight:400}.runs-table__when{color:#e2e8f0;gap:.1rem;font-size:13px;display:grid}.runs-table__rel{color:#64748b;font-size:12px}.runs-table__actions{gap:.15rem;display:inline-flex}.status-badge{letter-spacing:.01em;text-transform:capitalize;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:12px;font-weight:600;display:inline-flex}.status-badge--success,.status-badge--partial{color:#4ade80;background:#22c55e1f;border-color:#22c55e47}.status-badge--failed,.status-badge--cancelled{color:#f87171;background:#ef44441f;border-color:#ef444447}.status-badge--running{color:#60a5fa;background:#3b82f624;border-color:#3b82f64d;animation:1.6s ease-in-out infinite pulse-soft}.status-badge--pending{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b47}.status-badge--unknown{color:#94a3b8;background:#334155}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.65}}.runs-pagination{color:#94a3b8;border-top:1px solid #334155;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem 1rem;padding:.65rem 1.1rem;font-size:12px;display:flex}.runs-pagination__size{text-transform:none;letter-spacing:0;color:#94a3b8;align-items:center;gap:.45rem;margin:0;font-size:12px;display:inline-flex}.runs-pagination__size select{width:auto;margin:0;padding:.3rem .45rem;font-size:12px}.runs-pagination__nav{gap:.25rem;display:inline-flex}.runs-card>.empty-state{border-radius:8px;margin:0 1.1rem 1.1rem}.empty-state{text-align:center;color:#64748b;background:#0f172a;border:1px dashed #334155;border-radius:10px;padding:2rem 1rem}.code-editor{gap:.4rem;display:grid}.code-editor__head{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.code-editor__label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:11px;font-weight:600}.code-editor__hint{color:#64748b;font-size:12px}.code-editor__frame{background:#020617;border:1px solid #334155;border-radius:8px;grid-template-columns:auto 1fr;min-height:12rem;display:grid;overflow:hidden}.code-editor.is-invalid .code-editor__frame{border-color:#ef4444}.code-editor__gutter{color:#475569;text-align:right;-webkit-user-select:none;user-select:none;background:#0f172a;border-right:1px solid #1e293b;margin:0;padding:.65rem .5rem .65rem .65rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;line-height:1.5}.code-editor__gutter span{min-height:1.5em;display:block}.code-editor__input{resize:vertical;color:#e2e8f0;tab-size:2;white-space:pre;background:0 0;border:none;border-radius:0;min-height:12rem;margin:0;padding:.65rem .75rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;line-height:1.5;overflow:auto}.code-editor__input:focus{outline:none}@media (width<=900px){.device-picker--split,.settings-summary-card__grid{grid-template-columns:1fr}}@media (width<=720px){.job-hero__title{font-size:1.35rem}.runs-toolbar{align-items:stretch}.runs-search{width:100%;min-width:0}}.back-link{color:#94a3b8;align-items:center;gap:.4rem;margin:0 0 .85rem;font-size:13px;text-decoration:none;display:inline-flex}.back-link:hover{color:#e2e8f0;text-decoration:none}.run-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:1.25rem;display:flex}.run-hero__title-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.run-hero__title{letter-spacing:-.02em;color:#f8fafc;margin:0;font-size:1.75rem;font-weight:700}.run-hero__sub{margin:.4rem 0 0;font-size:13px}.run-hero__actions{flex-wrap:wrap;gap:.5rem;display:flex}.status-badge--lg{letter-spacing:.04em;padding:.25rem .65rem;font-size:11px}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:1.25rem;display:grid}.metric-card{background:#1e293b;border:1px solid #334155;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;min-width:0;padding:.85rem .9rem;display:grid}.metric-card__icon{color:#64748b;margin-top:.1rem;display:inline-flex}.metric-card__icon.is-warn{color:#f87171}.metric-card__label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.2rem;font-size:11px;font-weight:600;display:block}.metric-card__value{color:#f1f5f9;word-break:break-all;font-size:14px;font-weight:600;display:block}.metric-card__value--clip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-card__value.is-warn{color:#f87171}.panel-card{background:#1e293b;border:1px solid #334155;border-radius:10px;margin-bottom:1.25rem;padding:0;overflow:hidden}.panel-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.9rem 1.1rem;display:flex}.panel-card__head h2{color:#f1f5f9;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:inline-flex}.panel-card__actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.empty-state--inset{margin:0 1.1rem 1.1rem}.seg-control--sm .seg-control__btn{padding:.35rem .55rem}.seg-control--sm .seg-control__btn.is-on{color:#93c5fd;background:#1e3a5f}.shot-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.65rem;padding:0 1.1rem 1.1rem;display:grid}.shot-list{gap:.5rem;padding:0 1.1rem 1.1rem;display:grid}.shot-tile{background:#0f172a;border:1px solid #334155;border-radius:8px;min-width:0;display:grid;overflow:hidden}.shot-tile--list{grid-template-columns:88px 1fr;align-items:stretch}.shot-tile__media{background:#020617;position:relative}.shot-tile__img-btn{cursor:zoom-in;background:0 0;border:none;border-radius:0;width:100%;margin:0;padding:0;display:block}.shot-tile__img-btn:hover{background:0 0}.shot-tile__img{object-fit:cover;object-position:top center;width:100%;height:148px;display:block}.shot-tile__img--list{height:100%;min-height:88px;max-height:110px}.shot-tile__placeholder{color:#64748b;place-items:center;height:148px;font-size:12px;display:grid}.shot-tile__expand{color:#cbd5e1;cursor:pointer;background:#0f172abf;border:1px solid #334155;border-radius:4px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;display:inline-flex;position:absolute;bottom:.35rem;right:.35rem}.shot-tile__expand:hover{color:#fff;background:#1e293b}.shot-tile__meta{gap:.15rem;min-width:0;padding:.45rem .5rem .55rem;display:grid}.shot-tile__device{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.shot-tile__path{color:#93c5fd;text-overflow:ellipsis;white-space:nowrap;background:0 0;padding:0;font-size:10px;overflow:hidden}.shot-tile__when{color:#64748b;font-size:10px}.logs-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:0 1.1rem .75rem;display:flex}.logs-search{min-width:min(18rem,100%)}.filter-pills{flex-wrap:wrap;gap:.35rem;display:flex}.filter-pill{color:#94a3b8;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:999px;padding:.3rem .7rem;font-family:inherit;font-size:12px;font-weight:500}.filter-pill:hover{color:#e2e8f0;background:#0f172a;border-color:#475569}.filter-pill.is-active{color:#93c5fd;background:#1e3a5f;border-color:#3b82f6}.log-viewer--modern{background:#020617;border:1px solid #334155;border-radius:8px;max-height:28rem;margin:0 1.1rem 1.1rem;font-family:IBM Plex Mono,ui-monospace,monospace}.logs-panel.is-fullscreen{z-index:70;flex-direction:column;margin:0;display:flex;position:fixed;inset:1rem;box-shadow:0 20px 60px #0000008c}.logs-panel.is-fullscreen .log-viewer--modern{flex:1;max-height:none;margin-bottom:1.1rem}.log-level-badge{letter-spacing:.03em;border-radius:4px;justify-content:center;align-items:center;min-width:3.2rem;padding:.05rem .35rem;font-size:10px;font-weight:700;display:inline-flex}.log-level-badge--info,.log-level-badge--debug{color:#4ade80;background:#22c55e1f}.log-level-badge--warn{color:#fbbf24;background:#f59e0b24}.log-level-badge--error{color:#f87171;background:#ef444424}.log-viewer--modern .log-line{align-items:center;gap:.55rem;padding:.2rem 0}.log-viewer--modern .log-time{color:#64748b}.tech-panel__toggle{width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.1rem;font-family:inherit;display:flex}.tech-panel__toggle:hover{background:#33415540}.tech-panel__toggle h2{color:#f1f5f9;margin:0;font-size:1rem;font-weight:600}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.25rem;padding:0 1.1rem 1.1rem;display:grid}.tech-grid__label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.2rem;font-size:11px;font-weight:600;display:block}.modal-backdrop{z-index:80;background:#020617b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:#1e293b;border:1px solid #334155;border-radius:12px;width:min(720px,100%);max-height:min(85vh,900px);padding:1rem;overflow:auto}.modal-card__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.modal-card__head h2{margin:0;font-size:1rem}.lightbox{z-index:90;background:#020617e0;place-items:center;gap:1rem;padding:1.5rem;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:8px;max-width:min(96vw,1100px);max-height:82vh;box-shadow:0 20px 60px #00000073}.lightbox__close{position:absolute;top:1rem;right:1rem}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.run-hero__title{font-size:1.35rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-grid{grid-template-columns:1fr}.shot-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.dash-page .dash-header{margin-bottom:1.25rem}.dash-header__title{letter-spacing:-.02em;color:#f8fafc;margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.dash-stats{margin-bottom:1.25rem}.metric-card__hint{color:#64748b;margin-top:.2rem;font-size:11px;font-weight:400;display:block}.metric-card--ok{border-color:#22c55e4d}.metric-card--warn{border-color:#ef444447}.metric-card__icon.is-ok{color:#4ade80}.dash-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.1rem;display:grid}.dash-main{gap:1.1rem;min-width:0;display:grid}.dash-side{gap:1.1rem;display:grid}.dash-mandant-list{gap:.75rem;padding:0 1.1rem 1.1rem;display:grid}.dash-mandant{background:#0f172a;border:1px solid #334155;border-radius:10px;overflow:hidden}.dash-mandant__head{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:.75rem;padding:.85rem 1rem;font-family:inherit;display:grid}.dash-mandant__head:hover{background:#33415540}.dash-avatar{color:#93c5fd;background:#1e3a5f;border-radius:999px;place-items:center;width:2.25rem;height:2.25rem;font-size:11px;font-weight:700;display:grid}.dash-mandant__identity{gap:.1rem;min-width:0;display:grid}.dash-mandant__identity strong{color:#f1f5f9;font-size:14px}.dash-mandant__last{color:#94a3b8;white-space:nowrap;align-items:center;gap:.4rem;font-size:12px;display:inline-flex}.dash-mandant__chevron{color:#64748b;font-size:12px}.status-dot{background:#64748b;border-radius:999px;width:.55rem;height:.55rem}.status-dot--success,.status-dot--partial{background:#22c55e}.status-dot--failed,.status-dot--cancelled{background:#ef4444}.status-dot--running,.status-dot--pending{background:#3b82f6}.dash-job-table{border:none;border-top:1px solid #334155;border-radius:0}.dash-job-link{color:#e2e8f0;font-weight:500;text-decoration:none}.dash-job-link:hover{color:#93c5fd;text-decoration:none}.dash-mandant__empty{padding:.75rem 1rem}.dash-mandant__footer{border-top:1px solid #334155;padding:.65rem 1rem;font-size:13px}.dash-analytics{grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);gap:1.1rem;display:grid}.dash-chart-wrap{padding:0 1rem 1rem}.dash-linechart{width:100%;height:auto;display:block}.dash-chart-grid{stroke:#334155;stroke-width:1px}.dash-chart-label{fill:#64748b;font-size:10px}.dash-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.dash-line--total{stroke:#3b82f6}.dash-line--success{stroke:#22c55e}.dash-line--failed{stroke:#ef4444}.dash-area{opacity:.12}.dash-area--total{fill:#3b82f6}.dash-area--success{fill:#22c55e}.dash-area--failed{fill:#ef4444}.dash-legend{color:#94a3b8;flex-wrap:wrap;gap:.65rem;font-size:12px;display:flex}.dash-legend span,.dash-donut-legend span{align-items:center;gap:.35rem;display:inline-flex}.dash-swatch{border-radius:999px;width:.65rem;height:.65rem;display:inline-block}.dash-swatch--total{background:#3b82f6}.dash-swatch--success{background:#22c55e}.dash-swatch--failed{background:#ef4444}.dash-donut-card{justify-items:center;display:grid}.dash-donut{width:160px;height:160px;margin:.25rem 0 .75rem;position:relative}.dash-donut svg{width:100%;height:100%}.dash-donut-track{fill:none;stroke:#334155;stroke-width:12px}.dash-donut-seg{fill:none;stroke-width:12px;transform-origin:70px 70px}.dash-donut-seg--success{stroke:#22c55e}.dash-donut-seg--failed{stroke:#ef4444}.dash-donut__center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.dash-donut__center strong{color:#f8fafc;font-size:1.6rem;line-height:1.1}.dash-donut__center span{color:#64748b;font-size:12px}.dash-donut-legend{color:#94a3b8;justify-items:start;gap:.35rem;width:100%;padding:0 1rem 1.1rem;font-size:12px;display:grid}.dash-recent{margin:0;padding:0 0 .35rem;list-style:none}.dash-recent__item{color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.65rem 1.1rem;text-decoration:none;display:grid}.dash-recent__item:hover{background:#33415547;text-decoration:none}.dash-recent__icon{color:#94a3b8;background:#334155;border-radius:999px;place-items:center;width:1.6rem;height:1.6rem;display:grid}.dash-recent__icon.is-ok{color:#4ade80;background:#22c55e29}.dash-recent__icon.is-bad{color:#f87171;background:#ef444429}.dash-recent__body{gap:.1rem;min-width:0;display:grid}.dash-recent__body strong{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dash-recent__body .muted{font-size:11px}.dash-side__empty{padding:0 1.1rem 1rem}.dash-side__footer{border-top:1px solid #334155;padding:.65rem 1.1rem 1rem;font-size:13px}.dash-actions{gap:.35rem;padding:0 .75rem .9rem;display:grid}.dash-action{color:#cbd5e1;border-radius:8px;align-items:center;gap:.55rem;padding:.65rem .7rem;font-size:13px;font-weight:500;text-decoration:none;display:flex}.dash-action:hover{color:#fff;background:#0f172a;text-decoration:none}@media (width<=1100px){.dash-layout,.dash-analytics{grid-template-columns:1fr}.dash-mandant__head{grid-template-columns:auto 1fr auto}.dash-mandant__last{display:none}}.vr-page{padding-top:1rem;padding-bottom:1rem}.vr{min-height:calc(100vh - var(--topbar-h,56px) - 2rem);gap:.75rem;display:grid}.vr-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;display:flex}.vr-header__meta{color:#94a3b8;flex-wrap:wrap;gap:.35rem .5rem;margin-top:.35rem;font-size:12px;display:flex}.vr-header__actions{flex-wrap:wrap;gap:.4rem;display:flex}.vr-body{flex:1;grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(240px,300px);align-items:stretch;gap:.75rem;min-height:0;display:grid}.vr-captures,.vr-comments,.vr-stage{background:#1e293b;border:1px solid #334155;border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.vr-pane__head{border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:.75rem .9rem;display:flex}.vr-pane__head h2{color:#f1f5f9;align-items:center;gap:.45rem;margin:0;font-size:.95rem;font-weight:600;display:inline-flex}.vr-search{margin:.65rem .75rem 0}.vr-filters{gap:.4rem;padding:.55rem .75rem;display:grid}.vr-filters select{margin:0;padding:.35rem .5rem;font-size:12px}.vr-capture-list,.vr-comment-list{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.vr-capture-item,.vr-comment-card{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #334155;border-radius:0;grid-template-columns:auto 1fr;align-items:start;gap:.55rem;padding:.65rem .85rem;font-family:inherit;display:grid}.vr-capture-item:hover,.vr-comment-card:hover{background:#33415559}.vr-capture-item.is-active,.vr-comment-card.is-active{background:#1e3a5f;box-shadow:inset 3px 0 #3b82f6}.vr-capture-item__body,.vr-comment-card__body{gap:.15rem;min-width:0;display:grid}.vr-capture-item__body strong,.vr-comment-card__body strong{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.vr-capture-dot{background:#475569;border-radius:999px;width:.55rem;height:.55rem;margin-top:.35rem}.vr-capture-dot--ok{background:#22c55e}.vr-capture-dot--open{background:#eab308}.vr-capture-dot--none{background:#475569}.vr-toolbar{border-bottom:1px solid #334155;flex-wrap:wrap;align-items:center;gap:.55rem;padding:.65rem .75rem;display:flex}.vr-toolbar__zoom{color:#94a3b8;align-items:center;gap:.25rem;font-size:12px;display:inline-flex}.vr-viewport{background:#020617;flex:1;min-height:320px;overflow:auto}.vr-viewport.is-delta{background:#000}.vr-overlay{max-width:100%;display:inline-block;position:relative}.vr-overlay img{max-width:100%;height:auto;display:block}.vr-overlay__top{opacity:.45;mix-blend-mode:normal;position:absolute;inset:0}.vr-detail{background:#0f172a;border-top:1px solid #334155;padding:.75rem .9rem}.vr-detail__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.vr-detail__head h3{margin:0;font-size:13px}.vr-detail__actions{align-items:center;gap:.5rem;margin-top:.65rem;display:flex}.vr-detail__actions select{width:auto;margin:0}.vr-comment-num{color:#fff;background:#ef4444;border-radius:999px;flex-shrink:0;place-items:center;width:1.4rem;height:1.4rem;font-size:11px;font-weight:700;display:grid}.vr-comment-num--arrow{background:#3b82f6}.vr-comment-num--cross{color:#111;background:#eab308}.vr-comment-num--freehand{background:#a855f7}.vr-comment-card__text{color:#cbd5e1;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.vr-comment-tags{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.vr-comments__footer{border-top:1px solid #334155;padding:.75rem}.ann-canvas{width:100%}.ann-canvas__stage{cursor:default;padding:.75rem}.ann-canvas__stage.tool-rectangle,.ann-canvas__stage.tool-arrow,.ann-canvas__stage.tool-cross,.ann-canvas__stage.tool-freehand{cursor:crosshair}.ann-canvas__frame{margin:0 auto;position:relative}.ann-canvas__img{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none}.ann-canvas__svg{width:100%;height:100%;position:absolute;top:0;left:0}.ann-form{width:min(520px,100%)}.ann-form__row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.ann-form__advanced{color:#94a3b8;margin:.5rem 0 1rem}.ann-form__advanced summary{cursor:pointer;margin-bottom:.5rem}.ann-form__actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}@media (width<=1100px){.vr-body{grid-template-columns:1fr}.vr-captures{max-height:220px}.vr-comments{max-height:320px}}
