:root{--bg:#f6f7f9;--panel:#ffffff;--border:#e3e5ea;--text:#17181d;--muted:#6b7280;--accent:#2f3ba8;--ok:#0a7d33;--warn:#b45309;--bad:#c0392b}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;background:#191c33;color:#cdd0e0;padding:1.2rem .9rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff;font-weight:700;font-size:15px;margin-bottom:1.4rem;display:block}.sidebar nav a{display:block;color:#b9bdd4;padding:.42rem .6rem;border-radius:6px;margin-bottom:2px}.sidebar nav a:hover{background:#262a4a;color:#fff;text-decoration:none}.main{flex:1 1;padding:1.6rem 2rem;max-width:1300px}h1{font-size:1.25rem;margin:0 0 1rem}h2{font-size:.95rem;margin:1.8rem 0 .5rem;color:#374151}.cards{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:1rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.7rem 1.2rem;min-width:130px}.card b{display:block;font-size:1.5rem}.card span{color:var(--muted);font-size:12.5px}.tablewrap{overflow-x:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:.45rem .7rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}td.wrap{white-space:normal}th{background:#f0f1f5;font-weight:600;color:#374151;position:-webkit-sticky;position:sticky;top:0}tr:last-child td{border-bottom:none}tr:hover td{background:#f8f9fc}.pill{display:inline-block;padding:.05rem .55rem;border-radius:999px;font-size:12px;font-weight:600;background:#eef0f4;color:#374151}.pill.ok{background:#e5f5eb;color:var(--ok)}.pill.warn{background:#fdf1e2;color:var(--warn)}.pill.bad{background:#fbe9e7;color:var(--bad)}.pill.info{background:#e8eafd;color:var(--accent)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}.filters input,.filters select{padding:.35rem .6rem;border:1px solid var(--border);border-radius:7px;font-size:13px;background:#fff}.filters button,button.action{padding:.35rem .9rem;border:none;border-radius:7px;background:var(--accent);color:#fff;font-size:13px;cursor:pointer}button.action.secondary{background:#6b7280}.muted{color:var(--muted)}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:.5rem .2rem;border-bottom:1px solid var(--border)}.kv{display:grid;grid-template-columns:190px 1fr;grid-gap:.3rem .8rem;gap:.3rem .8rem;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0}pre.notice{white-space:pre-wrap;background:#fbfbfd;border:1px solid var(--border);border-radius:8px;padding:.8rem;font-size:12.5px;max-height:400px;overflow-y:auto}.chartwrap{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem;overflow-x:auto}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem;vertical-align:-1px}.sparkrow{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:.9rem}.spark{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.55rem .9rem .4rem;display:flex;flex-direction:column}.spark span{color:var(--muted);font-size:12px;margin-top:.15rem}