:root{color-scheme:light;--ink: #172b32;--muted: #63757a;--line: #dce5e4;--canvas: #f7f9f8;--surface: #fff;--brand: #176b65;--brand-dark: #0c514c;--brand-soft: #e7f3f0;--nav: #102f38;--warning: #9a5c12;--warning-soft: #fff6e7;--danger: #a33b38;--danger-soft: #fff0ef;--success: #34715b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas);line-height:1.5}button,input,select,textarea{font:inherit}button,.button{min-height:44px;padding:.65rem 1rem;border:1px solid #b9c9c7;border-radius:9px;background:var(--surface);color:var(--ink);font-weight:700;cursor:pointer}button:hover:not(:disabled),.button:hover{border-color:#6b9690;background:#f6faf9}button:disabled,.button.disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.button:focus-within{outline:3px solid #74b8b0;outline-offset:2px}button.primary{color:#fff;border-color:var(--brand);background:var(--brand);box-shadow:0 5px 16px #176b652e}button.primary:hover:not(:disabled){background:var(--brand-dark)}button.quiet{border-color:transparent;background:transparent;box-shadow:none}.danger-text{color:var(--danger)}h1,h2,h3,p{overflow-wrap:break-word}h1{margin:.15rem 0 .45rem;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.12;letter-spacing:-.035em}h2{margin:.15rem 0 .4rem;font-size:1.25rem;line-height:1.25}p{margin:.35rem 0}small{color:var(--muted)}label{display:grid;gap:.45rem;color:#2b4147;font-weight:750}input,select,textarea{width:100%;min-height:46px;padding:.72rem .8rem;border:1px solid #aec0be;border-radius:9px;background:#fff;color:var(--ink)}textarea{resize:vertical;line-height:1.6}.eyebrow{margin:0;color:var(--brand);font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.clinician-app{min-height:100vh}.topbar{position:sticky;z-index:10;top:0;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;color:#fff;background:var(--nav);box-shadow:0 1px 8px #0b2c3426}.brand-button{display:flex;align-items:center;gap:.7rem;padding:0;color:#fff;border:0;background:transparent;text-align:left}.brand-button:hover:not(:disabled){border-color:transparent;background:transparent}.brand-button>span:last-child,.patient-identity>span:last-child,.sidebar-account>span,.task-row>div,.patient-row-main,.file-list li>span:nth-child(2),.history-list article>div{display:grid;min-width:0}.brand-button small{color:#bcd3d5}.brand-symbol{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;border-radius:11px;background:#4da49a;color:#fff;font-size:1.2rem;font-weight:900}.topbar-actions{display:flex;align-items:center;gap:.65rem}.topbar-actions button{color:#fff;border-color:#496872;background:#21434d}.topbar-actions button:hover:not(:disabled){color:#fff;border-color:#6c8b94;background:#2b515d}.avatar{width:42px;padding:0;border-radius:50%}.count{display:inline-grid;min-width:24px;min-height:24px;place-items:center;margin-left:.35rem;padding:0 .4rem;border-radius:999px;background:#dceae8;color:#274c48;font-size:.75rem;font-weight:850}.connection-banner,.error-banner{min-height:46px;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.55rem 1rem;text-align:center}.connection-banner{color:#574100;background:#fff1c5}.connection-banner button{min-height:34px;padding-block:.3rem;border-color:currentcolor;color:inherit;background:transparent}.error-banner{color:#862d2a;background:var(--danger-soft)}.error-banner button{min-height:34px;padding-block:.3rem;color:inherit;background:transparent}.shell-body{display:grid;min-height:calc(100vh - 68px);grid-template-columns:255px minmax(0,1fr)}.sidebar{position:sticky;top:68px;height:calc(100vh - 68px);display:flex;flex-direction:column;padding:1.25rem .9rem;border-right:1px solid var(--line);background:#f0f5f3}.sidebar nav{display:grid;gap:.25rem}.sidebar nav button{width:100%;display:flex;align-items:center;justify-content:space-between;border-color:transparent;background:transparent;text-align:left}.sidebar nav button.active{border-color:#bdd7d2;background:#deece9;color:var(--brand-dark)}.sidebar nav button.patient-link{display:grid;justify-content:stretch;gap:.1rem}.sidebar nav small{display:block}.nav-label{margin:1.6rem .8rem .45rem;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.sidebar-account{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding:1rem .25rem 0;border-top:1px solid var(--line);font-size:.82rem}.sidebar-account button{min-height:36px;padding:.4rem .6rem;font-size:.78rem;white-space:nowrap}.main-content{min-width:0;padding:clamp(1.25rem,3.5vw,3.25rem)}.content-wide{width:min(980px,100%);margin:0 auto}.content-narrow{width:min(760px,100%);margin:0 auto}.content-reading{width:min(840px,100%);margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1.8rem}.page-header p:not(.eyebrow){max-width:650px;color:var(--muted)}.header-action{flex:0 0 auto}.split-actions,.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.patient-identity{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem;padding:.7rem .85rem;border:1px solid #c9ded9;border-radius:10px;background:var(--brand-soft)}.patient-identity.compact{max-width:360px;margin:0;padding:.38rem .7rem;color:#fff;border-color:#45656d;background:#21434d}.patient-identity.compact small{color:#c9dcdd}.identity-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#58aa99}.search-field{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;padding:0 .75rem;border:1px solid #b6c8c5;border-radius:11px;background:#fff}.search-field input{border:0;outline:0}.search-icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-linecap:round;stroke-width:2}.search-field button{min-height:36px;padding:.25rem .55rem;border:0;background:transparent;font-size:1.3rem}.patient-list,.task-list,.history-list{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 18px #18393d0d}.patient-row{width:100%;min-height:76px;display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left}.patient-row:last-child,.task-row:last-child,.file-list li:last-child,.history-list article:last-child{border-bottom:0}.patient-initials{display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto;border-radius:50%;background:#e0efec;color:var(--brand-dark);font-size:.8rem;font-weight:850}.patient-row-main{flex:1}.chevron{color:#80918f;font-size:1.65rem}.status-chip{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:.25rem .65rem;border:1px solid #c3d0ce;border-radius:999px;background:#f0f4f3;color:#526965;font-size:.75rem;font-weight:800;white-space:nowrap}.status-chip.attention,.status-chip.draft{border-color:#efd099;background:var(--warning-soft);color:#76501b}.status-chip.final{border-color:#afcfc2;background:#e8f4ef;color:#31624f}.empty-state{min-height:330px;display:grid;place-items:center;align-content:center;padding:2rem;border:1px dashed #b9cbc8;border-radius:14px;background:#fbfdfc;text-align:center}.empty-state.compact{min-height:200px}.empty-state p{max-width:500px;color:var(--muted)}.empty-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:2rem}.form-stack{display:grid;gap:1.2rem}.form-grid{display:grid;gap:1rem}.form-grid.three{grid-template-columns:1.4fr 1fr 1fr}.soft-card,.workspace-section,.task-section,.optional-offer,.notice-card,.error-card,.recovery-card{margin:.5rem 0 1.3rem;padding:1.35rem;border:1px solid var(--line);border-radius:13px;background:#fff}.soft-card{background:#f1f6f4}.soft-card>p:not(.eyebrow),.section-empty p{color:var(--muted)}.attachment-area{display:grid;gap:.55rem}.attachment-buttons{display:flex;align-items:center;gap:.6rem}.attachment-buttons input{position:absolute;width:1px;height:1px;opacity:0}.file-list{margin:.35rem 0 0;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;list-style:none}.file-list li{min-height:60px;display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border-bottom:1px solid var(--line)}.file-list li>span:nth-child(2){flex:1}.file-list button{min-height:34px;padding:.35rem .6rem;border:0;color:var(--danger);background:transparent}.file-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#edf3f2}.field-error{color:var(--danger);font-weight:700}.section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.section-title h2{margin:0}.task-section{border:0;padding:0;background:transparent}.task-row{min-height:76px;display:grid;align-items:center;gap:.8rem;grid-template-columns:6px minmax(0,1fr) auto;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.task-row small{display:block}.task-marker{width:5px;height:40px;border-radius:4px;background:#8ba09c}.task-marker.ready-for-review{background:var(--brand)}.task-marker.needs-attention{background:var(--danger)}.task-marker.preparing,.task-marker.drafting,.task-marker.drafting-h-and-p{background:#467e99}.final-preview{max-height:180px;overflow:hidden;color:#33484c;line-height:1.7;white-space:pre-wrap;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.section-empty{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}.history-list article{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.patient-secondary{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-top:1.3rem;border-top:1px solid var(--line)}.capture-page{width:min(760px,100%);margin:0 auto}.recorder{display:grid;justify-items:center;gap:.8rem;padding:clamp(1rem,4vw,2.5rem);border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center;box-shadow:0 8px 30px #16373b12}.recorder>p{max-width:560px;color:var(--muted)}.record-button{width:164px;height:164px;display:grid;place-items:center;align-content:center;gap:.6rem;margin:1.25rem 0;border:8px solid #e4f1ef;border-radius:50%;background:var(--brand);color:#fff;font-size:1rem}.record-button span{width:30px;height:30px;border-radius:50%;background:#fff}.recording-status{display:flex;align-items:center;gap:.55rem;color:var(--danger);font-weight:850}.recording-status span{width:12px;height:12px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 6px #f8dedc}.recording-clock{margin:1rem 0;font-size:clamp(3.2rem,12vw,5.5rem);font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.06em}.stop-button{min-width:220px;min-height:62px;display:flex;align-items:center;justify-content:center;gap:.6rem;border-color:var(--danger);background:var(--danger);color:#fff;font-size:1.05rem}.stop-button span{width:16px;height:16px;border-radius:3px;background:#fff}.ready-check{display:grid;width:66px;height:66px;place-items:center;border-radius:50%;background:#e7f4ef;color:var(--success);font-size:2rem}.unsafe-message,.safe-message{width:100%;display:grid;gap:.15rem;padding:.8rem 1rem;border-radius:10px;text-align:left}.unsafe-message{border:1px solid #ecd19d;background:var(--warning-soft);color:#6c4a15}.safe-message{border:1px solid #acd2c4;background:#eaf6f1;color:#285a48}.submit-encounter{width:min(360px,100%);min-height:58px;margin-top:.5rem}.encounter-attachments{width:100%;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line);text-align:left}.encounter-attachments h2{display:flex;justify-content:space-between}.encounter-attachments h2 span{color:var(--muted);font-size:.85rem}.progress-panel{width:100%;max-width:650px;display:grid;justify-items:center;gap:.7rem;margin:1rem auto;text-align:center}.spinner{width:34px;height:34px;border:3px solid #d8e5e2;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-panel>p:not(.eyebrow){color:var(--muted)}.progress-panel ol{width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin:1.2rem 0;padding:0;list-style:none}.progress-panel li{position:relative;display:grid;justify-items:center;gap:.5rem;color:#7d8c89;font-size:.78rem}.progress-panel li:before{position:absolute;z-index:0;top:16px;right:50%;left:-50%;height:2px;background:#d6e0de;content:""}.progress-panel li:first-child:before{display:none}.progress-panel li span{z-index:1;display:grid;width:33px;height:33px;place-items:center;border:2px solid #b1c0bd;border-radius:50%;background:#fff;font-weight:850}.progress-panel li.active,.progress-panel li.done{color:var(--ink);font-weight:750}.progress-panel li.active span,.progress-panel li.done span{border-color:var(--brand);background:var(--brand);color:#fff}.progress-panel li.active:before,.progress-panel li.done:before{background:var(--brand)}.final-document{overflow:hidden;margin-bottom:1rem;border:1px solid var(--line);border-radius:12px;background:#fff}.document-toolbar,.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:#f4f8f7}.document-tabs{display:flex;gap:.35rem;margin:0 auto 1rem;padding:.3rem;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.document-tabs button{flex:1;border-color:transparent}.document-tabs button[aria-selected=true]{border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:0 3px 12px #102f381a}.final-document pre{margin:0;padding:clamp(1.2rem,4vw,2.25rem);overflow:auto;white-space:pre-wrap;font:inherit;line-height:1.75}.document-editor{min-height:55vh;border-radius:0 0 10px 10px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.75}.save-status{font-size:.85rem;font-weight:800}.save-status.saved{color:var(--success)}.save-status.failed,.save-status.conflict{color:var(--danger)}.review-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:1rem;padding:.8rem;border:1px solid var(--line);border-radius:11px;background:#fffffff5;box-shadow:0 -8px 25px #14323612;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.review-actions>span{display:grid;margin-right:auto}.optional-offer{display:flex;align-items:center;justify-content:space-between;gap:1.3rem;background:#f1f7f5}.error-card,.recovery-card{border-color:#edc1bf;background:var(--danger-soft)}.notice-card{border-color:#b9d9d2;background:#eff8f5}.sr-status{min-height:1.5rem;color:var(--success)}.loading-screen,.auth-card{width:min(460px,calc(100% - 2rem));margin:8vh auto;padding:2rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 14px 50px #14343a1a}.loading-screen{display:grid;justify-items:center;text-align:center}.auth-card:before{display:grid;width:45px;height:45px;place-items:center;margin-bottom:1.4rem;border-radius:12px;background:var(--brand);color:#fff;content:"A";font-size:1.35rem;font-weight:900}.auth-card form{display:grid;gap:.9rem}.auth-card p{color:var(--muted)}.auth-card .error{padding:.7rem;border-radius:8px;background:var(--danger-soft);color:var(--danger)}.full{width:100%}.setup-qr-code{display:block;width:min(240px,100%);margin:1rem auto}.setup-secret{display:block;padding:.8rem;border-radius:8px;background:#edf2f1;overflow-wrap:anywhere}.modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#071e248c}.modal-panel{width:min(680px,100%);max-height:calc(100vh - 2rem);padding:1.5rem;overflow:auto;border-radius:15px;background:#fff;box-shadow:0 25px 70px #00000047}.modal-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-panel section{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--line)}.modal-panel .actions{display:flex;justify-content:flex-end;gap:.6rem}.security-credential-list{margin:.8rem 0;padding:0;list-style:none}.security-credential-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.security-credential-list li>span{display:grid}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}@media(max-width:800px){.topbar{min-height:62px;padding:.5rem .7rem}.brand-button small,.sidebar{display:none}.shell-body{display:block;min-height:calc(100vh - 62px)}.main-content{padding:1.1rem .9rem 5rem}.topbar .patient-identity.compact{position:absolute;top:62px;right:0;left:0;max-width:none;min-height:48px;border:0;border-radius:0;background:#e9f4f1;color:var(--ink)}.topbar .patient-identity.compact small{color:var(--muted)}.topbar:has(.patient-identity)+.shell-body .main-content,.topbar:has(.patient-identity)~.shell-body .main-content{padding-top:4.4rem}.icon-button{font-size:0}.icon-button:before{content:"Tasks";font-size:.85rem}.page-header,.section-empty,.optional-offer{align-items:stretch;flex-direction:column}.header-action,.header-action>button,.split-actions{width:100%}.split-actions{display:grid;grid-template-columns:1fr 1.25fr}.form-grid.three{grid-template-columns:1fr}.patient-row{padding-inline:.7rem}.patient-initials{display:none}.status-chip.attention{white-space:normal}.task-row{grid-template-columns:5px minmax(0,1fr)}.task-row>button,.task-row>.status-chip{grid-column:2;width:100%}.capture-page{margin:-1rem -.2rem 0;width:auto}.capture-page>.patient-identity{display:none}.recorder{min-height:calc(100dvh - 125px);align-content:center;border-radius:0;border-inline:0;box-shadow:none}.encounter-attachments{align-self:end}.attachment-buttons{display:grid;grid-template-columns:1fr 1fr}.attachment-buttons .button{display:grid;place-items:center;min-height:48px}.review-actions{position:static;align-items:stretch;flex-direction:column}.review-actions>span{margin:0}.review-actions button{width:100%}.patient-secondary{align-items:stretch;flex-direction:column;gap:.65rem}.document-editor{min-height:52vh}}@media(max-width:430px){.brand-symbol{width:34px;height:34px}.brand-button>span:last-child b{font-size:.9rem}.topbar-actions{gap:.35rem}.topbar-actions button{padding-inline:.55rem}.page-header h1{font-size:1.9rem}.split-actions,.attachment-buttons,.form-actions{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.form-actions button{width:100%}.patient-row{flex-wrap:wrap}.patient-row-main{flex-basis:calc(100% - 45px)}.patient-row .status-chip{margin-left:0}.progress-panel li{font-size:.68rem}}
