*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.app-shell{position:relative;display:flex;height:100%;min-height:0px;overflow:hidden}.app-toolbar{position:relative;z-index:60;display:flex;height:3rem;flex-shrink:0;align-items:center;gap:.5rem;--tw-bg-opacity: 1;background-color:rgb(0 92 187 / var(--tw-bg-opacity, 1));padding-left:0;padding-right:.5rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.app-toolbar{gap:.75rem;padding-right:.75rem}}.menu-toggle{display:inline-flex;height:2.75rem;width:2.75rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.menu-toggle:hover{background-color:#ffffff26}.menu-toggle:active{background-color:#ffffff40}.app-nav-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;border-width:0px;background-color:#00000040;padding:0}.app-nav-drawer{position:absolute;bottom:0;left:0;top:0;z-index:50;display:flex;width:260px;max-width:85vw;flex-direction:column;overflow-y:auto;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);animation:app-nav-slide-in .16s ease}@keyframes app-nav-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.app-main{position:relative;min-height:0px;flex:1 1 0%;overflow:auto;--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.app-main:has(>.list-page),.app-main:has(>.pt-page),.app-main:has(>.cpap-page),.app-main:has(>.hsat-page){overflow:hidden}.list-page{display:flex;height:100%;max-height:100%;min-height:0px;flex-direction:column;overflow:hidden}.list-page.page-shell,.pt-page.page-shell,.cpap-page.page-shell,.hsat-page.page-shell{height:100%;max-height:100%;min-height:0;padding:0 16px}.list-page__body{min-height:0px;flex:1 1 0%;overflow:auto}.list-page__body--appt-list{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;overflow:hidden;padding:0}.panel{border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));box-shadow:0 1px 2px #00000014}.btn-primary{display:inline-flex;height:2rem;align-items:center;justify-content:center;gap:.375rem;border-radius:.25rem;padding-left:.75rem;padding-right:.75rem;font-size:13px;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(0 92 187 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(0 74 150 / var(--tw-bg-opacity, 1))}.btn-secondary{display:inline-flex;height:2rem;align-items:center;justify-content:center;gap:.375rem;border-radius:.25rem;padding-left:.75rem;padding-right:.75rem;font-size:13px;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.btn-ghost{display:inline-flex;height:2rem;align-items:center;justify-content:center;gap:.375rem;border-radius:.25rem;padding-left:.75rem;padding-right:.75rem;font-size:13px;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-ghost:disabled{cursor:not-allowed;opacity:.5}.btn-ghost{color:#fffffff2}.btn-ghost:hover{background-color:#ffffff1a}.field{height:2.25rem;width:100%;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:.625rem;padding-right:.625rem;font-size:13px;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.field::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.field::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.field:focus{--tw-border-opacity: 1;border-color:rgb(59 120 231 / var(--tw-border-opacity, 1))}.label{margin-bottom:.25rem;display:block;font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.data-table{min-width:100%;border-collapse:collapse;text-align:left;font-size:13px}.data-table thead{position:sticky;top:0;z-index:10;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));font-size:12px;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.data-table th{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.5rem .75rem;font-weight:500}.data-table td{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(248 250 252 / var(--tw-border-opacity, 1));padding:.5rem .75rem;vertical-align:middle;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover,.data-table tbody tr.is-selected{--tw-bg-opacity: 1;background-color:rgb(238 244 255 / var(--tw-bg-opacity, 1))}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:14px;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.nav-item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.nav-item__icon{flex-shrink:0;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.nav-item-active{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:14px;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.nav-item-active:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.nav-item-active{--tw-bg-opacity: 1;background-color:rgb(238 244 255 / var(--tw-bg-opacity, 1));font-weight:500;--tw-text-opacity: 1;color:rgb(0 74 150 / var(--tw-text-opacity, 1))}.nav-item-active .nav-item__icon{--tw-text-opacity: 1;color:rgb(0 74 150 / var(--tw-text-opacity, 1))}.nav-section{padding:.75rem 1rem .25rem;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.025em;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.right-0{right:0}.top-12{top:3rem}.top-9{top:2.25rem}.z-40{z-index:40}.z-50{z-index:50}.z-\[70\]{z-index:70}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-3\.5{height:.875rem}.h-8{height:2rem}.h-\[22px\]{height:22px}.h-full{height:100%}.max-h-\[28rem\]{max-height:28rem}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-3\.5{width:.875rem}.w-48{width:12rem}.w-\[420px\]{width:420px}.w-\[60vw\]{width:60vw}.w-\[calc\(100vw-280px\)\]{width:calc(100vw - 280px)}.w-\[min\(780px\,100vw\)\]{width:min(780px,100vw)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.max-w-\[11rem\]{max-width:11rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-ink-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(248 250 252 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-dashed{border-style:dashed}.border-brand-200{--tw-border-opacity: 1;border-color:rgb(188 212 255 / var(--tw-border-opacity, 1))}.border-ink-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-ink-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-t-brand-600{--tw-border-opacity: 1;border-top-color:rgb(0 92 187 / var(--tw-border-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(238 244 255 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-ink-100{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-ink-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-ink-50\/80{background-color:#f9fafbcc}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/15{background-color:#ffffff26}.p-0{padding:0}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.text-left{text-align:left}.text-right{text-align:right}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.text-\[\#388e3c\]{--tw-text-opacity: 1;color:rgb(56 142 60 / var(--tw-text-opacity, 1))}.text-\[\#757474\]{--tw-text-opacity: 1;color:rgb(117 116 116 / var(--tw-text-opacity, 1))}.text-\[\#d32f2f\]{--tw-text-opacity: 1;color:rgb(211 47 47 / var(--tw-text-opacity, 1))}.text-\[\#f57c00\]{--tw-text-opacity: 1;color:rgb(245 124 0 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(0 74 150 / var(--tw-text-opacity, 1))}.text-ink-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-ink-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-ink-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-ink-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-ink-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-ink-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-rose-900{--tw-text-opacity: 1;color:rgb(136 19 55 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/85{color:#ffffffd9}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-panel{--tw-shadow: 0 1px 2px rgb(0 0 0 / .08);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-\[\#388e3c\]\/30{--tw-ring-color: rgb(56 142 60 / .3)}.ring-\[\#d32f2f\]\/30{--tw-ring-color: rgb(211 47 47 / .3)}.ring-\[\#f57c00\]\/30{--tw-ring-color: rgb(245 124 0 / .3)}.ring-brand-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 212 255 / var(--tw-ring-opacity, 1))}.ring-ink-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;--brand: #005cbb;--brand-accent: #3b78e7;--surface: #f8fafc;--ink: #111827;--muted: #6b7280;--line: #e5e7eb;--ok: #388e3c;--warn: #f57c00;--danger: #d32f2f;--toolbar-h: 48px;--sidebar-w: 260px}html,body,#root{height:100%}@media (max-width: 1024px){html,body,#root{height:100dvh}body{overscroll-behavior-y:none}}body{margin:0;font-family:Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid rgb(59 130 246 / .55);outline-offset:1px}.hover\:bg-brand-50\/40:hover{background-color:#eef4ff66}.hover\:bg-ink-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}@media (min-width: 640px){.sm\:inline{display:inline}}.login-page{display:flex;min-height:100%;align-items:center;justify-content:center;padding:1.5rem;background:var(--surface)}.login-card{width:min(100%,26rem);padding:2rem 2.25rem 1.5rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;box-shadow:0 1px 2px #00000014}.login-card__brand{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.75rem;text-align:center}.login-logo{margin:0;font-size:1.375rem;font-weight:500;letter-spacing:.04em;color:var(--brand)}.login-card__alert{margin:0 0 1rem;padding:.625rem .75rem;border-radius:.5rem;font-size:.8125rem;line-height:1.4}.login-card__alert--warn{border:1px solid #fde68a;background:#fffbeb;color:#92400e}.login-card__alert--error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.login-field{margin-bottom:1rem}.login-field__label{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;color:#6b7280}.login-field__input{width:100%;height:2.75rem;padding:0 .875rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;color:#111827;font-size:.9375rem;transition:border-color .12s ease,box-shadow .12s ease}.login-field__input::-moz-placeholder{color:#9ca3af}.login-field__input::placeholder{color:#9ca3af}.login-field__input:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #3b78e733}.login-card__remember{display:flex;align-items:center;gap:.5rem;margin:-.25rem 0 1.25rem;font-size:.8125rem;color:#6b7280;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-card__remember input{width:1rem;height:1rem;margin:0;accent-color:var(--brand)}.login-card__submit{display:inline-flex;align-items:center;justify-content:center;width:100%;height:2.75rem;margin:0;padding:0;border:0;border-radius:.5rem;background-color:var(--brand);color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .12s ease,opacity .12s ease}.login-card__submit:hover:not(:disabled){background-color:#004a96}.login-card__submit:disabled{opacity:.65;cursor:not-allowed}.login-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}.login-card__help{border:0;padding:0;background:none;color:var(--brand);font-size:.8125rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.login-card__help:hover{color:#004a94}.login-card__version{margin:0;font-size:.6875rem;color:#9ca3af}@media (max-width: 480px){.login-card{padding:1.5rem 1.25rem 1.25rem}}.page-shell{min-height:100%;background:#f8fafc;padding:0 16px 16px;color:#333;font-size:13px}.page-header-block{position:sticky;top:0;z-index:20;flex-shrink:0;background:#f8fafc;padding:12px 0;margin:0 0 12px;border-bottom:1px solid #e5e7eb}.page-breadcrumb{margin:0 0 8px}.page-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}.page-breadcrumb__item{display:inline-flex;align-items:center;font-size:13px;line-height:1.3}.page-breadcrumb__sep{margin:0 8px;color:#687078;font-size:14px;font-weight:400}.page-breadcrumb__link{color:#006ce0;text-decoration:none;font-weight:400}.page-breadcrumb__link:hover{color:#005cbb;text-decoration:underline}.page-breadcrumb__current{color:#0f141a;font-weight:400}.page-header-block .page-header{padding:0;margin:0;border-bottom:none;position:static;background:transparent}.page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;-moz-column-gap:16px;column-gap:16px;row-gap:10px}.page-title{font-size:22px;font-weight:400;margin:0 0 4px;line-height:1.2;color:#111827}.page-title__count{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#e3f2fd;color:#1976d2;font-size:13px;font-weight:500;vertical-align:middle}.page-description{font-size:13px;color:#757474;margin:0}.header-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}.header-controls .icon-btn{width:32px;height:32px}.header-controls__dates{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0}.header-controls__dates>.segment-toggle,.header-controls__dates>.date-nav__group{position:relative;margin-left:10px}.header-controls__dates>.segment-toggle{margin-left:0}.header-controls__dates>.date-nav__group:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:1px;height:18px;background:#d1d5db}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.page-toolbar__grow{flex:1 1 220px;min-width:180px}.page-toolbar__right{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;margin-left:auto}.page-toolbar__right>.segment-toggle,.page-toolbar__right>.date-nav__group{position:relative;margin-left:10px}.page-toolbar__right>.segment-toggle:before,.page-toolbar__right>.date-nav__group:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:1px;height:18px;background:#d1d5db}.segment-toggle{display:flex;border:1px solid #d1d5db;border-radius:4px;overflow:hidden;background:#fff}.segment-toggle button{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border:none;border-right:1px solid #d1d5db;background:#fff;font-size:13px;color:#333;cursor:pointer}.segment-toggle button:last-child{border-right:none}.segment-toggle button:hover:not(.is-active){background:#f3f4f6}.segment-toggle button.is-active{background:#e3f2fd;color:#1976d2;font-weight:500}.segment-toggle button.is-active+button{box-shadow:inset 1px 0 #d1d5db}.header-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.header-pill{display:inline-flex;align-items:center;height:32px;padding:0 10px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;font-size:13px;color:#333;cursor:pointer}.header-pill:hover{background:#fafafa}a.header-pill{text-decoration:none;color:inherit}.header-pill.is-active{background:#e3f2fd;color:#1976d2;font-weight:500;border-color:#bbdefb}.header-link-btn{height:32px;padding:0 8px;border:none;border-radius:4px;background:transparent;font-size:13px;font-weight:500;color:#005cbb;cursor:pointer}.header-link-btn:hover:not(:disabled){background:#e3f2fd}.header-link-btn:disabled{color:#9ca3af;cursor:default;opacity:.7}.date-nav{display:flex;align-items:center;gap:0}.date-nav__label{font-size:14px;font-weight:500;padding:0 6px;min-width:9rem;text-align:center;color:#111827}.date-nav__group{display:inline-flex;align-items:center;border:1px solid #d1d5db;border-radius:4px;overflow:hidden;background:#fff;height:32px}.date-nav__group button{width:28px;height:100%;border:none;background:#fafafa;color:#374151;font-size:16px;cursor:pointer}.date-nav__group button:hover{background:#f3f4f6}.date-nav__group input[type=date]{height:100%;border:none;border-left:1px solid #d1d5db;border-right:1px solid #d1d5db;padding:0 8px;font-size:13px;color:#111827;background:#fff;min-width:8.5rem}.date-range{display:inline-flex;align-items:stretch;flex-wrap:nowrap;max-width:100%;min-width:0;height:32px;border:1px solid #d1d5db;border-radius:4px;overflow:hidden;background:#fff}.date-range__presets.segment-toggle{flex-shrink:0;height:100%;border:none;border-radius:0;border-right:1px solid #d1d5db}.date-range__presets.segment-toggle button{height:100%}.date-range__nav{display:inline-flex;align-items:center;flex:1 1 auto;min-width:0;height:100%}.date-range__nav button{flex-shrink:0;width:28px;height:100%;border:none;background:#fafafa;color:#374151;font-size:16px;cursor:pointer}.date-range__nav button:hover{background:#f3f4f6}.date-range__nav input[type=date]{flex:1 1 7.5rem;min-width:0;width:auto;height:100%;border:none;border-left:1px solid #d1d5db;border-right:none;padding:0 8px;font-size:13px;color:#111827;background:#fff}.date-range__nav input[type=date]:last-of-type{border-right:1px solid #d1d5db}.date-range__sep{flex-shrink:0;padding:0 4px;color:#6b7280;font-size:13px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.header-controls .date-range{flex-shrink:0}@media (max-width: 1024px){.header-controls .date-range{flex:1 1 100%;order:3;height:auto;min-height:32px;flex-wrap:wrap}.date-range__presets.segment-toggle{flex:1 1 100%;border-right:none;border-bottom:1px solid #d1d5db}.date-range__nav{flex:1 1 100%}}.date-nav__group .date-nav__label{display:flex;align-items:center;height:100%;padding:0 12px;border-left:1px solid #d1d5db;border-right:1px solid #d1d5db;font-size:13px;font-weight:500;color:#111827;min-width:10.5rem;justify-content:center;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;cursor:pointer;color:#555;padding:0}.icon-btn:hover:not(:disabled){background:#fafafa}.icon-btn:disabled{cursor:default;opacity:.6}.icon-btn.is-spinning svg{animation:page-header-spin .9s linear infinite}.icon-btn.is-busy{border-color:#bbdefb;background:#e3f2fd;color:#1976d2}.icon-btn__spinner{display:block;width:14px;height:14px;border:2px solid #bbdefb;border-top-color:#005cbb;border-radius:50%;animation:page-header-spin .7s linear infinite}@keyframes page-header-spin{to{transform:rotate(360deg)}}.today-btn{height:32px;padding:0 12px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;font-size:13px;color:#005cbb;cursor:pointer}.today-btn:hover{background:#fafafa}.header-search input,.header-field{height:32px;border:1px solid #e0e0e0;border-radius:4px;padding:0 10px;font-size:13px;color:#111827;background:#fff}.header-search{position:relative;min-width:200px}.header-search input{width:100%;min-width:200px}.header-search.has-mode input{padding-right:58px}.header-search input::-moz-placeholder{color:#9ca3af}.header-search input::placeholder{color:#9ca3af}.header-search__mode{position:absolute;right:8px;top:50%;transform:translateY(-50%);height:20px;padding:0 6px;border-radius:3px;background:#eef2f7;color:#4b5563;font-size:10px;font-weight:500;line-height:20px;pointer-events:none}.header-select{height:32px;border:1px solid #d1d5db;border-radius:4px;padding:0 8px;font-size:13px;color:#374151;background:#fff;max-width:160px}.provider-multi{position:relative;flex-shrink:0}.provider-multi__trigger{display:inline-flex;align-items:center;gap:6px;height:32px;max-width:200px;padding:0 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px;color:#374151;cursor:pointer}.provider-multi__trigger:hover,.provider-multi__trigger.is-open{border-color:#93c5fd;background:#f8fbff}.provider-multi__trigger.is-filtered{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.provider-multi__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.provider-multi__caret{flex-shrink:0;font-size:10px;color:#6b7280;line-height:1}.provider-multi__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:220px;max-width:280px;max-height:min(320px,50vh);overflow:auto;padding:6px 0;border:1px solid #d1d5db;border-radius:6px;background:#fff;box-shadow:0 8px 24px #0f172a1f}.provider-multi__option{display:flex;align-items:flex-start;gap:8px;padding:6px 12px;font-size:13px;color:#111827;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.provider-multi__option:hover{background:#f3f4f6}.provider-multi__option input{margin:2px 0 0;flex-shrink:0;accent-color:#005cbb}.provider-multi__option span{line-height:1.3}.provider-multi__option--all{font-weight:500}.provider-multi__divider{height:1px;margin:4px 0;background:#e5e7eb}.provider-multi__empty{padding:10px 12px;font-size:12px;color:#6b7280}@media (max-width: 900px){.page-header{grid-template-columns:1fr}.header-controls{justify-content:flex-start}.page-toolbar__right{margin-left:0;width:100%}.page-toolbar__right>.segment-toggle:first-child{margin-left:0}.page-toolbar__right>.segment-toggle:first-child:before{display:none}}#schedule-analytics .sa-entity-short{display:none}#schedule-analytics #sa-opportunities,#schedule-analytics #sa-hsat,#schedule-analytics #sa-study-demand{scroll-margin-top:7rem}#schedule-analytics .alerts-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}#schedule-analytics .alert-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid transparent;border-radius:4px;font-size:13px;text-align:left;cursor:pointer;box-shadow:0 1px 2px #0f172a0a}#schedule-analytics .alert-banner:hover{filter:brightness(.97)}#schedule-analytics .alert-banner:focus-visible{outline:2px solid #005cbb;outline-offset:1px}#schedule-analytics .alert-banner.warning{background:#fff3e0;border-color:#ffe0b2;color:#e65100}#schedule-analytics .alert-banner.info{background:#e3f2fd;border-color:#bbdefb;color:#1565c0}#schedule-analytics .analytics-content{display:flex;gap:16px;align-items:flex-start}#schedule-analytics .capacity-section{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}#schedule-analytics .opportunities-section{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}#schedule-analytics .capacity-card,#schedule-analytics .sidebar-card{background:#fff;border:1px solid #e5e7eb;border-radius:4px;box-shadow:0 1px 2px #0f172a0a;overflow:clip}#schedule-analytics .card-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #f0f0f0;gap:12px}#schedule-analytics .card-header .card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;min-width:0}#schedule-analytics .schedule-details-panel{border-top:1px solid #f0f0f0}#schedule-analytics .panel-header{padding:10px 15px;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:13px;font-weight:500}#schedule-analytics .provider-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px;padding:15px}#schedule-analytics .provider-cards-grid.single-provider{grid-template-columns:1fr}#schedule-analytics .provider-card{background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:12px 15px;box-shadow:none}#schedule-analytics .provider-card-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}#schedule-analytics .provider-info{display:flex;align-items:center;gap:12px;min-width:0;flex:1}#schedule-analytics .provider-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#e3f2fd,#bbdefb);display:flex;align-items:center;justify-content:center;color:#1565c0;flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:.02em;line-height:1}#schedule-analytics .provider-avatar.tone-md{background:linear-gradient(135deg,#e3f2fd,#90caf9);color:#0d47a1}#schedule-analytics .provider-avatar.tone-pa{background:linear-gradient(135deg,#e8f5e9,#a5d6a7);color:#1b5e20}#schedule-analytics .provider-avatar.tone-np{background:linear-gradient(135deg,#f3e5f5,#ce93d8);color:#6a1b9a}#schedule-analytics .provider-avatar.tone-default{background:linear-gradient(135deg,#eceff1,#cfd8dc);color:#37474f}#schedule-analytics .provider-avatar.cpap-avatar{background:linear-gradient(135deg,#f3e5f5,#e1bee7);color:#7b1fa2;font-size:inherit}#schedule-analytics .provider-name{font-size:15px;font-weight:500;margin-bottom:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#schedule-analytics .provider-specialty{font-size:11px;font-weight:500;color:#757474;letter-spacing:.5px;text-transform:uppercase}#schedule-analytics .status-indicators{display:flex;align-items:center;gap:6px}#schedule-analytics .status-dot{width:10px;height:10px;border-radius:50%}#schedule-analytics .status-dot.status-high{background:#4caf50;box-shadow:0 0 0 3px #4caf5033}#schedule-analytics .status-dot.status-med{background:#ff9800;box-shadow:0 0 0 3px #ff980033}#schedule-analytics .status-dot.status-low{background:#f44336;box-shadow:0 0 0 3px #f4433633}#schedule-analytics .status-label{font-size:11px;font-weight:500;color:#757474}#schedule-analytics .utilization-section{margin-bottom:12px}#schedule-analytics .utilization-header{display:flex;justify-content:space-between;margin-bottom:8px}#schedule-analytics .utilization-label{font-size:10px;font-weight:500;color:#757474;text-transform:uppercase;letter-spacing:.5px}#schedule-analytics .progress-bar-container{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}#schedule-analytics .progress-bar-fill{height:100%;border-radius:4px}#schedule-analytics .blocks-section{display:grid;grid-template-columns:1fr 1fr;gap:12px}#schedule-analytics .block-item{padding:8px 12px;border-radius:4px;border:2px solid transparent;background:#fafafa}#schedule-analytics .block-item.am-block{border-color:#bbdefb}#schedule-analytics .block-item.pm-block{border-color:#c8e6c9}#schedule-analytics .block-label{font-size:10px;font-weight:500;color:#757474;text-transform:uppercase}#schedule-analytics .block-value{font-size:14px;font-weight:500;margin-top:4px}#schedule-analytics .capacity-grid{overflow-x:auto}#schedule-analytics .capacity-grid .grid-header,#schedule-analytics .capacity-grid .grid-row{display:flex;align-items:center}#schedule-analytics .capacity-grid .grid-header{background:#fafafa;border-bottom:1px solid #f0f0f0;min-height:22px;font-size:10px;font-weight:500;color:#8a8a8a}#schedule-analytics .capacity-grid .grid-row{border-bottom:1px solid #f5f5f5;padding:3px 0}#schedule-analytics .capacity-grid .provider-col{flex:0 0 120px;padding-left:15px;font-size:13px}#schedule-analytics .capacity-grid .sub-row .provider-col{padding-left:24px}#schedule-analytics .capacity-grid .sub-label{font-size:11px;color:#757474}#schedule-analytics .capacity-grid .day-col{flex:1;min-width:44px;text-align:center;padding:2px;font-size:11px}#schedule-analytics .capacity-grid .day-col-header{display:flex;justify-content:center;gap:3px}#schedule-analytics .capacity-grid .total-col{flex:0 0 60px;text-align:center;font-weight:500;padding-right:15px}#schedule-analytics .capacity-grid .slot-count{display:block;font-weight:500}#schedule-analytics .capacity-grid .slot-percent{display:block;font-size:10px;color:#757474}#schedule-analytics .capacity-grid .slot-empty{color:#d0d0d0}#schedule-analytics .capacity-grid .totals-row{background:#fafafa;font-weight:500}#schedule-analytics .util-high{background:#e8f5e9;border-left:4px solid #4caf50}#schedule-analytics .util-medium{background:#fff3e0;border-left:4px solid #ff9800}#schedule-analytics .util-low{background:#ffebee;border-left:4px solid #f44336}#schedule-analytics .lab-grid .lab-header,#schedule-analytics .lab-grid .lab-row{display:flex;align-items:center}#schedule-analytics .lab-grid .lab-header{background:linear-gradient(180deg,#fafafa,#f5f5f5);border-bottom:2px solid #e0e0e0;padding:12px 0;font-size:12px;font-weight:500;color:#757474}#schedule-analytics .lab-grid .lab-row{border-bottom:1px solid #f5f5f5;padding:10px 0}#schedule-analytics .lab-grid .lab-col{flex:1;text-align:center;min-width:70px;font-size:13px}#schedule-analytics .lab-grid .lab-col.label{flex:0 0 140px;text-align:left;padding-left:15px;color:#757474}#schedule-analytics .lab-grid .bed-visual{display:flex;flex-direction:column;align-items:center;gap:4px}#schedule-analytics .lab-grid .bed-bar{height:8px;width:100%;max-width:60px;border-radius:4px}#schedule-analytics .lab-grid .bed-high{background:linear-gradient(90deg,#4caf50,#81c784)}#schedule-analytics .lab-grid .bed-medium{background:linear-gradient(90deg,#ff9800,#ffb74d)}#schedule-analytics .lab-grid .bed-low{background:linear-gradient(90deg,#f44336,#e57373)}#schedule-analytics .lab-grid .bed-empty{background:#e0e0e0}#schedule-analytics .lab-grid .bed-count{font-size:11px;font-weight:500}#schedule-analytics .lab-grid .tech-count{font-weight:500}#schedule-analytics .lab-grid .tech-count.tech-none{color:#8a8a8a}#schedule-analytics .lab-grid .tech-count.tech-two{color:#1976d2}#schedule-analytics .lab-grid .tech-name{font-size:11px;color:#555}#schedule-analytics .lab-grid .status-badge{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:500;text-transform:uppercase}#schedule-analytics .lab-grid .status-good{color:#388e3c;background:#e8f5e9}#schedule-analytics .lab-grid .status-warning{color:#f57c00;background:#fff3e0}#schedule-analytics .lab-grid .status-alert{color:#d32f2f;background:#ffebee}#schedule-analytics .lab-grid .status-empty{color:#8a8a8a;background:#f5f5f5}#schedule-analytics .lab-grid .ratio-good{color:#388e3c;font-weight:500}#schedule-analytics .lab-grid .ratio-low,#schedule-analytics .lab-grid .ratio-high{color:#d32f2f;font-weight:500}#schedule-analytics .lab-legend-inline{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#757474;padding:8px 15px}#schedule-analytics .legend-item{display:inline-flex;align-items:center;gap:4px}#schedule-analytics .dot{width:8px;height:8px;border-radius:50%}#schedule-analytics .staffing-ok-dot{background:#4caf50}#schedule-analytics .staffing-consider-dot{background:#ff9800}#schedule-analytics .staffing-needed-dot{background:#f44336}#schedule-analytics .cpap-schedule-grid .schedule-header,#schedule-analytics .cpap-schedule-grid .schedule-row{display:flex;align-items:center}#schedule-analytics .cpap-schedule-grid .schedule-header{background:#fafafa;border-bottom:1px solid #f0f0f0;padding:8px 0;font-size:10px;color:#757474}#schedule-analytics .cpap-schedule-grid .schedule-row{border-bottom:1px solid #f5f5f5;padding:6px 0}#schedule-analytics .cpap-schedule-grid .row-label{flex:0 0 100px;padding-left:15px;font-size:12px;display:flex;align-items:center;gap:6px}#schedule-analytics .cpap-schedule-grid .day-cell{flex:1;text-align:center;min-width:44px;padding:4px}#schedule-analytics .cpap-schedule-grid .week-total,#schedule-analytics .cpap-schedule-grid .header-total{flex:0 0 50px;text-align:center;font-weight:500}#schedule-analytics .cpap-schedule-grid .header-spacer{flex:0 0 100px}#schedule-analytics .cpap-schedule-grid .day-header{flex:1;text-align:center;min-width:44px}#schedule-analytics .type-indicator{width:8px;height:8px;border-radius:50%}#schedule-analytics .type-indicator.setup{background:#7b1fa2}#schedule-analytics .type-indicator.troubleshoot{background:#00838f}#schedule-analytics .cpap-weekly-summary{margin:12px 15px;padding:10px 12px;border-radius:4px;font-size:13px}#schedule-analytics .cpap-weekly-summary.cpap-util-high{background:#e8f5e9;color:#2e7d32}#schedule-analytics .cpap-weekly-summary.cpap-util-medium{background:#fff3e0;color:#e65100}#schedule-analytics .cpap-weekly-summary.cpap-util-low{background:#ffebee;color:#c62828}#schedule-analytics .target-badge{font-size:12px;padding:4px 8px;background:#f5f5f5;border-radius:4px}#schedule-analytics .sidebar-card .panel-header{cursor:default}#schedule-analytics .opportunity-group-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:#757474;margin-bottom:6px}#schedule-analytics .opportunity-group-title:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}#schedule-analytics .opportunity-group-title.priority-high{color:#c62828}#schedule-analytics .opportunity-group-title.priority-medium{color:#e65100}#schedule-analytics .opportunity-group-title.priority-low{color:#2e7d32}#schedule-analytics .opportunity-group-count{margin-left:auto;padding:0 6px;border-radius:8px;background:#f0f0f0;color:#555;font-size:10px;line-height:16px}#schedule-analytics .panel-count{display:inline-block;margin-left:6px;padding:0 6px;border-radius:8px;background:#e3f2fd;color:#1565c0;font-size:11px;line-height:17px;font-weight:500}#schedule-analytics .panel-footnote{padding:8px 12px;border-top:1px solid #f0f0f0;background:#fafafa;font-size:11px;color:#757474}#schedule-analytics .opportunity-item{padding:8px 10px;border:1px solid #e0e0e0;border-radius:4px;background:#fafafa;margin-bottom:6px;font-size:12px}#schedule-analytics .opportunity-item .entity{font-weight:500;margin-bottom:2px}#schedule-analytics .hsat-item{padding:10px 15px;border-bottom:1px solid #f0f0f0;font-size:12px}#schedule-analytics .hsat-item:last-child{border-bottom:none}#schedule-analytics .sa-hsat-list{margin:0;padding:0;list-style:none;max-height:15.5rem;overflow-y:auto}#schedule-analytics .no-data{padding:24px;text-align:center;color:#757474}@media (max-width: 1200px){#schedule-analytics .analytics-content{flex-direction:column}#schedule-analytics .opportunities-section{width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:start}}@media (max-width: 700px){#schedule-analytics .opportunities-section{grid-template-columns:1fr}}#schedule-analytics{--sa-hm-border: #e5e5e5;--sa-hm-border-soft: #efefef;--sa-hm-text: #0a0a0a;--sa-hm-text-2: #525252;--sa-hm-text-3: #737373;--sa-hm-text-4: #a3a3a3;--sa-hm-accent: #005cbb;--sa-hm-accent-bg: rgb(0 92 187 / .08);--sa-hm-emerald: #10b981;--sa-hm-emerald-bg: rgb(16 185 129 / .1);--sa-hm-amber: #f59e0b;--sa-hm-amber-bg: rgb(245 158 11 / .12);--sa-hm-rose: #f43f5e;--sa-hm-rose-bg: rgb(244 63 94 / .1)}#schedule-analytics .sa-heatmap-card{border:1px solid var(--sa-hm-border);border-radius:6px;overflow:clip;background:#fff}#schedule-analytics .capacity-card>.sa-heatmap-card:only-child{border:none;border-radius:0}#schedule-analytics .provider-cards-grid+.sa-heatmap-card,#schedule-analytics .card-header+.sa-heatmap-card{margin-top:12px}#schedule-analytics .sa-heatmap-card-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 12px;padding:10px 12px;border-bottom:1px solid var(--sa-hm-border)}#schedule-analytics .sa-heatmap-title{font-size:13px;font-weight:600;color:var(--sa-hm-text);min-width:0}#schedule-analytics .sa-heatmap-meta{font-size:11px;color:var(--sa-hm-text-3)}#schedule-analytics .sa-heatmap-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#schedule-analytics .sa-heatmap{width:100%;min-width:calc(96px + var(--sa-days, 7) * 28px);display:grid;grid-template-columns:minmax(96px,140px) 1fr;font-size:11px}#schedule-analytics .sa-heatmap-header,#schedule-analytics .sa-heatmap-row{display:contents}#schedule-analytics .sa-h-label,#schedule-analytics .sa-r-label{padding:6px 12px;border-bottom:1px solid var(--sa-hm-border-soft);color:var(--sa-hm-text-3);min-width:0}#schedule-analytics .sa-r-label{color:var(--sa-hm-text);font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;overflow:hidden}#schedule-analytics .sa-r-label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#schedule-analytics .sa-prefix{color:var(--sa-hm-text-3);font-size:9px;letter-spacing:.05em;margin-right:2px;flex-shrink:0}#schedule-analytics .sa-h-days,#schedule-analytics .sa-r-days{display:grid;border-bottom:1px solid var(--sa-hm-border-soft);min-width:calc(var(--sa-days, 7) * 28px)}#schedule-analytics .sa-heatmap-row:last-child .sa-r-label,#schedule-analytics .sa-heatmap-row:last-child .sa-r-days{border-bottom:0}#schedule-analytics .sa-h-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 0 4px;color:var(--sa-hm-text-3);border-left:1px solid var(--sa-hm-border-soft)}#schedule-analytics .sa-d-num{font-size:11px;font-weight:500;color:var(--sa-hm-text-2);line-height:1}#schedule-analytics .sa-d-letter{font-size:9px;color:var(--sa-hm-text-4);line-height:1}#schedule-analytics .sa-h-day.weekend-h .sa-d-num{color:var(--sa-hm-text-4)}#schedule-analytics .sa-h-day.is-today{background:var(--sa-hm-accent-bg)}#schedule-analytics .sa-h-day.is-today .sa-d-num,#schedule-analytics .sa-h-day.is-today .sa-d-letter{color:var(--sa-hm-accent);font-weight:600}#schedule-analytics .sa-cell{position:relative;padding:5px 0;text-align:center;font-size:11px;font-weight:500;color:var(--sa-hm-text);border-left:1px solid var(--sa-hm-border-soft);background:transparent}#schedule-analytics .sa-cell.dim{color:var(--sa-hm-text-4);background:transparent}#schedule-analytics .sa-cell.lo{background:var(--sa-hm-rose-bg);color:var(--sa-hm-rose)}#schedule-analytics .sa-cell.md{background:var(--sa-hm-amber-bg);color:var(--sa-hm-amber)}#schedule-analytics .sa-cell.hi{background:var(--sa-hm-emerald-bg);color:var(--sa-hm-emerald)}#schedule-analytics .sa-cell.empty{color:transparent}#schedule-analytics .sa-cell.is-today{box-shadow:inset 0 0 0 1px var(--sa-hm-accent)}#schedule-analytics .sa-heatmap-card .cpap-weekly-summary{margin:0;border-radius:0;border-top:1px solid var(--sa-hm-border)}#schedule-analytics .sa-demand-card{overflow:clip}#schedule-analytics .capacity-card>.sa-demand-card:only-child .sa-heatmap-card-header{border-bottom:1px solid #e5e7eb}#schedule-analytics .sa-demand-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#schedule-analytics .sa-demand-table{display:grid;grid-template-columns:minmax(150px,200px) 52px 60px minmax(120px,1fr) 80px 13.5rem 72px;width:100%;min-width:680px;font-size:12px}#schedule-analytics .sa-dt-head,#schedule-analytics .sa-dt-row{display:contents}#schedule-analytics .sa-dt-head>div,#schedule-analytics .sa-dt-row>div{padding:8px 12px;border-bottom:1px solid #f0f0f0;align-self:stretch;min-height:52px;min-width:0;display:flex;align-items:center}#schedule-analytics .sa-dt-head>.ty,#schedule-analytics .sa-dt-row>.ty{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 #f0f0f0}#schedule-analytics .sa-dt-head>.ty{background:#fafafa}#schedule-analytics .sa-dt-head>div{min-height:36px;font-size:11px;font-weight:500;color:#6b7280;background:#fafafa;border-bottom:1px solid #e5e7eb;padding:8px 12px;white-space:nowrap;text-transform:none;letter-spacing:0}#schedule-analytics .sa-dt-head>div.num,#schedule-analytics .sa-dt-row>div.num{justify-content:flex-end;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}#schedule-analytics .sa-dt-head>div.signal-col,#schedule-analytics .sa-dt-row>div.signal-col{justify-content:flex-end;padding-right:14px}#schedule-analytics .sa-dt-row:last-child>div{border-bottom:0}#schedule-analytics .sa-dt-row:hover>div{background:#fafafa}#schedule-analytics .sa-dt-row .ty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;color:#111827;overflow:hidden}#schedule-analytics .sa-dt-row .ty-name{font-size:13px;font-weight:500;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#schedule-analytics .sa-dt-row .ty-kind{font-size:11px;color:#9ca3af;line-height:1.2}#schedule-analytics .sa-dt-head>div.trend-col,#schedule-analytics .sa-dt-row>div.spark-cell{justify-content:stretch}#schedule-analytics .sa-dt-row .spark-cell{width:100%}#schedule-analytics .sa-dt-head>.fill-col,#schedule-analytics .sa-dt-row>.fill-strip{justify-content:flex-start}#schedule-analytics .sa-dt-row .fill-strip{display:grid;grid-template-columns:repeat(4,2.75rem);-moz-column-gap:10px;column-gap:10px;align-items:center;width:-moz-max-content;width:max-content;max-width:100%}#schedule-analytics .sa-dt-row .fill-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0}#schedule-analytics .sa-dt-row .fill-label{font-size:10px;color:#9ca3af;line-height:1.1;text-transform:lowercase}#schedule-analytics .sa-dt-row .fill-val{font-size:12px;color:#374151;line-height:1.1;font-variant-numeric:tabular-nums}#schedule-analytics .sa-dt-row .fill-cell.urgent .fill-val{color:#b91c1c;font-weight:500}#schedule-analytics .sa-dt-row .fill-cell.soft .fill-val{color:#15803d}#schedule-analytics .sa-dt-row .fill-cell.none .fill-val{color:#d1d5db}#schedule-analytics .sa-dt-row .trend-bars{display:flex;align-items:flex-end;gap:4px;width:100%;height:28px;min-height:28px;flex:1 1 auto;padding:0}#schedule-analytics .sa-dt-row .trend-bar{flex:1 1 0;min-width:8px;border-radius:2px 2px 1px 1px;background:#90caf9}#schedule-analytics .sa-dt-row .trend-bar.is-empty{height:3px;border-radius:1px;background:#e3f2fd}#schedule-analytics .sa-dt-row .signal-pill{display:inline-block;font-size:11px;font-weight:500;letter-spacing:0;padding:2px 8px;border-radius:999px;color:#6b7280;background:#f3f4f6}#schedule-analytics .sa-dt-row .signal-pill.overfilled{color:#b91c1c;background:#fef2f2}#schedule-analytics .sa-dt-row .signal-pill.underfill,#schedule-analytics .sa-dt-row .signal-pill.underused{color:#b45309;background:#fffbeb}#schedule-analytics .sa-dt-row .signal-pill.ok{color:#15803d;background:#f0fdf4}@media (max-width: 1200px){#schedule-analytics .sa-demand-table{grid-template-columns:minmax(130px,170px) 48px 52px minmax(100px,1fr) 72px 12.5rem 68px;font-size:11px}#schedule-analytics .sa-dt-row .trend-bars{height:24px;min-height:24px;gap:3px}#schedule-analytics .sa-dt-row .fill-strip{grid-template-columns:repeat(4,2.5rem);-moz-column-gap:8px;column-gap:8px}}#schedule-analytics .sa-side-card{overflow:hidden}#schedule-analytics .sa-side-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #e5e7eb}#schedule-analytics .sa-side-title{font-size:13px;font-weight:600;color:#111827}#schedule-analytics .sa-side-meta{font-size:11px;color:#9ca3af;white-space:nowrap}#schedule-analytics .sa-snapshot{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}#schedule-analytics .sa-snap-day{display:flex;justify-content:space-between;align-items:baseline}#schedule-analytics .sa-snap-day .label{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#9ca3af}#schedule-analytics .sa-snap-day .date{font-size:11px;color:#6b7280}#schedule-analytics .sa-snap-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#schedule-analytics .sa-snap-row .stat{border:1px solid #e5e7eb;border-radius:4px;padding:8px 6px;text-align:center;min-width:0}#schedule-analytics .sa-snap-row .stat .v{font-size:15px;font-weight:500;color:#111827;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#schedule-analytics .sa-snap-row .stat .l{font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#9ca3af;margin-top:4px}#schedule-analytics .sa-snap-next{border:1px dashed #e5e7eb;border-radius:4px;padding:8px;display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}#schedule-analytics .sa-snap-next .time{font-size:11px;font-weight:500;color:#111827}#schedule-analytics .sa-snap-next .who{font-size:12px;font-weight:500;color:#111827;line-height:1.2}#schedule-analytics .sa-snap-next .what{font-size:10px;color:#9ca3af;margin-top:1px}#schedule-analytics .sa-snap-empty{font-size:11px;color:#9ca3af;text-align:center;padding:6px 0}#schedule-analytics .sa-snap-divider{height:1px;background:#f0f0f0;margin:2px 0}#schedule-analytics .sa-vendor-mini{padding:10px 12px;border-bottom:1px solid #f0f0f0}#schedule-analytics .sa-vendor-mini:last-child{border-bottom:0}#schedule-analytics .sa-vendor-mini .vm-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}#schedule-analytics .sa-vendor-mini .vm-name{font-size:13px;font-weight:600;color:#111827}#schedule-analytics .sa-vendor-mini .vm-total{font-size:11px;color:#9ca3af}#schedule-analytics .sa-vendor-mini .vm-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#schedule-analytics .sa-vendor-mini .vm-stage{border:1px solid #e5e7eb;border-radius:4px;padding:6px 4px;text-align:center;background:#fff}#schedule-analytics .sa-vendor-mini .vm-val{display:block;font-size:15px;font-weight:500;color:#111827;line-height:1.1}#schedule-analytics .sa-vendor-mini .vm-lbl{display:block;font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#9ca3af;margin-top:3px}#schedule-analytics .sa-vendor-mini .vm-stage.warn{background:#fffbeb;border-color:#f59e0b}#schedule-analytics .sa-vendor-mini .vm-stage.warn .vm-val,#schedule-analytics .sa-vendor-mini .vm-stage.warn .vm-lbl{color:#b45309}#schedule-analytics .sa-vendor-mini .vm-stage.pos{background:#ecfdf5;border-color:#10b981}#schedule-analytics .sa-vendor-mini .vm-stage.pos .vm-val,#schedule-analytics .sa-vendor-mini .vm-stage.pos .vm-lbl{color:#047857}@media (max-width: 900px){#schedule-analytics .header-controls{width:100%}#schedule-analytics .sa-entity-toggle{flex:1 1 100%}#schedule-analytics .sa-entity-toggle button{flex:1;justify-content:center;padding:0 8px}}@media (max-width: 640px){#schedule-analytics .sa-entity-full{display:none}#schedule-analytics .sa-entity-short{display:inline}#schedule-analytics .date-nav__group .date-nav__label{min-width:7rem;padding:0 8px;font-size:12px}#schedule-analytics .provider-cards-grid{padding:12px;gap:12px}#schedule-analytics .sa-heatmap-meta{flex:1 1 100%}#schedule-analytics .sa-side-header{flex-wrap:wrap}#schedule-analytics #sa-opportunities,#schedule-analytics #sa-hsat,#schedule-analytics #sa-study-demand{scroll-margin-top:10rem}}.appointments-calendar{height:100%;display:flex;flex-direction:column}.appointments-calendar .calendar-scroll-wrapper{flex:1;min-height:0;position:relative;overflow:hidden;border:1px solid #e0e0e0;border-radius:4px;display:flex;flex-direction:column;background:#fff}.appointments-calendar .calendar-header{display:flex;background-color:#f5f5f5;border-bottom:2px solid #ddd;position:sticky;top:0;z-index:10;flex-shrink:0}.appointments-calendar .time-column-header{width:80px;min-width:80px;padding:12px 8px;text-align:center;border-right:2px solid #ddd}.appointments-calendar .provider-column-header{flex:1;min-width:150px;padding:8px;text-align:center;border-right:1px solid #ddd}.appointments-calendar .provider-column-header:last-child{border-right:none}.appointments-calendar .provider-column-header .provider-name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px;font-weight:500}.appointments-calendar .provider-badges{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.appointments-calendar .provider-badges .badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.appointments-calendar .badge-total{background-color:#dbeafe;color:#1e40af}.appointments-calendar .badge-am{background-color:#cffafe;color:#0e7490}.appointments-calendar .badge-pm{background-color:#e9d5ff;color:#6b21a8}.appointments-calendar .calendar-body{flex:1;overflow:auto}.appointments-calendar .time-slot-row{display:flex;border-bottom:1px solid #e0e0e0;min-height:150px}.appointments-calendar .time-label{width:80px;min-width:80px;padding:8px;text-align:center;font-size:12px;font-weight:500;color:#666;border-right:2px solid #ddd;background-color:#fafafa}.appointments-calendar .provider-column{flex:1;min-width:150px;position:relative;border-right:1px solid #e0e0e0;background-color:#fff}.appointments-calendar .provider-column:last-child{border-right:none}.appointments-calendar .appointment-item{position:absolute;left:2px;right:2px;padding:4px 6px;cursor:pointer;border-radius:4px;font-size:11px;overflow:hidden;z-index:1}.appointments-calendar .appointment-item:hover{z-index:5;box-shadow:0 2px 6px #0000001f}.appointments-calendar .appointment-patient{font-size:12px;line-height:1.2;color:#000;margin-bottom:2px}.appointments-calendar .apt-pt-yo{font-size:9px}.appointments-calendar .appointment-type-initials{display:inline-block;font-size:8px;background-color:#e9ecef;color:#495057;padding:1px 4px;border-radius:2px;margin-left:4px}.appointments-calendar .appointment-time-range{font-size:9px;line-height:1.2;color:#666;font-style:italic}.appointments-calendar .status-initials{display:inline-block;font-size:7px;padding:1px 3px;border-radius:2px;margin-left:4px;font-style:normal}.appointments-calendar .status-initials.status-completed{background-color:#d4edda;color:#155724}.appointments-calendar .status-initials.status-confirmed{background-color:#d1ecf1;color:#0c5460}.appointments-calendar .status-initials.status-pending{background-color:#fff3cd;color:#856404}.appointments-calendar .status-initials.status-cancelled,.appointments-calendar .status-initials.status-canceled{background-color:#f8d7da;color:#721c24}.appointments-calendar .status-initials.status-no-show{background-color:#e2e3e5;color:#383d41}.appointments-calendar .month-view-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e0e0e0;border-radius:4px}.appointments-calendar .month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background-color:#f8fafc;border-bottom:1px solid #d1d5db}.appointments-calendar .weekday-label{padding:12px;text-align:center;font-size:13px;font-weight:500;color:#4b5563;border-right:1px solid #d1d5db}.appointments-calendar .weekday-label:first-child{border-left:1px solid #d1d5db}.appointments-calendar .month-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);overflow-y:auto;border:1px solid #e5e7eb}.appointments-calendar .month-day-cell{min-height:100px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:8px;overflow-y:auto;cursor:pointer}.appointments-calendar .month-day-cell:hover{background:#f9fafb}.appointments-calendar .month-day-cell.other-month{background-color:#f9fafb;opacity:.5}.appointments-calendar .month-day-cell.today{background-color:#fef3c7;border:2px solid #f59e0b}.appointments-calendar .month-day-cell .day-number{font-size:16px;font-weight:500;margin-bottom:8px}.appointments-calendar .providers-list{display:flex;flex-direction:column;gap:4px}.appointments-calendar .provider-row{font-size:11px;color:#6b7280;line-height:1.3}.appt-toolbar{flex-shrink:0;z-index:10;border-bottom:1px solid #e5e7eb;background:#fff;padding:8px 12px;display:flex;flex-direction:column;gap:8px}.appt-toolbar__row{display:flex;align-items:center;gap:8px;min-width:0}.appt-toolbar__row--controls{flex-wrap:wrap}.appt-toolbar__title{margin:0;font-size:16px;font-weight:500;color:#111827;line-height:1.2;white-space:nowrap;flex:1}.appt-toolbar__count{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:500;vertical-align:middle}.appt-toolbar__segment{display:inline-flex;margin-left:auto;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#fff}.appt-toolbar__segment button{height:30px;padding:0 12px;border:none;background:transparent;font-size:12px;font-weight:500;color:#4b5563;cursor:pointer}.appt-toolbar__segment button+button{border-left:1px solid #d1d5db}.appt-toolbar__segment button.is-active{background:#005cbb;color:#fff}.appt-toolbar__icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:16px;line-height:1;cursor:pointer}.appt-toolbar__icon-btn:hover:not(:disabled){background:#f3f4f6}.appt-toolbar__icon-btn:disabled{opacity:.5;cursor:not-allowed}.appt-toolbar__icon-btn.is-spinning{animation:appt-spin .9s linear infinite}@keyframes appt-spin{to{transform:rotate(360deg)}}.appt-toolbar__right{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.appt-toolbar__date{display:inline-flex;align-items:center;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#fff;height:32px}.appt-toolbar__date button{width:28px;height:100%;border:none;background:#f9fafb;color:#374151;font-size:16px;cursor:pointer}.appt-toolbar__date button:hover{background:#f3f4f6}.appt-toolbar__date input[type=date]{height:100%;border:none;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:0 8px;font-size:13px;color:#111827;background:#fff;min-width:8.5rem}.appt-toolbar__date-label{min-width:8.5rem;padding:0 10px;text-align:center;font-size:13px;font-weight:500;color:#111827;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb}.appt-toolbar__chips{display:inline-flex;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#fff;height:32px}.appt-toolbar__chips button{height:100%;padding:0 10px;border:none;border-right:1px solid #e5e7eb;background:transparent;font-size:12px;font-weight:500;color:#4b5563;cursor:pointer;white-space:nowrap}.appt-toolbar__chips button:last-child{border-right:none}.appt-toolbar__chips button.is-active{background:#e8f1fb;color:#005cbb}.appt-toolbar__search{flex:1 1 220px;min-width:180px;max-width:none}.appt-toolbar__search input{width:100%;height:32px;border:1px solid #d1d5db;border-radius:6px;padding:0 10px;font-size:13px;color:#111827;background:#fff}.appt-toolbar__search input::-moz-placeholder{color:#9ca3af}.appt-toolbar__search input::placeholder{color:#9ca3af}.appt-toolbar__select{height:32px;border:1px solid #d1d5db;border-radius:6px;padding:0 8px;font-size:12px;color:#374151;background:#fff;max-width:150px}.appt-toolbar__clear{height:32px;padding:0 10px;border:none;border-radius:6px;background:transparent;font-size:12px;font-weight:500;color:#005cbb;cursor:pointer}.appt-toolbar__clear:hover{background:#eff6ff}.appt-list{display:flex;flex-direction:column;flex:1 1 0;min-height:0;height:100%;padding:0;width:100%;overflow:hidden}.appt-list--rows.appt-list--flush .appt-compact-bar+.appt-list__days>.appt-list__day:first-child{border-top:none;border-radius:0 0 4px 4px;margin-top:-1px}.appt-list--rows.appt-list--flush .appt-compact-bar+.appt-list__days>.appt-list__day:first-child .appt-list__cards{border-top:none}.appt-compact-bar{flex-shrink:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:4px 4px 0 0;border-bottom:1px solid #e5e7eb;min-height:36px}.appt-list--board .appt-compact-bar,.appt-list--rows:not(.appt-list--flush) .appt-compact-bar{border-radius:4px;margin-bottom:8px}.appt-compact-bar__day{font-size:13px;color:#6b7280;line-height:1.2;white-space:nowrap;flex-shrink:0}.appt-compact-bar__day strong{color:#111827;font-weight:500}.appt-compact-bar__count{color:#64748b;font-weight:500}.appt-compact-bar__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 0;min-width:0;margin-left:auto;flex:1 1 auto}.appt-tool-cluster{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:0 10px}.appt-tool-cluster--facet{min-width:0;flex:1 1 auto;justify-content:flex-end}.appt-tool-cluster__label{font-size:11px;font-weight:500;color:#6b7280;white-space:nowrap}.appt-tool-sep{display:inline-block;width:1px;height:18px;margin:0 2px;background:#d1d5db;flex-shrink:0;align-self:center}.appt-groupby__select{height:26px;padding:0 8px;border:1px solid #d1d5db;border-radius:999px;background:#fff;font-size:11px;font-weight:500;color:#374151;cursor:pointer}.appt-groupby__select:hover{border-color:#bfdbfe;background:#f8fbff}.appt-groupby__select:focus{outline:2px solid rgb(0 92 187 / .25);outline-offset:1px}.appt-layout-toggle{flex-shrink:0}.appt-layout-toggle button{height:26px;padding:0 10px;font-size:11px;font-weight:500}.appt-list__days{display:flex;flex-direction:column;gap:10px;padding:0 0 12px;flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;outline:none;overscroll-behavior:contain}.appt-list__days:focus-visible,.appt-list__board:focus-visible{box-shadow:inset 0 0 0 2px #005cbb40}.appt-list--board{min-height:0}.appt-list__board{display:flex;flex:1;min-height:0;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;outline:none;border:1px solid #e5e7eb;border-radius:4px;background:#fff}.appt-list__col{display:flex;flex-direction:column;flex:1 1 0;min-width:280px;min-height:0;border-right:1px solid #e5e7eb;background:#fff}.appt-list__col:last-child{border-right:none}.appt-list__col-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;position:sticky;top:0;z-index:2;margin:0;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.appt-list__col-header .appt-list__day-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appt-list__col .appt-list__cards{flex:1;min-height:0;overflow:auto;border-top:none}.appt-card--compact{grid-template-columns:58px 30px minmax(0,1fr);gap:8px;padding:8px 10px;align-items:start}.appt-card--compact.appt-card--actions{grid-template-columns:58px 30px minmax(0,1fr) auto}.appt-card--compact .appt-card__avatar{width:30px;height:30px;font-size:11px}.appt-card--compact .appt-card__aside{grid-column:1 / -1;justify-content:flex-start;min-width:0;padding-left:96px}.appt-card--compact.appt-card--actions .appt-card__actions{grid-column:4;grid-row:1;align-self:center}.appt-card--compact.appt-card--actions .appt-card__aside{padding-left:96px}.appt-list__day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.appt-list__day-header--simple{position:relative;z-index:1;margin:0;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.list-page__body--appt-list{min-height:0}.list-page__body--appt-list .appt-list{flex:1 1 0;min-height:0}.appt-facet{display:flex;align-items:center;gap:6px;min-width:0}.appt-compact-bar>.appt-facet{margin-left:auto}.appt-facet__mode{display:inline-flex;border:1px solid #d1d5db;border-radius:999px;overflow:hidden;flex-shrink:0;background:#fff}.appt-facet__mode button{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 10px;border:none;background:transparent;font-size:11px;font-weight:500;line-height:1;color:#6b7280;cursor:pointer;box-sizing:border-box}.appt-facet__mode button+button{border-left:1px solid #e5e7eb}.appt-facet__mode button.is-active{background:#e3f2fd;color:#1976d2;font-weight:500}.appt-facet__badges{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:4px;min-width:0;overflow-x:auto;padding-left:8px;margin-left:2px;border-left:1px solid #e5e7eb}.appt-facet__badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:26px;padding:4px 9px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;font-size:11px;font-weight:500;line-height:1;color:#374151;cursor:pointer;white-space:nowrap;flex-shrink:0;box-sizing:border-box}.appt-facet__badge span:last-child{font-weight:700;color:#111827}.appt-facet__badge-label{overflow:hidden;text-overflow:ellipsis}.appt-facet__badge:hover{border-color:#bfdbfe;background:#f8fbff}.appt-facet__badge.is-active{border-color:#005cbb;background:#e8f1fb;color:#005cbb}.appt-facet__badge.is-active span:last-child{color:#005cbb}.appt-facet__badge--ok{border-color:#c8e6c9;background:#f1f8f2}.appt-facet__badge--warn{border-color:#ffe0b2;background:#fff8f0}.appt-facet__badge--danger{border-color:#ffcdd2;background:#fff5f5}.appt-facet__badge--brand{border-color:#bbdefb;background:#f5f9ff}.appt-facet__badge--muted{border-color:#e5e7eb;background:#f9fafb}.appt-list__day-title{margin:0;font-size:13px;font-weight:500;color:#111827;line-height:1.2}.appt-list__day-sub{font-weight:400;color:#6b7280}.appt-list__day-count{flex-shrink:0;min-width:26px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:500}.appt-list__day{flex-shrink:0;background:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:clip;box-shadow:0 1px 2px #0000000a}.appt-list--rows .appt-list__days{gap:12px;padding:0 2px 16px}.appt-list__cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;border-top:1px solid #e5e7eb}.appt-list__cards>li+li .appt-card{border-top:1px solid #e5e7eb}.appt-card{width:100%;display:grid;grid-template-columns:72px 34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 12px;border:none;border-bottom:none;border-radius:0;background:#fff;text-align:left;cursor:pointer;content-visibility:auto;contain-intrinsic-size:0 42px}.appt-card:hover{background:#f8fbff}.appt-card:focus-visible{outline:2px solid #005cbb;outline-offset:-2px}.appt-card--inactive{background:#fafafa}.appt-card--inactive .appt-card__time,.appt-card--inactive .appt-card__avatar,.appt-card--inactive .appt-card__body,.appt-card--inactive .appt-card__meta{opacity:.55}.appt-card--inactive .appt-card__name{text-decoration:line-through;text-decoration-color:#9ca3af}.appt-card--selected{background:#f0f7ff;box-shadow:inset 3px 0 #005cbb}.appt-card__time{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.appt-card__time-primary{font-size:13px;font-weight:500;color:#005cbb;white-space:nowrap}.appt-card__duration{margin-top:2px;font-size:11px;color:#9ca3af}.appt-card__avatar{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}.appt-card__body{min-width:0}.appt-card__row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.appt-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.appt-card__name{font-size:13px;font-weight:500;color:#111827}.appt-card__age{font-size:12px;color:#6b7280}.appt-card__subtitle{margin:1px 0 0;font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appt-card--actions{grid-template-columns:72px 34px minmax(0,1fr) auto auto}.appt-card__actions{display:flex;align-items:center;gap:4px}.appt-action-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;flex-shrink:0;padding:0}.appt-action-btn:hover{background:#f3f4f6;border-color:#9ca3af}.appt-action-btn--primary{border-color:#005cbb;background:#eff6ff;color:#005cbb}.appt-action-btn--primary:hover{background:#dbeafe}.appt-action-btn__icon{width:15px;height:15px;flex-shrink:0}.appt-card__aside{display:flex;align-items:center;justify-content:flex-end;min-width:84px}@media (max-width: 900px){.appt-toolbar__search{flex:1 1 100%;max-width:none}}@media (max-width: 768px){.appt-card{grid-template-columns:64px 32px minmax(0,1fr)}.appt-card--actions{grid-template-columns:64px 32px minmax(0,1fr) auto}.appt-card__actions{grid-column:4;grid-row:1}.appt-card__aside{grid-column:1 / -1;justify-content:flex-start;padding-left:74px}}.pap-upload{display:flex;flex-direction:column;gap:12px;min-height:0}.pap-upload__opts{display:flex;flex-wrap:wrap;gap:14px 20px}.pap-upload__check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#334155;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pap-upload__table{width:100%;border-collapse:collapse;font-size:13px}.pap-upload__table th,.pap-upload__table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.pap-upload__table th{font-weight:500;color:#64748b;background:#f8fafc}.pap-upload__table tr.is-busy{background:#f8fafc}.pap-upload__status{display:inline-block;font-size:12px;font-weight:500}.pap-upload__status--succeed,.pap-upload__status--success{color:#166534}.pap-upload__status--error,.pap-upload__status--fail,.pap-upload__status--failed{color:#b91c1c}.pap-upload__error{color:#b91c1c;max-width:220px;word-break:break-word}.cpap-menu__item-title{font-size:13px;color:#0f172a}.cpap-menu__item-sub{margin-top:2px;font-size:11px;color:#64748b;line-height:1.3}.pt-page{display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden;background:#f8fafc}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pt-split{display:flex;min-height:0;flex:1 1 0;overflow:hidden}.pt-roster{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.pt-split--detail .pt-roster{flex:0 0 min(560px,52%);max-width:560px;min-height:0;border-right:none}.pt-split--detail.pt-split--sized .pt-roster{flex:1 1 auto;min-width:280px;max-width:none}.pt-split.is-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pt-resize-handle{position:relative;flex:0 0 10px;width:10px;margin:0 -5px;cursor:col-resize;z-index:3;background:transparent;touch-action:none}.pt-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:#d1d5db;transition:background-color .15s ease,width .15s ease}.pt-resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:28px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0f172a14;background-image:radial-gradient(circle,#94a3b8 1.25px,transparent 1.75px),radial-gradient(circle,#94a3b8 1.25px,transparent 1.75px),radial-gradient(circle,#94a3b8 1.25px,transparent 1.75px);background-size:4px 4px;background-position:center 7px,center 14px,center 21px;background-repeat:no-repeat;transition:border-color .15s ease,box-shadow .15s ease}.pt-resize-handle:hover:before,.pt-resize-handle:focus-visible:before,.pt-split.is-resizing .pt-resize-handle:before{width:3px;background:#93c5fd}.pt-resize-handle:hover:after,.pt-resize-handle:focus-visible:after,.pt-split.is-resizing .pt-resize-handle:after{border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd59;background-image:radial-gradient(circle,#2563eb 1.25px,transparent 1.75px),radial-gradient(circle,#2563eb 1.25px,transparent 1.75px),radial-gradient(circle,#2563eb 1.25px,transparent 1.75px)}.pt-resize-handle:focus-visible{outline:none}.pt-roster__columns{display:grid;grid-template-columns:minmax(0,1.5fr) .9fr .75fr .75fr 64px;gap:8px;padding:7px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:500;color:#64748b}.pt-roster__columns span:last-child{text-align:right}.pt-roster__body{min-height:0;flex:1 1 0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.pt-roster__body:focus{outline:none}.pt-roster__body:focus-visible{box-shadow:inset 0 0 0 2px #2563eb40}.pt-roster__footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:11px;font-weight:500;color:#64748b}.pt-roster__footer-left{display:flex;flex-direction:column;gap:4px;min-width:0}.pt-roster__footer-status{margin:0;font-size:11px;font-weight:500;color:#64748b}.pt-roster__footer-status strong{color:#0f172a;font-weight:500}.pt-roster__footer-retry{border:none;background:none;padding:0;text-align:left;font-size:12px;font-weight:500;color:#dc2626;cursor:pointer}.pt-roster__footer-retry:hover{text-decoration:underline}.pt-roster__footer-more{height:32px;padding:0 14px;border:1px solid #2563eb;border-radius:8px;background:#2563eb;color:#fff;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.pt-roster__footer-more:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.pt-roster__footer-more:disabled{opacity:.6;cursor:not-allowed}.pt-roster__footer-end{font-size:11px;font-weight:500;color:#64748b}.pt-roster__list{list-style:none;margin:0;padding:0}.pt-row{width:100%;display:grid;grid-template-columns:minmax(0,1.5fr) .9fr .75fr .75fr 64px;gap:8px;align-items:center;padding:10px 16px;border:none;border-bottom:1px solid #f1f5f9;background:#fff;text-align:left;cursor:pointer;transition:background .1s}.pt-row--compact{grid-template-columns:minmax(0,1fr) 48px;padding:10px 12px}.pt-roster--compact .pt-roster__footer{padding-left:12px;padding-right:12px}.pt-roster__list>li:nth-child(2n) .pt-row{background:#fafbfc}.pt-roster__list>li:nth-child(2n) .pt-row:hover,.pt-row:hover{background:#f8fbff}.pt-roster__list>li:nth-child(2n) .pt-row.is-selected,.pt-row.is-selected{background:#eff6ff}.pt-row:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.pt-row.is-selected{background:#eff6ff;box-shadow:inset 3px 0 #2563eb}.pt-row__patient{display:flex;align-items:center;gap:10px;min-width:0}.pt-row__avatar{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.pt-row__name-wrap{min-width:0}.pt-row__name{display:block;font-size:14px;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-row__sub{display:block;margin-top:1px;font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-page--chart{display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden}.app-main>.pt-page--chart.page-shell{height:calc(100vh - var(--toolbar-h));max-height:calc(100vh - var(--toolbar-h))}@media (max-width: 1024px){.app-main>.pt-page--chart.page-shell{height:calc(100dvh - var(--toolbar-h));max-height:calc(100dvh - var(--toolbar-h))}}.pt-page--chart .page-header-block{margin-bottom:0;padding-bottom:12px}.pt-detail--full{flex:1 1 0;min-height:0;min-width:0;max-width:none;border-left:none}.pt-detail--page{display:flex;flex-direction:column;min-height:0;flex:1 1 0;overflow:hidden;background:#f8fafc}.pt-row__cell{font-size:12px;color:#475569;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-row__cell--muted{color:#94a3b8}.pt-row__visit{display:flex;flex-direction:column;gap:1px;min-width:0}.pt-row__visit-label{font-size:12px;font-weight:500;color:#334155}.pt-row__visit-label--upcoming{color:#2563eb}.pt-row__visit-label--empty{color:#94a3b8;font-weight:400}.pt-row__visit-sub{font-size:10px;color:#94a3b8}.pt-row__programs{display:flex;align-items:center;justify-content:flex-end;gap:5px}.pt-program-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.pt-program-dot--rpm{background:#2563eb}.pt-program-dot--cpap{background:#059669}.pt-program-dot--wl{background:#7c3aed}.pt-program-dot.is-inactive{background:#e2e8f0}.pt-detail{min-width:0;min-height:0;flex:1 1 0;display:flex;flex-direction:column;background:#f8fafc;overflow:hidden}.pt-split--detail .pt-detail{flex:1 1 0;min-width:360px;border-left:1px solid #e5e7eb}.pt-split--detail.pt-split--sized .pt-detail{flex:0 0 auto}.pt-detail__header{flex-shrink:0;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.pt-detail__header .page-header{padding:0;margin:0;border-bottom:none}.pt-detail__identity{display:flex;align-items:center;gap:12px;min-width:0}.pt-detail__header .page-breadcrumb{margin:0 0 8px}.pt-detail__header--compact{padding-top:14px}.pt-detail__header--compact .page-title{font-size:18px;font-weight:500}.pt-detail__header .page-title .patient-chart-link{font-size:inherit;font-weight:inherit;line-height:inherit}.pt-detail__header-actions{gap:6px}.pt-detail__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;flex-shrink:0;cursor:pointer;text-decoration:none}.pt-detail__icon-btn:hover{background:#f1f5f9}.pt-detail__close{font-size:18px;line-height:1}.pt-detail__actions{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 16px;padding:10px 18px;background:#fff;border-bottom:1px solid #f1f5f9}.pt-detail__action-btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px;min-width:0}.pt-detail__visit-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.page-header-block .header-controls .pt-detail__visit-badges{justify-content:flex-end}.pt-visit-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid transparent;border-radius:999px;font-size:11px;line-height:1;white-space:nowrap}.pt-visit-badge__label{font-weight:500}.pt-visit-badge__value{font-weight:600}.pt-visit-badge--next{background:#eff6ff;border-color:#93c5fd}.pt-visit-badge--next .pt-visit-badge__label{color:#2563eb}.pt-visit-badge--next .pt-visit-badge__value{color:#1d4ed8}.pt-visit-badge--next.is-empty{background:#f8fafc;border-color:#dbeafe}.pt-visit-badge--next.is-empty .pt-visit-badge__label,.pt-visit-badge--next.is-empty .pt-visit-badge__value{color:#94a3b8;font-weight:400}.pt-visit-badge--last{background:#fffbeb;border-color:#fcd34d}.pt-visit-badge--last .pt-visit-badge__label{color:#b45309}.pt-visit-badge--last .pt-visit-badge__value{color:#92400e}.pt-visit-badge--last.is-empty{background:#fafaf9;border-color:#e7e5e4}.pt-visit-badge--last.is-empty .pt-visit-badge__label,.pt-visit-badge--last.is-empty .pt-visit-badge__value{color:#94a3b8;font-weight:400}.pt-detail__tabs{flex-shrink:0;display:flex;flex-wrap:wrap;gap:0;padding:0 8px;background:#fff;border-bottom:1px solid #e2e8f0}.pt-detail__tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:none;border-right:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;font-size:13px;font-weight:500;color:#64748b;cursor:pointer}.pt-detail__tab:hover{color:#0f172a;background:transparent}.pt-detail__tab.is-active{color:#005cbb;background:transparent;font-weight:600;border-bottom-color:#005cbb}.pt-detail__tab-icon{width:16px!important;height:16px!important;color:currentColor}.pt-inline-link{color:#005cbb;text-decoration:none;overflow-wrap:anywhere;word-break:break-word}.pt-inline-link:hover{text-decoration:underline;color:#004494}.pt-detail__body{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:10px 16px 16px;display:flex;flex-direction:column;gap:0;background:#fff}.pt-detail__body>.sleep-study-panel{flex:1 1 0;min-height:0}.pt-detail__body--hsa,.pt-detail__body:has(>.sleep-study-panel--tab){overflow:hidden;padding-bottom:12px}.pt-appt-history{display:flex;flex-direction:column;gap:8px;min-height:0}.pt-appt-history__note{margin:0;font-size:12px;color:#64748b}.pt-appt-history__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pt-appt-row{display:grid;grid-template-columns:minmax(8rem,10rem) minmax(0,1fr) auto;gap:10px 14px;align-items:start;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.pt-appt-row.is-upcoming{border-color:#bfdbfe;background:#f8fbff}.pt-appt-row.is-current{border-color:#93c5fd}.pt-appt-row.is-inactive{opacity:.62}.pt-appt-row__when{min-width:0}.pt-appt-row__date{font-size:13px;font-weight:500;color:#0f172a;line-height:1.35}.pt-appt-row__time{margin-top:3px;font-size:12px;color:#64748b}.pt-appt-row__main{min-width:0}.pt-appt-row__type{font-size:14px;font-weight:500;color:#0f172a;line-height:1.35}.pt-appt-row__provider{margin-top:3px;font-size:13px;color:#64748b}.pt-appt-row__aside{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.pt-appt-row__current{font-size:11px;font-weight:600;color:#1d4ed8;letter-spacing:.02em;text-transform:uppercase}@media (max-width: 640px){.pt-appt-row{grid-template-columns:minmax(0,1fr) auto}.pt-appt-row__when{grid-column:1 / -1}}.pt-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pt-stat{padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.pt-stat__label{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.pt-stat__value{margin-top:4px;font-size:15px;font-weight:500;color:#0f172a}.pt-stat__sub{margin-top:2px;font-size:11px;color:#64748b}.pt-stat--accent .pt-stat__value{color:#2563eb}.pt-overview__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pt-overview .hsat-config__kv{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));-moz-column-gap:36px;column-gap:36px}@media (max-width: 720px){.pt-overview__summary{grid-template-columns:1fr}}.pt-card-section{border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.pt-card-section__title{margin:0;padding:10px 14px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pt-card-section__body{padding:10px 14px 12px}.pt-kv{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;font-size:13px}.pt-kv dt{color:#64748b}.pt-kv dd{margin:0;font-weight:500;color:#0f172a;word-break:break-word}.pt-programs{display:flex;flex-wrap:wrap;gap:8px}.pt-program-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500}.pt-program-pill--rpm{background:#eff6ff;color:#1d4ed8}.pt-program-pill--cpap{background:#ecfdf5;color:#047857}.pt-program-pill--wl{background:#f5f3ff;color:#6d28d9}.pt-program-pill--none{background:#f1f5f9;color:#64748b}.pt-detail--overlay{display:flex;flex-direction:column;height:100%;min-height:0;background:#f8fafc;overflow:hidden}.pt-detail--overlay .pt-detail__actions{background:#fff}.pt-detail--overlay .pt-detail__tabs{background:#f8fafc}.pt-vitals{display:flex;flex-direction:column;gap:10px;min-height:0}.pt-vitals__toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.pt-vitals__note{margin:0;font-size:11px;color:#94a3b8}.pt-vitals__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.pt-vital-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.pt-vital-card__header{display:flex;align-items:flex-start;gap:10px}.pt-vital-card__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;flex-shrink:0;color:#005cbb;background:#eef4ff}.pt-vital-card__icon--bp,.pt-vital-card__icon--hr{color:#c62828;background:#ffebee}.pt-vital-card__icon--temp{color:#ef6c00;background:#fff3e0}.pt-vital-card__icon--spo2,.pt-vital-card__icon--resp{color:#0277bd;background:#e1f5fe}.pt-vital-card__icon--weight,.pt-vital-card__icon--bmi{color:#2e7d32;background:#e8f5e9}.pt-vital-card__icon--glucose{color:#6a1b9a;background:#f3e5f5}.pt-vital-card__titles{min-width:0}.pt-vital-card__name{margin:0;font-size:13px;font-weight:500;color:#0f172a}.pt-vital-card__desc{margin:2px 0 0;font-size:11px;color:#64748b;line-height:1.3}.pt-vital-card__latest{padding-top:8px;border-top:1px solid #f1f5f9}.pt-vital-card__latest-label{font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.pt-vital-card__value{display:flex;align-items:baseline;gap:6px;margin-top:4px}.pt-vital-card__value-num{font-size:22px;font-weight:500;line-height:1.1;color:#0f172a}.pt-vital-card__value-unit{font-size:13px;color:#64748b}.pt-vital-card__when{margin-top:4px;font-size:12px;color:#64748b}.pt-vital-card__history{display:flex;flex-direction:column;gap:6px}.pt-vital-card__history-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#64748b}.pt-vital-card__history-count{color:#94a3b8;font-weight:400}.pt-vital-card__history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pt-vital-card__history-item{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#334155}.pt-vital-card__more{align-self:flex-start;margin:0;padding:0;border:none;background:none;color:#005cbb;font-size:12px;font-weight:500;cursor:pointer}.pt-vital-card__more:hover{text-decoration:underline}.pt-vital-card__single{margin:0;font-size:11px;color:#94a3b8}@media (max-width: 960px){.pt-header__actions{order:3;margin-left:0;width:100%}.pt-header__search{flex:1;width:auto;min-width:0}.pt-roster__columns,.pt-split--detail .pt-roster,.pt-resize-handle{display:none}.pt-split--detail .pt-detail{flex:1 1 auto!important;width:100%!important;min-width:0;max-width:none;border-left:none}.pt-row{grid-template-columns:minmax(0,1fr) auto}.pt-row__cell:nth-child(2),.pt-row__visit{display:none}}.patient-chart-link{color:#005cbb;font:inherit;font-weight:inherit;text-decoration:underline;text-underline-offset:2px;border-radius:2px}.patient-chart-link:hover{color:#004494}.pt-detail--loading{display:flex;flex-direction:column;min-height:120px;padding:16px}.pt-cpap-panel__body{padding-top:4px}.pt-cpap-panel__section{margin-top:12px}.pt-cpap-panel__section:first-of-type{margin-top:4px}.pt-cpap-panel .cpap-detail__stats{margin:0 0 8px}.sleep-study-panel{border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.sleep-study-panel--tab{border:none;border-radius:0;background:transparent;display:flex;flex-direction:column;min-height:0;flex:1 1 0}.sleep-study-panel--tab>.sleep-study-detail{flex:1 1 0;min-height:0;min-width:0;width:auto;border:none;border-radius:0;box-shadow:none}.sleep-study-panel__split{margin:0}.sleep-study-panel--tab .sleep-study-panel__split.sleep-study-split{flex:1 1 0;min-height:0;margin:0;border:none;border-radius:0;box-shadow:none;background:transparent;overflow:hidden}.sleep-study-panel__main{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 12px 12px}.sleep-study-panel--tab .sleep-study-panel__main{padding:0}.sleep-study-panel--tab .sleep-study-split--detail .sleep-study-panel__main{padding-right:12px}.sleep-study-panel--tab .sleep-study-split--detail .sleep-study-table-wrap{overflow-x:hidden}.sleep-study-panel--tab .sleep-study-split--detail .sleep-study-table{table-layout:fixed;width:100%}.sleep-study-panel--tab .sleep-study-split--detail .sleep-study-table th,.sleep-study-panel--tab .sleep-study-split--detail .sleep-study-table td{overflow:hidden;text-overflow:ellipsis}.sleep-study-panel--tab .sleep-study-panel__toolbar{margin-bottom:10px}.sleep-study-panel--tab .sleep-study-table th,.sleep-study-panel--tab .sleep-study-table td{padding:10px 14px}.sleep-study-panel__split.sleep-study-split--detail .sleep-study-panel__main{flex:0 0 50%;min-width:240px;max-width:none;border-right:none}.sleep-study-panel__split.sleep-study-split--detail .sleep-study-detail{flex:0 0 50%;min-width:280px}.sleep-study-panel__split.sleep-study-split--detail.sleep-study-split--sized .sleep-study-panel__main{flex:1 1 auto;min-width:240px;max-width:none}.sleep-study-panel__split .sleep-study-table-wrap{flex:1;min-height:0;overflow:auto}.sleep-study-panel__banner{margin:0 0 12px;padding:8px 10px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:12px}.hsa-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.hsa-test-error{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;color:#b91c1c}.hsa-test-error-banner{margin-bottom:12px;padding:10px 12px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#991b1b}.hsa-test-error-banner__summary{margin:0;font-size:13px;line-height:1.45}.hsa-test-error-banner__details{margin-top:8px;font-size:12px}.hsa-test-error-banner__details summary{cursor:pointer;color:#b91c1c;font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hsa-test-error-banner__raw{margin:8px 0 0;max-height:160px;overflow:auto;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #fecaca;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word;color:#7f1d1d}.hsat-row__status .hsa-status-cell,.hsat-row__status .hsa-test-error{max-width:100%}.sleep-study-panel__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-shrink:0}.sleep-study-panel__filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:-moz-min-content;min-width:min-content;flex:1 1 auto}.hsa-provider-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.hsa-provider-tabs button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:none;border-radius:6px;background:transparent;font-size:13px;font-weight:400;color:#64748b;cursor:pointer;white-space:nowrap}.hsa-provider-tabs button:hover:not(.is-active){background:#f1f5f9;color:#0f172a}.hsa-provider-tabs button.is-active{background:#eff6ff;color:#005cbb;font-weight:500}.hsa-provider-tabs__count{font-size:12px;font-weight:500;color:#94a3b8;font-variant-numeric:tabular-nums}.hsa-provider-tabs button.is-active .hsa-provider-tabs__count{color:#3b78e7}.sleep-study-panel__toolbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.hsa-section__actions{display:flex;align-items:center;gap:6px}.hsa-icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#475569;cursor:pointer}.hsa-icon-btn:hover:not(:disabled){background:#f8fafc;color:#0f172a}.hsa-icon-btn:disabled{opacity:.5;cursor:not-allowed}.hsa-icon-btn.is-spinning{animation:hsa-spin .9s linear infinite}@keyframes hsa-spin{to{transform:rotate(360deg)}}.hsa-btn{height:30px;padding:0 12px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#334155;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.hsa-btn--primary{border-color:#2563eb;background:#2563eb;color:#fff}.hsa-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.hsa-btn:hover:not(:disabled):not(.hsa-btn--primary){background:#f8fafc}.hsa-btn:disabled{opacity:.55;cursor:not-allowed}.hsa-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 14px;border:1px dashed #dbe3ee;border-radius:10px;background:#f8fafc}.hsa-empty__text{margin:0;font-size:12px;color:#64748b}.sleep-study-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:6px}.sleep-study-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13px}.sleep-study-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#94a3b8;background:#fff;border-bottom:1px solid #e5e7eb;white-space:nowrap}.sleep-study-table td{padding:10px 12px;color:#0f172a;border-bottom:1px solid #f1f5f9;vertical-align:middle;white-space:nowrap}.sleep-study-table tbody tr:last-child td{border-bottom:none}.sleep-study-table__row{cursor:pointer}.sleep-study-table__row.is-selected td{background:#f0f7ff}.sleep-study-table__row.is-selected:hover td{background:#e8f1fc}.sleep-study-table tbody tr:hover td{background:#fafafa}.sleep-study-table__actions-col{width:40px;padding-left:4px;padding-right:8px;text-align:right;overflow:visible;position:relative}.sleep-study-panel--tab .sleep-study-split--detail .sleep-study-table td.sleep-study-table__actions-col,.sleep-study-panel--tab .sleep-study-split--detail .sleep-study-table th.sleep-study-table__actions-col{overflow:visible}.hsa-row-menu{position:relative;display:inline-flex;justify-content:flex-end}.hsa-row-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;font-size:18px;line-height:1;letter-spacing:.02em;cursor:pointer}.hsa-row-menu__trigger:hover,.hsa-row-menu__trigger[aria-expanded=true]{background:#e2e8f0;color:#0f172a}.hsa-row-menu__dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:140px;padding:4px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a1f}.hsa-row-menu__item{display:block;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:#0f172a;font-size:13px;text-align:left;cursor:pointer}.hsa-row-menu__item:hover{background:#f1f5f9}.hsa-row-menu__item--danger{color:#b91c1c}.hsa-row-menu__item--danger:hover{background:#fef2f2}.sleep-study-table .hsa-status-cell .inline-flex{height:20px;padding:0 8px;border-radius:4px;font-size:11px}.hsa-external-link{color:#1d4ed8;font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap}.hsa-external-link:hover{text-decoration:underline}.hsa-section__actions .hsa-external-link{align-self:center;padding:0 4px}.hsa-nights{display:flex;flex-direction:column;gap:4px;min-width:72px}.hsa-progress{height:4px;border-radius:999px;background:#e2e8f0;overflow:hidden}.hsa-progress__bar{height:100%;border-radius:999px;background:#2563eb}.hsa-sheet__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:none;background:#0f172a52;cursor:pointer;animation:hsa-fade-in .16s ease-out}.hsa-sheet{position:fixed;top:48px;right:0;bottom:0;z-index:61;display:flex;flex-direction:column;width:min(520px,100vw);background:#fff;border-left:1px solid #e2e8f0;box-shadow:-12px 0 40px #0f172a24;animation:hsa-slide-in .2s cubic-bezier(.22,1,.36,1)}.hsa-sheet--md{width:min(520px,100vw)}.hsa-sheet--lg{width:min(720px,100vw)}@keyframes hsa-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hsa-slide-in{0%{transform:translate(16px);opacity:.96}to{transform:translate(0);opacity:1}}.hsa-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid #eef2f7}.hsa-sheet__title{margin:0;font-size:17px;font-weight:500;letter-spacing:-.01em;color:#0f172a}.hsa-sheet__patient{margin:4px 0 0;font-size:13px;font-weight:500;color:#334155}.hsa-sheet__meta{font-weight:400;color:#64748b}.hsa-sheet__close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:22px;line-height:1;cursor:pointer}.hsa-sheet__close:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.hsa-sheet__form{display:flex;flex-direction:column;flex:1;min-height:0}.hsa-sheet__scroll{display:flex;flex-direction:column;gap:18px;flex:1;min-height:0;overflow:auto;padding:16px 18px 20px;background:#f8fafc}.hsa-sheet__section{padding:14px;border:1px solid #e8eef5;border-radius:12px;background:#fff}.hsa-sheet__section-title{margin:0 0 10px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.hsa-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;border-radius:10px;background:#f1f5f9}.hsa-segment button{height:34px;border:none;border-radius:8px;background:transparent;color:#475569;font-size:13px;font-weight:500;cursor:pointer}.hsa-segment button.is-active{background:#fff;color:#1d4ed8;box-shadow:0 1px 2px #0f172a14}.hsa-sheet__flags{display:flex;flex-wrap:wrap;gap:8px}.hsa-flag{display:inline-flex;align-items:center;gap:8px;min-width:120px;height:36px;padding:0 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:13px;color:#334155;cursor:pointer}.hsa-flag:has(input:checked){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.hsa-flag input{accent-color:#2563eb}.hsa-sheet__sensors{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hsa-sheet__sensor{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;text-align:left;cursor:pointer}.hsa-sheet__sensor.is-active{border-color:#2563eb;background:#eff6ff}.hsa-sheet__radio{width:14px;height:14px;margin-top:2px;border:2px solid #94a3b8;border-radius:999px;flex-shrink:0}.hsa-sheet__sensor.is-active .hsa-sheet__radio{border-color:#2563eb;box-shadow:inset 0 0 0 3px #2563eb}.hsa-sheet__sensor-label{display:block;font-size:13px;font-weight:500;color:#0f172a}.hsa-sheet__sensor-sub{display:block;margin-top:2px;font-size:11px;color:#64748b}.hsa-sheet__field{display:block}.hsa-sheet__select{display:block;width:100%;height:38px;padding:0 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#0f172a;font-size:13px}.hsa-sheet__select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.hsa-sheet__nights{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hsa-stepper{text-align:center}.hsa-stepper__label{margin-bottom:8px;font-size:11px;font-weight:500;color:#64748b;line-height:1.25;min-height:28px}.hsa-stepper__controls{display:inline-flex;align-items:center;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;background:#fff}.hsa-stepper__btn{width:30px;height:32px;border:none;background:#f8fafc;color:#334155;font-size:16px;line-height:1;cursor:pointer}.hsa-stepper__btn:hover:not(:disabled){background:#e2e8f0}.hsa-stepper__btn:disabled{opacity:.35;cursor:not-allowed}.hsa-stepper__value{min-width:32px;font-size:14px;font-weight:500;color:#0f172a}.hsa-sheet__hint{margin:0;padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:12px}.hsa-sheet__warn{margin:0;padding:10px 12px;border:1px solid #fcd9a4;border-radius:10px;background:#fffbeb;color:#92400e;font-size:12px}.hsa-sheet__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #eef2f7;background:#fff}.hsa-sheet__block{margin:0 auto 0 0;max-width:60%;color:#92400e;font-size:12px;line-height:1.4}.hsa-sheet__primary{height:38px;min-width:118px;padding:0 16px;border:1px solid #2563eb;border-radius:8px;background:#2563eb;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.hsa-sheet__primary:hover:not(:disabled){background:#1d4ed8}.hsa-sheet__secondary{height:38px;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;font-size:13px;font-weight:500;cursor:pointer}.hsa-sheet__secondary:hover:not(:disabled){background:#f8fafc}.hsa-sheet__primary:disabled,.hsa-sheet__secondary:disabled{opacity:.55;cursor:not-allowed}.hsa-sheet__subtitle{margin-top:4px}.hsa-kv{display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:8px 12px;margin:0}.hsa-kv dt{font-size:12px;color:#64748b}.hsa-kv dd{margin:0;font-size:13px;color:#0f172a;font-weight:500}.hsa-kv dd.is-warn{color:#c2410c}.hsa-results__subtitle{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:#334155}.hsa-flag-pill{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:10px;font-weight:500}.hsa-results__toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;margin-bottom:4px}.hsa-results__chips{display:flex;flex-wrap:wrap;gap:6px;padding-top:12px}.hsa-ahi-chip{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:500}.hsa-severity{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:500}.hsa-severity--normal{background:#ecfdf5;color:#047857}.hsa-severity--mild{background:#fffbeb;color:#b45309}.hsa-severity--moderate{background:#fff7ed;color:#c2410c}.hsa-severity--severe{background:#fef2f2;color:#b91c1c}.hsa-night-tabs-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.hsa-night-tabs{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.hsa-night-tab{height:30px;padding:0 12px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:500;cursor:pointer}.hsa-night-tab.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.hsa-night-tab.is-warn:not(.is-active){color:#c2410c}.hsa-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hsa-metric-card{margin:0}.hsa-results__actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px;padding:0;border-top:none}.hsa-report-frame{overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff;min-height:280px}.hsa-report-frame iframe{display:block;width:100%;height:360px;border:0}.hsa-confirm__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;border:none;background:#0f172a66;cursor:pointer}.hsa-confirm{position:fixed;top:50%;left:50%;z-index:71;width:min(420px,calc(100vw - 32px));transform:translate(-50%,-50%);border-radius:14px;background:#fff;box-shadow:0 20px 50px #0f172a38}.hsa-confirm__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid #eef2f7}.hsa-confirm__header h3{margin:0;font-size:16px;font-weight:500;color:#0f172a}.hsa-confirm__body{display:flex;flex-direction:column;gap:10px;padding:16px}.hsa-confirm__copy{margin:0 0 4px;font-size:13px;color:#334155}.hsa-confirm__copy--warn{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff7ed;color:#9a3412}.hsa-confirm__field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:500;color:#64748b}.hsa-confirm__field textarea{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font:inherit;font-weight:400;color:#0f172a;resize:vertical}.hsa-confirm__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #eef2f7}.toast-stack{position:fixed;top:60px;left:50%;z-index:80;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 24px));transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;box-shadow:0 10px 30px #0f172a24;font-size:13px;font-weight:500;pointer-events:auto;animation:hsa-fade-in .16s ease-out}.toast--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.toast--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.toast--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.toast__close{border:none;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.7}.toast__close:hover{opacity:1}@media (max-width: 720px){.hsa-metric-grid{grid-template-columns:1fr}.hsa-sheet--lg{width:100vw}}@media (max-width: 520px){.hsa-sheet__nights,.hsa-sheet__sensors{grid-template-columns:1fr}}.hsat-page{display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden;background:#f8fafc}.hsat-page .page-header-block{flex-shrink:0;margin-bottom:0;padding-bottom:10px}.hsat-ahi-chips{display:inline-flex;align-items:center;gap:6px}.hsat-ahi-chip-btn{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:11px;font-weight:500;color:#64748b;cursor:pointer}.hsat-ahi-chip-btn span{min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#f1f5f9;font-size:10px;line-height:16px;text-align:center}.hsat-ahi-chip-btn:hover{background:#f8fafc}.hsat-ahi-chip-btn--severe.is-active{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.hsat-ahi-chip-btn--moderate.is-active{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.hsat-ahi-chip-btn--mild.is-active{border-color:#fde68a;background:#fffbeb;color:#b45309}.hsat-ahi-chip-btn.is-active span{background:#ffffffb3}.sleep-study-split{display:flex;min-height:0;flex:1 1 0;overflow:hidden;margin:0 -4px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 2px #0f172a0f}.hsat-roster{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.sleep-study-split--detail .hsat-roster{flex:0 0 40%;min-width:280px;border-right:none}.sleep-study-split--detail.sleep-study-split--sized .hsat-roster{flex:1 1 auto;min-width:280px;max-width:none}.sleep-study-split.is-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hsat-resize-handle{position:relative;flex:0 0 10px;width:10px;margin:0 -5px;cursor:col-resize;z-index:3;background:transparent;touch-action:none}.hsat-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:#d1d5db;transition:background-color .15s ease,width .15s ease}.hsat-resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:28px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0f172a14;background-image:radial-gradient(circle,#94a3b8 1.25px,transparent 1.75px),radial-gradient(circle,#94a3b8 1.25px,transparent 1.75px),radial-gradient(circle,#94a3b8 1.25px,transparent 1.75px);background-size:4px 4px;background-position:center 7px,center 14px,center 21px;background-repeat:no-repeat;transition:border-color .15s ease,box-shadow .15s ease}.hsat-resize-handle:hover:before,.hsat-resize-handle:focus-visible:before,.sleep-study-split.is-resizing .hsat-resize-handle:before{width:3px;background:#93c5fd}.hsat-resize-handle:hover:after,.hsat-resize-handle:focus-visible:after,.sleep-study-split.is-resizing .hsat-resize-handle:after{border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd59;background-image:radial-gradient(circle,#2563eb 1.25px,transparent 1.75px),radial-gradient(circle,#2563eb 1.25px,transparent 1.75px),radial-gradient(circle,#2563eb 1.25px,transparent 1.75px)}.hsat-resize-handle:focus-visible{outline:none}.hsat-roster__banner{flex-shrink:0;padding:8px 12px 0}.hsat-roster__body{min-height:0;flex:1 1 0;overflow-x:hidden;overflow-y:auto}.hsat-roster__body:focus{outline:none}.hsat-roster__body:focus-visible{box-shadow:inset 0 0 0 2px #2563eb40}.hsat-roster__footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:11px;font-weight:500;color:#64748b}.hsat-roster__hint{color:#64748b;font-size:11px;font-weight:500}.hsat-list__head{display:grid;grid-template-columns:minmax(140px,1.5fr) minmax(100px,1fr) minmax(90px,.8fr) minmax(140px,1.2fr);gap:8px;align-items:center;padding:7px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;font-size:11px;font-weight:500;color:#64748b;position:sticky;top:0;z-index:2}.hsat-roster--compact .hsat-list__head{grid-template-columns:minmax(0,1.6fr) 64px minmax(72px,.9fr)}.hsat-list__sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;text-align:left}.hsat-list__sort:hover,.hsat-list__sort.is-active{color:#475569}.hsat-list__sort .sort-caret{flex-shrink:0;opacity:.85}.hsat-row{display:grid;grid-template-columns:minmax(140px,1.5fr) minmax(100px,1fr) minmax(90px,.8fr) minmax(140px,1.2fr);gap:8px;align-items:center;width:100%;padding:10px 16px;border:none;border-bottom:1px solid #f1f5f9;border-left:3px solid transparent;background:#fff;text-align:left;cursor:pointer;transition:background .1s}.hsat-row--compact{grid-template-columns:minmax(0,1.6fr) 64px minmax(72px,.9fr);padding:9px 16px}.hsat-row:last-child{border-bottom:none}.hsat-row:hover{background:#f8fafc}.hsat-row.is-selected{background:#eff6ff;border-left-color:#2563eb}.hsat-row__patient{display:flex;align-items:center;gap:10px;min-width:0}.hsat-avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.02em}.hsat-row--compact .hsat-avatar{width:30px;height:30px;font-size:11px}.hsat-avatar--blue{background:#dbeafe;color:#1d4ed8}.hsat-avatar--teal{background:#ccfbf1;color:#0f766e}.hsat-avatar--violet{background:#ede9fe;color:#6d28d9}.hsat-avatar--rose{background:#ffe4e6;color:#be123c}.hsat-avatar--amber{background:#fef3c7;color:#b45309}.hsat-row__text,.hsat-row__cell{display:flex;flex-direction:column;gap:2px;min-width:0}.hsat-row__title{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:13px;font-weight:500;color:#0f172a;line-height:1.3}.hsat-row__title .patient-chart-link{font-weight:500;color:#005cbb;text-decoration:underline;text-underline-offset:2px}.hsat-row__title .patient-chart-link:hover{color:#004494}.hsat-row__sub{font-size:11px;color:#94a3b8;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hsat-row__status{min-width:0}.hsat-row__results{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hsat-row__chips{display:flex;flex-wrap:wrap;gap:4px}.hsat-row__more{font-size:11px;font-weight:500;color:#64748b}.hsat-flag-pill{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:9px;font-weight:500}.sleep-study-detail{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1 1 0;max-height:100%;overflow:hidden;background:#fff}.sleep-study-split--detail .sleep-study-detail{flex:0 0 60%;min-width:360px;min-height:0;max-height:100%;border-left:1px solid #e5e7eb}.sleep-study-split--detail.sleep-study-split--sized .sleep-study-detail{flex:0 0 auto;min-height:0;max-height:100%}.sleep-study-detail>.pt-detail__tabs{flex-shrink:0}.sleep-study-detail__header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid #eef2f7}.sleep-study-detail__header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.sleep-study-detail__identity{display:flex;align-items:center;gap:10px;min-width:0}.sleep-study-detail__titles{min-width:0}.sleep-study-detail__name{margin:0;display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:16px;font-weight:500;letter-spacing:-.01em;color:#0f172a;line-height:1.25}.sleep-study-detail__name .patient-chart-link{font-weight:inherit;color:#005cbb;text-decoration:underline;text-underline-offset:2px}.sleep-study-detail__name .patient-chart-link:hover{color:#004494}.sleep-study-detail__sub{margin:3px 0 0;font-size:12px;color:#64748b}.sleep-study-detail__close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:22px;line-height:1;cursor:pointer;flex-shrink:0}.sleep-study-detail__close:hover{background:#f1f5f9;color:#0f172a}.sleep-study-detail__back{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px 0 8px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#005cbb;font-size:12px;font-weight:500;line-height:1;cursor:pointer;flex-shrink:0;white-space:nowrap}.sleep-study-detail__back:hover{background:#eff6ff;border-color:#93c5fd;color:#004494}.hsat-stat-action-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid #e2e8f0;border-radius:5px;background:#fff;color:#64748b;cursor:pointer;text-decoration:none}button.hsat-stat-action-btn:hover,a.hsat-stat-action-btn:hover{background:#f8fafc;color:#1d4ed8;border-color:#cbd5e1}.sleep-study-detail__body{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:14px 16px 16px;background:#f8fafc}.sleep-study-detail__body:has(.hsat-config){padding:0 20px 16px;background:#fff}.hsat-config{display:flex;flex-direction:column}.hsat-config__section{padding:12px 0;border-top:1px solid #e5e7eb}.hsat-config__section:first-child{padding-top:14px;border-top:none}.hsat-config__title{margin:0 0 8px;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.hsat-config__kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px 20px;margin:0}.hsat-config__row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.hsat-config__row dt{font-size:11px;font-weight:400;color:#94a3b8;line-height:1.3}.hsat-config__row dd{margin:0;font-size:13px;font-weight:400;color:#0f172a;line-height:1.35;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.hsat-config__row dd a{display:inline;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.hsat-config__row dd.is-warn{color:#c2410c}.sleep-study-detail .hsa-results-metrics{padding:4px 14px 8px}.hsa-results-metrics.hsat-config{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.hsa-results-metrics .hsat-config__section{margin:0;padding:10px 12px;border:1px solid #e8ecf1;border-radius:6px;background:#fff}.hsa-results-metrics .hsat-config__section:first-child{padding-top:10px}.hsa-results-metrics .hsat-config__section--wide{grid-column:1 / -1}.hsa-results-metrics .hsat-config__title{margin-bottom:6px}.hsa-results-metrics .hsat-config__kv{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px 14px}.hsa-results-metrics .hsat-config__section--wide .hsat-config__kv{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.sleep-study-detail .hsa-report-frame iframe{height:420px}@media (max-width: 1100px){.sleep-study-split--detail.sleep-study-split--sized .hsat-roster{flex-basis:auto;min-width:240px}}@media (max-width: 860px){.sleep-study-split--detail{flex-direction:column}.sleep-study-split--detail .hsat-roster{flex:0 0 38%;max-width:none;min-width:0;border-right:none;border-bottom:1px solid #e5e7eb}.hsat-resize-handle{display:none}.sleep-study-split--detail .sleep-study-detail{flex:1 1 auto!important;width:100%!important;min-width:0;max-width:none;border-left:none}.hsat-ahi-chips{display:none}}.cpap-page{display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden}.cpap-page .page-header-block{flex-shrink:0;margin-bottom:0;padding-bottom:10px}.cpap-toolbar-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.cpap-ecn-search{width:min(200px,28vw);min-width:140px;flex-shrink:0}.cpap-selection-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:500}.cpap-selection-chip__clear{height:22px;padding:0 8px;border:none;border-radius:999px;background:#ffffffbf;color:#1d4ed8;font-size:11px;font-weight:500;cursor:pointer}.cpap-selection-chip__clear:hover{background:#fff}.cpap-filter-btn{display:inline-flex;align-items:center;gap:6px}.cpap-filter-btn__value{color:#005cbb;font-weight:500}.cpap-filter-btn.is-active-filter{border-color:#bbdefb;background:#e3f2fd;color:#1976d2}.cpap-menu{position:relative}.cpap-menu__panel{position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:200px;padding:6px 0;border:1px solid #e2e8f0;border-radius:6px;background:#fff;box-shadow:0 8px 24px #0f172a1f}.cpap-menu__panel--left{right:auto;left:0}.cpap-menu__panel button{display:block;width:100%;padding:8px 14px;border:none;background:transparent;text-align:left;font-size:13px;color:#334155;cursor:pointer}.cpap-menu__panel button:hover:not(:disabled){background:#f8fafc}.cpap-menu__panel button:disabled{color:#94a3b8;cursor:default}.cpap-menu__panel--filter{min-width:240px;padding:10px 12px}.cpap-filter-option{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cpap-filter-divider{height:1px;margin:6px 0;background:#e2e8f0}.cpap-split{display:flex;min-height:0;flex:1 1 0;overflow:hidden;margin-top:4px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 2px #0f172a0f}.cpap-roster{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;overflow:hidden;background:#fff}.cpap-split--detail .cpap-roster{flex:1 1 auto;min-width:280px;border-right:none}.cpap-split.is-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cpap-split.is-maximized .cpap-roster{flex:0 0 280px;max-width:280px;min-width:280px}.cpap-resize-handle{position:relative;flex:0 0 6px;width:6px;margin:0 -3px;cursor:col-resize;z-index:3;background:transparent;touch-action:none}.cpap-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:#e5e7eb;transition:background-color .15s ease,width .15s ease}.cpap-resize-handle:hover:before,.cpap-resize-handle:focus-visible:before,.cpap-split.is-resizing .cpap-resize-handle:before{width:3px;background:#3b82f6}.cpap-resize-handle:focus-visible{outline:none}.cpap-roster__banner{flex-shrink:0;padding:8px 12px 0}.cpap-table-wrap{position:relative;flex:1;min-height:0;overflow:auto}.cpap-table-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#ffffffa6;pointer-events:none}.cpap-spinner{width:28px;height:28px;border:2.5px solid #dbeafe;border-top-color:#005cbb;border-radius:50%;animation:cpap-spin .7s linear infinite}@keyframes cpap-spin{to{transform:rotate(360deg)}}.cpap-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.cpap-table thead th{position:sticky;top:0;z-index:1;padding:7px 10px;border-bottom:1px solid #e2e8f0;background:#f8fafc;text-align:left;vertical-align:middle;font-weight:500;color:#64748b;white-space:nowrap}.cpap-table thead th small{font-weight:400;color:#94a3b8}.cpap-table tbody td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.cpap-table tbody tr{cursor:pointer}.cpap-table tbody tr:hover{background:#f8fafc}.cpap-table tbody tr.is-selected{background:#eff6ff}.cpap-table tbody tr.is-detail-active{background:#dbeafe}.cpap-table tbody tr.has-mapping-warning{background:#fffbeb}.cpap-table tbody tr.has-mapping-warning.is-selected,.cpap-table tbody tr.has-mapping-warning.is-detail-active{background:#fef3c7}.cpap-table tbody tr.has-rm>td:first-child{box-shadow:inset 3px 0 #22c55e}.cpap-table tbody tr.has-mapping-error>td:first-child{box-shadow:inset 3px 0 #ef4444}.cpap-table thead th.cpap-table__check,.cpap-table tbody td.cpap-table__check{width:32px;padding-left:12px;padding-right:0;text-align:left;vertical-align:middle;line-height:0}.cpap-table__check input[type=checkbox]{display:block;width:14px;height:14px;margin:0;padding:0;accent-color:#005cbb}.cpap-table__patient{width:26%}.cpap-table__metric{width:16%}.cpap-roster--compact .cpap-table__patient{width:auto}.cpap-roster--compact .cpap-table__metric{width:28%}.cpap-table__action{width:44px;text-align:center}.cpap-patient-cell{display:flex;align-items:center;gap:10px;min-width:0}.cpap-patient-cell__body{min-width:0;flex:1}.cpap-patient-cell__title{display:flex;align-items:center;gap:6px;min-width:0}.cpap-patient-cell__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#0f172a;line-height:1.3}.cpap-patient-cell__name .is-override,.cpap-patient-cell__name .patient-chart-link .is-override{color:#c2410c}.cpap-map-indicator,.cpap-force-sync-tag{flex-shrink:0}.cpap-map-indicator{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;vertical-align:middle;flex-shrink:0}.cpap-map-indicator.is-mapped{background:#22c55e}.cpap-map-indicator.is-unmapped{background:#ef4444}.cpap-force-sync-tag{display:inline-flex;align-items:center;height:16px;margin-left:6px;padding:0 5px;border-radius:3px;background:#e3f2fd;color:#005cbb;font-size:10px;font-weight:600;vertical-align:middle}.cpap-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:600;letter-spacing:.02em;flex-shrink:0;line-height:1}.cpap-patient-meta{margin-top:2px;font-size:11px;line-height:1.25;color:#9ca3af}.cpap-patient-meta__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cpap-patient-meta__rm{font-size:10px;font-weight:500}.cpap-patient-meta__rm.is-enrolled{color:#2563eb}.cpap-patient-meta__rm.is-not-enrolled{color:#d1d5db}.cpap-patient-meta__ecn{display:block;margin-top:1px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#9ca3af}.cpap-summary-cell{display:flex;flex-direction:row;align-items:center;gap:8px;width:-moz-max-content;width:max-content;max-width:100%;font-size:12px;line-height:1.35;color:#111827}.cpap-summary-cell__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:#cffafe;color:#0891b2;flex-shrink:0}.cpap-summary-cell.is-warn .cpap-summary-cell__icon{background:#fbe8ec;color:#ff0101}.cpap-summary-cell__data{display:grid;gap:1px;min-width:0}.cpap-summary-cell__row{display:grid;grid-template-columns:56px auto;-moz-column-gap:8px;column-gap:8px;align-items:baseline}.cpap-summary-cell__label{color:#9ca3af;white-space:nowrap;font-weight:400}.cpap-summary-cell__value{font-variant-numeric:tabular-nums;white-space:nowrap;color:#111827}.cpap-summary-cell.is-warn .cpap-summary-cell__value,.cpap-summary-cell.is-warn .cpap-summary-cell__row.is-warn .cpap-summary-cell__label,.cpap-summary-cell__row.is-warn .cpap-summary-cell__value,.cpap-summary-cell__row.is-warn .cpap-summary-cell__label{color:#ff0101}.cpap-summary-cell--empty{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:auto}.cpap-summary-cell__warn{color:#ff0101;font-weight:400;white-space:nowrap;font-size:12px}.cpap-summary-cell__update{padding:0;border:none;background:transparent;color:#005cbb;font-size:12px;line-height:1.2;cursor:pointer}.cpap-summary-cell__update:hover:not(:disabled){text-decoration:underline}.cpap-summary-cell__update:disabled{opacity:.5;cursor:default}.cpap-summary-cell__muted{color:#d1d5db}.cpap-row-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#64748b;cursor:pointer;font-size:16px;line-height:1}.cpap-row-action:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.cursor-paginator{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:12px;color:#64748b;flex-shrink:0}.cursor-paginator__actions{display:flex;gap:4px}.cpap-detail{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;overflow:hidden;border-left:1px solid #e5e7eb}.cpap-detail__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.cpap-detail__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.cpap-detail__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.cpap-detail__icon-btn:hover{background:#f1f5f9;color:#0f172a}.cpap-detail__identity{display:flex;align-items:center;gap:10px;min-width:0}.cpap-detail__titles{min-width:0}.cpap-detail__title-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.cpap-detail__name{margin:0;font-size:14px;font-weight:500;line-height:1.2;color:#0f172a}.cpap-detail__name.is-warn{color:#dc2626}.cpap-detail__name .patient-chart-link{font:inherit;font-weight:inherit}.cpap-detail__meta{margin:2px 0 0;font-size:11px;line-height:1.3;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpap-detail__badge{border-radius:4px;font-size:10px;font-weight:500;letter-spacing:.02em;line-height:1.2;padding:1px 6px;text-transform:uppercase;white-space:nowrap}.cpap-detail__badge.is-success{background:#dcfce7;color:#166534}.cpap-detail__badge.is-error{background:#fee2e2;color:#991b1b}.cpap-detail__badge.is-info{background:#dbeafe;color:#1e40af}.cpap-detail__badge.is-warn{background:#fef3c7;color:#92400e}.cpap-detail__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;font-size:20px;line-height:1;color:#64748b;cursor:pointer;flex-shrink:0}.cpap-detail__close:hover{background:#f1f5f9;color:#0f172a}.cpap-detail__stats{flex-shrink:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #eef2f7}.cpap-detail__stat{display:flex;flex-direction:column;gap:2px;min-width:0}.cpap-detail__stat-label{font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.cpap-detail__stat-value{font-size:13px;font-weight:500;color:#0f172a;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpap-detail__body{flex:1;min-height:0;overflow:auto;padding:12px;background:#f8fafc}.cpap-detail__stack,.cpap-clinical{display:flex;flex-direction:column;gap:12px}.cpap-clinical__period{margin:0;font-size:12px;color:#64748b}.cpap-clinical__action{padding:12px 14px;border:1px solid #bfdbfe;border-radius:8px;background:linear-gradient(180deg,#eff6ff,#f8fbff)}.cpap-clinical__action-kicker{font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#005cbb;margin-bottom:4px}.cpap-clinical__action-title{margin:0 0 4px;font-size:15px;font-weight:500;line-height:1.3;color:#0f172a}.cpap-clinical__action-note{margin:0;font-size:12px;line-height:1.45;color:#475569}.cpap-clinical__link{display:inline-block;margin-top:10px;font-size:12px;font-weight:500;color:#005cbb;text-decoration:none}.cpap-clinical__link:hover{text-decoration:underline}.cpap-clinical__status{display:flex;flex-wrap:wrap;gap:6px}.cpap-clinical__pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:4px;font-size:11px;font-weight:500;line-height:1.3}.cpap-clinical__pill.is-primary{background:#e3f2fd;color:#005cbb}.cpap-clinical__pill.is-neutral{background:#f1f5f9;color:#475569}.cpap-clinical__pill.is-warning{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.cpap-clinical__vitals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cpap-clinical__vital{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.cpap-clinical__vital.is-good{background:#f7fbf8;border-color:#c8e6d3}.cpap-clinical__vital.is-watch{background:#fffaf3;border-color:#f0d9b0}.cpap-clinical__vital.is-risk{background:#fff7f7;border-color:#efc5c5}.cpap-clinical__vital.is-muted{background:#fff}.cpap-clinical__vital-label{font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.cpap-clinical__vital-value{margin-top:2px;font-size:20px;font-weight:500;line-height:1.15;color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.cpap-clinical__vital-hint{margin-top:3px;font-size:11px;color:#64748b;line-height:1.3}.cpap-clinical__secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:10px 12px;border:1px solid #eef2f7;border-radius:8px;background:#fff}.cpap-clinical__fact{display:flex;flex-direction:column;gap:1px;min-width:0}.cpap-clinical__fact-label{font-size:10px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:#94a3b8}.cpap-clinical__fact-value{font-size:13px;font-weight:500;color:#0f172a;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.cpap-clinical__fact-value.is-mono{font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.cpap-clinical__fact-value.is-good{color:#2e7d32}.cpap-clinical__fact-value.is-watch{color:#ef6c00}.cpap-clinical__fact-value.is-risk{color:#c62828}.cpap-clinical__window-hint{margin:0;font-size:12px;color:#64748b;line-height:1.4}.cpap-clinical__pred{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.cpap-clinical__pred-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.cpap-clinical__pred-head h3{margin:0;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.cpap-clinical__pred-score{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.cpap-clinical__pred-score.is-success{background:#e8f5e9;color:#2e7d32}.cpap-clinical__pred-score.is-info{background:#e3f2fd;color:#1565c0}.cpap-clinical__pred-score.is-warning{background:#fff3e0;color:#ef6c00}.cpap-clinical__pred-score.is-danger{background:#ffebee;color:#c62828}.cpap-clinical__pred-na{font-size:12px;color:#94a3b8}.cpap-clinical__pred-driver{margin:0;font-size:13px;color:#334155;line-height:1.4}.cpap-clinical__muted{margin:0;font-size:12px;color:#64748b}.cpap-clinical__footnote{margin:6px 0 0;font-size:11px;color:#94a3b8;line-height:1.4}.cpap-clinical__section h3{margin:0 0 6px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.cpap-clinical__section p{margin:0;font-size:13px;line-height:1.45;color:#334155}.cpap-clinical__causes{margin:0;padding-left:18px;font-size:12px;line-height:1.45;color:#475569}.cpap-clinical__causes li+li{margin-top:4px}.cpap-clinical__card{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden}.cpap-clinical__card--glass{border-color:#e2e8f0e6;background:linear-gradient(165deg,#fffffff5,#f8fafce6);box-shadow:0 1px 2px #0f172a0a,0 6px 16px #0f172a0a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cpap-clinical__card--glass .cpap-clinical__card-title{background:linear-gradient(180deg,#ffffffb3,#f8fafc8c);border-bottom-color:#f1f5f9f2}.cpap-clinical__card--glass .cpap-clinical__kv{border-top-color:#f1f5f9f2}.cpap-clinical__card-title{margin:0;padding:8px 12px;border-bottom:1px solid #f1f5f9;font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:#64748b;background:#fafafa}.cpap-clinical__bars{display:flex;flex-direction:column;gap:10px;padding:12px}.cpap-clinical__bar-meta{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:8px;margin-bottom:4px;font-size:12px;color:#475569}.cpap-clinical__bar-label{min-width:0}.cpap-clinical__bar-pct{justify-self:center;font-variant-numeric:tabular-nums;font-weight:500;color:#0f172a}.cpap-clinical__bar-count{justify-self:end;font-variant-numeric:tabular-nums;color:#64748b}.cpap-clinical__bar-track{height:6px;border-radius:999px;background:#eef2f7;overflow:hidden}.cpap-clinical__bar-fill{height:100%;border-radius:999px;background:#94a3b8}.cpap-clinical__bar-fill.is-good{background:#4caf7a}.cpap-clinical__bar-fill.is-watch{background:#e0a04a}.cpap-clinical__bar-fill.is-risk{background:#c75b5b}.cpap-clinical__kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:4px 0;border-top:1px solid #f1f5f9}.cpap-clinical__kv--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cpap-clinical__kv>div{display:flex;flex-direction:column;gap:2px;padding:8px 12px;min-width:0}.cpap-clinical__kv dt{margin:0;font-size:10px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:#94a3b8}.cpap-clinical__kv dd{margin:0;font-size:13px;font-weight:500;color:#0f172a;font-variant-numeric:tabular-nums}.cpap-clinical__kv dd.is-good{color:#2e7d32}.cpap-clinical__kv dd.is-watch{color:#ef6c00}.cpap-clinical__kv dd.is-risk{color:#c62828}.cpap-clinical__kv dd.is-mono,.cpap-clinical__kv .is-mono{font-size:11px;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.cpap-clinical__kv-span{grid-column:1 / -1}@media (min-width: 640px){.cpap-clinical__vitals,.cpap-clinical__secondary{grid-template-columns:repeat(4,minmax(0,1fr))}}.cpap-fact-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.cpap-fact-card__title{margin:0;padding:8px 12px;border-bottom:1px solid #f1f5f9;font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:#64748b;background:#fafafa}.cpap-fact-list{list-style:none;margin:0;padding:0}.cpap-fact-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid #eef2f7;font-size:12px;line-height:1.4}.cpap-fact-list li:last-child{border-bottom:none}.cpap-fact__label{flex-shrink:0;color:#9ca3af}.cpap-fact__value{min-width:0;text-align:right;color:#0f172a;overflow-wrap:anywhere;word-break:break-word}.cpap-fact-list li.is-warn .cpap-fact__value{color:#b45309}.cpap-fact__override{display:block;color:#c2410c;font-weight:500}.cpap-fact__original{display:block;margin-top:1px;color:#9ca3af;font-size:11px}.cpap-fact__mono{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.cpap-history{display:flex;flex-direction:column;gap:10px}.cpap-history-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px}.cpap-history-card__header{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:12px;color:#6b7280}.cpap-history-card__grid{display:grid;gap:10px;margin:0}.cpap-history-card__grid dt{margin:0 0 2px;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.cpap-history-card__grid dd{margin:0;font-size:13px}.cpap-history-card__value{color:#b45309;font-weight:500}.cpap-history-card__msg{margin:10px 0 0;padding-top:10px;border-top:1px solid #f3f4f6;font-size:13px;font-style:italic;line-height:1.4;color:#374151}.cpap-detail__empty{margin:0;padding:28px 16px;text-align:center;font-size:13px;color:#6b7280}.cpap-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a73}.cpap-modal{width:min(480px,100%);max-height:90vh;overflow:auto;border-radius:8px;background:#fff;box-shadow:0 16px 48px #0f172a33}.cpap-modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e2e8f0}.cpap-modal__header h2{margin:0;font-size:16px;font-weight:500}.cpap-modal__close{border:none;background:transparent;font-size:22px;cursor:pointer;color:#64748b;line-height:1}.cpap-modal__info{margin:0;padding:12px 16px;background:#f8fafc;font-size:12px;color:#475569;line-height:1.45}.cpap-modal__form{display:flex;flex-direction:column;gap:12px;padding:16px}.cpap-modal__form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.cpap-modal__form input,.cpap-modal__form textarea{padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.cpap-modal__form input:focus,.cpap-modal__form textarea:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f626}.cpap-modal__error{margin:0;color:#dc2626;font-size:12px}.cpap-modal__footer{display:flex;gap:8px;padding-top:4px}.cpap-btn{height:32px;padding:0 12px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;font-size:13px;color:#333;cursor:pointer;white-space:nowrap}.cpap-btn:hover:not(:disabled){background:#fafafa}.cpap-btn:disabled{opacity:.55;cursor:default}.cpap-btn--ghost{background:transparent}.cpap-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#0f172a59}.cpap-update-panel{width:min(360px,90vw);padding:20px;border-radius:8px;background:#fff;text-align:center}.cpap-update-panel__title{margin:0 0 8px;font-size:16px;font-weight:500}.cpap-update-panel__bar{height:8px;margin:12px 0;border-radius:999px;background:#e2e8f0;overflow:hidden}.cpap-update-panel__bar div{height:100%;background:#005cbb;transition:width .2s ease}@media (max-width: 900px){.cpap-split--detail .cpap-roster,.cpap-resize-handle{display:none}.cpap-split--detail .cpap-detail{flex:1 1 auto!important;width:100%!important;min-width:0;max-width:none;border-left:none}.cpap-detail__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.summary-report__canvas{background:#f3f4f6;padding:1rem}.chart-canvas-container{display:block;min-height:200px;padding:.75rem}.usage-timeline-chart{min-height:280px}.summary-report__box-stack{display:flex;flex-direction:column;gap:12px;padding:12px 0}.summary-report__stat-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.summary-report__stat-box-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px 12px}.summary-report__device-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.summary-report__device-info{display:flex;flex-direction:column;gap:2px;min-width:0}.summary-report__stat-box-title{color:#111827;font-size:.8125rem;font-weight:500;line-height:1.2;margin:0}.summary-report__device-sn{color:#4b5563;font-size:.6875rem;font-weight:500;white-space:nowrap}.summary-report__report-period-block{display:flex;flex-direction:column;flex-shrink:0;gap:2px;text-align:right}.summary-report__report-period{color:#111827;font-size:.8125rem;font-weight:500;line-height:1.2;margin:0;white-space:nowrap}.summary-report__report-summary{color:#6b7280;font-size:.6875rem;font-weight:400;margin:0;white-space:nowrap}.summary-report__report-summary-percent{color:#374151;font-weight:500}.summary-report__stat-box-body{display:flex;flex-direction:column;gap:10px;padding:10px 12px 12px}.summary-report__therapy-body{font-size:.75rem;gap:0;padding:4px 0}.summary-report__therapy-row{align-items:center;border-bottom:1px solid #e5e7eb;color:#111827;display:flex;font-size:.75rem;gap:16px;line-height:1.5;min-height:36px;padding:10px 12px}.summary-report__therapy-row:last-child{border-bottom:0}.summary-report__therapy-row-label{flex:1.1;font-weight:500;min-width:110px}.summary-report__therapy-metric{align-items:baseline;display:inline-flex;flex:1;gap:4px;min-width:0;white-space:nowrap}.summary-report__therapy-metric label{font-weight:500}.summary-report__therapy-row--inline{gap:6px}.summary-report__therapy-row--inline .summary-report__therapy-row-label{flex:0 1 auto}.summary-report__therapy-row--inline>span:last-child{flex:0 0 auto}@media (max-width: 720px){.summary-report__therapy-row{flex-wrap:wrap;gap:8px 12px}.summary-report__therapy-row-label{flex:1 1 100%;min-width:0}.summary-report__therapy-metric{flex:1 1 calc(50% - 12px);min-width:120px;white-space:normal}}.summary-report__stat-metrics{display:grid;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-report__stat-metrics--in-box{margin-bottom:0}.summary-report__usage-timeline-header{align-items:center;display:flex;gap:8px;justify-content:space-between;width:100%}.summary-report__usage-legend{display:flex;flex-shrink:0;gap:12px}.summary-report__usage-legend-item{align-items:center;color:#4b5563;display:inline-flex;font-size:.6875rem;font-weight:400;gap:4px;white-space:nowrap}.summary-report__usage-legend-swatch{border-radius:2px;flex-shrink:0;height:10px;width:10px}.summary-report__usage-legend-swatch--compliant{background:#a7c898}.summary-report__usage-legend-swatch--non-compliant{background:#fe777b}.summary-report__stat-chart-label{color:#6b7280;font-size:.6875rem;font-weight:500;margin:0}.summary-report__stat-chart-label span{color:#9ca3af;font-weight:400}.summary-report__stat-metric{align-items:center;background:#f9fafb;border:1px solid #f3f4f6;border-radius:4px;display:flex;justify-content:space-between;gap:6px;line-height:1.2;min-height:28px;min-width:0;padding:3px 8px}.summary-report__stat-metric.is-hero{background:#f5f3ff;border-color:#ddd6fe}.summary-report__stat-metric.is-accent.is-pressure{background:#eff6ff;border-color:#bfdbfe}.summary-report__stat-metric.is-accent.is-leak{background:#fffbeb;border-color:#fde68a}.summary-report__stat-metric.is-hero.is-usage{background:#f0fdf4;border-color:#bbf7d0}.summary-report__stat-metric.is-accent.is-usage-good{background:#f0fdf4;border-color:#86efac}.summary-report__stat-metric.is-accent.is-usage-low{background:#fef2f2;border-color:#fecaca}.summary-report__stat-metric.is-accent.is-usage-unused{background:#fff7ed;border-color:#fdba74}.summary-report__stat-metric.is-ai,.summary-report__stat-metric.is-hi{display:grid;gap:4px;grid-template-columns:8px 1fr auto}.summary-report__stat-swatch{border-radius:2px;height:8px;width:8px}.summary-report__stat-metric.is-ai .summary-report__stat-swatch{background:#8e62a1}.summary-report__stat-metric.is-hi .summary-report__stat-swatch{background:#bc74dc}.summary-report__stat-label{color:#6b7280;font-size:.625rem;font-weight:500;white-space:nowrap}.summary-report__stat-metric.is-hero .summary-report__stat-label{color:#6d21a8;font-weight:500}.summary-report__stat-metric.is-hero.is-usage .summary-report__stat-label{color:#166534}.summary-report__stat-metric.is-hero.is-usage .summary-report__stat-value{color:#14532d}.summary-report__stat-metric.is-accent.is-pressure .summary-report__stat-label{color:#1d4ed8}.summary-report__stat-metric.is-accent.is-leak .summary-report__stat-label{color:#b45309}.summary-report__stat-metric.is-accent.is-usage-good .summary-report__stat-label{color:#15803d}.summary-report__stat-metric.is-accent.is-usage-good .summary-report__stat-value{color:#166534}.summary-report__stat-metric.is-accent.is-usage-low .summary-report__stat-label{color:#b91c1c}.summary-report__stat-metric.is-accent.is-usage-low .summary-report__stat-value{color:#991b1b}.summary-report__stat-metric.is-accent.is-usage-unused .summary-report__stat-label{color:#c2410c}.summary-report__stat-metric.is-accent.is-usage-unused .summary-report__stat-value{color:#9a3412}.summary-report__stat-value{color:#111827;font-size:.75rem;font-weight:500;text-align:right;white-space:nowrap}.summary-report__stat-metric.is-hero .summary-report__stat-value{color:#4c1d95;font-size:.8125rem;font-weight:500}.summary-report__stat-metric.is-accent.is-pressure .summary-report__stat-value{color:#1e3a8a}.summary-report__stat-metric.is-accent.is-leak .summary-report__stat-value{color:#92400e}.summary-report__stat-metric.is-accent .summary-report__stat-unit{color:inherit;opacity:.75}.summary-report__stat-unit{color:#6b7280;font-size:.5625rem;font-weight:400;margin-left:3px}.summary-report__stat-metric.is-hero .summary-report__stat-unit{color:#7c3aed}.summary-report__stat-metric.is-hero.is-usage .summary-report__stat-unit{color:#16a34a}.summary-report__stat-chart-canvas{display:block;height:160px;margin:2px 0 0}.summary-report__stat-chart-canvas--timeline{height:auto;min-height:280px}@media (max-width: 900px){.summary-report__stat-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.cpap-detail__panel .summary-report__canvas{padding:0;background:transparent}.cpap-detail__panel .summary-report__box-stack{padding:0}.cpap-detail__charts-header{align-items:center;background:#fafafa;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;padding:8px 12px}.cpap-clinical__card--glass .cpap-detail__charts-header{background:linear-gradient(180deg,#ffffffb3,#f8fafc8c);border-bottom-color:#f1f5f9f2}.cpap-detail__charts-header .cpap-clinical__card-title{background:transparent;border:none;flex:1;margin:0;min-width:0;padding:0}.cpap-detail__charts-refresh{align-items:center;align-self:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#475569;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:500;gap:4px;height:24px;letter-spacing:normal;line-height:1;padding:0 8px;text-transform:none}.cpap-detail__charts-refresh-icon{display:inline-flex;font-size:13px;line-height:1}.cpap-detail__charts-refresh.is-fetching .cpap-detail__charts-refresh-icon{animation:cpap-charts-refresh-spin .75s linear infinite}@keyframes cpap-charts-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cpap-detail__charts-refresh:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.cpap-detail__charts-refresh:disabled{cursor:not-allowed;opacity:.55}.cpap-clinical__card--glass .cpap-detail__charts-body{padding:0}.cpap-detail__charts-body.is-fetching{opacity:.72;pointer-events:none;transition:opacity .15s ease}.cpap-detail__charts-body .cpap-detail__charts-error{margin:8px 12px 0}.dashboard-page{min-height:100%;color:#333;font-size:13px}.dashboard-page .summary-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:10px;margin-bottom:12px}#compliance-dashboard .summary-metrics-row{margin-bottom:24px}.dashboard-page .metric-card{background:linear-gradient(165deg,#fffffffa,#f8fafcf0);border:1px solid rgb(226 232 240 / .9);border-radius:8px;padding:8px 12px;box-shadow:0 1px 2px #0f172a0a,0 6px 14px #0f172a09;display:flex;flex-direction:column;gap:6px;min-height:0;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.dashboard-page .metric-card:hover{filter:brightness(.985)}.dashboard-page .metric-card:focus-visible{outline:2px solid #005cbb;outline-offset:1px}.dashboard-page .metric-card.is-selected{outline:none;border-color:#90caf9;background:linear-gradient(165deg,#eef6ff,#f8fbff);box-shadow:0 0 0 1px #90caf98c,0 6px 16px #005cbb14}.dashboard-page .metric-card.is-static{cursor:default}.dashboard-page .metric-card.is-static:hover{filter:none}.dashboard-page .metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dashboard-page .metric-title{display:flex;align-items:center;gap:8px;min-width:0}.dashboard-page .metric-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.dashboard-page .metric-icon-wrapper{width:26px;height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-page .metric-icon-wrapper.primary{color:#1565c0;background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.dashboard-page .metric-icon-wrapper.success{color:#2e7d32;background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.dashboard-page .metric-icon-wrapper.warning{color:#ef6c00;background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.dashboard-page .metric-icon-wrapper.danger{color:#c62828;background:linear-gradient(135deg,#ffebee,#ffcdd2)}.dashboard-page .metric-icon-wrapper.info{color:#1565c0;background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.dashboard-page .metric-status{font-size:10px;font-weight:500;padding:1px 6px;border-radius:3px;line-height:1.4;flex-shrink:0}.dashboard-page .metric-status.success{color:#388e3c;background:#e8f5e9}.dashboard-page .metric-status.warning{color:#f57c00;background:#fff3e0}.dashboard-page .metric-status.danger{color:#d32f2f;background:#ffebee}.dashboard-page .metric-status.info{color:#1976d2;background:#e3f2fd}.dashboard-page .metric-label{font-size:10px;font-weight:500;color:#757474;letter-spacing:.4px;text-transform:uppercase;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.dashboard-page .metric-value{font-size:20px;font-weight:500;line-height:1.15;flex-shrink:0}.dashboard-page .metric-meta{margin-top:0;font-size:11px;line-height:1.25;color:#757474;text-align:right;min-width:0}.dashboard-page .metric-action{font-size:10px;line-height:1.3;color:#757474;margin-top:2px}.dashboard-page .cd-cohort-panel .card-body{padding:12px 15px}.dashboard-page .cd-cohort-panel .cohort-filter-row{margin-bottom:0}.dashboard-page .cd-cohort-empty{margin:0;grid-column:1 / -1;font-size:12px;color:#64748b}.dashboard-page .cohort-filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(132px,100%),1fr));gap:8px;margin-bottom:12px}.dashboard-page .cohort-card{display:flex;flex-direction:column;gap:2px;min-height:76px;padding:10px 12px;border:1px solid rgb(226 232 240 / .9);border-radius:8px;background:linear-gradient(165deg,#fffffff5,#f8fafce6);box-shadow:0 1px 2px #0f172a0a,0 6px 16px #0f172a0a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:left;color:inherit;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.dashboard-page .cohort-card:hover{border-color:#cbd5e1;filter:brightness(.99)}.dashboard-page .cohort-card:focus-visible{outline:2px solid #005cbb;outline-offset:1px}.dashboard-page .cohort-card.is-selected{border-color:#90caf9;background:linear-gradient(165deg,#eef6ff,#f8fbff);box-shadow:0 0 0 1px #90caf98c,0 6px 18px #005cbb14}.dashboard-page .cohort-card-label-row{display:flex;align-items:center;gap:6px;min-width:0}.dashboard-page .cohort-card-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#94a3b8;box-shadow:0 0 0 2px #94a3b833}.dashboard-page .cohort-card-label{font-size:11px;font-weight:500;color:#64748b;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-page .cohort-card-value{font-size:22px;font-weight:600;line-height:1.15;color:#0f172a;letter-spacing:-.02em}.dashboard-page .cohort-card-action{font-size:10px;line-height:1.3;color:#94a3b8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:auto}.dashboard-page .cohort-card.is-selected .cohort-card-label,.dashboard-page .cohort-card.is-selected .cohort-card-action{color:#475569}.dashboard-page .cohort-tone-emerald{background:linear-gradient(165deg,#f3faf6,#fff 70%)}.dashboard-page .cohort-tone-emerald .cohort-card-dot{background:#4caf7a;box-shadow:0 0 0 2px #4caf7a2e}.dashboard-page .cohort-tone-blue{background:linear-gradient(165deg,#f3f7ff,#fff 70%)}.dashboard-page .cohort-tone-blue .cohort-card-dot{background:#3b78e7;box-shadow:0 0 0 2px #3b78e72e}.dashboard-page .cohort-tone-amber{background:linear-gradient(165deg,#fffaf2,#fff 70%)}.dashboard-page .cohort-tone-amber .cohort-card-dot{background:#e0a04a;box-shadow:0 0 0 2px #e0a04a33}.dashboard-page .cohort-tone-red{background:linear-gradient(165deg,#fff6f6,#fff 70%)}.dashboard-page .cohort-tone-red .cohort-card-dot{background:#c75b5b;box-shadow:0 0 0 2px #c75b5b2e}.dashboard-page .cohort-tone-indigo{background:linear-gradient(165deg,#f5f6ff,#fff 70%)}.dashboard-page .cohort-tone-indigo .cohort-card-dot{background:#5c6bc0;box-shadow:0 0 0 2px #5c6bc02e}.dashboard-page .cohort-tone-slate{background:linear-gradient(165deg,#f7f9fb,#fff 70%)}.dashboard-page .cohort-tone-slate .cohort-card-dot{background:#8aa0b4;box-shadow:0 0 0 2px #8aa0b433}.dashboard-page .cohort-tone-cyan{background:linear-gradient(165deg,#f2fafb,#fff 70%)}.dashboard-page .cohort-tone-cyan .cohort-card-dot{background:#2a9dab;box-shadow:0 0 0 2px #2a9dab2e}.dashboard-page .cohort-card.cohort-tone-emerald.is-selected{background:linear-gradient(165deg,#eaf7ef,#f7fcf9);border-color:#a8d5b8;box-shadow:0 0 0 1px #a8d5b8b3,0 6px 18px #4caf7a1a}.dashboard-page .cohort-card.cohort-tone-blue.is-selected{background:linear-gradient(165deg,#e8f1ff,#f5f9ff);border-color:#90caf9;box-shadow:0 0 0 1px #90caf9b3,0 6px 18px #3b78e71a}.dashboard-page .cohort-card.cohort-tone-amber.is-selected{background:linear-gradient(165deg,#fff6e8,#fffbf5);border-color:#f0d0a0;box-shadow:0 0 0 1px #f0d0a0bf,0 6px 18px #e0a04a1a}.dashboard-page .cohort-card.cohort-tone-red.is-selected{background:linear-gradient(165deg,#ffefef,#fff8f8);border-color:#e3b0b0;box-shadow:0 0 0 1px #e3b0b0bf,0 6px 18px #c75b5b1a}.dashboard-page .cohort-card.cohort-tone-indigo.is-selected{background:linear-gradient(165deg,#eef0ff,#f8f9ff);border-color:#b0b8e0;box-shadow:0 0 0 1px #b0b8e0bf,0 6px 18px #5c6bc01a}.dashboard-page .cohort-card.cohort-tone-slate.is-selected{background:linear-gradient(165deg,#f1f4f7,#fafbfc);border-color:#c5ced6;box-shadow:0 0 0 1px #c5ced6cc,0 6px 18px #8aa0b41a}.dashboard-page .cohort-card.cohort-tone-cyan.is-selected{background:linear-gradient(165deg,#e8f7f9,#f5fcfd);border-color:#9fd4db;box-shadow:0 0 0 1px #9fd4dbbf,0 6px 18px #2a9dab1a}.dashboard-page .capacity-card,.dashboard-page .sidebar-card{background:linear-gradient(180deg,#fffffffa,#fafbfcf5);border:1px solid rgb(226 232 240 / .95);border-radius:8px;box-shadow:0 1px 2px #0f172a0a,0 8px 20px #0f172a0a;overflow:clip;margin-bottom:16px}.dashboard-page .card-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid rgb(240 242 245 / .95);background:linear-gradient(180deg,#fafbfc,#f5f7f9);gap:12px}.dashboard-page .card-header .card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;min-width:0;color:#111827}.dashboard-page .panel-header{padding:10px 15px;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:13px;font-weight:500;color:#111827}.dashboard-page .panel-count{margin-left:6px;font-weight:400;color:#757474}.dashboard-page .card-body{padding:15px}.dashboard-page .dashboard-table-wrap{overflow-x:auto}.dashboard-page .dashboard-table{width:100%;border-collapse:collapse;font-size:12px}.dashboard-page .dashboard-table th{text-align:left;padding:8px 12px;border-bottom:2px solid #e5e7eb;font-weight:500;color:#757474;white-space:nowrap;background:#fafafa}.dashboard-page .dashboard-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle;color:#333}.dashboard-page .dashboard-table tbody tr:hover{background:#f8fafc}.dashboard-page .dashboard-table .empty-row td{text-align:center;color:#757474;padding:24px 12px}.dashboard-page .cd-patient-cell{display:flex;align-items:center;gap:10px;min-width:0}.dashboard-page .cd-patient-cell .cpap-avatar--sm{width:28px;height:28px;font-size:10px}.dashboard-page .cd-patient-cell__body{display:flex;flex-direction:column;gap:1px;min-width:0}.dashboard-page .cd-patient-name-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;min-width:0}.dashboard-page .cd-patient-name{font-weight:500;color:#111827;line-height:1.25}.dashboard-page .cd-patient-name .patient-chart-link{font-weight:500}.dashboard-page .cd-patient-mrn{font-size:11px;color:#757474;line-height:1.25}.dashboard-page .cd-patient-airview{flex-shrink:0;color:#005cbb;text-decoration:none;font-size:11px;font-weight:500;line-height:1.25}.dashboard-page .cd-patient-airview:hover{text-decoration:underline}.dashboard-page .cd-empty-metrics{margin:24px 0;font-size:13px;color:#64748b}.dashboard-page .cd-patients-card .dashboard-table tbody tr{cursor:pointer}.dashboard-page .cd-patients-card .dashboard-table tbody tr:focus-visible{outline:2px solid #005cbb;outline-offset:-2px}.dashboard-page .cd-patients-card .dashboard-table tbody tr.is-selected{background:#eef5ff}.dashboard-page .cd-patients-card .dashboard-table tbody tr.is-selected:hover{background:#e3f0ff}.cd-cpap-slide{height:100%;min-height:0}.cd-cpap-slide .cpap-detail{height:100%;border-left:none}.dashboard-page .dashboard-table-note{font-size:11px;color:#757474;padding:8px 12px 12px;margin:0}.dashboard-page .cd-patients-card .header-search{min-width:280px}.dashboard-page .cd-patients-card .header-search input{min-width:280px;width:280px}.dashboard-page .archetype-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;margin-bottom:12px;border:1px solid rgb(226 232 240 / .9);background:#f8fafce6;box-shadow:inset 0 1px 2px #0f172a0a}.dashboard-page .archetype-segment{min-width:2px;padding:0;border:none;opacity:.92;cursor:pointer;transition:opacity .12s ease,box-shadow .12s ease}.dashboard-page .archetype-segment:hover:not(:disabled){opacity:1}.dashboard-page .archetype-segment:focus-visible{outline:2px solid #005cbb;outline-offset:-1px;z-index:1}.dashboard-page .archetype-segment.is-selected{opacity:1;box-shadow:inset 0 0 0 2px #fffffff2}.dashboard-page .archetype-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:6px 12px}.dashboard-page .archetype-legend-item{display:flex;align-items:center;gap:6px;padding:4px 6px;margin:-4px -6px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:12px;text-align:left;color:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.dashboard-page .archetype-legend-item:hover:not(:disabled){background:#f8fafc;border-color:#e2e8f0}.dashboard-page .archetype-legend-item:focus-visible{outline:2px solid #005cbb;outline-offset:1px}.dashboard-page .archetype-legend-item.is-selected{background:#eef6ff;border-color:#90caf9;box-shadow:0 0 0 1px #90caf973}.dashboard-page .archetype-legend-item:disabled{opacity:.45;cursor:default}.dashboard-page .archetype-legend-item.is-selected .archetype-name{color:#334155}.dashboard-page .archetype-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.dashboard-page .archetype-name{flex:1;min-width:0;color:#757474}.dashboard-page .archetype-count{font-weight:500;color:#111827}.dashboard-page .cd-therapy-caption{font-size:12px;font-weight:400;color:#757474}.dashboard-page .cd-therapy-header-actions{display:flex;align-items:center;gap:10px}.dashboard-page .cd-therapy-pills{display:flex;flex-wrap:wrap;gap:8px}.dashboard-page .cd-therapy-pill{display:inline-flex;align-items:stretch;border:1px solid rgb(226 232 240 / .95);border-radius:8px;background:linear-gradient(165deg,#fff,#f8fafc);box-shadow:0 1px 2px #0f172a08;overflow:hidden}.dashboard-page .cd-therapy-pill.is-active{background:linear-gradient(165deg,#eef6ff,#f5faff);border-color:#90caf9;box-shadow:0 0 0 1px #90caf959}.dashboard-page .cd-therapy-pill__main{display:inline-flex;align-items:center;gap:8px;height:auto;min-height:32px;padding:6px 10px;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer}.dashboard-page .cd-therapy-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dashboard-page .cd-therapy-label{font-size:13px}.dashboard-page .cd-therapy-count{font-size:13px;font-weight:600;color:#1976d2}.dashboard-page .cd-therapy-pill.is-active .cd-therapy-count{color:inherit}.dashboard-page .cd-therapy-edit{border:none;border-left:1px solid #e0e0e0;background:transparent;padding:0 8px;font-size:11px;color:#757474;cursor:pointer}.dashboard-page .cd-therapy-edit:hover{background:#f3f4f6;color:#1976d2}.tfs-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:none;background:#0f172a66;cursor:pointer}.tfs-dialog{position:fixed;top:50%;left:50%;z-index:61;display:flex;flex-direction:column;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:hidden;transform:translate(-50%,-50%);border-radius:8px;background:#fff;box-shadow:0 20px 50px #0f172a38}.tfs-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:14px 16px;border-bottom:1px solid #eef2f7}.tfs-dialog__header h2{margin:0;font-size:16px;font-weight:600;color:#0f172a}.tfs-dialog__close{width:28px;height:28px;border:none;border-radius:6px;background:transparent;font-size:20px;line-height:1;color:#64748b;cursor:pointer}.tfs-dialog__body{display:flex;flex-direction:column;gap:14px;flex:1 1 auto;min-height:0;overflow:auto;padding:16px}.tfs-field{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.tfs-field input{height:32px;padding:0 10px;border:1px solid #e2e8f0;border-radius:4px;font:inherit;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:#0f172a}.tfs-field input:focus{outline:none;border-color:#005cbb;box-shadow:0 0 0 2px #005cbb26}.tfs-colors{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:28px}.tfs-color{width:22px;height:22px;border:2px solid transparent;border-radius:50%;cursor:pointer;padding:0}.tfs-color.is-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #0f172a}.tfs-criteria-intro{margin:4px 0 0;padding-top:4px;border-top:1px solid #eef2f7;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:#64748b}.tfs-ranges{display:flex;flex-direction:column;gap:10px}.tfs-range{display:grid;grid-template-columns:11.5rem minmax(0,1fr);align-items:center;-moz-column-gap:12px;column-gap:12px;min-height:32px}.tfs-range__label{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#64748b;line-height:1.3}.tfs-range__controls{display:grid;grid-template-columns:4.5rem auto 4.5rem;align-items:center;justify-content:start;gap:8px;min-width:0}.tfs-range input{width:4.5rem;height:30px;box-sizing:border-box;padding:0 8px;border:1px solid #e2e8f0;border-radius:4px;font-size:13px;color:#0f172a}.tfs-range input:focus{outline:none;border-color:#005cbb;box-shadow:0 0 0 2px #005cbb26}.tfs-range__to{width:1.25rem;text-align:center;font-size:12px;color:#94a3b8}.tfs-modem{display:inline-flex;width:100%;max-width:220px;border:1px solid #e2e8f0;border-radius:4px;overflow:hidden}.tfs-range:has(.tfs-modem) .tfs-range__controls{grid-template-columns:minmax(0,1fr)}.tfs-modem button{flex:1;height:30px;border:none;border-right:1px solid #e2e8f0;background:#fff;font-size:12px;color:#334155;cursor:pointer}.tfs-modem button:last-child{border-right:none}.tfs-modem button.is-active{background:#005cbb;color:#fff}.tfs-archetypes{display:flex;flex-wrap:wrap;gap:8px}.tfs-chip{height:28px;padding:0 10px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;font-size:12px;color:#334155;cursor:pointer}.tfs-chip:hover{border-color:#cbd5e1;background:#f8fafc}.tfs-chip.is-active{background:#e3f2fd;border-color:#90caf9;color:#005cbb;font-weight:500}.tfs-check{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:#334155}.tfs-session-note{margin:0;font-size:12px;color:#64748b}.tfs-match{padding:8px 10px;border-radius:4px;background:#e3f2fd;color:#005cbb;font-size:12px;font-weight:500}@media (max-width: 520px){.tfs-range{grid-template-columns:1fr;align-items:start;gap:6px}.tfs-range__controls{width:100%}}.dashboard-page .cd-active-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 15px;border-bottom:1px solid #f0f0f0;font-size:12px;color:#64748b;background:#f8fafc}.dashboard-page .cd-active-filters__badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.dashboard-page .cd-filter-badge{display:inline-flex;align-items:center;gap:4px;max-width:240px;height:24px;padding:0 8px;border:1px solid #bbdefb;border-radius:4px;background:#e3f2fd;color:#005cbb;font:inherit;font-size:12px;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.dashboard-page .cd-filter-badge--muted{border-color:#e2e8f0;background:#fff;color:#64748b;font-weight:400;cursor:default}.dashboard-page .cd-filter-badge__x{flex-shrink:0;margin-left:2px;font-size:14px;line-height:1;color:#3b78e7}.dashboard-page .cd-filter-badge:hover:not(.cd-filter-badge--muted){background:#dbeafe;border-color:#90caf9}.dashboard-page .cd-filter-badge:focus-visible{outline:2px solid #3b78e7;outline-offset:1px}.dashboard-page .cd-active-filters__clear{flex-shrink:0;margin-left:auto;border:0;padding:0;background:transparent;color:#005cbb;font:inherit;font-size:12px;cursor:pointer}.dashboard-page .cd-active-filters__clear:hover{text-decoration:underline}.tfs-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:12px 16px;border-top:1px solid #eef2f7;background:#fff}.tfs-dialog__actions{display:flex;gap:8px}.tfs-btn{height:32px;padding:0 12px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;font-size:13px;cursor:pointer}.tfs-btn--ghost{color:#334155}.tfs-btn--primary{border-color:#005cbb;background:#005cbb;color:#fff}.tfs-btn:disabled{opacity:.55;cursor:not-allowed}.dashboard-page .cd-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:10px 15px;border-top:1px solid #f0f0f0}.dashboard-page .cd-pager-label{font-size:12px;color:#757474}@media (max-width: 640px){.dashboard-page .summary-metrics-row,.dashboard-page .cohort-filter-row{grid-template-columns:1fr 1fr}.dashboard-page .metric-bottom{flex-direction:column;align-items:flex-start;gap:2px}.dashboard-page .metric-meta{text-align:left}}.settings-page .page-header-block{margin-bottom:4px}.settings-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;max-width:1100px;padding-bottom:24px}.settings-section{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden}.settings-section__head{padding:10px 14px;border-bottom:1px solid #f3f4f6;background:#f8fafc}.settings-section__title{margin:0;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.settings-section__desc{margin:4px 0 0;font-size:12px;color:#9ca3af;line-height:1.35}.settings-section__list{margin:0;padding:0;list-style:none}.settings-section__link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #f3f4f6;color:inherit;text-decoration:none;transition:background .12s ease}.settings-section__list li:last-child .settings-section__link{border-bottom:none}.settings-section__link:hover{background:#f8fafc}.settings-section__link:focus-visible{outline:2px solid #005cbb;outline-offset:-2px}.settings-section__link-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.settings-section__link-title{font-size:13px;font-weight:500;color:#005cbb}.settings-section__link-desc{font-size:12px;color:#6b7280;line-height:1.35}.settings-section__link-arrow{flex-shrink:0;color:#9ca3af;font-size:18px;line-height:1}.settings-section__link:hover .settings-section__link-arrow{color:#005cbb}@media (max-width: 900px){.settings-sections{grid-template-columns:1fr;max-width:none}}.settings-admin-roster{flex:none;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.settings-admin-roster .pt-roster__body{flex:none;max-height:none;overflow-y:visible}.settings-admin-roster__cols--practice,.settings-admin-row--practice{grid-template-columns:minmax(0,1fr) 100px}.settings-admin-roster__cols--provider,.settings-admin-row--provider{grid-template-columns:minmax(160px,1fr) minmax(280px,2fr) 72px}.settings-admin-roster__cols--user,.settings-admin-row--user{grid-template-columns:minmax(160px,1.3fr) 96px 112px 88px 80px 72px}.settings-admin-status-btn{display:inline-flex;border:none;background:none;padding:0;cursor:pointer}.settings-admin-status-btn:focus-visible{outline:2px solid rgb(37 99 235 / .35);outline-offset:2px;border-radius:4px}.settings-admin-row__actions{display:flex;align-items:center;justify-content:flex-end}.settings-admin-row__edit{flex-shrink:0;height:30px;padding:0 10px}.settings-provider-flags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.settings-provider-flags .hsa-flag{min-width:0;height:30px;padding:0 10px;font-size:12px;cursor:default;pointer-events:none}.settings-provider-flags .hsa-flag--on,.settings-provider-flags .hsa-flag:has(input:checked){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.hsa-confirm__body .settings-provider-flags .hsa-flag{cursor:pointer;pointer-events:auto}.settings-admin-block{display:flex;flex-direction:column;gap:8px}.settings-admin-block__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.settings-admin-block__title{margin:0;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.settings-admin-block__meta{margin:0;font-size:12px;color:#64748b}.settings-admin-block__meta--muted{color:#94a3b8}.settings-admin-block__badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.settings-admin-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;font-size:12px;font-weight:500;color:#64748b;white-space:nowrap}.settings-admin-badge--on{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.settings-admin-block__head-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.settings-filter-toggle{flex-shrink:0;height:30px;padding:0 10px;font-size:12px}.settings-filter-toggle.is-on{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.settings-admin-stack{display:flex;flex-direction:column;gap:20px;padding-bottom:24px}.cpap-setup-page{display:flex;flex-direction:column;min-height:0;min-width:0}.cpap-setup-page h1,.cpap-setup-page h2,.cpap-setup-page h3,.cpap-setup-page strong,.cpap-setup-page b{font-weight:500}.cpap-setup-page .page-header-block{flex-shrink:0;margin-bottom:0;padding-bottom:10px}.cpap-setup-page .header-controls .cpap-area-tabs{flex-shrink:0}.cpap-setup-page .page-description{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.cpap-setup-patient-id{margin:2px 0 0;line-height:1.25}.cpap-setup-toolbar{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:8px;width:100%;min-width:0;flex:none}.cpap-setup-toolbar .header-search,.cpap-setup-toolbar .page-toolbar__grow{min-width:0}.cpap-setup-toolbar__search-row{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:0}.cpap-setup-toolbar__search-row .header-search{flex:1 1 auto;min-width:0}.cpap-setup-toolbar__search-row .today-btn{flex:0 0 auto}.cpap-setup-toolbar .page-toolbar__right{gap:8px}.cpap-setup-toolbar .page-toolbar__right>.date-nav__group{margin-left:0}.cpap-setup-toolbar .page-toolbar__right>.date-nav__group:before{display:none}.cpap-setup-toolbar .label-short{display:none}.cpap-setup-page .header-controls__date-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.cpap-setup-page .header-controls__dates>.header-controls__date-row{position:relative;margin-left:10px}.cpap-setup-page .header-controls__dates>.header-controls__date-row:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:1px;height:18px;background:#d1d5db}.cpap-setup-page .date-nav__group input[readonly]{pointer-events:none}.cpap-setup-save{color:#6b7280;font-size:12px}.cpap-setup-save.is-error{color:#c62828}.cpap-setup-page .today-btn:disabled{color:#9ca3af;border-color:#e5e7eb;background:#f9fafb;cursor:not-allowed;pointer-events:none}.cpap-setup-page .today-btn:disabled:hover{background:#f9fafb}.cpap-setup-discard{height:32px;padding:0 8px;border:none;border-radius:4px;background:transparent;font-size:13px;font-weight:500;color:#c62828;cursor:pointer}.cpap-setup-discard:hover{background:#ffebee}.cpap-setup-visit{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#fff}.cpap-setup-visit__shell,.cpap-setup-visit__frame{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1 1 auto}.cpap-setup-rail{flex:0 0 auto;width:100%;border-right:none;border-bottom:1px solid #e5e7eb;background:#fff;padding:12px 16px 10px}.cpap-setup-rail__list{position:relative;display:flex;align-items:stretch;margin:0;padding:0;list-style:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cpap-setup-rail__list::-webkit-scrollbar{display:none}.cpap-setup-rail__step{position:relative;flex:1 1 0;min-width:80px}.cpap-setup-rail__step:not(:last-child):before{content:"";position:absolute;left:calc(50% + 14px);right:auto;top:11px;bottom:auto;width:calc(100% - 28px);height:2px;background:#e5e7eb;z-index:0}.cpap-setup-rail__step.is-done:not(:last-child):before{background:#9fd4a3}.cpap-setup-rail__item{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;min-height:0;padding:0 4px 4px;border:0;background:transparent;color:#6b7280;font-size:13px;text-align:center;cursor:pointer}.cpap-setup-rail__item:hover:not(:disabled) .cpap-setup-rail__label{color:#111827}.cpap-setup-rail__item:disabled{cursor:not-allowed;opacity:.45}.cpap-setup-rail__item.is-current .cpap-setup-rail__label{color:#111827;font-weight:500}.cpap-setup-rail__item.is-done .cpap-setup-rail__label{color:#374151}.cpap-setup-rail__num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#e8ecf1;border:1px solid #d5dbe3;color:#7b8494;font-size:12px;font-weight:500;flex-shrink:0;z-index:1;box-shadow:0 0 0 3px #fff}.cpap-setup-rail__item.is-current .cpap-setup-rail__num{background:#cfe0f8;border-color:#9fc0eb;color:#2563c7}.cpap-setup-rail__item.is-done .cpap-setup-rail__num{background:#cfe9d0;border-color:#9fd4a3;color:#388e3c;font-weight:500}.cpap-setup-rail__label{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cpap-setup-visit__main{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1 1 auto;background:#fff}.cpap-setup-visit__content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;padding:16px 16px 12px}.cpap-setup-visit__content>*{flex:0 0 auto}.cpap-setup-visit__content>.cpap-setup-card{max-width:920px}.cpap-setup-visit .cpap-setup-footer{flex:0 0 auto;justify-content:flex-end;width:100%;padding:10px 16px 12px;border-top:1px solid #e5e7eb;background:#fff}.cpap-setup-body--board{display:flex;flex-direction:column;min-height:0;padding:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.cpap-setup-page .list-page__body.cpap-setup-visit{overflow:hidden}.cpap-setup-board{display:flex;flex-direction:column;min-height:0;flex:1}.cpap-setup-board .appt-list{flex:1;min-height:0}.cpap-setup-board .appt-compact-bar{margin:0 0 8px;border:1px solid #e5e7eb;border-radius:0;background:#fff}.cpap-setup-board__section{flex-shrink:0}.cpap-setup-board__section--fill{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}.cpap-setup-board--find,.cpap-setup-board--find .appt-list,.cpap-setup-board--find .appt-list__days{flex:none;min-height:0;height:auto;overflow:visible}.cpap-setup-board--find .cpap-setup-board__section--fill{flex:none;overflow:visible}.cpap-setup-board--find .appt-card{content-visibility:visible;contain-intrinsic-size:auto}.cpap-setup-board__heading{margin:10px 0 6px;font-size:13px;font-weight:500;color:#111827}.cpap-setup-board .appt-list__day{border:1px solid #e5e7eb;border-radius:0;box-shadow:none}.cpap-setup-board .appt-list__day-header--simple{background:#f8fafc;border:none;padding:8px 12px}.cpap-setup-board .appt-list__cards{border:none}.cpap-setup-board .appt-list__cards>li+li .appt-card{border-top:1px solid #e5e7eb}.cpap-setup-footer{display:flex;justify-content:flex-start;gap:8px;flex-shrink:0;padding:8px 0 12px;border-top:1px solid #e5e7eb;background:#f8fafc}.cpap-setup-card{width:100%}.cpap-setup-card__kicker{margin:0 0 4px;font-size:12px;color:#9ca3af}.cpap-setup-card__title{margin:0;font-size:16px;font-weight:500;line-height:1.25;color:#111827}.cpap-setup-card__sub{margin:4px 0 0;max-width:40rem;font-size:13px;line-height:1.4;color:#6b7280}.cpap-setup-card__body{display:flex;flex-direction:column;gap:12px;padding-top:12px}.cpap-setup-section{display:flex;flex-direction:column;gap:12px;padding-top:4px}.cpap-setup-section__title{margin:0;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.cpap-setup-choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.cpap-setup-choice{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:13px;font-weight:500;text-align:center;white-space:nowrap;transition:border-color .12s ease,background .12s ease;cursor:pointer}.cpap-setup-choice:hover:not(.is-selected){border-color:#9ca3af;background:#f8fafc}.cpap-setup-choice.is-selected{border-color:#bfdbfe;box-shadow:none;background:#eff6ff;color:#1e40af}.cpap-setup-choice__label{line-height:1.3}.cpap-setup-field{display:block;min-width:0}.cpap-setup-hint{margin:4px 0 0;font-size:12px;color:#6b7280}.cpap-setup-hint.is-warn{color:#f57c00}.cpap-setup-scan{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px}.cpap-setup-scan__actions{display:flex;flex-wrap:wrap;gap:8px}.cpap-setup-scan__preview{width:100%;max-width:420px;margin-top:10px;border:1px solid #e5e7eb;background:#111}.cpap-setup-scan__preview[hidden]{display:none}.cpap-setup-scan__video{display:block;width:100%;max-height:220px;-o-object-fit:cover;object-fit:cover}.cpap-setup-scan__preview .cpap-setup-hint{margin:0;padding:6px 8px;background:#fff}.cpap-setup-error{margin:0;font-size:12px;color:#d32f2f}.cpap-setup-board .appt-card__row{align-items:center}.cpap-setup-board .appt-card__subtitle{white-space:normal}.cpap-setup-board .appt-card--actions{grid-template-columns:72px 34px minmax(0,1fr) auto auto}.cpap-setup-board .appt-card--actions:not(.cpap-setup-patient-card):not(.cpap-setup-log-card){align-items:start}.cpap-setup-board .appt-card--actions:not(.cpap-setup-patient-card):not(.cpap-setup-log-card) .appt-card__actions{align-self:start}.cpap-setup-board .cpap-setup-patient-card.appt-card--actions{grid-template-columns:34px minmax(0,1fr) auto;align-items:start}.cpap-setup-board .cpap-setup-patient-card .appt-card__avatar{margin-top:2px}.cpap-setup-board .cpap-setup-log-card.appt-card--actions{grid-template-columns:34px minmax(0,1fr) auto auto;align-items:start}.cpap-setup-board .cpap-setup-log-card .appt-card__avatar{margin-top:2px}.cpap-setup-log-card__who{min-width:0}.cpap-setup-log-card__when{margin:2px 0 0;font-size:12px;color:#64748b;line-height:1.25}.cpap-setup-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0}.cpap-setup-facts dt{font-size:11px;color:#6b7280}.cpap-setup-facts dd{margin:2px 0 0;font-size:13px;font-weight:500;overflow-wrap:anywhere}.cpap-setup-facts__wide{grid-column:1 / -1}.cpap-setup-blockers{display:flex;flex-direction:column;gap:6px}.cpap-setup-blocker{display:flex;gap:8px;padding:7px 10px;border:1px solid;font-size:12px}.cpap-setup-blocker__tag{flex-shrink:0;font-size:10px;letter-spacing:.03em;text-transform:uppercase}.cpap-setup-blocker--blocking{background:#ffebee;border-color:#ffcdd2;color:#c62828}.cpap-setup-blocker--warning{background:#fff3e0;border-color:#ffe0b2;color:#ef6c00}.cpap-setup-blocker--info{background:#f8fafc;border-color:#e5e7eb;color:#4b5563}.cpap-setup-prior{padding:8px 10px;border:1px solid #ffe0b2;background:#fff3e0;color:#ef6c00;font-size:12px}.cpap-setup-banner{padding:8px 10px;border:1px solid;font-size:12px}.cpap-setup-banner.is-ok{background:#e8f5e9;border-color:#c8e6c9;color:#2e7d32}.cpap-setup-banner.is-warn{background:#fff3e0;border-color:#ffe0b2;color:#ef6c00}.cpap-setup-form-grid,.cpap-setup-rx-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.cpap-setup-rx-grid{grid-template-columns:1.4fr .8fr .8fr}.cpap-setup-pressure-grid{display:grid;gap:12px;grid-template-columns:repeat(2,160px)}.cpap-setup-textarea{min-height:52px;height:auto;padding-top:6px;resize:vertical}.cpap-setup-checklist{display:grid;grid-template-columns:1fr;gap:0 24px;align-content:start}@media (min-width: 720px){.cpap-setup-visit__content .cpap-setup-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}}.cpap-setup-check{display:flex;align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.35;color:#374151;cursor:pointer}.cpap-setup-check input{margin-top:2px;flex-shrink:0}.cpap-setup-actions{display:flex;flex-wrap:wrap;gap:8px}.cpap-setup-actions .today-btn,.cpap-setup-actions .btn-primary{white-space:normal;height:auto;min-height:32px;padding:6px 12px;line-height:1.3}.cpap-setup-verify-list{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none}.cpap-setup-checklist-steps{display:flex;flex-direction:column;margin:0;padding:4px 0 0;list-style:none;border-top:1px solid #e5e7eb}.cpap-setup-finish{display:grid;gap:12px;min-width:0}.cpap-setup-finish__review,.cpap-setup-finish__handoff{display:flex;flex-direction:column;gap:10px;min-width:0}.cpap-setup-finish__compact{display:none;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;cursor:pointer;list-style:none}.cpap-setup-finish__compact::-webkit-details-marker{display:none}.cpap-setup-finish__compact-text{margin:0;min-width:0;font-size:13px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpap-setup-finish__compact-action{flex:0 0 auto;font-size:13px;font-weight:500;color:#005cbb}.cpap-setup-finish__details[open] .cpap-setup-finish__compact-action{color:#6b7280}.cpap-setup-finish__details[open] .cpap-setup-finish__compact{margin-bottom:8px;border-radius:10px 10px 0 0}.cpap-setup-finish__details[open] .cpap-setup-finish__full{border:1px solid #e5e7eb;border-top:none;border-radius:0 0 10px 10px}.cpap-setup-finish__details[open] .cpap-setup-finish__full .cpap-setup-review{border:none;border-radius:0 0 10px 10px}@media (max-width: 719px){.cpap-setup-finish__compact{display:flex}}@media (min-width: 720px){.cpap-setup-finish{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px}.cpap-setup-finish__compact{display:none}.cpap-setup-finish__details>.cpap-setup-finish__full{display:block!important}.cpap-setup-finish__details[open] .cpap-setup-finish__full,.cpap-setup-finish__details .cpap-setup-finish__full{border:none}.cpap-setup-finish__details[open] .cpap-setup-finish__full .cpap-setup-review{border:1px solid #e5e7eb;border-radius:12px}}.cpap-setup-review{padding:10px 12px;border:1px solid #e5e7eb;background:#fafafa}.cpap-setup-review__block+.cpap-setup-review__block{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.cpap-setup-review__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cpap-setup-review__title{margin:0;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.cpap-setup-review__list{font-weight:400;line-height:1.4;white-space:normal}.cpap-setup-check-step{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #f3f4f6;opacity:.5}.cpap-setup-check-step:first-child{padding-top:0}.cpap-setup-check-step:last-child{padding-bottom:0;border-bottom:none}.cpap-setup-check-step.is-current,.cpap-setup-check-step.is-done{opacity:1}.cpap-setup-check-step__mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-top:1px;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:500}.cpap-setup-check-step.is-current .cpap-setup-check-step__mark{background:#005cbb;color:#fff}.cpap-setup-check-step.is-done .cpap-setup-check-step__mark{background:#43a047;color:#fff;font-size:12px;font-weight:600}.cpap-setup-check-step__body{flex:1;min-width:0}.cpap-setup-check-step__body>strong{display:block;font-size:13px;font-weight:500;color:#111827}@media (max-width: 1024px){.list-page.page-shell.cpap-setup-page{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));overflow-x:hidden}.cpap-setup-page .page-header-block{padding-top:10px;padding-bottom:10px}.cpap-setup-page .field,.cpap-setup-page select.field,.cpap-setup-page textarea.field,.cpap-setup-page .header-search input,.cpap-setup-page .date-nav__group input[type=date],.cpap-setup-page .appt-groupby__select{font-size:16px}.cpap-setup-page .header-controls{width:100%}.cpap-setup-page .page-header{grid-template-columns:1fr}.cpap-setup-page .page-title{font-size:18px}.cpap-setup-page .header-controls__dates{width:100%;gap:8px}.cpap-setup-page .header-controls__dates>.segment-toggle{flex:1 1 auto;min-width:0}.cpap-setup-page .header-controls__date-row{display:flex;align-items:center;gap:8px;flex:1 1 14rem;min-width:0}.cpap-setup-page .header-controls__dates>.date-nav__group,.cpap-setup-page .header-controls__date-row>.date-nav__group{margin-left:0;flex:1 1 auto;min-width:0}.cpap-setup-page .header-controls__dates>.header-controls__date-row{margin-left:0}.cpap-setup-page .header-controls__dates>.header-controls__date-row:before{display:none}.cpap-setup-page .header-controls__date-row>.icon-btn{flex:none}.cpap-setup-page .date-nav__group input[type=date]{min-width:0;flex:1;width:100%}.cpap-setup-page .page-toolbar{align-items:stretch;align-content:flex-start;flex:none}.cpap-setup-toolbar{flex-wrap:wrap;align-items:center;align-content:flex-start;flex:none}.cpap-setup-toolbar>.segment-toggle,.cpap-setup-toolbar>.cpap-setup-toolbar__search-row{flex:1 1 100%;max-width:none;min-width:0;min-height:0}.cpap-setup-toolbar>.page-toolbar__right{flex:1 1 100%;max-width:none;min-width:0;min-height:0;margin-left:0;justify-content:flex-start}.cpap-setup-toolbar>.page-toolbar__right:empty{display:none}.cpap-setup-toolbar .page-toolbar__right .date-nav__group{flex:1 1 12rem;min-width:0}.cpap-setup-toolbar .page-toolbar__right .date-nav__group input[type=date]{min-width:0;flex:1;width:100%}.cpap-setup-toolbar .page-toolbar__right .provider-multi{flex:1 1 10rem;min-width:0}.cpap-setup-toolbar .segment-toggle{overflow-x:auto;scrollbar-width:none}.cpap-setup-toolbar .segment-toggle::-webkit-scrollbar{display:none}.cpap-setup-toolbar .segment-toggle button{flex:1 1 0;justify-content:center;min-width:0;padding:0 8px;white-space:nowrap}.cpap-setup-toolbar .header-search input{min-width:0}.cpap-setup-toolbar .provider-multi__trigger{width:100%;max-width:none}.cpap-setup-toolbar .provider-multi__menu{left:0;right:0;min-width:0;max-width:none;width:100%}.cpap-setup-toolbar .page-toolbar__right{margin-left:0}.cpap-setup-toolbar .cpap-setup-toolbar__search-row .today-btn{min-height:36px}.cpap-setup-rail{padding:6px 12px 5px}.cpap-setup-rail__step{flex:1 1 0;min-width:56px}.cpap-setup-rail__item{gap:3px}.cpap-setup-rail__num{width:22px;height:22px}.cpap-setup-rail__step:not(:last-child):before{top:10px;left:calc(50% + 13px);width:calc(100% - 26px)}.cpap-setup-rail__label{-webkit-line-clamp:1}.cpap-setup-visit__content{padding:8px 12px}.cpap-setup-visit .cpap-setup-footer{justify-content:flex-end;gap:10px;padding:8px 12px max(10px,env(safe-area-inset-bottom));background:#ffffffe0;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -6px 16px #0f172a0d}.cpap-setup-visit .cpap-setup-footer .today-btn,.cpap-setup-visit .cpap-setup-footer .btn-primary{flex:0 0 auto;min-width:6.5rem;min-height:44px}.cpap-setup-choice{min-height:38px}.cpap-setup-check input{width:20px;height:20px;accent-color:#005cbb}.cpap-setup-scan,.cpap-setup-scan__preview{max-width:none;width:100%}.cpap-setup-scan__actions{width:100%}.cpap-setup-scan__actions .today-btn{flex:1 1 auto;min-height:40px}.cpap-setup-board .appt-compact-bar{align-items:stretch;gap:8px}.cpap-setup-board .appt-compact-bar__day{white-space:normal}.cpap-setup-board .appt-compact-bar__tools{margin-left:0;justify-content:flex-start;width:100%}.cpap-setup-board .appt-tool-cluster{padding:0 0 0 2px}.cpap-setup-board .appt-tool-sep:has(+.appt-tool-cluster .appt-layout-toggle),.cpap-setup-board .appt-tool-cluster:has(.appt-layout-toggle){display:none}.cpap-setup-board .appt-tool-cluster--facet{flex:1 1 100%;justify-content:flex-start}.cpap-setup-board .appt-facet{flex-wrap:wrap;justify-content:flex-start}.cpap-setup-board .appt-facet__badges{flex-wrap:wrap;overflow-x:visible;justify-content:flex-start;padding-left:0;margin-left:0;border-left:none}.cpap-setup-board .appt-list__board{flex-direction:column;overflow-x:hidden;overflow-y:auto}.cpap-setup-board .appt-list__col{min-width:0;flex:0 0 auto;border-right:none;border-bottom:1px solid #e5e7eb}.cpap-setup-board .appt-list__col:last-child{border-bottom:none}.cpap-setup-board .appt-list__col .appt-list__cards{overflow:visible}.cpap-setup-board .today-btn,.cpap-setup-board .cpap-setup-discard{min-height:36px}.cpap-setup-board .hsa-confirm__footer{flex-wrap:wrap}.cpap-setup-board .hsa-confirm__footer button{flex:1 1 auto;min-height:40px}.cpap-setup-page .today-btn,.cpap-setup-page .btn-primary,.cpap-setup-page .segment-toggle button,.cpap-setup-page .icon-btn,.cpap-setup-page .header-link-btn,.cpap-setup-choice,.cpap-setup-check{touch-action:manipulation}.cpap-setup-page .field,.cpap-setup-page .today-btn,.cpap-setup-page .btn-primary,.cpap-setup-page .header-search input,.cpap-setup-page .date-nav__group,.cpap-setup-page .provider-multi__trigger,.cpap-setup-choice{border-radius:10px}.cpap-setup-page input.field,.cpap-setup-page select.field,.cpap-setup-page .header-search input{min-height:40px}.cpap-setup-page .field,.cpap-setup-page .header-search input{border-color:#d8dce2}.cpap-setup-page .today-btn{border-color:#d8dce2;font-weight:500}.cpap-setup-page .segment-toggle{gap:2px;padding:2px;border:none;border-radius:9px;background:#ececee}.cpap-setup-page .segment-toggle button{border:none;border-radius:7px;background:transparent;color:#1f2937;font-weight:500}.cpap-setup-page .segment-toggle button:hover:not(.is-active){background:transparent}.cpap-setup-page .segment-toggle button.is-active{background:#fff;color:#111827;box-shadow:0 1px 3px #0f172a29}.cpap-setup-page .segment-toggle button.is-active+button{box-shadow:none}.cpap-setup-page:has(.cpap-setup-visit) .page-header-block{padding-top:6px;padding-bottom:6px}.cpap-setup-page:has(.cpap-setup-visit) .page-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;-moz-column-gap:10px;column-gap:10px;row-gap:0}.cpap-setup-page:has(.cpap-setup-visit) .page-title{font-size:15px;margin-bottom:1px}.cpap-setup-page:has(.cpap-setup-visit) .page-description{font-size:12px;line-height:1.3}.cpap-setup-visit__content .cpap-setup-card__title{font-size:17px;letter-spacing:-.01em}.cpap-setup-visit__content .cpap-setup-card__sub{margin-top:2px;font-size:12px;line-height:1.35}.cpap-setup-visit__content:has(.cpap-setup-finish) .cpap-setup-card__sub{display:none}.cpap-setup-visit__content .cpap-setup-card__body{gap:12px;padding-top:10px}.cpap-setup-visit__content .cpap-setup-section{gap:12px;padding-top:0}.cpap-setup-visit__content .cpap-setup-choices{gap:8px}.cpap-setup-visit__content .label{margin-bottom:4px}.cpap-setup-visit__content .cpap-setup-textarea{min-height:44px}.cpap-setup-visit__content .cpap-setup-check{padding:5px 0}.cpap-setup-visit__content .cpap-setup-review{border-radius:12px;padding:8px 10px}.cpap-setup-visit__content .cpap-setup-review__block+.cpap-setup-review__block{margin-top:8px;padding-top:8px}.cpap-setup-visit__content .cpap-setup-review__head{margin-bottom:4px}.cpap-setup-visit__content .cpap-setup-facts{gap:6px 12px}.cpap-setup-visit__content .cpap-setup-facts dd{margin-top:0;font-size:12px}.cpap-setup-visit__content .cpap-setup-finish .cpap-setup-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}@media (min-width: 720px){.cpap-setup-visit__content .cpap-setup-finish .cpap-setup-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}.cpap-setup-visit__content .cpap-setup-finish .cpap-setup-review__block+.cpap-setup-review__block{margin-top:6px;padding-top:6px}.cpap-setup-visit__content .cpap-setup-finish .cpap-setup-review{padding:6px 8px}.cpap-setup-visit__content .cpap-setup-check-step{padding:6px 0;gap:8px}.cpap-setup-visit__content .cpap-setup-finish__handoff,.cpap-setup-visit__content .cpap-setup-actions{gap:6px}}@media (max-width: 640px){.cpap-setup-form-grid,.cpap-setup-pressure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cpap-setup-rx-grid{grid-template-columns:1fr}.cpap-setup-facts{gap:8px 12px}.cpap-setup-toolbar .segment-toggle button{font-size:12px;padding:0 6px}.cpap-setup-page:has(.cpap-setup-visit) .page-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cpap-setup-toolbar .label-full{display:none}.cpap-setup-toolbar .label-short{display:inline}.cpap-setup-toolbar .page-toolbar__right{justify-content:flex-start}.cpap-setup-choice{white-space:normal;min-height:36px;padding:6px 12px;flex:0 0 auto;max-width:100%}.cpap-setup-visit__content .cpap-setup-choices{gap:6px}.cpap-setup-hint__aside,.cpap-setup-hint__desktop,.cpap-setup-visit__content .cpap-setup-card__sub,.cpap-setup-visit__content .cpap-setup-section__title{display:none}.cpap-setup-visit__content:has(.cpap-setup-checklist) .cpap-setup-card__sub,.cpap-setup-visit__content:has(.cpap-setup-checklist) .cpap-setup-section__title{display:block}.cpap-setup-visit__content .cpap-setup-card__title{font-size:16px}.cpap-setup-visit__content .cpap-setup-card__body{gap:14px;padding-top:10px}.cpap-setup-visit__content .cpap-setup-section{gap:14px}.cpap-setup-visit__content .label{margin-bottom:6px}.cpap-setup-visit__content .cpap-setup-choices{margin-top:0;gap:8px}.cpap-setup-visit__content .cpap-setup-textarea{min-height:40px}.cpap-setup-visit .cpap-setup-footer{padding:8px 12px max(10px,env(safe-area-inset-bottom))}.cpap-setup-scan__video{max-height:min(280px,42vh)}.cpap-setup-rail__label{font-size:11px}.cpap-setup-actions .today-btn,.cpap-setup-actions .btn-primary{width:100%;min-height:44px;justify-content:center}.cpap-setup-board .appt-compact-bar{flex-direction:column}.cpap-setup-board .appt-card,.cpap-setup-board .appt-card--actions,.cpap-setup-board .appt-card--compact,.cpap-setup-board .appt-card--compact.appt-card--actions{grid-template-columns:56px 32px minmax(0,1fr) auto;align-items:center}.cpap-setup-board .appt-card--actions:not(.cpap-setup-patient-card):not(.cpap-setup-log-card){align-items:start}.cpap-setup-board .appt-card--actions:not(.cpap-setup-patient-card):not(.cpap-setup-log-card):has(.appt-card__aside){grid-template-columns:56px 32px minmax(0,1fr) auto auto}.cpap-setup-board .cpap-setup-patient-card.appt-card--actions,.cpap-setup-board .cpap-setup-patient-card.appt-card--actions:not(:has(.appt-card__aside)){grid-template-columns:32px minmax(0,1fr) auto}.cpap-setup-board .cpap-setup-patient-card .appt-card__actions{grid-column:3;grid-row:1;align-self:start;padding:0;flex-wrap:nowrap}.cpap-setup-board .appt-card--compact.appt-card--actions .appt-card__actions{grid-column:1 / -1;grid-row:2;justify-content:flex-end;flex-wrap:wrap;padding:4px 0 0}.cpap-setup-board .appt-card--actions:not(.cpap-setup-patient-card):not(.cpap-setup-log-card) .appt-card__actions{grid-column:4;grid-row:1;align-self:start;justify-content:flex-end;flex-wrap:nowrap;padding:0}.cpap-setup-board .appt-card--actions:not(.cpap-setup-patient-card):not(.cpap-setup-log-card):has(.appt-card__aside) .appt-card__actions{grid-column:5}.cpap-setup-board .appt-card__aside,.cpap-setup-board .appt-card--compact .appt-card__aside,.cpap-setup-board .appt-card--compact.appt-card--actions .appt-card__aside{grid-column:4;grid-row:1;min-width:0;padding-left:0;justify-content:flex-end}.cpap-setup-board .appt-card--actions:not(.cpap-setup-patient-card):not(.cpap-setup-log-card) .appt-card__aside{align-self:start}.cpap-setup-log-card__who{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpap-setup-board .cpap-setup-log-card.appt-card--actions,.cpap-setup-board .cpap-setup-log-card.appt-card--actions:not(:has(.appt-card__aside)){grid-template-columns:32px minmax(0,1fr) auto auto}.cpap-setup-board .cpap-setup-log-card .appt-card__aside{grid-column:3;grid-row:1;min-width:0;padding-left:0}.cpap-setup-board .cpap-setup-log-card .appt-card__actions{grid-column:4;grid-row:1;align-self:center;padding:0;flex-wrap:nowrap}.cpap-followup-card.appt-card--actions,.cpap-followup-card.appt-card--actions:not(:has(.appt-card__aside)){grid-template-columns:56px 32px minmax(0,1fr) auto auto}.cpap-followup-card .appt-card__aside{grid-column:4;grid-row:1;align-self:start;padding-left:0}.cpap-followup-card .appt-card__actions{grid-column:5;grid-row:1;align-self:start;padding:0;flex-wrap:nowrap}.cpap-setup-board .today-btn,.cpap-setup-board .cpap-setup-discard{min-height:40px}}@media (max-width: 768px){.cpap-setup-page .header-controls__dates{flex-wrap:nowrap;gap:6px}.cpap-setup-page .header-controls__dates>.segment-toggle{flex:0 0 auto;width:auto}.cpap-setup-page .header-controls__date-row{flex:1 1 auto}.cpap-setup-page .header-content,.cpap-setup-page .header-controls,.cpap-setup-page .header-controls__dates{min-width:0;max-width:100%}.cpap-setup-page .header-controls__dates>.segment-toggle button{padding:0 8px}.cpap-setup-page .cpap-setup-board,.cpap-setup-page .cpap-setup-board__section--fill,.cpap-setup-page .cpap-setup-board .appt-list,.cpap-setup-page .cpap-setup-board .appt-list__days{flex:none;min-height:auto;height:auto;overflow:visible}.cpap-setup-page .page-header-block{padding-bottom:6px}.cpap-setup-page .cpap-setup-toolbar{gap:6px}}.cpap-catalog-page .list-page__body.cpap-catalog-body{min-height:0;overflow:hidden;padding:0;display:flex;flex-direction:column}.cpap-catalog-tabs{flex-shrink:0;display:flex;flex-wrap:nowrap;gap:0;padding:0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#f8fafc;border-bottom:1px solid #e2e8f0}.cpap-catalog-tabs::-webkit-scrollbar{display:none}.cpap-catalog-tab{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;height:40px;padding:0 14px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;font-size:13px;font-weight:500;color:#475569;white-space:nowrap;cursor:pointer}.cpap-catalog-tab:hover{color:#0f172a;background:#fff}.cpap-catalog-tab.is-active{color:#005cbb;background:#fff;border-bottom-color:#005cbb}.cpap-catalog-tab__label .label-short{display:none}.cpap-catalog-tab__count{color:#9ca3af;font-variant-numeric:tabular-nums;font-size:12px}.cpap-catalog-tab.is-active .cpap-catalog-tab__count{color:#3b78e7}.cpap-catalog-split{display:flex;min-height:0;flex:1 1 0;height:auto;overflow:hidden;background:#fff}.cpap-catalog-split.is-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cpap-catalog-split .cpap-catalog-list{flex:1 1 auto;min-width:280px;border-right:none}.cpap-catalog-split--detail .cpap-catalog-list{flex:0 0 58%;min-width:280px}.cpap-catalog-split--detail.cpap-catalog-split--sized .cpap-catalog-list{flex:1 1 auto;max-width:none}.cpap-catalog-split--detail .cpap-detail{flex:0 0 42%;min-width:320px}.cpap-catalog-split--detail.cpap-catalog-split--sized .cpap-detail{flex:0 0 auto}.cpap-catalog-resize-handle{flex-shrink:0}.cpap-catalog-split.is-resizing .cpap-catalog-resize-handle:before{width:3px;background:#93c5fd}.cpap-catalog-split.is-resizing .cpap-catalog-resize-handle:after{border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd59;background-image:radial-gradient(circle,#2563eb 1.25px,transparent 1.75px),radial-gradient(circle,#2563eb 1.25px,transparent 1.75px),radial-gradient(circle,#2563eb 1.25px,transparent 1.75px)}.cpap-catalog-list{display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;border:none;border-radius:0;overflow:hidden}.cpap-catalog-list__head{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px 10px;border-bottom:1px solid #e5e7eb}.cpap-catalog-list__title{font-size:13px;font-weight:500;color:#111827}.cpap-catalog-list__sub{margin-top:2px;font-size:12px;color:#6b7280}.cpap-catalog-list__scroll{flex:1 1 0;min-height:0;overflow:auto}.cpap-catalog-rows{list-style:none;margin:0;padding:0}.cpap-catalog-fields__readonly{padding-top:8px;font-size:13px;font-weight:500;color:#0f172a}.cpap-catalog-fields .field[readonly],.cpap-catalog-fields .field:disabled,.cpap-catalog-check input:disabled{cursor:default;opacity:1;background:#f8fafc;color:#0f172a}.cpap-catalog-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;border:none;border-bottom:1px solid #f3f4f6;background:#fff;text-align:left;cursor:pointer}.cpap-catalog-row:hover{background:#f8fafc}.cpap-catalog-row.is-selected{background:#eef5ff;box-shadow:inset 3px 0 #005cbb}.cpap-catalog-row.is-inactive .cpap-catalog-row__value{color:#9ca3af}.cpap-catalog-row__main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cpap-catalog-row__value{display:-webkit-box;overflow:hidden;color:#111827;font-size:13px;font-weight:500;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cpap-catalog-row__parent{color:#6b7280;font-size:12px}.cpap-catalog-row__meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.cpap-catalog-row__chip{padding:1px 6px;border-radius:4px;background:#e8f0fe;color:#005cbb;font-size:11px;font-weight:500}.cpap-catalog-row__sort{min-width:28px;color:#9ca3af;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.cpap-catalog-detail{border-left:none}.cpap-catalog-detail .cpap-detail__actions{gap:8px}.cpap-catalog-detail__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;padding:24px}.cpap-catalog-detail__empty-hint{margin:0;font-size:13px;color:#9ca3af;text-align:center}.cpap-catalog-detail__body{flex:1;min-height:0;overflow:auto;padding:12px 14px 16px}.cpap-catalog-section+.cpap-catalog-section{margin-top:16px;padding-top:14px;border-top:1px solid #f3f4f6}.cpap-catalog-section__title{margin:0 0 10px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.cpap-catalog-fields{display:flex;flex-direction:column;gap:10px;margin:0}.cpap-catalog-fields>div{display:flex;flex-direction:column;gap:2px}.cpap-catalog-fields>div.cpap-catalog-fields__stack{grid-template-columns:unset}.cpap-catalog-fields dt{padding-top:0;font-size:12px;color:#6b7280}.cpap-catalog-fields dd{margin:0;min-width:0}.cpap-catalog-fields__readonly,.cpap-catalog-fields__value{display:block;padding-top:2px;font-size:13px;font-weight:500;color:#111827;line-height:1.4;word-break:break-word}.cpap-catalog-fields__value--multiline{white-space:pre-wrap}.cpap-catalog-fields--compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.cpap-catalog-fields--compact>div{display:flex;flex-direction:column;gap:2px}.cpap-catalog-hint{display:block;margin-top:4px;font-size:12px;color:#9ca3af}.cpap-catalog-textarea{min-height:110px;height:auto;padding-top:8px;resize:vertical}.cpap-catalog-sort{max-width:96px}.cpap-catalog-check{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;font-size:13px;color:#374151;cursor:pointer}.cpap-catalog-check input{margin-top:2px}.cpap-catalog-detail__footer{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;padding:10px 14px;border-top:1px solid #e5e7eb;background:#fff}@media (max-width: 1024px){.cpap-catalog-page .page-header{grid-template-columns:1fr}.cpap-catalog-page .header-controls{justify-content:flex-start}.cpap-catalog-page .header-controls .btn-primary{min-height:40px}.cpap-catalog-tabs{flex-wrap:wrap;gap:6px;padding:8px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left));overflow:visible}.cpap-catalog-tab{height:auto;min-height:40px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:0;background:#fff;font-size:13px;touch-action:manipulation}.cpap-catalog-tab:hover{background:#f8fafc}.cpap-catalog-tab.is-active{border-color:#bfdbfe;background:#eff6ff;color:#1e40af;border-bottom-color:#bfdbfe}.cpap-catalog-tab__label .label-full{display:none}.cpap-catalog-tab__label .label-short{display:inline}.cpap-catalog-list__head{flex-wrap:wrap}.cpap-catalog-list__head .today-btn{min-height:36px}.cpap-catalog-fields--compact{grid-template-columns:1fr}.cpap-catalog-detail__footer{flex-wrap:wrap;padding-bottom:max(10px,env(safe-area-inset-bottom))}.cpap-catalog-detail__footer .today-btn,.cpap-catalog-detail__footer .btn-primary{min-height:40px}}@media (max-width: 640px){.cpap-catalog-tab{min-height:44px;padding:10px 12px}}@media (max-width: 900px){.cpap-catalog-split{flex-direction:column}.cpap-catalog-split--detail .cpap-catalog-list,.cpap-catalog-split--detail.cpap-catalog-split--sized .cpap-catalog-list{flex:0 0 auto;max-height:45%;min-height:220px}.cpap-catalog-split--detail .cpap-detail,.cpap-catalog-split--detail.cpap-catalog-split--sized .cpap-detail{flex:1 1 auto;min-width:0;min-height:0;width:auto!important}.cpap-catalog-resize-handle{display:none}.cpap-catalog-list{border-bottom:1px solid #e5e7eb}.cpap-catalog-fields>div{grid-template-columns:1fr}.cpap-catalog-fields dt{padding-top:0}}.cpap-followups-page .appt-list__cards{padding:12px 16px}.cpap-followups-page__banner{flex-shrink:0;padding:0 16px 8px}.cpap-followup-card.appt-card--actions{grid-template-columns:72px 34px minmax(0,1fr) auto auto;align-items:start}.cpap-followup-card .appt-card__time-hint{margin-top:3px;font-size:11px;line-height:1.2;color:#6b7280;white-space:nowrap}.cpap-followup-card .appt-card__time-hint.is-overdue{color:#d32f2f}.cpap-followup-card .appt-card__time-hint.is-due{color:#f57c00;font-weight:500}.cpap-followup-card__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.75rem,auto));gap:6px 14px;margin:4px 0 0}.cpap-followup-card__meta-wide{grid-column:1 / -1}.cpap-followup-card__meta dt{margin:0;font-size:10px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#9ca3af;line-height:1.2}.cpap-followup-card__meta dd{margin:1px 0 0;font-size:12px;font-weight:400;color:#374151;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cpap-followup-card .appt-card__avatar{margin-top:2px}.cpap-followup-card .appt-card__aside{align-self:start;padding-top:2px}.cpap-followup-editor{margin:0 0 8px;padding:12px 14px;border:1px solid #e5e7eb;border-top:none;background:#fafafa;display:grid;gap:10px}.cpap-followup-summary{display:grid;gap:12px}.cpap-followup-summary .cpap-setup-section__title:first-child{margin-top:0}.cpap-followup-editor__tags{display:flex;flex-wrap:wrap;gap:6px}.cpap-reports-body{flex:1;min-height:0;padding:0 0 16px;overflow:auto}.cpap-reports-toolbar{width:100%}.cpap-reports-toolbar>.date-range{margin-left:auto;flex:0 0 auto;width:auto}.cpap-reports-toolbar .date-range__nav{flex:0 0 auto}.cpap-reports-toolbar .date-range__nav input[type=date]{flex:0 0 auto;width:8.5rem;min-width:8.5rem}@media (max-width: 1024px){.cpap-reports-toolbar>.segment-toggle{flex:1 1 100%}.cpap-reports-toolbar>.date-range{flex:1 1 100%;margin-left:0;width:100%;height:auto;min-height:32px;flex-wrap:wrap}.cpap-reports-toolbar .date-range__presets.segment-toggle{flex:1 1 100%;height:auto;min-height:32px;border-right:none;border-bottom:1px solid #d8dce2;border-radius:0}.cpap-reports-toolbar .date-range__presets.segment-toggle button{flex:1 1 0;min-width:0;min-height:32px}.cpap-reports-toolbar .date-range__nav{flex:1 1 100%;min-width:0}.cpap-reports-toolbar .date-range__nav input[type=date]{flex:1 1 0;min-width:0;width:auto}}@media (max-width: 640px){.cpap-reports-toolbar .date-range__presets .label-full{display:none}.cpap-reports-toolbar .date-range__presets .label-short{display:inline}.cpap-reports-page .date-range__nav input[type=date]{font-size:16px}}.cpap-reports-page .cpap-reports-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:auto;max-height:calc(100vh - 220px)}.cpap-reports-table{width:100%;min-width:56rem;border-collapse:collapse;font-size:13px}.cpap-reports-table th{position:sticky;top:0;z-index:1;padding:8px 12px;border-bottom:1px solid #e5e7eb;background:#f9fafb;color:#687078;font-size:11px;font-weight:500;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.cpap-reports-table td{padding:9px 12px;border-bottom:1px solid #f3f4f6;color:#333;vertical-align:top}.cpap-reports-table tbody tr:hover{background:#f8fafc}.cpap-reports-table tbody tr:last-child td{border-bottom:none}.cpap-reports-table td.is-empty{color:#9ca3af}.cpap-reports-table__date{min-width:10.5rem}.cpap-reports-table__date-primary{display:block;white-space:nowrap}.cpap-reports-table__date-meta{display:block;margin-top:2px;color:#6b7280;font-size:12px;line-height:1.3;white-space:nowrap}.cpap-reports-table__serial{font-variant-numeric:tabular-nums;white-space:nowrap}.cpap-reports-table__name{min-width:9rem;white-space:nowrap}.cpap-reports-table__mask{white-space:nowrap}.cpap-reports-table__notes{min-width:12rem;max-width:22rem;color:#374151;font-size:12px;line-height:1.35;white-space:normal;word-break:break-word}@media (max-width: 1024px){.cpap-reports-page .cpap-reports-table-wrap{max-height:none}}.cpap-area-tabs a{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border-right:1px solid #d1d5db;background:#fff;font-size:13px;color:#333;text-decoration:none}.cpap-area-tabs a:last-child{border-right:none}.cpap-area-tabs a:hover:not(.is-active){background:#f3f4f6}.cpap-area-tabs a.is-active{background:#e3f2fd;color:#1976d2;font-weight:500}.cpap-followup-editor__exchange{display:grid;gap:8px;padding:10px 0 0;border-top:1px solid #e5e7eb}.cpap-followup-editor__exchange-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (max-width: 480px){.cpap-followup-editor__exchange-grid{grid-template-columns:1fr}}@media (max-width: 768px){.cpap-area-tabs{width:100%;overflow-x:auto;scrollbar-width:none}.cpap-area-tabs::-webkit-scrollbar{display:none}.cpap-area-tabs a{flex:1 0 auto;justify-content:center;white-space:nowrap}}.cpap-area-tabs .label-short{display:none}@media (max-width: 768px){.cpap-area-tabs .label-full{display:none}.cpap-area-tabs .label-short{display:inline}.cpap-area-tabs a{flex:1 1 0;min-width:0;justify-content:center;height:30px;font-size:12px}}
