/* EDIntel Reinforcement Dashboard v2 — keeps legacy class names, applies v2 chrome */

:root {
    --bg-deep:#0f1419;
    --bg-elev:rgba(25,42,86,0.55);
    --bg-elev-2:rgba(25,42,86,0.32);
    --bg-drawer:rgba(7,13,24,0.7);
    --bg-row-hover:rgba(135,206,235,0.05);
    --border:rgba(135,206,235,0.18);
    --border-strong:rgba(135,206,235,0.35);
    --border-faint:rgba(135,206,235,0.07);
    --primary:#87ceeb;
    --primary-dim:#6aa9c9;
    --primary-glow:rgba(135,206,235,0.14);
    --text:#e8f2ff;
    --text-dim:#b8d4f0;
    --text-mute:#7c95b8;
    --ok:#69db7c;
    --warn:#ffd43b;
    --alert:#ff8080;
    --orange:#ff922b;
    --plat:#e0e8ff;
    --mon:#c8f7c5;
    --font-display:'Manrope',system-ui,sans-serif;
    --font-body:'Manrope',system-ui,sans-serif;
    --font-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
    --r-card:4px;
    --r-badge:2px;
    --r-pill:999px;
    --t-fast:120ms ease;
    --gutter:28px;
    --maxw:1480px;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; }
body {
    background:var(--bg-deep);
    background-image:
        radial-gradient(ellipse 1200px 600px at 20% -10%, var(--primary-glow), transparent 60%),
        radial-gradient(ellipse 900px 500px at 100% 110%, rgba(105,219,124,0.04), transparent 60%);
    background-attachment:fixed;
    color:var(--text);
    font-family:var(--font-body);
    font-size:0.9375rem;
    line-height:1.5;
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
}
a { color:var(--primary); text-decoration:none; transition:color var(--t-fast); }
a:hover { color:var(--text); }
button { font-family:inherit; color:inherit; background:none; border:none; cursor:pointer; }

.report-shell { max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter) 80px; }

/* Back link */
.back-link {
    display:inline-flex; align-items:center; gap:6px;
    margin:22px 0 -8px;
    padding:6px 12px;
    font-family:var(--font-mono); font-size:0.6875rem;
    letter-spacing:0.14em; text-transform:uppercase;
    color:var(--text-mute);
    border:1px solid var(--border-faint); border-radius:var(--r-card);
    background:var(--bg-elev-2);
    transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast);
}
.back-link:hover { color:var(--text); border-color:var(--border-strong); background:var(--primary-glow); }

/* Header */
.report-header {
    padding:36px 0 22px;
    border-bottom:1px solid var(--border);
    display:grid; grid-template-columns:auto 1fr auto;
    align-items:end; gap:24px;
}
.header-eyebrow { display:flex; flex-direction:column; gap:4px; }
.header-eyebrow .doc-mark {
    font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.18em;
    color:var(--text-mute); text-transform:uppercase;
}
.header-eyebrow .doc-id {
    font-family:var(--font-mono); font-size:0.6875rem;
    color:var(--primary-dim); letter-spacing:0.08em;
}
.header-title { display:flex; flex-direction:column; align-items:center; gap:4px; }
.header-title h1 {
    font-family:var(--font-display); font-size:clamp(1.5rem,2.6vw,2.125rem);
    font-weight:700; letter-spacing:-0.015em; color:var(--text);
}
.header-title .subtitle {
    font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.18em;
    color:var(--text-mute); text-transform:uppercase;
}
.header-meta { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.header-meta .timestamp {
    font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:0.08em;
    color:var(--text-dim);
}
.palette-dots { display:flex; gap:5px; }
.palette-dots .dot { width:8px; height:8px; border-radius:var(--r-pill); border:1px solid var(--border); }
.palette-dots .dot:nth-child(1) { background:var(--primary); }
.palette-dots .dot:nth-child(2) { background:var(--ok); }
.palette-dots .dot:nth-child(3) { background:var(--warn); }
.palette-dots .dot:nth-child(4) { background:var(--alert); }

.subtitle-note {
    font-family:var(--font-mono); font-size:0.6875rem;
    color:var(--text-mute); letter-spacing:0.04em;
    margin:14px 0 22px; line-height:1.6;
}

/* Filters row (legacy ids/classes preserved for runtime JS) */
.filters {
    display:flex; gap:8px; flex-wrap:wrap; align-items:center;
    padding:14px 18px;
    border:1px solid var(--border);
    border-radius:var(--r-card);
    background:var(--bg-elev);
    margin:0 0 22px;
}
.filter-label {
    font-family:var(--font-mono); font-size:0.625rem;
    letter-spacing:0.14em; text-transform:uppercase;
    color:var(--text-mute);
    padding-right:4px;
}
.filter-btn {
    font-family:var(--font-mono); font-size:0.6875rem;
    letter-spacing:0.08em; text-transform:uppercase;
    color:var(--text-mute);
    background:var(--bg-elev-2);
    border:1px solid var(--border);
    border-radius:var(--r-pill);
    padding:6px 14px;
    transition:color var(--t-fast), background var(--t-fast), border-color var(--t-fast);
}
.filter-btn:hover { color:var(--text-dim); border-color:var(--border-strong); }
.filter-btn.active {
    color:var(--primary); background:var(--primary-glow);
    border-color:var(--border-strong);
}
.filter-sep { width:1px; height:22px; background:var(--border-faint); margin:0 4px; }
#count-display {
    margin-left:auto;
    font-family:var(--font-mono); font-size:0.75rem;
    color:var(--text-mute); letter-spacing:0.06em;
}

/* Section (details/summary) — styled as section-card */
details {
    border:1px solid var(--border);
    border-radius:var(--r-card);
    background:linear-gradient(180deg, var(--bg-elev) 0%, var(--bg-elev-2) 100%);
    margin-bottom:22px;
    overflow:hidden;
}
.section-title {
    display:flex; align-items:baseline; gap:16px;
    padding:18px 22px;
    cursor:pointer;
    font-family:var(--font-display);
    font-size:1.05rem; font-weight:700;
    letter-spacing:0.02em; text-transform:uppercase;
    color:var(--text);
    border-bottom:1px solid var(--border);
    list-style:none;
}
.section-title::-webkit-details-marker { display:none; }
.section-title::before {
    content:'▾';
    color:var(--primary-dim);
    font-size:0.875rem;
    transition:transform 200ms cubic-bezier(0.4,0,0.2,1);
}
details:not([open]) > .section-title::before { content:'▸'; }
details:not([open]) > .section-title { border-bottom-color:transparent; }
.section-count {
    margin-left:auto;
    font-family:var(--font-mono); font-size:0.75rem;
    letter-spacing:0.04em;
    color:var(--text-mute);
}

/* Table */
.table-wrap { overflow-x:auto; max-height:75vh; overflow-y:auto; }
table {
    width:100%; border-collapse:collapse;
    font-family:var(--font-body); font-size:0.78125rem;
    min-width:900px;
}
thead th {
    position:sticky; top:0; z-index:5;
    background:var(--bg-deep);
    font-family:var(--font-mono); font-size:0.625rem;
    letter-spacing:0.1em; text-transform:uppercase; font-weight:500;
    color:var(--text-mute);
    padding:10px 12px; text-align:left;
    border-bottom:1px solid var(--border);
    white-space:nowrap;
    cursor:pointer; user-select:none;
    transition:color var(--t-fast);
}
thead th:hover { color:var(--text-dim); }
thead th.sort-asc,
thead th.sort-desc { color:var(--text); }
thead th.sort-asc::after  { content:' ↑'; color:var(--primary); }
thead th.sort-desc::after { content:' ↓'; color:var(--primary); }

tbody tr {
    border-bottom:1px solid var(--border-faint);
    transition:background var(--t-fast);
}
tbody tr:last-child { border-bottom:none; }
tbody tr:hover td { background:var(--bg-row-hover); }
tbody tr.hidden { display:none; }
tbody td {
    padding:9px 12px;
    color:var(--text-dim);
    vertical-align:middle;
}

/* System cell */
.sys-name {
    font-weight:600;
    color:var(--text);
    cursor:pointer;
    transition:color var(--t-fast);
}
.sys-name:hover { color:var(--primary); }
.copy-hint, .copy-intel-btn {
    display:inline-block;
    margin-top:3px;
    font-family:var(--font-mono); font-size:0.625rem;
    letter-spacing:0.06em;
    color:var(--text-mute);
    cursor:pointer;
    transition:color var(--t-fast);
}
.copy-intel-btn:hover { color:var(--primary); }

/* State badges */
.badge {
    display:inline-block;
    padding:2px 8px;
    border-radius:var(--r-badge);
    font-family:var(--font-mono); font-size:0.625rem;
    letter-spacing:0.08em; font-weight:600;
    border:1px solid;
    text-transform:uppercase;
}
.badge-sh { background:rgba(105,219,124,0.1);  color:var(--ok); border-color:rgba(105,219,124,0.3); }
.badge-ft { background:var(--primary-glow);    color:var(--primary); border-color:var(--border-strong); }
.badge-ex { background:rgba(184,212,240,0.06); color:var(--text-dim); border-color:var(--border-faint); }

/* RES badges */
.res-badges { display:flex; gap:3px; flex-wrap:wrap; }
.badge-haz    { background:rgba(255,107,107,0.18); color:var(--alert);  border:1px solid rgba(255,107,107,0.35); padding:1px 6px; border-radius:var(--r-badge); font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.06em; font-weight:600; }
.badge-high   { background:rgba(255,146,43,0.18);  color:var(--orange); border:1px solid rgba(255,146,43,0.35);  padding:1px 6px; border-radius:var(--r-badge); font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.06em; font-weight:600; }
.badge-low    { background:rgba(116,192,252,0.15); color:#74c0fc;        border:1px solid rgba(116,192,252,0.3);  padding:1px 6px; border-radius:var(--r-badge); font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.06em; font-weight:600; }
.badge-normal { background:rgba(124,149,184,0.15); color:var(--text-mute);border:1px solid var(--border-faint);    padding:1px 6px; border-radius:var(--r-badge); font-family:var(--font-mono); font-size:0.625rem; letter-spacing:0.06em; font-weight:600; }
.res-other { color:var(--text-mute); }

/* Progress colors */
.prog-red    { color:var(--alert);  font-weight:600; font-family:var(--font-mono); }
.prog-amber  { color:var(--orange); font-weight:600; font-family:var(--font-mono); }
.prog-green  { color:var(--ok);     font-weight:600; font-family:var(--font-mono); }
tbody td[data-sort]:not(.prog-red):not(.prog-amber):not(.prog-green) { font-family:var(--font-mono); font-variant-numeric:tabular-nums; }

/* Ring badges */
.ring-badges { display:inline-flex; gap:3px; }
.ring-badge {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:22px; height:18px; padding:0 5px;
    border-radius:var(--r-badge);
    font-family:var(--font-mono); font-size:0.625rem;
    font-weight:600; letter-spacing:0.04em;
    border:1px solid;
}
.ring-m  { color:#b5d4f0; background:rgba(135,184,224,0.20); border-color:rgba(135,184,224,0.35); }
.ring-mr { color:#b5e8c0; background:rgba(130,201,142,0.20); border-color:rgba(130,201,142,0.35); }
.ring-r  { color:#e0c89c; background:rgba(200,168,120,0.20); border-color:rgba(200,168,120,0.35); }
.ring-i  { color:#f2f6ff; background:rgba(232,242,255,0.20); border-color:rgba(232,242,255,0.35); }

/* Hotspot small labels */
.hs-plat  { color:var(--plat);     font-family:var(--font-mono); font-size:0.7rem; font-weight:600; }
.hs-mon   { color:var(--mon);      font-family:var(--font-mono); font-size:0.7rem; font-weight:600; }
.hs-other { color:var(--text-mute); font-family:var(--font-mono); font-size:0.7rem; }
.hs-none  { color:var(--text-mute); font-family:var(--font-mono); font-size:0.7rem; }

/* Price column */
.price-val {
    font-family:var(--font-mono); font-variant-numeric:tabular-nums;
    font-weight:600;
}
.price-fresh { color:var(--ok); }
.price-stale { color:var(--warn); }
.price-old   { color:var(--alert); }
.price-station {
    display:block;
    color:var(--text-mute); font-family:var(--font-mono);
    font-size:0.6875rem; letter-spacing:0.02em;
}
.price-demand {
    display:block;
    color:var(--text-mute); font-family:var(--font-mono);
    font-size:0.625rem;
}
.price-na {
    color:var(--text-mute); font-family:var(--font-mono);
    font-size:0.6875rem; letter-spacing:0.04em;
}

/* Pads */
.pad-L {
    background:rgba(116,192,252,0.18); color:#74c0fc;
    border:1px solid rgba(116,192,252,0.3);
    border-radius:var(--r-badge);
    padding:0 5px;
    font-family:var(--font-mono); font-size:0.625rem; font-weight:700;
}
.pad-M {
    background:rgba(255,212,59,0.18); color:var(--warn);
    border:1px solid rgba(255,212,59,0.3);
    border-radius:var(--r-badge);
    padding:0 5px;
    font-family:var(--font-mono); font-size:0.625rem; font-weight:700;
}

/* BGS tags */
.boom-tag, .invest-tag, .expand-tag {
    display:inline-block;
    padding:1px 6px; border-radius:var(--r-badge);
    font-family:var(--font-mono); font-size:0.625rem; font-weight:700;
    letter-spacing:0.06em;
    margin-left:4px; vertical-align:middle;
    border:1px solid;
}
.boom-tag    { color:var(--warn);  background:rgba(255,212,59,0.12);  border-color:rgba(255,212,59,0.3); }
.boom-pending{ color:#a88a00;      background:rgba(255,212,59,0.06);  border-color:rgba(255,212,59,0.2); }
.invest-tag  { color:#74c0fc;      background:rgba(116,192,252,0.12); border-color:rgba(116,192,252,0.3); }
.expand-tag  { color:var(--ok);    background:rgba(105,219,124,0.12); border-color:rgba(105,219,124,0.3); }

/* UM delta */
.um-up   { color:var(--alert); font-weight:600; font-family:var(--font-mono); }
.um-dn   { color:var(--ok);    font-family:var(--font-mono); }
.um-zero { color:var(--text-mute); font-family:var(--font-mono); }

/* Sell-at cell */
.sell-at-cell  { max-width:220px; }
.sa-station    {
    display:block;
    color:var(--text); font-size:0.75rem;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sa-meta       {
    display:block;
    color:var(--text-mute); font-family:var(--font-mono);
    font-size:0.6875rem; letter-spacing:0.02em;
}
.sa-faction    {
    display:block;
    color:var(--text-mute); font-family:var(--font-mono);
    font-size:0.625rem;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sa-price      {
    font-family:var(--font-mono); font-variant-numeric:tabular-nums;
    font-weight:600; font-size:0.78125rem;
}

/* Mine-at cell */
.mine-in-cell { min-width:160px; }
.mi-meta {
    color:var(--text-dim); font-family:var(--font-mono);
    font-size:0.7rem; letter-spacing:0.02em;
}

/* Loading / error */
.loading {
    text-align:center;
    padding:48px 20px;
    font-family:var(--font-mono); font-size:0.78125rem;
    color:var(--text-mute); letter-spacing:0.04em;
}
.loading::before {
    content:'⌖';
    display:block;
    color:var(--primary-dim);
    font-size:1.75rem;
    margin-bottom:12px;
    opacity:0.6;
}
.error {
    text-align:center;
    padding:48px 20px;
    color:var(--alert);
    font-family:var(--font-mono); font-size:0.78125rem;
}

/* Footer */
.report-footer {
    margin-top:40px;
    padding:20px 0;
    border-top:1px solid var(--border-faint);
    font-family:var(--font-mono); font-size:0.6875rem;
    letter-spacing:0.1em; color:var(--text-mute);
    text-transform:uppercase;
    display:flex; justify-content:space-between;
    flex-wrap:wrap; gap:12px;
}

@media (max-width:700px) {
    :root { --gutter:18px; }
    .report-header { grid-template-columns:1fr; gap:12px; padding:24px 0 16px; }
    .header-title, .header-meta { align-items:flex-start; }
    .section-title { flex-wrap:wrap; }
}

:focus-visible { outline:2px solid var(--primary); outline-offset:2px; border-radius:var(--r-badge); }

/* ── Acquisition Dashboard additions ────────────────────────── */

/* Hidden score column */
th.col-hidden, td.score-cell { display:none; }

/* Progress cell — our vs opposition */
.prog-our {
    font-family:var(--font-mono); font-variant-numeric:tabular-nums;
    font-weight:600;
    color:var(--ok);
}
.prog-oppo {
    display:block;
    font-family:var(--font-mono); font-variant-numeric:tabular-nums;
    font-size:0.6875rem;
    color:var(--warn);
}
.prog-opp-name {
    display:block;
    font-family:var(--font-mono); font-size:0.625rem;
    color:var(--text-mute); letter-spacing:0.02em;
    overflow:hidden; text-overflow:ellipsis;
    max-width:140px; white-space:nowrap;
}
.prog-none {
    color:var(--text-mute); font-family:var(--font-mono);
    font-size:0.6875rem; letter-spacing:0.04em;
}

/* Reserve cell */
.reserve-pristine { color:var(--ok); font-weight:600; }
.reserve-major    { color:var(--primary); }
.reserve-common   { color:var(--text-dim); }
.reserve-low      { color:var(--text-mute); }
.reserve-depleted { color:var(--text-mute); opacity:0.6; }

/* Free systems within reach */
.free-high { color:var(--ok);    font-weight:600; font-family:var(--font-mono); }
.free-mid  { color:var(--warn);  font-family:var(--font-mono); }
.free-low  { color:var(--text-mute); font-family:var(--font-mono); }

/* Mine-in cell uses dist + reserve metadata */
.mi-system {
    display:block;
    color:var(--text); font-weight:600;
    font-size:0.78125rem;
}

/* Covered-by stronghold marker */
.cov-sh-name {
    display:block;
    color:var(--text-mute); font-family:var(--font-mono);
    font-size:0.625rem; letter-spacing:0.04em;
}
