/* Practical, dense, flat. Rules inherited from v1: no radius, borders not shadows, blocks touch. */
:root{--bg:#f3f2f2;--ink:#161616;--mute:#6b6b6b;--line:#cfcfcf;--panel:#fff;--red:#ec3013;--pos:#1f7a3a;--neg:#b3261e;--neu:#7a7a7a;--warn:#b26a00}
*{box-sizing:border-box}html{font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
body{margin:0;display:grid;grid-template-columns:200px 1fr;min-height:100vh}
nav{background:var(--ink);color:#ddd;padding:16px 0}nav .brand{color:#fff;font-weight:700;padding:0 16px 14px;letter-spacing:.04em}
nav a{display:block;color:#ccc;text-decoration:none;padding:7px 16px;border-left:3px solid transparent}nav a:hover{color:#fff}nav a.on{color:#fff;border-left-color:var(--red);background:#242424}
nav .n{display:inline-block;width:1.5em;color:#888}nav .foot{margin-top:24px;padding:12px 16px;color:#888;font-size:12px;border-top:1px solid #333}
main{padding:20px 24px;min-width:0;overflow-x:auto}h1{font-size:20px;margin:0 0 4px}h2{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin:24px 0 8px}
.sub{color:var(--mute);margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;border:2px solid var(--ink);background:var(--line)}
.card{background:var(--panel);padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.card h3{margin:0 0 6px;font-size:15px}.card h3 a{color:inherit;text-decoration:none}
.big{font-size:28px;font-weight:700;line-height:1}.big small{font-size:12px;font-weight:400;color:var(--mute);margin-left:6px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:12px;color:var(--mute);margin-top:8px}.kv b{color:var(--ink);font-weight:600}
table{width:100%;border-collapse:collapse;background:var(--panel);border:2px solid var(--ink);font-size:13px}th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#eaeaea;position:sticky;top:0;font-weight:600;white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:hover td{background:#fafafa}
a{color:#0b4ea2}td a{text-decoration:none}td a:hover{text-decoration:underline}.wrap{max-width:520px}.ell{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag{display:inline-block;padding:1px 6px;border:1px solid var(--line);font-size:11px;color:var(--mute);margin-right:4px;white-space:nowrap}
.pos{color:var(--pos);font-weight:600}.neg{color:var(--neg);font-weight:600}.neu{color:var(--neu)}.low{opacity:.6;border-bottom:1px dashed var(--mute)}
.gate{display:inline-block;width:10px;height:10px;border:1px solid #0003;vertical-align:middle;margin-right:4px}.VERT{background:#2f9e44}.ORANGE{background:#f08c00}.ROUGE{background:#e03131}.none{background:#ccc}
form.bar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}form.bar input,form.bar select{padding:5px 8px;border:1px solid var(--ink);background:#fff;font:inherit}form.bar button,.btn{padding:5px 12px;border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit;cursor:pointer}
.pager{margin:10px 0;display:flex;gap:10px}.spark{display:flex;align-items:flex-end;gap:1px;height:36px;border-bottom:1px solid var(--line)}.spark i{display:block;width:6px;background:#888}.spark i.hi{background:var(--red)}
.login{grid-column:1/-1;max-width:360px;margin:12vh auto;background:#fff;border:2px solid var(--ink);padding:24px}.login input{width:100%;padding:8px;border:1px solid var(--ink);font:inherit;margin:8px 0 12px}
.muted{color:var(--mute)}.right{text-align:right}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
@media(max-width:800px){body{grid-template-columns:1fr}nav{display:flex;flex-wrap:wrap;padding:8px}nav a{padding:6px 10px;border-left:0}nav .foot{display:none}}
