/* Patient reference composition. Existing routes and policy controllers retained. */
.mq-demo-tools { position:fixed; bottom:12px; left:12px; z-index:120; max-width:calc(100vw - 24px); border:1px solid #cbd5e1; border-radius:8px; background:#fff; box-shadow:0 4px 18px #0f172a12; font:12px var(--hp-font); }
.mq-demo-tools > summary { padding:12px; cursor:pointer; color:#475569; min-height:44px; }
.mq-demo-tools .global-persona-bar { position:static; flex-wrap:wrap; gap:12px; height:auto; padding:12px; }
.mq-demo-tools .global-persona-brand { display:none; }
.mq-demo-tools .persona-switcher { flex-wrap:wrap; }
.mq-demo-tools .persona-tab { min-height:44px; }
#patient-portal-app .app-shell { min-height:100dvh; }
#patient-portal-app .sidebar { padding-top:0; }
#patient-portal-app .sidebar > .brand { min-height:76px; margin-bottom:8px; border-bottom:1px solid #e2e8f0; }
#patient-portal-app .topbar { min-height:76px; }
.hp-search-result { color:#64748b; font-size:11px; margin:0 0 10px; }
#patient-portal-app { background:#f3f8ff; }
body:has(#patient-portal-app:not([hidden])) .global-persona-bar { min-height:44px; padding-top:6px; padding-bottom:6px; }
#patient-portal-app .app-shell { grid-template-columns:216px minmax(0,1fr); }
#patient-portal-app .sidebar { background:linear-gradient(#fff,#f1f7ff); padding:20px 12px; }
#patient-portal-app .side-foot { margin-top:24px; }
.hp-quick-links { display:grid; gap:10px; margin-bottom:24px; }
.hp-quick-links strong { font-size:12px; margin-top:12px; }
#patient-portal-app .topbar { padding:12px 24px; gap:20px; }
#patient-portal-app .topbar .context { display:none; }
.hp-search { display:flex; align-items:center; gap:12px; flex:1; max-width:660px; background:#f1f5fc; border:1px solid #dce7f6; border-radius:12px; padding:0 14px; color:#537399; }
.hp-search input { width:100%; height:44px; border:0; background:transparent; font:14px var(--hp-font); outline-offset:2px; }
#patient-portal-app main { max-width:1800px; padding:24px; }
#patient-portal-app [data-page="home"] { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr); gap:14px; }
#patient-portal-app [data-page="home"][hidden] { display:none; }
#patient-portal-app [data-page="home"] > .page-head { grid-column:1/-1; padding:2px 8px 8px; margin:0; }
#patient-portal-app .page-head h1 { font-size:28px; }
#patient-portal-app [data-page="home"] .eyebrow { display:none; }
#patient-portal-app .summary-grid { grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
#patient-portal-app .summary-card { padding:16px 20px 16px 74px; position:relative; min-height:98px; }
#patient-portal-app .summary-card::before { content:'▧'; position:absolute; left:16px; top:24px; display:grid; place-items:center; width:44px; height:44px; background:#e1f4f9; color:#0891b2; border-radius:12px; font-size:26px; }
#patient-portal-app .summary-card:nth-child(2)::before { content:'✓'; color:#ea7705; background:#fff0df; }
#patient-portal-app .summary-card:nth-child(3)::before { content:'↗'; color:#2563eb; background:#e8f1ff; }
#patient-portal-app .summary-card:nth-child(4)::before { content:'◇'; color:#7c3aed; background:#f1eaff; }
#patient-portal-app .summary-card .value { font-size:21px; }
#patient-portal-app .hp-read-state { grid-column:1/-1; margin:0; font-size:11px; text-align:right; }
#patient-portal-app [data-page="home"] .dashboard-grid, #patient-portal-app [data-page="home"] .dashboard-grid > .stack { display:contents; }
#patient-portal-app .hp-reference-consent { grid-column:1/3; grid-row:4; border-color:#fed7aa; background:#fffdfa; }
#patient-portal-app .hp-reference-protection { grid-column:3; grid-row:4; }
#patient-portal-app .hp-reference-studies { grid-column:1; grid-row:5; }
#patient-portal-app .hp-reference-preview { grid-column:2; grid-row:5; }
#patient-portal-app .hp-reference-progress { grid-column:3; grid-row:5; }
#patient-portal-app .hp-reference-help { grid-column:1/3; grid-row:6; display:flex; align-items:center; justify-content:space-between; gap:20px; }
#patient-portal-app .hp-reference-faq { grid-column:3; grid-row:6; }
#patient-portal-app [data-page="home"] .dashboard-grid .notice { grid-column:1/-1; grid-row:7; padding:10px; font-size:11px; }
#patient-portal-app .panel-pad { padding:18px; }
#patient-portal-app .panel h2 { font-size:17px; }
#patient-portal-app .panel-head { margin-bottom:14px; }
#patient-portal-app .hp-reference-consent .action-card { border:0; background:transparent; padding:8px 0; }
#patient-portal-app .hp-reference-consent .action-card h3 { color:#c2410c; }
#patient-portal-app .hp-reference-consent .panel-head { margin-bottom:0; }
#patient-portal-app .hp-reference-consent .action-card { box-shadow:none; }
#patient-portal-app .hp-reference-protection .hp-protection { gap:8px; margin:8px 0; }
#patient-portal-app .hp-reference-protection .hp-protection li { font-size:13px; }
#patient-portal-app .hp-reference-protection > a { display:none; }
#patient-portal-app .hp-study-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#patient-portal-app .hp-study-card { padding:12px; min-width:0; }
#patient-portal-app .hp-study-art { height:110px; background:#0f172a; color:#e2e8f0; border-radius:8px; }
#patient-portal-app .hp-study-card h3 { font-size:14px; margin:12px 0 4px; }
#patient-portal-app .hp-study-card p { font-size:11px; }
#patient-portal-app .hp-study-actions { display:grid; grid-template-columns:1fr; }
#patient-portal-app .hp-study-card[hidden] { display:none; }
#patient-portal-app .hp-reference-studies .subtle { display:none; }
#patient-portal-app .hp-reference-studies .hp-button { padding:8px; font-size:12px; }
.hp-preview-stage { height:220px; margin:12px 0; padding:12px; color:#dbeafe; border-radius:8px; background:#0b1526; }
.hp-preview-empty { display:grid; place-items:center; text-align:center; gap:6px; font-size:12px; }
.hp-preview-empty > span { font-size:42px; }
.hp-preview-empty p { color:#aabdd6; line-height:1.7; }
.hp-reference-preview > button { width:100%; }
.hp-flow { display:flex; list-style:none; padding:14px 0; margin:10px 0; justify-content:space-between; border-top:2px solid #dbeafe; gap:8px; font-size:11px; color:#64748b; }
.hp-status-note { background:#eff6ff; padding:12px; border-radius:8px; font-size:12px; line-height:1.6; }
.hp-reference-progress h3 { font-size:15px; margin-top:20px; }
.hp-reference-progress p, .hp-reference-help p, .hp-reference-faq p { font-size:12px; line-height:1.7; color:#64748b; }
.hp-help-actions { display:flex; flex-wrap:wrap; gap:8px; }
.hp-reference-faq details { padding:10px 0; font-size:12px; color:#476181; }
.hp-reference-faq summary { cursor:pointer; min-height:30px; }
@media(min-width:1350px) {
  #patient-portal-app main { padding:18px 24px; }
  #patient-portal-app .topbar { min-height:56px; padding:8px 24px; }
  #patient-portal-app .summary-card { min-height:86px; padding-top:12px; padding-bottom:12px; }
  #patient-portal-app .summary-card::before { top:18px; }
  #patient-portal-app .hp-reference-consent, #patient-portal-app .hp-reference-protection { padding:14px 18px; }
  #patient-portal-app .hp-reference-consent .action-card { grid-template-columns:42px 1fr auto; }
  #patient-portal-app .hp-reference-studies .hp-study-art { height:104px; }
  #patient-portal-app .hp-study-actions { grid-template-columns:1fr 1fr; }
  .hp-preview-stage { height:210px; }
  #patient-portal-app .hp-reference-consent { min-height:156px; }
  #patient-portal-app .hp-reference-progress .panel-head .hp-button { border:0; color:var(--hp-color-primary); padding:4px; }
  #patient-portal-app .hp-reference-help { min-height:118px; }
}
@media(max-width:1150px) {
  #patient-portal-app [data-page="home"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #patient-portal-app [data-page="home"] > *, #patient-portal-app [data-page="home"] .panel, #patient-portal-app [data-page="home"] .notice { grid-row:auto; grid-column:auto; }
  #patient-portal-app [data-page="home"] > .page-head, #patient-portal-app .summary-grid, #patient-portal-app .hp-read-state, #patient-portal-app .hp-reference-consent { grid-column:1/-1; }
  #patient-portal-app .summary-card { padding:16px; } #patient-portal-app .summary-card::before { display:none; }
}
@media(max-width:767px) {
  #patient-portal-app .app-shell { display:block; }
  #patient-portal-app [data-page="home"] { display:flex; flex-direction:column; }
  #patient-portal-app .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #patient-portal-app main { padding:16px; }
  #patient-portal-app .hp-reference-help { flex-direction:column; align-items:flex-start; }
  .hp-quick-links { display:none; } .hp-search { min-width:100%; }
}
