* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #f6f7f9;
    color: #17202a;
}
a { color: inherit; }
.topbar {
    background: #ffffff;
    border-bottom: 1px solid #dfe4ea;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 28px;
    position: sticky;
    top: 0;
    z-index: 5;
}
.brand { text-decoration: none; font-weight: 700; display: flex; flex-direction: column; gap: 2px; }
.brand small { color: #697386; font-weight: 500; font-size: 12px; }
.navlinks { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.navlinks a {
    border-radius: 6px;
    color: #344054;
    padding: 8px 10px;
    text-decoration: none;
}
.navlinks a.active, .navlinks a:hover { background: #eef3f8; color: #0f3d5e; }
.shell { max-width: 1180px; margin: 0 auto; padding: 28px; }
.page-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}
.page-title h1 { font-size: 28px; line-height: 1.15; margin: 4px 0 0; }
.eyebrow { color: #697386; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.card, .panel {
    background: #ffffff;
    border: 1px solid #dfe4ea;
    border-radius: 8px;
    padding: 18px;
}
.card { text-decoration: none; transition: border-color .15s, transform .15s; }
.card:hover { border-color: #8aa8c4; transform: translateY(-1px); }
.card strong { display: block; margin-bottom: 8px; }
.card span, .muted { color: #697386; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.stat { background: #ffffff; border: 1px solid #dfe4ea; border-radius: 8px; padding: 14px; }
.stat .label { color: #697386; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.stat .value { font-size: 26px; font-weight: 700; margin-top: 8px; }
.section-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 22px 0 10px;
}
.section-heading h2 {
    font-size: 18px;
    margin: 0;
}
.columns { display: grid; grid-template-columns: 360px 1fr; gap: 18px; align-items: start; }
.assessment-layout { display: grid; grid-template-columns: 1fr; gap: 18px; }
.assessment-form-panel { max-width: none; }
form .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
label { color: #344054; display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
input, select, textarea {
    border: 1px solid #cfd6df;
    border-radius: 6px;
    font: inherit;
    padding: 9px 10px;
    width: 100%;
}
textarea { min-height: 96px; resize: vertical; }
.button, button {
    background: #0f5d7f;
    border: 1px solid #0f5d7f;
    border-radius: 6px;
    color: #ffffff;
    cursor: pointer;
    display: inline-block;
    font: inherit;
    font-weight: 700;
    padding: 9px 12px;
    text-decoration: none;
}
.button.ghost, button.ghost { background: #ffffff; color: #344054; border-color: #cfd6df; }
.button.warn { background: #8a5a00; border-color: #8a5a00; }
.actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.inline-form { display: inline; }
.inline-form button { margin: 0 4px 6px 0; padding: 7px 9px; }
.inline-controls { display: flex; gap: 8px; align-items: center; }
.inline-controls select { flex: 1; }
.workflow-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}
.workflow-nav a {
    background: #ffffff;
    border: 1px solid #cfd6df;
    border-radius: 6px;
    color: #344054;
    font-weight: 700;
    padding: 8px 10px;
    text-decoration: none;
}
.workflow-nav a.active,
.workflow-nav a:hover {
    background: #dff2f8;
    border-color: #0f5d7f;
    color: #0f3d5e;
}
.template-picker { margin-bottom: 12px; }
.form-section {
    background: #f8fafc;
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    margin: 14px 0;
    padding: 14px;
}
.form-section h3 {
    font-size: 18px;
    margin: 0 0 12px;
}
.suggestion-panel {
    background: #f8fafc;
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    margin: 12px 0;
    padding: 14px;
}
.suggestion-panel h3 {
    font-size: 18px;
    margin: 0 0 8px;
}
.suggestion-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.suggestion-card {
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    padding: 12px;
}
.suggestion-card p {
    color: #344054;
    margin: 8px 0 10px;
    white-space: normal;
}
.suggestion-card .button {
    padding: 7px 10px;
}
.assessment-capture {
    background: #f8fafc;
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    margin: 14px 0;
    padding: 14px;
}
.assessment-capture h3 {
    font-size: 18px;
    margin: 0 0 12px;
}
.check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}
.check-pill {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 6px;
    display: flex;
    font-weight: 600;
    gap: 8px;
    line-height: 1.2;
    margin: 0;
    min-height: 38px;
    padding: 8px 10px;
    white-space: normal;
    word-break: normal;
}
.check-pill input { width: auto; }
.other-field {
    margin: -2px 0 12px;
    max-width: 520px;
}
.objective-notes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin: -2px 0 12px;
}
.objective-notes-grid textarea {
    min-height: 76px;
}
.rom-grid {
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
    padding: 10px;
}
.region-rom-empty,
.region-test-empty {
    background: #ffffff;
    border: 1px dashed #cfd6df;
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 12px;
}
.region-rom-grid,
.region-test-grid {
    display: grid;
    gap: 12px;
    margin-bottom: 12px;
}
.region-rom-panel,
.region-test-panel {
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    display: none;
    padding: 12px;
}
.region-rom-panel.active,
.region-test-panel.active {
    display: block;
}
.region-rom-panel h4,
.region-test-panel h4 {
    color: #0f3d5e;
    font-size: 16px;
    margin: 0 0 10px;
}
.region-test-panel h5 {
    color: #344054;
    font-size: 13px;
    margin: 12px 0 8px;
    text-transform: uppercase;
}
.clinical-test-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}
.clinical-test-row label {
    margin-bottom: 5px;
}
.outcome-measure-grid {
    display: grid;
    gap: 12px;
    margin-bottom: 12px;
}
.outcome-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.outcome-measure-panel {
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    display: none;
    padding: 12px;
}
.outcome-measure-panel.active {
    display: block;
}
.outcome-measure-panel h4 {
    color: #0f3d5e;
    font-size: 17px;
    margin: 0 0 8px;
}
.outcome-fields-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.outcome-measure-panel textarea {
    min-height: 72px;
}
.rom-row {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(170px, 240px) 1fr;
    gap: 10px;
}
.rom-row.compact {
    grid-template-columns: minmax(160px, 220px) 1fr;
}
.rom-label {
    color: #344054;
    font-weight: 700;
}
.rom-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(64px, 1fr));
    gap: 8px;
}
.rom-option {
    margin: 0;
}
.rom-option input {
    height: 1px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}
.rom-option span {
    background: #ffffff;
    border: 1px solid #cfd6df;
    border-radius: 6px;
    cursor: pointer;
    display: block;
    font-weight: 700;
    padding: 9px 8px;
    text-align: center;
}
.rom-option input:checked + span {
    background: #dff2f8;
    border-color: #0f5d7f;
    box-shadow: inset 0 0 0 1px #0f5d7f;
    color: #0f3d5e;
}
.body-chart-wrap {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(360px, 1fr);
    gap: 14px;
    margin-bottom: 12px;
}
.body-chart {
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    color: #344054;
    padding: 12px;
    text-align: center;
}
.body-region {
    align-items: center;
    background: #ffffff;
    border: 1px solid #b8c6d4;
    color: #17202a;
    cursor: pointer;
    display: flex;
    font-weight: 600;
    justify-content: center;
    line-height: 1.15;
    margin: 0;
    min-height: 40px;
    padding: 8px;
    text-align: center;
    transition: background .12s, border-color .12s, box-shadow .12s, color .12s;
    user-select: none;
}
.body-region:hover {
    border-color: #0f5d7f;
    box-shadow: 0 0 0 2px rgba(15, 93, 127, .12);
}
.body-region input {
    height: 1px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}
.body-region:has(input:checked),
.body-region.selected {
    background: #dff2f8 !important;
    border-color: #0f5d7f !important;
    color: #0f3d5e !important;
    box-shadow: inset 0 0 0 1px #0f5d7f, 0 0 0 2px rgba(15, 93, 127, .12) !important;
}
.body-head {
    border: 1px solid #b8c6d4;
    border-radius: 999px;
    margin: 0 auto 8px;
    padding: 12px 0;
    width: 118px;
}
.body-trunk {
    border: 1px solid #b8c6d4;
    border-radius: 28px 28px 10px 10px;
    display: grid;
    gap: 8px;
    margin: 8px auto;
    min-height: 116px;
    padding: 10px;
    width: 148px;
}
.body-torso-part {
    border-radius: 14px;
    min-height: 46px;
}
.body-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin: 8px 0;
}
.body-row.single {
    justify-content: center;
}
.body-row.single .body-region {
    max-width: 180px;
}
.body-row .body-region {
    border-radius: 999px;
    flex: 1;
}
.compact-form {
    border-bottom: 1px solid #e5e9ef;
    margin-bottom: 14px;
    padding-bottom: 14px;
}
.exercise-title {
    align-items: center;
    display: flex;
    gap: 10px;
}
.exercise-thumb {
    aspect-ratio: 1;
    border: 1px solid #d8e0e8;
    border-radius: 6px;
    height: 54px;
    object-fit: cover;
    width: 54px;
}
.filter-panel { margin-bottom: 18px; }
.filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}
.check-pill.compact {
    display: inline-flex;
    min-height: 38px;
    width: auto;
}
.table-actions {
    min-width: 230px;
}
.table-actions .button,
.table-actions button {
    margin: 0 4px 6px 0;
    padding: 7px 9px;
}
.pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 12px;
}
.preview-panel { margin-bottom: 18px; }
.exercise-preview {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 18px;
}
.exercise-preview-image {
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    max-height: 220px;
    object-fit: cover;
    width: 100%;
}
.programme-item-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}
.programme-start-grid {
    display: grid;
    grid-template-columns: minmax(180px, 260px) 1fr;
    gap: 12px;
    align-items: stretch;
}
.selected-card {
    border-color: #0f5d7f;
    box-shadow: inset 0 0 0 1px #0f5d7f;
}
.template-start-form {
    background: #ffffff;
    border: 1px solid #dfe4ea;
    border-radius: 8px;
    padding: 14px;
}
.programme-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin: 12px 0;
}
.programme-meta-grid > div {
    background: #f8fafc;
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    padding: 10px;
}
.programme-meta-grid strong,
.programme-meta-grid span {
    display: block;
}
.programme-meta-grid strong {
    color: #344054;
    font-size: 12px;
    margin-bottom: 4px;
    text-transform: uppercase;
}
.programme-preview-drawer {
    border: 1px dashed #cfd6df;
    border-radius: 8px;
    margin: 10px 0;
    padding: 10px;
}
.programme-preview-drawer summary {
    cursor: pointer;
    font-weight: 700;
}
.compact-preview {
    grid-template-columns: minmax(120px, 180px) 1fr;
    margin-top: 10px;
}
.timeline-item {
    border-left: 3px solid #0f5d7f;
    margin: 0 0 14px;
    padding: 8px 0 8px 14px;
}
.mini-action {
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    margin-top: 6px;
    padding: 8px;
}
.mini-action summary {
    cursor: pointer;
    font-weight: 700;
}
.mini-action form {
    margin-top: 8px;
}
.condition-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}
.condition-card {
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    padding: 10px;
}
.condition-card select,
.condition-card input {
    margin-top: 8px;
}
.media-gallery {
    display: grid;
    gap: 10px;
}
.snapshot-pre {
    background: #0f1720;
    border-radius: 8px;
    color: #f8fafc;
    max-height: 520px;
    overflow: auto;
    padding: 14px;
    white-space: pre-wrap;
}
.changed-row {
    background: #fff8e1;
}
.programme-item {
    background: #ffffff;
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    padding: 12px;
}
.patient-resource-preview section,
.programme-preview section {
    border-top: 1px solid #e5e9ef;
    margin-top: 16px;
    padding-top: 14px;
}
.lead {
    color: #344054;
    font-size: 17px;
}
.programme-preview-item {
    border: 1px solid #d8e0e8;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px;
}
.programme-preview-item.no-media { grid-template-columns: minmax(0, 1fr); }
.programme-preview-item > div { min-width: 0; }
.programme-preview-item p { max-width: 78ch; overflow-wrap: anywhere; }
.programme-preview .programme-meta-grid > div { min-width: 0; }
.programme-preview .programme-meta-grid span { overflow-wrap: anywhere; }
.programme-preview-item h4,
.programme-preview-resource h4 {
    margin: 0 0 8px;
}
.programme-preview-resource {
    background: #f8fafc;
    border: 1px solid #e5e9ef;
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 12px;
}
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid #e5e9ef; padding: 10px; text-align: left; vertical-align: top; }
th { color: #344054; font-size: 12px; text-transform: uppercase; }
.badge { background: #eef2f6; border-radius: 999px; color: #344054; display: inline-block; padding: 4px 8px; text-transform: capitalize; }
.badge.good { background: #e7f6ec; color: #1e6b3a; }
.badge.warn { background: #fff4d6; color: #765000; }
.badge.danger { background: #fde7e7; color: #9f1c1c; }
.alert { border-radius: 8px; margin-bottom: 16px; padding: 12px 14px; }
.alert-success { background: #e7f6ec; border: 1px solid #b8e1c5; color: #1e6b3a; }
.alert-danger { background: #fde7e7; border: 1px solid #f3bcbc; color: #9f1c1c; }
.login-page { align-items: center; display: flex; min-height: 100vh; padding: 24px; }
.login-panel { margin: 0 auto; max-width: 390px; width: 100%; }
.login-panel h1 { margin-top: 0; }
@media (max-width: 900px) {
    .topbar, .page-title { align-items: flex-start; flex-direction: column; }
    .grid, .stats, .columns, .assessment-layout, form .row, .body-chart-wrap, .check-grid, .rom-row, .outcome-fields-grid, .exercise-preview, .programme-preview-item { grid-template-columns: 1fr; }
    .rom-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shell { padding: 18px; }
}
@media print {
    .topbar, .page-title, .no-print, .actions { display: none !important; }
    body { background: #ffffff; }
    .shell { max-width: none; padding: 0; }
    .panel { border: 0; padding: 0; }
}
.nav-logout { display:inline; margin:0; }
.nav-logout button { border:0; background:transparent; color:inherit; padding:10px 12px; font:inherit; cursor:pointer; }
.nav-logout button:hover { background:#eef4f8; }
.patient-snapshot{clear:both;position:relative;z-index:0;margin:12px 0 18px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;overflow:hidden}.patient-snapshot>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer}.patient-snapshot>summary span{min-width:0;color:#64748b;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-snapshot[open]>summary{border-bottom:1px solid #d8e0e8}.patient-assessment-summary{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0;padding:10px;background:#f6f8fa;box-shadow:none}.patient-assessment-summary>div{min-width:0}.patient-assessment-summary strong{overflow-wrap:anywhere}
.patient-assessment-summary div{min-width:0;padding:10px 11px;border:1px solid #d8e0e8;border-radius:5px;background:#fff}
.patient-assessment-summary span{display:block;color:#64748b;font-size:11px;text-transform:uppercase}
.patient-assessment-summary strong{display:block;margin-top:3px;overflow-wrap:break-word;word-break:normal;font-size:13px;line-height:1.35}
.new-patient-panel{margin-bottom:16px}.new-patient-panel>summary{padding:2px 0;cursor:pointer;font-size:18px;font-weight:700}.new-patient-panel[open]>summary{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e9ee}.new-patient-panel form{padding:0}.patient-list-panel{margin-top:0}
.read-only-value{min-height:40px;padding:10px;border:1px solid #d8e0e8;border-radius:6px;background:#f6f8fa;font-weight:700}
.programme-handoff{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:14px;border:1px solid #b9d7e3;border-left:4px solid #0f5d7f;background:#f2f9fb}.programme-handoff span{display:block;margin-top:4px;color:#64748b;font-size:13px}
.legacy-prescriptions{margin-top:14px;border:1px solid #d8e0e8}.legacy-prescriptions>summary{padding:12px 14px;cursor:pointer;font-weight:700;background:#f6f8fa}.legacy-prescriptions>*:not(summary){margin-left:14px;margin-right:14px}
.profile-review-banner{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px;margin:10px 0 14px;border-left:4px solid #167d8d;background:#eef8fa}
.profile-review-banner>div{margin-right:auto}.profile-review-banner span{color:#526174;font-size:13px}
.profile-static-fields.profile-collapsed{display:none}
.section-kicker{margin:0 0 12px;color:#64748b;font-size:13px}
.assessment-section{margin:16px 0;border:1px solid #d8e0e8;background:#fff}
.assessment-section>summary{padding:13px 15px;cursor:pointer;font-weight:700;background:#f6f8fa}
.assessment-section>*:not(summary){margin-left:15px;margin-right:15px}
.pain-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pain-score-grid small{display:block;margin-top:4px;color:#64748b}
.medication-list{display:grid;gap:8px;margin-bottom:14px}.medication-entry{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;padding:10px;border:1px solid #d8e0e8;border-radius:6px;background:#f8fafb}.medication-entry label{font-size:11px;text-transform:uppercase;color:#64748b}
.autosave-status{align-self:center;color:#64748b;font-size:12px}
.profile-history{margin:16px 0;border:1px solid #d8e0e8}.profile-history>summary{padding:12px 14px;cursor:pointer;font-weight:700;background:#f6f8fa}.profile-history article{padding:12px 14px;border-top:1px solid #e5e9ee}.profile-history article header{display:flex;justify-content:space-between;gap:12px}.profile-history article header span{color:#64748b;font-size:12px}.profile-history dl{display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:5px 12px}.profile-history dt{font-weight:700}.profile-history dd{margin:0}
.clinical-alert-strip{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;padding:12px 14px;border:1px solid #efb4b4;border-left:5px solid #b42318;background:#fff4f2;color:#7a271a}.patient-clinical-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:16px 0;border:1px solid #d8e0e8;background:#d8e0e8}.patient-clinical-dashboard>div{padding:14px;background:#fff}.patient-clinical-dashboard h3{margin-top:0}.patient-clinical-dashboard span{color:#64748b;font-size:12px}
.workflow-create-panel{margin:12px 0 16px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc}.workflow-create-panel>summary{padding:12px 14px;font-weight:700;cursor:pointer}.workflow-create-panel[open]>summary{border-bottom:1px solid #d8e0e8}.workflow-create-panel>form{margin:0;padding:16px}.section-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px 14px;border:1px solid #d8e0e8;border-radius:6px;background:#f8fafc}.form-section{margin:14px 0;padding:14px;border:1px solid #d8e0e8;border-radius:6px;background:#fbfcfd}.form-section h3{margin:0 0 10px;font-size:15px}
.encounter-progress{position:sticky;top:64px;z-index:7;display:flex;gap:4px;overflow-x:auto;margin:12px 0 16px;padding:8px;border:1px solid #d8e0e8;background:#fff}.encounter-progress a{padding:8px 10px;white-space:nowrap}.clinical-workflow-section{scroll-margin-top:130px;margin-top:16px}.clinical-record-row,.programme-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e5e9ee}.clinical-record-row span,.programme-current span{color:#64748b}.goal-row{padding:10px 0;border-top:1px solid #e5e9ee}.goal-row summary span{float:right;color:#64748b}.encounter-summary{max-height:480px;overflow:auto;padding:14px;background:#f6f8fa;white-space:pre-wrap}.timeline-filters{display:flex;gap:6px;overflow-x:auto;margin-bottom:16px}.clinical-timeline article{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-top:1px solid #e5e9ee}.clinical-timeline time{color:#64748b}.clinical-timeline h3{margin:4px 0}.clinical-timeline p{margin:0}.timeline-type{text-transform:uppercase;color:#167d8d;font-size:11px;font-weight:700}
.clinical-next-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;overflow:hidden;background:#d8e0e8}.clinical-next-steps>div{padding:14px;background:#fff}.clinical-next-steps span,.clinical-next-steps small{display:block;color:#64748b}.clinical-next-steps span{font-size:11px;font-weight:700;text-transform:uppercase}.clinical-next-steps strong{display:block;margin:5px 0;overflow-wrap:anywhere}.clinical-next-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.patient-clinical-dashboard,.clinical-next-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.patient-clinical-dashboard{grid-template-columns:1fr}.clinical-timeline article{grid-template-columns:1fr}.clinical-record-row,.programme-current{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.patient-assessment-summary{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.pain-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.patient-assessment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pain-score-grid,.medication-entry{grid-template-columns:1fr}}
