@font-face {
  font-family: Inter;
  src: url('/assets/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
/* Shared action treatment, based on the outlined Pusula EHR control. */
:root {
  --font-ui: Inter, Arial, sans-serif;
  --text-caption: 12px;
  --text-control: 13px;
  --text-body: 14px;
  --text-heading: 16px;
  --text-display: 20px;
  --text-title: 24px;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --button-surface: #fff;
  --button-ink: #2d6b96;
  --button-border: #a3bbcd;
  --button-border-strong: #7298b5;
  --button-hover: #f5f9fc;
  --button-pressed: #edf4f9;
  --button-shadow: 0 1px 2px #263f5610;
}
:root{font-family:var(--font-ui);color:#242a3a;font-size:var(--text-body);font-synthesis:none;--blue:#2789f7;--indigo:#2d30aa;--muted:#747b88;--line:#e9e9ee;--surface:#f3f4f6;--shadow:0 2px 4px #202b4510}
*{box-sizing:border-box}body{margin:0;background:#f3f4f6}button,input,textarea,select{font:inherit}button{cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}button:disabled{cursor:not-allowed;opacity:1}button,input,textarea,select{outline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid #248af5}input,textarea,select{border:1px solid #e2e4e9;border-radius:7px;background:#fff;color:inherit;padding:12px 14px;min-width:0}input::placeholder,textarea::placeholder{color:#979ba5}input:focus,textarea:focus,select:focus{border-color:#469ef5;outline:2px solid #469ef51a}textarea{resize:vertical;min-height:100px;line-height:1.6}select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23657083' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-inline-end:42px}select:dir(rtl){background-position:left 14px center}select[multiple]{background-image:none;padding-inline-end:14px}h1,h2,h3,p{margin-top:0}h2{font-size:var(--text-title);font-weight:var(--weight-semibold)}h3{font-size:var(--text-heading);font-weight:var(--weight-medium)}p{line-height:1.6}a{color:var(--blue)}.icon{width:19px;height:19px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}.asset-icon{width:18px;height:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.small{font-size:var(--text-caption)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--button-border);border-radius:8px;padding:10px 15px;background:var(--button-surface);color:var(--button-ink);font-weight:var(--weight-medium);white-space:nowrap;min-height:37px;box-shadow:var(--button-shadow)}.btn.primary{border-color:var(--button-border-strong);font-weight:var(--weight-semibold)}.btn.danger{--button-ink:#a13f52;--button-border:#d6a7af;--button-border-strong:#b96374;--button-hover:#fff8f9;--button-pressed:#fdefF2}.btn.ghost,.btn.neutral{--button-ink:#526477;--button-border:#d2dce5;--button-border-strong:#9aaebe;box-shadow:none}.btn.full{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:5px;background:transparent;color:#737d8f;padding:5px}.icon-btn:hover{background:var(--button-hover);color:var(--button-ink)}.header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:7px 26px 7px 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);gap:20px}.brand{display:flex;align-items:center;gap:23px;border:0;background:none;padding:0;color:#46505c;text-align:left}.brand img{width:62px;height:37px;object-fit:contain}.header-actions{display:flex;align-items:center;gap:11px}.locale-select{padding:7px 28px 7px 10px;font-size:var(--text-caption);max-width:120px;min-height:34px}.portal-badge{padding:9px 12px;background:#eff5ff;color:#2d3f91;border-radius:5px;font-size:var(--text-control);display:flex;align-items:center;gap:8px}.mic-button{background:var(--button-surface);color:var(--button-ink);border:1px solid var(--button-border);width:65px;height:36px;border-radius:8px;box-shadow:var(--button-shadow)}.mic-button.active{--button-ink:#25745d;--button-border:#8db7a7;--button-border-strong:#5d9b84;--button-hover:#f6fbf8;color:var(--button-ink);border-color:var(--button-border)}.wave-mini{display:flex;gap:2px;align-items:center;height:16px}.wave-mini i{display:block;width:2px;background:currentColor;height:7px}.wave-mini i:nth-child(3n){height:13px}.wave-mini i:nth-child(2n){height:10px}.header-actions .logout{font-size:var(--text-control);padding-inline:6px}.layout{display:grid;grid-template-columns:350px minmax(0,1fr);height:calc(100dvh - 54px);padding:16px 0 16px 0;gap:12px}.layout.collapsed{grid-template-columns:52px minmax(0,1fr)}.sidebar{min-height:0;display:flex;flex-direction:column;padding:7px 12px 7px 24px;gap:16px}.doctor{display:flex;align-items:center;gap:9px;font-weight:var(--weight-semibold);font-size:var(--text-body)}.doctor img{width:40px;height:40px}.doctor .icon-btn{margin-left:auto}.search-wrap{position:relative}.search-wrap .icon{position:absolute;left:12px;top:13px;width:16px;color:#798291}.search-wrap input{width:100%;padding-left:33px;box-shadow:0 1px 2px #00000003;font-size:var(--text-caption);min-height:42px}.sessions-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.sessions-heading h3{margin:0;font-size:var(--text-body)}.filter-box{display:flex;gap:4px;align-items:center}.filter-box input{width:190px;padding:8px;font-size:var(--text-caption)}.session-list{overflow-y:auto;min-height:0;flex:1;padding-right:10px;scrollbar-color:#a4a4a4 #f6f6f6;scrollbar-width:thin}.date-heading{font-size:var(--text-caption);color:#687389;margin:6px 0 21px;font-weight:var(--weight-medium)}.session-card{display:block;width:100%;text-align:left;background:#fff;border:1px solid #eceef1;border-radius:6px;padding:11px 8px 10px;margin-bottom:12px;color:#262c3b;min-height:62px}.session-card.selected{border-color:#62a2e4;color:#2888cf}.session-card .row{display:flex;align-items:center;justify-content:space-between;gap:6px}.session-card strong{font-size:var(--text-control);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-card time{font-size:var(--text-caption);color:#697487;display:flex;align-items:center;gap:3px;white-space:nowrap}.session-card time .icon{width:10px;height:10px}.session-card .template{display:flex;justify-content:space-between;margin-top:10px;font-size:var(--text-caption);color:#707b8c;gap:5px}.session-card+.date-heading{margin-top:22px}.sidebar-footer{padding-top:8px}.sidebar-footer .btn{min-height:42px;font-size:var(--text-heading)}.sidebar-empty{padding:32px 6px;text-align:center;color:var(--muted)}.workspace{min-width:0;min-height:0;background:#fff;border-radius:12px;box-shadow:var(--shadow);border:1px solid #f0f0f4;overflow:hidden;display:flex;flex-direction:column}.workspace-header{padding:22px 20px;border-bottom:1px solid var(--line);font-size:var(--text-heading)}.home-body{display:flex;flex:1;align-items:center;justify-content:center;padding:32px 8%;min-height:0;overflow:auto}.empty-card{width:100%;text-align:center;border:1px solid #e9e9ed;border-radius:13px;padding:30px 20px 16px;box-shadow:0 2px 3px #00000009}.empty-card svg.illustration{width:126px;height:106px;margin-bottom:16px}.empty-card h1{font-size:var(--text-display);line-height:1.4;font-weight:var(--weight-medium);margin:0 0 6px}.empty-card p{font-size:var(--text-body);color:#79808d;margin-bottom:16px}.empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.sample-link{border:0;background:none;color:#467fa7;font-size:var(--text-caption);margin-top:17px;padding:6px}.sample-link:hover{text-decoration:underline}.connection-strip{padding:9px 20px;background:#fffaf0;border-bottom:1px solid #f4e5c3;font-size:var(--text-caption);color:#8e6b20;display:flex;align-items:center;justify-content:space-between;gap:15px}.connection-strip button{color:inherit;font-size:var(--text-caption)}.consultation-header{padding:0 24px 16px;border-bottom:1px solid var(--line);display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}.toolbar{display:flex;gap:8px;flex-wrap:wrap;padding-top:0;align-items:center}.toolbar>.btn,.toolbar>.menu-anchor>.btn{font-size:var(--text-caption);min-height:34px;padding:7px 15px}.toolbar>.btn:last-child{min-width:100px}.audio-player{width:232px;margin:20px 0 0;flex-shrink:0}.audio-buttons{display:flex;align-items:center;justify-content:space-between;padding:0 2px 8px}.audio-buttons button{border:0;background:none}.audio-buttons .seek-button img{width:34px;height:34px}.audio-buttons .play{width:56px;height:56px;border:1px solid var(--button-border-strong);border-radius:50%;background:var(--button-surface);color:var(--button-ink);box-shadow:var(--button-shadow);display:flex;align-items:center;justify-content:center}.audio-buttons .play .icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.audio-player input{padding:0;width:100%;height:6px;accent-color:#2479fb;display:block;cursor:pointer;border:0}.audio-times{display:flex;justify-content:space-between;padding:8px 4px 0;color:#5d6a7a;font-size:var(--text-caption)}.workspace-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 24px;background:#fdfdff;border-bottom:1px solid var(--line);font-size:var(--text-caption);color:#7b8493}.workspace-meta .spacer{flex:1}.workspace-meta .btn{font-size:var(--text-caption);min-height:26px;padding:5px 8px}.badge{display:inline-flex;gap:5px;align-items:center;border-radius:20px;padding:4px 8px;font-size:var(--text-caption);white-space:nowrap;background:#f0f4fa;color:#62758e}.badge.green{color:#1a8b6f;background:#edf9f3}.badge.amber{color:#a2741e;background:#fff8e8}.badge.red{color:#c94450;background:#fff0f2}.note-tabs{display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid var(--line);height:43px;flex-shrink:0}.note-tabs button{height:43px;background:none;border:0;border-bottom:2px solid transparent;color:#858d9b;padding:0;font-size:var(--text-caption)}.note-tabs button.active{color:#328adc;border-color:#328adc}.note-content{flex:1;overflow:auto;min-height:0;padding:24px;scrollbar-color:#a4a4a4 #f6f6f6;scrollbar-width:thin}.note-section{border:1px solid #ececf1;border-radius:7px;overflow:hidden;margin-bottom:16px;background:#fff}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3f4f6;border-bottom:1px solid #e7e8ed;min-height:41px;padding:6px 15px}.section-title h3{font-size:var(--text-body);margin:0;font-weight:var(--weight-medium)}.section-actions{display:flex;gap:1px}.section-actions .icon-btn{width:28px;height:25px}.section-actions .btn{min-height:26px;padding:4px 8px;font-size:var(--text-caption)}.section-text{padding:17px 15px;line-height:1.65;color:#626a76;font-size:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;min-height:54px}.section-editor{padding:14px}.section-editor textarea{width:100%;min-height:90px}.section-text.empty{color:#7d828c}.review-notice{font-size:var(--text-caption);color:#87909e;margin:15px 0 5px}.transcript-turn{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.speaker{width:155px;flex-shrink:0;color:#66748b;font-size:var(--text-caption)}.speaker select{width:100%;padding:6px;margin-top:7px;font-size:var(--text-caption)}.transcript-turn p{margin:0;white-space:pre-wrap}.transcript-turn time{display:block;font-size:var(--text-caption);margin-top:7px}.menu-anchor{position:relative;display:inline-flex}.dropdown{position:absolute;z-index:20;top:calc(100% + 9px);right:0;min-width:220px;background:white;border:1px solid #f0f0f3;border-radius:10px;box-shadow:0 2px 5px #00000014;padding:10px}.dropdown button{width:100%;display:flex;align-items:center;gap:12px;background:white;border:0;padding:10px 7px;text-align:left;color:#3f4652;border-radius:5px}.dropdown button:hover{background:#f5f7fb}.dropdown button .menu-icon{width:32px;height:32px;background:#edf5ff;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#4e93e0}.dropdown.coding{min-width:146px;left:0;right:auto}.dropdown.coding button{font-size:var(--text-caption);padding:9px 5px}.mic-dropdown{min-width:290px;padding:12px}.mic-dropdown h3{font-size:var(--text-caption);color:#748093;margin-bottom:8px}.mic-off{padding:12px;background:#fff5f5;color:#973b40;border:1px solid #f8e7e9;border-radius:5px}.mic-off p{font-size:var(--text-control);margin:0 0 9px}.mic-off strong{display:block;margin-bottom:8px}.mic-dropdown select{width:100%;font-size:var(--text-caption);margin:8px 0}.meter{height:6px;border-radius:5px;background:#e3e8ef;overflow:hidden;margin:9px 0}.meter span{display:block;height:100%;background:#3fbc91;transition:width .2s}.overlay{position:fixed;z-index:100;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;padding:28px}.modal{width:768px;max-width:100%;max-height:calc(100dvh - 56px);overflow:hidden;background:#fff;border-radius:13px;display:flex;flex-direction:column;padding:40px 48px;box-shadow:0 12px 70px #0000000b}.modal.wide{width:900px}.modal.compact{width:570px}.modal-heading{font-size:var(--text-title);text-align:center;font-weight:var(--weight-semibold);margin:0 0 30px}.modal-body{overflow:auto;min-height:0;line-height:1.6}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}.modal-footer.separated{border-top:1px solid var(--line);padding-top:24px}.modal .field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}.field label{font-size:var(--text-body);color:#3c4653}.field input,.field select,.field textarea{width:100%}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field small{font-size:var(--text-caption);color:var(--muted);line-height:1.5}.password-input{position:relative}.password-input input{padding-right:42px}.password-input .icon-btn{position:absolute;right:7px;top:7px}.checkbox{display:flex;gap:9px;align-items:flex-start;font-size:var(--text-caption);line-height:1.6;margin-top:16px}.checkbox input{margin-top:4px;accent-color:var(--indigo)}.mode-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px;gap:20px}.mode-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;color:#77818d;font-size:var(--text-control)}.mode-tabs button.active{color:var(--indigo);border-bottom-color:var(--indigo)}.drop-zone{padding:24px 16px;border:1px dashed #adc3e3;border-radius:8px;text-align:center;background:#f7faff;color:#6e819a;cursor:pointer}.drop-zone .icon{width:30px;height:30px;color:#3e99f4;margin-bottom:8px}.drop-zone strong{display:block;font-size:var(--text-body);font-weight:var(--weight-medium);color:#4b6791}.drop-zone span{display:block;font-size:var(--text-caption);margin:8px 0}.drop-zone.drag{background:#ecf5ff;border-color:#2c8af3}.file-name{font-size:var(--text-caption);color:#3686c4;margin-top:8px;overflow-wrap:anywhere}.info{padding:12px 15px;background:#f0f6ff;border-radius:6px;color:#5f7393;font-size:var(--text-caption);line-height:1.6}.warning{background:#fff9ec;color:#92703a}.error-box{background:#fff0f1;border:1px solid #f0d8db;color:#a63b4b;padding:12px 14px;border-radius:7px;font-size:var(--text-control);line-height:1.6;margin-bottom:16px}.error-box:empty{display:none}.full-note{padding:10px 0}.full-note section{margin-bottom:18px;font-size:var(--text-body);color:#606b80;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.full-note strong{font-weight:var(--weight-semibold)}.full-note .note-meta{color:#929aaa;font-size:var(--text-caption);margin-bottom:20px}.modal .illustration{width:130px;height:110px;margin:10px auto 22px;display:block}.confirm-content{text-align:center;padding:5px 30px}.confirm-content h3{font-size:var(--text-display);font-weight:var(--weight-regular);line-height:1.5;margin:10px 0 20px}.confirm-content p{color:#7e8694;line-height:1.6}.confirm-content .field{text-align:left}.feature-list{max-height:52vh;overflow:auto}.feature-item{border:1px solid var(--line);border-radius:8px;margin-bottom:13px;padding:15px}.feature-item h3{margin:0 0 9px;font-size:var(--text-heading)}.feature-item p{font-size:var(--text-control);color:#7a8292;margin:0;white-space:pre-wrap}.feature-item .badge{margin-bottom:7px}.feature-item label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.feature-item input{margin-top:4px;accent-color:var(--blue)}.feature-item code{color:var(--blue);font-weight:bold;font-family:inherit}.feature-item small{display:block;color:#8b94a3;font-size:var(--text-caption);margin-top:9px;line-height:1.6}.feature-notice{color:#8491a3;font-size:var(--text-caption);margin:0 0 18px}.admin-text{width:100%;min-height:160px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chips button{background:var(--button-surface);border:1px solid var(--button-border);border-radius:20px;color:var(--button-ink);padding:7px 12px;font-size:var(--text-caption)}.spinner{width:32px;height:32px;border:2px solid #e5efff;border-top-color:#399cef;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.loading{padding:70px 20px;text-align:center;color:#7b8493;min-height:260px}.loading strong{display:block;color:#354154;margin-bottom:8px}.empty-feature{text-align:center;padding:70px 30px;color:#8892a3}.empty-feature .icon{width:40px;height:40px;margin-bottom:15px}.empty-feature h3{color:#353e4e}.empty-feature p{max-width:420px;margin:0 auto}.progress-panel{margin:auto;max-width:600px;text-align:center;padding:45px}.progress-panel h2{font-size:var(--text-display)}.progress-panel p{color:#8893a2}.steps{display:flex;gap:10px;justify-content:center;margin:28px 0}.step{height:5px;width:70px;background:#e9edf4;border-radius:5px}.step.done{background:#328bf0}.record-modal{padding:20px;width:768px}.record-top{display:flex;align-items:center;padding:0 3px 16px;gap:14px;border-bottom:1px solid var(--line)}.mic-circle{color:#f65583;background:#fff0f6;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center}.record-time{font-size:var(--text-title);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.record-top .badge{margin-left:auto}.record-label{font-size:var(--text-caption);color:#8791a4;margin-top:5px}.live-transcript{min-height:145px;max-height:40vh;overflow:auto;background:#f6f7f9;border:1px solid #e8e9f0;border-radius:7px;padding:22px;margin:20px 0 12px;line-height:1.7;color:#616e83;font-size:var(--text-control);white-space:pre-wrap}.live-transcript:empty:before{content:attr(data-empty);color:#7d8396}.record-controls{display:flex;gap:12px;background:transparent;border-radius:8px}.record-controls button{width:50%;border:1px solid var(--button-border);border-radius:8px;background:var(--button-surface);padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--button-ink);font-size:var(--text-caption);font-weight:var(--weight-medium);box-shadow:var(--button-shadow);position:relative}.record-controls .round{width:25px;height:25px;border:1px solid currentColor;background:transparent;border-radius:50%;color:inherit;display:flex;align-items:center;justify-content:center}.record-controls .round.pink{background:transparent}.record-controls .round .icon{width:14px;height:14px}.record-bottom{margin-top:12px;display:flex;justify-content:flex-end}.connection-card{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.login-screen{min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:80px 20px;background:#f6f8fa;position:relative}.login-card{width:580px;padding:48px 32px;background:white;border-radius:10px;box-shadow:0 3px 8px #00000014;z-index:1}.login-logo{text-align:center;margin-bottom:30px}.login-logo img{width:108px;height:65px;object-fit:contain}.login-logo strong{display:block;font-size:31px;color:#050505;margin-top:0}.login-card h1{font-size:var(--text-heading);font-weight:var(--weight-regular);text-align:center;margin:28px 0 36px;color:#555}.login-card .field{margin-bottom:20px}.login-card input{height:48px}.login-card .login-forgot{display:flex;justify-content:flex-end;margin:16px 0 20px}.login-card .btn.full{min-height:48px}.login-footer{position:absolute;bottom:26px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;color:#758291;font-size:var(--text-control)}.login-footer button{border:0;background:transparent;color:inherit}.login-language{position:absolute;right:24px;top:20px}.bug-button{position:fixed;bottom:18px;right:18px;width:50px;height:50px;border:1px solid var(--button-border);border-radius:50%;background:var(--button-surface);color:var(--button-ink);box-shadow:0 3px 12px #273f5512;z-index:80}.bug-button .icon{width:19px;height:19px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#283449;color:white;padding:12px 20px;border-radius:9px;box-shadow:0 4px 18px #0002;z-index:300;font-size:var(--text-control);max-width:80vw}.toast:empty{display:none}.collapsed .sidebar{padding-left:16px;padding-right:0}.collapsed .consultation-header{padding-top:16px}.collapsed .audio-player{margin-top:0}.collapsed .toolbar{padding-top:0}.print-note{display:none}
@media(min-width:1500px){.consultation-header{padding-top:16px}.audio-player{margin-top:0}.layout{grid-template-columns:350px minmax(0,1fr)}.toolbar{padding-top:0}}
@media(max-width:1100px){.layout{grid-template-columns:290px minmax(0,1fr)}.sidebar{padding-left:16px}.header{padding-inline:20px}.header-actions{gap:6px}.portal-badge{display:none}.consultation-header{padding-inline:18px;gap:6px}.toolbar{gap:6px}.toolbar>.btn,.toolbar>.menu-anchor>.btn{padding:7px 10px}.note-content{padding:18px}.audio-player{margin-top:9px}}
@media(max-width:760px){.header{padding:8px 12px}.brand{gap:8px}.brand span{display:none}.brand img{width:48px}.header-actions{gap:4px}.header-actions .logout span{display:none}.mic-button{width:39px}.mic-button .wave-mini{display:none}.locale-select{max-width:98px}.layout{grid-template-columns:230px minmax(0,1fr);padding:10px 8px 10px 0;gap:8px}.layout:not(.collapsed) .workspace{opacity:.55;pointer-events:none}.layout:not(.collapsed) .sidebar{width:230px;position:absolute;top:64px;bottom:10px;z-index:30;background:#f3f4f6;box-shadow:8px 0 20px #00000008}.layout:not(.collapsed){grid-template-columns:52px minmax(0,1fr)}.layout:not(.collapsed) .workspace{grid-column:2}.layout.collapsed{grid-template-columns:42px minmax(0,1fr)}.sidebar{padding-left:10px}.doctor{font-size:var(--text-caption)}.home-body{padding:15px}.empty-card{padding:20px 12px}.empty-card h1{font-size:17px}.empty-card p{font-size:var(--text-caption)}.empty-actions{flex-direction:column}.workspace-header{padding:18px;font-size:var(--text-body)}.consultation-header{padding:12px;gap:10px}.toolbar{gap:5px}.toolbar>.btn,.toolbar>.menu-anchor>.btn{font-size:var(--text-caption);padding:6px 8px;min-height:31px}.toolbar>.btn:last-child{min-width:56px}.audio-player{width:100%;margin:4px 0 0}.audio-buttons{justify-content:center;gap:28px}.audio-buttons .play{width:42px;height:42px}.audio-buttons .seek-button img{width:28px;height:28px}.workspace-meta{padding:8px 12px}.note-tabs{padding-inline:12px}.note-content{padding:12px}.section-title{padding:6px 10px}.section-title h3{font-size:var(--text-caption)}.section-text{padding:14px 10px;font-size:var(--text-caption)}.overlay{padding:14px}.modal{padding:26px 20px;max-height:calc(100dvh - 28px)}.modal-heading{font-size:var(--text-title);margin-bottom:23px}.field-row{grid-template-columns:1fr;gap:0}.modal-footer{gap:7px}.modal-footer .btn{font-size:var(--text-caption);padding:9px 11px}.confirm-content{padding:0}.modal-footer.separated{padding-top:18px}.transcript-turn{flex-direction:column;gap:8px}.speaker{width:100%;display:flex;gap:8px;align-items:center}.speaker select{width:130px;margin:0}.speaker time{margin:0}.record-modal{padding:15px}.record-time{font-size:var(--text-title)}.record-top{gap:9px}.login-screen{padding:65px 20px}.login-card{padding:35px 25px}.login-footer{font-size:var(--text-caption);gap:15px}.bug-button{width:42px;height:42px}.dropdown{right:-20px;max-width:calc(100vw - 30px)}.feature-list{max-height:48vh}}
@media print{body{background:white}#app,#toast,.bug-button{display:none!important}.overlay{display:block;position:static;padding:0;background:white}.modal{max-height:none;width:auto;padding:0;box-shadow:none;overflow:visible}.modal-body{overflow:visible}.modal-footer,.modal-heading,.feature-notice{display:none}.full-note section{break-inside:avoid}.full-note{display:block;font-size:12pt}.full-note .note-meta{font-size:10pt}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.doctor img{background:#deedf6;border:1px solid #bcd7e7;border-radius:50%;padding:5px}.modal-heading{font-weight:var(--weight-medium)}

.login-screen{background:#f6f8fa}.login-logo img{width:128px;height:98px}.login-logo{margin-bottom:28px}

.bug-modal{position:fixed;right:16px;bottom:16px;width:360px;padding:24px;background:#292430;color:#eee;max-height:calc(100dvh - 32px)}.bug-modal .modal-heading{text-align:left;font-size:var(--text-display);margin-bottom:20px;font-weight:var(--weight-semibold)}.bug-modal .field label{color:#eee}.bug-modal input,.bug-modal textarea{background:transparent;border-color:#554f5c;color:white;padding:10px}.bug-modal .field{margin-bottom:16px}.bug-modal textarea{min-height:160px}.bug-modal .btn{--button-surface:transparent;--button-ink:#d8e9fb;--button-border:#60738c;--button-border-strong:#9dbddd;--button-hover:#ffffff0a;--button-pressed:#ffffff12;box-shadow:none}.bug-modal .btn.neutral{--button-ink:#e0e4ed;--button-border:#667181}.bug-modal .modal-footer{flex-direction:column;gap:8px}.mode-tabs{flex-wrap:wrap}
.live-help{font-size:var(--text-control);color:#667085;line-height:1.5;margin:16px 0 10px}.live-transcript{line-height:1.85;overflow-wrap:anywhere;scroll-behavior:auto}.live-word.final{color:#243248}.live-word.provisional{color:#397bc6;background:#eff6ff;border-bottom:1px dotted #86aee1}.live-speaker{display:block;color:#7b8697;font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.4;letter-spacing:.02em;margin-top:16px}.live-speaker:first-child{margin-top:0}.live-legend{display:flex;align-items:center;gap:7px;color:#7b8697;font-size:var(--text-caption);margin:10px 0 20px}.final-dot,.provisional-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#243248}.provisional-dot{background:#a1c7f3;margin-left:16px}.live-finishing{display:flex;gap:12px;align-items:center;justify-content:center;color:#667085;font-size:var(--text-control)}.live-finishing .spinner{width:20px;height:20px;margin:0}.record-controls button:disabled{cursor:not-allowed}.record-top #live-status{white-space:normal;text-align:center;font-size:var(--text-caption);max-width:150px}

/* Visual audit: shared spacing, optical icon sizes, and content-width layouts. */
:root { --control-height: 44px; --control-radius: 7px; }
button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
input:not([type="checkbox"]):not([type="range"]), select { line-height: 1.4; }
.field input, .field select { min-height: var(--control-height); }
.locale-select { padding: 8px 40px 8px 12px; min-height: 36px; max-width: 124px; }
.speaker select { padding: 7px 40px 7px 10px; min-height: 34px; }
.layout { padding-inline-end: 16px; }
.workspace { container-type: inline-size; container-name: workspace; }
.collapsed .sidebar { padding-inline: 0; align-items: center; }
.consultation-header, .collapsed .consultation-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 232px;
  align-items: center;
  gap: 20px;
  padding: 16px 24px;
  flex-shrink: 0;
}
.toolbar { min-width: 0; gap: 8px; padding: 0; }
.toolbar > .btn, .toolbar > .menu-anchor > .btn { min-height: 36px; line-height: 1.4; }
.audio-player, .collapsed .audio-player { margin: 0; width: 232px; }
.audio-buttons { padding: 0 0 8px; }
.audio-buttons .seek-button {
  width: 44px; height: 44px; padding: 5px;
  display: grid; place-items: center; flex-shrink: 0;
  border-radius: 50%; color: #32ade6;
}
.audio-buttons .seek-button:hover { background: var(--button-hover); }
.audio-buttons .seek-button img { width: 34px; height: 34px; display: block; }
.audio-buttons .play { padding: 0; flex-shrink: 0; }
.audio-times { font-variant-numeric: tabular-nums; }
.workspace-meta { min-height: 45px; }
.note-tabs { height: auto; min-height: 44px; column-gap: 18px; flex-wrap: wrap; }
.note-tabs button { min-height: 44px; height: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 5px; }
.note-tabs button:last-child { margin-inline-start: auto; }
.note-content { padding-bottom: 76px; overscroll-behavior: contain; }
.section-title { min-height: 44px; padding-block: 5px; }
.section-title h3 { line-height: 1.45; min-width: 0; }
.section-actions { flex-shrink: 0; gap: 3px; }
.section-actions .icon-btn { width: 32px; height: 32px; }
.modal-heading, .modal-footer { flex-shrink: 0; }
.modal-body { overscroll-behavior: contain; }
.modal-footer .btn { min-height: 40px; }
.mode-tabs { gap: 8px 20px; }
.mode-tabs button { line-height: 1.45; }
.record-modal { overflow-y: auto; }
.mic-circle { flex-shrink: 0; }
.record-top #live-status { flex-shrink: 0; }
.bug-modal { width: min(360px, calc(100vw - 32px)); }

@container workspace (max-width: 680px) {
  .consultation-header, .collapsed .consultation-header {
    grid-template-columns: minmax(0, 1fr); padding: 16px 18px; gap: 16px;
  }
  .toolbar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .toolbar > .btn, .toolbar > .menu-anchor > .btn {
    width: 100%; padding: 8px; font-size:var(--text-caption); white-space: normal; min-height: 38px;
  }
  .toolbar > .btn:last-child { min-width: 0; }
  .toolbar > .menu-anchor { display: block; }
  .audio-player { justify-self: center; }
}
@container workspace (max-width: 400px) {
  .consultation-header, .collapsed .consultation-header { padding: 12px; gap: 12px; }
  .toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .audio-player, .collapsed .audio-player { width: 100%; }
  .audio-buttons { justify-content: center; gap: 22px; }
  .audio-buttons .play { width: 44px; height: 44px; }
  .audio-buttons .seek-button img { width: 30px; height: 30px; }
  .note-tabs { gap: 0 16px; }
  .note-tabs > span { display: none; }
  .note-content { padding: 12px 12px 76px; }
  .section-text { font-size:var(--text-control); }
}
@media (max-width: 760px) {
  .header { gap: 12px; }
  .header-actions { gap: 6px; }
  .locale-select { max-width: 112px; }
  .layout { padding-inline-end: 10px; }
  .header .dropdown {
    position: fixed; top: 62px; right: 12px; left: auto;
    min-width: 0; width: min(320px, calc(100vw - 24px));
    max-height: calc(100dvh - 78px); overflow-y: auto;
  }
  .header .dropdown:dir(rtl) { right: auto; left: 12px; }
  .modal { padding: 26px 20px; }
  .modal-footer { gap: 8px; }
  .modal-footer .btn { white-space: normal; line-height: 1.4; min-height: 42px; }
  .mode-tabs { gap: 8px 16px; }
  .record-modal { padding: 16px; }
  .live-transcript { padding: 16px; }
  .record-top #live-status { max-width: 112px; }
  .bug-modal { padding: 24px; }
}
@media (max-width: 360px) {
  .header { padding-inline: 10px; gap: 8px; }
  .header-actions { gap: 3px; }
  .locale-select { padding-inline-start: 10px; max-width: 104px; }
  .overlay { padding: 10px; }
  .modal { padding: 24px 16px; max-height: calc(100dvh - 20px); }
  .modal-heading { font-size:var(--text-display); }
  .modal-footer .btn { flex: 1 1 auto; }
  .record-modal { padding: 14px; }
}
@media (forced-colors: active) {
  select { appearance: auto; background-image: none; }
}
.modal-body, .feature-list, .live-transcript {
  scrollbar-width: thin;
  scrollbar-color: #aeb6c4 transparent;
}
.mode-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.mode-tabs button {
  min-width: 0; min-height: 48px;
  padding: 8px 0;
  white-space: normal;
  text-align: center;
}
:root { --muted: #667085; }
.empty-card p, .review-notice, .feature-notice, .feature-item small,
.field small, .record-label, .full-note .note-meta { color: #667085; }
.section-text.empty { color: #687387; }
.note-tabs button { color: #667085; }
.session-card time { font-size:var(--text-caption); }
.badge.green { color: #156b56; }
.badge.amber { color: #886117; }
.modal-body { margin: -3px; padding: 3px; }
.feature-list { max-height: none; overflow: visible; }
.password-input .icon-btn { top: 50%; right: 8px; transform: translateY(-50%); }
input[type="checkbox"] {
  width: 16px; height: 16px; min-width: 16px;
  flex: 0 0 16px; padding: 0; margin: 3px 0 0;
  accent-color: var(--indigo);
}
.feature-item label > span { min-width: 0; overflow-wrap: anywhere; }
.drop-zone { display: block; width: 100%; }
.guide-preview-button { width: 100%; justify-content: flex-start; margin: 4px 0 18px; }
.record-modal.with-guide { width: 1120px; max-width: calc(100vw - 40px); }
.record-grid { display: grid; grid-template-columns: minmax(0,1fr); min-height: 0; gap: 24px; }
.with-guide .record-grid { grid-template-columns: minmax(0,1.1fr) minmax(350px,1fr); }
.record-main { min-width: 0; }
.with-guide .record-main { display: flex; flex-direction: column; }
.with-guide .live-transcript { flex: 1; min-height: 180px; max-height: 45vh; margin-top: 12px; }
.guide-toggle-row { display: flex; justify-content: flex-end; padding-top: 9px; }
.guide-toggle-row .btn { font-size:var(--text-caption); min-height: 36px; padding: 6px 8px; }
.guide-toggle-row + .live-help { margin-top: 3px; }
.record-guide { border: 1px solid #e3e8f0; background: #fafbfd; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; min-height: 0; }
.guide-heading { padding: 18px 18px 0; }
.guide-heading h3 { font-size:var(--text-heading); color: #253650; font-weight:var(--weight-semibold); margin: 0 0 6px; }
.guide-heading p { font-size:var(--text-caption); color: #69758a; margin: 0; }
.guide-anchor { background: #edf3ff; color: #345789; font-size:var(--text-caption); padding: 10px 14px; margin: 14px 12px 0; border-radius: 7px; line-height: 1.6; }
.guide-sections { max-height: min(53vh,500px); overflow-y: auto; padding: 0 15px 8px; scrollbar-width: thin; scrollbar-color: #b5c0d1 transparent; overscroll-behavior: contain; }
.guide-group h4 { color: #66748b; font-size:var(--text-caption); text-transform: uppercase; letter-spacing: .07em; margin: 19px 0 8px; font-weight:var(--weight-semibold); }
.guide-row { padding: 10px 0; display: flex; gap: 10px; border-bottom: 1px solid #e8ecf2; }
.guide-row > span:not(.guide-number) { min-width: 0; }
.guide-row strong { font-weight:var(--weight-semibold); color: #35445d; font-size:var(--text-caption); line-height: 1.4; display: block; }
.guide-number { color: #697e9e; background: #edf1f7; border-radius: 5px; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; font-size:var(--text-caption); flex-shrink: 0; font-variant-numeric: tabular-nums; }
.guide-hint { display: block; color: #627087; font-size:var(--text-caption); line-height: 1.6; margin-top: 3px; }
.guide-expand { display: block; padding: 0; }
.guide-expand summary { padding: 10px 6px 10px 0; display: flex; gap: 10px; cursor: pointer; list-style: none; align-items: flex-start; }
.guide-expand summary::-webkit-details-marker { display: none; }
.guide-expand summary > span:nth-child(2) { flex: 1; min-width: 0; }
.guide-chevron { width: 7px; height: 7px; border-right: 1.5px solid #7789a5; border-bottom: 1.5px solid #7789a5; transform: rotate(45deg); flex: 0 0 7px; margin: 6px 8px 0 5px; }
.guide-expand[open] .guide-chevron { transform: rotate(225deg); margin-top: 10px; }
.guide-expand[open] summary { color: #2e5593; }
.guide-details { margin: 0 4px 12px 34px; padding: 12px; border-radius: 7px; background: #edf2f9; }
.guide-details p { font-size:var(--text-caption); color: #52647f; line-height: 1.65; margin: 0 0 12px; }
.guide-details p:last-child { margin: 0; }
.guide-details strong { font-size:var(--text-caption); margin-bottom: 5px; }
.guide-footnote { font-size:var(--text-caption); color: #68778d; line-height: 1.6; padding: 12px 17px; margin: 0; border-top: 1px solid #e3e8f0; }
.guide-preview-modal { width: 640px; }
.guide-preview-modal .modal-heading { display: none; }
.guide-preview-modal .guide-sections { max-height: 58vh; }
.guide-preview-modal .record-guide { border: 0; }
.guide-preview-modal .guide-heading { padding-top: 0; }
.record-guide { height: min(650px,calc(100dvh - 120px)); }
.guide-sections { flex: 1; min-height: 0; max-height: none; }
.guide-heading,.guide-anchor,.guide-footnote,.guide-nav { flex-shrink: 0; }
.guide-nav { display: flex; gap: 6px; padding: 10px 15px 0; }
.guide-nav button { border: 1px solid var(--button-border); background: var(--button-surface); padding: 7px 11px; border-radius: 8px; color: var(--button-ink); font-size:var(--text-caption); }
.guide-nav button:hover { background: var(--button-hover); }
.guide-preview-modal .record-guide { height: min(650px,calc(100dvh - 210px)); }
.guide-preview-modal .guide-sections { max-height: none; }
.guide-preview-modal .modal-body { overflow: hidden; }
.review-modal { width: 920px; }
.review-modal .modal-heading { text-align: start; margin-bottom: 10px; }
.review-subtitle { font-size:var(--text-control); color: #627087; margin-bottom: 18px; }
.review-voice-bar { display: flex; gap: 14px; align-items: center; padding: 13px; background: #f5f7fc; border: 1px solid #e9edf5; border-radius: 9px; margin-bottom: 24px; }
.review-voice-bar p { font-size:var(--text-caption); color: #69758a; margin: 0; }
.review-voice-bar .btn { flex-shrink: 0; font-size:var(--text-caption); }
.review-assessment { padding: 16px; border: 1px solid #dce5f3; border-radius: 9px; margin: 0 0 24px; }
.review-assessment h3,.review-group-title { font-size:var(--text-body); font-weight:var(--weight-semibold); margin-bottom: 10px; }
.review-assessment > p { font-size:var(--text-caption); color: #627087; }
.review-action { padding: 17px; border: 1px solid #e4e8ef; border-radius: 10px; margin-bottom: 15px; }
.review-action > header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 17px; }
.review-action h4 { margin: 0; font-size:var(--text-body); font-weight:var(--weight-semibold); overflow-wrap: anywhere; flex: 1; min-width: 140px; }
.review-action > header .small { width: 100%; font-size:var(--text-caption); }
.investigation-clarify { font-size:var(--text-caption); padding: 9px 12px; white-space: normal; }
.investigation-editor { background: #f6f9fe; border: 1px solid #d5e1f2; border-radius: 9px; padding: 15px; margin: 12px 0 16px; }
.investigation-editor > label { display: block; font-size:var(--text-control); font-weight:var(--weight-semibold); color: #354967; }
.investigation-editor > p { line-height: 1.6; margin: 6px 0 12px; }
.investigation-editor > textarea { width: 100%; min-height: 95px; padding: 11px 12px; font-size:var(--text-control); line-height: 1.6; resize: vertical; }
.clarification-controls { display: flex; align-items: stretch; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.clarification-controls .btn { font-size:var(--text-caption); white-space: normal; min-height: 38px; }
.clarification-preview { border-top: 1px solid #d5e1f2; margin-top: 16px; padding-top: 15px; }
.clarification-preview h5 { font-size:var(--text-control); margin: 0 0 12px; }
.clarification-preview dl { display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 8px 14px; font-size:var(--text-caption); line-height: 1.6; }
.clarification-preview dt { color: #54657d; }
.clarification-preview dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.clarification-preview p { font-size:var(--text-caption); line-height: 1.6; }
.clarification-original { font-size:var(--text-caption); color: #66758a; margin: -6px 0 12px; }
.clarification-history { margin: 12px 0; }
.clarification-history summary { font-size:var(--text-caption); color: #4a658a; cursor: pointer; padding: 8px 24px 8px 0; }
.clarification-history time { font-size:var(--text-caption); color: #66758a; }
.clarification-history p { white-space: pre-wrap; overflow-wrap: anywhere; font-size:var(--text-caption); line-height: 1.6; margin: 5px 0 12px; }
.clarification-record-target { font-size:var(--text-control); line-height: 1.6; padding: 10px 12px; border-radius: 8px; background: #f0f5fd; }
.sut-interpretation { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid #dce4ef; }
.sut-interpretation .badge { white-space: normal; line-height: 1.6; }
.sut-interpretation h5 { font-size:var(--text-body); line-height: 1.6; margin: 10px 0 5px; color: #274f7c; }
.sut-interpretation .btn { font-size:var(--text-caption); margin-top: 10px; white-space: normal; }
.sut-recommended-code { font-size:var(--text-control); overflow-wrap: anywhere; }
.sut-match-reason { margin-top: 10px; }
.sut-match-reason summary { cursor: pointer; color: #43648b; font-size:var(--text-caption); padding: 7px 24px 7px 0; }
.sut-match-reason p,.sut-match-reason blockquote { font-size:var(--text-caption); line-height: 1.6; }
.sut-match-reason blockquote { margin: 10px 0; padding-left: 10px; border-left: 2px solid #bbcee5; color: #65748a; }
.sut-condition { background: #fff8e9; border-radius: 6px; padding: 9px 11px; font-size:var(--text-caption); }
@media(max-width:540px) {
  .investigation-clarify { width: 100%; }
  .investigation-editor { padding: 12px; }
  .clarification-preview dl { grid-template-columns: minmax(0,1fr); gap: 4px; }
  .clarification-preview dd { margin-bottom: 8px; }
  .clarification-controls .btn { flex: 1; }
}
.review-state { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 7px 16px; margin-bottom: 14px; }
.review-state > label:first-child { grid-column: 1 / -1; font-size:var(--text-caption); font-weight:var(--weight-medium); }
.review-state select { width: 100%; font-size:var(--text-caption); min-height: 42px; }
.review-state .checkbox { font-size:var(--text-caption); line-height: 1.5; }
.request-preview { border: 1px solid #b8d6cf; background: #f4faf8; border-radius: 9px; padding: 15px; margin: 16px 0; }
.request-preview > header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; justify-content: space-between; }
.request-preview h5 { margin: 0; font-size:var(--text-control); color: #245a50; }
.request-preview-help { font-size:var(--text-caption); color: #5c736e; line-height: 1.6; margin: 8px 0; }
.request-preview > p:last-child { margin-bottom: 0; }
.request-document { background: #fff; border: 1px solid #dfece8; border-radius: 6px; padding: 15px; overflow-wrap: anywhere; }
.request-patient { margin: 0 0 9px; font-size:var(--text-caption); color: #61716d; }
.request-document h6 { font-size:var(--text-body); line-height: 1.6; margin: 0 0 15px; color: #243f39; }
.request-document dl { margin: 0; display: grid; grid-template-columns: minmax(110px, 30%) minmax(0,1fr); gap: 10px 18px; font-size:var(--text-caption); line-height: 1.65; }
.request-document dt { font-weight:var(--weight-semibold); color: #405a53; }
.request-document dd { margin: 0; white-space: pre-wrap; }
.request-pending { color: #7b827f; font-style: italic; }
.request-condition { font-size:var(--text-caption); line-height: 1.6; border-top: 1px solid #e2ece8; padding-top: 12px; margin: 14px 0 0; }
.review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.review-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.review-field label { font-size:var(--text-caption); color: #40516b; }
.review-field textarea { width: 100%; min-height: 68px; padding: 10px 12px; font-size:var(--text-caption); line-height: 1.5; }
.review-field select { min-height: 42px; width: 100%; font-size:var(--text-caption); }
.review-field small { color: #41679e; font-size:var(--text-caption); line-height: 1.5; }
.review-field-evidence summary { font-size:var(--text-caption); color: #4a658a; cursor: pointer; padding-block: 3px; }
.review-field-evidence blockquote { white-space: pre-wrap; border-left: 2px solid #cdd9ed; padding-left: 10px; margin: 8px 0; font-size:var(--text-caption); line-height: 1.5; color: #66758d; }
.review-missing-title { font-size:var(--text-caption); color: #75664a; margin: 15px 0 10px; }
.review-documented { margin-top: 14px; border-top: 1px solid #edf0f5; padding-top: 14px; }
.review-documented summary,.review-evidence summary,.voice-preview summary { font-size:var(--text-caption); color: #4a658a; cursor: pointer; padding: 5px 0; }
.review-documented .review-grid { padding-top: 14px; }
.review-evidence { margin-top: 12px; }
.review-evidence blockquote { white-space: pre-wrap; border-left: 2px solid #cdd9ed; padding-left: 10px; margin: 8px 0; font-size:var(--text-caption); color: #66758d; }
.review-coverage { padding: 13px 15px; background: #f4f6fa; border-radius: 7px; font-size:var(--text-caption); color: #66758a; margin: 20px 0 0; }
.review-modal .modal-footer { border-top: 1px solid #e9edf3; padding-top: 17px; gap: 9px; align-items: center; }
.review-modal .modal-footer .btn { white-space: normal; font-size:var(--text-caption); }
.review-modal .modal-footer .badge { margin-inline-end: auto; }
.voice-preview { background: #f0f5ff; border: 1px solid #ccdaf2; border-radius: 9px; padding: 16px; margin-bottom: 20px; }
.voice-preview h3 { font-size:var(--text-body); }
.voice-preview p,.voice-preview li { font-size:var(--text-caption); line-height: 1.6; overflow-wrap: anywhere; }
.voice-preview ul { padding-inline-start: 18px; }
.voice-preview .btn { font-size:var(--text-caption); margin: 5px 6px 0 0; white-space: normal; }
.voice-updated textarea,.voice-updated select { background: #eef5ff; border-color: #9ab9e7; }
.accepted-label { color: #156b56; font-weight:var(--weight-medium); }
@media(max-width:900px) {
  .with-guide .record-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .with-guide .live-transcript { min-height: 150px; max-height: 26vh; }
  .guide-sections { max-height: 34vh; }
  .record-modal.with-guide { width: 700px; }
}
@media(max-width:540px) {
  .request-preview,.request-document { padding: 12px; }
  .request-document dl { grid-template-columns: minmax(0,1fr); gap: 3px; }
  .request-document dd { margin-bottom: 9px; }
  .record-modal.with-guide { max-width: calc(100vw - 20px); }
  .review-grid,.review-state { grid-template-columns: minmax(0,1fr); }
  .review-action,.review-assessment { padding: 13px; }
  .review-voice-bar { align-items: flex-start; flex-direction: column; gap: 9px; }
  .review-modal .modal-footer { display: grid; grid-template-columns: 1fr 1fr; }
  .review-modal .modal-footer [data-action="accept-request"] { grid-column: 1 / -1; }
  .review-modal .modal-footer .badge { grid-row: 1; grid-column: 2; justify-self: end; margin: 0; }
  .review-modal .modal-footer [data-action="accept-only"] { grid-column: 1 / -1; }
}
@container workspace (min-width: 681px) and (max-width: 1100px) {
  .toolbar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .toolbar > .menu-anchor { display: block; }
  .toolbar > .btn, .toolbar > .menu-anchor > .btn {
    width: 100%; min-width: 0; min-height: 38px;
    padding: 8px; white-space: normal; line-height: 1.4;
  }
}
@media (max-width: 760px) {
  .speaker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .speaker strong { min-width: 0; }
  .speaker select { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .speaker time { grid-column: 2; grid-row: 1; }
}
.sut-summary{border:1px solid #d9e4f1;background:#f7faff;border-radius:12px;padding:16px;margin:16px 0}
.sut-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.sut-summary-heading h3{margin:0 0 4px}.sut-summary-heading p{margin:0}.sut-check-buttons{display:flex;gap:8px;flex-wrap:wrap}.sut-scope{font-size:var(--text-control);line-height:1.5;margin:12px 0;color:#546477}
.sut-code{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:12px;margin:14px 0}.sut-code>label{display:block;font-size:var(--text-control);font-weight:var(--weight-semibold);margin-bottom:6px}.sut-code select{width:100%;max-width:100%;padding:9px 34px 9px 12px;border:1px solid #cbd5e1;border-radius:7px;background-color:#fff;color:#1e293b}.sut-code p{line-height:1.5;margin:8px 0 0}
.sut-code-overview { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sut-code-overview > div { min-width: 0; }
.sut-code-overview .btn { flex-shrink: 0; font-size:var(--text-caption); white-space: normal; }
.sut-code-status { font-size:var(--text-caption); color: #536b82; }
.sut-assay-choice { border: 0; padding: 0; margin: 14px 0 6px; min-width: 0; }
.sut-assay-choice legend { font-size: var(--text-control); font-weight: var(--weight-semibold); }
.sut-assay-choice > p { font-size: var(--text-caption); color: #536b82; }
.sut-assay-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.sut-assay-option { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; cursor: pointer; }
.sut-assay-option input { flex-shrink: 0; width: 16px; height: 16px; margin: 3px 0 0; accent-color: #356a89; }
.sut-assay-option span { display: grid; gap: 3px; min-width: 0; font-size: var(--text-control); }
.sut-assay-option small { font-size: var(--text-caption); color: #536b82; }
.sut-assay-option:has(input:checked) { border-color: #356a89; box-shadow: inset 0 0 0 1px #356a89; }
.sut-assay-option:focus-within { outline: 2px solid #356a89; outline-offset: 3px; }
.sut-assay-option:has(input:disabled) { opacity: .6; cursor: default; }
.sut-assay-pending { grid-column: 1 / -1; padding: 8px 0; border: 0; background: transparent; }
.sut-assay-pending:has(input:checked) { box-shadow: none; }
@media(max-width:540px) { .sut-assay-options { grid-template-columns: minmax(0,1fr); } }
.sut-code-options > summary { cursor: pointer; color: #43648b; font-size:var(--text-caption); padding: 10px 24px 2px 0; }
.sut-code-options[open] > summary { padding-bottom: 12px; }
.sut-code-options > label { display: block; font-size:var(--text-caption); font-weight:var(--weight-medium); margin-bottom: 7px; }
@media(max-width:540px) { .sut-code-overview { flex-direction: column; align-items: stretch; } }
.sut-evidence summary,.sut-findings summary{cursor:pointer;padding:10px 28px 10px 0;font-size:var(--text-control);font-weight:var(--weight-semibold)}.sut-evidence p,.sut-finding p{font-size:var(--text-control);line-height:1.55}.sut-finding{border-top:1px solid #dce5ef;padding:12px 0}.sut-finding strong{font-size:var(--text-control)}.sut-finding a,.sut-evidence a{font-size:var(--text-caption);color:#2263a5}.sut-finding blockquote{margin:8px 0;border-left:3px solid #c7d7ea;padding-left:12px;color:#64748b;font-size:var(--text-control)}.sut-dirty{color:#926313}
@media(max-width:640px){.sut-summary-heading{align-items:flex-start;flex-direction:column}.sut-summary{padding:12px}.sut-check-buttons{width:100%}.sut-check-buttons .btn{flex:1;padding:9px 12px;font-size:var(--text-caption)}.sut-code select{font-size:var(--text-caption)}}

/* Consistent feedback across action, playback and recording controls. */
.btn:not(:disabled):hover,
.mic-button:not(:disabled):hover,
.audio-buttons button:not(:disabled):hover,
.record-controls button:not(:disabled):hover,
.bug-button:not(:disabled):hover,
.chips button:not(:disabled):hover,
.guide-nav button:not(:disabled):hover {
  color: var(--button-ink);
  background: var(--button-hover);
  border-color: var(--button-border-strong);
  box-shadow: 0 2px 5px #263f5612;
}
.btn:not(:disabled):active,
.mic-button:not(:disabled):active,
.audio-buttons button:not(:disabled):active,
.record-controls button:not(:disabled):active,
.bug-button:not(:disabled):active,
.chips button:not(:disabled):active,
.guide-nav button:not(:disabled):active {
  background: var(--button-pressed);
  box-shadow: inset 0 1px 2px #263f5610;
}
button:focus-visible { outline: 2px solid var(--button-ink); outline-offset: 3px; }
.btn:disabled,.mic-button:disabled,.audio-buttons button:disabled,
.record-controls button:disabled,.chips button:disabled,.guide-nav button:disabled {
  color: #8b98a5; border-color: #d6dfe7; background: transparent;
  box-shadow: none; opacity: 1;
}
.icon-btn { border: 1px solid transparent; border-radius: 7px; }
.icon-btn:not(:disabled):hover { border-color: #d4e0e9; }
.icon-btn:disabled { color: #a4afbb; opacity: 1; }
.audio-buttons .seek-button { border: 1px solid var(--button-border); background: var(--button-surface); box-shadow: var(--button-shadow); }
.record-controls button[data-action="record-stop"] {
  --button-ink: #a13f52; --button-border: #d6a7af;
  --button-border-strong: #b96374; --button-hover: #fff8f9; --button-pressed: #fdeff2;
}
.dropdown button .menu-icon { background: transparent; border: 1px solid #dce5ee; }
.session-card { box-shadow: var(--button-shadow); }
.session-card:not(:disabled):hover { border-color: var(--button-border); }
.session-card.selected { border-color: var(--button-border-strong); color: var(--button-ink); box-shadow: inset 3px 0 0 var(--button-border-strong); }
.note-tabs button.active,.mode-tabs button.active { color: var(--button-ink); border-bottom-color: var(--button-border-strong); }
.note-tabs button:not(:disabled):hover,.mode-tabs button:not(:disabled):hover { color: var(--button-ink); }
.bug-modal .btn:disabled { color: #8b94a3; border-color: #4c5868; }
@media(prefers-reduced-motion:reduce) { button { transition: none; } }
/* Preserve the collaboration lockup's proportions at every viewport size. */
:root { --app-header-height: 64px; }
.header { height: var(--app-header-height); }
.brand { min-width: 0; gap: 22px; flex-shrink: 1; border-radius: 5px; }
.brand img { display: block; width: 320px; height: auto; flex-shrink: 0; }
.brand span { font-size:var(--text-control); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.header-actions { flex-shrink: 0; }
.layout { height: calc(100dvh - var(--app-header-height)); }
.login-logo img { display: block; width: 360px; max-width: 100%; height: auto; margin-inline: auto; }
@media (max-width: 1100px) {
  .brand span { display: none; }
}
@media (max-width: 760px) {
  :root { --app-header-height: 104px; }
  .header { flex-direction: column; justify-content: center; gap: 6px; padding: 7px 14px; }
  .brand img { width: 300px; max-width: calc(100vw - 28px); height: auto; }
  .header-actions { width: 100%; justify-content: flex-end; }
  .layout:not(.collapsed) .sidebar { top: calc(var(--app-header-height) + 10px); }
  .header .dropdown { top: calc(var(--app-header-height) + 8px); max-height: calc(100dvh - var(--app-header-height) - 24px); }
}

/* Shared type roles: clinical content, controls, supporting text and headings. */
body { line-height: 1.5; }
button, input, select, textarea { font-family: var(--font-ui); letter-spacing: normal; }
strong, b { font-weight: var(--weight-semibold); }
h1, h2, h3, h4, h5, h6 { line-height: 1.4; }
.modal-heading { font-weight: var(--weight-semibold); }
.btn, .sidebar-footer .btn, .toolbar > .btn, .toolbar > .menu-anchor > .btn,
.modal-footer .btn, .review-modal .modal-footer .btn, .review-voice-bar .btn,
.clarification-controls .btn, .sut-code-overview .btn, .sut-check-buttons .btn,
.sut-interpretation .btn, .voice-preview .btn, .section-actions .btn,
.workspace-meta .btn, .dropdown button, .dropdown.coding button,
.note-tabs button, .mode-tabs button, .guide-nav button, .chips button,
.record-controls button, .sample-link {
  font-size: var(--text-control);
  line-height: 1.4;
}
.field label, .review-field label, .review-state > label:first-child,
.sut-code-options > label, .investigation-editor > label {
  font-size: var(--text-control);
  font-weight: var(--weight-medium);
  line-height: 1.5;
}
.review-field textarea, .review-field select, .review-state select,
.sut-code select, .investigation-editor > textarea,
.section-text, .full-note section, .live-transcript,
.request-document dl, .clarification-preview dl {
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: 1.6;
}
.review-state .checkbox, .checkbox { font-size: var(--text-control); }
.review-group-title, .review-assessment h3, .sut-summary-heading h3,
.guide-heading h3, .feature-item h3 {
  font-size: var(--text-heading);
  font-weight: var(--weight-semibold);
}
.section-title h3, .review-action h4, .request-document h6,
.request-preview h5, .clarification-preview h5, .sut-interpretation h5 {
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
}
.review-documented summary, .review-evidence summary, .voice-preview summary,
.review-field-evidence summary, .sut-code-options > summary,
.sut-match-reason summary, .sut-evidence summary, .sut-findings summary,
.clarification-history summary {
  font-size: var(--text-caption);
  font-weight: var(--weight-medium);
  line-height: 1.5;
}
.request-pending { font-style: normal; }
.toolbar { align-items: stretch; grid-auto-rows: 1fr; }
.toolbar > .menu-anchor > .btn { height: 100%; }
.review-voice-bar { margin-bottom: 16px; }
.review-action .review-grid:has(> .review-field:only-child) { grid-template-columns: minmax(0,1fr); }
.sut-code select { padding-inline-end: 42px; }
.session-card time, .transcript-turn time { font-variant-numeric: tabular-nums; }
.review-modal .modal-footer .badge { white-space: normal; }
@media (max-width: 540px) {
  .modal-heading { font-size: var(--text-display); }
  .review-subtitle { font-size: var(--text-control); }
}

.medicine-choice-help { margin: 8px 0 0; line-height: 1.5; }
.medicine-barcode { font-variant-numeric: tabular-nums; margin-top: 5px; }
.medicine-identity { display: grid; grid-template-columns: minmax(120px, .4fr) minmax(0, 1fr); gap: 7px 16px; margin: 12px 0; font: inherit; }
.medicine-identity dt { color: var(--muted, #62748a); }
.medicine-identity dd { margin: 0; overflow-wrap: anywhere; }
@media(max-width:540px) { .medicine-identity { grid-template-columns: 1fr; gap: 5px; } .medicine-identity dd { margin-bottom: 7px; } }
