:root {
  --patient-blue:#0969f0;
  --patient-blue-dark:#0b2f73;
  --patient-soft:#eef6ff;
  --patient-line:#dbe7f6;
  --patient-gold:#f5a623;
}
.vq-patient-dashboard { background:#f6f9fd; color:#10264f; }
.patient-shell { width:100%; max-width:100vw; min-width:0; min-height:100vh; display:grid; grid-template-columns:15.25rem minmax(0,1fr); overflow:hidden; }
.patient-sidebar { min-width:0; position:sticky; top:0; height:100vh; overflow:auto; padding:1.25rem .9rem; border-right:1px solid var(--patient-line); background:#fff; }
.patient-brand { display:grid; gap:.45rem; justify-items:start; padding:.2rem .55rem 1.25rem; text-decoration:none; }
.patient-brand img { width:7.6rem; height:auto; }
.patient-brand__tagline { max-width:11rem; color:#506a91; font-size:.66rem; line-height:1.25; }
.patient-nav { display:grid; gap:.28rem; }
.patient-nav a,.patient-nav summary { min-height:2.9rem; display:flex; align-items:center; gap:.72rem; padding:.7rem .78rem; border-radius:.7rem; color:#143568; font-weight:650; text-decoration:none; cursor:pointer; }
.patient-nav a:hover,.patient-nav summary:hover { background:#f2f7fe; }
.patient-nav a[aria-current="page"] { background:#e7f2ff; color:#075fd8; }
.patient-nav__icon { width:1.35rem; text-align:center; font-size:1.08rem; }
.patient-education { border-radius:.75rem; }
.patient-education summary { list-style:none; }
.patient-education summary::-webkit-details-marker { display:none; }
.patient-education__items { display:grid; gap:.1rem; margin:.1rem 0 .4rem 1.4rem; padding-left:.75rem; border-left:1px solid #cfe0f5; }
.patient-education__items a { min-height:2.35rem; padding:.45rem .65rem; font-size:.89rem; }
.patient-education__items a[aria-disabled="true"] { color:#7c8ca8; }
.education-state { margin-left:auto; font-size:.66rem; color:#7183a0; }
.patient-plan { margin-top:1.25rem; padding:1rem; border:1px solid #d7e6f9; border-radius:1rem; background:linear-gradient(145deg,#f3fbff,#edf5ff); }
.patient-plan strong { display:block; color:#0756a8; }
.patient-plan p { margin:.4rem 0 .8rem; color:#526987; font-size:.82rem; }
.patient-workspace { width:100%; max-width:100%; min-width:0; overflow-x:clip; }
.patient-topbar { width:100%; max-width:100%; min-width:0; min-height:4.15rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.75rem; padding:.7rem 1.35rem; border-bottom:1px solid #e4edf8; background:rgba(255,255,255,.96); position:sticky; top:0; z-index:40; }
.patient-topbar a,.patient-topbar button { text-decoration:none; }
.patient-account { display:flex; align-items:center; gap:.58rem; color:#173564; font-weight:700; }
.patient-avatar { width:2.25rem; height:2.25rem; display:grid; place-items:center; border-radius:50%; background:#4f91ef; color:#fff; }
.patient-main { width:100%; max-width:96rem; min-width:0; margin-inline:auto; padding:0 1.35rem 2rem; }
.patient-main > * { min-width:0; max-width:100%; }
.patient-hero { position:relative; overflow:hidden; min-height:15.5rem; margin-top:1rem; padding:1.55rem 1.65rem; border:1px solid #d6e8fb; border-radius:1rem; background:linear-gradient(105deg,#dff2ff 0%,#edf9ff 48%,#f8fcff 100%); box-shadow:0 10px 30px rgb(36 85 140 / .08); }
.patient-hero::after { content:""; position:absolute; right:-3rem; top:-5rem; width:20rem; height:20rem; border-radius:50%; background:radial-gradient(circle,#bfe6ff 0%,rgba(191,230,255,0) 68%); }
.patient-hero__content { position:relative; z-index:2; max-width:calc(100% - 20rem); }
.patient-hero__image { position:absolute; z-index:1; right:0; bottom:0; width:20rem; height:100%; object-fit:cover; object-position:center; border-radius:0 1rem 1rem 0; mask-image:linear-gradient(90deg,transparent 0%,#000 20%); -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 20%); }
.patient-hero__eyebrow { margin:0 0 .25rem; color:#3474be; font-size:.83rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.patient-hero h1 { margin:0; color:#102c5c; font-size:clamp(1.8rem,3vw,2.35rem); line-height:1.12; }
.patient-hero__lead { margin:.35rem 0 1rem; color:#3c6797; font-size:1.05rem; }
.patient-search { display:grid; grid-template-columns:minmax(14rem,2.1fr) minmax(9rem,.8fr) minmax(9rem,.9fr) minmax(10rem,.9fr) auto; gap:.55rem; padding:.58rem; border:1px solid #d4e5f7; border-radius:.85rem; background:#fff; box-shadow:0 8px 20px rgb(34 83 139 / .08); }
.patient-search .vq-field { gap:.18rem; }
.patient-search label { font-size:.7rem; color:#647b99; }
.patient-search .vq-input,.patient-search .vq-select { min-height:2.7rem; border-color:#e0e8f3; background:#fbfdff; }
.patient-search .vq-button { min-height:2.7rem; align-self:end; background:var(--patient-blue); }
.patient-search-pills { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.75rem; }
.patient-search-pills button { border:1px solid #c9ddf4; border-radius:999px; padding:.5rem .85rem; background:#f7fbff; color:#174778; font-weight:700; cursor:pointer; }
.patient-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-top:.2rem; }
.patient-section-heading h2 { margin:0; color:#102d5d; font-size:1.25rem; }
.patient-section-heading p { margin:.2rem 0 0; color:#6a7e98; font-size:.88rem; }
.patient-overview-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(18rem,.75fr); gap:1rem; }
.patient-overview-grid > * { min-width:0; }
.health-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.health-item { border-color:#dce7f4; border-radius:.9rem; box-shadow:0 5px 18px rgb(23 67 117 / .05); }
.health-item h3 { color:#112e5c; }
.health-provider-card::before { content:""; display:block; height:6.5rem; margin:-1rem -1rem .75rem; border-radius:.85rem .85rem .4rem .4rem; background:linear-gradient(135deg,#bfe4ff,#eaf6ff 48%,#c9e1ff); }
.patient-upcoming { align-self:start; }
.patient-upcoming__body { min-height:10rem; display:grid; align-content:start; gap:.65rem; }
.patient-upcoming__date { display:inline-flex; width:max-content; padding:.32rem .55rem; border-radius:.55rem; background:#e8f4ff; color:#075fd8; font-weight:750; }
.patient-profile-setup { border-style:dashed; box-shadow:none; }
.patient-tools { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:.6rem; }
.patient-tool { min-height:8.4rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; padding:.85rem .5rem; border:1px solid #dfe8f3; border-radius:.85rem; background:#fff; color:#183968; text-align:center; text-decoration:none; }
.patient-tool:hover { border-color:#9fc8f7; background:#f8fbff; }
.patient-tool__icon { width:2.15rem; height:2.15rem; display:grid; place-items:center; border-radius:.65rem; background:#eaf4ff; font-size:1.1rem; }
.patient-tool strong { font-size:.86rem; }
.patient-tool small { color:#6f819a; font-size:.7rem; line-height:1.25; }
.patient-tool.is-locked { background:#fcfdff; }
.patient-lock { margin-top:.18rem; padding:.18rem .48rem; border-radius:999px; background:#fff3d7; color:#9a6400; font-size:.65rem; font-weight:750; }
.health-tabs { border-color:#dce7f4; box-shadow:0 5px 15px rgb(28 66 112 / .04); }
.health-tabs button[aria-pressed="true"] { background:var(--patient-blue); border-color:var(--patient-blue); }
.patient-dashboard .vq-button,.vq-patient-dashboard .vq-button { border-radius:.62rem; }
@media (max-width:78rem) {
  .patient-shell { grid-template-columns:12.75rem minmax(0,1fr); }
  .patient-main { padding-inline:.9rem; }
  .patient-hero__content { max-width:100%; }
  .patient-hero__image { display:none; }
  .patient-search { grid-template-columns:1fr 1fr; }
  .patient-search .health-form-action { grid-column:1/-1; }
  .patient-tools { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .health-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:60rem) {
  .patient-shell { display:block; }
  .patient-sidebar { position:relative; width:100%; height:auto; padding:.7rem; border-right:0; border-bottom:1px solid var(--patient-line); }
  .patient-brand { padding-bottom:.65rem; }
  .patient-nav { display:flex; overflow-x:auto; padding-bottom:.2rem; }
  .patient-nav > a,.patient-nav > details { flex:0 0 auto; }
  .patient-education__items { position:absolute; z-index:60; min-width:12rem; margin:0; padding:.45rem; border:1px solid #dce7f4; border-radius:.65rem; background:#fff; box-shadow:0 12px 28px rgb(17 54 96 / .14); }
  .patient-plan { display:none; }
  .patient-topbar { top:0; }
  .patient-main { padding-inline:.8rem; }
  .patient-overview-grid { grid-template-columns:1fr; }
}
@media (max-width:42rem) {
  .patient-topbar { min-height:3.5rem; padding:.5rem .75rem; }
  .patient-main { padding-inline:.55rem; }
  .patient-hero { padding:1.05rem; border-radius:.8rem; }
  .patient-search { grid-template-columns:1fr; }
  .patient-search .health-form-action { grid-column:auto; }
  .patient-search-pills { overflow-x:auto; flex-wrap:nowrap; padding-bottom:.2rem; }
  .patient-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .health-list { grid-template-columns:1fr; }
  .patient-section-heading { align-items:flex-start; flex-direction:column; }
}
