/* Member pages (Eco Calendar, Portfolio, Premarket, Emails) — same forest/brass tokens as the console. */
:root{
  --bg:#FAF8F2; --surface:#FFFFFF; --panel:#ECEFE4; --fg:#2B2F2A; --muted:#6B6F66;
  --line:#C9CFBF; --line-soft:#E2E6DA; --brass:#9A7940; --forest:#1F3A2B; --sage:#4E6B4A;
  --good:#2E7D4F; --bad:#A33A2F; --warn:#9A6B1F; --hi:#EAF5EE; --lo:#FBEAEA; --gray:#D9D9D9;
  --u:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --m:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --d:'Newsreader',Georgia,serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#141814; --surface:#1B211B; --panel:#222A22; --fg:#E7EAE2; --muted:#98A292; --line:#333C33; --line-soft:#272F27;
  --brass:#C9A26B; --forest:#A9C4A6; --sage:#8FAE8A; --good:#5FBF84; --bad:#E2807A; --warn:#D7A64A;
  --hi:#1E3326; --lo:#3A2222; --gray:#3A3A3A; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#141814; --surface:#1B211B; --panel:#222A22; --fg:#E7EAE2; --muted:#98A292; --line:#333C33; --line-soft:#272F27;
  --brass:#C9A26B; --forest:#A9C4A6; --sage:#8FAE8A; --good:#5FBF84; --bad:#E2807A; --warn:#D7A64A;
  --hi:#1E3326; --lo:#3A2222; --gray:#3A3A3A; color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--u);-webkit-text-size-adjust:100%}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
a{color:var(--sage)}
.mb{max-width:1280px;margin:0 auto;padding:18px 16px 40px}
.mb h1{font:600 26px/1.2 var(--d);margin:4px 0 2px;color:var(--forest)}
.mb h2{font:600 18px/1.3 var(--u);margin:26px 0 8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mb .lead{color:var(--muted);margin:0 0 14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px 12px}
.kpi .k{font:600 11px var(--u);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font:600 22px var(--m)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px 14px;margin:10px 0}
.note{background:var(--panel);border-left:4px solid var(--brass);padding:8px 12px;margin:10px 0;border-radius:0 4px 4px 0}
.wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
table.t{border-collapse:collapse;width:100%;font:13px/1.35 var(--u);white-space:nowrap}
table.t th{position:sticky;top:0;background:var(--forest);color:#F7F3E8;text-align:left;font-weight:600;padding:7px 9px}
:root[data-theme="dark"] table.t th{color:#141814}
table.t td{padding:6px 9px;border-top:1px solid var(--line-soft)}
table.t td.n{font-family:var(--m);text-align:right}
table.t tr.hi td{background:var(--hi)} table.t tr.lo td{background:var(--lo)}
table.t tr.is-today td{background:var(--panel);font-weight:600}
table.t td.wrapcell{white-space:normal;min-width:240px}
.pos{color:var(--good)} .neg{color:var(--bad)} .mut{color:var(--muted)}
.tag{display:inline-block;font:600 11px var(--u);padding:2px 7px;border-radius:999px;border:1px solid var(--line);background:var(--panel)}
.tag.Fed{border-color:#7A5AA6;color:#7A5AA6} .tag.Data{border-color:var(--bad);color:var(--bad)}
.tag.Earnings{border-color:var(--sage);color:var(--sage)} .tag.Market,.tag.Futures{border-color:var(--brass);color:var(--brass)}
.tag.Session,.tag.Politics{border-color:var(--muted);color:var(--muted)}
.tier-Low{color:var(--good)} .tier-Medium{color:var(--warn)} .tier-High{color:var(--bad)}
.chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 0}
.chips button{font:600 12px var(--u);padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer}
.chips button[aria-pressed="false"]{opacity:.45;text-decoration:line-through}
.btn{background:var(--forest);color:#F7F3E8;border:0;border-radius:4px;padding:6px 14px;font:600 13px var(--u);cursor:pointer;text-decoration:none;display:inline-block}
:root[data-theme="dark"] .btn{color:#141814}
.btn.alt{background:var(--muted)}
.sub-row{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line-soft)}
.sub-row:first-child{border-top:0}
.sub-row input[type=checkbox]{width:20px;height:20px;margin-top:3px;accent-color:var(--forest)}
.sub-row .when{font:500 12px var(--m);color:var(--muted)}
.brief{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 16px 16px}
.brief table{border-collapse:collapse;font:13px var(--u)} .brief td,.brief th{padding:4px 8px;border:1px solid var(--line-soft)}
.archive a{display:block;padding:3px 0}
.map{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.map .card h3{margin:0 0 4px;font:600 16px var(--u)}
.map .card p{margin:0;color:var(--muted);font-size:14px}
.mb-foot{max-width:1280px;margin:0 auto;padding:16px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;border-top:1px solid var(--line-soft)}
@media (max-width:640px){.mb h1{font-size:22px}.kpi .v{font-size:18px}}

/* Eco Calendar: red-folder (high-impact USD) marker */
.rf{display:inline-block;font:700 10px var(--u);letter-spacing:.06em;color:#fff;background:#C0392B;border-radius:2px;padding:1px 5px;vertical-align:1px}
#ecoCal tr.red td:first-child{box-shadow:inset 3px 0 0 #C0392B}
