:root {
    --hcp-primary: #0d6efd;
    --hcp-dark: #0f2b5b;
    --hcp-light: #f4f8ff;
    --hcp-soft: #eaf2ff;
    --hcp-shadow: 0 10px 30px rgba(15, 43, 91, 0.08);
}

body {
    font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
    background: #f8fbff;
    color: #1f2d3d;
}

.navbar-brand-logo {
    height: 46px;
}

.hero-section {
    background: linear-gradient(112deg, #0f2b5b 0%, #0d6efd 70%, #4a93ff 100%);
    color: #fff;
}

.section-bg {
    background: var(--hcp-light);
}

.panel-card {
    border: 0;
    border-radius: 1rem;
    box-shadow: var(--hcp-shadow);
    height: 100%;
}

.footer {
    background: #0f2b5b;
    color: #d6e5ff;
}

.footer a {
    color: #d6e5ff;
    text-decoration: none;
}

.footer a:hover {
    color: #ffffff;
}

/* ── Public Navbar ─────────────────────────────────────────────────── */
.hcp-public-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
    height: 64px;
}

/* ── Mobile Offcanvas ──────────────────────────────────────────────── */
.hcp-offcanvas-header {
    background: linear-gradient(135deg, #0f2b5b 0%, #0d6efd 100%);
    padding: 1.1rem 1.25rem;
    flex-shrink: 0;
}

.hcp-offcanvas-logo {
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.25);
}

.hcp-offcanvas-nav {
    padding: 0.5rem 0;
}

.hcp-offcanvas-link {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.9rem 1.25rem;
    text-decoration: none;
    color: #1f2d3d;
    border-bottom: 1px solid #f0f4fa;
    transition: background 0.15s, color 0.15s;
    -webkit-tap-highlight-color: rgba(13,110,253,0.08);
}

.hcp-offcanvas-link:hover,
.hcp-offcanvas-link:active {
    background: #eaf2ff;
    color: #0d6efd;
}

.hcp-offcanvas-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #eaf2ff;
    color: #0d6efd;
    font-size: 1.05rem;
    flex-shrink: 0;
    transition: background 0.15s;
}

.hcp-offcanvas-link:hover .hcp-offcanvas-icon,
.hcp-offcanvas-link:active .hcp-offcanvas-icon {
    background: #0d6efd;
    color: #fff;
}

.hcp-offcanvas-label {
    flex: 1;
    font-weight: 500;
    font-size: 0.95rem;
}

.hcp-offcanvas-arrow {
    color: #b0bec5;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.hcp-offcanvas-footer {
    text-align: center;
    padding: 0.9rem 1rem 1.25rem;
    background: #f8fbff;
    border-top: 1px solid #e8efff;
}
