:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#020617;--surface:#0f172aeb;--surface-muted:#1e293bb8;--text:#e2e8f0;--text-muted:#94a3b8;--border:#94a3b83d;--accent:#38bdf8;--success:#22c55e;--warning:#f59e0b;--danger:#f97316;--patient-background:#f8faf8;--patient-background-muted:#f1f5f2;--patient-surface:#fff;--patient-surface-soft:#edf7f1;--patient-surface-note:#fffdf2;--patient-surface-warning:#fff4e5;--patient-surface-muted:#e5e9e6;--patient-text:#191c1b;--patient-text-strong:#1f2924;--patient-text-muted:#414844;--patient-text-subtle:#64736b;--patient-heading:#012d1d;--patient-heading-strong:#073b2a;--patient-primary:#1b4332;--patient-primary-strong:#0b3f2c;--patient-primary-soft-text:#143c2a;--patient-warning-text:#5f370e;--patient-border:#d6ded8;--patient-border-strong:#b8c7bf;--patient-border-control:#cdd8d1;--patient-border-progress:#bcc8c0;--patient-disabled:#aeb8b2;--patient-nav-muted:#526058;--patient-radius-sm:.5rem;--patient-radius-md:.75rem;--patient-radius-lg:.85rem;--patient-width-entry:24rem;--patient-width-app:28rem;--patient-touch-target:3rem;--patient-shadow-nav:0 16px 40px #26372e29;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{overscroll-behavior:none;background:var(--background);width:100%;height:100%;overflow:hidden}body{overscroll-behavior:none;width:100%;height:100%;min-height:100%;color:var(--text);background:radial-gradient(circle at top,#38bdf82e,#0000 28%),linear-gradient(#020617 0%,#111827 100%);margin:0;overflow:hidden}body,button,input,textarea,select{font:inherit}body{-webkit-font-smoothing:antialiased}.page-shell{width:min(100%,64rem);height:100dvh;padding:max(1.5rem, env(safe-area-inset-top)) 1rem max(2rem, env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;gap:1rem;margin:0 auto;display:grid;overflow:hidden auto}.page-shell--debug{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.patient-entry-shell{height:100dvh;min-height:0;padding:max(2rem, env(safe-area-inset-top)) 1.25rem max(2rem, env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:var(--patient-background);color:var(--patient-text);place-items:center;display:grid;overflow:hidden auto}.patient-entry-card{width:min(100%, var(--patient-width-entry));gap:1rem;display:grid}.patient-entry-shell--onboarding{padding:max(.75rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));place-items:start center}.patient-entry-card--onboarding{min-height:calc(100vh - max(.75rem, env(safe-area-inset-top)) - max(1.25rem, env(safe-area-inset-bottom)));min-height:calc(100dvh - max(.75rem, env(safe-area-inset-top)) - max(1.25rem, env(safe-area-inset-bottom)));align-content:start}.patient-onboarding-header{z-index:3;grid-template-columns:var(--patient-touch-target) 1fr var(--patient-touch-target);background:linear-gradient(180deg, var(--patient-background) 72%, #f7f9f600);align-items:center;gap:.75rem;padding-bottom:.25rem;display:grid;position:sticky;top:0}.patient-onboarding-back{width:var(--patient-touch-target);min-height:var(--patient-touch-target);color:var(--patient-primary-strong);background:0 0;border:0;border-radius:999px;place-items:center;display:inline-grid}.patient-onboarding-header__spacer{width:var(--patient-touch-target);min-height:var(--patient-touch-target)}.patient-practitioner-strip{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:var(--patient-surface-soft);color:var(--patient-text-muted);flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;padding:.62rem .75rem;font-size:.92rem;line-height:1.25;display:flex}.patient-practitioner-strip strong{color:var(--patient-heading);font-weight:800}.patient-entry-kicker{color:var(--patient-text-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}.patient-entry-card h1{color:var(--patient-heading);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2rem,12vw,2.6rem);line-height:1.05}.patient-entry-card p{color:var(--patient-text-muted);margin:0;font-size:1.08rem;line-height:1.55}.patient-reminder-chart{background:linear-gradient(#ffffffdb,#f1f7f4bd);border:1px solid #82968e42;border-radius:.75rem;margin:0;overflow:hidden}.patient-reminder-chart svg{width:100%;height:auto;display:block}.patient-reminder-chart-surface{fill:#ffffffb8}.patient-reminder-chart-axis path{fill:none;stroke:#9eb3a9;stroke-linecap:round;stroke-width:2.5px}.patient-reminder-chart-axis-label{fill:#60716a;font-size:.8rem;font-weight:700}.patient-reminder-chart-area{stroke:none}.patient-reminder-chart-area-main{fill:url(#chartWithExerciseFill)}.patient-reminder-chart-area-muted{fill:url(#chartWithoutExerciseFill)}.patient-reminder-chart-line{fill:none;stroke-linecap:round;stroke-width:5.5px}.patient-reminder-chart-line-main{stroke:#0f766e}.patient-reminder-chart-line-muted{stroke:#60718b}.patient-reminder-chart-dot-main{fill:#0f766e}.patient-reminder-chart-dot-muted{fill:#60718b}.patient-reminder-chart-label{font-size:.86rem;font-weight:900}.patient-reminder-chart-label-main{fill:#0f766e;paint-order:stroke;stroke:#ffffffdb;stroke-linejoin:round;stroke-width:4px}.patient-reminder-chart-label-muted{fill:#55657c;opacity:.82;font-weight:800}.patient-entry-status,.patient-entry-alert{border-radius:var(--patient-radius-sm);padding:.9rem 1rem;font-size:.98rem}.patient-entry-status{background:var(--patient-surface-soft);color:var(--patient-primary-soft-text)}.patient-entry-alert{background:var(--patient-surface-warning);color:var(--patient-warning-text)}.patient-entry-alert p{color:inherit}.practitioner-qr-block{justify-items:start;gap:.65rem;display:grid}.practitioner-qr-image{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:#fff;width:12rem;max-width:100%;height:auto;padding:.65rem}.practitioner-qr-url{color:var(--patient-text-muted);overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.35}.practitioner-flyer-shell{gap:1rem}.practitioner-flyer-sheet{gap:1.1rem}.practitioner-flyer-sheet h1{color:var(--patient-heading);letter-spacing:0;margin:0;font-size:2.45rem;line-height:1.02}.practitioner-flyer-subtitle,.practitioner-flyer-script{color:var(--patient-text-muted);margin:0;font-size:1.08rem;line-height:1.45}.practitioner-flyer-script{color:var(--patient-primary-soft-text);font-weight:700}.practitioner-flyer-qr{text-align:center;justify-items:center;gap:.65rem;display:grid}.practitioner-flyer-qr-image{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:#fff;width:min(100%,15.5rem);height:auto;padding:.8rem}.practitioner-flyer-qr p{color:var(--patient-text-muted);overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.3}.practitioner-admin-shell{gap:1rem}.practitioner-admin-form,.practitioner-admin-grid{gap:.85rem;display:grid}.practitioner-admin-list{gap:1rem;display:grid}.practitioner-admin-card{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:var(--patient-surface);color:var(--patient-text);gap:1rem;padding:1rem;display:grid}.practitioner-admin-card__header{gap:.65rem;display:grid}.practitioner-admin-card__header h2{color:var(--patient-heading);letter-spacing:0;margin:0;font-size:1.45rem;line-height:1.12}.practitioner-admin-card__header>span{border-radius:var(--patient-radius-sm);background:var(--patient-surface-soft);width:fit-content;max-width:100%;color:var(--patient-primary-soft-text);overflow-wrap:anywhere;padding:.35rem .55rem;font-size:.86rem;font-weight:700}.practitioner-admin-meta{gap:.7rem;margin:0;display:grid}.practitioner-admin-meta div{gap:.18rem;display:grid}.practitioner-admin-meta dt{color:var(--patient-text-muted);align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.practitioner-admin-meta dd{color:var(--patient-text);overflow-wrap:anywhere;margin:0;line-height:1.42}.practitioner-admin-meta dd span{color:var(--patient-text-muted);display:block}.practitioner-admin-actions{gap:.6rem;display:grid}.practitioner-admin-field{color:var(--patient-text-muted);gap:.45rem;font-weight:700;display:grid}.practitioner-admin-field input{border:1px solid var(--patient-border-control);border-radius:var(--patient-radius-sm);background:var(--patient-surface);width:100%;min-height:3rem;color:var(--patient-text);padding:.75rem .85rem;line-height:1.35}.practitioner-admin-field input:focus{outline:2px solid var(--patient-primary);outline-offset:2px}@media print{html,body{height:auto;color:var(--patient-text);background:#fff;overflow:visible}.patient-app-shell.practitioner-flyer-shell{background:#fff;height:auto;min-height:0;padding:0;overflow:visible}.practitioner-flyer-shell .patient-secondary-action{display:none}.patient-app-panel.practitioner-flyer-sheet{border:0;width:min(100%,34rem);min-height:0;margin:0 auto}}@media (min-width:42rem){.practitioner-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practitioner-admin-field--wide{grid-column:1/-1}.practitioner-admin-card__header{grid-template-columns:1fr auto;align-items:start}.practitioner-admin-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}.patient-entry-list{color:var(--patient-text-muted);margin:0;padding-left:1.35rem;line-height:1.5}.patient-entry-list li{margin-bottom:.5rem}.patient-icon-list{padding-left:0;list-style:none}.patient-icon-list li{grid-template-columns:auto 1fr;align-items:start;gap:.55rem;display:grid}.patient-entry-alert .patient-entry-list,.patient-entry-status .patient-entry-list{margin-top:.75rem}.patient-install-screen{align-content:start;gap:1rem;display:grid}.patient-install-copy{gap:1rem;display:grid}.patient-install-screen--ios{gap:.85rem;padding-bottom:min(32vh,12rem)}.patient-install-screen--ios .patient-install-copy{gap:.7rem}.patient-install-screen--ios .patient-screen-icon{border-radius:var(--patient-radius-md);width:2.65rem;height:2.65rem}.patient-install-screen--ios h1{letter-spacing:0;font-size:clamp(1.8rem,8.5vw,2.25rem)}.patient-install-screen--ios .patient-install-copy p:not(.patient-entry-kicker){font-size:1rem;line-height:1.42}.patient-install-guide--ios{top:calc(var(--patient-touch-target) + .35rem);z-index:2;border:1px solid var(--patient-border-strong);background:#edf7f1fa;position:sticky;box-shadow:0 .7rem 1.5rem #22332a29}.patient-install-guide__label{color:var(--patient-primary-strong);margin:0;font-size:.86rem;font-weight:800;line-height:1.25}.patient-install-guide--ios .patient-entry-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .65rem;margin-top:.5rem;line-height:1.2;display:grid}.patient-install-guide--ios .patient-entry-list li{align-items:center;gap:.42rem;min-width:0;margin-bottom:0}.patient-install-guide--ios .patient-entry-list li span{gap:.05rem;min-width:0;display:grid}.patient-install-guide--ios .patient-entry-list strong{color:var(--patient-primary-strong);font-size:.95rem;line-height:1.05}.patient-install-guide--ios .patient-entry-list small{color:var(--patient-text-muted);font-size:.72rem;font-weight:700;line-height:1.05}.patient-file-input{display:none}.patient-entry-shell--supports{padding:max(.75rem, env(safe-area-inset-top)) 1rem max(.75rem, env(safe-area-inset-bottom));place-items:start center}.patient-entry-card--supports{width:min(100%, var(--patient-width-app));min-height:calc(100vh - max(.75rem, env(safe-area-inset-top)) - max(.75rem, env(safe-area-inset-bottom)));min-height:calc(100dvh - max(.75rem, env(safe-area-inset-top)) - max(.75rem, env(safe-area-inset-bottom)));grid-template-rows:auto minmax(0,1fr)}.patient-supports-screen{grid-template-rows:auto 1fr auto;gap:.85rem;min-height:0;display:grid}.patient-supports-back{width:2.65rem;min-height:2.65rem;color:var(--patient-primary-strong);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:inline-grid}.patient-supports-copy{gap:.55rem;display:grid}.patient-supports-title-row{text-align:center;place-items:center;min-height:2.65rem;display:grid;position:relative}.patient-supports-title-row h1{max-width:calc(100% - 5.8rem);color:var(--patient-heading);letter-spacing:0;margin:0;font-size:clamp(1.75rem,8.4vw,2.25rem);line-height:1.03}.patient-supports-title-row:not(.patient-supports-title-row--with-back) h1{max-width:100%}.patient-supports-title-row--with-back .patient-supports-back{position:absolute;top:50%;left:0;transform:translateY(-50%)}.patient-supports-copy p{max-width:32rem;color:var(--patient-text-muted);margin:0;font-size:1rem;line-height:1.35}.patient-support-card-list{align-content:start;gap:.8rem;display:grid}.patient-support-card{border:1px solid var(--patient-border);border-radius:var(--patient-radius-md);background:var(--patient-surface);gap:.75rem;padding:1rem;display:grid;box-shadow:0 .15rem .65rem #22332a14}.patient-support-card__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.patient-support-card__header h2{color:var(--patient-heading);letter-spacing:0;margin:0;font-size:1.55rem;font-weight:700;line-height:1.1}.patient-support-card__delete{width:2.5rem;min-height:2.5rem;color:var(--patient-text);background:0 0;border:0;border-radius:999px;place-items:center;display:inline-grid}.patient-support-card__separator{background:#d6ded8b8;height:1px}.patient-support-card__hint{color:var(--patient-text-muted);margin:-.15rem 0 0;font-size:.96rem;line-height:1.35}.patient-support-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.patient-support-tile{aspect-ratio:1;border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:#eef1ef;position:relative;overflow:hidden}.patient-support-preview-button{border-radius:inherit;color:#6e7772;background:#eef1ef;border:0;width:100%;height:100%;padding:0;display:block;overflow:hidden}.patient-support-preview{border-radius:inherit;object-fit:cover;width:100%;height:100%;transition:filter .16s,transform .16s;display:block}.patient-support-preview-button[aria-pressed=true] .patient-support-preview{filter:grayscale()brightness(.58);transform:scale(1.03)}.patient-support-kind{color:var(--patient-heading);background:#ffffffe0;border-radius:999px;padding:.22rem .45rem;font-size:.72rem;font-weight:800;position:absolute;bottom:.45rem;right:.45rem}.patient-support-loading{height:100%;color:var(--patient-text-subtle);place-items:center;font-weight:800;display:grid}.patient-support-delete-overlay{pointer-events:none;background:#131c1861;place-items:center;display:grid;position:absolute;inset:0}.patient-support-delete-button{background:var(--patient-surface);color:#7f1d1d;pointer-events:auto;border:0;border-radius:999px;place-items:center;width:3rem;height:3rem;padding:0;line-height:0;display:inline-grid;box-shadow:0 .35rem 1rem #0f172a33}.patient-support-delete-button svg{display:block}.patient-support-add-tile{aspect-ratio:1;border-radius:var(--patient-radius-sm);text-align:center;border:2px dashed var(--patient-border-strong);color:var(--patient-heading);background:0 0;align-content:center;place-items:center;gap:.6rem;padding:.8rem;font-weight:700;display:grid}.patient-support-add-kinds{color:var(--patient-text-subtle);align-items:center;gap:.35rem;display:inline-flex}.patient-support-add-exercise{min-height:var(--patient-touch-target);color:var(--patient-heading);background:0 0;border:0;justify-content:center;align-items:center;gap:.75rem;font-size:1.05rem;font-weight:700;display:inline-flex}.patient-support-actions{bottom:max(0rem, env(safe-area-inset-bottom));z-index:2;margin:0 -1rem calc(-1 * max(.75rem, env(safe-area-inset-bottom)));padding:.25rem 1rem max(.75rem, env(safe-area-inset-bottom));background:linear-gradient(180deg, #f7f9f600, var(--patient-background) 22%, var(--patient-background));gap:.65rem;display:grid;position:sticky}.patient-video-list,.patient-ready-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.patient-video-list li,.patient-ready-list li{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:var(--patient-surface);color:var(--patient-text-strong);grid-template-columns:auto 1fr;align-items:center;gap:.2rem .65rem;padding:.85rem .95rem;display:grid}.patient-video-list span{font-weight:700}.patient-video-list small{color:var(--patient-text-subtle);grid-column:2}.patient-ready-list span{grid-column:2}.patient-ready-consent{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:var(--patient-surface);gap:.75rem;padding:.95rem;display:grid}.patient-ready-consent p{font-size:1rem;line-height:1.4}.patient-step-meter{background:var(--patient-border);border-radius:999px;height:.35rem;overflow:hidden}.patient-step-meter span{border-radius:inherit;background:var(--patient-primary);height:100%;display:block}.patient-choice-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.patient-choice{border:1px solid var(--patient-border-control);border-radius:var(--patient-radius-sm);background:var(--patient-surface);color:#24332c;cursor:pointer;place-items:center;gap:.18rem;min-height:4.2rem;padding:.65rem .5rem;display:grid}.patient-choice--selected{border-color:var(--patient-primary);background:var(--patient-surface-soft)}.patient-choice span{font-size:.85rem}.patient-choice strong{font-size:1rem}.patient-time-field{color:var(--patient-text-muted);gap:.45rem;font-weight:700;display:grid}.patient-time-field--selected{border:1px solid var(--patient-primary);border-radius:var(--patient-radius-sm);background:var(--patient-surface-soft);padding:.75rem}.patient-time-field--selected span{color:var(--patient-primary-strong)}.patient-time-field input{border:1px solid var(--patient-border-control);border-radius:var(--patient-radius-sm);background:var(--patient-surface);min-height:3rem;color:var(--patient-text);padding:.7rem .85rem}.patient-primary-action{min-height:var(--patient-touch-target);border-radius:var(--patient-radius-sm);background:var(--patient-primary);color:var(--patient-surface);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:.85rem 1rem;font-weight:700;text-decoration:none;transition-property:transform,background-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:inline-flex}.patient-secondary-action{min-height:var(--patient-touch-target);border:1px solid var(--patient-border-strong);border-radius:var(--patient-radius-sm);background:var(--patient-surface);color:var(--patient-primary);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1rem;font-weight:700;text-decoration:none;transition-property:transform,border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:inline-flex}.patient-primary-action:active,.patient-secondary-action:active,.patient-choice:active,.patient-bottom-nav__item:active{transform:scale(.96)}.patient-primary-action:disabled{background:var(--patient-disabled);cursor:not-allowed}.patient-app-shell{height:100dvh;min-height:0;padding:max(1.25rem, env(safe-area-inset-top)) 1rem calc(5rem + env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:var(--patient-background);color:var(--patient-text);align-content:start;justify-items:center;display:grid;overflow:hidden auto}.patient-app-shell--consultation{background:var(--patient-background-muted)}.patient-app-panel{width:min(100%, var(--patient-width-app));gap:1rem;display:grid}.patient-app-panel h1{color:var(--patient-heading);text-wrap:balance;margin:0;font-size:2rem;line-height:1.1}.patient-app-panel p{color:var(--patient-text-muted);margin:0;line-height:1.55}.patient-video-player{aspect-ratio:16/9;border-radius:var(--patient-radius-sm);background:#111814;width:100%}.patient-reference-stack{gap:.75rem;display:grid}.patient-reference-image-button{width:100%;min-height:var(--patient-touch-target);border-radius:var(--patient-radius-sm);background:var(--patient-surface-soft);color:var(--patient-primary);cursor:zoom-in;border:0;padding:0;transition-property:transform,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:block;position:relative;box-shadow:0 0 0 1px #1b43321a,0 10px 28px #26372e1a}.patient-reference-image-button:active{transform:scale(.96)}.patient-reference-image{aspect-ratio:16/9;border-radius:var(--patient-radius-sm);background:var(--patient-surface-soft);object-fit:contain;width:100%;display:block}.patient-reference-image-zoom{min-width:2.5rem;min-height:2.5rem;color:var(--patient-primary);background:#ffffffeb;border-radius:999px;place-items:center;display:inline-grid;position:absolute;top:.65rem;right:.65rem;box-shadow:0 0 0 1px #1b43321f,0 10px 22px #1b433224}body.patient-photo-lightbox-open .patient-app-shell{overflow:hidden}.patient-photo-lightbox{z-index:80;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));cursor:zoom-out;background:#030c08e0;place-items:center;display:grid;position:fixed;inset:0}.patient-photo-lightbox__frame{width:min(100%, var(--patient-width-app));cursor:default;place-items:center;max-height:calc(100dvh - 7rem);display:grid}.patient-photo-lightbox__image{border-radius:var(--patient-radius-sm);background:var(--patient-surface);object-fit:contain;max-width:100%;max-height:calc(100dvh - 7rem);box-shadow:0 0 0 1px #ffffff24,0 24px 72px #00000057}.patient-photo-lightbox__close{right:max(1rem, env(safe-area-inset-right));top:max(1rem, env(safe-area-inset-top));min-width:3rem;min-height:3rem;color:var(--patient-primary);cursor:pointer;background:#fffffff5;border:1px solid #ffffff3d;border-radius:999px;place-items:center;transition-property:transform,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:inline-grid;position:fixed;box-shadow:0 14px 32px #0000002e}.patient-photo-lightbox__close:active{transform:scale(.96)}.patient-note-field,.patient-range-field{color:var(--patient-text-muted);gap:.45rem;font-weight:700;display:grid}.patient-field-label{align-items:center;gap:.4rem;display:inline-flex}.patient-note-field textarea{resize:vertical;border:1px solid var(--patient-border-control);border-radius:var(--patient-radius-sm);background:var(--patient-surface-note);width:100%;color:var(--patient-text);padding:.8rem;line-height:1.45}.patient-range-field input{width:100%;accent-color:var(--patient-primary)}.patient-choice-stack{gap:.65rem;display:grid}.patient-reminder-editor{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:var(--patient-surface);gap:.75rem;margin-top:.25rem;padding:.9rem;display:grid}.patient-reminder-editor__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.patient-reminder-editor__summary{color:var(--patient-primary);align-items:center;gap:.65rem;display:flex}.patient-reminder-editor__summary div{gap:.1rem;display:grid}.patient-reminder-editor__summary span{color:var(--patient-text-muted);font-size:.85rem;font-weight:700}.patient-reminder-editor__summary strong{color:var(--patient-heading);font-size:1.2rem}.patient-reminder-editor__edit{border:1px solid var(--patient-border-control);border-radius:var(--patient-radius-sm);background:var(--patient-surface-soft);min-width:2.75rem;min-height:2.75rem;color:var(--patient-primary);cursor:pointer;place-items:center;transition-property:transform,border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:inline-grid}.patient-reminder-editor__edit:active{transform:scale(.96)}.patient-reminder-editor__time-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.6rem;display:grid}.patient-reminder-editor__delete{border:1px solid var(--patient-border-control);border-radius:var(--patient-radius-sm);background:var(--patient-surface);min-width:3rem;min-height:3rem;color:var(--patient-warning-text);cursor:pointer;place-items:center;padding:0 .8rem;font-weight:800;transition-property:transform,border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:inline-grid}.patient-reminder-editor__delete:active{transform:scale(.96)}.patient-reminder-editor__delete:disabled{cursor:not-allowed;opacity:.65}.patient-reminder-editor__status{color:var(--patient-primary);font-weight:700}.patient-bottom-nav{right:1rem;bottom:max(.75rem, env(safe-area-inset-bottom));width:min(calc(100% - 2rem), var(--patient-width-app));border:1px solid var(--patient-border);border-radius:var(--patient-radius-md);box-shadow:var(--patient-shadow-nav);background:#fffffff0;grid-template-columns:repeat(2,1fr);gap:.35rem;margin:0 auto;padding:.35rem;display:grid;position:fixed;left:1rem}.patient-bottom-nav__item{border-radius:var(--patient-radius-sm);min-height:2.6rem;color:var(--patient-nav-muted);justify-content:center;align-items:center;gap:.35rem;font-weight:700;text-decoration:none;transition-property:transform,background-color,color;transition-duration:.15s;transition-timing-function:cubic-bezier(.2,0,0,1);display:inline-flex}.patient-bottom-nav__item--active{background:var(--patient-primary);color:var(--patient-surface)}.patient-progress-shell{padding:0 0 calc(6.25rem + env(safe-area-inset-bottom));justify-items:initial;background:var(--patient-background);display:block}.patient-progress-content{width:min(100%, var(--patient-width-app));padding:max(1.75rem, env(safe-area-inset-top)) 1.15rem 0;gap:1.45rem;margin:0 auto;display:grid}.patient-progress-heading{gap:.65rem;display:grid}.patient-progress-heading h1{color:#111615;letter-spacing:0;margin:0;font-size:2.65rem;line-height:.98}.patient-progress-heading p{color:#3f4642;margin:0;font-size:1.4rem;line-height:1.15}.patient-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.patient-progress-stat-card,.patient-progress-card{border:1px solid var(--patient-border-progress);background:var(--patient-surface);border-radius:.7rem}.patient-progress-stat-card{align-content:center;gap:1rem;min-height:8.3rem;padding:1.5rem 1.45rem;display:grid}.patient-progress-stat-card h2{color:#222925;letter-spacing:.12em;white-space:nowrap;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800;line-height:1.2}.practitioner-value-stats .patient-progress-stat-card h2{letter-spacing:.08em;white-space:normal}.patient-progress-stat-card p{color:#202826;align-items:baseline;gap:.45rem;margin:0;display:flex}.patient-progress-stat-card strong{color:var(--patient-primary-strong);font-size:2.75rem;line-height:.9}.patient-progress-stat-card span{font-size:1.05rem;line-height:1}@media (max-width:30rem){.practitioner-value-stats{grid-template-columns:1fr}}.patient-progress-card{gap:1.55rem;padding:1.9rem 1.5rem 1.55rem;display:grid}.patient-progress-card h2{color:#050807;letter-spacing:0;margin:0;font-size:1.75rem;font-weight:500;line-height:1.1}.patient-progress-month{color:#242b28;letter-spacing:.08em;margin:0;font-size:.95rem;font-weight:800}.patient-progress-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem .7rem;display:grid}.patient-progress-calendar-day{aspect-ratio:1;color:#143b2c;border:1px solid #0000;border-radius:.2rem;place-items:center;font-size:.95rem;line-height:1;display:grid}.patient-progress-calendar-day--done{background:#cfead0}.patient-progress-calendar-day--partial{background:#afcbb4}.patient-progress-calendar-day--missed{background:var(--patient-surface-muted);color:#29312e}.patient-progress-calendar-day--future{border-color:var(--patient-border-strong);background:var(--patient-surface);color:#707873}.patient-progress-legend{color:#2d3431;flex-wrap:wrap;gap:.95rem 1.15rem;font-size:1.08rem;display:flex}.patient-progress-legend span{align-items:center;gap:.55rem;display:inline-flex}.patient-progress-legend-swatch{border-radius:.2rem;width:1.35rem;height:1.35rem;display:inline-block}.patient-progress-legend-swatch--done{background:#cfead0}.patient-progress-legend-swatch--partial{background:#afcbb4}.patient-progress-legend-swatch--missed{background:var(--patient-surface-muted)}.patient-progress-card--chart{padding-bottom:2rem}.patient-progress-line-chart{width:100%;min-height:14rem;overflow:visible}.patient-progress-chart-grid-line{fill:none;stroke:#d5dbd7;stroke-width:1px}.patient-progress-chart-label{fill:#1f2824;font-size:1rem}.patient-progress-chart-path{fill:none;stroke:var(--patient-primary-strong);stroke-linecap:round;stroke-linejoin:round;stroke-width:7px}.patient-progress-chart-dot{fill:var(--patient-primary-strong)}.patient-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.patient-summary-grid div{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:var(--patient-surface);grid-template-columns:auto 1fr;gap:.35rem;padding:.9rem;display:grid}.patient-summary-grid div span,.patient-summary-grid div strong{grid-column:2}.patient-summary-grid span{color:var(--patient-text-subtle);font-size:.85rem}.patient-summary-grid strong{color:var(--patient-heading);font-size:1.25rem;line-height:1.1}.patient-summary-grid--secondary strong{font-size:1.45rem}.patient-progress-section{gap:.75rem;display:grid}.patient-progress-section h2{color:var(--patient-heading);margin:0;font-size:1.15rem}.patient-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.patient-calendar-day{border-radius:var(--patient-radius-sm);border:1px solid var(--patient-border);background:var(--patient-surface);align-content:space-between;gap:.25rem;min-height:4.2rem;padding:.55rem .45rem;display:grid}.patient-calendar-day span{color:var(--patient-text-subtle);font-size:.8rem}.patient-calendar-day strong{color:var(--patient-text-strong);font-size:.72rem}.patient-calendar-day small{color:var(--patient-text-subtle);font-size:.72rem}.patient-calendar-day--empty{background:#f9fbfa}.patient-calendar-day--done{background:var(--patient-surface-soft)}.patient-calendar-day--partial{background:#fff8df}.patient-calendar-day--skipped{background:#fff0e8}.patient-discomfort-chart{border:1px solid var(--patient-border);border-radius:var(--patient-radius-sm);background:var(--patient-surface);grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:.45rem;height:8rem;padding:.75rem;display:grid}.patient-discomfort-bar{place-items:end center;gap:.25rem;min-width:0;height:100%;display:grid}.patient-discomfort-bar span{background:var(--patient-primary);border-radius:999px 999px .25rem .25rem;width:100%;max-width:1.4rem;display:block}.patient-discomfort-bar small{color:var(--patient-text-subtle);font-size:.75rem}.patient-screen-icon{border-radius:var(--patient-radius-lg);background:var(--patient-surface-soft);width:3rem;height:3rem;color:var(--patient-primary);place-items:center;display:inline-grid}.patient-action-icon,.patient-nav-icon,.patient-choice-icon,.patient-list-icon,.patient-summary-icon{flex:none}.patient-action-icon{justify-content:center;align-items:center;display:inline-flex}.patient-action-icon svg{display:block}.patient-choice-icon{justify-content:center;align-items:center;display:inline-flex}.patient-choice-icon svg{display:block}.patient-list-icon,.patient-summary-icon{color:var(--patient-primary)}.patient-icon-list .patient-list-icon{width:1.125rem;height:1.125rem;margin-top:.12rem}.patient-ios-icon-ring,.patient-ios-icon-stroke{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.patient-ios-icon-dot{fill:currentColor}.hero-card,.status-panel{border:1px solid var(--border);background:var(--surface);border-radius:1.25rem;box-shadow:0 24px 48px #0f172a47}.hero-card{padding:1.5rem}.hero-card h1,.status-panel h2{margin:0 0 .75rem;line-height:1.1}.lede,.status-panel p,.status-panel li,.status-row dd span{color:var(--text-muted)}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .5rem;font-size:.8rem;font-weight:700}.build-badge{color:#bae6fd;letter-spacing:.02em;background:#082f4973;border:1px solid #38bdf84d;border-radius:999px;width:fit-content;margin:0 0 .9rem;padding:.4rem .7rem;font-size:.78rem}.status-panel{gap:1rem;padding:1.5rem;display:grid}.status-panel__header{gap:.35rem;display:grid}.status-grid{gap:.75rem;margin:0;display:grid}.status-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:1rem;gap:.35rem;padding:.9rem 1rem;display:grid}.status-row dt{font-weight:700}.status-row dd{gap:.45rem;margin:0;display:grid}.status-pill{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;width:fit-content;padding:.25rem .6rem;font-size:.8rem}.status-pill--supported{color:#86efac;background:#22c55e2e}.status-pill--unsupported{color:#fdba74;background:#f9731629}.status-pill--blocked{color:#fcd34d;background:#f59e0b29}.status-pill--pending{color:#bae6fd;background:#38bdf829}.status-callout{background:#7c2d122e;border:1px solid #f59e0b3d;border-radius:1rem;padding:1rem}.status-callout--muted{border-color:var(--border);background:#0f172a8c}.status-callout p{margin-bottom:0}.status-actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}button{color:var(--text);background:#082f49b3;border:1px solid #38bdf847;border-radius:999px;padding:.65rem 1rem}button:disabled{opacity:.55}.status-notes{gap:.4rem;margin:0;padding-left:1.2rem;display:grid}@media (min-width:640px){.page-shell{padding-left:1.5rem;padding-right:1.5rem}}
