:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface-1:#fcfcfb;--surface-2:#f0efec;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--series-calls:#2a78d6;--series-puts:#eb6834;--status-good:#0ca30c;--status-serious:#ec835a;--status-critical:#d03b3b;--on-status:#fff;--focus:#2a78d6;--font:system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--surface-2:#242422;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-calls:#3987e5;--series-puts:#d95926;--focus:#3987e5}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--surface-2:#242422;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--series-calls:#3987e5;--series-puts:#d95926;--focus:#3987e5}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--text-primary);font-family:var(--font);font-size:15px;line-height:1.45}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-header{background:var(--surface-1);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 24px;padding:12px 24px;display:flex}.app-header .brand{white-space:nowrap;font-weight:600}.app-header nav{flex:1;gap:16px;display:flex}.app-header nav a{color:var(--text-secondary);padding:4px 0;text-decoration:none}.app-header nav a.active{color:var(--text-primary);border-bottom:2px solid var(--focus)}.app-header .user{color:var(--text-secondary);font-size:14px}main{max-width:1400px;margin:0 auto;padding:24px}@media (width<=640px){.app-header{padding:10px 16px}.app-header nav{flex-basis:100%;order:3}.app-header .user{margin-left:auto}main{padding:16px}}h1{margin:0 0 16px;font-size:22px;font-weight:600}h2{margin:0 0 12px;font-size:16px;font-weight:600}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.filters{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:20px;display:flex}.filters label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}select,input,button{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:6px 10px}button{cursor:pointer}button.primary{background:var(--focus);color:#fff;border-color:#0000}button.link{color:var(--text-secondary);background:0 0;border:none;padding:0;text-decoration:underline}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:16px 20px}.extremes{color:var(--text-secondary);margin:0 0 8px;font-size:13px}.card-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;display:grid}.kpi{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:12px 16px}.kpi .label{color:var(--text-secondary);font-size:13px}.kpi .value{font-size:24px;font-weight:600}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--grid);padding:6px 8px}th{color:var(--text-secondary);font-weight:500}td.number,th.number{text-align:right;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.status-legend{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin:0 0 12px;padding:0;font-size:13px;list-style:none;display:flex}.status-legend li{align-items:center;gap:6px;display:inline-flex}.status-cell{width:24px;height:24px;color:var(--on-status);border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.status-complete{background:var(--status-good)}.status-failed{background:var(--status-critical)}.status-missing{background:var(--status-serious)}.status-pending{background:var(--surface-2);color:var(--text-muted)}.grid-table th.run{text-align:center;white-space:nowrap;font-size:12px;line-height:1.2}.grid-table td.cell{text-align:center;padding:3px 2px}.login{max-width:360px;margin:12vh auto}.login form{flex-direction:column;gap:12px;display:flex}.login label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:14px;display:flex}.error{color:var(--status-critical)}.notice{border-left:3px solid var(--axis);color:var(--text-secondary);background:var(--surface-2);border-radius:4px;padding:8px 12px}
