:root { font: 16px system-ui, sans-serif; color: #182840; background: #f4f7fc; }
body { margin: 0; }
header, main { padding: 1.5rem max(1rem, calc((100vw - 1240px) / 2)); }
header { background: #102640; color: white; }
header p { letter-spacing: .14em; color: #a8ceff; margin: 0; font-size: .8rem; }
h1 { margin: .4rem 0 0; }
form { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
label { display: grid; gap: .3rem; }
input, button { font: inherit; padding: .5rem; border: 1px solid #a4b5ca; border-radius: .35rem; }
button { background: #155eb2; color: white; cursor: pointer; }
button:disabled { background: #59677a; cursor: default; }
.table-wrap { overflow: auto; max-height: 65vh; border: 1px solid #c8d5e4; border-radius: .4rem; }
table { border-collapse: collapse; width: 100%; background: white; }
th, td { padding: .6rem; text-align: left; white-space: nowrap; border-bottom: 1px solid #e1e8f0; }
th { position: sticky; top: 0; background: #e7effa; }
td { font-family: ui-monospace, monospace; }
.signals:not([hidden]) { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: .6rem; }
.signals div { padding: .75rem; background: white; border: 1px solid #c8d5e4; border-radius: .35rem; }
.signals dt { color: #41536c; font-size: .85rem; }
.signals dd { margin: .35rem 0 0; font: 600 1.15rem ui-monospace, monospace; }
