:root{--paper:#f3f4f9;--surface:#fff;--ink:#171a23;--muted:#656b7a;--line:#e2e4ee;--accent:#4a55e8;--accent-soft:#e8e9fd;--good:#157a45;--good-soft:#e1f5ea;--warn:#a8620a;--warn-soft:#faead0;--bad:#c5292d;--bad-soft:#fbe3e2;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--paper:#0e0f16;--surface:#171923;--ink:#edeef5;--muted:#8d93a6;--line:#282b3a;--accent:#8791ff;--accent-soft:#23264a;--good:#4bd88e;--good-soft:#113224;--warn:#eaa746;--warn-soft:#3a2a10;--bad:#f0787a;--bad-soft:#3a1616}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.page{width:100%;margin:0;padding:28px 32px 64px}.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}.topbar h1{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}.topbar .sub{font-family:var(--mono);font-size:12.5px;color:var(--muted)}.topbar-right{gap:18px;flex-wrap:wrap}.live,.topbar-right{display:flex;align-items:center}.live{gap:8px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.sysstats{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sysstat{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.sysstat-dot{width:7px;height:7px;border-radius:50%;flex:none}.sysstat-dot.good{background:var(--good)}.sysstat-dot.warn{background:var(--warn)}.sysstat-dot.bad{background:var(--bad)}.sysstat-label{text-transform:uppercase;letter-spacing:.02em;font-size:11px}.sysstat-value{color:var(--ink);font-weight:600}.sysstat-detail{color:var(--muted)}.live .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(75,216,142,.5);animation:pulse 2.2s ease-out infinite}@media (prefers-reduced-motion:reduce){.live .dot{animation:none}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(75,216,142,.45)}70%{box-shadow:0 0 0 7px rgba(75,216,142,0)}to{box-shadow:0 0 0 0 rgba(75,216,142,0)}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head h2{font-size:15px;font-weight:600;margin:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.pill.success{background:var(--good-soft);color:var(--good)}.pill.error{background:var(--bad-soft);color:var(--bad)}.pill.canceled,.pill.running,.pill.waiting{background:var(--warn-soft);color:var(--warn)}.pill.unknown{background:var(--accent-soft);color:var(--accent)}.run-facts{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 18px}.run-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:3px}.run-facts dd{margin:0;font-size:18px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.error-detail{margin-top:6px;padding:8px 10px;background:var(--paper);border:1px solid var(--line);border-radius:6px;font-family:var(--mono);font-size:12px;color:var(--bad);white-space:pre-wrap;word-break:break-word}.error-detail .node{color:var(--muted);display:block;margin-bottom:3px}.product-list+.product-list{margin-top:12px}.product-list-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.product-list-title.bad{color:var(--bad)}.product-list-title.warn{color:var(--warn)}.product-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.product-row{display:flex;flex-wrap:wrap;gap:10px;padding:3px 0;font-size:12px;color:var(--ink)}.product-row .sku{color:var(--muted);min-width:90px}.product-row .title{flex:1 1;min-width:140px;color:var(--ink);font-family:var(--sans)}.product-row .stocks{color:var(--muted);white-space:nowrap}.failed-section{border-top:1px solid var(--line);padding-top:14px}.failed-section h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bad-soft);color:var(--bad);font-family:var(--mono);font-size:11px;font-weight:700}.count-badge.success-badge{background:var(--good-soft);color:var(--good)}.no-failures{margin:0;font-size:13px;color:var(--muted)}.failed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.bundle-item,.failed-item{border-bottom:1px solid var(--line)}.bundle-item:last-child,.failed-item:last-child{border-bottom:none}.bundle-item{display:flex;align-items:center;gap:10px;padding:8px 2px;font-size:12.5px;color:var(--muted)}.bundle-item .bundle-products{color:var(--good)}.bundle-item .bundle-fetchfailed{color:var(--warn)}.failed-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 2px;cursor:pointer;font-family:var(--sans);color:var(--ink)}.failed-toggle .entry-left{display:flex;align-items:center;gap:8px}.failed-toggle:hover .when{color:var(--bad)}.failed-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.failed-toggle .chev{color:var(--muted);font-size:11px}.more-note{margin:8px 0 0;font-size:12px;color:var(--muted)}.toggle-list{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:8px 2px 0;margin:0;color:var(--accent);font-family:var(--sans);font-size:12.5px;font-weight:600;cursor:pointer}.toggle-list:hover{text-decoration:underline}.toggle-list:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.error-banner{background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px}@media (max-width:560px){.run-facts{gap:14px}}