:root {
  --nrc-navy: #153b55;
  --nrc-blue: #1b648b;
  --nrc-blue-soft: #e6f2f8;
  --nrc-green: #23806b;
  --nrc-orange: #de8b47;
  --nrc-ink: #192e3c;
  --nrc-muted: #657782;
  --nrc-bg: #f4f8fa;
}

body { background: var(--nrc-bg); color: var(--nrc-ink); font-family: Inter, "Segoe UI", sans-serif; }
.bg-primary-nrc { background: var(--nrc-navy); }
.text-dark-nrc { color: var(--nrc-navy); }
.btn-primary { --bs-btn-bg: var(--nrc-blue); --bs-btn-border-color: var(--nrc-blue); --bs-btn-hover-bg: #155675; --bs-btn-hover-border-color: #155675; --bs-btn-active-bg: #124c68; }
.hero { background: linear-gradient(116deg, #eff7fa 0%, #f6fafb 58%, #e8f3f5 100%); }
.py-lg-6 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.eyebrow { color: var(--nrc-blue); font-size: .74rem; font-weight: 750; letter-spacing: .16em; }
.status-dot { background: #2c9b77; border-radius: 50%; box-shadow: 0 0 0 .25rem #dcefe9; height: .55rem; width: .55rem; }
.research-card { background: #fff; border: 1px solid #e4edf1; border-radius: 1.25rem; padding: 2rem; }
.metric-row { color: var(--nrc-muted); display: flex; font-size: .92rem; justify-content: space-between; padding: .7rem 0; }
.metric-row strong { color: var(--nrc-navy); font-size: 1.05rem; }
.progress { background: #e7eef1; height: .45rem; }
.progress-bar { background: var(--nrc-green); }
.avatar { align-items: center; border: 2px solid white; border-radius: 50%; color: #fff; display: inline-flex; font-size: .75rem; font-weight: 700; height: 2rem; justify-content: center; margin-left: -.3rem; width: 2rem; }
.avatar-blue { background: #3981a5; }.avatar-green { background: #438b78; }.avatar-orange { background: #d48a50; }
.feature-card { background: #fff; border: 1px solid #e7eef1; border-radius: 1rem; padding: 1.7rem; }
.feature-icon { align-items: center; border-radius: .85rem; display: inline-flex; font-size: .8rem; font-weight: 750; height: 2.7rem; justify-content: center; width: 2.7rem; }
.icon-blue { background: #e7f2f8; color: #1b648b; }.icon-green { background: #e5f2ed; color: #23806b; }.icon-orange { background: #fbefe4; color: #b96c2e; }
.narrow-copy { max-width: 36rem; }
.offline-page { background: var(--nrc-bg); }.offline-card { background: white; border: 1px solid #e3edf0; border-radius: 1.25rem; max-width: 28rem; padding: 2.5rem; }

.auth-wrap { max-width: 720px; padding-top: 4rem; padding-bottom: 4rem; }
.auth-card { background: #fff; border: 1px solid #e7edf1; border-radius: 1.25rem; box-shadow: 0 1rem 3rem rgba(17, 49, 69, .08); padding: clamp(1.5rem, 5vw, 3rem); }
