/* Parent consultations and the hospital preview share the existing brand tokens. */
.care-page { margin:0; color:var(--text-primary); background:var(--space-void); font-family:var(--font-ui); --care-accent:var(--emerald-400); }
.care-page.hospital-page { --care-accent:var(--cyan-300); }
.care-page *, .care-page *::before, .care-page *::after { box-sizing:border-box; }
.care-page button, .care-page input, .care-page select, .care-page textarea { font:inherit; }
.care-page button, .care-page a, .care-page input, .care-page select, .care-page textarea { -webkit-tap-highlight-color:transparent; }
.care-page :focus-visible { outline:2px solid var(--care-accent); outline-offset:4px; }
.care-page [hidden] { display:none !important; }
.care-header { position:sticky; top:0; z-index:20; height:72px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 32px; border-bottom:1px solid #ffffff12; background:#080f1f; }
.care-brand { display:flex; align-items:center; gap:10px; color:#f1f5f9; text-decoration:none; font-family:var(--font-display); font-size:23px; font-weight:700; }
.care-brand i { color:var(--care-accent); font-size:22px; }
.care-header-right { display:flex; align-items:center; gap:16px; }
.care-role, .care-pill { display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:999px; background:#34d39912; color:var(--care-accent); border:1px solid #34d39930; font-size:12px; white-space:nowrap; }
.care-header-link { color:#cbd5e1; text-decoration:none; font-size:13px; }
.care-sidebar { position:fixed; top:72px; bottom:0; width:224px; padding:30px 18px; background:#080f1f; border-right:1px solid #ffffff12; z-index:15; overflow-y:auto; }
.care-nav-caption { color:#64748b; font-size:11px; letter-spacing:2px; margin:0 12px 14px; }
.care-nav { display:grid; gap:7px; }
.care-nav a, .care-nav button { display:flex; align-items:center; gap:12px; width:100%; padding:13px 15px; color:#94a3b8; background:none; border:0; border-radius:10px; text-decoration:none; font-size:14px; text-align:left; cursor:pointer; }
.care-nav i { width:18px; text-align:center; }
.care-nav a:hover, .care-nav button:hover { background:#ffffff08; color:#e2e8f0; }
.care-nav .active { color:var(--care-accent); background:#34d39912; }
.care-side-note { margin-top:34px; padding:16px; border:1px solid #ffffff12; border-radius:12px; color:#94a3b8; font-size:12px; line-height:1.8; }
.care-side-note i { color:var(--care-accent); margin-bottom:9px; display:block; font-size:22px; }
.care-main { margin-left:224px; max-width:1600px; padding:34px 36px 48px; }
.care-eyebrow { display:flex; align-items:center; gap:8px; color:var(--care-accent); font-size:11px; font-family:var(--font-mono); letter-spacing:2px; margin-bottom:12px; }
.care-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:26px; }
.care-heading h1 { font-size:28px; line-height:1.4; margin:0 0 8px; font-weight:700; }
.care-heading p { color:#94a3b8; font-size:14px; line-height:1.8; margin:0; }
.care-demo-note { display:flex; gap:10px; align-items:flex-start; padding:13px 16px; margin-bottom:24px; background:#fbbf2409; border:1px solid #fbbf2429; border-radius:10px; color:#cfb881; font-size:12px; line-height:1.8; }
.care-demo-note i { margin-top:4px; color:#fbbf24; }
.care-hero { position:relative; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:28px 30px; margin-bottom:28px; border:1px solid #34d39930; border-radius:18px; background:radial-gradient(ellipse at 80% 0%,#10b9811c,transparent 60%),#0e1928; overflow:hidden; }
.care-hero h2 { font-size:21px; margin:0 0 10px; }
.care-hero p { max-width:620px; font-size:13px; color:#a3b7bd; line-height:1.9; margin:0; }
.care-hero-symbol { width:84px; height:84px; display:grid; place-items:center; font-size:35px; color:var(--care-accent); border:1px solid #34d39935; border-radius:24px; background:#34d3990a; transform:rotate(-8deg); }
.care-process { display:flex; flex-wrap:wrap; gap:18px; margin-top:20px; color:#cbd5e1; font-size:12px; }
.care-process span { display:flex; gap:8px; align-items:center; }
.care-process b { display:grid; place-items:center; width:22px; height:22px; border:1px solid #34d39940; color:var(--care-accent); border-radius:50%; font-family:var(--font-mono); }
.care-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.care-section-heading h2 { margin:0; font-size:18px; }
.care-muted { color:#94a3b8; font-size:12px; line-height:1.8; }
.care-tools { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:22px; }
.care-search { flex:1; min-width:190px; max-width:360px; position:relative; }
.care-search i { position:absolute; top:15px; left:15px; color:#64748b; }
.care-search input { padding-left:40px; }
.care-input { width:100%; min-width:0; padding:12px 14px; color:#e2e8f0; background:#0d1828; border:1px solid #ffffff18; border-radius:10px; }
.care-input::placeholder { color:#64748b; }
.care-filters { display:flex; flex-wrap:wrap; gap:7px; }
.care-filter { padding:10px 14px; border:1px solid #ffffff16; background:#ffffff03; color:#94a3b8; border-radius:9px; font-size:12px; cursor:pointer; }
.care-filter.active { color:var(--care-accent); border-color:#34d39950; background:#34d39912; }
.care-doctors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.care-doctor { border:1px solid #ffffff15; border-radius:16px; background:#0d1728; padding:24px; transition:border-color .2s; min-width:0; }
.care-doctor:hover { border-color:#34d39945; }
.care-doctor-top { display:flex; gap:16px; align-items:center; margin-bottom:18px; }
.care-portrait { flex:0 0 auto; width:72px; height:80px; border-radius:14px; background:linear-gradient(145deg,#164e63,#0d2638); display:grid; place-items:center; position:relative; }
.care-portrait svg { width:64px; height:72px; }
.care-portrait[data-tone="rose"] { background:linear-gradient(145deg,#52243d,#241f35); }
.care-portrait[data-tone="amber"] { background:linear-gradient(145deg,#5b422a,#292b30); }
.care-portrait[data-tone="mint"] { background:linear-gradient(145deg,#145343,#132c30); }
.care-doctor h3 { font-size:19px; margin:0 0 6px; }
.care-doctor-subtitle { font-size:12px; color:var(--care-accent); line-height:1.7; }
.care-doctor-hospital { color:#94a3b8; font-size:12px; margin-top:4px; }
.care-tags { display:flex; flex-wrap:wrap; gap:6px; margin:15px 0; }
.care-tag { padding:5px 9px; font-size:11px; color:#b6c6da; background:#ffffff05; border:1px solid #ffffff12; border-radius:6px; }
.care-doctor-bio { font-size:12px; line-height:1.9; color:#94a3b8; margin:0; min-height:46px; }
.care-doctor-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:18px; margin-top:18px; border-top:1px solid #ffffff0f; }
.care-actions { display:flex; flex-wrap:wrap; gap:8px; }
.care-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 16px; border:1px solid #34d39945; border-radius:9px; color:#05251e; background:var(--care-accent); font-size:12px; font-weight:600; text-decoration:none; cursor:pointer; }
.care-button.secondary { color:#cbd5e1; background:#ffffff04; border-color:#ffffff20; }
.care-button:hover { filter:brightness(1.1); }
.care-empty { grid-column:1/-1; text-align:center; color:#94a3b8; padding:40px; border:1px dashed #ffffff20; border-radius:14px; }
.care-panel { background:#0d1728; border:1px solid #ffffff15; border-radius:16px; padding:24px; min-width:0; }
.care-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.care-stat { background:#0d1728; border:1px solid #ffffff15; border-radius:14px; padding:21px; }
.care-stat-head { display:flex; align-items:center; justify-content:space-between; color:#94a3b8; font-size:12px; gap:8px; }
.care-stat-head i { color:var(--care-accent); font-size:18px; }
.care-stat-value { font-family:var(--font-display); font-size:34px; font-weight:600; color:#f1f5f9; margin:12px 0 4px; }
.care-stat-value small { color:#94a3b8; font-size:12px; margin-left:6px; }
.care-overview { display:grid; grid-template-columns:1.5fr 1fr; gap:20px; margin-bottom:22px; }
.care-chart { width:100%; height:auto; display:block; margin-top:18px; overflow:visible; }
.care-chart text { font-size:11px; fill:#94a3b8; }
.care-chart .chart-axis { stroke:#ffffff12; stroke-width:1; }
.care-chart .chart-line { fill:none; stroke:var(--care-accent); stroke-width:3; stroke-linejoin:round; }
.care-chart .chart-dot { fill:var(--care-accent); stroke:#0d1728; stroke-width:3; }
.care-followup { display:grid; gap:14px; margin-top:20px; }
.care-followup-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-bottom:12px; border-bottom:1px solid #ffffff0d; }
.care-followup-row strong { display:block; color:#d5dfed; font-size:13px; margin-bottom:3px; }
.care-followup-row span { font-size:11px; color:#94a3b8; }
.care-link-button { background:none; color:var(--care-accent); border:0; cursor:pointer; font-size:12px; padding:7px; }
.care-table-wrap { overflow:auto; }
.care-table { width:100%; border-collapse:collapse; text-align:left; white-space:nowrap; }
.care-table th { color:#64748b; font-size:11px; font-weight:500; padding:12px; border-bottom:1px solid #ffffff15; }
.care-table td { color:#cbd5e1; font-size:12px; padding:16px 12px; border-bottom:1px solid #ffffff0c; }
.care-table .care-pill { padding:4px 8px; font-size:10px; }
.care-pill.amber { color:#fbbf24; background:#fbbf240a; border-color:#fbbf2430; }
.care-student-name { display:flex; align-items:center; gap:10px; }
.care-student-avatar { width:32px; height:32px; border-radius:10px; display:grid; place-items:center; color:var(--care-accent); background:#67e8f914; }
.care-bottom-note { font-size:11px; color:#64748b; text-align:center; margin-top:26px; line-height:1.8; }
.care-dialog { width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); color:#e2e8f0; background:#0d1728; padding:26px; border:1px solid #ffffff25; border-radius:18px; overflow:auto; margin:auto; box-shadow:0 28px 100px #0009; }
.care-dialog::backdrop { background:#030712c9; }
.care-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.care-dialog-header h2 { font-size:19px; margin:0; }
.care-close { display:grid; place-items:center; padding:10px; border:1px solid #ffffff20; border-radius:8px; background:#ffffff05; color:#cbd5e1; cursor:pointer; }
.care-detail { display:grid; gap:18px; }
.care-detail h3 { font-size:14px; margin:0 0 8px; }
.care-detail p { font-size:13px; line-height:1.9; color:#94a3b8; margin:0; }
.care-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.care-detail-grid div { padding:14px; border:1px solid #ffffff12; border-radius:10px; }
.care-detail-grid strong { display:block; color:var(--care-accent); font-size:22px; margin-bottom:5px; }
.care-chat { display:grid; gap:14px; max-height:290px; overflow-y:auto; padding:4px 3px; margin-bottom:20px; }
.care-message { max-width:88%; border-radius:12px; padding:12px 14px; background:#ffffff06; font-size:13px; line-height:1.8; overflow-wrap:anywhere; white-space:pre-wrap; }
.care-message small { display:block; color:var(--care-accent); font-size:10px; margin-bottom:4px; }
.care-message.user { justify-self:end; background:#34d39913; border:1px solid #34d39925; }
.care-chat-form label { display:block; color:#94a3b8; font-size:12px; margin-bottom:9px; }
.care-chat-form textarea { resize:vertical; min-height:88px; max-height:180px; }
.care-chat-form .care-actions { justify-content:flex-end; margin-top:12px; }
body.care-modal-open { overflow:hidden; }
@media(min-width:1550px) { .care-main { margin-right:auto; } }
@media(max-width:1100px) { .care-sidebar { width:190px; } .care-main { margin-left:190px; padding:28px 24px; } .care-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .care-overview { grid-template-columns:1fr; } .care-doctor { padding:19px; } }
@media(max-width:760px) {
  .care-header { height:64px; padding:0 16px; } .care-brand { font-size:19px; } .care-header-right { gap:10px; } .care-header-link { display:none; }
  .care-sidebar { top:auto; bottom:0; width:100%; padding:9px 8px calc(9px + env(safe-area-inset-bottom)); border-top:1px solid #ffffff15; border-right:0; overflow:auto; }
  .care-nav { display:flex; width:max-content; min-width:100%; justify-content:space-around; gap:6px; } .care-nav a, .care-nav button { flex:0 0 auto; width:auto; padding:9px 12px; font-size:11px; gap:6px; white-space:nowrap; }
  .care-nav-caption, .care-side-note { display:none; } .care-main { margin-left:0; padding:25px 16px 106px; } .care-heading h1 { font-size:24px; } .care-heading { gap:10px; } .care-heading p { font-size:12px; }
  .care-doctors { grid-template-columns:1fr; gap:14px; } .care-hero { padding:22px; gap:12px; } .care-hero-symbol { width:52px; height:60px; font-size:25px; border-radius:16px; } .care-hero h2 { font-size:17px; }
  .care-process { gap:12px; font-size:10px; } .care-process b { width:19px; height:19px; } .care-search { max-width:none; } .care-tools { gap:13px; } .care-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; } .care-filter { padding:9px 8px; }
  .care-stats { gap:10px; } .care-stat { padding:16px; } .care-stat-value { font-size:29px; } .care-panel { padding:18px; } .care-dialog { padding:20px; } .care-detail-grid { gap:7px; } .care-detail-grid div { padding:10px; }
}
