:root{color:#09090b;font-synthesis:none;background:#fff;font-family:Noto Sans SC,PingFang SC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}:where(button,input,textarea,a):focus-visible{outline-offset:2px;outline:3px solid #2563eb}.page-loading,.empty-workspace,.login-page{color:#71717a;background:#fafafa;place-items:center;min-height:100vh;display:grid}.primary-button,.secondary-button,.text-button{border:0;border-radius:8px;min-height:38px;padding:0 15px;font-size:13px;font-weight:600}.primary-button{color:#fafafa;background:#18181b}.secondary-button{color:#09090b;background:#fff;border:1px solid #e4e4e7}.text-button{color:#71717a;background:0 0}.workspace{background:#fff;grid-template-rows:60px minmax(0,1fr);height:100vh;display:grid}.app-header{background:#fff;border-bottom:1px solid #e4e4e7;justify-content:space-between;align-items:center;gap:18px;height:60px;padding:0 24px;display:flex}.brand,.app-header nav,.title-row,.recording-status,.field-actions,.utterance-meta{align-items:center;display:flex}.brand{white-space:nowrap;gap:12px;min-width:0}.logo-mark{color:#fafafa;background:#18181b;border-radius:8px;place-items:center;width:32px;height:32px;font-size:20px;display:grid}.header-divider{background:#e4e4e7;width:1px;height:20px}.page-name,.app-header a,.doctor-name{color:#71717a;font-size:13px;text-decoration:none}.navigation-button{min-height:auto;padding:0}.app-header nav{white-space:nowrap;gap:12px}.workspace-error{z-index:10;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:10px;margin:0;padding:9px 14px;font-size:13px;display:flex;position:fixed;top:70px;left:50%;transform:translate(-50%)}.workspace-error button{color:inherit;background:0 0;border:0;border-radius:4px;padding:2px 6px;text-decoration:underline}.consultation-layout{grid-template-columns:minmax(0,1fr) 480px;min-height:0;display:grid;overflow:hidden}.record-column{flex-direction:column;min-height:0;display:flex}.record-column>.record-panel{flex:1}.generation-mode-selector{border:0;flex-wrap:wrap;align-items:center;gap:5px 12px;max-width:390px;margin:0;padding:0;font-size:12px;display:flex}.generation-mode-selector legend{float:left;margin-right:10px;font-weight:600}.generation-mode-selector label{white-space:nowrap;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.generation-mode-selector small{color:#71717a;width:100%}.conversation-column{background:#fafafa;grid-template-rows:minmax(0,1fr) auto auto;min-width:0;min-height:0;display:grid}.conversation-panel,.record-panel{background:#fff;flex-direction:column;min-height:0;display:flex}.conversation-panel{background:#fafafa}.pane-header{background:#fff;border-bottom:1px solid #e4e4e7;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:53px;padding:0 24px;display:flex}.title-row{gap:10px}.title-row h1,.title-row h2{margin:0;font-size:15px;font-weight:600}.header-icon{font-size:18px}.status-badge,.draft-badge,.confirmed-badge{color:#71717a;white-space:nowrap;background:#f4f4f5;border-radius:999px;padding:4px 10px;font-size:12px}.status-badge i{background:#16a34a;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.confirmed-badge{color:#16a34a;background:#f0fdf4}.chat-list{flex-direction:column;gap:16px;min-height:0;padding:24px;display:flex;overflow:auto}.empty-dialogue{color:#71717a;margin:auto;font-size:14px}.utterance{flex-direction:column;gap:6px;width:min(560px,82%);display:flex}.bubble-left{align-self:flex-start}.bubble-right{align-self:flex-end;align-items:flex-end}.utterance-meta{color:#71717a;gap:7px;font-size:12px}.utterance-meta time{color:#a1a1aa}.speaker-dot{background:var(--speaker-color,#18181b);border-radius:50%;width:9px;height:9px}.utterance p{background:#fff;border:1px solid #e4e4e7;border-radius:8px;margin:0;padding:11px 14px;font-size:14px;line-height:1.7}.bubble-right p{color:#fafafa;background:#18181b;border-color:#18181b}.recording-bar{background:#fff;border-top:1px solid #e4e4e7;flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:12px 24px;display:flex}.recording-status{gap:12px;min-width:0}.mic{color:#71717a;background:#f4f4f5;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.mic.active{color:#dc2626;background:#fef2f2}.recording-status strong,.recording-status small{display:block}.recording-status strong{font-size:14px}.recording-status small{color:#71717a;margin-top:2px;font-size:11px}.recording-actions{flex:none;gap:8px;display:flex}.recording-actions button{color:#71717a;background:#fff;border:1px solid #e4e4e7;border-radius:8px;min-height:36px;padding:0 12px}.recording-actions .primary-button{color:#fafafa;background:#18181b;border-color:#18181b}.record-panel{border-left:1px solid #e4e4e7}.record-body{min-height:0;padding:20px 24px 28px;overflow:auto}.record-section+.record-section{margin-top:22px}.section-heading{align-items:center;gap:10px;margin-bottom:9px;display:flex}.section-heading h3{flex:none;margin:0;font-size:13px}.section-heading span{background:#e4e4e7;flex:1;height:1px}.record-field{border-bottom:1px solid #f4f4f5;grid-template-columns:76px minmax(0,1fr);column-gap:12px;padding:9px 0;display:grid}.field-label{color:#71717a;font-size:13px}.field-value-wrap{justify-content:space-between;align-items:start;gap:8px;min-width:0;display:flex}.field-value,.field-placeholder{overflow-wrap:anywhere;min-width:0;font-size:13px;line-height:1.65}.field-placeholder{color:#a1a1aa}.edit-button{color:#71717a;background:0 0;border:0;flex:none;padding:0;font-size:12px}.edit-button:hover{color:#09090b}.field-editor{grid-column:1/-1}.field-editor input,.field-editor textarea{color:#09090b;resize:vertical;border:1px solid #a1a1aa;border-radius:6px;outline:none;width:100%;margin-top:8px;padding:8px 9px}.field-actions{justify-content:flex-end;gap:8px;margin-top:8px}.field-actions button{background:#fff;border:1px solid #e4e4e7;border-radius:6px;min-height:30px;padding:0 10px;font-size:12px}.field-actions .primary-button{color:#fafafa;background:#18181b;border-color:#18181b}.field-error{color:#dc2626;margin:6px 0 0;font-size:12px}.record-footer{background:#fff;border-top:1px solid #e4e4e7;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:12px 24px;display:flex}.record-footer p{color:#71717a;margin:0;font-size:11px}.record-footer-actions{align-items:center;gap:8px;display:flex}.record-footer .secondary-button{align-items:center;text-decoration:none;display:inline-flex}.role-review{color:#92400e;background:#fffbeb;border-top:1px solid #fde68a;border-bottom:1px solid #fde68a;padding:14px 24px;font-size:13px}.role-review p{color:#a16207;margin:4px 0 0}.role-options{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.role-options button{align-items:center;gap:9px;min-height:34px;display:inline-flex}.role-options button span{color:#71717a;font-size:12px}.empty-workspace>div{text-align:center;background:#fff;border:1px solid #e4e4e7;border-radius:12px;width:min(420px,100vw - 48px);padding:38px}.empty-icon{color:#fafafa;background:#18181b;border-radius:12px;place-items:center;width:42px;height:42px;font-size:24px;display:inline-grid}.empty-workspace h1{margin:16px 0 8px;font-size:20px}.empty-workspace p{color:#71717a;margin:0 0 22px;font-size:14px}.login-page{padding:24px}.login-card{background:#fff;border:1px solid #e4e4e7;border-radius:12px;width:min(390px,100%);padding:32px;box-shadow:0 16px 40px #09090b0f}.login-brand{align-items:center;gap:10px;display:flex}.login-brand>span{color:#fafafa;background:#18181b;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.login-brand strong,.login-brand small{display:block}.login-brand small{color:#71717a;font-size:12px}.login-card h1{margin:28px 0 7px;font-size:22px}.login-card>p{color:#71717a;margin:0 0 20px;font-size:13px}.login-card label{gap:7px;margin-top:14px;font-size:13px;font-weight:500;display:grid}.login-card input{border:1px solid #e4e4e7;border-radius:8px;min-height:40px;padding:0 10px}.login-submit{width:100%;margin-top:20px}.login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 10px;color:#dc2626!important;margin:13px 0 -3px!important}.audio-player{background:#fff;border-top:1px solid #e4e4e7;flex:none;padding:10px 24px}.audio-player audio{width:100%;height:34px}.audio-player p,.audio-unavailable{color:#a16207;margin:4px 0 0;font-size:12px}.audio-unavailable{background:#fff;border-top:1px solid #e4e4e7;padding:8px 24px}.history-page{width:min(860px,100vw - 48px);min-height:100vh;margin:0 auto;padding:52px 0}.history-heading{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.history-heading h1{margin:0;font-size:24px}.history-heading p,.history-empty{color:#71717a;margin:6px 0 0;font-size:13px}.history-list{border:1px solid #e4e4e7;border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.history-list li+li{border-top:1px solid #e4e4e7}.history-item{text-align:left;background:#fff;border:0;grid-template-columns:minmax(0,1fr) auto 56px;align-items:center;gap:18px;width:100%;padding:16px 18px;display:grid}.history-item:hover{background:#fafafa}.history-item strong,.history-item small{display:block}.history-item strong{font-size:14px}.history-item small,.history-item span+span,.history-item time{color:#71717a;font-size:12px}.history-more{margin:18px auto 0;display:block}@media (width<=900px){.workspace{grid-template-rows:auto auto;height:auto;min-height:100vh}.app-header{flex-wrap:wrap;height:auto;min-height:60px;padding:12px 16px}.app-header nav{justify-content:space-between;width:100%;overflow-x:auto}.consultation-layout{grid-template-columns:minmax(0,1fr);overflow:visible}.conversation-column{min-height:560px}.record-panel{border-top:1px solid #e4e4e7;border-left:0;min-height:680px}.recording-bar{padding:12px 16px}.recording-actions button:first-child{display:none}.pane-header{padding:0 16px}.record-body{padding:16px}.record-footer{padding:12px 16px}}@media (width<=560px){.brand .page-name,.header-divider,.doctor-name{display:none}.app-header nav{gap:8px}.recording-status small{display:none}.recording-bar{min-height:64px}.record-field{grid-template-columns:68px minmax(0,1fr);gap:8px}}.record-body{flex-direction:column;flex:1;gap:14px;display:flex}.record-body>*{flex-shrink:0}.record-header{min-height:53px}.draft-badge{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.patient-card{background:#f4f4f5;border-radius:12px;padding:16px}.patient-identity{flex-wrap:wrap;align-items:start;gap:10px;margin-bottom:12px;display:flex}.patient-demographics{background:#fff;border:1px solid #e4e4e7;border-radius:16px;gap:6px;padding:2px 8px;display:flex}.patient-card-number{min-width:0;max-width:100%;margin-left:auto}.patient-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.record-field{border:0;grid-template-columns:64px minmax(0,1fr);align-items:start;padding:6px 0}.field-value-wrap{border-radius:4px;min-height:22px}.field-value-wrap[role=button]{cursor:text}.field-value-wrap[role=button]:hover{background:#f4f4f5}.field-value-wrap:focus-visible{outline-offset:3px;outline:2px solid #2563eb}.field-value{white-space:pre-wrap;line-height:1.7}.field-editor{grid-column:auto;min-width:0}.field-editor input,.field-editor textarea{margin-top:0}.field-identity,.field-cell,.field-card{flex-direction:column;gap:3px;min-width:0;padding:0;display:flex}.field-identity .field-label{display:none}.patient-identity>.field-identity .field-value{font-size:18px;font-weight:600}.patient-demographics .field-value{color:#71717a;font-size:12px}.field-identity .field-editor{width:100%;min-width:100px}.patient-grid .field-cell{background:#fff;border-radius:8px;padding:8px 10px}.field-cell .field-label{font-size:11px}.field-cell .field-value{font-weight:500}.patient-grid .field-cell:first-child .field-value{letter-spacing:-.3px;white-space:nowrap;font-size:12px}.field-cell .field-editor{width:100%}.patient-grid:has(.field-editor){grid-template-columns:repeat(2,minmax(0,1fr))}.medical-section .section-heading{margin:0;padding:18px 0 10px}.diagnosis-tag{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:6px;width:fit-content;max-width:100%;margin-bottom:6px;padding:4px 10px;font-weight:500;display:block}.treatment-card,.note-card{border:1px solid #e4e4e7;border-radius:12px;padding:14px}.field-card{gap:10px}.field-card .field-label{color:#09090b;font-weight:600}.field-card .field-value-wrap,.field-card .field-editor{width:100%}.note-card{background:#fffbeb;border-color:#fde68a}.note-card .field-label{color:#92400e}.note-card .field-value{color:#b45309;font-size:12px}.record-footer{text-align:center;flex-direction:column-reverse;gap:10px;padding:14px 24px}.record-footer-actions{width:100%}.record-footer-actions>button{flex:1}.record-footer-actions{flex-wrap:wrap}.record-footer-actions>button{min-width:95px}.quality{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px;font-size:12px}.quality.muted{color:#71717a;background:#fafafa;border-color:#e4e4e7}.quality.clear{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.quality strong{margin-bottom:6px;display:block}.quality button{width:100%;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;gap:8px;padding:7px 0;font-size:12px;display:flex}.quality button span{flex:none;text-decoration:underline}.quality details p{color:#71717a;margin:5px 0}.record-field.has-validation-issue{background:#fff8db;border-left:3px solid #b77900;border-radius:5px;margin:2px -8px;padding:8px}.record-field.has-validation-issue .field-value-wrap[role=button]:hover{background:#fff0ba}.field-validation{color:#714b00;grid-column:1/-1;width:100%;min-width:0;margin:6px 0 0;padding:0;font-size:12px;list-style:none}.field-validation li{border-top:1px solid #e9ce85;min-width:0;padding:7px 0}.field-validation-head{overflow-wrap:anywhere;align-items:flex-start;gap:6px;display:flex}.field-validation-head strong{flex:none;margin-left:auto}.field-validation-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.field-validation-actions button,.validation-panel button{color:#714b00;text-align:left;background:0 0;border:0;padding:3px 0;font-size:12px;text-decoration:underline}.field-validation-actions button:focus-visible,.validation-panel button:focus-visible{outline-offset:2px;outline:2px solid #714b00}.field-validation-evidence{overflow-wrap:anywhere;background:#fff;border-radius:5px;max-height:170px;margin-top:5px;padding:7px;overflow:auto}.field-validation-evidence p{margin:0 0 5px;line-height:1.5}.field-validation-source{border-bottom:1px solid #e4e4e7;padding:5px 0}.field-validation-source:last-child{border-bottom:0}.field-validation-source strong,.field-validation-source button{font-size:12px}.utterance:focus{outline-offset:3px;border-radius:5px;outline:2px solid #d97706}.validation-panel{color:#52525b;background:#fafafa;border:1px solid #e4e4e7;border-radius:10px;padding:12px;font-size:12px}.validation-panel strong{color:#18181b;display:block}.validation-panel p{margin:5px 0}.validation-panel button{display:block}:is(.validation-panel.validation-completed:has(button),.validation-panel.validation-partial){background:#fffbeb;border-color:#e9ce85}.validation-panel.validation-failed,.validation-panel.validation-stale{background:#fffbeb;border-color:#fde68a}.recording-bar:has(.generation-mode-selector){flex-wrap:wrap}.recording-bar:has(.generation-mode-selector) .generation-mode-selector{flex:240px}.pdf-modal{z-index:20;background:#0009;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.pdf-preview{background:#fff;border-radius:12px;flex-direction:column;width:min(1000px,100%);height:min(900px,90vh);padding:18px;display:flex;box-shadow:0 20px 60px #0004}.pdf-preview header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pdf-preview header strong{margin-right:auto}.pdf-preview header a,.pdf-preview header button{color:#18181b;font-size:12px}.pdf-preview header button{background:#fff;border:1px solid #e4e4e7;border-radius:6px;padding:6px 10px}.pdf-preview p{color:#71717a;margin:10px 0;font-size:12px}.pdf-preview iframe{border:1px solid #e4e4e7;flex:1;width:100%;min-height:0}.conversation-panel{position:relative}.chat-list{overflow-anchor:none;flex:1;display:block}.chat-content{flex-direction:column;gap:16px;min-height:100%;display:flex}.utterance{flex-shrink:0}.latest-button{background:#fff;border:1px solid #e4e4e7;border-radius:20px;padding:8px 16px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0001}@media (width<=560px){.patient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-card-number{width:100%;margin-left:0}}
