:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#111e36;--ink-soft:#36445e;--muted:#6b7890;--canvas:#f3f6fb;--surface:#fff;--surface-raised:#fff;--line:#dce4f0;--line-strong:#b9c7db;--petrol:#092e72;--petrol-light:#145edb;--blue:#2563eb;--blue-soft:#eaf1ff;--sage:#147d8b;--sage-soft:#e7f5f6;--coral:#f2634b;--coral-soft:#fff0ec;--ochre:#af7a27;--ochre-soft:#f7eedc;--plum:#745b73;--plum-soft:#eee8ee;--danger:#ad3f46;--focus:0 0 0 3px #2563eb33;--shadow-sm:0 1px 2px #0b234f0a, 0 8px 24px #0b234f0e;--shadow-md:0 2px 5px #0b234f0f, 0 18px 40px #0b234f1c;--radius:8px;--control:44px;font-family:Segoe UI Variable,Aptos,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;scroll-padding-top:90px}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .15s}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{box-shadow:var(--focus);outline:0}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}h1{line-height:1.12}.brand-mark{background:linear-gradient(145deg,#fff,#f2f6ff);border:1px solid #d9e3f3;border-radius:15px;place-items:center;width:54px;height:54px;display:grid;overflow:hidden;box-shadow:0 8px 20px #103e911f}.brand-mark img{object-fit:contain;width:82%;height:82%}.brand-mark-compact{background:#fffffff5;border-color:#fff3;border-radius:11px;width:39px;height:39px;box-shadow:0 8px 20px #000d3133}.auth-shell{background:radial-gradient(circle at 72% 16%,#2563eb1f,#0000 28%),radial-gradient(circle at 20% 82%,#f2634b14,#0000 24%),#f1f5fb;place-items:center;min-height:100svh;padding:24px;display:grid}.auth-card{background:#fffffff5;border:1px solid #b9c7dbb8;border-radius:16px;width:min(100%,398px);padding:40px;box-shadow:0 24px 70px #092e7221}.login-brand{color:var(--petrol);justify-content:center;align-items:center;gap:12px;margin-bottom:32px;display:flex}.login-brand div{letter-spacing:.11em;text-transform:uppercase;font-size:.78rem;font-weight:750;line-height:1;display:grid}.login-brand strong{color:var(--petrol-light);letter-spacing:-.025em;text-transform:none;margin-top:4px;font-size:1.4rem;font-weight:800}.auth-card form{gap:17px;display:grid}.auth-card .primary-button{width:100%;margin-top:3px}.auth-card input:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:inset 0 0 0 1000px #fff}.app-frame{grid-template-columns:250px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{z-index:12;color:#dfe9fa;background:linear-gradient(165deg,#071b42 0%,#0a2d6d 72%,#0a397d 100%);flex-direction:column;height:100svh;padding:26px 18px 20px;display:flex;position:sticky;top:0;box-shadow:12px 0 36px #081c421f}.sidebar-brand{color:#fff;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;padding:0 8px 38px;font-size:.78rem;font-weight:750;line-height:1;display:flex}.sidebar-brand em{color:#8eb7ff;letter-spacing:-.01em;text-transform:none;margin-top:4px;font-size:1.08rem;font-style:normal;font-weight:800;display:inline-block}.nav-group{gap:6px;display:grid}.nav-group:before{content:"NAVEGACIÓN";color:#7f9fda;letter-spacing:.11em;padding:0 12px 9px;font-size:.64rem;font-weight:700}.nav-link{color:#b8cae9;border-radius:9px;align-items:center;gap:12px;min-height:46px;padding:0 13px;font-size:.9rem;font-weight:620;display:flex;position:relative}.nav-link:hover{color:#fff;background:#fff1}.nav-link.active{color:#fff;background:#ffffff21;box-shadow:inset 0 0 0 1px #ffffff13,0 5px 12px #061d211f}.sidebar-footnote{color:#8da8d5;border-top:1px solid #ffffff1f;gap:6px;margin-top:auto;padding:17px 10px 0;font-size:.7rem;line-height:1.45;display:grid}.system-status{color:#c4d4ef;align-items:center;gap:7px;font-weight:650;display:flex}.system-status i{background:#70c59a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #70c59a1f}.workspace{min-width:0}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #cfdad9d1;justify-content:space-between;align-items:center;gap:16px;height:70px;padding:0 34px;display:flex;position:sticky;top:0;box-shadow:0 3px 16px #12323909}.topbar-actions{align-items:center;gap:16px;display:flex}.clinic-context{color:var(--ink-soft);align-items:center;gap:9px;font-size:.82rem;font-weight:680;display:flex}.clinic-context-mark{background:linear-gradient(135deg,var(--blue),#3aa3ff);width:9px;height:9px;box-shadow:0 0 0 4px var(--blue-soft);border-radius:3px;transform:rotate(45deg)}.user-summary{align-items:center;gap:10px;display:flex}.user-summary strong{font-size:.88rem;line-height:1.25;display:block}.user-avatar{color:#fff;background:linear-gradient(145deg,#145edb,#0a3f9c);border-radius:9px;place-items:center;width:34px;height:34px;font-weight:750;display:grid;box-shadow:0 6px 14px #145edb33}.topbar-role{color:var(--muted);font-size:.76rem}.sign-out-form{border-left:1px solid var(--line);align-items:center;margin-left:2px;padding-left:16px;display:flex}.sign-out-button{color:#69787e;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;min-height:34px;padding:0 6px;font-size:.76rem;font-weight:680;display:inline-flex}.sign-out-button svg{color:#879398}.sign-out-button:hover{color:#8f3f45;background:#fbf1f1}.sign-out-button:hover svg{color:#a2464c;transform:translate(1px)}.content{width:min(1240px,100%);margin:0 auto;padding:40px 42px 80px}.mobile-nav{display:none}.page-heading,.patient-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;display:flex}.page-heading h1,.patient-header h1{letter-spacing:-.04em;margin-bottom:6px;font-size:clamp(1.9rem,2.7vw,2.35rem);font-weight:700}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:.69rem;font-weight:750}.subtle{color:var(--muted);line-height:1.5}.page-heading .subtle{margin-bottom:0}.section-title{color:var(--ink);letter-spacing:-.01em;margin:38px 0 15px;font-size:1rem;font-weight:750}.primary-button,.secondary-button,.ghost-button,.danger-button{min-height:var(--control);white-space:nowrap;cursor:pointer;appearance:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.84rem;font-weight:720;line-height:1;display:inline-flex}.primary-button{border:1px solid var(--petrol);color:#fff;background:var(--petrol);width:auto;box-shadow:var(--shadow-sm)}.primary-button:hover{border-color:var(--petrol-light);background:var(--petrol-light);transform:translateY(-1px);box-shadow:0 7px 18px #145edb29}.secondary-button{border:1px solid var(--line-strong);color:var(--petrol);background:var(--surface-raised)}.secondary-button:hover{background:#f4f7fc;border-color:#8aa6d1}.ghost-button{color:var(--muted);background:0 0;border:1px solid #0000}.danger-button{color:#963740;background:snow;border:1px solid #e5c2c5}.danger-button:hover{background:#faeded;border-color:#d8999f}.button-compact{border-radius:8px;min-height:36px;padding-inline:12px;font-size:.76rem}.button-link{display:inline-flex}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;padding-top:0;display:flex}.dashboard-heading{border-bottom:1px solid var(--line-strong);margin-bottom:24px;padding-bottom:24px}.search-panel{border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:11px;padding:20px 22px 22px;position:relative}.search-panel-heading{justify-content:space-between;align-items:center;display:flex}.search-panel .subtle{margin:3px 0 10px;font-size:.82rem}.keyboard-hint{border:1px solid var(--line);color:var(--muted);background:var(--canvas);border-radius:4px;padding:2px 7px;font-size:.68rem}.search-wrap{position:relative}.search-wrap svg{color:var(--muted);position:absolute;top:12px;left:13px}.search-input{width:100%;min-height:49px;color:var(--ink);background:#fafcfc;border:1px solid #b9c7c6;border-radius:7px;padding:0 15px 0 44px;box-shadow:inset 0 1px 2px #12323906}.search-input:hover{background:#fff;border-color:#98acab}.card-grid{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.card{border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:10px;padding:22px}.card strong{margin-bottom:4px;display:block}.two-column aside>.card+.card{margin-top:16px}.summary-card{min-height:138px;box-shadow:none;background:#fff;border:0;border-radius:0;position:relative;overflow:hidden}.summary-card+.summary-card{border-left:1px solid var(--line)}.summary-icon{z-index:1;width:34px;height:34px;color:var(--petrol-light);background:#f2f7f6;border:1px solid #d8e3e1;border-radius:8px;place-items:center;display:grid;position:absolute;top:20px;right:20px}.summary-link-icon{color:#a0afb3;position:absolute;bottom:20px;right:22px}.metric{color:var(--ink);letter-spacing:-.045em;margin-bottom:14px;font-size:2rem;font-weight:720;line-height:1;display:block}.summary-card .subtle{z-index:1;margin-top:6px;font-size:.85rem;position:relative}.summary-card[href]:hover{z-index:1;background:#fbfdfc;transform:none;box-shadow:inset 0 -2px #56847d}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:38px 0 15px;display:flex}.section-heading .eyebrow{margin-bottom:4px}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:1.12rem;font-weight:750}.section-heading>a{color:var(--petrol-light);align-items:center;gap:6px;font-size:.78rem;font-weight:730;display:inline-flex}.section-heading>a:hover{gap:9px}.dashboard-columns{grid-template-columns:minmax(0,1.45fr) minmax(290px,.72fr);align-items:start;gap:20px;display:grid}.active-episode-list,.stage-overview{border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:10px;overflow:hidden}.active-episode-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:76px;padding:12px 17px;display:grid}.active-episode-row+.active-episode-row{border-top:1px solid #e8ecec}.active-episode-row:hover{background:#f6faf9}.active-episode-row:active{background:#eff5f3}.episode-avatar{color:#164b9f;letter-spacing:.02em;background:#edf3ff;border:1px solid #ccdaf0;border-radius:11px;place-items:center;width:38px;height:38px;font-size:.7rem;font-weight:800;display:grid;box-shadow:0 3px 9px #144a9d17}.episode-row-main{gap:2px;min-width:0;display:grid}.episode-row-main strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;overflow:hidden}.episode-row-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.stage-badge{color:#41645f;white-space:nowrap;background:0 0;border-bottom:1px solid #8eaaa6;border-radius:0;padding:3px 0;font-size:.68rem;font-weight:700}.row-arrow{color:#a6b3b6}.active-episode-row:hover .row-arrow{color:var(--petrol-light);transform:translate(2px)}.stage-overview{padding:24px}.stage-total{border-bottom:1px solid var(--line);align-items:baseline;gap:9px;padding-bottom:20px;display:flex}.stage-total span{letter-spacing:-.055em;font-size:2.5rem;font-weight:720;line-height:1}.stage-total small{color:var(--muted)}.stage-bars{gap:15px;padding-top:20px;display:grid}.stage-bar-row>div:first-child{color:var(--ink-soft);justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.73rem;display:flex}.stage-bar-row strong{color:var(--ink)}.stage-track{background:#edf1f1;border-radius:999px;height:5px;overflow:hidden}.stage-track span{border-radius:inherit;background:linear-gradient(90deg,#145edb,#3b8cff);height:100%;display:block}.section-count{border:1px solid var(--line);min-width:26px;height:23px;color:var(--muted);background:#fff;border-radius:4px;place-items:center;font-size:.7rem;font-weight:750;display:grid}.episode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:4px;display:grid}.episode-card{border:1px solid var(--line);min-height:164px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;flex-direction:column;justify-content:space-between;padding:17px 18px;display:flex}.episode-card-top{color:var(--muted);align-items:center;gap:7px;font-size:.7rem;font-weight:700;display:flex}.episode-card-top svg{color:#a1adb0;margin-left:auto;transition:transform .15s,color .15s}.status-dot{background:#869397;border-radius:50%;width:7px;height:7px}.status-dot.status-active{background:#3e8271}.status-dot.status-completed{background:#39727d}.status-dot.status-paused{background:#9a7b3d}.episode-card h3{margin:16px 0 4px;font-size:.98rem}.episode-card p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;overflow:hidden}.episode-card-meta{color:var(--ink-soft);border-top:1px solid #edf0f0;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;font-size:.69rem;display:flex}.episode-card-meta span{font-weight:720}.episode-card-meta time{color:var(--muted)}.episode-card:hover{box-shadow:var(--shadow-md);background:#fff;border-color:#aebfc1;transform:translateY(-2px)}.episode-card:hover .episode-card-top svg{color:var(--petrol-light);transform:translate(2px)}.episode-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;margin-bottom:22px;padding-bottom:20px;display:grid}.episode-summary>div{gap:3px;display:grid}.rehab-progress{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;margin-bottom:26px;padding:18px 20px 17px}.rehab-progress-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;font-size:.75rem;display:flex}.rehab-progress-heading span{color:var(--muted)}.rehab-progress-heading strong{color:var(--petrol)}.rehab-progress ol{grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none;display:grid}.rehab-progress li{color:#96a2a5;text-align:center;justify-items:center;gap:7px;display:grid;position:relative}.rehab-progress li:before{content:"";z-index:0;background:#dce2e3;width:100%;height:1px;position:absolute;top:10px;right:50%}.rehab-progress li:first-child:before{display:none}.rehab-progress li>span{z-index:1;background:#fff;border:1px solid #cbd4d5;border-radius:50%;place-items:center;width:21px;height:21px;font-size:.63rem;font-weight:750;display:grid;position:relative}.rehab-progress li small{font-size:.65rem;line-height:1.2}.rehab-progress li.complete:before,.rehab-progress li.current:before{background:#6d9891}.rehab-progress li.complete>span{color:#fff;background:#6d9891;border-color:#6d9891}.rehab-progress li.current>span{border:2px solid var(--petrol-light);color:var(--petrol);background:#fff}.rehab-progress li.current small{color:var(--petrol);font-weight:750}.field{gap:7px;min-width:0;margin:0;display:grid}.field label{color:var(--ink-soft);font-size:.8rem;font-weight:720}.field input,.form-card textarea,.form-card select,.control-select,.instruction select{width:100%;min-height:var(--control);border:1px solid var(--line-strong);color:var(--ink);background-color:#fff;border-radius:9px;padding:10px 13px;box-shadow:inset 0 1px 2px #0f264c06}.field input::placeholder,.form-card textarea::placeholder{color:#929db0;opacity:1}.field input:hover,.form-card textarea:hover,.form-card select:hover,.control-select:hover,.instruction select:hover{border-color:#91a6c5}.field input:focus,.form-card textarea:focus,.form-card select:focus,.control-select:focus,.instruction select:focus,.search-input:focus{border-color:var(--blue);box-shadow:var(--focus);outline:0}select,.control-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7890' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:15px;padding-right:40px!important}select:disabled,.control-select:disabled{color:#8a94a5;cursor:not-allowed;opacity:1;background-color:#f3f5f8}.control-select-compact{min-height:36px;padding-block:7px;font-size:.78rem}input[type=file]{color:var(--muted);padding:6px;font-size:.78rem}input[type=file]::file-selector-button{border:1px solid var(--line);min-height:31px;color:var(--petrol);font:inherit;cursor:pointer;background:#f5f8fd;border-radius:7px;margin-right:10px;padding:0 11px;font-weight:700}.form-card{border:1px solid var(--line);background:var(--surface-raised);max-width:880px;box-shadow:var(--shadow-sm);border-radius:11px;gap:22px;padding:28px;display:grid}.form-card>form{gap:22px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-card textarea{resize:vertical;min-height:105px}.form-card>button,.form-card>form>button{justify-self:start}.card .form-card{border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;margin-top:16px;padding:17px 0 0}.card>.section-title:first-child{border-bottom:1px solid var(--line);padding-bottom:10px;margin-top:0!important}.form-error{border-left:3px solid var(--danger);color:var(--danger);background:#fbecee;padding:10px 12px;font-size:.86rem}.field-help,.field-error{font-size:.74rem;line-height:1.35}.field-help{color:var(--muted)}.field-error{color:var(--danger);font-weight:650}.field input[aria-invalid=true]{border-color:var(--danger)}.form-section-heading{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding-bottom:20px;display:flex}.form-section-heading h2{margin:0 0 2px;font-size:1rem}.form-section-heading p{color:var(--muted);margin:0;font-size:.77rem}.form-section-icon{width:38px;height:38px;color:var(--petrol-light);background:var(--blue-soft);border-radius:10px;flex:none;place-items:center;display:grid}.table-wrap{border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:10px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e6e9e5;padding:12px 16px}.data-table th{color:var(--muted);letter-spacing:.075em;text-transform:uppercase;background:#f7f9f9;font-size:.68rem;font-weight:800}.data-table td{height:54px}.data-table tbody tr:hover{background:#f7faf8}.data-table tbody tr:last-child td{border-bottom:0}.data-table a{color:var(--petrol-light);font-weight:750}.pill{color:var(--ochre);background:var(--ochre-soft);letter-spacing:.025em;border-radius:5px;align-items:center;padding:4px 8px;font-size:.69rem;font-weight:800;display:inline-flex}.status-signed{color:#36705c;background:var(--sage-soft)}.status-draft{color:var(--plum);background:var(--plum-soft)}.empty-state{border-radius:var(--radius);min-height:150px;color:var(--muted);text-align:center;background:#ffffff8c;border:1px dashed #c4ced0;place-items:center;padding:30px;display:grid}.empty-state-rich{background:var(--surface-raised);min-height:280px;box-shadow:var(--shadow-sm);border-style:solid;align-content:center;gap:16px}.empty-state-rich strong{color:var(--ink);margin-bottom:5px;font-size:1.05rem;display:block}.empty-state-rich p{margin:0}.empty-state-icon{width:52px;height:52px;color:var(--petrol-light);background:var(--blue-soft);border-radius:14px;place-items:center;display:grid}.heading-stat{border:1px solid var(--line);min-width:98px;box-shadow:var(--shadow-sm);text-align:right;background:#fff;border-radius:10px;padding:11px 15px}.heading-stat strong{color:var(--ink);font-size:1.35rem;line-height:1;display:block}.heading-stat span{color:var(--muted);font-size:.73rem}.followup-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-sm);overflow:hidden}.followup-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;display:grid}.followup-row+.followup-row{border-top:1px solid var(--line)}.followup-row:hover{background:#fafcfc}.followup-icon{width:40px;height:40px;color:var(--petrol-light);background:var(--blue-soft);border-radius:11px;place-items:center;display:grid}.followup-content{gap:2px;display:grid}.followup-content a{width:fit-content;color:var(--ink)}.followup-content a:hover{color:var(--petrol-light)}.followup-content>span{color:var(--ink-soft);font-size:.88rem}.followup-content small{color:var(--muted);margin-top:3px;font-size:.75rem}.completion-button{color:#34675f;cursor:pointer;background:#f4f9f7;border:1px solid #c9d8d5;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:.8rem;font-weight:700;display:inline-flex}.completion-button:hover{background:#eaf4f1;border-color:#9dbeb7}.instruction-list{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;overflow:hidden}.instruction{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:88px;padding:17px 20px;display:grid}.instruction+.instruction{border-top:1px solid var(--line)}.instruction>div{gap:4px;min-width:0;display:grid}.instruction>div>strong{margin-top:4px}.instruction form{align-items:center;gap:9px;display:flex}.instruction-empty{min-height:112px}.instruction-action .control-select{width:156px}.instruction .subtle,.instruction .timeline-meta{display:block}.timeline-meta{color:var(--muted);font-size:.8rem}.privacy-note{color:var(--muted);margin:14px 2px 0;font-size:.74rem}.user-create-panel{max-width:none}.user-directory{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;overflow:hidden}.user-row{grid-template-columns:minmax(210px,1.2fr) minmax(270px,1.25fr) minmax(125px,.7fr) auto;align-items:center;gap:22px;min-height:82px;padding:13px 16px;display:grid}.user-row+.user-row{border-top:1px solid var(--line)}.user-row:hover{background:#fafbfd}.user-identity{align-items:center;gap:12px;min-width:0;display:flex}.user-identity>div{gap:2px;min-width:0;display:grid}.user-identity strong,.user-identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-identity strong{font-size:.84rem}.user-identity>div>span{color:var(--muted);font-size:.72rem}.user-row-avatar{color:#174d9e;background:#eef4ff;border:1px solid #d3def0;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:.68rem;font-weight:800;display:grid}.role-form,.delete-user-form{align-items:center;gap:8px;min-width:0;display:flex}.role-form .control-select{flex:160px;min-width:0}.role-form>.subtle,.role-form>.field-error,.delete-user-form>.subtle,.delete-user-form>.field-error{font-size:.68rem}.current-user-label,.protected-account{color:var(--muted);white-space:nowrap;font-size:.68rem;font-weight:700}.protected-account{padding-inline:8px}.user-security{justify-items:start;gap:5px;display:grid}.user-security small{color:var(--muted);white-space:nowrap;font-size:.68rem}.security-status{white-space:nowrap;align-items:center;gap:6px;font-size:.72rem;font-weight:720;display:inline-flex}.security-status:before{content:"";background:#b28742;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #f7eedc}.security-status.is-ready{color:#31705f}.security-status.is-ready:before{background:#3f8b72;box-shadow:0 0 0 3px #e7f5f1}.patient-header{align-items:flex-start}.patient-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.86rem;display:flex}.patient-meta span{border-right:1px solid var(--line-strong);padding-right:12px}.patient-meta span:last-child{border-right:0}.tabs{z-index:8;border-bottom:1px solid var(--line-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;background:#f3f6fbf0;gap:22px;margin:0 0 30px;padding:0 2px;display:flex;position:sticky;top:70px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 0 11px;font-size:.78rem;font-weight:700}.tabs a:hover{color:var(--petrol-light);border-bottom-color:#86a8dd}.patient-overview{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:40px;display:grid;overflow:hidden}.patient-overview>div{align-content:center;min-width:0;min-height:108px;padding:18px 22px;display:grid}.patient-overview>div+div{border-left:1px solid var(--line)}.patient-overview span{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:.69rem;font-weight:750}.patient-overview strong{color:var(--ink);letter-spacing:-.045em;margin:6px 0 2px;font-size:1.85rem;font-weight:720;line-height:1.05}.patient-overview .overview-date{letter-spacing:-.025em;font-size:1.25rem}.patient-overview small{color:var(--muted);font-size:.72rem}.patient-section{border-top:1px solid var(--line-strong);margin-top:42px;padding-top:34px;scroll-margin-top:128px}.patient-section-first{border-top:0;margin-top:0;padding-top:0}.patient-section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px;display:flex}.patient-section-title{align-items:center;gap:13px;display:flex}.patient-section-icon{width:38px;height:38px;color:var(--petrol-light);background:#f2f6fd;border:1px solid #d3def0;border-radius:10px;flex:none;place-items:center;display:grid}.patient-section-heading h2{letter-spacing:-.025em;margin:0 0 2px;font-size:1.12rem;font-weight:760}.patient-section-heading p{color:var(--muted);margin:0;font-size:.79rem}.clinical-context-grid,.coordination-grid{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.patient-subsection{min-width:0;padding:24px;scroll-margin-top:128px}.patient-subsection+.patient-subsection{border-left:1px solid var(--line)}.patient-subsection-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:17px;display:flex}.patient-subsection-heading .eyebrow{margin-bottom:3px}.patient-subsection-heading h3{margin:0;font-size:.98rem;font-weight:760}.patient-subsection-heading>span{min-width:25px;height:25px;color:var(--muted);background:var(--canvas);border-radius:6px;place-items:center;font-size:.7rem;font-weight:750;display:grid}.clinical-list{display:grid}.clinical-list>.subtle{margin:18px 0 2px;font-size:.82rem}.clinical-list-item{border-bottom:1px solid #e9eef5;gap:4px;padding:15px 0;display:grid}.clinical-list-item:last-child{border-bottom:0}.clinical-list-item>strong,.clinical-item-title>strong{color:var(--ink);font-size:.86rem;font-weight:720}.clinical-list-item>span{color:var(--muted);font-size:.76rem;line-height:1.45}.clinical-item-title{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.patient-subsection .inline-disclosure .form-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:18px 0 0}.evolution-layout{gap:14px;display:grid}.measurement-table-wrap{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;overflow-x:auto}.patient-data-table{border-collapse:collapse;width:100%;font-size:.79rem}.patient-data-table th{color:var(--muted);letter-spacing:.055em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f7f9fc;padding:12px 16px;font-size:.67rem;font-weight:750}.patient-data-table td{border-top:1px solid var(--line);color:var(--ink-soft);padding:14px 16px}.patient-data-table td strong{color:var(--ink)}.patient-data-table .measurement-value{color:var(--petrol-light);white-space:nowrap;font-weight:780}.pain-chart{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;padding:20px 22px}.pain-chart-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.pain-chart-heading .eyebrow{margin-bottom:3px}.pain-chart-heading strong{font-size:.9rem;display:block}.pain-chart-heading>span{color:var(--muted);font-size:.72rem}.pain-chart-heading b{color:var(--coral);font-size:1.25rem}.session-list{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;overflow:hidden}.session-row{grid-template-columns:118px minmax(0,1fr) auto auto;align-items:center;gap:20px;min-height:76px;padding:12px 18px;display:grid}.session-row+.session-row{border-top:1px solid var(--line)}.session-row:hover{background:#f8fafd}.session-row time,.session-row>div{gap:2px;min-width:0;display:grid}.session-row time b{color:var(--ink);font-size:.77rem}.session-row time span,.session-row>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.session-row>div strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.session-arrow{color:#9cabc0}.session-row:hover .session-arrow{color:var(--petrol-light);transform:translate(2px)}.coordination-grid{align-items:start}.coordination-wide{border-top:1px solid var(--line);grid-column:1/-1;border-left:0!important}.reception-section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;display:grid}.reception-section-heading .patient-subsection-heading{min-width:0}.reception-section-heading>p{color:var(--muted);align-items:center;gap:7px;margin:0 0 18px;font-size:.75rem;display:flex}.reception-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;display:grid}.reception-list>.subtle{margin:18px 0 2px}.reception-row{border-bottom:1px solid #e9eef5;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.reception-row strong{font-size:.83rem;font-weight:680}.two-column{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);align-items:start;gap:22px;display:grid}.timeline{gap:10px;padding-left:18px;display:grid;position:relative}.timeline:before{content:"";background:#a9bbb6;width:1px;position:absolute;top:10px;bottom:10px;left:3px}.timeline-item{border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:9px;padding:18px 19px;display:block;position:relative}.timeline-item h3{margin:10px 0 5px}.timeline-item:before{content:"";border:3px solid var(--canvas);background:var(--petrol-light);border-radius:50%;width:7px;height:7px;position:absolute;top:25px;left:-20px}.timeline-item:hover{box-shadow:var(--shadow-md);background:#fff;border-color:#aebdb8;transform:translateY(-1px)}.clinical-warning{border-left:3px solid var(--ochre);color:#72551e;background:var(--ochre-soft);padding:11px 13px;font-size:.85rem}.read-block{white-space:pre-wrap;line-height:1.65}.score-list{align-items:end;gap:11px;min-height:150px;padding:17px 5px 4px;display:flex;overflow-x:auto}.score-point{width:52px;min-width:52px;height:130px;color:var(--muted);grid-template-rows:1fr auto auto;justify-items:center;gap:5px;font-size:.7rem;display:grid}.score-bar{background:var(--coral);border-radius:4px 4px 0 0;align-self:end;width:24px;min-height:4px}.score-value{color:var(--ink);font-weight:800}.inline-disclosure{border-top:1px solid var(--line);margin-top:15px}.inline-disclosure summary{color:var(--petrol-light);cursor:pointer;align-items:center;gap:7px;padding:13px 2px 0;font-size:.82rem;font-weight:750;list-style:none;display:flex}.inline-disclosure summary::-webkit-details-marker{display:none}.inline-disclosure summary:before{content:"+";color:#fff;background:var(--petrol-light);border-radius:50%;place-items:center;width:20px;height:20px;font-size:.9rem;display:grid}.inline-disclosure[open] summary:before{content:"–"}.inline-disclosure .form-card{margin-top:12px}.panel-disclosure{margin-top:16px}.panel-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;list-style:none;display:flex}.panel-disclosure>summary::-webkit-details-marker{display:none}.panel-disclosure>summary>span:first-child{gap:2px;display:grid}.panel-disclosure>summary small{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:650}.panel-disclosure>summary strong{margin:0}.disclosure-trigger{border:1px solid var(--line-strong);width:27px;height:27px;color:var(--petrol);border-radius:50%;place-items:center;font-size:1rem;line-height:1;display:grid}.panel-disclosure[open] .disclosure-trigger{transform:rotate(45deg)}.panel-disclosure>.form-card{margin-top:18px}.signing-form{margin-top:12px}.results-offset{margin-top:20px}.qr-wrap{place-items:center;margin:18px 0;display:grid}.backup-code-grid{grid-template-columns:1fr 1fr;gap:4px;margin-top:8px;display:grid}.loading-shell{width:min(1100px,100%);margin:0 auto;padding:44px 36px}.skeleton{background:linear-gradient(90deg,#e4e6e2 25%,#f2f3f0 45%,#e4e6e2 65%) 0 0/220% 100%;border-radius:6px;animation:1.4s infinite shimmer}.skeleton-title{width:230px;height:34px}.skeleton-copy{width:360px;max-width:80%;height:16px;margin-top:12px}.skeleton-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px;display:grid}.skeleton-card{height:150px}.state-card{text-align:center}.state-icon{width:46px;height:46px;color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.error-icon{color:var(--danger);background:#f9e7e8}@keyframes shimmer{to{background-position:-220% 0}}@media (max-width:980px){.app-frame{grid-template-columns:210px minmax(0,1fr)}.content{padding-inline:26px}.card-grid,.episode-grid,.patient-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-overview>div:nth-child(3){border-top:1px solid var(--line);border-left:0}.patient-overview>div:nth-child(4){border-top:1px solid var(--line)}.card-grid>:last-child:nth-child(odd){grid-column:1/-1}.two-column,.dashboard-columns{grid-template-columns:1fr}.user-row{grid-template-columns:minmax(190px,1fr) minmax(255px,1.25fr) auto}.user-security{display:none}}@media (max-width:1100px){.patient-header{flex-direction:column;align-items:flex-start}.patient-header .form-actions{justify-content:flex-start}.user-row{grid-template-columns:minmax(190px,1fr) minmax(255px,1.25fr) auto}.user-security{display:none}}@media (max-width:820px){.app-frame{padding-bottom:72px;display:block}.sidebar{display:none}.topbar{height:62px;padding:0 16px}.clinic-context{display:none}.topbar-actions{justify-content:space-between;width:100%}.sign-out-form{margin-left:0;padding-left:10px}.sign-out-button{justify-content:center;width:34px;padding:0}.sign-out-button span{display:none}.content{padding:24px 16px 88px}.page-heading,.patient-header{flex-direction:column;align-items:flex-start;margin-bottom:22px}.patient-header .form-actions{width:100%}.patient-header .form-actions>*{flex:auto}.card-grid{grid-template-columns:1fr}.summary-card+.summary-card{border-top:1px solid var(--line);border-left:0}.episode-grid,.episode-summary{grid-template-columns:1fr}.card-grid>:last-child:nth-child(odd){grid-column:auto}.form-grid{grid-template-columns:1fr}.form-card{padding:20px 16px}.form-actions{flex-direction:column-reverse;width:100%}.form-actions>*,.form-actions .primary-button{width:100%!important}.instruction{grid-template-columns:1fr}.instruction-action{width:100%}.instruction-action .control-select{flex:150px;width:auto;min-width:0}.instruction-action .secondary-button{flex:none}.followup-row{grid-template-columns:auto minmax(0,1fr);padding:16px}.followup-row form{grid-column:2}.completion-button{width:100%}.instruction form{flex-wrap:wrap;width:100%}.instruction form select,.instruction form button{flex:150px}.user-row{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:17px 16px}.user-identity{grid-column:1/-1}.role-form{grid-column:1}.delete-user-form{grid-column:2}.role-form .control-select{flex-basis:150px}.tabs{margin-inline:-5px;top:62px}.patient-section{margin-top:34px;padding-top:28px;scroll-margin-top:112px}.patient-section-first{margin-top:0;padding-top:0}.patient-section-heading{align-items:flex-start}.patient-section-heading p{max-width:48ch}.clinical-context-grid,.coordination-grid{grid-template-columns:1fr}.patient-subsection+.patient-subsection{border-top:1px solid var(--line);border-left:0}.coordination-wide{grid-column:auto}.reception-section-heading{grid-template-columns:1fr;gap:0}.reception-section-heading>p{margin-top:14px}.reception-list{grid-template-columns:1fr}.session-row{grid-template-columns:98px minmax(0,1fr) auto;gap:12px}.session-row .pill{grid-column:2;width:fit-content}.session-arrow{grid-area:1/3/span 2}.active-episode-row{grid-template-columns:auto minmax(0,1fr) auto}.active-episode-row .stage-badge{grid-column:2;width:fit-content}.active-episode-row .row-arrow{grid-area:1/3/span 2}.rehab-progress{overflow-x:auto}.rehab-progress ol{min-width:610px}.mobile-nav{z-index:20;padding:7px 8px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffefaf7;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 25px #182b3114}.mobile-nav a{color:var(--muted);border-radius:7px;justify-items:center;gap:2px;padding:6px 3px;font-size:.67rem;font-weight:700;display:grid}.mobile-nav a.active{color:var(--petrol);background:var(--sage-soft)}}@media (max-width:480px){.auth-shell{background:var(--canvas);padding:14px}.auth-card{box-shadow:none;padding:32px 22px}.patient-meta{gap:5px 8px}.patient-meta span{padding-right:8px}.patient-overview{grid-template-columns:1fr 1fr}.patient-overview>div{min-height:96px;padding:15px}.patient-overview strong{font-size:1.55rem}.patient-overview .overview-date{font-size:1rem}.patient-section-title{align-items:flex-start}.patient-section-icon{width:34px;height:34px}.patient-section-heading h2{font-size:1rem}.patient-section-heading p{font-size:.74rem}.patient-subsection{padding:20px 16px}.instruction{padding:16px}.instruction-action{grid-template-columns:1fr;display:grid!important}.instruction-action .control-select,.instruction-action .secondary-button{width:100%}.user-row{grid-template-columns:1fr}.role-form,.delete-user-form{grid-column:1;width:100%}.role-form{flex-direction:column;align-items:stretch}.role-form .control-select,.role-form .secondary-button,.delete-user-form .danger-button{width:100%}.session-row{grid-template-columns:1fr auto;padding:14px 15px}.session-row time,.session-row>div,.session-row .pill{grid-column:1}.session-arrow{grid-area:1/2/span 3}.data-table th,.data-table td{padding-inline:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.sidebar,.topbar,.mobile-nav,.tabs,.no-print,.inline-disclosure{display:none!important}.app-frame{display:block}.content{width:100%;padding:0}body,html{background:#fff}.card{box-shadow:none;border:0;padding:0}@page{margin:18mm}}
