/* ═══════════════════════════════════════════════════════════════
   Entity 910 Pages — Extracted inline styles
   Source files listed in section headers
   ═══════════════════════════════════════════════════════════════ */

/* === 910/calendar/index.php === */
/* ========== BSFA Calendar styles ========== */
.bsfa-cal-wrap { font-size: 0.85rem; }
.bsfa-cal-toolbar {
    display:flex; flex-wrap:wrap; gap:0.75rem; align-items:center; justify-content:space-between;
    padding:0.9rem 1.1rem; background:#fff; border:1px solid #e5e7eb; border-radius:12px;
    box-shadow:0 1px 2px rgba(0,0,0,0.03); margin-bottom:0.85rem;
}
.bsfa-cal-title { font-size:1.15rem; font-weight:700; color:#111827; margin:0; }
.bsfa-cal-subtitle { font-size:0.78rem; color:#6b7280; margin-top:2px; }
.bsfa-cal-nav-btn {
    border:1px solid #e5e7eb; background:#fff; color:#374151; height:34px; min-width:34px;
    padding:0 0.75rem; border-radius:8px; font-size:0.8rem; font-weight:600;
    display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
    transition:all 0.15s;
}
.bsfa-cal-nav-btn:hover { background:#f3f4f6; border-color:#d1d5db; }
.bsfa-cal-nav-group { display:inline-flex; gap:0.4rem; align-items:center; }
.bsfa-cal-range-label { font-weight:600; color:#111827; font-size:0.9rem; min-width:200px; text-align:center; }

.bsfa-cal-pills { display:inline-flex; background:#f1f5f9; border-radius:10px; padding:3px; gap:2px; }
.bsfa-cal-pill {
    border:none; background:transparent; color:#475569; padding:6px 14px; border-radius:8px;
    font-size:0.78rem; font-weight:600; cursor:pointer; transition:all 0.15s;
}
.bsfa-cal-pill:hover { color:#0f172a; }
.bsfa-cal-pill.active { background:#fff; color:#305E6C; box-shadow:0 1px 3px rgba(0,0,0,0.08); }

.bsfa-cal-filter-bar {
    display:flex; flex-wrap:wrap; gap:1.25rem; align-items:center;
    padding:0.85rem 1.1rem; background:#fff; border:1px solid #e5e7eb; border-radius:12px;
    box-shadow:0 1px 2px rgba(0,0,0,0.03); margin-bottom:0.85rem;
}
.bsfa-cal-filter-group { display:flex; align-items:center; gap:0.5rem; }
.bsfa-cal-filter-label { font-size:0.7rem; font-weight:700; color:#9ca3af; text-transform:uppercase; letter-spacing:0.05em; }

.bsfa-cal-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:0.75rem; margin-bottom:0.85rem; }
.bsfa-cal-stat {
    background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:0.95rem 1.1rem;
    display:flex; align-items:center; gap:0.85rem; box-shadow:0 1px 2px rgba(0,0,0,0.03);
    transition:transform 0.15s, box-shadow 0.15s;
}
.bsfa-cal-stat:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,0.06); }
.bsfa-cal-stat__icon {
    width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-size:1rem; flex-shrink:0;
}
.bsfa-cal-stat__label { font-size:0.7rem; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:0.04em; }
.bsfa-cal-stat__value { font-size:1.45rem; font-weight:800; color:#111827; line-height:1.1; margin-top:2px; }

/* Calendar grid container */
.bsfa-cal-board {
    background:#fff; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden;
    box-shadow:0 1px 2px rgba(0,0,0,0.03);
}

/* WEEK / DAY view grid */
.bsfa-cal-grid {
    display:grid; max-height:72vh; overflow:auto; scroll-behavior:smooth;
    background:#fff;
}
.bsfa-cal-grid__head {
    display:contents;
}
.bsfa-cal-day-head {
    position:sticky; top:0; z-index:5; background:#fff;
    border-bottom:2px solid #e5e7eb; border-left:1px solid #f3f4f6;
    padding:0.55rem 0.5rem; text-align:center;
}
.bsfa-cal-day-head--today { background:linear-gradient(180deg, #ecfeff 0%, #fff 100%); }
.bsfa-cal-day-head__dow { font-size:0.68rem; font-weight:700; color:#9ca3af; text-transform:uppercase; letter-spacing:0.05em; }
.bsfa-cal-day-head__date { font-size:1.05rem; font-weight:700; color:#111827; line-height:1.2; }
.bsfa-cal-day-head--today .bsfa-cal-day-head__date {
    display:inline-flex; align-items:center; justify-content:center;
    width:30px; height:30px; border-radius:50%; background:#305E6C; color:#fff;
}
.bsfa-cal-prov-head {
    position:sticky; top:0; z-index:4; background:#f9fafb;
    border-bottom:1px solid #e5e7eb; border-left:1px solid #f3f4f6;
    padding:5px 4px; text-align:center; font-size:0.65rem; font-weight:700; color:#475569;
}
.bsfa-cal-time-col-head {
    position:sticky; top:0; left:0; z-index:6; background:#fff;
    border-bottom:2px solid #e5e7eb; border-right:1px solid #e5e7eb;
}
.bsfa-cal-time-cell {
    position:sticky; left:0; z-index:3; background:#fff;
    border-right:1px solid #e5e7eb; border-top:1px solid #f3f4f6;
    padding:2px 8px 0 0; font-size:0.68rem; color:#9ca3af; text-align:right; font-weight:600;
    height:36px;
}
.bsfa-cal-slot {
    border-left:1px solid #f3f4f6; border-top:1px solid #f3f4f6;
    height:36px; position:relative;
}
.bsfa-cal-slot--today { background:rgba(20,184,166,0.025); }

.bsfa-cal-appt {
    position:absolute; left:3px; right:3px; top:2px;
    background:#3b82f6; color:#fff; border-radius:6px; padding:4px 6px;
    font-size:0.7rem; line-height:1.15; cursor:pointer; overflow:hidden;
    border-left:3px solid #14b8a6;
    box-shadow:0 1px 2px rgba(0,0,0,0.08);
    transition:all 0.15s; z-index:2;
}
.bsfa-cal-appt:hover {
    transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,0,0,0.18); z-index:3;
}
.bsfa-cal-appt__time { font-weight:700; font-size:0.66rem; opacity:0.9; }
.bsfa-cal-appt__name { font-weight:700; font-size:0.74rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bsfa-cal-appt__type { font-size:0.66rem; opacity:0.92; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.bsfa-cal-appt[data-status="Booked"]    { background:#3b82f6; }
.bsfa-cal-appt[data-status="Arrived"]   { background:#eab308; color:#1f2937; }
.bsfa-cal-appt[data-status="Completed"] { background:#22c55e; }
.bsfa-cal-appt[data-status="No-Show"]   { background:#ef4444; }
.bsfa-cal-appt[data-status="Cancelled"] { background:#94a3b8; }
.bsfa-cal-appt[data-loc="bozeman"] { border-left-color:#14b8a6; }
.bsfa-cal-appt[data-loc="butte"]   { border-left-color:#a855f7; }

/* MONTH view */
.bsfa-cal-month {
    display:grid; grid-template-columns:repeat(7,1fr); background:#e5e7eb; gap:1px;
    border:1px solid #e5e7eb;
}
.bsfa-cal-month__dow {
    background:#f9fafb; padding:8px; text-align:center;
    font-size:0.68rem; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:0.05em;
}
.bsfa-cal-month__cell {
    background:#fff; min-height:115px; padding:6px 7px; cursor:pointer;
    position:relative; transition:background 0.12s;
}
.bsfa-cal-month__cell:hover { background:#f8fafc; }
.bsfa-cal-month__cell--other { background:#fafbfc; color:#cbd5e1; }
.bsfa-cal-month__cell--today { box-shadow:inset 0 0 0 2px #305E6C; }
.bsfa-cal-month__date { font-weight:700; font-size:0.82rem; color:#111827; }
.bsfa-cal-month__cell--other .bsfa-cal-month__date { color:#cbd5e1; }
.bsfa-cal-month__chip {
    display:block; font-size:0.65rem; padding:2px 5px; border-radius:4px;
    color:#fff; margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    font-weight:600;
}
.bsfa-cal-month__more { font-size:0.62rem; color:#6b7280; margin-top:3px; font-weight:600; }
.bsfa-cal-month__dot {
    position:absolute; bottom:5px; right:7px; width:6px; height:6px; border-radius:50%; background:#305E6C;
}

/* Sidebar */
.bsfa-cal-side-card {
    background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:1rem 1.1rem;
    margin-bottom:0.85rem; box-shadow:0 1px 2px rgba(0,0,0,0.03);
}
.bsfa-cal-side-title {
    font-size:0.7rem; font-weight:700; color:#9ca3af; text-transform:uppercase; letter-spacing:0.05em;
    margin-bottom:0.7rem;
}
.bsfa-cal-side-row {
    display:flex; align-items:center; gap:0.6rem; padding:0.55rem 0;
    border-top:1px solid #f3f4f6; font-size:0.78rem;
}
.bsfa-cal-side-row:first-of-type { border-top:none; }
.bsfa-cal-side-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }

/* Empty state */
.bsfa-cal-empty {
    padding:3rem 1rem; text-align:center; color:#9ca3af;
}
.bsfa-cal-empty i { font-size:2.5rem; color:#e5e7eb; margin-bottom:0.75rem; display:block; }

/* Modal */
.bsfa-cal-modal-backdrop {
    position:fixed; inset:0; background:rgba(15,23,42,0.5); z-index:9998;
    display:none; align-items:center; justify-content:center; padding:1rem;
    backdrop-filter:blur(2px);
}
.bsfa-cal-modal-backdrop.show { display:flex; }
.bsfa-cal-modal {
    background:#fff; border-radius:14px; max-width:460px; width:100%;
    box-shadow:0 20px 60px rgba(0,0,0,0.25); overflow:hidden;
    animation:bsfaCalPop 0.18s ease-out;
}
@keyframes bsfaCalPop {
    from { transform:scale(0.94); opacity:0; }
    to   { transform:scale(1); opacity:1; }
}
.bsfa-cal-modal__header {
    padding:1.1rem 1.3rem; color:#fff; position:relative;
}
.bsfa-cal-modal__close {
    position:absolute; top:12px; right:14px; background:rgba(255,255,255,0.2);
    border:none; color:#fff; width:28px; height:28px; border-radius:50%; cursor:pointer;
    font-size:0.85rem;
}
.bsfa-cal-modal__close:hover { background:rgba(255,255,255,0.3); }
.bsfa-cal-modal__name { font-size:1.2rem; font-weight:700; margin:0; }
.bsfa-cal-modal__meta { font-size:0.78rem; opacity:0.9; margin-top:3px; }
.bsfa-cal-modal__body { padding:1.1rem 1.3rem; }
.bsfa-cal-modal__row { display:flex; align-items:flex-start; gap:0.7rem; padding:0.55rem 0; border-top:1px solid #f3f4f6; font-size:0.85rem; }
.bsfa-cal-modal__row:first-child { border-top:none; padding-top:0; }
.bsfa-cal-modal__row i { color:#9ca3af; width:18px; text-align:center; margin-top:2px; }
.bsfa-cal-modal__row strong { color:#111827; }
.bsfa-cal-modal__footer { padding:0.85rem 1.3rem; background:#f9fafb; display:flex; gap:0.5rem; justify-content:flex-end; }
.bsfa-cal-modal__btn {
    padding:8px 16px; border-radius:8px; border:none; font-size:0.8rem; font-weight:600; cursor:pointer;
}
.bsfa-cal-modal__btn--primary { background:#305E6C; color:#fff; }
.bsfa-cal-modal__btn--primary:hover { background:#244651; }
.bsfa-cal-modal__btn--ghost { background:#fff; border:1px solid #e5e7eb; color:#374151; }

@media (max-width: 992px) {
    .bsfa-cal-stats { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px) {
    .bsfa-cal-toolbar, .bsfa-cal-filter-bar { flex-direction:column; align-items:stretch; }
    .bsfa-cal-stats { grid-template-columns:1fr 1fr; }

    /* Calendar grid: taller slots for touch, scrollable */
    .bsfa-cal-grid { max-height: 65vh; -webkit-overflow-scrolling: touch; }
    .bsfa-cal-slot { height: 44px; }
    .bsfa-cal-time-cell { height: 44px; font-size: 0.62rem; }

    /* Appointment cards: larger for touch */
    .bsfa-cal-appt { font-size: 0.68rem; padding: 5px 6px; min-height: 36px; }
    .bsfa-cal-appt__name { font-size: 0.72rem; }

    /* Nav buttons: 44px touch target */
    .bsfa-cal-nav-btn { height: 44px; min-width: 44px; }

    /* View pills: bigger touch target */
    .bsfa-cal-pill { padding: 8px 14px; font-size: 0.78rem; min-height: 36px; }

    /* Filter bar: stack, full width */
    .bsfa-cal-filter-group { width: 100%; }
    .bsfa-cal-range-label { min-width: auto; font-size: 0.82rem; }

    /* Month view: smaller cells */
    .bsfa-cal-month__cell { min-height: 80px; padding: 4px 5px; }
    .bsfa-cal-month__chip { font-size: 0.6rem; padding: 2px 4px; }

    /* Stat cards: compact */
    .bsfa-cal-stat { padding: 0.75rem 0.85rem; gap: 0.6rem; }
    .bsfa-cal-stat__icon { width: 34px; height: 34px; font-size: 0.85rem; }
    .bsfa-cal-stat__value { font-size: 1.15rem; }

    /* Modal: full width on tablet */
    .bsfa-cal-modal { max-width: 95vw; }
    .bsfa-cal-modal__close { width: 36px; height: 36px; }
}

@media (max-width: 576px) {
    .bsfa-cal-stats { grid-template-columns: 1fr; gap: 0.5rem; }
    .bsfa-cal-stat { padding: 0.625rem 0.75rem; }
    .bsfa-cal-stat__value { font-size: 1rem; }
    .bsfa-cal-stat__icon { width: 30px; height: 30px; }

    /* Calendar grid: more compact on phone */
    .bsfa-cal-grid { max-height: 60vh; }
    .bsfa-cal-day-head { padding: 0.4rem 0.25rem; }
    .bsfa-cal-day-head__dow { font-size: 0.6rem; }
    .bsfa-cal-day-head__date { font-size: 0.9rem; }
    .bsfa-cal-prov-head { font-size: 0.58rem; padding: 4px 2px; }

    /* Month view: ultra-compact */
    .bsfa-cal-month__cell { min-height: 60px; padding: 3px 4px; }
    .bsfa-cal-month__date { font-size: 0.72rem; }
    .bsfa-cal-month__chip { font-size: 0.55rem; padding: 1px 3px; }
    .bsfa-cal-month__dow { font-size: 0.6rem; padding: 5px; }

    /* Toolbar: tighter */
    .bsfa-cal-toolbar { padding: 0.625rem 0.75rem; gap: 0.5rem; border-radius: 8px; }
    .bsfa-cal-title { font-size: 0.95rem; }
    .bsfa-cal-filter-bar { padding: 0.625rem 0.75rem; gap: 0.625rem; border-radius: 8px; }

    /* Side cards: compact */
    .bsfa-cal-side-card { padding: 0.75rem 0.85rem; border-radius: 8px; }

    /* Modal: near full screen on phone */
    .bsfa-cal-modal { max-width: 100%; border-radius: 0; }
    .bsfa-cal-modal-backdrop { padding: 0; }
    .bsfa-cal-modal__body { padding: 0.875rem 1rem; }
    .bsfa-cal-modal__footer { padding: 0.75rem 1rem; }
    .bsfa-cal-modal__btn { min-height: 44px; padding: 10px 18px; }
}

/* === 910/patient-center/patient-profile-modal.php === */
/* ── BSFA Patient Profile Modal Styles ───────────────────────── */
#bsfaPatientProfileModal .modal-dialog { max-width: 1200px; }
#bsfaPatientProfileModal .modal-content { border: 0; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.25); }
#bsfaPatientProfileModal .modal-header {
	background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 60%, #38bdf8 100%);
	color: #fff;
	padding: 1.1rem 1.5rem;
	border: 0;
}
#bsfaPatientProfileModal .modal-header .modal-title { font-weight: 600; font-size: 1.15rem; letter-spacing: 0.2px; }
#bsfaPatientProfileModal .modal-header .btn-close { filter: invert(1) brightness(2); opacity: 0.9; }
#bsfaPatientProfileModal .modal-body { padding: 0; background: #f8fafc; }
#bsfaPatientProfileModal .modal-footer { background: #ffffff; border-top: 1px solid #e2e8f0; padding: 0.75rem 1.25rem; }

.bsfa-pp-shell { display: flex; min-height: 600px; }
.bsfa-pp-sidebar {
	width: 220px;
	background: #ffffff;
	border-right: 1px solid #e2e8f0;
	padding: 1rem 0.5rem;
	flex-shrink: 0;
}
.bsfa-pp-nav-item {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.65rem 0.85rem;
	font-size: 0.85rem;
	font-weight: 500;
	color: #475569;
	border-radius: 8px;
	cursor: pointer;
	margin-bottom: 0.15rem;
	transition: all 0.15s ease;
}
.bsfa-pp-nav-item i { width: 18px; text-align: center; color: #94a3b8; }
.bsfa-pp-nav-item:hover { background: #f1f5f9; color: #1e293b; }
.bsfa-pp-nav-item.active {
	background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
	color: #fff;
}
.bsfa-pp-nav-item.active i { color: #fff; }

.bsfa-pp-content {
	flex: 1;
	padding: 1.5rem 1.75rem;
	overflow-y: auto;
	max-height: 75vh;
}

/* Overview grid */
.bsfa-pp-overview-grid {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 1.25rem;
	margin-bottom: 1rem;
}
.bsfa-pp-headshot-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.25rem;
	text-align: center;
}
.bsfa-pp-headshot {
	width: 130px; height: 130px; border-radius: 50%;
	background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 60%, #38bdf8 100%);
	color: #fff;
	font-size: 2.5rem;
	font-weight: 600;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 0.85rem;
	box-shadow: 0 8px 24px rgba(37, 99, 235, 0.25);
}
.bsfa-pp-headshot-name { font-size: 1.05rem; font-weight: 600; color: #0f172a; }
.bsfa-pp-headshot-meta { font-size: 0.75rem; color: #64748b; margin: 0.35rem 0 0.75rem; line-height: 1.55; }
.bsfa-pp-headshot-contact { font-size: 0.78rem; color: #475569; text-align: left; border-top: 1px solid #e2e8f0; padding-top: 0.75rem; line-height: 1.85; }
.bsfa-pp-headshot-contact i { width: 14px; color: #94a3b8; margin-right: 6px; }

/* KPI cards */
.bsfa-pp-kpi-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.85rem;
}
.bsfa-pp-stat-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 0.95rem 1.1rem;
	display: flex;
	align-items: center;
	gap: 0.85rem;
}
.bsfa-pp-stat-icon {
	width: 44px; height: 44px;
	border-radius: 10px;
	display: flex; align-items: center; justify-content: center;
	font-size: 1.05rem;
	flex-shrink: 0;
}
.bsfa-pp-stat-label { font-size: 0.7rem; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
.bsfa-pp-stat-value { font-size: 1.35rem; font-weight: 700; color: #0f172a; line-height: 1.2; }
.bsfa-pp-stat-value.bsfa-pp-stat-sm { font-size: 0.95rem; }

/* Info cards */
.bsfa-pp-info-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 1rem 1.15rem;
}
.bsfa-pp-info-title {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	font-weight: 700;
	color: #64748b;
	margin-bottom: 0.5rem;
}
.bsfa-pp-info-body { color: #0f172a; font-size: 0.95rem; }
.bsfa-pp-kv {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 0.82rem;
	padding: 0.35rem 0;
	border-bottom: 1px dashed #f1f5f9;
}
.bsfa-pp-kv:last-child { border-bottom: 0; }
.bsfa-pp-kv span { color: #64748b; }
.bsfa-pp-kv strong { color: #0f172a; font-weight: 600; text-align: right; }

/* Section title */
.bsfa-pp-section-title {
	font-size: 0.85rem;
	font-weight: 700;
	color: #1e293b;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 0.65rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.bsfa-pp-count-pill {
	background: #e0e7ff;
	color: #3730a3;
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	text-transform: none;
	letter-spacing: 0;
}

/* Tables */
.bsfa-pp-table {
	font-size: 0.82rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 0;
}
.bsfa-pp-table thead th {
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	color: #64748b;
	font-weight: 700;
	padding: 0.65rem 0.85rem;
}
.bsfa-pp-table tbody td { padding: 0.7rem 0.85rem; vertical-align: middle; border-top: 1px solid #f1f5f9; }
.bsfa-pp-table tbody tr:hover { background: #f8fafc; }

/* Code chips */
.bsfa-pp-icd, .bsfa-pp-cpt {
	display: inline-block;
	background: #f1f5f9;
	color: #1e293b;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.72rem;
	padding: 0.15rem 0.45rem;
	border-radius: 4px;
	font-weight: 600;
}
.bsfa-pp-cpt { background: #fef3c7; color: #92400e; }

/* Badges */
.bsfa-pp-badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	font-size: 0.7rem;
	font-weight: 600;
	border-radius: 999px;
	letter-spacing: 0.2px;
}

/* Coverage cards */
.bsfa-pp-coverage-card { border-left: 4px solid #2563eb; }
.bsfa-pp-coverage-payer { font-size: 1rem; font-weight: 700; color: #0f172a; }
.bsfa-pp-coverage-plan { font-size: 0.82rem; color: #64748b; }

/* Appointment cards */
.bsfa-pp-appt-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 0.9rem;
	display: flex;
	gap: 0.85rem;
	align-items: center;
}
.bsfa-pp-appt-date {
	background: linear-gradient(135deg, #1e3a8a, #2563eb);
	color: #fff;
	border-radius: 8px;
	width: 60px; height: 60px;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.bsfa-pp-appt-month { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.85; }
.bsfa-pp-appt-day { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.bsfa-pp-appt-time { font-size: 0.8rem; color: #475569; }
.bsfa-pp-appt-type { font-size: 0.92rem; color: #0f172a; }

/* Aging bar */
.bsfa-pp-aging-bar {
	height: 22px;
	display: flex;
	border-radius: 6px;
	overflow: hidden;
	background: #f1f5f9;
	margin-bottom: 0.5rem;
}
.bsfa-pp-aging-bar > div { height: 100%; }
.bsfa-pp-aging-legend { font-size: 0.75rem; color: #475569; display: flex; align-items: center; gap: 0.4rem; }
.bsfa-pp-aging-legend span { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }

/* Filter pills */
.bsfa-pp-filter-pill {
	background: #f1f5f9;
	color: #475569;
	font-size: 0.75rem;
	font-weight: 500;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	cursor: pointer;
	border: 1px solid transparent;
	transition: all 0.15s;
}
.bsfa-pp-filter-pill:hover { background: #e2e8f0; }
.bsfa-pp-filter-pill.active { background: #2563eb; color: #fff; }

@media (max-width: 768px) {
	.bsfa-pp-shell { flex-direction: column; min-height: auto; }
	.bsfa-pp-sidebar { width: 100%; display: flex; overflow-x: auto; padding: 0.5rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.bsfa-pp-sidebar::-webkit-scrollbar { display: none; }
	.bsfa-pp-overview-grid { grid-template-columns: 1fr; }
	.bsfa-pp-kpi-grid { grid-template-columns: 1fr; }
	.bsfa-pp-nav-item { white-space: nowrap; min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 576px) {
	#bsfaPatientProfileModal .modal-dialog { margin: 0; max-width: 100%; }
	#bsfaPatientProfileModal .modal-content { border-radius: 0; min-height: 100vh; }
	.bsfa-pp-content { padding: 0.75rem; }
	.bsfa-pp-filter-pill { padding: 0.3rem 0.625rem; font-size: 0.7rem; min-height: 32px; }
}

/* === 910/provider-performance/doctor-profile-modal.php === */
/* ── BSFA Doctor Profile (bsfa-dp) ── */
#bsfaDoctorProfileModal .modal-content { border:none; border-radius:0.75rem; overflow:hidden; }
#bsfaDoctorProfileModal .modal-header {
	background: linear-gradient(135deg, #30428b 0%, #1e3a8a 100%);
	color: #fff; border:none; padding: 1.1rem 1.5rem;
}
#bsfaDoctorProfileModal .modal-header .btn-close { filter: brightness(0) invert(1); opacity:0.8; }
#bsfaDoctorProfileModal .modal-title { font-weight:600; font-size:1.15rem; display:flex; align-items:center; gap:0.6rem; }
#bsfaDoctorProfileModal .modal-title i { font-size:1rem; opacity:0.85; }
#bsfaDoctorProfileModal .modal-body { padding:0; background:#f9fafb; }
#bsfaDoctorProfileModal .modal-footer { background:#fff; border-top:1px solid #e5e7eb; }

.bsfa-dp-layout { display:flex; min-height: 560px; }
.bsfa-dp-sidebar {
	width: 220px; background:#fff; border-right:1px solid #e5e7eb;
	padding: 1rem 0; flex-shrink:0;
}
.bsfa-dp-nav-item {
	display:flex; align-items:center; gap:0.7rem;
	padding: 0.75rem 1.25rem; cursor:pointer;
	color:#4b5563; font-size:0.88rem; font-weight:500;
	border-left: 3px solid transparent;
	transition: background 0.15s, color 0.15s;
}
.bsfa-dp-nav-item i { width: 18px; text-align:center; font-size:0.95rem; }
.bsfa-dp-nav-item:hover { background:#f3f4f6; color:#111827; }
.bsfa-dp-nav-item.active {
	background:#eff6ff; color:#1e40af;
	border-left-color: #30428b; font-weight:600;
}
.bsfa-dp-content { flex:1; padding: 1.5rem; overflow-y:auto; max-height: 75vh; }

/* Hero */
.bsfa-dp-hero {
	display:flex; gap:1.5rem; align-items:center;
	background:#fff; padding:1.5rem; border-radius:0.75rem;
	border:1px solid #e5e7eb; margin-bottom:1.25rem;
}
.bsfa-dp-avatar {
	width:130px; height:130px; border-radius:50%;
	background:linear-gradient(135deg,#30428b,#1e3a8a);
	color:#fff; display:flex; align-items:center; justify-content:center;
	font-size:2.6rem; font-weight:700; flex-shrink:0;
	box-shadow: 0 6px 20px rgba(48,66,139,0.25);
}
.bsfa-dp-hero-info { flex:1; min-width:0; }
.bsfa-dp-hero-name { margin:0 0 0.4rem 0; color:#111827; font-weight:700; font-size:1.4rem; }
.bsfa-dp-specialty-badge {
	display:inline-flex; align-items:center; gap:0.45rem;
	padding:0.3rem 0.7rem; background:#eff6ff; color:#1e40af;
	border-radius:99px; font-size:0.78rem; font-weight:600;
	margin-bottom:0.85rem;
}
.bsfa-dp-meta-grid {
	display:grid; grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 0.45rem 1.5rem; font-size:0.8rem; color:#4b5563;
}
.bsfa-dp-meta-grid > div { display:flex; align-items:center; gap:0.5rem; }
.bsfa-dp-meta-grid i { color:#9ca3af; width:14px; text-align:center; }

/* KPI grid */
.bsfa-dp-kpi-grid {
	display:grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem; margin-bottom: 1.25rem;
}
.bsfa-dp-kpi {
	background:#fff; border:1px solid #e5e7eb; border-radius:0.6rem;
	padding: 0.95rem 1.1rem;
}
.bsfa-dp-kpi-label { font-size:0.72rem; text-transform:uppercase; color:#9ca3af; font-weight:600; letter-spacing:0.04em; }
.bsfa-dp-kpi-value { font-size:1.55rem; font-weight:700; color:#111827; margin: 0.2rem 0 0.1rem 0; }
.bsfa-dp-kpi-sub { font-size:0.72rem; color:#6b7280; }

/* Comparison */
.bsfa-dp-section-title { color:#374151; font-size:0.95rem; font-weight:600; margin: 0.5rem 0 0.75rem 0; }
.bsfa-dp-cmp-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0.85rem; }
.bsfa-dp-cmp { background:#fff; border:1px solid #e5e7eb; border-radius:0.6rem; padding:0.9rem 1.1rem; }
.bsfa-dp-cmp-label { font-size:0.72rem; text-transform:uppercase; color:#9ca3af; font-weight:600; }
.bsfa-dp-cmp-vals { margin: 0.35rem 0; font-size:0.92rem; color:#111827; }
.bsfa-dp-cmp-doctor { font-weight:700; font-size:1.15rem; }
.bsfa-dp-cmp-vs { color:#9ca3af; margin: 0 0.4rem; font-size:0.78rem; }
.bsfa-dp-cmp-practice { color:#6b7280; }
.bsfa-dp-cmp-delta { font-size:0.82rem; font-weight:600; }

/* Tab headers */
.bsfa-dp-tab-header { display:flex; align-items:center; justify-content:space-between; margin-bottom: 0.85rem; }
.bsfa-dp-tab-header h5 { margin:0; font-size:1rem; font-weight:600; color:#111827; }
.bsfa-dp-pill { background:#eff6ff; color:#1e40af; padding:0.25rem 0.65rem; border-radius:99px; font-size:0.72rem; font-weight:600; }

/* Provider name link in performance summary */
.bsfa-dp-name-link { color:#30428b; cursor:pointer; text-decoration:none; }
.bsfa-dp-name-link:hover { text-decoration:underline; }

@media (max-width: 768px) {
	.bsfa-dp-layout { flex-direction:column; min-height: auto; }
	.bsfa-dp-sidebar { width:100%; display:flex; overflow-x:auto; padding:0.5rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.bsfa-dp-sidebar::-webkit-scrollbar { display: none; }
	.bsfa-dp-nav-item { border-left:none; border-bottom: 3px solid transparent; white-space:nowrap; min-height: 44px; }
	.bsfa-dp-nav-item.active { border-left:none; border-bottom-color:#30428b; }
	.bsfa-dp-kpi-grid, .bsfa-dp-cmp-grid { grid-template-columns: 1fr 1fr; }
	.bsfa-dp-meta-grid { grid-template-columns: 1fr; }
	.bsfa-dp-hero { flex-direction:column; text-align:center; }
	.bsfa-dp-avatar { width: 90px; height: 90px; font-size: 2rem; }
	.bsfa-dp-content { padding: 1rem; max-height: none; }
}

@media (max-width: 576px) {
	#bsfaDoctorProfileModal .modal-dialog { margin: 0; max-width: 100%; }
	#bsfaDoctorProfileModal .modal-content { border-radius: 0; min-height: 100vh; }
	.bsfa-dp-kpi-grid { grid-template-columns: 1fr; }
	.bsfa-dp-cmp-grid { grid-template-columns: 1fr; }
	.bsfa-dp-avatar { width: 70px; height: 70px; font-size: 1.6rem; }
	.bsfa-dp-hero-name { font-size: 1.1rem; }
	.bsfa-dp-kpi-value { font-size: 1.25rem; }
	.bsfa-dp-content { padding: 0.75rem; }
}

/* === 910/supply-ordering/index.php === */
/* ── Supply Ordering Page Styles ──────────────────────────────── */
.so-cat-tab { border: none; background: #f1f5f9; color: #64748b; font-size: 0.78rem; font-weight: 600; padding: 0.4rem 1rem; border-radius: 999px; cursor: pointer; transition: all 0.15s; white-space: nowrap; }
.so-cat-tab:hover { background: #e2e8f0; color: #334155; }
.so-cat-tab.active { background: var(--sa-primary-color, #30428b); color: #fff; }

.so-product-card { border: 1px solid #e5e7eb; border-radius: 0.5rem; overflow: hidden; transition: all 0.2s; background: #fff; height: 100%; display: flex; flex-direction: column; }
.so-product-card:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(0,0,0,0.06); transform: translateY(-2px); }
.so-product-img { width: 100%; height: 140px; background: #f8fafc; display: flex; align-items: center; justify-content: center; overflow: hidden; border-bottom: 1px solid #f1f5f9; }
.so-product-img img { max-width: 100%; max-height: 140px; object-fit: contain; padding: 12px; }
.so-product-img .so-icon-fallback { font-size: 2.2rem; opacity: 0.2; }
.so-product-body { padding: 0.85rem; flex: 1; display: flex; flex-direction: column; }
.so-product-cat { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.3rem; }
.so-product-name { font-size: 0.82rem; font-weight: 600; line-height: 1.35; color: #1e293b; margin-bottom: 0.25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.so-product-brand { font-size: 0.72rem; color: #94a3b8; margin-bottom: auto; padding-bottom: 0.5rem; }
.so-product-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 0.5rem; border-top: 1px solid #f1f5f9; }
.so-product-price { font-size: 1.05rem; font-weight: 700; color: #111827; }
.so-product-meta { font-size: 0.65rem; color: #94a3b8; }
.so-product-actions { padding: 0 0.85rem 0.85rem; }
.so-add-btn { width: 100%; border: none; background: var(--sa-primary-color, #30428b); color: #fff; font-size: 0.78rem; font-weight: 600; padding: 0.5rem; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s; display: flex; align-items: center; justify-content: center; gap: 0.4rem; }
.so-add-btn:hover { opacity: 0.9; transform: scale(1.01); }
.so-vendor-link { font-size: 0.68rem; color: #94a3b8; text-decoration: none; transition: color 0.15s; }
.so-vendor-link:hover { color: var(--sa-primary-color, #30428b); }

.so-cart-empty { text-align: center; padding: 2.5rem 1rem; }
.so-cart-empty-icon { width: 64px; height: 64px; border-radius: 50%; background: #f1f5f9; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.so-cart-empty-icon i { font-size: 1.5rem; color: #cbd5e1; }

.so-search-wrap { position: relative; }
.so-search-wrap .lni-search-1 { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 0.8rem; pointer-events: none; }
.so-search-input { padding-left: 36px; border-radius: 999px; border: 1px solid #e2e8f0; font-size: 0.82rem; height: 36px; transition: border-color 0.15s; }
.so-search-input:focus { border-color: var(--sa-primary-color, #30428b); box-shadow: 0 0 0 3px rgba(48,66,139,0.08); }

.so-catalog-count { font-size: 0.75rem; color: #94a3b8; font-weight: 500; }
