.icon-box { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: var(--pc-blue); background: var(--pc-blue-light); font-size: 1.25rem; }
.metric-card { position: relative; overflow: hidden; height: 100%; padding: 21px; border: 1px solid var(--pc-border); border-radius: 17px; background: white; box-shadow: var(--pc-shadow-sm); }
.metric-card::after { content: ''; position: absolute; width: 72px; height: 72px; right: -22px; bottom: -25px; border-radius: 50%; background: var(--pc-blue-light); }
.metric-label { color: var(--pc-muted); font-size: .8rem; font-weight: 700; }
.metric-value { margin: 7px 0 2px; color: var(--pc-blue-dark); font: 800 1.7rem 'Segoe UI', system-ui, sans-serif; }
.metric-trend { color: var(--pc-teal); font-size: .76rem; font-weight: 800; }
.table { --bs-table-bg: transparent; margin: 0; }
.table thead th { padding: .9rem .75rem; color: var(--pc-muted); background: #f8faff; border-bottom: 1px solid var(--pc-border); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.table tbody td { padding: .95rem .75rem; border-color: #eef2f7; vertical-align: middle; font-size: .86rem; }
.user-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; color: var(--pc-blue); background: var(--pc-blue-light); font-weight: 800; }
.activity-line { position: relative; display: flex; gap: 14px; padding-bottom: 22px; }
.activity-line::before { content: ''; position: absolute; left: 17px; top: 34px; bottom: 0; width: 2px; background: #e5edf7; }
.activity-line:last-child::before { display: none; }
.activity-dot { position: relative; z-index: 1; display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; color: var(--pc-blue); background: var(--pc-blue-light); }
.notice { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 13px; background: #f5f9ff; border: 1px solid #e4eefc; }
.notice.warning { background: #fff9e9; border-color: #f7e4a8; }
.notice.danger { background: #fff2f3; border-color: #ffd6db; }
.segmented { display: inline-flex; padding: 4px; border-radius: 11px; background: #eef3f9; }
.segmented button { padding: .5rem .8rem; border: 0; border-radius: 8px; color: var(--pc-muted); background: transparent; font-size: .8rem; font-weight: 700; }
.segmented button.active { color: var(--pc-blue); background: white; box-shadow: 0 3px 10px rgba(9,36,95,.08); }
.progress-stepper { display: flex; gap: 0; margin: 8px 0 28px; overflow-x: auto; }
.progress-step { min-width: 110px; flex: 1; color: var(--pc-muted); text-align: center; font-size: .71rem; font-weight: 700; }
.progress-step .bubble { display: grid; place-items: center; width: 34px; height: 34px; margin: 0 auto 7px; border-radius: 50%; color: var(--pc-muted); background: #edf1f6; border: 3px solid white; box-shadow: 0 0 0 2px #e5eaf1; }
.progress-step.active .bubble, .progress-step.done .bubble { color: white; background: var(--pc-blue); box-shadow: 0 0 0 2px #b9d5fb; }
.upload-box { padding: 24px; border: 2px dashed #cbd8e8; border-radius: 14px; text-align: center; background: #fbfdff; }
.specialty-field { padding: 18px; border-left: 4px solid var(--pc-teal); border-radius: 12px; background: var(--pc-teal-light); }
.calendar-week { min-width: 720px; display: grid; grid-template-columns: 76px repeat(5, 1fr); border: 1px solid var(--pc-border); border-radius: 14px; overflow: hidden; }
.calendar-cell { min-height: 72px; padding: 8px; border-right: 1px solid var(--pc-border); border-bottom: 1px solid var(--pc-border); background: white; font-size: .76rem; }
.calendar-cell.header { min-height: auto; color: var(--pc-muted); background: #f6f9fd; font-weight: 800; text-align: center; }
.calendar-event { display: block; padding: 7px; border-left: 3px solid var(--pc-blue); border-radius: 7px; color: var(--pc-blue-dark); background: var(--pc-blue-light); }
.calendar-event.online { border-color: var(--pc-teal); background: var(--pc-teal-light); }
.record-tab { padding: 18px; border: 1px solid var(--pc-border); border-radius: 14px; background: white; }
.privacy-flag { color: #704d00; background: #fff5d9; }

.benefit-highlight { border-color: rgba(0, 179, 151, .25); background: linear-gradient(135deg, #f5fffc, #f5f9ff); }
.benefit-filter { position: relative; z-index: 2; margin-top: -76px; box-shadow: var(--pc-shadow); }
.benefit-card { display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.benefit-card:hover { transform: translateY(-4px); box-shadow: var(--pc-shadow); }
.benefit-brand { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; color: var(--pc-teal); background: var(--pc-teal-light); font-size: 1.55rem; }
.benefit-discount { padding: .5rem .75rem; border-radius: 999px; color: white; background: linear-gradient(135deg, var(--pc-blue), var(--pc-teal)); font-size: .83rem; font-weight: 900; letter-spacing: .02em; }

.featured-filter-panel { position: sticky; top: 94px; padding: 22px; }
.featured-filter-panel .icon-box { flex: 0 0 auto; }
.featured-professional-card { display: flex; flex-direction: column; min-height: 270px; padding: 18px; }
.featured-professional-card .professional-avatar { flex: 0 0 auto; width: 72px; height: 72px; }
.featured-professional-card .flex-grow-1,
.featured-professional-card .min-w-0 { min-width: 0; }
.featured-card-location { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.featured-card-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 4px; border-top: 1px solid #eef2f7; }
.featured-card-footer > .badge { margin-top: 12px; }
.featured-card-footer > .d-flex { margin-top: 12px; }

@media (max-width: 991.98px) {
  .featured-filter-panel { position: static; }
}

@media (max-width: 575.98px) {
  .featured-professional-card { min-height: 0; }
  .featured-professional-card .professional-avatar { width: 62px; height: 62px; }
  .featured-card-footer,
  .featured-card-footer > .d-flex { width: 100%; }
  .featured-card-footer > .d-flex .btn { flex: 1; }
}
