/* ============================================
   Uzoria Partners , platform pages
   find-care, providers, hospitals
   Extends style.css tokens. Linked AFTER style.css.
   ============================================ */

/* ---------- shared: sub-page hero ---------- */
.subhero {
  padding-top: clamp(var(--space-12), 7vw, var(--space-24));
  padding-bottom: clamp(var(--space-16), 8vw, var(--space-24));
  background:
    linear-gradient(180deg, var(--color-surface-offset) 0%, transparent 100%);
}
.subhero-grid { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: center; }
.subhero h1 { font-size: var(--text-3xl); font-weight: 480; line-height: 1.03; }
.subhero h1 em { font-style: italic; color: var(--color-primary); }
.subhero .lead { margin-top: var(--space-6); }
.subhero-sub { font-size: var(--text-xl); font-family: var(--font-display); color: var(--color-text); line-height: 1.35; margin-top: var(--space-4); max-width: 28ch; }
.subhero-actions { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-8); }
.subhero-media { position: relative; }
.subhero-media img { border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); aspect-ratio: 4/3.4; object-fit: cover; width: 100%; }
.hero-lines { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); margin-top: var(--space-6); }
.hero-lines span { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); font-weight: 600; color: var(--color-text-muted); }
.hero-lines span::before { content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--color-primary); }

@media (max-width: 900px) {
  .subhero-grid { grid-template-columns: 1fr; }
  .subhero-media { max-width: 34rem; }
}

/* ---------- disclaimers / footnotes ---------- */
.disclaimer-note {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-xs); color: var(--color-text-muted);
  background: var(--color-surface-offset); border: 1px solid var(--color-border);
  border-radius: var(--radius-full); padding: 0.35rem 0.85rem;
}
.disclaimer-note svg { width: 0.95rem; height: 0.95rem; color: var(--color-accent); flex-shrink: 0; }

/* ---------- readiness badge with tooltip ---------- */
.readiness-badge {
  position: relative; display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-xs); font-weight: 600; color: var(--color-primary);
  background: var(--color-primary-soft); border: 1px solid color-mix(in oklab, var(--color-primary) 30%, transparent);
  border-radius: var(--radius-full); padding: 0.3rem 0.7rem; cursor: help;
}
.readiness-badge svg { width: 0.9rem; height: 0.9rem; }
.readiness-badge .tip {
  position: absolute; bottom: calc(100% + 0.5rem); left: 0;
  width: 17rem; max-width: 78vw; padding: var(--space-3) var(--space-4);
  background: var(--color-text); color: var(--color-bg);
  border-radius: var(--radius-md); font-size: var(--text-xs); font-weight: 400; line-height: 1.5;
  box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transform: translateY(4px);
  transition: opacity var(--transition-interactive), transform var(--transition-interactive), visibility var(--transition-interactive);
  z-index: 20; text-transform: none; letter-spacing: normal;
}
.readiness-badge:hover .tip, .readiness-badge:focus-visible .tip { opacity: 1; visibility: visible; transform: translateY(0); }

/* ---------- generic panel / card ---------- */
.panel {
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); padding: clamp(var(--space-6), 4vw, var(--space-10));
}
.panel-tinted { background: var(--color-surface-offset); }

/* ---------- benefit / feature grids ---------- */
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.benefit-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.benefit {
  padding: var(--space-6); background: var(--color-surface);
  border: 1px solid var(--color-border); border-radius: var(--radius-lg);
}
.benefit-icon { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: var(--radius-md); background: var(--color-sage-soft); color: var(--color-primary); margin-bottom: var(--space-4); }
.benefit-icon svg { width: 1.3rem; height: 1.3rem; }
.benefit h3 { font-size: var(--text-base); margin-bottom: var(--space-2); }
.benefit p { color: var(--color-text-muted); font-size: var(--text-sm); }
@media (max-width: 900px) { .benefit-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .benefit-grid, .benefit-grid.cols-2 { grid-template-columns: 1fr; } }

/* ---------- pill grid (who we work with) ---------- */
.pill-grid { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.pill-item {
  padding: 0.65rem 1.15rem; border-radius: var(--radius-full);
  border: 1px solid var(--color-border); background: var(--color-surface);
  font-size: var(--text-sm); font-weight: 500; color: var(--color-text);
}

/* ---------- checklist columns ---------- */
.check-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3) var(--space-8); margin-top: var(--space-6); }
.check-cols li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); align-items: start; font-size: var(--text-base); }
.check-cols svg { color: var(--color-primary); width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; flex-shrink: 0; }
@media (max-width: 620px) { .check-cols { grid-template-columns: 1fr; } }

/* ============================================================
   SEARCH WIZARD (find-care + hospitals)
   ============================================================ */
.wizard {
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-xl); padding: clamp(var(--space-6), 4vw, var(--space-10));
  box-shadow: var(--shadow-sm);
}
.wizard-intro { font-family: var(--font-display); font-size: var(--text-lg); margin-bottom: var(--space-8); }
.field { margin-bottom: var(--space-8); }
.field:last-child { margin-bottom: 0; }
.field > label, .field-label {
  display: block; font-size: var(--text-sm); font-weight: 600; color: var(--color-text);
  margin-bottom: var(--space-3);
}
.field-hint { font-size: var(--text-xs); color: var(--color-text-faint); font-weight: 400; }

.text-input, .num-input, select.select-input {
  width: 100%; padding: 0.75rem 1rem; border-radius: var(--radius-md);
  border: 1px solid var(--color-border); background: var(--color-surface-2);
  color: var(--color-text); font-size: var(--text-base);
}
.text-input:focus, .num-input:focus, select.select-input:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-soft); }

.radio-row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2) var(--space-4); }
@media (max-width: 700px) { .check-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .check-grid { grid-template-columns: 1fr; } }

/* chip-style checkbox + radio */
.chip {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 0.5rem 0.9rem; border-radius: var(--radius-full);
  border: 1px solid var(--color-border); background: var(--color-surface-2);
  font-size: var(--text-sm); cursor: pointer; user-select: none;
  transition: all var(--transition-interactive);
}
.chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chip:hover { border-color: var(--color-primary); }
.chip:has(input:checked) { background: var(--color-primary-soft); border-color: var(--color-primary); color: var(--color-primary); font-weight: 600; }
.chip:has(input:focus-visible) { outline: 2px solid var(--color-primary); outline-offset: 2px; }

.opt-check {
  display: flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-sm); cursor: pointer; padding: 0.35rem 0;
}
.opt-check input { width: 1.1rem; height: 1.1rem; accent-color: var(--color-primary); flex-shrink: 0; }

.budget-row { display: flex; align-items: center; gap: var(--space-4); max-width: 30rem; }
.budget-row .num-wrap { position: relative; flex: 1; }
.budget-row .num-wrap::before { content: "$"; position: absolute; left: 0.85rem; top: 50%; transform: translateY(-50%); color: var(--color-text-faint); }
.budget-row .num-input { padding-left: 1.75rem; }
.budget-row .to { font-size: var(--text-sm); color: var(--color-text-muted); }

.wizard-actions { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; margin-top: var(--space-8); }
.result-count { font-size: var(--text-sm); color: var(--color-text-muted); }
.result-count strong { color: var(--color-primary); }

/* ============================================================
   HOME CARDS + PROFILE
   ============================================================ */
.results-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); margin-top: var(--space-8); }
@media (max-width: 820px) { .results-grid { grid-template-columns: 1fr; } }

.home-card {
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); transition: all var(--transition-interactive);
}
.home-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.home-card-media { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.home-card-media img { width: 100%; height: 100%; object-fit: cover; }
.home-card-body { padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-4); flex: 1; }
.home-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-4); flex-wrap: wrap; }
.home-card h3 { font-size: var(--text-lg); }
.home-card .loc { display: flex; align-items: center; gap: var(--space-1); font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-1); }
.home-card .loc svg { width: 0.95rem; height: 0.95rem; color: var(--color-primary); }

/* status pill */
.status-pill { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); font-weight: 600; padding: 0.3rem 0.7rem; border-radius: var(--radius-full); border: 1px solid var(--color-border); background: var(--color-surface-2); white-space: nowrap; }
.status-dot { width: 0.55rem; height: 0.55rem; border-radius: 50%; flex-shrink: 0; }
.status-open .status-dot { background: #4f9e6a; }
.status-soon .status-dot { background: #d29a2a; }
.status-waitlist .status-dot { background: var(--color-text-faint); }

.tag-row { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.tag { font-size: var(--text-xs); padding: 0.25rem 0.65rem; border-radius: var(--radius-sm); background: var(--color-surface-offset); color: var(--color-text-muted); border: 1px solid var(--color-divider); }

.rating { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); }
.rating .stars { color: var(--color-accent); letter-spacing: 0.05em; }
.rating .rating-label { color: var(--color-text-faint); font-size: var(--text-xs); }

/* why-recommended block */
.why-block {
  background: var(--color-sage-soft); border: 1px solid color-mix(in oklab, var(--color-sage) 35%, transparent);
  border-radius: var(--radius-md); padding: var(--space-4);
}
.why-block .why-head { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-primary); margin-bottom: var(--space-3); }
.why-block .why-head svg { width: 1rem; height: 1rem; }
.why-list { display: grid; gap: var(--space-2); }
.why-list li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2); align-items: start; font-size: var(--text-sm); color: var(--color-text); }
.why-list svg { width: 1rem; height: 1rem; color: var(--color-primary); margin-top: 0.25rem; flex-shrink: 0; }

.card-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: auto; }

/* empty state */
.empty-state {
  text-align: center; padding: clamp(var(--space-10), 6vw, var(--space-16));
  border: 1px dashed var(--color-border); border-radius: var(--radius-lg);
  background: var(--color-surface); margin-top: var(--space-8);
}
.empty-state h3 { font-size: var(--text-lg); margin-bottom: var(--space-3); }
.empty-state p { color: var(--color-text-muted); max-width: 44ch; margin: 0 auto var(--space-6); }

/* ---------- modal ---------- */
.modal-overlay {
  position: fixed; inset: 0; z-index: 100; display: none;
  background: color-mix(in oklab, #000 55%, transparent); backdrop-filter: blur(3px);
  padding: var(--space-6); overflow-y: auto;
}
.modal-overlay.open { display: grid; place-items: start center; }
.modal {
  background: var(--color-bg); border: 1px solid var(--color-border);
  border-radius: var(--radius-xl); max-width: 56rem; width: 100%;
  margin: var(--space-8) auto; box-shadow: var(--shadow-lg); overflow: hidden;
  animation: modalIn 0.3s cubic-bezier(0.16,1,0.3,1);
}
@keyframes modalIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.modal-head { position: relative; }
.modal-head img { width: 100%; aspect-ratio: 21/9; object-fit: cover; }
.modal-close {
  position: absolute; top: var(--space-4); right: var(--space-4);
  width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border-radius: var(--radius-full);
  background: var(--color-surface-2); color: var(--color-text); box-shadow: var(--shadow-md); border: 1px solid var(--color-border);
}
.modal-close:hover { background: var(--color-primary); color: var(--color-text-inverse); }
.modal-body { padding: clamp(var(--space-6), 4vw, var(--space-10)); display: grid; gap: var(--space-8); }
.modal-body h2 { font-size: var(--text-xl); }
.modal-body .loc svg { width: 1rem; height: 1rem; }
.modal-section h4 { font-family: var(--font-display); font-size: var(--text-base); margin-bottom: var(--space-3); }
.modal-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.modal-gallery img { aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-md); }
.walkthrough-row { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.walkthrough-item { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); font-weight: 600; color: var(--color-primary); padding: 0.6rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.walkthrough-item svg { width: 1.1rem; height: 1.1rem; }

.chip-list { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.chip-static { font-size: var(--text-sm); padding: 0.3rem 0.8rem; border-radius: var(--radius-full); background: var(--color-surface-offset); border: 1px solid var(--color-divider); color: var(--color-text); }

.avail-list { display: grid; gap: var(--space-2); }
.avail-list li { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); }

.fit-box { border-radius: var(--radius-md); padding: var(--space-5); }
.fit-good { background: var(--color-sage-soft); border: 1px solid color-mix(in oklab, var(--color-sage) 30%, transparent); }
.fit-note { background: var(--color-accent-soft); border: 1px solid color-mix(in oklab, var(--color-accent) 25%, transparent); }
.fit-box h4 { margin-bottom: var(--space-3); }
.fit-box ul { display: grid; gap: var(--space-2); }
.fit-box li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2); font-size: var(--text-sm); align-items: start; }
.fit-box li svg { width: 1rem; height: 1rem; margin-top: 0.25rem; flex-shrink: 0; }
.fit-good li svg { color: var(--color-primary); }
.fit-note li svg { color: var(--color-accent); }
.honest-line { margin-top: var(--space-3); font-size: var(--text-sm); font-style: italic; color: var(--color-text-muted); }

.review-box { background: var(--color-primary-soft); border: 1px solid color-mix(in oklab, var(--color-primary) 30%, transparent); border-radius: var(--radius-md); padding: var(--space-6); }
.review-box p { font-size: var(--text-sm); color: var(--color-text); }
.review-considers { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-4) 0; }
.review-considers span { font-size: var(--text-xs); font-weight: 600; padding: 0.3rem 0.7rem; border-radius: var(--radius-full); background: var(--color-surface-2); color: var(--color-primary); border: 1px solid color-mix(in oklab, var(--color-primary) 20%, transparent); }
.review-date { font-size: var(--text-xs); color: var(--color-text-muted); }

/* ============================================================
   REQUEST FORM + CONFIRMATION
   ============================================================ */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
@media (max-width: 620px) { .form-grid { grid-template-columns: 1fr; } }
.form-note { font-size: var(--text-sm); color: var(--color-accent); margin-top: var(--space-3); }
.confirmation {
  background: var(--color-primary-soft); border: 1px solid color-mix(in oklab, var(--color-primary) 30%, transparent);
  border-radius: var(--radius-xl); padding: clamp(var(--space-8), 5vw, var(--space-16));
}
.confirmation h2 { font-size: var(--text-2xl); margin-bottom: var(--space-4); }
.hidden { display: none !important; }

/* what happens next */
.next-list { display: grid; gap: var(--space-3); margin: var(--space-6) 0; }
.next-list li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); align-items: start; font-size: var(--text-base); }
.next-list svg { color: var(--color-primary); width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; flex-shrink: 0; }

/* ============================================================
   PROVIDER PORTAL (dashboard demo)
   ============================================================ */
.demo-frame {
  background: var(--color-surface-2); border: 1px solid var(--color-border);
  border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-md);
}
.demo-topbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-6); background: var(--color-surface-offset); border-bottom: 1px solid var(--color-border); flex-wrap: wrap; }
.demo-topbar .demo-title { display: flex; align-items: center; gap: var(--space-3); font-family: var(--font-display); font-size: var(--text-base); }
.demo-dots { display: flex; gap: 0.4rem; }
.demo-dots span { width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--color-border); }
.demo-note { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); color: var(--color-text-muted); }
.demo-note svg { width: 0.9rem; height: 0.9rem; color: var(--color-accent); }
.demo-body { padding: clamp(var(--space-5), 3vw, var(--space-8)); display: grid; gap: var(--space-8); }

.tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-4); }
@media (max-width: 900px) { .tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .tiles { grid-template-columns: 1fr; } }
.tile { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-5); }
.tile .tile-label { font-size: var(--text-xs); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
.tile .tile-value { font-family: var(--font-display); font-size: 1.7rem; color: var(--color-text); margin-top: var(--space-2); }
.tile .tile-value.small { font-size: 1.25rem; }

.demo-sub { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-8); }
@media (max-width: 820px) { .demo-sub { grid-template-columns: 1fr; } }
.demo-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); }
.demo-card h4 { font-family: var(--font-display); font-size: var(--text-base); margin-bottom: var(--space-2); }
.demo-card .sub-note { font-size: var(--text-xs); color: var(--color-text-muted); margin-bottom: var(--space-5); }

/* availability toggle rows */
.toggle-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-divider); }
.toggle-row:last-child { border-bottom: none; }
.toggle-row .toggle-name { font-size: var(--text-sm); font-weight: 500; }
.switch { position: relative; width: 3rem; height: 1.65rem; border-radius: var(--radius-full); background: var(--color-surface-offset-2); border: 1px solid var(--color-border); transition: background var(--transition-interactive); flex-shrink: 0; }
.switch::after { content: ""; position: absolute; top: 0.18rem; left: 0.2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--color-surface-2); box-shadow: var(--shadow-sm); transition: transform var(--transition-interactive); }
.switch[aria-checked="true"] { background: var(--color-primary); border-color: var(--color-primary); }
.switch[aria-checked="true"]::after { transform: translateX(1.32rem); }
.switch-state { font-size: var(--text-xs); font-weight: 600; min-width: 3.5rem; text-align: right; }
.switch-state.on { color: var(--color-primary); }
.switch-state.off { color: var(--color-text-faint); }
.toggle-ctrl { display: flex; align-items: center; gap: var(--space-3); }
.updated-line { font-size: var(--text-xs); color: var(--color-text-muted); margin-top: var(--space-4); display: flex; align-items: center; gap: var(--space-2); }
.updated-line svg { width: 0.9rem; height: 0.9rem; color: var(--color-primary); }

/* profile completeness checklist */
.completeness-list { display: grid; gap: var(--space-2); }
.completeness-list li { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm); }
.completeness-list .cbox { width: 1.25rem; height: 1.25rem; border-radius: var(--radius-sm); display: grid; place-items: center; flex-shrink: 0; }
.completeness-list .cbox.done { background: var(--color-primary); color: var(--color-text-inverse); }
.completeness-list .cbox.todo { border: 1.5px dashed var(--color-border); }
.completeness-list .cbox svg { width: 0.85rem; height: 0.85rem; }
.completeness-list li.pending { color: var(--color-text-muted); }

/* coming soon section */
.soon-tag { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); font-weight: 600; color: var(--color-accent); background: var(--color-accent-soft); border: 1px solid color-mix(in oklab, var(--color-accent) 25%, transparent); border-radius: var(--radius-full); padding: 0.25rem 0.7rem; }
.soon-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); margin-top: var(--space-8); }
@media (max-width: 900px) { .soon-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .soon-grid { grid-template-columns: 1fr; } }
.soon-item { padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); font-size: var(--text-sm); color: var(--color-text-muted); }

/* ============================================================
   HOSPITALS , network table + referral dashboard
   ============================================================ */
.filter-bar { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-6); align-items: start; }
@media (max-width: 820px) { .filter-bar { grid-template-columns: 1fr; } }
.filter-bar .field { margin-bottom: var(--space-5); }

.net-table-wrap { overflow-x: auto; margin-top: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.net-table { width: 100%; border-collapse: collapse; min-width: 46rem; }
.net-table th, .net-table td { text-align: left; padding: var(--space-4) var(--space-5); font-size: var(--text-sm); border-bottom: 1px solid var(--color-divider); vertical-align: middle; }
.net-table th { font-family: var(--font-body); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-faint); background: var(--color-surface-offset); font-weight: 600; }
.net-table tr:last-child td { border-bottom: none; }
.net-table td .net-name { font-weight: 600; }
.net-table td .net-svc { color: var(--color-text-muted); font-size: var(--text-xs); }
.net-actions { display: flex; gap: var(--space-2); }
.btn-sm { padding: 0.45rem 0.95rem; font-size: var(--text-xs); }

/* referral dashboard columns */
.kanban { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-4); margin-top: var(--space-6); }
@media (max-width: 1100px) { .kanban { grid-auto-flow: column; grid-auto-columns: minmax(15rem, 1fr); grid-template-columns: none; overflow-x: auto; padding-bottom: var(--space-4); } }
.kanban-col { background: var(--color-surface-offset); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-4); min-width: 0; }
.kanban-col h4 { font-family: var(--font-body); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-muted); margin-bottom: var(--space-4); display: flex; align-items: center; justify-content: space-between; }
.kanban-col .col-count { background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: var(--radius-full); padding: 0.05rem 0.5rem; font-size: var(--text-xs); color: var(--color-primary); font-weight: 700; }
.ref-cards { display: grid; gap: var(--space-3); min-height: 2rem; }
.ref-card { background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-4); }
.ref-card .ref-name { font-weight: 600; font-size: var(--text-sm); }
.ref-card .ref-meta { font-size: var(--text-xs); color: var(--color-text-muted); margin-top: 0.15rem; }
.ref-card .ref-advance { margin-top: var(--space-3); font-size: var(--text-xs); font-weight: 600; color: var(--color-primary); display: inline-flex; align-items: center; gap: var(--space-1); }
.ref-card .ref-advance:hover { text-decoration: underline; }
.ref-card .ref-advance svg { width: 0.9rem; height: 0.9rem; }
.ref-empty { font-size: var(--text-xs); color: var(--color-text-faint); font-style: italic; padding: var(--space-2); }

.dash-panels { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin-top: var(--space-8); }
@media (max-width: 820px) { .dash-panels { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .dash-panels { grid-template-columns: 1fr; } }
.dash-panel { padding: var(--space-5); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.dash-panel .dp-icon { color: var(--color-primary); margin-bottom: var(--space-3); }
.dash-panel .dp-icon svg { width: 1.3rem; height: 1.3rem; }
.dash-panel h4 { font-family: var(--font-display); font-size: var(--text-base); margin-bottom: var(--space-1); }
.dash-panel p { font-size: var(--text-xs); color: var(--color-text-muted); }

/* blurred performance placeholder */
.blur-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-4); margin-top: var(--space-8); }
@media (max-width: 900px) { .blur-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .blur-stats { grid-template-columns: 1fr; } }
.blur-stat { position: relative; padding: var(--space-6); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); text-align: center; overflow: hidden; }
.blur-stat .bs-value { font-family: var(--font-display); font-size: 1.8rem; color: var(--color-text); filter: blur(7px); user-select: none; }
.blur-stat .bs-label { font-size: var(--text-xs); color: var(--color-text-muted); margin-top: var(--space-2); }
.blur-stat .bs-lock { position: absolute; top: var(--space-3); right: var(--space-3); color: var(--color-text-faint); }
.blur-stat .bs-lock svg { width: 1rem; height: 1rem; }

/* section spacing helpers */
.stack-lg > * + * { margin-top: var(--space-6); }
.center-narrow { max-width: 52rem; margin-inline: auto; text-align: center; }
.mt-8 { margin-top: var(--space-8); }
.lead-tight { max-width: 58ch; }

/* CTA reuse on subpages: keep dark-mode parity handled by style.css */

/* Real-provider onboarding states */
.contact-block { display: flex; flex-direction: column; gap: 0.2rem; }
.contact-block .contact-row { font-size: var(--text-sm); color: var(--color-text-muted); }
.pending-note {
  background: var(--color-primary-soft);
  border: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-primary-active);
  line-height: 1.5;
}

/* ===== Provider intake page ===== */
.page-head {
  padding-block: clamp(var(--space-16), 8vw, var(--space-24)) var(--space-8);
  background: var(--color-surface-offset);
  border-bottom: 1px solid var(--color-border);
}
.page-head .eyebrow { margin-bottom: var(--space-3); }
.page-head h1 { margin-bottom: var(--space-5); }
.page-head .lead { margin-bottom: var(--space-5); }

.intake-section { padding-block: clamp(var(--space-12), 6vw, var(--space-20)); }

.intake-group {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  padding: clamp(var(--space-6), 4vw, var(--space-10));
  margin-bottom: var(--space-8);
}
.intake-legend {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 500;
  color: var(--color-primary);
  padding: 0 var(--space-3);
  margin-left: calc(var(--space-2) * -1);
}
.form-note-plain {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-divider);
}
.check-grid-1 { grid-template-columns: 1fr; }
.consent-check {
  align-items: flex-start;
  line-height: 1.5;
  font-size: var(--text-sm);
}
.consent-check input { margin-top: 0.2em; flex: 0 0 auto; }
