:root{color:#172128;background:#f6fbfd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}body{background:#f6fbfd;margin:0;min-width:320px}button,input,select,textarea{font:inherit}.app-shell{box-sizing:border-box;margin:0;max-width:none;min-height:100vh;padding:0 1rem 2rem}.app-topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;background:#fffc;border-bottom:1px solid #e4e7ec;display:flex;height:4rem;justify-content:center;margin:0 -1rem;padding:0 1rem;position:sticky;top:0;z-index:30}.app-topbar-inner{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:72rem;width:100%}.brand-lockup{align-items:center;display:flex;gap:.75rem}.brand-mark,.avatar-mark{align-items:center;border-radius:999px;display:inline-flex;flex:0 0 auto;font-weight:800;justify-content:center}.brand-mark{background:#0f766e;border-radius:.6rem;color:#fff;height:2.25rem;width:2.25rem}.brand-mark svg,.stat-icon svg{fill:none;height:1.25rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1.25rem}.brand-text{display:grid;gap:.1rem}.brand-title{color:#101828;font-size:.875rem;font-weight:700;letter-spacing:-.01em}.brand-subtitle,.muted{color:#667085}.brand-subtitle{font-size:.75rem}.user-chip{align-items:center;background:transparent;border:0;border-radius:999px;display:flex;gap:.5rem;padding:.25rem .5rem .25rem .25rem}.user-menu{position:relative}.user-menu-trigger{color:#1f2937}.user-menu-trigger:hover:not(:disabled){background:#f2f4f7}.menu-caret{color:#667085;font-size:.8rem}.user-dropdown{background:#fff;border:1px solid #e4e7ec;border-radius:.95rem;box-shadow:0 18px 45px #1f293724;display:grid;gap:.35rem;min-width:12rem;padding:.45rem;position:absolute;right:0;top:calc(100% + .45rem);z-index:40}.user-dropdown-label{color:#667085;font-size:.82rem;margin:0;padding:.45rem .55rem}.logout-menu-item{background:transparent;border-radius:.65rem;color:#b42318;justify-self:stretch;padding:.55rem;text-align:left}.logout-menu-item:hover:not(:disabled){background:#fef3f2;color:#912018}.avatar-mark{background:#d8f3ef;color:#0f766e;font-size:.75rem;font-weight:500;height:2rem;width:2rem}.hero-card{background:radial-gradient(circle at top right,rgb(37 99 235 / 18%),transparent 36%),linear-gradient(135deg,#fff,#f8fbff 48%,#eef7ff);border:1px solid #e5edf8;border-radius:1.5rem;box-shadow:0 24px 60px #1f29371a;margin:1.5rem auto 0;max-width:72rem;padding:1.5rem}.hero-card h1,.workspace-intro h2,.card-title{color:#101828;margin:0}.hero-card h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.04em;line-height:1;max-width:52rem}.hero-card p{max-width:44rem}.eyebrow{color:#0f766e;font-size:.78rem;font-weight:800;letter-spacing:.1em;margin:0 0 .7rem;text-transform:uppercase}.workspace-grid{display:grid;gap:1.25rem;margin:1.5rem auto 0;max-width:72rem}.workspace-tabs{margin:1.5rem auto 0;max-width:72rem}.workspace-intro,.workspace-panel,.patient-summary,.patient-record-card,.diagnostic-record-card,.empty-record-card,.history-list li,[aria-label="Diagnostic history empty state"],.diagnostic-form,.detail-card,.state-card{background:#fff;border:1px solid #e4e7ec;border-radius:1.25rem;box-shadow:0 14px 34px #1f293712}.workspace-intro,.workspace-panel,.state-card{padding:1.1rem}.workspace-intro{align-items:start;display:grid;gap:1rem;grid-template-columns:1fr}.workspace-intro p,.card-description,.form-help,.patient-summary span,.history-list small,.detail-card dt,.state-card{color:#667085}.stat-strip,.registry-stat-strip{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.registry-stat-strip{max-width:28rem;width:100%}.stat-card{align-items:center;background:#fff;border:1px solid rgb(16 24 40 / 10%);border-radius:.875rem;display:flex;gap:.75rem;padding:1rem}.stat-icon{align-items:center;background:#d2efee;border-radius:.625rem;color:#113f46;display:inline-flex;flex:0 0 auto;height:2.5rem;justify-content:center;width:2.5rem}.stat-value{color:#101828;display:block;font-size:1.45rem;font-weight:800}.stat-label{display:block;font-size:.75rem;margin-top:.25rem}.workspace-tab{background:#fff;border:1px solid #d0d5dd;color:#667085;font-weight:700}.workspace-columns{display:grid;gap:1.25rem;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.panel-stack{display:grid;gap:1rem}.patient-registry-screen,.patient-diagnostic-page,.patient-diagnostic-actions,.diagnostic-screen{display:grid;gap:1.5rem}.diagnostic-screen{max-width:48rem}.diagnostic-screen-actions{display:flex;justify-content:flex-end}.registry-heading{display:grid;gap:1rem;justify-items:start}.registry-heading h3{color:#101828;font-size:1.35rem;margin:0}.registry-heading p{color:#667085;margin:.35rem 0 0}.registry-search{align-items:center;display:flex;max-width:28rem;min-width:min(100%,28rem);position:relative;width:100%}.registry-search span{color:#667085;left:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.registry-search-icon svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.registry-search input{background:transparent;border-color:#d9dfe2;border-radius:.625rem;box-shadow:none;box-sizing:border-box;color:#172128;font-size:.875rem;height:2rem;line-height:1.25rem;padding:.25rem .625rem .25rem 2.25rem;width:100%}.registry-search input::placeholder{color:#616a71;opacity:1}.patient-table-card{background:#fff;border:1px solid rgb(16 24 40 / 10%);border-radius:.875rem;box-shadow:none;overflow-x:auto}.patient-table{border-collapse:collapse;caption-side:bottom;font-size:.875rem;min-width:0;width:100%}.patient-table th,.patient-table td{border-bottom:1px solid oklch(.9 .008 220);padding:.5rem;text-align:left;vertical-align:middle;white-space:nowrap}.patient-table th{color:#172128;font-size:.875rem;font-weight:500;height:2.5rem;letter-spacing:0;line-height:1.25rem;text-transform:none}.patient-table tbody tr:last-child td{border-bottom:0}.patient-table tbody tr{cursor:pointer;transition:background-color .16s ease}.patient-table tbody tr:hover{background:#eef3f57f}.patient-row-button{align-items:center;background:transparent;color:#172128;display:inline-flex;gap:.75rem;font-weight:400;padding:0;text-align:left}.patient-row-button:hover:not(:disabled){background:transparent;color:#172128}.patient-row-button strong,.patient-row-button small{display:block}.patient-row-button strong{font-size:.875rem;font-weight:500;line-height:1.25rem}.patient-row-button small,.muted-cell,.table-empty-state{color:#667085;font-size:.75rem;line-height:1rem}.patient-avatar-small{align-items:center;background:#e9f0f2;border-radius:999px;box-shadow:inset 0 0 0 1px #d9dfe2;color:#2a343c;display:inline-flex;flex:0 0 auto;font-size:.75rem;font-weight:500;height:2.25rem;justify-content:center;line-height:1;position:relative;width:2.25rem}.chevron-button{align-items:center;background:transparent;border-radius:999px;color:#667085;display:inline-flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;width:2rem}.chevron-button:hover:not(:disabled){background:#f0fdfa;color:#0f766e}.table-empty-state{padding:2.5rem 1rem;text-align:center}.patient-record-screen{display:grid;gap:1rem}.patient-record-card{display:grid;gap:1rem;padding:1.1rem}.patient-record-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.patient-identity{align-items:center;display:flex;gap:1rem}.patient-avatar{align-items:center;background:#d8f3ef;border-radius:999px;color:#0f766e;display:inline-flex;flex:0 0 auto;font-weight:500;height:3.5rem;justify-content:center;width:3.5rem}.patient-id{color:#667085;font-size:.86rem;margin:.2rem 0 0;overflow-wrap:anywhere}.patient-record-stats{border-top:1px solid #e4e7ec;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));margin:0;padding-top:1rem}.patient-record-stats div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.95rem;padding:.8rem}.patient-record-stats dt,.section-heading p,.diagnostic-record-card small{color:#667085}.patient-record-stats dt{font-size:.78rem;font-weight:800;text-transform:uppercase}.patient-record-stats dd{color:#101828;font-weight:850;margin:.25rem 0 0}.section-heading{display:grid;gap:.25rem}.section-heading h3{color:#101828;font-size:1.05rem;margin:0}.section-heading p{font-size:.92rem;margin:0}.diagnostic-card-list{display:grid;gap:.85rem}.diagnostic-record-card,.empty-record-card{padding:1rem}.diagnostic-record-card{display:grid;gap:.7rem;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.diagnostic-record-card:hover,.diagnostic-record-card-selected{background:#f8fafc;border-color:#99f6e4}.diagnostic-card-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between}.diagnostic-title-button{background:transparent;color:#101828;padding:0;text-align:left}.diagnostic-title-button:hover:not(:disabled){background:transparent;color:#0f766e}.diagnostic-title-button[aria-pressed=true]{color:#1d4ed8;text-decoration:underline}.diagnostic-record-card p,.empty-record-card p{color:#475467;margin:0}.status-badge{background:#eef2ff;border-radius:999px;color:#3730a3;display:inline-flex;font-size:.78rem;font-weight:400;padding:.25rem .55rem}.status-signed{background:#d1fae5;color:#047857}.empty-record-card{align-items:center;border-style:dashed;display:grid;gap:.8rem;justify-items:center;padding:2rem 1rem;text-align:center}.secondary-button{background:#fff;border:1px solid #cbd5e1;color:#0f766e}.secondary-button:hover:not(:disabled){background:#f0fdfa;border-color:#99f6e4;color:#0f5f59}.back-link-button{background:transparent;color:#667085;padding:0}.back-link-button:hover:not(:disabled){background:transparent;color:#0f766e}.field{display:grid;gap:.45rem}.field span,.field-label{color:#344054;font-weight:700}select,input,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:.8rem;color:#1f2937;padding:.72rem .85rem;transition:border-color .16s ease,box-shadow .16s ease}select:focus,input:focus,textarea:focus,button:focus-visible{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb24;outline:none}textarea{min-height:8rem;resize:vertical}.patient-summary{display:grid;gap:.25rem;padding:1rem}.patient-summary strong{color:#101828;font-size:1.05rem}.history-list{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.history-list li,[aria-label="Diagnostic history empty state"]{padding:1rem}.history-list p{color:#475467;margin:.5rem 0}.diagnostic-form,.detail-card{display:grid;gap:.95rem;padding:1.1rem}.card-header{display:grid;gap:.3rem}.card-title{font-size:1.15rem}.card-description,.form-help{font-size:.92rem;margin:0}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}button{align-self:start;background:#2563eb;border:0;border-radius:.8rem;color:#fff;cursor:pointer;font-weight:800;padding:.72rem 1rem}button:hover:not(:disabled){background:#1d4ed8}button:disabled{cursor:not-allowed;opacity:.62}.link-button{background:transparent;color:#0f766e;padding:0;text-align:left}.link-button:hover:not(:disabled){background:transparent;color:#0f5f59}.link-button[aria-pressed=true]{color:#1d4ed8;text-decoration:underline}.detail-card dl{display:grid;gap:.45rem 1rem;grid-template-columns:max-content 1fr}.detail-card dt{font-weight:800}.detail-card dd{color:#344054;margin:0;overflow-wrap:anywhere}[role=alert]{color:#b42318;font-weight:700}@media(min-width:760px){.workspace-intro{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr)}}@media(max-width:860px){.workspace-columns{grid-template-columns:1fr}.app-topbar-inner{gap:.75rem}.user-dropdown{left:auto;right:0}}@media(max-width:640px){.responsive-table-cell{display:none}.patient-table{min-width:0}}@media(max-width:768px){.wide-table-cell{display:none}}.workspace-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.workspace-tab{background:#fff;border:1px solid #d0d5dd;color:#344054;font-weight:700}.workspace-tab:hover:not(:disabled),.workspace-tab.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.section-heading-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.rehab-program-panel{display:grid;gap:1rem}.rehab-program-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.rehab-program-card{background:#fff;border:1px solid #e4e7ec;border-radius:1rem;box-shadow:0 12px 24px #1f29370f;display:grid;gap:.55rem;padding:1rem}.rehab-program-card.selected,.rehab-program-card:focus-within{border-color:#93c5fd;box-shadow:0 0 0 4px #2563eb1a}.rehab-program-detail{background:#fff;border:1px solid #e4e7ec;border-radius:1rem}.form-grid-2{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.exercise-table-card,.assign-exercise-form{background:#f9fafb;border:1px solid #e4e7ec;border-radius:.9rem;display:grid;gap:.85rem;padding:1rem}.exercise-table-card h4,.assign-exercise-form h4{margin:0}.state-card.compact{padding:.75rem}.exercise-table{border-collapse:collapse;min-width:44rem;width:100%}.exercise-table th,.exercise-table td{border-bottom:1px solid #eaecf0;padding:.75rem;text-align:left;vertical-align:top}.exercise-table th{color:#475467;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.assign-exercise-form label{display:grid;gap:.4rem}.assign-exercise-form select,.assign-exercise-form textarea{background:#fff;border:1px solid #d0d5dd;border-radius:.75rem;color:#101828;font:inherit;padding:.7rem .85rem}.assign-exercise-form textarea{min-height:5rem;resize:vertical}.patient-record-screen,.diagnostic-screen,.rehab-program-screen,.rehab-program-detail-screen,.diagnostic-detail-v0{display:flex;flex-direction:column;gap:1.5rem}.patient-record-card,.diagnostic-record-card,.empty-record-card,.detail-card,.exercise-table-card,.assign-exercise-form,.rehab-program-card{background:#fff;border:1px solid rgb(16 24 40 / 10%);border-radius:.875rem;box-shadow:none;color:#172128}.patient-record-card,.detail-card,.assign-exercise-form{padding:1rem}.patient-record-header{align-items:flex-start;gap:1rem}.patient-identity{gap:1rem}.patient-avatar{background:#d2efee;color:#113f46;font-size:1rem;font-weight:500;height:3.5rem;width:3.5rem}.patient-record-card .eyebrow{display:none}.patient-record-card .card-title{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.75rem}.patient-id{color:#616a71;font-size:.875rem;line-height:1.25rem}.patient-record-stats{border-top:1px solid oklch(.9 .008 220);gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:1rem}.patient-record-stats div{background:transparent;border:0;border-radius:0;padding:0}.patient-record-stats dt{color:#616a71;font-size:.75rem;font-weight:400;letter-spacing:0;line-height:1rem;text-transform:none}.patient-record-stats dd{color:#172128;font-size:.875rem;font-weight:500;line-height:1.25rem}.section-heading h3{font-size:1.125rem;font-weight:600;letter-spacing:-.025em;line-height:1.75rem}.section-heading p,.section-heading-row p,.v0-page-title-stack p{color:#616a71;font-size:.875rem;line-height:1.25rem}.diagnostic-card-list,.rehab-program-list{display:flex;flex-direction:column;gap:.75rem}.diagnostic-record-card,.rehab-program-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem;transition:background-color .16s ease,border-color .16s ease}.diagnostic-record-card:hover,.diagnostic-record-card-selected,.rehab-program-card:hover,.rehab-program-card.selected{background:#eef3f566;border-color:#1d777b66;transform:none}.diagnostic-card-head{gap:.5rem}.diagnostic-title-button{color:#172128;font-size:1rem;font-weight:500;line-height:1.5rem}.diagnostic-title-button:hover:not(:disabled),.diagnostic-title-button[aria-pressed=true]{color:#172128;text-decoration:none}.diagnostic-record-card p,.empty-record-card p{color:#616a71;display:-webkit-box;font-size:.875rem;line-height:1.25rem;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.diagnostic-record-card small{color:#616a71;font-size:.75rem;line-height:1rem}.status-badge{align-items:center;background:#e9f0f2;border:1px solid transparent;border-radius:999px;color:#2a343c;display:inline-flex;font-size:.75rem;font-weight:400;gap:.25rem;line-height:1rem;padding:.125rem .625rem}.status-signed{background:#1d777b1a;color:#1d777b}.diagnostic-screen{max-width:none}.diagnostic-screen-actions{align-items:center;gap:.5rem;justify-content:flex-end}.v0-page-title-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.v0-page-title-stack{display:flex;flex-direction:column;gap:.5rem}.v0-title-with-badge{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.v0-title-with-badge h1{color:#172128;font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:2rem;margin:0}.diagnostic-assessment-card .card-title,.rehab-program-detail .card-title{font-size:1rem;font-weight:500;line-height:1.5rem}.assessment-fields{display:flex;flex-direction:column;gap:1.25rem}.assessment-fields h4{align-items:center;color:#616a71;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;letter-spacing:.06em;line-height:1rem;margin:0 0 .375rem;text-transform:uppercase}.assessment-heading-icon{align-items:center;color:#616a71;display:inline-flex;flex:0 0 auto;height:1rem;justify-content:center;width:1rem}.assessment-heading-icon svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.assessment-fields p{color:#172128;font-size:.875rem;line-height:1.625;margin:0;white-space:pre-wrap}.assessment-fields dl,.rehab-program-detail dl{border-top:1px solid oklch(.9 .008 220);display:grid;gap:.5rem 1rem;grid-template-columns:max-content 1fr;margin:0;padding-top:1rem}.assessment-box-attestation{padding:0}.assessment-box-attestation summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:1rem}.assessment-box-attestation summary::-webkit-details-marker{display:none}.assessment-box-attestation summary h4{margin:0}.assessment-box-attestation .details-caret{color:#616a71;font-size:.875rem;transition:transform .16s ease}.assessment-box-attestation[open] .details-caret{transform:rotate(180deg)}.assessment-box-attestation dl{margin:0 1rem 1rem}.assessment-fields dt,.rehab-program-detail dt{color:#616a71;font-size:.75rem;font-weight:500;text-transform:uppercase}.assessment-fields dd,.rehab-program-detail dd{color:#172128;font-size:.875rem;margin:0;overflow-wrap:anywhere}.rehab-program-panel{display:flex;flex-direction:column;gap:1rem}.rehab-program-detail-screen{gap:1.5rem}.exercise-table-card{display:flex;flex-direction:column;gap:1rem;padding:1rem}.exercise-table-card h4{color:#172128;font-size:1rem;font-weight:500;line-height:1.5rem;margin:0}.table-scroll{overflow-x:auto}.exercise-table{border-collapse:collapse;caption-side:bottom;font-size:.875rem;width:100%}.exercise-table th,.exercise-table td{border-bottom:1px solid oklch(.9 .008 220);padding:.5rem;text-align:left;vertical-align:middle;white-space:nowrap}.exercise-table th{color:#172128;font-weight:500;height:2.5rem}.exercise-table td strong,.exercise-table td span{display:block}.assign-exercise-form{background:#fff}.assign-exercise-form label{color:#172128;display:grid;font-size:.875rem;font-weight:500;gap:.45rem}@media(max-width:640px){.patient-record-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.v0-outline-button{align-items:center;background:#fff;border:1px solid oklch(.9 .008 220);border-radius:.625rem;color:#172128;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;height:2.25rem;line-height:1.25rem;padding:0 .75rem}.v0-outline-button:hover:not(:disabled){background:#eef3f57f;color:#172128}.v0-outline-button svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.assessment-fields{gap:1rem}.assessment-box{border:1px solid oklch(.9 .008 220);border-radius:.75rem;display:flex;flex-direction:column;gap:.375rem;padding:1rem}.assessment-box dl{border-top:0;padding-top:0}.symptom-badge-list{display:flex;flex-wrap:wrap;gap:.375rem}.symptom-badge{background:transparent;border-color:#d9dfe2;border-radius:999px;color:#172128;font-weight:400}.diagnostic-symptoms-field>label{color:#344054;font-weight:700}.symptom-editor-row{align-items:center;display:flex;gap:.5rem}.symptom-editor-row input{flex:1 1 auto;min-width:0}.symptom-add-button{flex:0 0 auto;justify-content:center;padding:0;width:2.25rem}.symptom-edit-list{margin-top:.25rem}.symptom-edit-badge{padding-right:.25rem}.symptom-edit-badge button{align-items:center;background:transparent;border-radius:999px;color:currentColor;display:inline-flex;height:1.25rem;justify-content:center;margin-left:.125rem;padding:0;width:1.25rem}.symptom-edit-badge button:hover:not(:disabled){background:#0f172a1a}.symptom-edit-badge svg,.diagnostic-form-actions-v0 svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.diagnostic-form-actions-v0{justify-content:flex-end}.diagnostic-form-actions-v0 button{align-items:center;display:inline-flex;gap:.5rem;height:2.25rem;padding:0 .75rem}.ghost-button{background:transparent;color:#172128}.ghost-button:hover:not(:disabled){background:#eef3f57f;color:#172128}.diagnostic-form-actions-v0 .ghost-button,.diagnostic-form-actions-v0 .v0-outline-button,.diagnostic-form-actions-v0 .v0-primary-button{border-radius:.375rem;font-size:.875rem;font-weight:500;height:2.25rem;line-height:1.25rem}.diagnostic-form-actions-v0 .v0-primary-button{background:#172128;color:#fff}.diagnostic-form-actions-v0 .v0-primary-button:hover:not(:disabled){background:#252f37}.diagnostic-symptoms-field>label{font-size:.875rem;font-weight:500;line-height:1.25rem}.symptom-editor-row input{border-color:#d9dfe2;border-radius:.375rem;font-size:.875rem;height:2.25rem;line-height:1.25rem;padding:0 .75rem}.symptom-edit-badge{background:#e9f0f2;border:1px solid transparent;color:#2a343c;gap:.25rem;padding-right:.25rem}.symptom-edit-badge button{border-radius:999px;padding:.125rem}.v0-program-action{border-radius:.375rem;font-size:.875rem;font-weight:500;height:2.25rem;line-height:1.25rem;padding:0 .75rem}.exercise-table-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.exercise-table-header h4{margin:0}.exercise-table-empty{color:#616a71;font-size:.875rem;line-height:1.25rem;margin:0}.exercise-table tbody tr{height:2.5rem}.exercise-table td{color:#172128;font-size:.875rem;line-height:1.25rem}.exercise-table td strong{font-weight:500}.program-edit-form{display:flex;flex-direction:column;gap:1rem}.program-edit-form .eyebrow{display:none}.program-edit-form input[readonly],.program-edit-form input:disabled{background:#eef3f57f;color:#616a71}.assign-physio-link{align-self:flex-start;background:transparent;color:#1d777b;font-size:.875rem;font-weight:500;padding:0}.assign-physio-link:hover:not(:disabled){background:transparent;color:#00595d;color:oklch(.42 .08 200);text-decoration:underline}.doctor-picker{border:1px solid oklch(.9 .008 220);border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden}.doctor-picker-item{align-items:flex-start;background:#fff;border-radius:0;color:#172128;display:flex;flex-direction:column;gap:.125rem;padding:.75rem;width:100%}.doctor-picker-item+.doctor-picker-item{border-top:1px solid oklch(.9 .008 220)}.doctor-picker-item:hover:not(:disabled),.doctor-picker-item.selected{background:#eef3f599;color:#172128}.doctor-picker-item span{font-size:.875rem;font-weight:500;line-height:1.25rem}.doctor-picker-item small{color:#616a71;font-size:.75rem;line-height:1rem}.login-shell{min-height:100vh}.login-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr);margin:3rem auto 0;max-width:72rem}.login-card{padding:2rem}.login-marketing{background:#172128;border-radius:1.25rem;color:#fff;display:grid;gap:1rem;padding:2rem}.login-marketing .eyebrow,.login-marketing p{color:#ffffffbf}.login-marketing h2{color:#fff;font-size:1.75rem;line-height:2.25rem;margin:0}.patient-portal{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem auto 0;max-width:72rem}.patient-portal-hero h1{color:#172128;font-size:1.5rem;line-height:2rem;margin:0}@media(min-width:900px){.login-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}.program-recording-cta{align-items:center;background:#f6f9fa;border:1px solid oklch(.9 .008 220);border-radius:.875rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1rem 0;padding:1rem}.program-recording-cta h4,.recording-exercise-main h3,.recording-dialog h2,.exercise-recording-screen h2{color:#172128;margin:0}.program-recording-cta p,.recording-screen-header p,.recording-exercise-main p,.recording-dialog-header p{color:#616a71;font-size:.875rem;line-height:1.25rem;margin:.25rem 0 0}.back-link-button svg,.record-button svg,.dialog-close-button svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.exercise-recording-screen{display:flex;flex-direction:column;gap:1rem}.recording-exercise-list{display:grid;gap:.75rem}.recording-exercise-card{align-items:center;background:#fff;border:1px solid oklch(.9 .008 220);border-radius:.875rem;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr) auto;padding:1rem}.recording-exercise-index{align-items:center;background:#e9f0f2;border-radius:999px;color:#172128;display:inline-flex;font-size:.875rem;font-weight:600;height:2.25rem;justify-content:center;width:2.25rem}.recording-exercise-meta{align-items:center;color:#616a71;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem;margin-top:.5rem}.record-button{align-items:center;background:#172128;border:1px solid oklch(.24 .02 240);border-radius:.375rem;color:#fff;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;height:2.25rem;justify-content:center;padding:0 .75rem}.record-button:hover:not(:disabled){background:#252f37}.record-button:disabled{cursor:not-allowed;opacity:.5}.recording-dialog-backdrop{align-items:center;background:#0f172a73;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:50}.recording-dialog{background:#fff;border:1px solid oklch(.9 .008 220);border-radius:1rem;box-shadow:0 24px 80px #0f172a3d;max-width:34rem;overflow:hidden;width:min(100%,34rem)}.recording-dialog-header,.recording-dialog-actions{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem}.recording-dialog-header{border-bottom:1px solid oklch(.9 .008 220)}.dialog-close-button{align-items:center;background:transparent;border:0;border-radius:999px;color:#616a71;display:inline-flex;font-size:1.5rem;height:2rem;justify-content:center;line-height:1;padding:0;width:2rem}.dialog-close-button:hover{background:#eef3f5b3;color:#172128}.recording-dialog-body{display:grid;gap:1rem;padding:1.25rem}.recording-target-card{background:#f6f9fa;border:1px solid oklch(.9 .008 220);border-radius:.75rem;display:grid;gap:.25rem;padding:.875rem}.recording-target-card span,.recording-consent,.recording-pulse small{color:#616a71;font-size:.875rem;line-height:1.25rem}.recording-consent{align-items:flex-start;display:flex;gap:.625rem}.recording-consent input{margin-top:.2rem}.recording-date-field{color:#343f47;display:grid;font-size:.875rem;gap:.35rem}.recording-date-field span{font-weight:700}.recording-date-field input{border:1px solid oklch(.86 .01 220);border-radius:.625rem;color:#172128;padding:.6rem .75rem}.recording-date-field small{color:#616a71;line-height:1.25rem}.recording-pulse{align-items:center;border:1px dashed oklch(.86 .01 220);border-radius:.875rem;display:grid;gap:.25rem;justify-items:center;padding:1.5rem;text-align:center}.recording-pulse>span{background:#e24947;border-radius:999px;display:block;height:1rem;width:1rem}.recording-pulse.active>span{animation:recording-ping 1s ease-in-out infinite}.recording-playback{width:100%}.recording-video-playback{background:#000;border-radius:.75rem;max-height:18rem}.recording-file-input{display:none}.recording-upload-info{background:#eff6ff;border-radius:.625rem;color:#1e3a8a;display:grid;font-size:.875rem;gap:.2rem;padding:.75rem}.recording-upload-info span{color:#1d4ed8;font-size:.75rem}.recording-upload-button{align-items:center;display:inline-flex;gap:.5rem}.recording-upload-button svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.recording-success,.recording-error{border-radius:.625rem;font-size:.875rem;margin:0;padding:.75rem}.recording-success{background:#e2f9e2;color:#004b0f;color:oklch(.36 .12 145)}.recording-error{background:#ffedeb;background:oklch(.96 .04 25);color:#9b1e22}.recording-dialog-actions{border-top:1px solid oklch(.9 .008 220);justify-content:flex-end}@keyframes recording-ping{0%,to{box-shadow:0 0 #e2494773}50%{box-shadow:0 0 0 .5rem #e2494700}}@media(max-width:640px){.recording-exercise-card{grid-template-columns:auto minmax(0,1fr)}.recording-exercise-card .record-button{grid-column:1 / -1;width:100%}.recording-dialog-actions{flex-direction:column}.recording-dialog-actions button{width:100%}}.exercise-recordings-history{grid-column:1 / -1;border-top:1px solid rgba(148,163,184,.22);margin-top:1rem;padding-top:1rem}.exercise-recordings-heading{align-items:flex-start;display:flex;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.exercise-recordings-heading h4{color:#111827;font-size:.95rem;font-weight:800;letter-spacing:-.01em;margin:0}.exercise-recordings-heading p{color:#64748b;font-size:.82rem;line-height:1.45;margin:.2rem 0 0}.recording-history-scroll{border:1px solid rgba(226,232,240,.95);border-radius:18px;overflow:hidden}.recording-history-table{border-collapse:collapse;color:#334155;font-size:.86rem;width:100%}.recording-history-table thead{background:#f8fafc}.recording-history-table th{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:.78rem 1rem;text-align:left;text-transform:uppercase}.recording-history-table td{border-top:1px solid rgba(226,232,240,.8);padding:.82rem 1rem;vertical-align:middle}.recording-history-table tbody tr:hover{background:#f8fafccc}.recording-history-table td:first-child{color:#111827;font-weight:700}.recording-progress-layout{display:grid;gap:1rem;grid-template-columns:minmax(16rem,.85fr) minmax(0,1.35fr)}.selectable-exercise-panel,.selected-exercise-detail,.recording-progress-layout .exercise-recordings-history{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:1rem;box-shadow:0 12px 32px #0f172a0d}.selectable-exercise-panel{align-self:start;padding:1rem}.selectable-exercise-panel-header,.selected-exercise-detail-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.selectable-exercise-panel-header{border-bottom:1px solid rgba(226,232,240,.82);margin-bottom:.85rem;padding-bottom:.85rem}.selectable-exercise-panel-header h3,.selected-exercise-detail-header h3{color:#111827;font-size:1rem;font-weight:800;letter-spacing:-.01em;margin:0}.selectable-exercise-panel-header p,.selected-exercise-detail-header p,.selected-exercise-description-grid p{color:#64748b;font-size:.84rem;line-height:1.45;margin:.2rem 0 0}.selectable-exercise-list{display:grid;gap:.6rem}.selectable-exercise-item{align-items:center;background:#f8fafc;border:1px solid transparent;border-radius:.875rem;color:#334155;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.75rem;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}.selectable-exercise-item:hover,.selectable-exercise-item.selected{background:#fff;border-color:#2563eb42;box-shadow:0 10px 24px #2563eb1a;transform:translateY(-1px)}.selectable-exercise-item.selected .recording-exercise-index{background:#2563eb;color:#fff}.selectable-exercise-copy{display:grid;gap:.2rem;min-width:0}.selectable-exercise-copy strong{color:#111827;font-size:.9rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectable-exercise-copy small{color:#64748b;font-size:.75rem;font-weight:700;text-transform:capitalize}.selected-exercise-detail{min-width:0;padding:1.1rem}.selected-exercise-detail-header .record-button{flex:0 0 auto}.selected-exercise-description-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.selected-exercise-description-grid>div{background:#f8fafc;border:1px solid rgba(226,232,240,.85);border-radius:.875rem;padding:.85rem}.selected-exercise-description-grid span{color:#64748b;display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-bottom:.28rem;text-transform:uppercase}.selected-exercise-description-grid strong{color:#111827;font-size:.92rem;text-transform:capitalize}.selected-exercise-description-full{grid-column:1 / -1}.recording-progress-layout .exercise-recordings-history{grid-column:1 / -1;margin-top:0;padding:1rem}@media(max-width:860px){.recording-progress-layout{grid-template-columns:1fr}}@media(max-width:640px){.selected-exercise-detail-header,.selectable-exercise-panel-header{flex-direction:column}.selected-exercise-detail-header .record-button{width:100%}.selected-exercise-description-grid{grid-template-columns:1fr}}.exercise-recording-screen{background:#f8fafc;border:0;box-shadow:none;padding:0}.recording-screen-header{background:transparent;margin-bottom:.25rem}.exercise-recording-screen .eyebrow{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:none}.exercise-recording-screen h2{color:#0f172a;font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:2rem}.recording-screen-header p{color:#64748b;font-size:.875rem;line-height:1.25rem}.recording-progress-layout{gap:1.5rem;grid-template-columns:minmax(15.5rem,1fr) minmax(0,2fr)}.selectable-exercise-panel,.selected-exercise-detail,.recording-progress-layout .exercise-recordings-history{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:none}.selectable-exercise-panel{padding:0}.selectable-exercise-panel-header{align-items:center;border-bottom:0;margin:0;padding:1.5rem 1.5rem .75rem}.selectable-exercise-panel-header h3{color:#0f172a;font-size:.875rem;font-weight:600;letter-spacing:0;line-height:1.25rem}.selectable-exercise-panel-header p,.selectable-exercise-panel-header .status-badge{display:none}.selectable-exercise-list{gap:.25rem;padding:0 1.5rem 1.5rem}.selectable-exercise-item{background:transparent;border:0;border-radius:.375rem;box-shadow:none;color:#0f172a;display:block;padding:.5rem .75rem;transform:none}.selectable-exercise-item:hover{background:#f1f5f9;border:0;box-shadow:none;transform:none}.selectable-exercise-item.selected{background:#0f172a;border:0;box-shadow:none;color:#fff;transform:none}.selectable-exercise-copy strong{color:inherit;font-size:.875rem;font-weight:500;letter-spacing:0;line-height:1.25rem}.selectable-exercise-copy small{color:inherit;font-size:.75rem;font-weight:400;line-height:1rem;opacity:.75;text-transform:none}.selected-exercise-detail{padding:0}.selected-exercise-detail-header{align-items:flex-start;padding:1.5rem 1.5rem 0}.selected-exercise-detail-header h3{color:#0f172a;font-size:1.125rem;font-weight:600;letter-spacing:0;line-height:1.75rem}.selected-exercise-detail-header p:not(.eyebrow){color:#64748b;font-size:.875rem;line-height:1.25rem;margin-top:.25rem}.selected-exercise-detail .status-badge{background:#fff;border-color:#e2e8f0;color:#0f172a;font-size:.75rem;font-weight:600}.selected-exercise-description-grid{gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;padding:1.5rem}.selected-exercise-description-grid>div{background:transparent;border:0;border-radius:0;padding:0}.selected-exercise-description-grid span{color:#64748b;font-size:.75rem;font-weight:400;letter-spacing:0;line-height:1rem;margin-bottom:.25rem;text-transform:none}.selected-exercise-description-grid strong{color:#0f172a;display:block;font-size:.875rem;font-weight:500;line-height:1.25rem;text-transform:none}.selected-exercise-description-full{border-top:1px solid #e2e8f0!important;grid-column:1 / -1;margin-top:.25rem;padding-top:1rem!important}.selected-exercise-description-full p{color:#64748b;font-size:.875rem;line-height:1.25rem;margin:0}.recording-progress-layout .exercise-recordings-history{padding:0}.exercise-recordings-heading{align-items:center;margin:0;padding:1.5rem 1.5rem 1rem}.exercise-recordings-heading h4{color:#0f172a;font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.5rem}.exercise-recordings-heading p,.exercise-recordings-heading .status-badge{display:none}.recording-history-scroll{border:0;border-radius:0}.recording-history-table th{color:#64748b;font-size:.75rem;font-weight:500;letter-spacing:0;line-height:1rem;padding:.75rem 1.5rem;text-transform:none}.recording-history-table td{color:#0f172a;font-size:.875rem;line-height:1.25rem;padding:1rem 1.5rem}.recording-history-table td:last-child{color:#64748b;max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.selected-exercise-description-grid{grid-template-columns:1fr}}.recording-progress-layout{align-items:start}.selected-exercise-column{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.recording-progress-layout .exercise-recordings-history{grid-column:auto}.recording-section-button{align-items:center;background:#0f172a;border:1px solid #0f172a;border-radius:.375rem;color:#fff;display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem;height:2.25rem;justify-content:center;line-height:1.25rem;padding:0 .75rem;white-space:nowrap}.recording-section-button:hover{background:#1e293b;border-color:#1e293b}.recording-section-button svg,.recording-type-label svg,.record-button svg,.back-link-button svg,.dialog-close-button svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.recording-type-label{align-items:center;color:#0f172a;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;line-height:1rem;text-transform:capitalize}.recording-type-label svg{color:#0f172a;height:.875rem;width:.875rem}.exercise-recordings-heading{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.recording-history-table{font-size:.875rem}.recording-history-table thead{background:#fff;border-top:1px solid #e2e8f0}.recording-history-table tbody tr:hover{background:#f8fafc}.selectable-exercise-item.selected,.selectable-exercise-item.selected:hover{background:#1d777b;color:#f8fdfd}.recording-section-button{background:#1d777b;border-color:#1d777b;color:#f8fdfd}.recording-section-button:hover{background:#00686c;border-color:#00686c;color:#f8fdfd}.recording-section-button{background:#1d777b;background-clip:padding-box;border:1px solid transparent;border-radius:.5rem;color:#f8fdfd;font-size:.8rem;font-weight:500;gap:.25rem;height:1.75rem;line-height:1rem;padding:0 .625rem;transition:background-color .15s ease,color .15s ease,transform .15s ease}.recording-section-button:hover{background:#1d777bcc;border-color:transparent;color:#f8fdfd}.recording-section-button:active{transform:translateY(1px)}.recording-section-button svg{height:.875rem;width:.875rem}.recording-v0-page-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.25rem}.recording-v0-back-button{align-items:center;background:transparent;border:0;border-radius:.5rem;color:#0f172a;display:inline-flex;flex:0 0 auto;height:2rem;justify-content:center;padding:0;width:2rem}.recording-v0-back-button:hover{background:#f1f5f9}.recording-v0-back-button svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.recording-v0-title-copy{flex:1;min-width:0}.recording-v0-title-copy h2{color:#0f172a;font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:2rem;margin:0}.recording-v0-title-copy p{color:#64748b;font-size:.875rem;line-height:1.25rem;margin:0}.patient-portal[aria-label="Patient exercise recording workspace"],.exercise-recording-screen{background:#f6fbfd}.recording-v0-page-header .status-badge{align-items:center;background:#1d777b;border:1px solid transparent;border-radius:9999px;color:#f8fdfd;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:500;gap:.25rem;height:1.25rem;justify-content:center;line-height:1rem;overflow:hidden;padding:.125rem .5rem;text-transform:capitalize;white-space:nowrap;width:fit-content}.recording-history-table tbody td:first-child{color:#0f172a;font-size:.875rem;font-weight:400;line-height:1.25rem;white-space:nowrap}.selectable-exercise-item:hover:not(.selected){background:#eef3f5;color:#172128}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.v0-patient-portal{gap:1.5rem}.v0-patient-card,.v0-diagnostic-card,.v0-rehab-program-card,.v0-empty-card{background:#fff;border:1px solid oklch(.9 .008 220);border-radius:.75rem;color:#172128;overflow:hidden}.v0-card-header,.v0-rehab-card-header{padding:1.5rem}.v0-card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.v0-patient-title-block{display:flex;flex-direction:column;gap:.25rem}.v0-health-record-label{align-items:center;color:#1d777b;display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;line-height:1rem}.v0-health-record-label svg,.v0-patient-demographics svg,.v0-primary-soft-badge svg,.v0-secondary-badge svg,.v0-empty-card svg,.v0-program-meta-grid svg{fill:none;height:.875rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:.875rem}.v0-patient-title-block h1{color:#172128;font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:2rem;margin:0}.v0-secondary-badge,.v0-primary-soft-badge,.v0-outline-badge{align-items:center;border:1px solid transparent;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:400;gap:.25rem;height:1.25rem;line-height:1rem;padding:.125rem .5rem;white-space:nowrap;width:fit-content}.v0-secondary-badge{background:#e9f0f2;color:#2a343c}.v0-primary-soft-badge{background:#1d777b1a;color:#1d777b}.v0-outline-badge{background:#fff;border-color:#d9dfe2;color:#172128}.v0-separator,.v0-section-separator{background:#d9dfe2;height:1px;width:100%}.v0-patient-card .v0-separator{margin:0 1.5rem;width:auto}.v0-patient-demographics{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:1rem 1.5rem 1.5rem}.v0-patient-demographics div,.v0-program-meta-grid div,.v0-program-notes{display:flex;flex-direction:column;gap:.25rem}.v0-patient-demographics dt,.v0-program-meta-grid dt,.v0-program-notes dt{align-items:center;color:#616a71;display:flex;font-size:.75rem;font-weight:400;gap:.375rem;line-height:1rem;margin:0}.v0-patient-demographics dd,.v0-program-meta-grid dd{color:#172128;font-size:.875rem;font-weight:500;line-height:1.25rem;margin:0;text-transform:capitalize}.v0-section-title h2{color:#172128;font-size:1.125rem;font-weight:600;letter-spacing:-.025em;line-height:1.75rem;margin:0}.v0-section-title p{color:#616a71;font-size:.875rem;line-height:1.25rem;margin:.25rem 0 0}.v0-diagnostic-list,.v0-rehab-program-list{display:flex;flex-direction:column}.v0-diagnostic-list{gap:.75rem;margin-top:.75rem}.v0-rehab-program-list{gap:1.25rem;margin-top:.75rem}.v0-diagnostic-card{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.v0-diagnostic-card-top,.v0-rehab-title-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.v0-diagnostic-card h3,.v0-rehab-title-row h3,.v0-rehab-title-button{color:#172128;font-size:1rem;font-weight:500;letter-spacing:0;line-height:1.5rem;margin:0}.v0-rehab-title-button{background:transparent;border:0;cursor:pointer;padding:0;text-align:left}.v0-rehab-title-button:hover{color:#1d777b}.v0-diagnostic-description,.v0-program-notes dd{color:#616a71;font-size:.875rem;line-height:1.625;margin:0}.v0-symptom-list{display:flex;flex-wrap:wrap;gap:.375rem}.v0-date-line{color:#616a71;font-size:.75rem;line-height:1rem;margin:0}.v0-empty-card{align-items:center;border-style:dashed;color:#616a71;display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:3rem 1.5rem;text-align:center}.v0-empty-card svg{height:2rem;opacity:.5;width:2rem}.v0-empty-card p{font-size:.875rem;line-height:1.25rem;margin:0}.v0-rehab-card-content{display:flex;flex-direction:column;gap:1rem;padding:0 1.5rem 1.5rem}.v0-program-meta-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.v0-program-notes dd{color:#172128}.v0-program-actions{display:flex;justify-content:flex-start}.v0-link-button{background:transparent;border:0;color:#1d777b;cursor:pointer;font-size:.875rem;font-weight:500;padding:0}.v0-link-button:hover{text-decoration:underline}.v0-program-exercise-table-wrap{border:1px solid oklch(.9 .008 220);border-radius:.5rem;overflow:hidden}.v0-program-exercise-table{border-collapse:collapse;font-size:.875rem;line-height:1.25rem;width:100%}.v0-program-exercise-table thead{background:#fff}.v0-program-exercise-table th{color:#616a71;font-size:.875rem;font-weight:500;height:2.5rem;padding:.5rem;text-align:left;vertical-align:middle}.v0-program-exercise-table td{border-top:1px solid oklch(.9 .008 220);color:#172128;padding:.5rem;vertical-align:middle}.v0-program-exercise-table .centered{text-align:center}.v0-program-exercise-table .exercise-name-cell{font-weight:500}.v0-program-exercise-table .exercise-name-cell span{color:#616a71;display:block;font-size:.75rem;font-weight:400;line-height:1rem}@media(max-width:720px){.v0-patient-demographics,.v0-program-meta-grid{grid-template-columns:1fr}}.v0-rehab-program-card-clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.v0-rehab-program-card-clickable:hover{background:#fff;border-color:#d9dfe2}.v0-rehab-program-card-clickable:focus-visible{border-color:#1d777b;box-shadow:0 0 0 3px #1d777b33;outline:none}.v0-rehab-program-card-clickable .v0-rehab-title-row h3{color:#172128}.v0-rehab-program-card-clickable:hover{background:#eef3f566;border-color:#1d777b66}.v0-rehab-program-card-clickable:hover .v0-rehab-title-row h3{color:#172128}.recording-v0-back-button:hover{background:#eef3f5;color:#172128}.recording-v0-back-button{align-items:center;background:transparent;background-clip:padding-box;border:1px solid transparent;border-radius:.5rem;color:#172128;display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:500;gap:.25rem;height:1.75rem;justify-content:center;line-height:1rem;padding:0 .625rem;transition:background-color .15s ease,color .15s ease,transform .15s ease;white-space:nowrap;width:auto}.recording-v0-back-button:hover{background:#eef3f5;border-color:transparent;color:#172128}.recording-v0-back-button:active{transform:translateY(1px)}.recording-v0-back-button svg{height:1rem;width:1rem}button.recording-v0-back-button:hover:not(:disabled){background:#eef3f5;border-color:transparent;color:#172128}.analyze-button{align-items:center;background:transparent;border:1px solid oklch(.82 .04 250);border-radius:.5rem;color:#284561;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.3rem;height:1.75rem;letter-spacing:.01em;padding:0 .6rem;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.analyze-button:hover{background:#e5f0fc;border-color:#4f84ba;color:#002a4e;color:oklch(.28 .08 250)}.recording-history-table td .analyze-button+.analyze-button{margin-left:.4rem}.analyze-button svg{fill:none;height:.85rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:.85rem}.metrics-dialog-backdrop{align-items:center;background:#0f172a85;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:60}.metrics-dialog{background:#fff;border:1px solid oklch(.9 .008 220);border-radius:1rem;box-shadow:0 32px 96px #0f172a47;display:flex;flex-direction:column;max-height:min(90vh,680px);overflow:hidden;width:min(100%,40rem)}.metrics-dialog-header{align-items:flex-start;border-bottom:1px solid oklch(.92 .006 220);display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1.25rem 1rem;position:relative}.metrics-dialog-title-row{align-items:center;display:flex;gap:.5rem}.metrics-dialog-title-row h2{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0}.metrics-dialog-subtitle{color:#616a71;font-size:.82rem;margin:0}.metrics-dialog-subtitle code{background:#eef2f5;border-radius:.25rem;font-size:.78rem;padding:.1em .35em}.metrics-dialog-header .dialog-close-button{position:absolute;right:.75rem;top:.75rem}.metrics-dialog-body{flex:1;overflow-y:auto;padding:1.25rem}.metrics-loading-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:3rem 1rem}.metrics-loading-state p{color:#616a71;font-size:.875rem;margin:0}.metrics-spinner{animation:metrics-spin .8s linear infinite;border:3px solid oklch(.9 .006 240);border-radius:50%;border-top-color:#284561;height:2rem;width:2rem}@keyframes metrics-spin{to{transform:rotate(360deg)}}.metrics-info-state,.metrics-error-state{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:2.5rem 1rem;text-align:center}.metrics-info-state p,.metrics-error-state p{color:#252f37;font-size:.9rem;margin:0}.metrics-info-state .metrics-info-sub{color:#616a71;font-size:.82rem}.metrics-info-icon,.metrics-alert-icon{fill:none;height:2.25rem;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75;width:2.25rem}.metrics-info-icon{stroke:#32669a}.metrics-alert-icon{stroke:#b32130}.metrics-content{display:flex;flex-direction:column;gap:1rem}.metrics-stats-grid{display:grid;gap:.625rem;grid-template-columns:repeat(2,1fr)}@media(min-width:480px){.metrics-stats-grid{grid-template-columns:repeat(4,1fr)}}.metrics-stat-card{background:#f4f7f9;border:1px solid oklch(.9 .006 220);border-radius:.625rem;display:flex;flex-direction:column;gap:.2rem;padding:.75rem}.metrics-stat-label{color:#616a71;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.metrics-stat-value{color:#09131a;font-size:1.05rem;font-weight:700}.metrics-separator{background:#e0e5e7;height:1px;width:100%}.metrics-section-title{color:#0e171e;font-size:.9rem;font-weight:600;margin:0}.metrics-performance,.metrics-bars{display:flex;flex-direction:column;gap:.75rem}.metrics-bar-row{align-items:center;display:flex;justify-content:space-between;gap:1rem}.metrics-bar-label-group{align-items:flex-start;display:flex;gap:.5rem}.metrics-bar-label{color:#202a32;display:block;font-size:.83rem;font-weight:500}.metrics-bar-note{color:#6c7378;display:block;font-size:.71rem}.metrics-bar-right{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.metrics-bar-track{background:#e4e9eb;border-radius:999px;height:.5rem;overflow:hidden;width:8rem}.metrics-bar-fill{border-radius:999px;height:100%;transition:width .5s ease}.metrics-bar-fill.good{background:linear-gradient(to right,#65c86b,#44b14e,#189a30)}.metrics-bar-fill.medium{background:linear-gradient(to right,#e6ad00,#c79600);background:linear-gradient(to right,color(xyz 0.483 0.467 0.027),color(xyz 0.362 0.335 -0.032))}.metrics-bar-fill.poor{background:linear-gradient(to right,#d71033,#d2002e,#ca002d 50%,#bb0029);background:linear-gradient(to right,#d71033,color(xyz 0.274 0.138 0.036),color(xyz 0.259 0.126 0.029) 50%,color(xyz 0.231 0.103 0.015))}.metrics-bar-pct{font-size:.82rem;font-weight:600;min-width:2rem;text-align:right}.metrics-bar-pct.good{color:#00721b;color:oklch(.48 .16 145)}.metrics-bar-pct.medium{color:#936e00;color:oklch(.56 .18 85)}.metrics-bar-pct.poor{color:#bb0028;color:oklch(.5 .22 22)}.metrics-volume-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.metrics-volume-label{color:#3b444a;font-size:.82rem;font-weight:500}.metrics-quality-badge{border-radius:999px;font-size:.75rem;font-weight:600;padding:.2em .7em}.metrics-quality-badge.good{background:#d7f5d7;color:#005211;color:oklch(.38 .14 145)}.metrics-quality-badge.medium{background:#fff0d2;background:oklch(.96 .06 85);color:#694e00;color:oklch(.44 .16 85)}.metrics-quality-badge.poor{background:#ffeae9;background:oklch(.96 .06 22);color:#9d0020;color:oklch(.44 .2 22)}.metrics-recommendations{display:flex;flex-direction:column;gap:.625rem}.metrics-rec-title-row{align-items:center;display:flex;gap:.4rem}.metrics-rec-list{display:flex;flex-direction:column;gap:.4rem}.metrics-rec-item{align-items:flex-start;background:#e8f3ff59;background:oklch(.96 .04 250 / 35%);border:1px solid oklch(.88 .06 250 / 60%);border-radius:.5rem;display:flex;gap:.625rem;padding:.625rem .75rem}.metrics-rec-item p{color:#04203a;font-size:.82rem;line-height:1.5;margin:0}.metrics-check-icon{fill:none;flex-shrink:0;height:1.1rem;margin-top:.1rem;stroke:#194f81;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1.1rem}.metrics-status-footer{align-items:center;background:#defbde66;border:1px solid oklch(.88 .08 145 / 60%);border-radius:.5rem;display:flex;gap:.5rem;padding:.625rem .75rem}.metrics-status-footer p{color:#013f0b;font-size:.82rem;margin:0}.metrics-status-footer .metrics-check-icon{stroke:#005e15;stroke:oklch(.42 .14 145)}.metrics-icon{fill:none;height:1.1rem;stroke:#284561;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1.1rem}.metrics-icon-sm{fill:none;flex-shrink:0;height:1rem;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1rem}.metrics-icon-sm.blue{stroke:#2266a4}.metrics-icon-sm.amber{stroke:#9c6900;stroke:oklch(.56 .18 75)}.metrics-icon-sm{stroke:#3b444a}.delete-recording-button{border-color:#e9b6b1;color:#733a36}.delete-recording-button:hover:not(:disabled){background:#ffedea;background:oklch(.96 .025 25);border-color:#cd605a;color:#691214}.delete-recording-button:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background:#0006;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:50}.modal-content{background:#fff;border-radius:8px;max-height:80vh;max-width:720px;overflow-y:auto;padding:1.5rem;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.modal-title{font-size:1.125rem;font-weight:600;margin:0}.loading-spinner{animation:spin .75s linear infinite;border:3px solid oklch(.88 .01 240);border-radius:50%;border-top-color:#5365a3;height:2rem;margin:2rem auto;width:2rem}@keyframes spin{to{transform:rotate(360deg)}}.audit-log-dashboard{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;max-width:1200px;margin:0 auto}.audit-log-header h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem}.audit-log-filters{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.audit-log-filters-header{display:flex;flex-direction:column;gap:.125rem}.audit-log-filters-title{font-size:.9375rem;font-weight:600}.audit-log-search{width:100%;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;outline:none;box-sizing:border-box}.audit-log-search:focus{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}.audit-log-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.audit-log-filter-field{display:flex;flex-direction:column;gap:.375rem}.audit-log-filter-field label{font-size:.8125rem;font-weight:500;color:#374151}.audit-log-filter-field select,.audit-log-filter-field input[type=datetime-local]{padding:.4375rem .625rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;background:#fff;outline:none;width:100%;box-sizing:border-box}.audit-log-filter-field select:focus,.audit-log-filter-field input[type=datetime-local]:focus{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}.audit-log-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow-x:auto}.audit-log-table{width:100%;border-collapse:collapse;font-size:.875rem}.audit-log-table thead tr{border-bottom:1px solid #e2e8f0}.audit-log-table th{padding:.75rem 1.25rem;text-align:left;font-size:.8125rem;font-weight:600;color:#374151;white-space:nowrap}.audit-log-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.audit-log-table tbody tr:last-child{border-bottom:none}.audit-log-table tbody tr:hover{background:#f8fafc}.audit-log-table td{padding:.75rem 1.25rem;vertical-align:middle}.audit-log-mono{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.8125rem}.audit-log-muted{color:#667085}.audit-log-empty{padding:2.5rem;text-align:center;color:#667085}.audit-log-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#b91c1c;padding:.75rem 1rem;font-size:.875rem}.audit-log-pagination{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.audit-log-pagination-actions{display:flex;gap:.5rem}.audit-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.125rem .625rem;font-size:.75rem;font-weight:500;white-space:nowrap}.audit-badge--entity{background:#dbeafe;color:#1e40af}.audit-badge--create{background:#dcfce7;color:#166534}.audit-badge--update{background:#fef9c3;color:#854d0e}.audit-badge--delete{background:#fee2e2;color:#991b1b}.audit-badge--upload{background:#f3e8ff;color:#6b21a8}.audit-badge--view{background:#f1f5f9;color:#475569}.audit-badge--login{background:#cffafe;color:#155e75}.audit-badge--sign{background:#ffedd5;color:#9a3412}.audit-badge--analyze{background:#e0e7ff;color:#3730a3}.audit-badge--consent{background:#ccfbf1;color:#115e59}.audit-badge--default{background:#f1f5f9;color:#475569}.gdpr-rights-section{margin-top:0}.gdpr-rights-card{display:flex;align-items:flex-start;gap:1rem;background:var(--surface, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:.75rem;padding:1.25rem 1.5rem}.gdpr-rights-card>svg{flex-shrink:0;width:1.5rem;height:1.5rem;margin-top:.125rem;stroke:var(--text-muted, #64748b);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.gdpr-rights-body{flex:1;font-size:.875rem;color:var(--text, #1e293b);line-height:1.5}.gdpr-rights-body p+p{margin-top:.25rem}.gdpr-rights-note{color:var(--text-muted, #64748b);font-size:.8125rem}.gdpr-rights-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.gdpr-rights-actions .v0-outline-button:disabled{opacity:.45;cursor:not-allowed}.gdpr-delete-button:disabled{border-color:#fca5a5;color:#ef4444}
