/* Parent pages: same look as the hub, tuned for reading tables. */
.p-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}
.p-top a,.p-link{color:var(--hub-accent)}
.p-btn{font:inherit;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--hub-fg);border:1px solid var(--hub-line);padding:8px 12px;cursor:pointer}
.p-btn:hover{border-color:var(--hub-muted)}
.p-btn.main{background:var(--hub-accent);color:var(--hub-ink);border-color:var(--hub-accent);font-weight:700}
.p-btn.danger{color:var(--hub-bad);border-color:transparent;padding:4px 8px}
.p-btn.danger:hover{border-color:var(--hub-bad)}
.p-card{background:var(--hub-panel);border:1px solid var(--hub-line);padding:16px 18px;margin-bottom:18px}
.p-card h2{margin:0 0 12px;font-size:1.15rem}
.p-card h3{margin:18px 0 8px;font-size:.8rem;font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--hub-muted);font-weight:500}
.p-scroll{max-width:100%;overflow-x:auto}
.p-tbl{border-collapse:collapse;width:100%;font-size:.92rem}
.p-tbl th{text-align:left;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--hub-muted);font-weight:500;padding:6px 10px;border-bottom:1px solid var(--hub-line);white-space:nowrap}
.p-tbl td{padding:7px 10px;border-bottom:1px solid var(--hub-line);vertical-align:top}
.p-tbl td.num{font-family:'JetBrains Mono',ui-monospace,monospace;white-space:nowrap}
.p-tbl .mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.p-ok{color:var(--hub-good);font-weight:700}
.p-bad{color:var(--hub-bad);font-weight:700}
.p-dim{color:var(--hub-muted)}
.p-medal{display:inline-block;min-width:62px;text-align:center;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;color:var(--hub-ink)}
.p-medal.gold{background:var(--hub-gold)} .p-medal.silver{background:var(--hub-silver)} .p-medal.bronze{background:var(--hub-bronze)}
.p-stats{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:6px}
.p-stat span{display:block;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hub-muted)}
.p-stat b{font-size:1.3rem}
.p-bar{display:inline-block;width:90px;height:8px;background:var(--hub-line);vertical-align:middle;margin-right:8px}
.p-bar i{display:block;height:100%;background:var(--hub-good)}
.p-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.p-form input{font:inherit;background:var(--hub-bg);color:var(--hub-fg);border:2px solid var(--hub-line);padding:8px 10px;min-width:0;flex:0 1 260px}
.p-form input:focus{border-color:var(--hub-accent);outline:none}
.p-err{color:var(--hub-bad);margin-top:8px}
.p-note{color:var(--hub-muted);font-size:.88rem;margin:6px 0 0}
.p-login{max-width:420px}
.p-login label{display:block;font-size:.85rem;color:var(--hub-muted);margin:10px 0 4px}
.p-login input{width:100%;font:inherit;background:var(--hub-bg);color:var(--hub-fg);border:2px solid var(--hub-line);padding:10px 12px}
.p-login .p-btn{margin-top:14px}
.p-miss{font-size:.85rem;color:var(--hub-muted)}
.p-miss .mono{color:var(--hub-bad)}
