@font-face{font-family:StabilGrotesk;src:url(/fonts/stabil-grotesk/StabilGrotesk-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:StabilGrotesk;src:url(/fonts/stabil-grotesk/StabilGrotesk-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:StabilGrotesk;src:url(/fonts/stabil-grotesk/StabilGrotesk-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:StabilGrotesk;src:url(/fonts/stabil-grotesk/StabilGrotesk-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--whisker-font: "StabilGrotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--whisker-cream: #fdfaf3;--whisker-sand: #f3f0e6;--whisker-charcoal: #262323;--whisker-orange: #fbb040;--whisker-border: #e8e8e8;--whisker-muted: #757575;--whisker-muted-alt: #8a837f;--whisker-warm-border: #eee5d3;--whisker-radius-lg: 28px;--whisker-radius-md: 24px;--whisker-radius-pill: 500px;--font-family: var(--whisker-font);--font-headline: var(--whisker-font);--font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;--color-passed: #009668;--color-failed: #ba1a1a;--color-broken: #8a837f;--color-skipped: #757575;--color-unknown: #8a837f;--color-retry: #8a837f;--pass-green: #009668;--pass-yellow: #d97706;--pass-red: #ba1a1a;--surface: #1a1818;--surface-container: #262323;--surface-container-low: #262323;--surface-container-lowest: #1a1818;--surface-container-high: #3a3636;--surface-container-highest: #4a4545;--surface-tint: var(--whisker-orange);--on-surface: #fdfaf3;--on-surface-variant: #bfbfc2;--outline-variant: #4a4545;--primary: #fdfaf3;--primary-container: #3a3636;--on-primary: #ffffff;--inverse-primary: var(--whisker-orange);--tertiary-fixed: #6ffbbe;--on-tertiary-container: #009668;--error: #ba1a1a;--error-container: #fae5e5;--on-error-container: #941100;--secondary: var(--whisker-muted-alt);--secondary-container: #eee5d3;--bg-sidebar: var(--surface-container);--bg-main: var(--surface);--border: var(--outline-variant);--text: var(--on-surface);--text-muted: var(--on-surface-variant);--link-color: #fdfaf3;--chart-accent: #fdfaf3;--ghost-border-color: rgba(74, 69, 69, .6);--pass-history-bg: #262323;--pass-history-text: #fdfaf3;--pass-history-muted: #bfbfc2;--pass-history-tooltip-bg: #1a1818;--pass-history-tooltip-border: #4a4545;--sidebar-width: 16rem;--sidebar-rail-width: 3.75rem;--hero-gradient-from-pass: #0b3d2e;--hero-gradient-to-pass: #10b981;--hero-gradient-from-warn: #3d2a05;--hero-gradient-to-warn: #d97706;--hero-gradient-from-fail: #450a0a;--hero-gradient-to-fail: #dc2626}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);background:var(--bg-main);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline;text-decoration-color:var(--whisker-orange);text-underline-offset:.15em}.font-headline{font-family:var(--font-headline);letter-spacing:-.02em}.font-label{font-family:var(--font-family);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.ghost-border{border:1px solid var(--ghost-border-color)}.ambient-shadow{box-shadow:0 32px 64px -12px #191c1e0d}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle;line-height:1}.material-symbols-outlined[data-weight=fill]{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.layout{display:flex;min-height:100vh}.app-sidebar-region{position:fixed;left:0;top:0;height:100vh;z-index:50;width:var(--sidebar-rail-width);overflow:hidden;transition:width .2s ease;flex-shrink:0}.layout--sidebar-open .app-sidebar-region{width:var(--sidebar-width)}.app-sidebar{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--surface-container);padding:1.25rem 0 1rem;border-right:1px solid var(--whisker-border);box-shadow:2px 0 16px #2623230f}.layout--sidebar-open .app-sidebar{border-right:1px solid var(--ghost-border-color);box-shadow:4px 0 24px #0000001a}.app-main-wrap{flex:1;margin-left:var(--sidebar-rail-width);display:flex;flex-direction:column;min-width:0;min-height:100vh;transition:margin-left .2s ease}.layout--sidebar-pinned .app-main-wrap{margin-left:var(--sidebar-width)}.app-sidebar-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:0 .75rem;margin-bottom:1.5rem}.layout--sidebar-open .app-sidebar-brand{padding:0 1rem 0 1.5rem;margin-bottom:2rem}.app-sidebar-brand-main{display:flex;align-items:center;justify-content:center;gap:.75rem;min-width:0;width:100%}.layout--sidebar-open .app-sidebar-brand-main{justify-content:flex-start}.app-sidebar-brand-text{display:none;min-width:0}.layout--sidebar-open .app-sidebar-brand-text{display:block}.app-sidebar-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;margin-top:.125rem;padding:0;border:none;border-radius:9999px;background:transparent;color:var(--on-surface-variant);cursor:pointer}.app-sidebar-close:hover{background:var(--surface-container-high);color:var(--on-surface)}.app-sidebar-logo{font-size:1.5rem;color:var(--whisker-orange)}.app-sidebar-title{font-size:1.125rem;font-weight:700;color:var(--on-surface);line-height:1.2;letter-spacing:-.02em}.app-sidebar-subtitle{font-size:.6875rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.06em}.app-sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.app-sidebar-link{display:flex;align-items:center;justify-content:center;gap:0;padding:.75rem 0;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--on-surface-variant);text-decoration:none;border-left:4px solid transparent;transition:background .15s,color .15s,padding .2s ease,gap .2s ease}.layout--sidebar-open .app-sidebar-link{justify-content:flex-start;gap:.75rem;padding:.75rem 1.5rem}.app-sidebar-link-label{display:none;white-space:nowrap}.layout--sidebar-open .app-sidebar-link-label{display:inline}.app-sidebar-link:hover{background:var(--surface-container-high);color:var(--on-surface);text-decoration:none}.app-sidebar-link.active{background:var(--surface-container-high);color:var(--on-surface);font-weight:600;border-left-color:var(--whisker-orange);text-decoration:none}.app-header{position:sticky;top:0;z-index:40;height:4rem;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:var(--surface);border-bottom:1px solid var(--ghost-border-color)}.app-header-start{display:flex;align-items:center;gap:.5rem;min-width:0}.app-sidebar-toggle{flex-shrink:0}.app-sidebar-toggle.active{background:var(--surface-container-high);color:var(--on-surface)}.app-header-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--on-surface)}.app-header-actions{display:flex;align-items:center;gap:.75rem}.app-header-icon-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--whisker-border);border-radius:var(--whisker-radius-pill);background:transparent;color:var(--on-surface);cursor:pointer}.app-header-icon-btn:hover{background:var(--surface-container-high);color:var(--on-surface);border-color:var(--whisker-charcoal)}.app-header-icon-btn:focus-visible{outline:2px solid var(--whisker-orange);outline-offset:2px}.app-header-user{font-size:.75rem;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--ghost-border-color)}.app-header-sign-out{font-size:.75rem;padding:.375rem .875rem;border-radius:var(--whisker-radius-pill);border:1px solid var(--whisker-charcoal);background:transparent;color:var(--whisker-charcoal);cursor:pointer;font-weight:500}.app-header-sign-out:hover{border-color:var(--error);color:var(--error)}.env-selector{display:flex;align-items:center;gap:.5rem;background:var(--whisker-charcoal);border-radius:var(--whisker-radius-pill);padding:.5rem 1rem;border:1px solid var(--whisker-charcoal);transition:background .15s,border-color .15s,box-shadow .15s}.env-selector--prod{background:#fdfaf3;border-color:#fdfaf3;box-shadow:none}.env-selector--staging{background:var(--whisker-warm-border);border-color:color-mix(in srgb,#d97706 25%,var(--whisker-warm-border));box-shadow:none}.env-selector--dev{background:color-mix(in srgb,var(--whisker-muted-alt) 12%,var(--surface-container-low));border-color:color-mix(in srgb,var(--whisker-muted-alt) 30%,transparent);box-shadow:none}.env-selector--prod .env-selector-icon,.env-selector--prod .env-selector-select,.env-selector--staging .env-selector-icon,.env-selector--staging .env-selector-select{color:var(--whisker-charcoal)}.env-selector--dev .env-selector-icon,.env-selector--dev .env-selector-select{color:var(--whisker-muted-alt)}.env-selector-icon{font-size:1rem;color:var(--on-surface-variant)}.env-selector-select{border:none;background:transparent;font:inherit;font-size:.75rem;font-weight:700;color:var(--on-surface);cursor:pointer;padding-right:1rem;outline:none}.main{flex:1;padding:2rem;min-width:0;max-width:80rem;width:100%;margin:0 auto}.page-loading{display:flex;align-items:center;justify-content:center;width:100%;min-height:min(72vh,calc(100vh - 7rem))}.page-loading-inner{display:flex;flex-direction:column;align-items:center;gap:1.125rem}.page-loading-spinner{width:2.75rem;height:2.75rem;border:3px solid var(--border);border-top-color:var(--whisker-orange);border-radius:50%;animation:page-loading-spin .75s linear infinite}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.page-loading-label{font-size:.9375rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-main)}.auth-card{width:100%;max-width:380px;text-align:center}.auth-title{margin:0 0 8px;font-size:1.25rem}.auth-subtitle{margin:0 0 20px;font-size:.875rem;color:var(--text-muted);line-height:1.5}.auth-error{text-align:left;font-size:.8125rem;color:var(--color-failed);background:color-mix(in srgb,var(--color-failed) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-failed) 25%,transparent);border-radius:8px;padding:10px 14px;margin-bottom:16px}.auth-google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 20px;border-radius:8px;border:1px solid var(--border);background:var(--bg-main);color:var(--text);font-size:.875rem;font-weight:600;cursor:pointer}.auth-google-button:hover{border-color:var(--whisker-charcoal);box-shadow:0 0 0 1px color-mix(in srgb,var(--whisker-orange) 35%,transparent)}.auth-footnote{margin:20px 0 0;font-size:.6875rem;color:var(--text-muted);opacity:.85}.auth-callback{max-width:320px;text-align:center;color:var(--text-muted)}.link-button{background:none;border:none;padding:0;color:var(--link-color);cursor:pointer;font:inherit;text-decoration:underline}.link-button:hover{color:var(--text)}.link-button:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.card{background:var(--surface);border:1px solid var(--ghost-border-color);border-radius:var(--whisker-radius-md);padding:16px;margin-bottom:16px;box-shadow:0 1px 2px #2623230a}.card h2{margin-top:0;font-size:1.25rem}.status-passed{color:var(--color-passed)}.status-failed{color:var(--color-failed)}.status-broken{color:var(--color-broken)}.status-skipped{color:var(--color-skipped)}.status-unknown{color:var(--color-unknown)}.status-retry{color:var(--color-retry)}table th.numeric,table td.numeric{text-align:right}.pass-green{color:var(--pass-green)}.pass-yellow{color:var(--pass-yellow)}.pass-red{color:var(--pass-red)}.pass-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:600}.pass-badge.green{background:#14532d;color:#86efac}.pass-badge.yellow{background:#713f12;color:#fde047}.pass-badge.red{background:#7f1d1d;color:#fca5a5}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-muted);font-size:.875rem}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--text)}th.sortable .sort-icon{display:inline-block;width:1em;text-align:center;opacity:.3;font-size:.75em}th.sortable.sort-asc .sort-icon,th.sortable.sort-desc .sort-icon{opacity:1}th.sortable.sort-asc .sort-icon:after{content:"↑"}th.sortable.sort-desc .sort-icon:after{content:"↓"}th.sortable:not(.sort-asc):not(.sort-desc) .sort-icon:after{content:"↕"}.pass-rate-cell{align-items:center;gap:12px}.pass-rate-sparkline-wrap{display:flex;flex-direction:column;gap:4px}.pass-rate-sparkline{display:flex;align-items:flex-end;gap:2px;height:28px;min-width:80px}.pass-rate-sparkline-bar-wrap{flex:1;min-width:4px;position:relative;display:flex;align-items:flex-end}.pass-rate-sparkline-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:4px 8px;font-size:.75rem;white-space:nowrap;background:var(--text);color:var(--bg-main);border-radius:4px;pointer-events:none;z-index:10;box-shadow:0 2px 8px #00000026}.pass-rate-sparkline-bar{width:100%;border-radius:1px;min-height:2px}.pass-rate-sparkline-dates{font-size:.75rem;color:var(--text-muted)}.pass-rate-history-dates{font-weight:500;color:var(--text)}.pass-history-chart{display:flex;gap:.5rem;align-items:stretch;min-width:11rem;height:4.5rem}.pass-history-chart--full{flex-direction:column;gap:0;min-width:0;width:100%;height:auto}.pass-history-chart--full .pass-history-chart-body{display:flex;gap:.75rem;align-items:stretch;height:6rem}.pass-history-chart--full .pass-history-chart-axis--full{width:2.25rem;padding:.125rem 0;font-size:.6875rem}.pass-history-chart--full .pass-history-chart-plot{height:6rem}.pass-history-chart--full .pass-history-chart-dot{width:.625rem;height:.625rem}.pass-history-chart-footer{display:flex;justify-content:space-between;margin-top:.5rem;padding-left:3rem;font-size:.625rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.04em}.pass-rate-history-card h2{margin-top:0}.pass-rate-history-meta{font-size:.75rem;color:var(--text-muted);margin:.75rem 0 0}.pass-history-chart-axis{display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;width:1.75rem;padding:.125rem 0;font-size:.625rem;line-height:1;color:var(--on-surface-variant);text-align:right}.pass-history-chart-plot{position:relative;flex:1;min-width:0}.pass-history-chart-plot svg{display:block;width:100%;height:100%}.pass-history-chart-grid{stroke:var(--outline-variant);stroke-width:.5;opacity:.35}.pass-history-chart-dot{position:absolute;width:.5rem;height:.5rem;margin:0;padding:0;border:1px solid var(--surface);border-radius:9999px;background:var(--chart-accent);transform:translate(-50%,-50%);cursor:pointer}.pass-history-chart-dot--pass{background:var(--pass-green)}.pass-history-chart-dot--warn{background:var(--pass-yellow)}.pass-history-chart-dot--fail{background:var(--pass-red)}.pass-history-chart-tooltip{position:absolute;transform:translate(-50%,calc(-100% - .5rem));padding:.25rem .5rem;border-radius:.375rem;background:var(--pass-history-tooltip-bg, #1e293b);border:1px solid var(--pass-history-tooltip-border, #334155);color:var(--pass-history-text, #e2e8f0);font-size:.6875rem;white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 4px 12px #00000026}.pass-history-chart-tooltip-rate{font-weight:700}.pass-history-chart-tooltip-date{opacity:.85;margin-top:1px}td.pass-rate-history-cell{min-width:12rem;padding-top:.75rem;padding-bottom:.75rem}.summary-section{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.summary-text{flex:1;min-width:200px;text-align:left}.pass-rate-donut{position:relative;flex-shrink:0;width:140px;height:140px}.pass-rate-donut-ring{position:absolute;inset:0;border-radius:50%}.pass-rate-donut-hole{position:absolute;top:50%;left:50%;width:56%;height:56%;margin:-28% 0 0 -28%;background:var(--bg-main);border-radius:50%}.pass-rate-donut-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:700;color:var(--text);z-index:1}.project-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:16px}.project-run-card{background:var(--bg-main);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.project-run-card-header{display:flex;flex-direction:column;gap:2px}.project-run-card-title{font-weight:700;font-size:1.125rem;color:var(--text)}.project-run-card-subtitle{font-size:.875rem;color:var(--text-muted)}.project-run-card-meta{font-size:.8125rem;color:var(--text-muted)}.project-run-card-status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-run-card-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600}.project-run-card-status-badge.failed{color:var(--color-failed)}.project-run-card-status-badge.broken{color:var(--color-broken)}.project-run-card-status-badge.passed{color:var(--color-passed)}.project-run-card-status-badge.skipped{color:var(--color-skipped)}.project-run-card-status-badge.mixed{color:var(--text-muted)}.project-run-card-status-icon{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.project-run-card-status-icon.failed{background:var(--color-failed);color:#fff}.project-run-card-status-icon.broken{background:var(--color-broken);color:#fff}.project-run-card-status-icon.passed{background:var(--color-passed);color:#fff}.project-run-card-status-icon.skipped{background:var(--color-skipped);color:#fff}.project-run-card-status-icon.mixed{background:var(--text-muted);color:#fff}.project-run-card-metrics{font-size:.8125rem;display:grid;grid-template-columns:repeat(2,1fr);gap:5px 8px;color:var(--text-muted)}.project-run-card-metrics span{white-space:nowrap}.project-run-card-metrics span.status-passed,.project-run-card-metrics span.status-failed,.project-run-card-metrics span.status-broken,.project-run-card-metrics span.status-skipped,.project-run-card-metrics span.status-unknown,.project-run-card-metrics span.status-retry{font-weight:600}.project-run-card-body{display:flex;align-items:center;gap:16px;flex:1}.project-run-card-stats{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.project-run-card-donut-wrap{flex-shrink:0}.settings-form{display:flex;flex-direction:column;gap:16px;max-width:360px}.settings-field{display:flex;flex-direction:column;gap:4px}.settings-field label{font-weight:600;font-size:.9rem}.settings-field input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:1rem;background:var(--bg-main);color:var(--text);width:100%;max-width:120px}.settings-field input:focus{outline:none;border-color:var(--link-color);box-shadow:0 0 0 2px #7c3aed33}.settings-hint{font-size:.8125rem;color:var(--text-muted)}.settings-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.settings-saved{font-size:.9rem;color:var(--color-passed);font-weight:500}button{padding:6px 14px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg-main);color:var(--text-muted);font-family:inherit;transition:background .1s,color .1s,border-color .1s}button:hover{color:var(--text);border-color:var(--text-muted);background:var(--bg-sidebar)}button.active{background:var(--link-color);color:#fff;border-color:var(--link-color);font-weight:600}button.active:hover{filter:brightness(1.1)}.btn{padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit}.btn-primary{background:var(--link-color);color:#fff;border-color:var(--link-color)}.btn-primary:hover{filter:brightness(1.1);background:var(--link-color);border-color:var(--link-color);color:#fff}.btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-secondary:hover{color:var(--text);border-color:var(--text-muted);background:var(--bg-sidebar)}.dashboard-page{display:flex;flex-direction:column;gap:3rem}.dashboard-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem}.dashboard-page-title{margin:0;font-family:var(--font-headline);font-size:1.625rem;font-weight:500;letter-spacing:-.02em;line-height:1.3;color:var(--on-surface)}.dashboard-page-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--on-surface-variant)}.dashboard-page-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.dashboard-page-eyebrow-text{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant)}.dashboard-env-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;white-space:nowrap}.dashboard-env-badge .material-symbols-outlined{font-size:1.125rem}.dashboard-env-badge--compact{padding:.375rem .75rem;font-size:.6875rem}.dashboard-env-badge--prod{background:color-mix(in srgb,var(--on-surface) 10%,var(--surface-container-lowest));border-color:color-mix(in srgb,var(--on-surface) 30%,transparent);color:var(--on-surface)}.dashboard-env-badge--staging{background:color-mix(in srgb,#d97706 14%,var(--surface-container-lowest));border-color:color-mix(in srgb,#d97706 35%,transparent);color:#fbbf24}.dashboard-env-badge--dev{background:color-mix(in srgb,var(--on-surface-variant) 12%,var(--surface-container-lowest));border-color:color-mix(in srgb,var(--on-surface-variant) 35%,transparent);color:var(--on-surface-variant)}.dashboard-bento{display:block}.dashboard-hero-card{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.dashboard-hero-card{grid-template-columns:2fr 1fr;align-items:stretch}}.dashboard-pass-hero{color:#fff;border-radius:var(--whisker-radius-lg);padding:2.25rem 2.5rem;min-height:17rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;position:relative;overflow:hidden;box-shadow:0 16px 40px #26232324;container-type:inline-size;container-name:pass-hero}.dashboard-pass-hero--pass{background:linear-gradient(135deg,var(--hero-gradient-from-pass) 0%,var(--hero-gradient-to-pass) 100%)}.dashboard-pass-hero--warn{background:linear-gradient(135deg,var(--hero-gradient-from-warn) 0%,var(--hero-gradient-to-warn) 100%)}.dashboard-pass-hero--fail{background:linear-gradient(135deg,var(--hero-gradient-from-fail) 0%,var(--hero-gradient-to-fail) 100%)}.dashboard-pass-hero-top{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem}.dashboard-pass-hero-main{flex:1 1 auto;min-width:0}.dashboard-pass-hero .dashboard-env-badge--hero{flex:0 0 auto;align-self:center;max-width:100%;gap:clamp(.75rem,2cqi,1.25rem);padding:clamp(1rem,3cqi,1.5rem) clamp(1.75rem,5.5cqi,3rem);border-radius:9999px;font-family:var(--font-headline);font-size:clamp(2rem,6cqi,3.5rem);font-weight:800;letter-spacing:-.02em;line-height:1;text-transform:none;background:#ffffff29;border:1px solid rgba(255,255,255,.32);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 20px #0000001f}.dashboard-pass-hero .dashboard-env-badge--hero .material-symbols-outlined{font-size:clamp(2.25rem,9.5cqi,3.75rem)}@container pass-hero (max-width: 32rem){.dashboard-pass-hero-top{flex-direction:column;align-items:flex-start}.dashboard-pass-hero .dashboard-env-badge--hero{order:-1;align-self:flex-start}}.dashboard-pass-hero .dashboard-env-badge--hero.dashboard-env-badge--prod,.dashboard-pass-hero .dashboard-env-badge--hero.dashboard-env-badge--staging,.dashboard-pass-hero .dashboard-env-badge--hero.dashboard-env-badge--dev{color:#fff;background:#ffffff29;border-color:#ffffff52}.dashboard-pass-hero .dashboard-env-badge--hero.dashboard-env-badge--dev{gap:clamp(.5rem,1.5cqi,.875rem);padding:clamp(.75rem,2.2cqi,1.125rem) clamp(1.25rem,4cqi,2.25rem);font-size:clamp(1.5rem,5cqi,2.75rem)}.dashboard-pass-hero .dashboard-env-badge--hero.dashboard-env-badge--dev .material-symbols-outlined{font-size:clamp(1.75rem,7cqi,3rem)}.dashboard-pass-hero-label{font-size:.9125rem;text-transform:uppercase;letter-spacing:.12em;color:#fffc;margin:0}.dashboard-pass-hero-value{font-size:clamp(4.5rem,18cqi,6.5rem);font-weight:900;letter-spacing:-.04em;line-height:.95;margin:.75rem 0 0}.dashboard-pass-hero--pass .dashboard-pass-hero-value{color:#fff}.dashboard-pass-hero--warn .dashboard-pass-hero-value{color:#fff7ed}.dashboard-pass-hero--fail .dashboard-pass-hero-value{color:#fee2e2}.dashboard-pass-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.18)}.dashboard-pass-hero-stat-label{font-size:.75rem;letter-spacing:.08em;opacity:.8;margin:0 0 .375rem}.dashboard-pass-hero-stat-value{font-weight:700;font-size:clamp(1.25rem,2.5vw,1.625rem);margin:0;line-height:1.1}.dashboard-pass-hero-stat-value--fail{color:#fecaca}.dashboard-stat-stack{display:flex;flex-direction:column;gap:1.5rem}.dashboard-stat-card{background:var(--surface);border:1px solid var(--ghost-border-color);border-radius:var(--whisker-radius-md);padding:1.75rem;flex:1}.dashboard-stat-card-label{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant);margin-bottom:1rem}.dashboard-stat-card-value{font-family:var(--font-headline);font-size:1.875rem;font-weight:700;margin:0;color:var(--on-surface)}.dashboard-stat-card-hint{font-size:.75rem;color:var(--on-surface-variant);margin:.5rem 0 0}.dashboard-analytics-row{display:flex;flex-direction:column;gap:2rem}@media(min-width:1024px){.dashboard-analytics-row{flex-direction:row}}.dashboard-chart-card,.dashboard-breakdown-card{background:var(--surface);border:1px solid var(--ghost-border-color);border-radius:var(--whisker-radius-md);padding:1.75rem}.dashboard-chart-card{flex:2}.dashboard-breakdown-card{flex:3;background:var(--surface-container-low)}.dashboard-section-title{font-family:var(--font-headline);font-size:1.125rem;font-weight:700;margin:0 0 .25rem}.dashboard-section-subtitle{font-size:.75rem;color:var(--on-surface-variant);margin:0 0 1.5rem}.dashboard-trend-chart{min-height:14rem;position:relative}.dashboard-trend-chart-with-scale{display:flex;gap:.75rem;align-items:stretch;min-height:12rem}.dashboard-trend-chart-axis{display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;width:2rem;padding:.25rem 0;font-size:.625rem;line-height:1;color:var(--on-surface-variant);text-align:right}.dashboard-trend-chart-with-scale svg{flex:1;width:100%;height:12rem;min-width:0}.dashboard-breakdown-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.dashboard-breakdown-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-breakdown-item{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-radius:var(--whisker-radius-md);background:var(--surface);border:1px solid var(--ghost-border-color);text-decoration:none;color:inherit;transition:background .15s}.dashboard-breakdown-item:hover{background:var(--surface-container-high);text-decoration:none}.dashboard-breakdown-item--warn{border-left:2px solid var(--secondary)}.dashboard-breakdown-item--fail{border-left:2px solid var(--error)}.dashboard-breakdown-name{font-weight:700;font-size:.875rem;margin:0}.dashboard-breakdown-meta{font-size:.75rem;color:var(--on-surface-variant);margin:.125rem 0 0}.dashboard-breakdown-rate{font-family:var(--font-headline);font-size:1.125rem;font-weight:700}.dashboard-breakdown-rate--pass{color:var(--on-tertiary-container)}.dashboard-breakdown-rate--warn{color:var(--secondary)}.dashboard-breakdown-rate--fail{color:var(--error)}.dashboard-failures-table{background:var(--surface);border:1px solid var(--ghost-border-color);border-radius:var(--whisker-radius-md);overflow:hidden}.dashboard-failures-header{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:1rem;padding:.75rem 1rem;font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--on-surface-variant);border-bottom:1px solid var(--ghost-border-color)}.dashboard-failures-row{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:1rem;padding:.75rem 1rem;font-size:.875rem;align-items:center;border-bottom:1px solid var(--ghost-border-color);transition:background .15s}.dashboard-failures-row:hover{background:var(--surface-container-high)}.dashboard-failures-row:last-child{border-bottom:none}.dashboard-failures-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;padding:.25rem .5rem;border-radius:.25rem}.dashboard-failures-status--fail{color:var(--error);background:color-mix(in srgb,var(--error-container) 50%,transparent)}.dashboard-projects-section h2{font-family:var(--font-headline);font-size:1.125rem;margin:0 0 1rem}.dashboard-projects-table-card{background:var(--surface);border:1px solid var(--ghost-border-color);border-radius:var(--whisker-radius-lg);overflow:hidden}.dashboard-projects-table th:first-child,.dashboard-projects-table td:first-child{padding-left:1.5rem}.dashboard-projects-table tbody tr:hover{background:var(--surface-container-high)}.dashboard-projects-table .dashboard-table-link{text-decoration:none;transition:color .15s ease}.dashboard-projects-table .dashboard-table-link--project{font-weight:700;font-size:.875rem;color:var(--on-surface)}.dashboard-projects-table .dashboard-table-link--project:hover{color:var(--whisker-orange)}.dashboard-projects-table .dashboard-table-link--run{font-size:.8125rem;font-weight:500;color:var(--on-surface-variant);border-bottom:1px dashed color-mix(in srgb,var(--on-surface-variant) 35%,transparent)}.dashboard-projects-table .dashboard-table-link--run:hover{color:var(--whisker-charcoal);border-bottom-color:var(--whisker-orange)}.run-list-table .run-list-col-run{white-space:nowrap}.run-list-table .run-list-col-branch{max-width:9rem;width:9rem}.run-list-table .run-list-branch{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-intro{margin:0 0 1.5rem;font-size:.875rem;color:var(--on-surface-variant)}.page-title{font-family:var(--font-headline);font-size:1.625rem;font-weight:500;margin:0 0 .5rem;letter-spacing:-.02em;line-height:1.3}.breadcrumb{margin-bottom:1rem;font-size:.875rem;color:var(--on-surface-variant)}.breadcrumb a{color:var(--link-color)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.run-results-page{display:flex;flex-direction:column;gap:2rem}.run-results-header{display:flex;flex-direction:column;gap:.5rem}.run-results-breadcrumb{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--on-surface-variant)}.run-results-breadcrumb .material-symbols-outlined{font-size:1rem;opacity:.7}.run-results-breadcrumb a{color:var(--on-surface-variant);text-decoration:none}.run-results-breadcrumb a:hover{color:var(--on-surface);text-decoration:none}.run-results-breadcrumb-current{color:var(--whisker-charcoal);font-weight:600}.run-results-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.run-results-title{margin:0;font-size:1.625rem;font-weight:500;letter-spacing:-.02em;line-height:1.3;color:var(--on-surface)}.run-results-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--on-surface-variant)}.run-results-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:768px){.run-results-metrics{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media(min-width:1100px){.run-results-metrics{grid-template-columns:repeat(5,1fr)}}.run-results-metric-card{background:var(--surface);border:1px solid var(--ghost-border-color);border-radius:var(--whisker-radius-md);padding:1.75rem;box-shadow:0 1px 2px #2623230a;position:relative;overflow:hidden}.run-results-metric-card--pass:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--tertiary-fixed) 8%,transparent);pointer-events:none}.run-results-metric-card--fail{border-left:4px solid var(--error)}.run-results-metric-card--fail:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--error-container) 12%,transparent);pointer-events:none}.run-results-metric-label{position:relative;z-index:1;margin:0 0 .5rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant)}.run-results-metric-value{position:relative;z-index:1;margin:0;font-size:2.25rem;font-weight:800;line-height:1;color:var(--on-surface)}.run-results-metric-card--fail .run-results-metric-value{color:var(--error)}.run-results-metric-card--rate{border:none;border-radius:var(--whisker-radius-lg);box-shadow:0 16px 40px #26232324}.run-results-metric-card--rate-pass{background:linear-gradient(135deg,var(--hero-gradient-from-pass) 0%,var(--hero-gradient-to-pass) 100%)}.run-results-metric-card--rate-warn{background:linear-gradient(135deg,var(--hero-gradient-from-warn) 0%,var(--hero-gradient-to-warn) 100%)}.run-results-metric-card--rate-fail{background:linear-gradient(135deg,var(--hero-gradient-from-fail) 0%,var(--hero-gradient-to-fail) 100%)}.run-results-metric-card--rate .run-results-metric-label{color:#fffc}.run-results-metric-card--rate-pass .run-results-metric-value{color:#fff}.run-results-metric-card--rate-warn .run-results-metric-value{color:#fff7ed}.run-results-metric-card--rate-fail .run-results-metric-value{color:#fee2e2}.run-results-table-card{background:var(--surface);border:1px solid var(--ghost-border-color);border-radius:var(--whisker-radius-lg);overflow:hidden}.run-results-table-toolbar{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ghost-border-color);background:color-mix(in srgb,var(--surface-container-low) 50%,transparent)}@media(min-width:900px){.run-results-table-toolbar{flex-direction:row;align-items:center;justify-content:space-between}}.run-results-table-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--on-surface)}.run-results-table-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.run-results-search{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:9999px;border:1px solid var(--ghost-border-color);background:var(--surface-container-lowest);min-width:12rem}.run-results-search .material-symbols-outlined{font-size:1.125rem;color:var(--on-surface-variant)}.run-results-search input{border:none;background:transparent;outline:none;font-size:.8125rem;color:var(--on-surface);width:10rem}.run-results-area-filter{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:9999px;border:1px solid var(--ghost-border-color);background:var(--surface-container-lowest);min-width:10rem}.run-results-area-filter .material-symbols-outlined{font-size:1.125rem;color:var(--on-surface-variant);flex-shrink:0}.run-results-area-filter select{border:none;background:transparent;outline:none;font-size:.8125rem;font-weight:600;color:var(--on-surface);cursor:pointer;padding-right:.25rem;min-width:0;flex:1}.run-results-filter-pills{display:flex;flex-wrap:wrap;gap:.5rem}.run-results-filter-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid transparent;border-radius:9999px;background:var(--surface-container);color:var(--on-surface-variant);font-size:.75rem;font-weight:500;cursor:pointer}.run-results-filter-pill:hover{background:var(--surface-container-high)}.run-results-filter-pill.active{color:var(--on-surface);background:var(--surface-container-high)}.run-results-filter-pill--fail.active{color:var(--error);background:color-mix(in srgb,var(--error-container) 35%,transparent);border-color:color-mix(in srgb,var(--error) 20%,transparent)}.run-results-filter-dot{width:.5rem;height:.5rem;border-radius:9999px}.run-results-filter-dot--pass{background:var(--on-tertiary-container)}.run-results-filter-dot--fail{background:var(--error)}.run-results-table-wrap{overflow-x:auto}.run-results-table{width:100%;border-collapse:collapse}.run-results-table thead th{padding:.875rem 1rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);border-bottom:1px solid var(--ghost-border-color);white-space:nowrap}.run-results-table tbody td{padding:.875rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--ghost-border-color) 60%,transparent);vertical-align:top}.run-results-row:hover{background:var(--surface-container-high)}.run-results-row--failed{background:color-mix(in srgb,var(--error-container) 8%,transparent)}.run-results-row--failed:hover{background:color-mix(in srgb,var(--error-container) 14%,transparent)}.run-results-col-status{width:3rem;text-align:center}.run-results-status-icon{font-size:1.25rem}.run-results-status-icon--pass{color:var(--on-tertiary-container)}.run-results-status-icon--fail,.run-results-status-icon--broken{color:var(--error)}.run-results-status-icon--skip{color:var(--color-skipped)}.run-results-status-icon--other{color:var(--on-surface-variant)}.run-results-test-name{font-weight:600;color:var(--on-surface);text-decoration:none}.run-results-test-name:hover{color:var(--whisker-orange);text-decoration:none}.run-results-test-message{margin:.25rem 0 0;font-family:var(--font-mono);font-size:.75rem;color:var(--on-surface-variant);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.run-results-muted{color:var(--on-surface-variant);font-size:.875rem}.run-results-bug-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--whisker-charcoal);text-decoration:none}.run-results-bug-link:hover{color:var(--whisker-orange);text-decoration:underline;text-decoration-color:var(--whisker-orange)}.run-results-bug-link .material-symbols-outlined{font-size:1rem}.run-results-empty{text-align:center;color:var(--on-surface-variant);padding:2rem 1rem!important}.run-results-table-footer{padding:.875rem 1.25rem;border-top:1px solid var(--ghost-border-color);font-size:.8125rem;color:var(--on-surface-variant);background:var(--surface-container-lowest)}
