:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background-color:#f1f5f9;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 3rem}.app.narrow{max-width:480px}.app-workspace{padding-top:1.25rem}.header{margin-bottom:1.75rem}.header.row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.header h1{letter-spacing:-.02em;color:#0f172a;margin:0 0 .4rem;font-size:1.75rem;font-weight:700}.header p{color:#475569;max-width:40rem;margin:0;line-height:1.5}.header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.workspace-header{z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1rem;padding:.9rem 1.1rem .85rem;position:sticky;top:.65rem;box-shadow:0 4px 14px #0f172a12}.workspace-header-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.patient-context{align-items:flex-start;gap:.65rem;min-width:0;display:flex}.context-back{color:#334155;background:#f1f5f9;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:1.2rem;line-height:1;text-decoration:none;display:inline-flex}.context-back:hover{background:#e2e8f0}.patient-context-name{letter-spacing:-.01em;color:#0f172a;flex-wrap:wrap;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;display:flex}.patient-context-meta{color:#64748b;margin-top:.15rem;font-size:.85rem}.encounter-status-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-size:.65rem;font-weight:700}.encounter-status-chip.status-draft{color:#475569;background:#e2e8f0}.encounter-status-chip.status-active{color:#92400e;background:#fef3c7}.encounter-status-chip.status-saved{color:#0f766e;background:#ccfbf1}button.small,.button-link.small{padding:.4rem .7rem;font-size:.8rem}.status-strip{border-top:1px solid #e2e8f0;align-items:baseline;gap:.5rem;margin-top:.75rem;padding-top:.7rem;font-size:.85rem;display:flex}.status-dot{background:#94a3b8;border-radius:999px;flex-shrink:0;align-self:center;width:.5rem;height:.5rem;display:inline-block}.status-label{color:#1e293b;font-weight:700}.status-detail{color:#64748b}.status-tone-info .status-dot{background:#0284c7}.status-tone-live .status-dot{background:#0f766e;animation:1.6s ease-in-out infinite status-pulse}.status-tone-live .status-label{color:#0f766e}.status-tone-warning .status-dot{background:#d97706}.status-tone-warning .status-label{color:#b45309}.status-tone-success .status-dot{background:#0f766e}.status-tone-success .status-label{color:#0f766e}.status-tone-error .status-dot{background:#dc2626}.status-tone-error .status-label{color:#b91c1c}@keyframes status-pulse{0%,to{box-shadow:0 0 #0f766e73}50%{box-shadow:0 0 0 4px #0f766e00}}.stage-tracker{margin:0 0 1.25rem;padding:0;list-style:none;display:flex;overflow-x:auto}.stage-tracker .stage{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.stage-tracker .stage:not(:last-child){flex:1}.stage-tracker .stage:not(:last-child):after{content:"";background:#e2e8f0;flex:1;min-width:1.5rem;height:2px;margin-left:.5rem}.stage-tracker .stage.done:not(:last-child):after{background:#5eead4}.stage-marker{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.72rem;font-weight:700;display:inline-flex}.stage.current .stage-marker{color:#fff;background:#0f766e;border-color:#0f766e}.stage.done .stage-marker{color:#0f766e;background:#ccfbf1;border-color:#99f6e4}.stage-label{color:#64748b;white-space:nowrap;font-size:.8rem}.stage.current .stage-label{color:#0f172a;font-weight:700}.panel-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin:0 0 .6rem;font-size:.72rem;font-weight:700}.voice-refine-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .9rem;padding:.7rem .9rem;display:flex}.voice-refine-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.voice-refine-title{color:#0f172a;font-size:.85rem;font-weight:700}.voice-refine-hint{color:#64748b;font-size:.78rem}.ai-edit-banner{color:#0f172a;background:#f0fdfa;border:1px solid #99f6e4;border-left:4px solid #0f766e;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .9rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.ai-edit-banner-text strong{color:#0f766e}.ai-edit-banner-actions{flex-shrink:0;gap:.4rem;display:flex}.disclosure{border:1px solid #e2e8f0;border-radius:8px;margin-top:1.1rem;overflow:hidden}.disclosure summary{cursor:pointer;color:#0f172a;background:#f8fafc;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .9rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.disclosure summary::-webkit-details-marker{display:none}.disclosure-title:before{content:"▸";color:#64748b;margin-right:.5rem;transition:transform .15s;display:inline-block}.disclosure[open] .disclosure-title:before{transform:rotate(90deg)}.disclosure-hint{color:#94a3b8;font-size:.78rem;font-weight:400}.disclosure-count{color:#fff;background:#0f766e;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.disclosure-body{border-top:1px solid #e2e8f0;padding:.9rem}.disclosure-body input[type=text]{box-sizing:border-box;width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-bottom:.6rem;padding:.65rem .75rem}.version-list{color:#475569;flex-direction:column;gap:.4rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.version-source{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.08rem .45rem;font-size:.68rem;font-weight:700}.version-source-manual{color:#334155;background:#e2e8f0}.version-source-voice_session{color:#0f766e;background:#ccfbf1}.layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;display:grid}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.panel-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.panel-heading h2{color:#0f172a;margin:0;font-size:1.1rem}.field{color:#334155;flex-direction:column;gap:.35rem;margin-bottom:.9rem;font-size:.85rem;font-weight:600;display:flex}.field input{font:inherit;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem .75rem;font-weight:400}.field input:focus,textarea:focus{outline-offset:1px;background:#fff;outline:2px solid #0f766e}.input-type{border:none;flex-wrap:wrap;gap:1rem;margin:0 0 1rem;padding:0;display:flex}.input-type legend{color:#334155;margin-bottom:.5rem;padding:0;font-size:.85rem;font-weight:600}.input-type label{color:#1e293b;cursor:pointer;align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.textarea-label{color:#334155;margin-bottom:.45rem;font-size:.85rem;font-weight:600;display:block}textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:120px;font:inherit;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.85rem .9rem;line-height:1.5;transition:border-color .2s,box-shadow .2s,background-color 1.4s}textarea:disabled{opacity:.7}button,.button-link{font:inherit;color:#fff;cursor:pointer;background:#0f766e;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button-link:hover{background:#0d9488}button:disabled{opacity:.55;cursor:not-allowed}button.secondary,.button-link.secondary{color:#0f172a;background:#e2e8f0}button.secondary:hover:not(:disabled),.button-link.secondary:hover{background:#cbd5e1}button.danger{background:#b91c1c}button.danger:hover:not(:disabled){background:#dc2626}form>button[type=submit]{width:100%;margin-top:.9rem}.error{color:#b91c1c;margin:.85rem 0 0;font-size:.9rem}.hint{color:#64748b;margin:.85rem 0 0;font-size:.85rem}.empty{color:#64748b;margin:0;font-size:.95rem}.patient-list{flex-direction:column;gap:.5rem;display:flex}.patient-row{color:inherit;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;text-decoration:none;display:flex}.patient-row:hover{background:#f8fafc;border-color:#0f766e}.patient-row-name{flex-direction:column;gap:.15rem;display:flex}.patient-row-name strong{color:#0f172a;font-size:1rem}.patient-row-name span{color:#64748b;font-size:.85rem}.patient-row-meta{color:#475569;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.15rem;font-size:.85rem;display:flex}.next-steps{margin-top:1rem}.next-steps-list{color:#475569;flex-direction:column;gap:.3rem;margin:0;padding-left:1.2rem;font-size:.88rem;line-height:1.6;display:flex}.encounter-history-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.encounter-history-list li a{color:#1e293b;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;font-size:.9rem;text-decoration:none;display:flex}.encounter-history-list li a:hover{background:#f8fafc;border-color:#0f766e}.soap-sections{flex-direction:column;gap:1rem;display:flex}.soap-section.edit{flex-direction:column;gap:.35rem;display:flex}.soap-section.edit>span{letter-spacing:.04em;text-transform:uppercase;color:#0f766e;font-size:.8rem;font-weight:700}.soap-section.edit.note-recently-changed>span:after{content:"Updated";letter-spacing:.02em;text-transform:none;color:#0f766e;vertical-align:middle;background:#ccfbf1;border-radius:999px;margin-left:.5rem;padding:.08rem .4rem;font-size:.62rem;font-weight:700}.soap-section.edit.note-recently-changed textarea{background:#f0fdfa;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24}.dictation-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.dictation-partial{color:#64748b;margin:.5rem 0 0;font-size:.85rem;font-style:italic}.voice-heard{color:#64748b;margin:0 0 .75rem;font-size:.85rem;font-style:italic}.icd-suggestions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:.5rem;padding:.75rem .85rem}.icd-suggestions-heading{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.icd-suggestions-heading h4{letter-spacing:.04em;text-transform:uppercase;color:#334155;margin:0;font-size:.8rem;font-weight:700}.icd-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.icd-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.icd-item.icd-accepted{border-color:#0f766e}.icd-item.icd-rejected{opacity:.55}.icd-code{color:#0f766e;flex-shrink:0;font-weight:700}.icd-desc{color:#1e293b;flex:1}.icd-sim{color:#64748b;flex-shrink:0;font-size:.75rem}.icd-actions{flex-shrink:0;gap:.35rem;display:flex}.icd-status-badge{flex-shrink:0;font-size:.75rem;font-weight:600}.icd-status-badge.icd-accepted{color:#0f766e}.icd-status-badge.icd-rejected{color:#b91c1c}@media (width<=800px){.layout{grid-template-columns:1fr}.header.row{flex-direction:column}.workspace-header-top{flex-direction:column;align-items:stretch}.workspace-header-top .header-actions{justify-content:flex-end}}@media (width<=480px){.app{padding:1.25rem .85rem 2rem}.app-workspace{padding-top:.85rem}.workspace-header{padding:.8rem .85rem .75rem;top:.4rem}.patient-context-name{font-size:1.05rem}.stage-tracker{font-size:.75rem}.stage-tracker .stage:not(.current) .stage-label{display:none}.voice-refine-row,.ai-edit-banner{flex-direction:column;align-items:stretch}}.pending-banner{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .9rem;padding:.6rem .85rem;font-size:.85rem;font-weight:600;display:flex}.pending-banner-actions{flex-shrink:0;gap:.4rem;display:flex}.soap-section.diff-pending{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-direction:column;gap:.5rem;padding:.85rem .9rem;display:flex}.soap-diff-heading{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.soap-diff-heading>span:first-child{letter-spacing:.04em;text-transform:uppercase;color:#0f766e;font-size:.8rem;font-weight:700}.pending-badge{letter-spacing:.02em;text-transform:uppercase;color:#92400e;background:#fef3c7;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.soap-diff-text{white-space:pre-wrap;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.65rem .75rem;font-size:.95rem;line-height:1.5}.diff-added{color:#166534;background:#dcfce7;border-radius:3px;padding:.05rem .1rem}.diff-removed{color:#991b1b;background:#fee2e2;border-radius:3px;padding:.05rem .1rem;text-decoration:line-through}.soap-diff-actions{gap:.5rem;display:flex}
