: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:.5rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.version-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.version-item.latest{border-color:#99f6e4}.version-item-header{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.65rem .75rem;display:flex}.version-item-header:hover{background:#f8fafc}.version-item-title{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.version-item-meta{color:#64748b;font-size:.78rem}.version-latest-chip{text-transform:uppercase;letter-spacing:.03em;color:#0f766e;background:#ccfbf1;border-radius:4px;padding:.08rem .4rem;font-size:.68rem;font-weight:700}.version-item-body{background:#f8fafc;border-top:1px solid #e2e8f0;flex-direction:column;gap:.55rem;padding:.65rem .75rem .75rem;display:flex}.version-snap-section{flex-direction:column;gap:.15rem;display:flex}.version-snap-label{letter-spacing:.04em;text-transform:uppercase;color:#0f766e;font-size:.72rem;font-weight:700}.version-snap-section p{white-space:pre-wrap;color:#0f172a;margin:0;font-size:.85rem;line-height:1.45}.version-restore-row{border-top:1px dashed #cbd5e1;flex-direction:column;gap:.45rem;margin-top:.25rem;padding-top:.55rem;display:flex}.version-restore-confirm{color:#92400e;margin:0;font-size:.85rem}.version-restore-actions{flex-wrap:wrap;gap:.45rem;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}.version-source-revert{color:#5b21b6;background:#ede9fe}.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}.patient-history-badge{letter-spacing:.02em;vertical-align:middle;border-radius:4px;margin-left:.45rem;padding:.15rem .45rem;font-size:.72rem;font-weight:650;display:inline-block}.patient-history-badge.new{color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0}.patient-history-badge.returning{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.workspace-banner{border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:.65rem 0 0;padding:.65rem .85rem;font-size:.9rem;font-weight:550;display:flex}.workspace-banner.banner-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.workspace-banner.banner-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.admin-app{max-width:1100px}.admin-tabs{border-bottom:1px solid #e2e8f0;gap:.35rem;margin:.75rem 0 1rem;padding-bottom:.35rem;display:flex}.admin-tabs button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:.45rem .75rem;font-weight:600}.admin-tabs button.active{color:#0f766e;background:#f0fdfa;box-shadow:inset 0 -2px #0f766e}.admin-filters{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.admin-filters .field{min-width:10rem;margin:0}.admin-table-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.65rem .75rem}.admin-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:.78rem}.admin-table tr:last-child td{border-bottom:none}.admin-list{flex-direction:column;gap:.65rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.admin-list-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.admin-list-item .meta{color:#64748b;margin-top:.2rem;font-size:.85rem}.admin-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.75rem;max-width:36rem;padding:1rem;display:flex}.admin-form textarea{min-height:6rem;font-family:inherit}.inactive-chip{text-transform:uppercase;color:#991b1b;background:#fee2e2;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:.7rem;font-weight:700;display:inline-block}
