/* Impact Observatory */
.im-wrap { max-width: 1000px; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.im-header { margin-bottom: 1.25rem; }
.im-header-title { display: flex; align-items: center; gap: .5rem; font-size: 1.1rem; font-weight: 700; color: #e6edf3; }
.im-header-sub { font-size: .78rem; color: #8b949e; margin-top: .2rem; }
.im-hero-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .6rem; margin-bottom: 1.5rem; }
.im-hero-card { background: #161b22; border: 1px solid #21262d; border-radius: 9px; padding: .9rem .7rem; text-align: center; }
.im-hero-primary { border-color: rgba(63,185,80,.25); }
.im-hero-n { display: block; font-size: 1.5rem; font-weight: 900; color: #3fb950; line-height: 1.1; }
.im-hero-l { display: block; font-size: .62rem; color: #8b949e; margin-top: .2rem; }
.im-section-label { font-size: .72rem; color: #8b949e; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .6rem; margin-top: 1.25rem; }
.im-local-row { display: flex; gap: .6rem; margin-bottom: 1rem; }
.im-local-chip { background: #161b22; border: 1px solid #21262d; border-radius: 8px; padding: .65rem 1rem; text-align: center; }
.im-local-n { display: block; font-size: 1.35rem; font-weight: 800; color: #58a6ff; line-height: 1.1; }
.im-local-l { display: block; font-size: .62rem; color: #8b949e; margin-top: .1rem; }
.im-chart-card { background: #161b22; border: 1px solid #21262d; border-radius: 9px; padding: .85rem; margin-bottom: 1rem; overflow-x: auto; }
.im-chart-card text { font-family: inherit; }
.im-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media(max-width:640px) { .im-two-col { grid-template-columns: 1fr; } }
.im-bars { background: #161b22; border: 1px solid #21262d; border-radius: 9px; padding: .85rem; display: flex; flex-direction: column; gap: .45rem; }
.im-bar-row { display: flex; align-items: center; gap: .5rem; }
.im-bar-label { font-size: .72rem; color: #8b949e; min-width: 110px; flex-shrink: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.im-bar-track { flex: 1; height: 8px; background: #21262d; border-radius: 4px; overflow: hidden; }
.im-bar-fill { height: 100%; border-radius: 4px; transition: width .4s ease; }
.im-bar-val { font-size: .7rem; color: #8b949e; min-width: 45px; text-align: right; font-family: 'Cascadia Code','Fira Mono',monospace; }
.im-disclaimer { font-size: .68rem; color: #484f58; margin-top: 1.5rem; line-height: 1.6; }
/* ── Citation + Sustainability (Prompt 59) ── */
.im-card { background: var(--bg-surface,#161b22); border: 1px solid var(--border,#30363d); border-radius: 10px; padding: 1.25rem 1.5rem; }
.im-cite-tabs { display: flex; gap: .4rem; margin-bottom: .75rem; }
.im-cite-tab { background: var(--bg-overlay,#21262d); border: 1px solid var(--border,#30363d); color: var(--text-muted,#8b949e); border-radius: 6px; padding: .3rem .75rem; font-size: .78rem; cursor: pointer; }
.im-cite-tab--active { background: var(--green,#3fb950); color: #000; border-color: var(--green,#3fb950); font-weight: 700; }
.im-cite-pre { background: var(--bg-code,#0d1117); border: 1px solid var(--border,#30363d); border-radius: 6px; padding: .75rem 1rem; font-size: .78rem; font-family: 'Cascadia Code','Fira Mono',monospace; color: var(--text-primary,#e6edf3); white-space: pre-wrap; word-break: break-all; margin: 0; line-height: 1.5; }
.im-sustain-card { margin-top: .5rem; }
.im-sustain-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .75rem; }
.im-sustain-btn { display: inline-flex; align-items: center; gap: .4rem; background: var(--green,#3fb950); color: #000; border: none; border-radius: 7px; padding: .45rem 1rem; font-size: .82rem; font-weight: 700; cursor: pointer; text-decoration: none; }
.im-sustain-btn--secondary { background: var(--bg-overlay,#21262d); color: var(--text-primary,#e6edf3); border: 1px solid var(--border,#30363d); font-weight: 500; }
.im-sustain-btn:hover { opacity: .9; }
