.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--bg: #f5f7fa;--card: #ffffff;--text: #1f2933;--muted: #6b7280;--border: #e2e8f0;--accent: #0e7490;--accent-dark: #155e75;--green: #15803d;--red: #b91c1c;--amber: #b45309}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1400px;margin:0 auto;padding:0 16px 40px}nav.topbar{background:var(--accent-dark);color:#fff;padding:10px 16px;display:flex;align-items:center;gap:24px;margin-bottom:20px}nav.topbar .brand{font-size:17px;font-weight:700;color:#fff}nav.topbar a{color:#cffafe}nav.topbar a.router-link-active{color:#fff;font-weight:600}nav.topbar .spacer{flex:1}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}table.data{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:8px}table.data th,table.data td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}table.data th{background:#f1f5f9;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0}table.data tr:hover td{background:#f8fafc}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}input,select,button{font:inherit;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:#fff}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer}button.primary:hover{background:var(--accent-dark)}button.primary:disabled{opacity:.6;cursor:default}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge.available{background:#dcfce7;color:var(--green)}.badge.option{background:#fef3c7;color:var(--amber)}.badge.booked,.badge.unlisted{background:#fee2e2;color:var(--red)}.badge.ok{background:#dcfce7;color:var(--green)}.badge.partial{background:#fef3c7;color:var(--amber)}.badge.failed{background:#fee2e2;color:var(--red)}.badge.running{background:#e0f2fe;color:var(--accent-dark)}.delta-down{color:var(--green);font-weight:600}.delta-up{color:var(--red);font-weight:600}.muted{color:var(--muted)}.error{color:var(--red);margin:8px 0}h1{font-size:20px}h2{font-size:16px}.login-wrap{max-width:360px;margin:12vh auto 0}.login-wrap form{display:flex;flex-direction:column;gap:10px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.meta-grid .label{font-size:12px;color:var(--muted)}
