.patient-detail-v2{--fs-display: 1.5rem;--fs-title: 1rem;--fs-body: .9rem;--fs-meta: .8rem;--fs-micro: .7rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--r-chip: 4px;--r-card: 10px;--r-field: 6px;--r-avatar-sq: 8px;--r-pill: 999px;--accent: var(--brand);--text-2: var(--muted);--text-3: #9a9282;--border-light: #ece5d5;--chip-border-width: 1px;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}.patient-detail-v2 .t-display{font-size:var(--fs-display);font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin:0}.patient-detail-v2 .t-title{font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:1.3;color:var(--ink);margin:0}.patient-detail-v2 .t-body{font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:1.45;color:var(--ink)}.patient-detail-v2 .t-meta{font-size:var(--fs-meta);font-weight:var(--fw-regular);line-height:1.4;color:var(--text-2)}.patient-detail-v2 .t-micro{font-size:var(--fs-micro);font-weight:var(--fw-semibold);line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.patient-detail-v2 .mono-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.patient-detail-v2 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.patient-detail-v2 .pd-back{background:none;border:none;color:var(--brand);cursor:pointer;font-size:var(--fs-meta);padding:0 0 var(--sp-3)}.patient-detail-v2 .pd-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title  action" "meta   meta";column-gap:var(--sp-4);row-gap:var(--sp-2);align-items:baseline;margin-bottom:var(--sp-4)}.patient-detail-v2 .pd-header__title{grid-area:title}.patient-detail-v2 .pd-header__action{grid-area:action;align-self:start;display:flex;gap:var(--sp-2)}.patient-detail-v2 .pd-header__meta{grid-area:meta}.patient-detail-v2 .pd-meta{display:flex;flex-direction:column;gap:var(--sp-1)}.patient-detail-v2 .pd-meta__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);min-height:20px}.patient-detail-v2 .pd-meta__row--secondary{font-size:var(--fs-meta);color:var(--text-2);gap:var(--sp-5)}.patient-detail-v2 .pd-meta__pairs{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-meta);color:var(--text-2);margin-left:var(--sp-2)}.patient-detail-v2 .pd-meta__pair{display:inline-flex;align-items:baseline;gap:var(--sp-1)}.patient-detail-v2 .pd-meta__pair-label{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.patient-detail-v2 .section-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--r-card);padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.patient-detail-v2 .section-card[data-label]:before{content:attr(data-label);display:block;font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);line-height:1.3}.patient-detail-v2 .section-card[data-label][data-suffix]:before{content:attr(data-label) " ·" attr(data-suffix)}.patient-detail-v2 .pd-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-5);align-items:start}.patient-detail-v2 .pd-column{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}@media(max-width:960px){.patient-detail-v2 .pd-grid{grid-template-columns:minmax(0,1fr)}}.patient-detail-v2 .chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:var(--fw-semibold);line-height:1.5;background:var(--surface-alt);color:var(--text-2);border:var(--chip-border-width) solid var(--border-light);white-space:nowrap;letter-spacing:.02em}.patient-detail-v2 .chip--square{border-radius:var(--r-chip)}.patient-detail-v2 .chip--amber{background:#fef3c7;color:#92400e;border-color:#fde68a}.patient-detail-v2 .chip--red{background:#fee2e2;color:#991b1b;border-color:#fecaca}.patient-detail-v2 .chip--green{background:#dcfce7;color:#166534;border-color:#bbf7d0}.patient-detail-v2 .chip--blue{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.patient-detail-v2 .chip--yellow{background:#fef9c3;color:#854d0e;border-color:#fde68a}.patient-detail-v2 .chip--teal{background:#ecfeff;color:#155e75;border-color:#a5f3fc}.patient-detail-v2 .chip--neutral{background:var(--surface-alt);color:var(--text-2);border-color:var(--border-light)}.patient-detail-v2 .chip--hha{background:#fef1e6;color:#a14813;border-color:#f9c59a}.patient-detail-v2 .chip--ddd{background:#e3f2f5;color:#1f5a69;border-color:#a6d4de}.patient-detail-v2 .chip--esa{background:#f1ebfb;color:#5b2ea4;border-color:#d0bdf2}.patient-detail-v2 .chip--school{background:#fbeaea;color:#8d3a3a;border-color:#eabfbf}.patient-detail-v2 .chip--standard{background:#ebecff;color:#3f43b8;border-color:#c3c6ff}.patient-detail-v2 .banner-today{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);background:#fef3c7;border:1px solid #fde68a;margin-bottom:var(--sp-4)}.patient-detail-v2 .banner-today__label{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:#92400e}.patient-detail-v2 .banner-today__cta{border:none;background:#b45309;color:#fff;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-field);font-weight:var(--fw-semibold);font-size:var(--fs-meta);cursor:pointer}.patient-detail-v2 .clinical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-3) var(--sp-4)}.patient-detail-v2 .clinical-row{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.patient-detail-v2 .clinical-label{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.patient-detail-v2 .clinical-label--red{color:#b91c1c}.patient-detail-v2 .clinical-value{font-size:var(--fs-body);color:var(--ink);line-height:1.45}.patient-detail-v2 .clinical-value--primary{font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:1.3;letter-spacing:-.005em}.patient-detail-v2 .clinical-value.mono-nums{font-size:var(--fs-meta);color:var(--text-2)}.patient-detail-v2 .clinical-secondary{font-size:var(--fs-meta);color:var(--text-2);line-height:1.4}.patient-detail-v2 .goals-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3)}@media(max-width:720px){.patient-detail-v2 .goals-grid{grid-template-columns:minmax(0,1fr)}}.patient-detail-v2 .goals-col{display:flex;flex-direction:column;gap:var(--sp-2)}.patient-detail-v2 .goals-col__label{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;line-height:1.2}.patient-detail-v2 .goals-col__label--stg{color:#2e7d90}.patient-detail-v2 .goals-col__label--ltg{color:#6b3fb5}.patient-detail-v2 .goals-col ul{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:var(--sp-1)}.patient-detail-v2 .goals-col li{font-size:var(--fs-body);color:var(--ink);line-height:1.45}.patient-detail-v2 .sessions-list{display:flex;flex-direction:column;gap:var(--sp-2)}.patient-detail-v2 .session-row{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-field);background:var(--surface-alt);font-size:var(--fs-body);border:1px solid transparent}.patient-detail-v2 .session-row__date{color:var(--ink);font-weight:var(--fw-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-detail-v2 .session-row__therapist{color:var(--text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-detail-v2 .page-btn{align-self:flex-start;margin-top:var(--sp-1);border:none;background:none;color:var(--accent);cursor:pointer;font-size:var(--fs-meta);font-weight:var(--fw-bold);padding:2px 0}.patient-detail-v2 .empty-state{font-size:var(--fs-meta);color:var(--text-2);padding:2px 0}.patient-detail-v2 .field-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:2px 0;font-size:var(--fs-meta)}.patient-detail-v2 .field-row+.field-row{border-top:1px solid var(--border-light);padding-top:var(--sp-2);margin-top:var(--sp-1)}.patient-detail-v2 .field-row__label{color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0}.patient-detail-v2 .field-row__value{color:var(--ink);font-size:var(--fs-meta);font-weight:var(--fw-medium);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.patient-detail-v2 .contact-line{display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-meta);color:var(--ink);flex-wrap:wrap}.patient-detail-v2 .contact-line+.contact-line{margin-top:var(--sp-1)}.patient-detail-v2 .contact-line__label{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);min-width:92px;white-space:nowrap}.patient-detail-v2 .contact-line__number{font-size:var(--fs-meta)}.patient-detail-v2 .contact-line__number a{font-weight:var(--fw-medium);text-decoration:none}.patient-detail-v2 .contact-line__number--primary a{color:var(--accent);font-weight:var(--fw-semibold)}.patient-detail-v2 .contact-line__number--secondary a{color:var(--text-2)}.patient-detail-v2 .contact-address{margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--border-light);font-size:var(--fs-meta);color:var(--text-2);line-height:1.4}.patient-detail-v2 .pd-info-card{gap:var(--sp-3)}.patient-detail-v2 .pd-info-card__facts{display:flex;flex-direction:column;gap:var(--sp-1)}.patient-detail-v2 .pd-info-card__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-meta);line-height:1.4}.patient-detail-v2 .pd-info-card__label{color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--fw-regular);letter-spacing:0;text-transform:none;flex-shrink:0}.patient-detail-v2 .pd-info-card__value{color:var(--ink);font-size:var(--fs-meta);font-weight:var(--fw-medium);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.patient-detail-v2 .pd-info-card__contacts{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border-light)}.patient-detail-v2 .pd-info-card__contact{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-meta)}.patient-detail-v2 .pd-info-card__contact-label{color:var(--text-2);font-size:var(--fs-meta);font-weight:var(--fw-regular);letter-spacing:0;text-transform:none;line-height:1.3}.patient-detail-v2 .pd-info-card__contact-number{font-size:var(--fs-meta);line-height:1.3}.patient-detail-v2 .pd-info-card__contact-number a{text-decoration:none;font-weight:var(--fw-medium)}.patient-detail-v2 .pd-info-card__contact-number--primary a{color:var(--accent);font-weight:var(--fw-semibold)}.patient-detail-v2 .pd-info-card__contact-number--secondary a{color:var(--text-2)}.patient-detail-v2 .pd-info-card__address{margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--border-light);font-size:var(--fs-meta);color:var(--text-2);line-height:1.4}.patient-detail-v2 .pd-insurance-card__grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}.patient-detail-v2 .pd-insurance-card--multi .pd-insurance-card__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.patient-detail-v2 .pd-insurance-card--empty .pd-insurance-card__empty-text{font-size:var(--fs-meta);color:var(--text-3);font-style:italic}.patient-detail-v2 .pd-insurance-card__policy{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border-light);border-radius:var(--r-field);background:var(--surface-2, transparent)}.patient-detail-v2 .pd-insurance-card__policy-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.patient-detail-v2 .pd-insurance-card__policy-title{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.patient-detail-v2 .pd-insurance-card__plan-type-pill{font-size:var(--fs-micro);font-weight:var(--fw-semibold);padding:2px var(--sp-2);border-radius:999px;background:var(--chip-bg, rgba(0, 0, 0, .05));color:var(--text-2);line-height:1.4}.patient-detail-v2 .pd-insurance-card__insurer{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-1);line-height:1.3}.patient-detail-v2 .pd-insurance-card__plan-name{font-weight:var(--fw-regular);color:var(--text-2)}.patient-detail-v2 .pd-insurance-card__rows{display:flex;flex-direction:column;gap:var(--sp-1)}.patient-detail-v2 .pd-insurance-card__row{display:grid;grid-template-columns:100px 1fr;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-meta);line-height:1.3}.patient-detail-v2 .pd-insurance-card__label{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.patient-detail-v2 .pd-insurance-card__value{color:var(--text-1)}.patient-detail-v2 .pd-insurance-card__member-id{display:inline-flex;align-items:baseline;gap:var(--sp-2);font-variant-numeric:tabular-nums}.patient-detail-v2 .pd-insurance-card__reveal-btn{background:transparent;border:1px solid var(--border-light);border-radius:var(--r-chip);padding:0 var(--sp-2);font-size:var(--fs-micro);color:var(--text-2);cursor:pointer}.patient-detail-v2 .pd-insurance-card__reveal-btn:hover{color:var(--text-1);border-color:var(--text-3)}.patient-detail-v2 .pd-insurance-card__auth-required{color:var(--warning, #b45309);font-weight:var(--fw-semibold)}.patient-detail-v2 .pd-insurance-card__footer{margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--border-light);font-size:var(--fs-micro);color:var(--text-3)}.patient-detail-v2 .upcoming-list{display:flex;flex-direction:column;gap:var(--sp-2)}.patient-detail-v2 .upcoming-row{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) 0;border-bottom:1px solid var(--border-light)}.patient-detail-v2 .upcoming-row:last-child{border-bottom:none}.patient-detail-v2 .upcoming-row__date{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--ink)}.patient-detail-v2 .upcoming-row__meta{font-size:var(--fs-meta);color:var(--text-2)}.patient-detail-v2 .pd-upcoming-card-button{text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%;transition:background .12s ease,border-color .12s ease}.patient-detail-v2 .pd-upcoming-card-button:hover{background:var(--surface-alt);border-color:var(--accent)}.patient-detail-v2 .pd-upcoming-card-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.patient-detail-v2 .pd-upcoming__affordance{align-self:flex-end;font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--accent)}.patient-detail-v2 .pd-form{display:grid;gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-3)}.patient-detail-v2 .pd-form__row{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end}.patient-detail-v2 .pd-form label{display:grid;gap:var(--sp-1);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.patient-detail-v2 .pd-form label>span{line-height:1.3}.patient-detail-v2 .pd-field{width:100%;padding:6px var(--sp-2);border:1px solid var(--border-light);border-radius:var(--r-field);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-body);font-weight:var(--fw-regular);letter-spacing:0;text-transform:none}.patient-detail-v2 .pd-field:focus{outline:2px solid var(--brand);outline-offset:-2px;border-color:transparent}.patient-detail-v2 .pd-field--short{width:auto;min-width:120px}.patient-detail-v2 .pd-btn{padding:6px var(--sp-3);border-radius:var(--r-field);border:none;cursor:pointer;font:inherit;font-size:var(--fs-meta);font-weight:var(--fw-semibold);line-height:1.3}.patient-detail-v2 .pd-btn--primary{background:var(--brand);color:#fff}.patient-detail-v2 .pd-btn--primary:disabled{background:var(--muted);color:#fff;cursor:not-allowed}.patient-detail-v2 .pd-btn--ghost{background:transparent;border:1px solid var(--border-light);color:var(--ink)}.patient-detail-v2 .pd-btn--danger{background:transparent;border:none;color:#b00020;padding:2px var(--sp-2);font-size:var(--fs-meta)}.patient-detail-v2 .pd-btn--toggle{background:transparent;border:1px solid var(--border-light);color:var(--ink)}.patient-detail-v2 .pd-btn--toggle[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.patient-detail-v2 .comm-error{font-size:var(--fs-meta);color:#b00020}.patient-detail-v2 .comm-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.patient-detail-v2 .comm-entry{display:flex;flex-direction:column;gap:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--border-light)}.patient-detail-v2 .comm-entry__head{display:flex;align-items:baseline;gap:var(--sp-2)}.patient-detail-v2 .comm-entry__glyph{font-size:var(--fs-body);line-height:1}.patient-detail-v2 .comm-entry__author{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--ink)}.patient-detail-v2 .comm-entry__date{font-size:var(--fs-meta);color:var(--text-2)}.patient-detail-v2 .comm-entry__spacer{flex:1}.patient-detail-v2 .comm-entry__body{font-size:var(--fs-body);color:var(--ink);line-height:1.45;white-space:pre-wrap;margin:0}.patient-detail-v2 .pd-autosave{display:inline-flex;align-items:center;gap:var(--sp-2);padding:2px 10px;border-radius:999px;font-size:var(--fs-meta);line-height:1.4;background:var(--canvas);color:var(--muted);border:1px solid var(--border-light);white-space:nowrap}.patient-detail-v2 .pd-autosave--saving{color:var(--muted)}.patient-detail-v2 .pd-autosave--saved{color:#2f7a3d;border-color:#2f7a3d4d;background:#2f7a3d0f}.patient-detail-v2 .pd-autosave--error{color:#b00020;border-color:#b000204d;background:#b000200f}.patient-detail-v2 .pd-autosave__retry{background:transparent;border:0;padding:0;margin:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}.patient-detail-v2 .pd-autosave__retry:hover{text-decoration:none}
