:root{color:#202943;font-synthesis:none;--primary:#6655d8;--navy:#17213b;--muted:#71798d;--line:#e5e8f0;--soft:#f0edfc;background:#f6f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid var(--line);color:inherit;background:#fff;border-radius:9px;padding:.7rem 1rem;font-weight:600}button:hover:not(:disabled){background:#f6f4fe}input,select,textarea{width:100%;color:inherit;background:#fff;border:1px solid #cbd0de;border-radius:9px;padding:.85rem 1rem}label{margin:.9rem 0 .45rem;font-size:.9rem;font-weight:600;display:block}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;font-size:2rem;line-height:1.2}h2{letter-spacing:-.025em;font-size:1.45rem}h3{font-size:1.05rem}.muted{color:var(--muted)}.eyebrow{letter-spacing:.13em;color:var(--primary);margin-bottom:.7rem;font-size:.75rem;font-weight:700;display:block}.primary{background:var(--primary);border:1px solid var(--primary);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:1rem;padding:.85rem 1.1rem;font-weight:600;display:inline-flex}.primary:hover:not(:disabled){color:#fff;background:#5141bd;text-decoration:none}.full{justify-content:space-between;width:100%;margin-top:1.5rem}.brand{align-items:center;gap:.65rem;display:flex}.brand-symbol{background:var(--primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:46px;font-size:2.4rem;font-style:italic;font-weight:700;line-height:1;display:flex}.brand strong{letter-spacing:.1em;font-size:1.5rem;line-height:1.1}.brand strong span{vertical-align:super;letter-spacing:0;font-size:.6rem}.brand small{letter-spacing:.13em;font-size:.7rem;line-height:1.5;display:block}.demo-banner{color:#695218;text-align:center;background:#fff4d9;padding:.5rem 1rem;font-size:.8rem;font-weight:500}.demo-banner span{margin:0 .55rem}.login-layout{grid-template-columns:46% 54%;min-height:calc(100dvh - 36px);display:grid}.login-panel{background:var(--navy);color:#fff;flex-direction:column;justify-content:space-between;padding:3rem 4rem;display:flex;overflow:hidden}.login-title{max-width:480px;padding:4rem 0 3rem}.login-title .eyebrow{color:#b6adfa}.login-title h1{letter-spacing:-.05em;margin:1.2rem 0;font-size:clamp(2.5rem,4.3vw,4.4rem);line-height:1.12}.login-title p{color:#b7bfd2;max-width:330px;font-size:1.05rem}.login-panel>small{color:#a0abc5;font-size:.8rem}.motif{align-items:end;gap:12px;height:130px;margin-top:3rem;display:flex}.motif i{background:#7366d5;border-radius:30px;width:40px;height:35%}.motif i:nth-child(2){background:#8476e3;height:55%}.motif i:nth-child(3){background:#a598fb;height:90%}.motif i:nth-child(4){background:#796bd4;height:65%}.motif i:nth-child(5){background:#aca0fa;height:100%}.login-main{background:#fff;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.login-form{width:100%;max-width:420px}.login-form h2{margin-bottom:.7rem;font-size:1.9rem}.login-form .muted{margin-bottom:2rem}.login-note{color:var(--muted);border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem;font-size:.875rem}.recovery{text-align:center;margin-top:1.1rem;font-size:.9rem;display:block}.error{color:#963b3b;background:#fff4f4;border:1px solid #f2c4c4;border-radius:9px;margin:1rem 0;padding:1rem}.error button{margin-left:1rem}.initial-workspace{max-width:1200px;margin:auto;padding:3rem}.initial-workspace>.brand{margin-bottom:3rem}.clinic-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.2rem;display:grid}.clinic-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:1.5rem}.clinic-avatar{background:var(--soft);width:48px;height:48px;color:var(--primary);border-radius:12px;place-items:center;margin-bottom:1.2rem;font-weight:700;display:grid}.clinic-card h2{font-size:1.15rem}@media (width<=800px){.login-layout{grid-template-columns:1fr}.login-panel{padding:1.5rem 2rem}.login-title,.login-panel>small{display:none}.login-main{align-items:start;min-height:70dvh;padding:3rem 1.5rem}.initial-workspace{padding:1.5rem}.demo-banner{font-size:.75rem}.login-form h2{font-size:1.7rem}}.brand{color:inherit;width:max-content;text-decoration:none}.brand:hover{text-decoration:none}.app-layout{grid-template-columns:244px minmax(0,1fr);min-height:calc(100dvh - 36px);display:grid}.sidebar{background:var(--navy);color:#c4cbe0;flex-direction:column;padding:2.2rem 1.1rem;display:flex}.sidebar>.brand{color:#fff;margin:0 1.1rem 3.2rem}.nav-label{color:#8996b6;letter-spacing:.12em;margin:0 1rem 1rem;font-size:.7rem;font-weight:650;display:block}.sidebar nav{flex-direction:column;gap:.45rem;display:flex}.sidebar nav a{color:#bbc4dc;border-radius:8px;align-items:center;gap:.7rem;padding:.8rem 1rem;font-size:.875rem;display:flex}.sidebar nav a:hover{background:#222d4a;text-decoration:none}.sidebar nav a[aria-current=page]{color:#fff;background:#6555d8;box-shadow:0 4px 15px #060e272b}.sidebar nav a>span{text-align:center;width:20px;font-size:1.2rem;line-height:1}.clinic-label{letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere;margin-top:1.8rem}.sidebar-bottom{margin-top:auto;padding:4rem 1rem 0}.mini-label{letter-spacing:.11em;color:#8996b6;font-size:.65rem}.sidebar-bottom p{color:#acb6d0;margin:.75rem 0 2rem;font-size:.95rem}.sidebar-bottom small{color:#7987a9;font-size:.75rem}.main-column{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;height:88px;padding:1rem 2.4rem;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:.9rem;min-width:0;font-size:.85rem;display:flex}.breadcrumbs strong{color:#38435e;overflow-wrap:anywhere;font-weight:500}.account{align-items:center;gap:.7rem;min-width:0;display:flex}.account>div:not(.logout){max-width:200px}.account strong{font-size:.875rem;font-weight:600;display:block}.account small{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;display:block}.account button{margin-left:.5rem;padding:.45rem .7rem;font-size:.8rem}.avatar{background:var(--soft);width:48px;height:48px;color:var(--primary);border-radius:12px;flex:0 0 48px;place-items:center;margin-bottom:1rem;font-size:1.05rem;font-weight:650;display:grid}.avatar.small{border-radius:50%;flex-basis:36px;width:36px;height:36px;margin:0;font-size:.75rem}.workspace{flex:1;align-self:center;width:100%;min-width:0;max-width:1500px;padding:2.4rem}.page-header{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.page-header h1{margin-bottom:.7rem}.page-header p{margin-bottom:0;font-size:.95rem}.page-header .eyebrow{overflow-wrap:anywhere;font-size:.7rem}.page-actions{flex-shrink:0;gap:.6rem;display:flex}.page-actions button,.page-actions a{white-space:nowrap;padding:.75rem 1rem;font-size:.875rem}.button{border:1px solid var(--line);color:inherit;background:#fff;border-radius:9px;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.button:hover{background:#f1effd;text-decoration:none}.card-top{justify-content:space-between;align-items:start;display:flex}.card-top .badge{font-size:.7rem}.clinic-card{flex-direction:column;min-width:0;display:flex;box-shadow:0 3px 8px #17213b03}.clinic-card h2{overflow-wrap:anywhere;margin-bottom:.8rem}.card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1.1rem;display:flex}.card-footer button{color:var(--primary);padding:.5rem .75rem;font-size:.8rem}.small-text{font-size:.875rem}.card-footer .small-text{font-size:.75rem}.info-strip{color:#636d86;background:#f0f1f8;border-radius:10px;align-items:center;gap:.9rem;margin-top:1.8rem;padding:1rem 1.2rem;display:flex}.info-strip p{margin:0;font-size:.85rem}.info-strip>span{color:var(--primary);font-size:1.4rem}.badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{color:#626d85;overflow-wrap:anywhere;background:#f0f2f7;border-radius:5px;align-items:center;width:max-content;max-width:100%;padding:.25rem .6rem;font-size:.75rem;font-weight:550;line-height:1.5;display:inline-flex}.badge.purple{background:var(--soft);color:#6550c7}.badge.green{color:#287b57;background:#e8f6ef}.badge.amber{color:#967025;background:#fff2d6}.data-card,.form-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 3px 10px #17213b03}.form-card{padding:2rem}.narrow{max-width:650px}.form-card h2{margin:.5rem 0 .8rem}.form-card strong{overflow-wrap:anywhere}.form-card textarea{resize:vertical}.form-card .primary{margin-top:1rem}.empty{text-align:center;background:#fff;border-radius:12px;padding:3.4rem 1.5rem}.empty h2{margin-bottom:.6rem;font-size:1.2rem}.empty p{max-width:420px;margin:0 auto 1.3rem;font-size:.95rem}.empty-symbol{background:var(--soft);color:var(--primary);border-radius:13px;place-items:center;width:48px;height:48px;margin:0 auto 1.2rem;font-size:1.5rem;display:grid}.tabs{border-bottom:1px solid var(--line);gap:1.5rem;padding:0 1.6rem;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;padding:1.25rem 0 1.1rem;font-size:.875rem}.tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:.05em;color:#798197;white-space:nowrap;background:#fcfcfe;padding:.95rem 1.5rem;font-size:.7rem;font-weight:650}td{vertical-align:middle;border-top:1px solid #f0f1f6;padding:1.2rem 1.5rem;font-size:.875rem}td>strong{overflow-wrap:anywhere;font-weight:550}.person{align-items:center;gap:.75rem;min-width:200px;display:flex}.person strong{font-size:.875rem;font-weight:600;display:block}.person small{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem;display:block}.you{color:#7b718f;background:#f3f2fa;border-radius:4px;margin-left:.45rem;padding:.15rem .35rem;font-size:.65rem;font-weight:500}.row-actions{justify-content:flex-end;gap:.4rem;display:flex}.row-actions button,td>button{white-space:nowrap;padding:.4rem .6rem;font-size:.75rem}.danger-text{color:#b6525d}.danger-text:hover:not(:disabled){color:#993f49;background:#fff1f2}.danger{color:#fff;background:#b64f5d;border-color:#b64f5d}.danger:hover:not(:disabled){background:#9b3e4a}.date-cell{color:var(--muted);white-space:nowrap;font-size:.8rem}.pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:.8rem;display:flex}.pagination>div{gap:.5rem;display:flex}.pagination button{padding:.45rem .7rem;font-size:.75rem}.pagination button:disabled{cursor:default}.footnote{color:var(--muted);margin:1.2rem .2rem;font-size:.8rem}.workspace-footer{justify-content:space-between;gap:1rem;padding:1.4rem 2.4rem;font-size:.75rem;display:flex}.workspace-footer>span:first-child{letter-spacing:.04em;font-weight:650}.workspace-footer>span:first-child .muted{letter-spacing:0;margin-left:.3rem;font-weight:400}.loading{min-height:150px;color:var(--muted);justify-content:center;align-items:center;gap:.7rem;font-size:.9rem;display:flex}.spinner{border:2px solid #dfdcf4;border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:1s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.notice{color:#32764c;background:#edf8f2;border:1px solid #c8e7d6;border-radius:9px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem 1rem;font-size:.875rem;display:flex}.icon-button{color:var(--muted);background:0 0;border:none;padding:.2rem .45rem;font-size:1.5rem;line-height:1}.secret-card{background:#fbfaff;border:1px solid #d7d0f7;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.secret-card h2{overflow-wrap:anywhere;font-size:1rem}.secret-card p{max-width:680px;font-size:.875rem}.copy-row{gap:.7rem;display:flex}.copy-row input{min-width:0;font-family:ui-monospace,monospace;font-size:.8rem}.copy-row button{white-space:nowrap;font-size:.8rem}.secret-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.secret-footer small{color:var(--muted);font-size:.75rem}.secret-footer button{font-size:.8rem}.success-mark{color:#287b57;background:#e8f6ef;border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:1rem;font-size:1.5rem;display:grid}dialog{border:1px solid var(--line);width:min(560px,100vw - 2rem);max-height:calc(100dvh - 3rem);color:inherit;border-radius:16px;padding:0;box-shadow:0 30px 100px #11182b33}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10192b88}.dialog-inner{padding:1.8rem}.dialog-header{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;display:flex}.dialog-header h2{margin:0;font-size:1.3rem}.dialog-inner>p,.dialog-inner form>p{font-size:.9rem}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.65rem;margin-top:1rem;padding-top:1.5rem;display:flex}.dialog-actions button{font-size:.875rem}.role-picker{border:0;margin:1.5rem 0 0;padding:0}.role-picker legend{font-size:.9rem;font-weight:650}.role-picker>p{margin:.3rem 0 .8rem;font-size:.8rem}.role-option{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:start;gap:.7rem;margin:.5rem 0;padding:.8rem;display:flex}.role-option:has(input:checked){background:#f7f5ff;border-color:#c7bcf4}.role-option input{width:16px;height:16px;accent-color:var(--primary);margin:.25rem 0 0}.role-option strong{font-size:.85rem;font-weight:600;display:block}.role-option small{color:var(--muted);margin-top:.15rem;font-size:.75rem;font-weight:400;display:block}.edit-person{margin-bottom:1rem}.edit-person .avatar{margin:0}.timeline{margin:0;padding:1.8rem;list-style:none}.timeline li{gap:1rem;padding:0 0 1.8rem;display:flex;position:relative}.timeline li:not(:last-child):before{content:"";background:var(--line);width:1px;position:absolute;top:16px;bottom:0;left:6px}.timeline-marker{background:var(--primary);border:3px solid #ded8f9;border-radius:50%;flex:0 0 13px;width:13px;height:13px;margin-top:.35rem}.timeline li:last-child{padding-bottom:0}.timeline h2{margin:0 0 .3rem;font-size:.95rem}.timeline time{color:var(--muted);font-size:.8rem}.timeline details{color:var(--muted);margin-top:.7rem;font-size:.75rem}.timeline summary{cursor:pointer}.timeline dd{overflow-wrap:anywhere;margin:0}.timeline dt{margin-top:.6rem;font-weight:600}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.demo-hint{margin-top:1rem;font-size:.8rem}.data-card .error{margin:1.2rem}.logout{position:relative}.logout>span{border:1px solid var(--line);z-index:2;background:#fff;width:240px;padding:1rem;position:absolute;top:100%;right:0}@media (width>=1600px){.workspace{padding-top:3.4rem}.clinic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1100px){.app-layout{grid-template-columns:205px minmax(0,1fr)}.workspace{padding:1.8rem}.page-header{flex-direction:column;align-items:start;gap:1.2rem}.topbar{padding:1rem 1.8rem}.account small{display:none}td,th{padding:1rem}.sidebar{padding-left:.7rem;padding-right:.7rem}.sidebar>.brand{margin-left:.6rem}.nav-label{font-size:.65rem}}@media (width<=800px){.app-layout{grid-template-columns:1fr}.sidebar{padding:1rem 1.2rem;display:block}.sidebar>.brand{margin:0 0 1rem}.sidebar>.nav-label,.sidebar-bottom,.clinic-label{display:none}.sidebar nav{flex-flow:wrap;gap:.4rem}.sidebar nav a{padding:.55rem .7rem;font-size:.8rem}.sidebar nav a>span{width:14px;font-size:1rem}.topbar{height:auto;min-height:72px;padding:.9rem 1.2rem}.breadcrumbs{gap:.5rem;font-size:.75rem}.account>div:not(.logout){display:none}.workspace{padding:1.6rem 1.2rem}.workspace h1{font-size:1.7rem}.page-header{margin-bottom:1.5rem}.page-actions{flex-wrap:wrap;width:100%}.page-actions button,.page-actions a{white-space:normal;flex:1}.workspace-footer{padding:1.2rem;font-size:.7rem}.clinic-grid{grid-template-columns:1fr}.clinic-card{padding:1.2rem}.tabs{gap:1.2rem;padding:0 1rem}.tabs button{font-size:.8rem}.person{min-width:170px}.card-footer{flex-wrap:wrap}.dialog-inner{padding:1.3rem}.form-card{padding:1.4rem}.copy-row{flex-direction:column}.secret-footer{flex-direction:column;align-items:start}.secret-card{padding:1.2rem}.timeline{padding:1.4rem}.demo-banner span{margin:0 .3rem}.error{font-size:.9rem}.error button{margin:.5rem 0 0;display:block}.pagination{flex-wrap:wrap;padding:1rem}.login-panel .brand{margin:0}.info-strip{align-items:start}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.badge,.row-actions button,td>button,.pagination button,.role-option strong{font-size:.875rem}.nav-label,.mini-label,.page-header .eyebrow,th,.you{font-size:.75rem}.sidebar nav a,.tabs button{font-size:.875rem}.patient-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1.2rem;padding:1.3rem 1.5rem;display:flex}.patient-search{flex:1;gap:.5rem;max-width:620px;display:flex}.patient-search input{min-width:0}.status-filter{align-items:center;gap:.65rem;display:flex}.status-filter label{margin:0;font-size:.875rem}.status-filter select{min-width:135px;padding:.75rem}.result-count{color:var(--muted);align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:.875rem;display:flex}.result-count button{padding:.4rem .6rem;font-size:.8rem}.patient-name{color:#263353;font-weight:600}.patient-name:hover{color:var(--primary)}.contact-lines{flex-direction:column;gap:.2rem;min-width:150px;display:flex}.contact-lines small{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.block{display:block}.patient-heading{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:1.2rem;margin-bottom:1.2rem;padding:1.6rem;display:flex}.patient-heading>.avatar{flex-basis:60px;width:60px;height:60px;margin:0;font-size:1.35rem}.patient-heading h2{overflow-wrap:anywhere;margin:0 0 .35rem}.patient-heading p{margin:0;font-size:.875rem}.patient-heading>.badge{margin-left:auto}.patient-detail-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.patient-detail-grid .form-card h2{margin:0 0 1.4rem;font-size:1rem}.patient-data{grid-template-columns:1fr;gap:.35rem;margin:0;display:grid}.patient-data dt{color:var(--muted);font-size:.8rem}.patient-data dd{overflow-wrap:anywhere;margin:0 0 1rem}.patient-data dd:last-child{margin-bottom:0}.assignment-note{margin:1.5rem 0 0}.back-link{margin-bottom:1.2rem;font-size:.875rem;display:inline-block}.patient-form-grid{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.full-field{grid-column:1/-1}.professional-picker{margin-top:1.2rem}.professional-picker details{margin-top:.65rem;font-size:.8rem}.professional-picker summary{cursor:pointer;color:var(--primary)}.picker-search{gap:.5rem;margin-top:.75rem;display:flex}.picker-search input{min-width:0}.picker-search button,.picker-pages button{font-size:.8rem}.picker-pages{justify-content:space-between;margin-top:.5rem;display:flex}.professional-picker>p{margin-top:.6rem;font-size:.8rem}.patient-detail-grid .person,.patient-heading>div{min-width:0}@media (width<=800px){.patient-toolbar{flex-direction:column;align-items:stretch;gap:.8rem;padding:1rem}.patient-search{max-width:none}.status-filter{justify-content:space-between}.status-filter select{flex:0 60%;width:auto}.patient-detail-grid{grid-template-columns:1fr}.patient-heading{flex-wrap:wrap;padding:1.2rem}.patient-heading>.badge{margin-left:0}.patient-form-grid{grid-template-columns:1fr}.result-count{flex-wrap:wrap;padding:1rem}.patient-heading h2{font-size:1.2rem}}.module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.module-card,.module-pending{color:inherit;background:#fff;border:1px solid #e2e5ed;border-radius:16px;padding:24px;text-decoration:none}.module-card h2{margin:18px 0 10px;font-size:20px}.module-card p,.module-pending p{color:#626b80;line-height:1.65}.module-card:hover{border-color:#8c75dd}.module-link{color:#6445c0;font-weight:600}.exercise-search{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px;display:flex}.exercise-search label{flex:1;min-width:180px}.exercise-form{gap:18px;display:grid}.exercise-form textarea{width:100%;font:inherit;resize:vertical;border:1px solid #ccd1dc;border-radius:8px;padding:12px}.exercise-instructions{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}.sidebar nav{max-height:calc(100vh - 230px);overflow:auto}.module-pending{max-width:800px}.module-pending .button{margin-top:16px;display:inline-block}.agenda-choices{gap:8px;max-height:240px;margin-top:14px;display:grid;overflow:auto}.agenda-choices button{text-align:left}.exercise-form fieldset{border:1px solid #e2e5ed;border-radius:10px;min-width:0;padding:16px}.exercise-form details summary{cursor:pointer;color:#6445c0;margin-bottom:12px}.month-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.month-toolbar label{max-width:240px}.month-calendar{background:#fff;border:1px solid #e2e5ed;border-radius:14px;padding:16px}.month-weekdays,.month-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-weekdays{text-align:center;color:#626b80;padding:8px 0 14px}.month-days button{border:1px solid #e2e5ed;border-radius:9px;flex-direction:column;align-items:flex-start;gap:8px;min-height:95px;padding:12px;display:flex}.month-days button.selected{color:#4e3293;background:#eee9fc;border:2px solid #7454c5}.month-days button span,.month-days button small{font-size:12px}.day-heading{margin:26px 0 16px}@media (width<=600px){.month-calendar{padding:7px}.month-days,.month-weekdays{gap:3px}.month-days button{min-height:82px;padding:6px 2px}.month-days button span,.month-days button small{font-size:10px}}.agenda-view-switch{gap:6px;margin-bottom:20px;display:flex}.agenda-view-switch button[aria-pressed=true]{color:#fff;background:#6145c4;border-color:#6145c4}.week-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.week-toolbar strong{text-align:center;min-width:210px}.week-scroll{background:#fff;border:1px solid #e2e5ed;border-radius:14px;max-height:72vh;overflow:auto}.week-grid{grid-template-columns:72px repeat(7,minmax(125px,1fr));min-width:1000px;display:grid}.week-corner,.week-day-title{z-index:4;background:#f8f8fb;border-top:0;border-bottom:1px solid #dfe2ea;border-left:0;border-right:1px solid #e7e9ef;border-radius:0;min-height:66px;padding:10px;position:sticky;top:0}.week-corner{z-index:5;color:#697185;place-items:center;font-size:12px;display:grid;left:0}.week-day-title span,.week-day-title strong{display:block}.week-day-title span{color:#697185;margin-bottom:4px;font-size:12px}.week-day-title.selected{color:#4e3293;background:#eee9fc}.week-hours{z-index:3;background:#fafafd;border-right:1px solid #dfe2ea;grid-column:1;position:sticky;left:0}.week-hours span{color:#737b8c;font-size:11px;position:absolute;right:8px;transform:translateY(-50%)}.week-day-track{background:#fff;border-right:1px solid #e7e9ef;position:relative}.week-line{border-top:1px solid #edf0f4;position:absolute;left:0;right:0}.week-line:nth-child(2n){border-top-style:dashed}.week-event{z-index:2;text-align:left;color:#362269;background:#eee9fc;border:1px solid #b9ade9;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;padding:5px 6px;font-size:11px;line-height:1.2;display:flex;position:absolute;overflow:hidden}.week-event strong,.week-event span,.week-event small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.week-event.status-confirmed{background:#ded5ff}.week-event.status-absent{color:#744a13;background:#fff0db;border-color:#e8bf87}@media (width<=700px){.week-scroll{max-height:68vh}.week-grid{grid-template-columns:62px repeat(7,minmax(118px,1fr))}}.clinical-records{gap:20px;display:grid}.clinical-content{gap:16px;display:grid}.clinical-content dt{color:#44506b;font-weight:600}.clinical-content dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;line-height:1.6}.clinical-field{margin-bottom:18px;display:block}.clinical-review{align-items:center;gap:12px;margin:20px 0;display:flex}.clinical-review input{width:auto}.form-requirements{color:#795b20;background:#fff7e8;border-radius:9px;margin:0;padding:.75rem 1rem;font-size:.875rem}.plan-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.plan-metrics section{background:#fff;border:1px solid #e2e5ed;border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.plan-metrics strong{color:#6445c0;font-size:28px}.plan-metrics span{color:#626b80;font-size:13px}.prescribed-exercise{border:1px solid #e2e5ed;border-radius:10px;margin:14px 0;padding:16px}.prescribed-exercise h4{margin:0 0 12px}.plan-adendum{margin-top:18px}@media (width<=800px){.plan-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.timeline-pain{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:1rem;padding:1.4rem}.timeline-pain h2{font-size:1rem}.pain-points{align-items:end;gap:.7rem;padding-top:.6rem;display:flex;overflow-x:auto}.pain-points>div{background:var(--soft);text-align:center;border-radius:9px;min-width:78px;padding:.8rem}.pain-points strong{color:var(--primary);font-size:1.15rem;display:block}.pain-points span{color:var(--muted);margin-top:.25rem;font-size:.72rem;display:block}.timeline .badge{margin-bottom:.45rem}.timeline p{margin:.55rem 0 0}.catalog-switch{flex-wrap:wrap;gap:10px;margin:0 0 24px;display:flex}.catalog-switch button[aria-pressed=true]{color:#4e3293;background:#eee9fc;border-color:#7454c5}.exercise-dates{min-width:0;margin:12px 0}.exercise-day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:420px;display:grid}.exercise-day-grid button{min-height:40px;padding:8px 0}.exercise-day-grid button[aria-pressed=true]{color:#fff;background:#6145c4;border-color:#6145c4}.student-panel{margin:24px 0}.student-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.schedule-column{background:#f5f6fa;border-radius:16px;min-width:0;padding:16px}.schedule-today{background:#eee9fc;border:1px solid #c8b8f3}.schedule-day{margin:16px 0}.schedule-exercise{overflow-wrap:anywhere;background:#fff;border:1px solid #e3e5ed;border-radius:12px;margin:10px 0;padding:14px}.schedule-exercise h4{margin:10px 0}.schedule-exercise details{margin-bottom:12px}@media (width<=900px){.student-schedule-grid{grid-template-columns:1fr}.schedule-today{grid-row:1}}.week-event.status-scheduled,.week-event.status-confirmed{color:#3e287b;background:#e8e0ff;border-color:#9a82e0}.week-event.status-completed{color:#205f39;background:#def3e7;border-color:#87c8a1}.week-event.status-absent,.week-event.status-cancelled{color:#842d2d;background:#fde2e2;border-color:#e59a9a}.week-legend{flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12px;display:flex}.week-legend span{align-items:center;gap:6px;display:flex}.week-legend span:before{content:"";border-radius:4px;width:12px;height:12px}.legend-scheduled:before{background:#8a6bd8}.legend-completed:before{background:#55a978}.legend-missed:before{background:#d76565}.badge.status-scheduled,.badge.status-confirmed{color:#4a318e;background:#e8e0ff}.badge.status-completed{color:#23613b;background:#def3e7}.badge.status-absent,.badge.status-cancelled{color:#922f2f;background:#fde2e2}.day-grid-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;display:flex}.day-grid-toolbar label{max-width:220px}.day-grid-scroll{background:#fff;border:1px solid #e2e5ed;border-radius:14px;max-height:72vh;overflow:auto}.day-grid{grid-template-columns:76px minmax(600px,1fr);min-width:720px;display:grid}.day-hours{z-index:3;background:#fafafd;border-right:1px solid #dfe2ea;position:sticky;left:0}.day-hours span{color:#737b8c;font-size:12px;position:absolute;right:10px;transform:translateY(-50%)}.day-track{background:#fff;position:relative}.day-line{border-top:1px solid #edf0f4;position:absolute;left:0;right:0}.day-line:nth-child(2n){border-top-style:dashed}.day-event{z-index:2;text-align:left;color:#3e287b;background:#e8e0ff;border:1px solid #9a82e0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:7px 9px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.day-event strong,.day-event span,.day-event small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.day-event.status-completed{color:#205f39;background:#def3e7;border-color:#87c8a1}.day-event.status-absent,.day-event.status-cancelled{color:#842d2d;background:#fde2e2;border-color:#e59a9a}@media (width<=700px){.day-grid-scroll{max-height:68vh}.day-grid{grid-template-columns:64px minmax(560px,1fr)}}.appointment-exercises{background:#f7f4ff;border:1px solid #d7cef5;border-radius:12px;margin-bottom:20px;padding:16px}.appointment-exercises-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.appointment-exercises-heading h3{margin:0 0 4px}.appointment-exercises-heading p{margin:0}.appointment-exercise-count{white-space:nowrap;color:#fff;background:#6655d8;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.appointment-exercise-list{gap:12px;margin-top:16px;display:grid}.appointment-exercise{background:#fff;border:1px solid #e2ddf3;border-radius:10px;padding:14px}.appointment-exercise-title{justify-content:space-between;align-items:start;gap:10px;display:flex}.appointment-exercise-title h4{margin:0 0 12px}.appointment-exercise details{margin:10px 0}.appointment-exercise summary{cursor:pointer;color:#6445c0}.appointment-result{border-radius:8px;padding:8px 10px;font-size:13px}.appointment-result.performed{color:#205f39;background:#def3e7}.appointment-result.not_performed{color:#842d2d;background:#fde2e2}.appointment-adendum{color:#7a5413;background:#fff4dd;border-radius:8px;padding:8px 10px}.appointment-exercises-empty{background:#fff;border:1px dashed #c8bdec;border-radius:10px;margin-top:14px;padding:16px}.appointment-exercises-empty p{margin:5px 0 12px}.appointment-undated{color:#6d4d16;background:#fff4dd;border-radius:8px;padding:10px 12px}@media (width<=600px){.appointment-exercises-heading,.appointment-exercise-title{flex-direction:column}.appointment-exercise-count{align-self:flex-start}}.plan-history{border-top:1px solid #e2e5ed;margin-top:22px;padding-top:16px}.plan-history>summary{cursor:pointer;color:#6445c0;font-weight:700}.plan-history>article{background:#f7f7fa;border-radius:10px;margin-top:16px;padding:16px}.plan-history>article>p{font-size:13px}.assessment-description{color:#4e4567;background:#f4f1ff;border-left:4px solid #7454c5;border-radius:6px;padding:12px 14px}.assessment-fields{gap:4px;display:grid}.modeled-assessment>.clinical-content{margin-top:16px}.modeled-assessment>.clinical-content>div{border-bottom:1px solid #eceef3;padding-bottom:12px}.document-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}.document-toolbar label{min-width:220px}.document-toolbar span{color:#626b80;font-size:13px}.document-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.document-card h2{overflow-wrap:anywhere}.document-card dl{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.document-card dt{color:#626b80;font-size:12px}.document-card dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:14px}.document-card .page-actions{margin-top:18px}@media (width<=600px){.document-card dl{grid-template-columns:1fr}.document-toolbar{align-items:stretch}.document-toolbar label{width:100%;min-width:0}}.digitalization-metrics{grid-template-columns:repeat(2,minmax(0,220px));margin-bottom:16px}.digitization-section{margin:28px 0}.digitization-section>h2{margin-bottom:16px;font-size:18px}.digitization-review{gap:16px;display:grid;border:0!important;padding:0!important}.digitization-review textarea{width:100%;font:inherit;resize:vertical;border:1px solid #ccd1dc;border-radius:8px;padding:12px}.review-source{background:#f5f6fa;border-radius:8px;margin-bottom:14px;padding:12px 14px}.review-source a{color:#6445c0}@media (width<=600px){.digitalization-metrics{grid-template-columns:1fr}}dialog{overflow:hidden}.dialog-inner{overscroll-behavior:contain;max-height:calc(100dvh - 3rem);overflow-y:auto}@media (width<=800px){.sidebar{z-index:20;padding:.65rem .8rem;position:sticky;top:0;box-shadow:0 3px 12px #10192b2e}.sidebar>.brand{margin:0 0 .55rem}.sidebar .brand-symbol{border-radius:9px;width:32px;height:34px;font-size:1.8rem}.sidebar .brand strong{font-size:1.05rem}.sidebar .brand small{display:none}.sidebar nav{scrollbar-width:thin;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;flex-wrap:nowrap;max-height:none;padding-bottom:.25rem;overflow:auto hidden}.sidebar nav a{white-space:nowrap;scroll-snap-align:center;flex:none;min-height:42px}.tabs{scrollbar-width:thin;gap:1.1rem;overflow-x:auto}.tabs button{white-space:nowrap;flex:none;min-height:44px}.timeline li>div{min-width:0}.timeline h2,.timeline p,.timeline details{overflow-wrap:anywhere}}@media (width<=600px){.workspace{padding:1.2rem .85rem}.workspace h1{font-size:1.5rem}.workspace-footer{flex-direction:column;align-items:flex-start}.topbar{padding:.7rem .85rem}.breadcrumbs>span{display:none}.account button{min-height:42px;margin-left:0}.page-header{gap:1rem}.page-actions{grid-template-columns:1fr;width:100%;display:grid}.page-actions button,.page-actions a{width:100%;min-height:44px}.month-toolbar,.week-toolbar,.day-grid-toolbar,.exercise-search{grid-template-columns:1fr;align-items:stretch;display:grid}.month-toolbar label,.week-toolbar label,.day-grid-toolbar label,.exercise-search label{width:100%;min-width:0;max-width:none;margin-top:0}.agenda-view-switch{padding-bottom:.25rem;overflow-x:auto}.agenda-view-switch button{flex:1 0 auto;min-height:44px}.month-calendar{padding:6px}.month-weekdays{padding:5px 0 9px;font-size:11px}.month-days,.month-weekdays{gap:2px}.month-days button{border-radius:7px;gap:4px;min-height:72px;padding:5px 2px}.month-days button span,.month-days button small{overflow-wrap:anywhere;font-size:9px;line-height:1.25}.appointment-table thead{display:none}.appointment-table,.appointment-table tbody,.appointment-table tr,.appointment-table td{width:100%;display:block}.appointment-table tbody{padding:.75rem}.appointment-table tr{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:.75rem;padding:.45rem .85rem}.appointment-table tr:last-child{margin-bottom:0}.appointment-table td{border-top:0;grid-template-columns:minmax(96px,.7fr) minmax(0,1.3fr);align-items:center;gap:.65rem;padding:.55rem 0;display:grid}.appointment-table td:before{content:attr(data-label);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.7rem;font-weight:700}.appointment-table td button{width:100%;min-height:44px}.dialog-inner{max-height:calc(100dvh - 1rem);padding:1rem}dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.dialog-actions{flex-direction:column-reverse;align-items:stretch}.dialog-actions button{width:100%;min-height:44px}.form-card{padding:1.1rem}.form-card button,.patient-toolbar button,.exercise-search button{min-height:44px}.patient-search,.picker-search{grid-template-columns:1fr;display:grid}.status-filter{flex-direction:column;align-items:stretch}.status-filter select{width:100%;max-width:none}.document-grid{grid-template-columns:minmax(0,1fr)}.document-card{min-width:0}.plan-metrics{grid-template-columns:1fr 1fr;gap:8px}.plan-metrics section{padding:14px}.plan-metrics strong{font-size:23px}.timeline{padding:1rem}.timeline li{gap:.75rem}.timeline-pain{padding:1rem}.notice{flex-direction:column;align-items:flex-start}.notice button{align-self:stretch}}@media (width<=380px){.month-days button{min-height:66px}.month-days button span,.month-days button small{font-size:8px}.plan-metrics{grid-template-columns:1fr}}.clinical-signature{border:1px solid #cfc7f2;border-left:4px solid var(--primary);color:#3c4260;background:#f8f6ff;border-radius:9px;gap:.25rem;margin:1.2rem 0;padding:1rem 1.1rem;display:grid}.clinical-signature strong{color:#4e3293}.clinical-signature span{font-size:.85rem}.clinical-signature small{color:var(--muted);overflow-wrap:anywhere;margin-top:.25rem}.record-history{margin:0;padding:.5rem 0;list-style:none}.record-history li{gap:.8rem;padding:0 0 1.3rem;display:flex;position:relative}.record-history li:not(:last-child):before{content:"";border-left:1px solid var(--line);position:absolute;top:15px;bottom:0;left:6px}.record-history li>div{min-width:0;display:grid}.record-history span,.record-history time{color:var(--muted);font-size:.8rem}.record-history time{margin-top:.15rem}.evolution-source{background:#f8f6ff;border:1px solid #d8d2f3;border-radius:10px;gap:.8rem;margin:1rem 0 1.3rem;padding:1rem;display:grid}.evolution-source>div{gap:.2rem;display:grid}.evolution-source .eyebrow{margin:0}.evolution-source details p{margin:.55rem 0;font-size:.82rem}.evolution-progress{color:#2f6548;background:#eef7f2;border-radius:9px;gap:.2rem;padding:.8rem 1rem;display:grid}.evolution-progress span{font-size:.8rem}.exercise-form label .badge{vertical-align:middle;margin-left:.35rem}.professional-registration{border:1px solid var(--line);border-radius:10px;margin-top:1rem;padding:1rem}.professional-registration legend{font-weight:700}.professional-registration p{margin-bottom:.5rem}@media print{@page{margin:14mm}:root{background:#fff;font-size:12px}body{color:#111;background:#fff}.demo-banner,.sidebar,.topbar,.workspace-footer,.print-hidden,.page-actions,dialog{display:none!important}.app-layout,.main-column{min-height:0;display:block}.workspace{max-width:none;padding:0}.page-header{margin:0 0 1.2rem;display:block}.page-header .page-actions{display:none!important}.page-header h1{color:#111;font-size:1.7rem}.page-header p{color:#444}.printing-record .clinical-records .module-card:not(.print-selected){display:none}.clinical-records{display:block}.clinical-records .module-card{break-inside:avoid-page;box-shadow:none;border:1px solid #bbb;margin:0 0 12mm;padding:7mm}.clinical-content dd,.exercise-instructions{white-space:pre-wrap}.clinical-signature{background:#fff;border-color:#777}.badge{border:1px solid #999;color:#111!important;background:#fff!important}}.whatsapp-status{background:linear-gradient(135deg,#f2efff,#f5fbf7);border:1px solid #dcd7f5;border-radius:16px;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem;padding:1.7rem;display:flex}.whatsapp-status h2{margin:.7rem 0 .45rem}.whatsapp-status p{max-width:720px;color:var(--muted);margin:0}.whatsapp-layout{grid-template-columns:1.2fr .8fr;gap:1.2rem;margin-bottom:2rem;display:grid}.setup-steps{counter-reset:setup;gap:1rem;margin:1.2rem 0 0;padding:0;list-style:none;display:grid}.setup-steps li{counter-increment:setup;grid-template-columns:34px 1fr;column-gap:.8rem;display:grid}.setup-steps li:before{content:counter(setup);background:var(--soft);width:30px;height:30px;color:var(--primary);border-radius:50%;grid-row:1/3;place-items:center;font-weight:700;display:grid}.setup-steps strong,.setup-steps span{grid-column:2}.setup-steps span{color:var(--muted);margin-top:.15rem;font-size:.875rem}.whatsapp-section{margin:2rem 0}.whatsapp-section>div:first-child{margin-bottom:1rem}.whatsapp-section h2{margin:.45rem 0}.whatsapp-section .module-card h3{margin:.9rem 0 .4rem}.whatsapp-icon{color:#287b57;background:#e8f6ef;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.whatsapp-example{background:#fbfaff;grid-template-columns:1fr 1fr;gap:2rem;display:grid}.whatsapp-example h2{margin:.5rem 0}.message-actions{flex-wrap:wrap;gap:.5rem;display:flex}.message-actions span{color:var(--primary);background:#fff;border:1px solid #cfc7f2;border-radius:8px;padding:.55rem .75rem;font-size:.8rem;font-weight:600}@media (width<=800px){.whatsapp-status{flex-direction:column;align-items:stretch}.whatsapp-status button{width:100%}.whatsapp-layout,.whatsapp-example{grid-template-columns:1fr}}
