:root {
    --bhc-ink: #18212f; --bhc-muted: #6c7686; --bhc-surface: #fff; --bhc-canvas: #f4f6f3;
    --bhc-navy: #183b4e; --bhc-teal: #238477; --bhc-risk: #d66d2f; --bhc-border: #e3e8e4;
}
body { background: var(--bhc-canvas); color: var(--bhc-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }
a { color: var(--bhc-navy); }
.app-navbar { background: #132d3b; box-shadow: 0 2px 18px rgba(17,40,53,.14); }
.brand-mark { width: 2rem; height: 2rem; display: inline-grid; place-items: center; border-radius: .65rem; background: #daf1e8; color: #174438; font-weight: 800; }
.app-shell { min-height: calc(100vh - 64px); }
.business-sidebar { background: var(--bhc-surface); border-right: 1px solid var(--bhc-border); min-height: calc(100vh - 64px); }
.business-sidebar .nav-link { border-radius: .7rem; color: #506071; font-weight: 600; padding: .72rem .85rem; }
.business-sidebar .nav-link:hover { background: #f0f5f2; color: var(--bhc-navy); }
.business-sidebar .nav-link.active { background: #e4f1ec; color: #174b40; }
.content-wrap { max-width: 1440px; }
.card { border: 1px solid var(--bhc-border); border-radius: 1rem; box-shadow: 0 8px 30px rgba(31,49,40,.035); }
.metric-value { font-size: clamp(1.45rem,2vw,2rem); font-weight: 750; letter-spacing: -.04em; }
.eyebrow { color: var(--bhc-muted); font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.health-hero { background: linear-gradient(125deg,#173b4d,#1d594f); color: #fff; border: 0; overflow: hidden; position: relative; }
.health-hero::after { content: ''; position: absolute; width: 260px; height: 260px; border: 48px solid rgba(255,255,255,.06); border-radius: 50%; right: -70px; top: -105px; }
.status-pill { display: inline-flex; align-items: center; gap: .45rem; border-radius: 999px; padding: .36rem .72rem; font-size: .76rem; font-weight: 750; }
.status-pill::before { content: ''; width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; }
.status-success { color: #14705c; background: #ddf3e9; }.status-secondary { color: #586574; background: #edf0f2; }
.status-warning { color: #8a6100; background: #fff1c7; }.status-risk { color: #a3451b; background: #ffeadc; }
.status-danger { color: #a62c35; background: #fde3e5; }.status-muted { color: #65717e; background: #edf0f2; }
.health-card { height: 100%; border-top: 4px solid var(--bhc-border); }
.health-card.border-success { border-top-color: #38a187 !important; }.health-card.border-warning { border-top-color: #e6ad30 !important; }
.health-card.border-risk { border-top-color: var(--bhc-risk) !important; }.health-card.border-danger { border-top-color: #cf4651 !important; }
.finding { border-left: 4px solid var(--bhc-border); padding-left: 1rem; }
.finding.border-success { border-left-color: #38a187 !important; }.finding.border-warning { border-left-color: #e6ad30 !important; }
.finding.border-risk { border-left-color: var(--bhc-risk) !important; }.finding.border-danger { border-left-color: #cf4651 !important; }
.chart-box { min-height: 310px; position: relative; }
.provider-logo { width: 3rem; height: 3rem; border-radius: .9rem; display: grid; place-items: center; background: #eef4fb; color: #3266b0; font-weight: 800; }
.empty-state { padding: 4rem 1.5rem; text-align: center; }
.table > :not(caption) > * > * { padding: .85rem .9rem; border-bottom-color: var(--bhc-border); }
.btn-primary { --bs-btn-bg: #1b6458; --bs-btn-border-color: #1b6458; --bs-btn-hover-bg: #154e45; --bs-btn-hover-border-color: #154e45; }
.form-control,.form-select { border-color: #d6ded9; border-radius: .65rem; padding: .65rem .75rem; }
.auth-panel { min-height: 100vh; background: linear-gradient(135deg,#102c3a 0%,#1e5b50 100%); }
.auth-card { width: min(430px,calc(100vw - 2rem)); }
@media (max-width:991.98px) {
    .business-sidebar { min-height: auto; border-right: 0; border-bottom: 1px solid var(--bhc-border); }
    .business-sidebar .nav { flex-direction: row; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .25rem; }
    .business-sidebar .nav-link { white-space: nowrap; }
}
