*{box-sizing:border-box}body{color:#22282b;background:#f4f5f2;margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px}a{color:#1d6b70;text-decoration:none}a:hover{color:#144d51}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.label{letter-spacing:.08em;text-transform:uppercase;color:#667077;font-size:11px;font-weight:600}.card{background:#fff;border:1px solid #d5dad6;border-radius:6px;padding:14px 16px}.chip{color:#667077;white-space:nowrap;background:#fff;border:1px solid #d5dad6;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;display:inline-flex}.chip-accent{color:#1d6b70;background:#e3eeee;border-color:#1d6b70}.chip-warn{color:#9a6b1f;background:#f6eedd;border-color:#d8b76a}.chip-ok{color:#2f7d4f;background:#e8f2ec;border-color:#86b89b}.chip-bad{color:#a13a3a;background:#f7e7e7;border-color:#cf9a9a}.chip-dash{color:#9aa3a8;border-style:dashed}.app{min-height:100vh;display:flex}.rail{background:#f9faf7;border-right:1px solid #d5dad6;flex-direction:column;flex-shrink:0;gap:4px;width:230px;padding:18px 12px;display:flex}.navitem{color:#4b5359;border-radius:6px;padding:9px 14px;font-size:13.5px;display:block}.navitem:hover{color:#22282b;background:#eef0ee}.navactive{color:#1d6b70;background:#e3eeee;font-weight:600}.main{flex-direction:column;flex-grow:1;gap:16px;max-width:1280px;padding:22px 26px;display:flex}.grid{gap:14px;display:grid}.btn{color:#22282b;cursor:pointer;background:#fff;border:1px solid #d5dad6;border-radius:6px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500}.btn:hover{background:#f4f5f2}.btn-accent{color:#fff;background:#1d6b70;border-color:#1d6b70}.btn-accent:hover{background:#144d51}.btn-danger{color:#a13a3a;border-color:#a13a3a}table{border-collapse:collapse;width:100%}th{text-align:left;border-bottom:1px solid #d5dad6;padding:8px 10px}td{vertical-align:top;border-bottom:1px solid #eef0ee;padding:9px 10px}pre.diff{white-space:pre-wrap;background:#f9faf7;border:1px solid #eef0ee;border-radius:6px;padding:10px 12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;overflow-x:auto}.muted{color:#9aa3a8}.empty{color:#9aa3a8;border:1.5px dashed #b9c1bc;border-radius:6px;padding:14px;font-size:13px}.riding-map path:hover{stroke:#0b0b0b;stroke-width:1.4px;cursor:pointer}
