.clinical-session{max-width:1440px;margin:0 auto;padding-bottom:110px;color:var(--ink)}.session-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.session-header h1{font:700 24px/1.25 Manrope,sans-serif;margin:0;letter-spacing:-.5px}.session-header p{margin:5px 0 0;color:#625360;font-size:13px}.session-identity{min-width:0;flex:1}.session-back{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;color:var(--plum);background:#fff;font-size:24px}.session-state{color:var(--plum);font-size:12px;font-weight:700}.session-safety{padding:12px 18px;border-left:3px solid #c9b5c6;background:#f3edf4;margin-bottom:12px}.session-safety.has-warning{background:#fff7ed;border-color:#a97849}.session-safety summary{min-height:32px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;cursor:pointer}.session-safety summary span{font-size:12px;color:#625360}.session-safety .medical-risk-summary{margin-top:14px}.session-section-nav{display:flex;gap:4px;overflow-x:auto;padding:4px 0 14px}.session-section-nav button{flex-shrink:0;min-height:48px;padding:8px 16px;border:0;border-bottom:2px solid #c8b4c5;color:var(--plum);font-size:13px;font-weight:700;background:transparent;cursor:pointer}.session-section-nav button:focus-visible,.session-checklist button:focus-visible{outline:2px solid var(--plum);outline-offset:2px}.session-composition{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(0,1.5fr);gap:28px;align-items:start}.session-documentation,.session-chart{min-width:0}.session-section{padding:20px 0;border:0;border-bottom:1px solid #e2d8e1;border-radius:0;box-shadow:none;background:transparent;scroll-margin-top:24px}.session-section h2{margin:0 0 16px;font:700 18px Manrope,sans-serif}.session-context{padding-top:0}.session-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.session-section-title h2{margin:0}.session-section-title>span{font-size:12px;color:#625360}.session-text-documentation>p{margin:-4px 0 14px;color:#625360;font-size:13px;line-height:1.55}.session-text-documentation textarea{min-height:260px;resize:vertical;line-height:1.65}.treatment-product-optional{color:var(--muted);font-weight:500}.session-details summary{cursor:pointer;min-height:48px;display:flex;gap:12px;align-items:center;font-weight:700;font-size:14px}.session-details summary:after{content:"⌄";margin-left:auto;color:var(--plum)}.session-details[open] summary:after{content:"⌃"}.session-details summary span{font-size:12px;color:#625360;font-weight:500}.session-details-body{padding-top:14px;display:grid;gap:16px}.clinical-session .field input,.clinical-session .field select,.clinical-session .face-map-point-fields input,.clinical-session .face-map-point-fields select{min-height:48px;font-size:16px}.clinical-session textarea{min-height:112px;font-size:16px}.clinical-session .btn,.clinical-session .text-action,.clinical-session .face-map-actions button,.clinical-session .face-map-remove-point{min-height:48px}.clinical-session .treatment-product-usage-row{grid-template-columns:minmax(0,1fr) 48px;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:18px 0}.clinical-session .treatment-product-usage-fields{grid-template-columns:minmax(0,1fr)}.clinical-session .treatment-product-row-number{display:none}.clinical-session .treatment-product-remove{width:48px;height:48px;align-self:start}.clinical-session .treatment-quantity{max-width:220px}.clinical-session .treatment-unit{font-size:16px}.clinical-session .treatment-product-usages-heading small{max-width:300px;font-size:12px}.clinical-session .face-map-workflow-layout{grid-template-columns:minmax(0,1.4fr) minmax(185px,.7fr);gap:16px}.clinical-session .face-map-stage{background:#fff;border:1px solid #e3d8e1;border-radius:12px;padding:8px;min-width:0}.clinical-session .face-map-svg-wrap{width:100%;max-width:480px}.clinical-session .face-map-context-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.clinical-session .face-map-point-context{order:-1;position:sticky;top:12px;background:#f3edf4}.clinical-session .face-map-help-card{padding:0;background:transparent;border:0}.clinical-session .face-map-help-card p,.clinical-session .face-map-help-kicker,.clinical-session .face-map-region-summary{display:none}.face-map-single-product{display:grid;gap:6px;font-size:13px}.face-map-single-product span{color:#625360;font-size:12px}.session-photo-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.session-photo-pair>div{min-width:0}.session-photo-pair .guided-front-slot{grid-template-columns:80px minmax(0,1fr)}.session-photo-pair h3{font-size:14px;margin:0 0 12px}.session-readiness{margin-top:24px;padding:20px;background:#f1eaf2;border:0;border-radius:10px}.session-readiness h2{margin-bottom:6px}.session-readiness p{font-size:12px;color:#625360;margin:0}.session-checklist{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.session-checklist button{min-height:48px;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 14px;border:1px solid #d5c2d2;background:#fff;color:var(--ink);border-radius:8px;cursor:pointer}.session-checklist button span{color:var(--plum);font-weight:800}.session-dock{position:fixed;bottom:calc(var(--session-keyboard-inset,0px) + env(safe-area-inset-bottom));right:24px;left:334px;z-index:15;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #d8c8d5;border-radius:12px 12px 0 0;background:#fff;box-shadow:0 -4px 18px #3923330c}.session-dock-context{flex:1;min-width:0;font-size:13px;font-weight:700}.session-dock-context small{display:block;margin-top:3px;color:#625360;font-size:11px;font-weight:500}.session-confirm{max-width:520px}.session-confirm p{line-height:1.65}body:has(.clinical-session) .pwa-notice{bottom:calc(94px + var(--session-keyboard-inset,0px) + env(safe-area-inset-bottom))}body:has(.clinical-session) .topbar{height:58px}body:has(.clinical-session) .page-wrap{padding-top:24px}.profile-head-refined{padding:22px 24px}.profile-head-refined h1{font-size:26px}.profile-secondary-actions summary{cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:flex-end;color:var(--plum);font-size:13px;font-weight:700}.profile-secondary-actions[open]{position:relative}.profile-secondary-actions>div{display:flex;flex-wrap:wrap;gap:12px}.profile-secondary-actions button,.profile-secondary-actions a{min-height:44px}.patient-last-treatment{margin-bottom:18px}.appointment-drawer .drawer-actions .btn,.appointment-drawer .icon-btn{min-height:48px}.clinic-event{display:flex;padding:0}.clinic-event-open{flex:1;min-width:0;border:0;padding:5px 10px;text-align:left;background:transparent;color:inherit;cursor:pointer}.clinic-event-start{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:8px 16px;color:var(--plum);font-size:12px;font-weight:800;border-left:1px solid #d7c4d1;background:#ffffff8c}.clinic-event-start:focus-visible{outline:2px solid var(--plum);outline-offset:-3px}.clinical-session .face-map-workflow-layout{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:18px;align-items:start}.clinical-session .face-map-stage{display:grid;gap:12px;padding:10px}.clinical-session .face-map-svg-wrap{width:100%;max-width:none;padding:0;border:0;background:transparent}.clinical-session .face-map-context-panel{display:grid;gap:12px;min-width:0}.clinical-session .face-map-point-context{position:static;order:0;padding:14px;border:1px solid #dfd3de;border-radius:10px;background:#fff}.face-map-map-hint{margin:0;color:#5f5360;font-size:13px;line-height:1.5}.face-map-empty{display:grid;gap:6px;padding:17px;border:1px dashed #d7cad5;border-radius:10px;background:#fff}.face-map-empty strong{font-size:14px}.face-map-empty span,.face-map-panel-heading p,.face-map-total-products>p{margin:0;color:#6b606c;font-size:12px;line-height:1.5}.face-map-point-heading{display:flex;align-items:center;gap:9px}.face-map-point-heading strong{font-size:14px}.face-map-region-correction{display:grid;gap:6px;color:#645965;font-size:12px;font-weight:700}.face-map-region-correction select,.face-map-allocation-row select,.face-map-allocation-row input{width:100%;min-width:0;min-height:46px;padding:8px 10px;border:1px solid #dcd3dc;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px}.face-map-legacy-dose{margin:0;color:#615661;font-size:12px;line-height:1.5}.face-map-remove-point{display:inline-flex;align-items:center;gap:7px;min-height:44px}.face-map-treated-regions,.face-map-total-products{display:grid;gap:10px;min-width:0}.face-map-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.face-map-panel-heading h3,.face-map-total-products h3{margin:0;font-size:16px;line-height:1.3}.face-map-panel-heading p{margin-top:3px}.face-map-panel-heading>span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:#f2edf3;color:var(--plum);font-size:13px;font-weight:800}.face-map-region-cards{display:grid;gap:9px}.face-map-region-card{min-width:0;padding:12px 13px;border:1px solid #e0d8e0;border-radius:10px;background:#fff}.face-map-region-card>header{display:flex;align-items:center;gap:9px;min-height:28px}.face-map-region-card>header strong{font-size:14px}.face-map-region-count{margin-left:auto;color:#665c67;font-size:12px}.face-map-allocation-list{display:grid;gap:9px;margin-top:9px}.face-map-allocation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(115px,.5fr) 44px;gap:8px;align-items:end;min-width:0}.face-map-allocation-row>label{display:grid;gap:5px;min-width:0;color:#675d68;font-size:11px;font-weight:700}.face-map-allocation-row select,.face-map-allocation-row input{min-height:46px;font-size:14px}.face-map-allocation-row input:disabled{background:#f6f3f6}.face-map-allocation-row>span{display:grid;gap:3px;min-width:0;padding:5px 0}.face-map-allocation-row>span strong{overflow:hidden;text-overflow:ellipsis;font-size:13px}.face-map-allocation-row>span small{color:#615661;font-size:12px}.face-map-allocation-remove{display:grid;place-items:center;width:44px;height:46px;border:1px solid #ead9df;border-radius:8px;background:#fff;color:#8a4b5e;cursor:pointer}.face-map-fill-remaining{grid-column:1/-1;justify-self:start;min-height:38px;padding:5px 0;border:0;background:transparent;color:var(--plum);font-size:12px;font-weight:700;cursor:pointer}.face-map-add-allocation{display:inline-flex;align-items:center;justify-self:start;gap:7px;min-height:42px;margin-top:7px;padding:7px 10px;border:1px solid #d7cad8;border-radius:8px;background:#fff;color:var(--plum);font-size:13px;font-weight:700;cursor:pointer}.face-map-add-allocation:disabled{color:#7c727d;cursor:not-allowed}.face-map-region-no-allocation{margin:8px 0 0;color:#706572;font-size:12px}.face-map-allocation-hint{margin:0 0 12px;color:#6b606c;font-size:12px;line-height:1.45}.face-map-total-products{padding:13px 14px;border:1px solid #e0d8e0;border-radius:10px;background:#faf8fa}.face-map-total-products>p{margin-top:-5px}.face-map-total-products ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.face-map-total-products li{display:grid;gap:3px;padding:9px 0;border-top:1px solid #e7e0e7}.face-map-total-products li>div{display:flex;justify-content:space-between;gap:10px;font-size:13px}.face-map-total-products li>div span{white-space:nowrap;font-weight:700}.face-map-total-products li>small{color:#645965;font-size:11px;line-height:1.4}.face-map-total-products li.is-overallocated>small{color:#9b3548;font-weight:700}.clinical-session .face-map-actions{display:flex;flex-wrap:wrap;gap:8px}.clinical-session .face-map-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px}.clinical-session .face-map-stage{scroll-margin-bottom:130px}.clinical-session:has(.face-map-workflow-layout){padding-bottom:150px}@media(min-width:900px){.clinical-session .face-map-workflow-layout{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)}}@media(max-width:1200px){.session-composition{grid-template-columns:minmax(0,1fr);gap:0}.session-chart{order:1}.session-documentation{display:contents}.session-context,#session-products{order:0}#session-clinical{order:2}#session-notes,#session-control{order:3}}@media(max-width:899px){.clinical-session .face-map-workflow-layout{grid-template-columns:minmax(0,1fr);gap:14px}.clinical-session .face-map-stage{max-width:680px;width:100%;margin-inline:auto}.clinical-session .face-map-svg-wrap{width:100%;max-width:620px;margin-inline:auto}.clinical-session .face-map-context-panel{width:100%;max-width:none;margin:0}}@media(max-width:600px){.clinical-session .face-map-stage{padding:6px}.face-map-region-card{padding:11px}.face-map-allocation-row{grid-template-columns:minmax(0,1fr) 44px;gap:7px}.face-map-allocation-row>label:first-child,.face-map-allocation-amount,.face-map-fill-remaining{grid-column:1}.face-map-allocation-remove{grid-column:2;grid-row:1}.face-map-allocation-row>span{grid-column:1}.clinical-session .face-map-actions .btn{flex:1}}@media(max-width:1100px){.treatment-detail-layout{grid-template-columns:minmax(0,1fr)}.treatment-detail-actions{flex-wrap:wrap}.treatment-photo-upload{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.treatment-photo-upload>div{grid-column:1/-1}.treatment-photo-upload .photo-inline-input{min-width:0}}@media(min-width:900px)and (max-width:1700px){body:has(.clinical-session) .sidebar{width:88px}body:has(.clinical-session) .main{margin-left:88px}body:has(.clinical-session) .sidebar .brand-wordmark,body:has(.clinical-session) .sidebar .clinic-name,body:has(.clinical-session) .sidebar .nav-item span,body:has(.clinical-session) .sidebar .user-mini>div,body:has(.clinical-session) .sidebar .logout-link span{display:none}body:has(.clinical-session) .sidebar .nav-item{justify-content:center}body:has(.clinical-session) .sidebar{padding-inline:10px}body:has(.clinical-session) .sidebar .brand{padding-inline:0;justify-content:center}body:has(.clinical-session) .sidebar .brand-logo-horizontal{display:none}body:has(.clinical-session) .sidebar .brand-home{display:flex;justify-content:center}body:has(.clinical-session) .sidebar .brand-logo-icon{display:block;width:48px}body:has(.clinical-session) .sidebar-branding{padding:0;margin-bottom:19px}body:has(.clinical-session) .session-dock{left:112px}}@media(max-width:1099px){.session-composition{grid-template-columns:minmax(0,1fr);gap:0}.session-chart{order:1}.session-documentation{display:contents}.session-context,#session-products{order:0}#session-clinical{order:2}#session-notes,#session-control{order:3}.session-dock{left:104px;right:16px}}@media(max-width:760px){.session-header{gap:10px}.session-header h1{font-size:20px}.session-header>.avatar{display:none}.session-dock{left:8px;right:8px;padding:10px}.session-dock-context{display:none}.session-dock .btn{flex:1;padding:10px;font-size:12px}.clinical-session .face-map-workflow-layout{grid-template-columns:minmax(0,1fr)}.clinical-session .face-map-svg-wrap{max-width:380px}.clinical-session .face-map-context-panel{display:grid;grid-template-columns:minmax(0,1fr)}.clinical-session .face-map-point-context{position:static}.session-photo-pair{grid-template-columns:minmax(0,1fr)}.session-state{font-size:11px}.session-section-nav button{padding-inline:12px}}@media(max-width:767px){.session-section-nav{position:sticky;top:58px;z-index:8;margin-inline:-12px;padding:4px 12px 12px;background:linear-gradient(to bottom,var(--surface) 80%,rgb(250 248 250 / 0%));overscroll-behavior-x:contain;scrollbar-width:thin}.session-section-nav button{min-height:48px;white-space:nowrap}.session-dock{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(var(--session-keyboard-inset, 0px) + env(safe-area-inset-bottom));gap:6px;padding:8px}.session-dock .btn{min-width:0;max-width:100%;min-height:48px;justify-content:center;padding:7px 5px;font-size:11px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;text-align:center}.session-dock .btn svg{flex:0 0 auto;width:15px;height:15px}.clinical-session .face-map-svg{touch-action:pan-y pinch-zoom}body:has(.clinical-session) .pwa-notice.is-install,body:has(.clinical-session form[data-pwa-unsaved=true]) .pwa-notice{display:none}}@media(max-width:360px){.session-section-nav-label{display:none}.session-dock{gap:5px;padding:7px 6px}.session-dock .btn{padding-inline:3px;font-size:10px}}
