/* Compact Material workspace. Content is paged; the viewport never becomes a document scroller. */
:root{--m-primary:#006b62;--m-ink:#183b3a;--m-muted:#607574;--m-line:#dce5e2;--m-surface:#fff;--m-bg:#f5f8f6}
html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
body{background:var(--m-bg);font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--m-ink)}
*,*:before,*:after{box-sizing:border-box}
[hidden]{display:none!important}
#app{height:100dvh;min-height:0;color:var(--m-ink);--text:var(--m-ink);--muted:var(--m-muted);--line:var(--m-line);--panel:var(--m-surface);--accent:var(--m-primary)}
#app .app-shell{display:grid;grid-template-columns:184px minmax(0,1fr);height:100%;min-height:0;max-width:none;margin:0}
#app .sidebar{position:static;display:flex;flex-direction:column;width:auto;height:100%;min-height:0;padding:25px 12px 18px;background:#edf3f0;border-right:1px solid var(--m-line);gap:26px}
#app .brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0 12px;text-decoration:none;color:var(--m-ink)}
#app .brand-logo{width:132px;max-width:100%;padding:0;background:transparent;border-radius:0}
#app .brand-name{display:block;font-size:23px;font-weight:600;letter-spacing:-.7px;line-height:1.1}
#app .brand-sub{display:block;font-size:10px;letter-spacing:1.15px;margin-top:7px;color:var(--m-muted)}
#app .nav-list{display:grid;gap:7px}
#app .nav-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;width:100%;padding:10px 13px;border:0;border-radius:24px;background:transparent;color:#45605b;font-size:14px;text-align:left}
#app .nav-item>span{display:inline}
#app .nav-item:hover{background:#e1eae5}
#app .nav-item.active{background:#d1e9df;color:#005c52;font-weight:600}
#app .nav-item .icon{width:20px;height:20px}
#app .sidebar-footer{margin-top:auto;padding:0;border:0;display:grid;gap:8px}
#app .sidebar-footer>.nav-item{display:flex;font-size:14px}
.m-profile{border-top:1px solid var(--m-line);padding:18px 5px 0;display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.4}
.m-profile>span{display:grid;place-items:center;width:34px;height:34px;background:#dce9e3;border-radius:50%;color:#37675c}
.m-profile small{display:block;font-size:11px;color:var(--m-muted)}
#app .main-area{display:grid;grid-template-rows:64px minmax(0,1fr);min-height:0;margin:0;min-width:0;width:auto;background:var(--m-bg)}
#app .topbar{position:static;display:flex;align-items:center;justify-content:space-between;min-height:0;height:64px;padding:0 28px;border-bottom:1px solid var(--m-line);background:#fff;gap:16px}
#app .breadcrumb{font-size:14px;color:var(--m-muted);white-space:nowrap}
#app .breadcrumb strong{font-weight:500;color:var(--m-ink)}
#app .breadcrumb span{margin:0 10px;color:#a4b5af}
#app .top-actions{display:flex;align-items:center;gap:16px}
#app .training-label{display:flex;align-items:center;gap:7px;color:var(--m-muted);font-size:12px;white-space:nowrap}
#app .training-label i{width:6px;height:6px;background:#31a580;border-radius:50%}
#app .icon-button,#modal-root .icon-button{width:44px;height:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px;background:transparent;border:1px solid transparent;border-radius:50%;color:var(--m-muted)}
#app .icon-button:hover,#modal-root .icon-button:hover{background:#edf4f0}
#page-content{height:100%;min-height:0;min-width:0}
.m-page{height:100%;max-width:1440px;margin:auto;padding:26px 32px 20px;display:flex;flex-direction:column;gap:16px;min-height:0;min-width:0}
.m-page h1,.m-page h2,.m-page p,.m-page blockquote,#modal-root p,#modal-root h2,#modal-root h3,#modal-root a{overflow-wrap:anywhere}
#app h1,#app h2,#app h3,#modal-root h2,#modal-root h3{font-family:inherit;color:var(--m-ink);letter-spacing:-.65px}
.m-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.m-page-heading h1{font-size:28px;font-weight:500;line-height:1.2;margin:0 0 7px}
.m-page-heading p{font-size:14px;color:var(--m-muted);line-height:1.45;margin:0}
#app .button,#app .text-button,#modal-root .button,#modal-root .text-button{min-height:44px;padding:10px 18px;font-size:14px;line-height:1.3;font-weight:500;border-radius:24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:normal}
#app .button.primary,#modal-root .button.primary{background:var(--m-primary);border:1px solid var(--m-primary);color:#fff;box-shadow:none}
#app .button.primary:hover,#modal-root .button.primary:hover{background:#005950}
#app .button.secondary,#modal-root .button.secondary{background:white;border:1px solid #b8cbc4;color:#00665b}
#app .button:disabled,#modal-root .button:disabled{opacity:.4;cursor:default}
#app .text-button,#modal-root .text-button{border:0;background:transparent;color:#006b62;padding:8px 10px;min-height:44px}
#app .icon,#modal-root .icon{width:20px;height:20px;flex-shrink:0}
#app button:focus-visible,#app a:focus-visible,#app input:focus-visible,#app select:focus-visible,#modal-root button:focus-visible,#modal-root a:focus-visible{outline:3px solid #8ccfbc;outline-offset:2px}
.m-kicker{font-size:11px;line-height:1.5;letter-spacing:.8px;font-weight:600;color:#527b70}
.m-feature{display:grid;grid-template-columns:minmax(0,1fr) 30%;flex:1 1 220px;max-height:340px;min-height:210px;background:#e2f0e8;border:1px solid #c8e0d4;border-radius:24px;padding:28px 32px;gap:24px;align-items:center}
.m-feature-copy{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.m-feature h2{font-size:34px;font-weight:500;line-height:1.15;margin:0}
.m-feature p{font-size:16px;line-height:1.5;max-width:560px;margin:0;color:#496a5f}
.m-feature-art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;font-size:16px;line-height:1.5;color:#527b70}
.m-orbit{width:96px;height:96px;display:grid;place-items:center;background:#f8fcf8;border:1px solid #cee2d6;border-radius:32px;box-shadow:0 12px 24px #1c5e4510;transform:rotate(-5deg)}
#app .m-orbit .icon{width:40px;height:40px;transform:rotate(5deg)}
.m-section-label{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none}
.m-section-label h2{font-size:17px;font-weight:500;margin:0}
.m-home-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex:none}
.m-home-card{display:flex;align-items:center;gap:14px;text-align:left;padding:22px 18px;min-height:110px;border:1px solid var(--m-line);border-radius:18px;background:#fff;color:var(--m-ink)}
.m-home-card:hover,.m-scenario:hover{border-color:#9cc3b5;background:#fafffc}
.m-home-card>span:nth-child(2){flex:1;min-width:0}
.m-home-card strong{display:block;font-size:16px;font-weight:500;line-height:1.35}
.m-home-card small{display:block;font-size:12px;color:var(--m-muted);margin-top:5px;line-height:1.3}
.m-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e9f3ee;color:#38836e;flex:none}
.m-footnote{font-size:12px;line-height:1.45;color:var(--m-muted);margin:0;flex:none}
.m-home>.m-footnote,.m-history>.m-footnote{margin-top:auto}
.m-library-toolbar{display:flex;gap:14px;align-items:center;flex:none}
.m-search{position:relative;display:flex;align-items:center;gap:9px;background:white;border:1px solid #bbcfc5;border-radius:12px;min-height:48px;padding:0 14px;flex:1;max-width:580px}
.m-search .icon{color:#73958a}
.m-search input{width:100%;min-width:0;height:46px;background:transparent;border:0;outline:0;color:var(--m-ink);font-size:14px;padding:0;margin:0}
.m-role{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--m-muted)}
.m-role select{min-height:48px;max-width:220px;border:1px solid #bbcfc5;border-radius:12px;padding:8px 30px 8px 12px;background:white;color:var(--m-ink);font-size:14px}
.m-count{font-size:13px;color:var(--m-muted);margin:0;flex:none}
.m-scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-height:0;flex:1}
.m-scenario{border:1px solid var(--m-line);background:white;border-radius:20px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;max-height:370px}
.m-scenario-copy{flex:1}
.m-scenario h2{font-size:21px;line-height:1.25;margin:10px 0;font-weight:500}
.m-scenario p{font-size:14px;line-height:1.5;color:var(--m-muted);margin:0}
.m-scenario .button{width:100%}
.m-pager{display:flex;align-items:center;justify-content:center;gap:20px;min-height:44px;flex:none}
.m-pager>span{font-size:14px;color:var(--m-muted);min-width:46px;text-align:center}
.m-activity-list{display:grid;gap:12px}
.m-activity{display:flex;align-items:center;gap:16px;width:100%;min-height:86px;padding:16px 22px;background:#fff;border:1px solid var(--m-line);border-radius:16px;color:var(--m-ink);text-align:left}
.m-activity:hover{border-color:#9cc3b5;background:#fafffc}
.m-activity-copy{flex:1;min-width:0}
.m-activity-copy strong{display:block;font-size:16px;font-weight:500;line-height:1.4}
.m-activity-copy small{display:block;font-size:13px;color:var(--m-muted);margin-top:4px;line-height:1.3}
.m-score{font-size:22px;font-weight:500;color:#006b62}
.m-empty{margin:auto;text-align:center;padding:24px;max-width:500px;background:#fff;border:1px solid var(--m-line);border-radius:22px}
.m-empty>.icon{width:40px!important;height:40px!important;color:#438b76}
.m-empty h2{font-size:23px;font-weight:500;margin:15px 0 10px}
.m-empty p{font-size:14px;color:var(--m-muted);line-height:1.5;margin:0 0 20px}
.m-result-strip{display:flex;align-items:center;gap:24px;flex:none;background:#e6f2eb;border-radius:18px;padding:16px 24px;font-size:15px;color:#3a6959}
.m-result-score{font-size:30px;font-weight:500;color:#006b62}
.m-result-strip small{display:block;font-size:12px;line-height:1.5;color:#5b7a6f}
.m-result-strip>.button{margin-left:auto}
.m-review{display:flex;flex-direction:column;gap:15px;flex:1;min-height:0;background:white;border:1px solid var(--m-line);border-radius:20px;padding:24px 28px}
.m-review-heading{display:flex;align-items:center;gap:14px}
.m-number{width:40px;height:40px;display:grid;place-items:center;background:#f7ecdf;border-radius:50%;font-size:16px;color:#946b35;flex:none}
.m-number.complete{background:#d9f0e3;color:#006b62}
.m-review h2{font-size:21px;font-weight:500;line-height:1.3;margin:3px 0 0}
.m-review blockquote{font-size:16px;line-height:1.5;color:#4b6960;margin:0;border:0;padding:0}
.m-review-choice p{font-size:15px;line-height:1.5;margin:4px 0 0}
.m-review-feedback{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#eff6f2;border-radius:12px;color:#3b6656}
.m-review-feedback .icon{margin-top:2px}
.m-review-feedback p{font-size:14px;line-height:1.5;margin:0}
.m-review-tools{display:flex;align-items:center;gap:10px;margin-top:auto}
#modal-root{color:var(--m-ink)}
#modal-root .modal-backdrop{padding:24px;background:#183c355c;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center}
#modal-root .modal{width:min(560px,100%);max-height:calc(100dvh - 48px);padding:0;background:#fff;border:1px solid #dbe6df;border-radius:24px;box-shadow:0 24px 80px #12362a33;overflow:visible;display:flex;flex-direction:column;color:var(--m-ink)}
#modal-root .modal-wide{width:min(640px,100%)}
#modal-root .modal-close{top:14px;right:14px}
#modal-root .modal-header{padding:28px 66px 18px 28px;border-bottom:1px solid #e4ebe7}
#modal-root .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.6px;color:#628376;margin:0 0 8px}
#modal-root h2{font-size:26px;font-weight:500;line-height:1.2;margin:0}
#modal-root .modal-header p:not(.eyebrow){font-size:14px;line-height:1.5;color:var(--m-muted);margin:12px 0 0}
#modal-root .modal-body{padding:22px 28px;overflow:visible;font-size:14px;line-height:1.55;color:#49685d}
#modal-root .modal-body>p{font-size:14px;line-height:1.55;margin:14px 0 0}
#modal-root .modal-body>p:first-child{margin-top:0}
#modal-root .modal-body h3{font-size:20px;font-weight:500;margin:0 0 12px}
#modal-root .modal-footer{padding:16px 28px 22px;border-top:1px solid #e4ebe7;display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0;flex:none}
#modal-root .m-modal-pager{justify-content:space-between;flex-direction:row}
.m-modal-page{min-height:220px}
.m-patient{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.m-patient>span{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#e2f0e8;border-radius:14px;font-size:16px;color:#39826d}
.m-patient strong{display:block;font-size:16px;font-weight:500;color:#20493c}
.m-patient p{margin:3px 0 0;font-size:14px}
.m-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
#modal-root .mode-option{padding:16px;border:1px solid #d6e3dc;border-radius:16px;background:white;text-align:left;color:#46665a;min-height:92px}
#modal-root .mode-option.selected{background:#e3f2e9;border:2px solid #68a88e;padding:15px}
#modal-root .mode-option strong{display:block;font-size:14px;line-height:1.4;color:#225846;margin:0 0 5px}
#modal-root .mode-option span{display:block;font-size:13px;line-height:1.4;color:#608071}
.m-brief-steps{display:grid;gap:20px;padding:0;margin:0;list-style:none}
.m-brief-steps li{display:flex;align-items:flex-start;gap:14px}
.m-brief-steps li>span{display:grid;place-items:center;width:40px;height:40px;flex:none;background:#edf6f0;border-radius:12px;color:#42816b}
.m-brief-steps strong{display:block;font-size:16px;font-weight:500;color:#204f3d}
.m-brief-steps p{font-size:14px;line-height:1.5;margin:4px 0 0}
#modal-root .modal-body>.m-privacy,.m-privacy{font-size:12px;line-height:1.5;padding:12px 14px;border-radius:12px;background:#f3f7f4;color:#658072}
#modal-root .reference-link{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d5e4db;border-radius:12px;padding:16px;min-height:60px;margin-bottom:12px;background:#f7fbf8;color:#216852;font-size:14px;line-height:1.4}
#modal-root .reference-link>span{display:flex;align-items:center;gap:12px}
#toast{position:fixed;max-width:min(520px,calc(100vw - 24px));bottom:20px;background:#244e42;border:0;border-radius:14px;color:white;padding:14px 18px;font-size:14px;line-height:1.5}
/* Scripted encounters share the same paged workspace pattern as the live lab. */
body[data-screen="simulation"] #simulation-root{height:100dvh;min-height:0;color:var(--m-ink)}
body[data-screen="simulation"] .sim-shell{height:100%;min-height:0;display:grid;grid-template-rows:88px 48px 54px minmax(0,1fr);background:#f5f8f6;color:var(--m-ink);overflow:visible;padding:0}
body[data-screen="simulation"] .sim-header{height:auto;min-height:0;padding:14px 26px;display:flex;align-items:center;gap:16px;background:white;border-bottom:1px solid var(--m-line);flex-wrap:nowrap}
body[data-screen="simulation"] .sim-title{flex:1;min-width:0}
body[data-screen="simulation"] .sim-title h1{font-family:inherit;color:var(--m-ink);font-size:23px;line-height:1.2;margin:4px 0;font-weight:500}
body[data-screen="simulation"] .sim-eyebrow{font-size:11px;line-height:1.4;color:#6a8b7c;letter-spacing:.6px}
body[data-screen="simulation"] .sim-meta{font-size:12px;color:#708e80}
body[data-screen="simulation"] .sim-btn{min-height:44px;border:1px solid #b9d0c4;background:#fff;color:#17654f;border-radius:22px;padding:10px 16px;font-size:14px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:8px}
body[data-screen="simulation"] .sim-btn:disabled{opacity:.4}
body[data-screen="simulation"] .sim-icon,body[data-screen="simulation"] .sim-back{width:44px;height:44px;min-height:44px;padding:10px;flex:none}
body[data-screen="simulation"] .sim-tools{margin:0;display:flex;align-items:center;gap:9px;width:auto;padding:0}
body[data-screen="simulation"] .sim-tools .sim-btn span{display:inline;font-size:14px}
body[data-screen="simulation"] .sim-timer{font-size:15px;color:#557869;margin:0;padding:0 8px 0 0}
body[data-screen="simulation"] .sim-stagebar{padding:0 28px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--m-line);background:#f0f5f1;overflow:visible}
body[data-screen="simulation"] .sim-stage-count{font-size:13px;color:#4e7663}
body[data-screen="simulation"] .sim-mode-label{font-size:12px;color:#799584}
body[data-screen="simulation"] .sim-progress{height:5px;background:#dce9df}
body[data-screen="simulation"] .sim-progress-fill{background:#439b78}
.sim-workspace-tabs{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border-bottom:1px solid var(--m-line);padding:5px 20px}
.sim-workspace-tabs button{min-height:44px;border:0;border-radius:22px;padding:10px 20px;font-size:14px;background:transparent;color:#557e6a;line-height:1.3}
.sim-workspace-tabs button.active{background:#dceee2;color:#12664d;font-weight:600}
.sim-tab-short{display:none}
body[data-screen="simulation"] .sim-layout{display:block;padding:22px 28px;margin:0;min-height:0;height:100%;width:100%;max-width:1500px;justify-self:center}
body[data-screen="simulation"] .sim-encounter{display:grid;grid-template-columns:minmax(180px,28%) minmax(0,1fr);height:100%;min-height:0;background:#fff;border:1px solid var(--m-line);border-radius:20px;overflow:visible}
body[data-screen="simulation"] .sim-scene{min-height:0;height:100%;border-radius:20px 0 0 20px;overflow:hidden;background:linear-gradient(155deg,#d9e8dd,#a0b7a1)}
body[data-screen="simulation"] .sim-scene-label{font-size:12px;color:#446552;background:#ffffffb3;padding:6px 10px;border-radius:12px;top:18px;left:18px}
body[data-screen="simulation"] .sim-patient-chip{background:#fffffff0;color:#315f45;border:1px solid #e4eae3;left:16px;right:16px;bottom:18px;font-size:15px;line-height:1.3;padding:14px;border-radius:12px}
body[data-screen="simulation"] .sim-patient-chip small{font-size:11px;color:#74917b;margin-top:5px}
body[data-screen="simulation"] .sim-dialogue{height:100%;min-height:0;padding:26px 30px;display:flex;flex-direction:column;gap:13px;color:#365c47}
body[data-screen="simulation"] .sim-dialogue-heading{margin:0;display:flex;justify-content:space-between;gap:10px}
body[data-screen="simulation"] .sim-speaker{font-size:12px;line-height:1.3;font-weight:600;color:#4a8262;margin:0}
body[data-screen="simulation"] .sim-line{font-family:inherit;font-size:21px;line-height:1.4;color:#214d35;font-weight:400;letter-spacing:-.3px;margin:0}
body[data-screen="simulation"] .sim-prompt{font-size:14px;line-height:1.4;color:#6a8873;margin:0}
body[data-screen="simulation"] .sim-choices{display:grid;gap:10px;margin:0}
body[data-screen="simulation"] .sim-choice{min-height:54px;border:1px solid #d2e2d6;border-radius:12px;background:#f7fbf8;color:#355d42;padding:12px 14px;gap:12px;font-size:14px;line-height:1.4;text-align:left}
body[data-screen="simulation"] .sim-choice:hover{background:#e8f4eb;border-color:#86b798}
body[data-screen="simulation"] .sim-choice-index{width:28px;height:28px;border-radius:9px;border-color:#bfdbc8;color:#5c896a;font-size:12px}
body[data-screen="simulation"] .sim-choice>svg{color:#75a282;width:16px;height:16px}
body[data-screen="simulation"] .sim-next{margin:0;align-self:flex-end;background:#006b62;border-color:#006b62;color:white;flex:none}
body[data-screen="simulation"] .sim-dialogue>.sim-next{margin-top:auto}
body[data-screen="simulation"] .sim-response{padding:0;margin:0;border:0}
body[data-screen="simulation"] .sim-response p{font-size:14px;line-height:1.5;color:#4c725a;margin:5px 0 0}
body[data-screen="simulation"] .sim-feedback{padding:13px 16px;margin:0;border:1px solid #d0e6d7;background:#edf7ef;color:#477554;font-size:14px;line-height:1.45;border-radius:12px}
body[data-screen="simulation"] .sim-feedback strong{font-size:11px;color:#438453;line-height:1.4;margin:0 0 5px}
body[data-screen="simulation"] .sim-feedback[data-tone="coach"]{background:#fbf3e5;border-color:#ead8b1;color:#876f47}
body[data-screen="simulation"] .sim-feedback[data-tone="coach"] strong{color:#9a7b45}
body[data-screen="simulation"] .sim-selected-response{display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding:12px 14px;border:1px solid #cfe2d5;border-radius:12px;background:#f1f8f3}
body[data-screen="simulation"] .sim-selected-response p{font-size:14px;line-height:1.4;margin:0;grid-column:1;color:#3b6749}
body[data-screen="simulation"] .sim-selected-response .sim-btn{grid-column:2;grid-row:1/3;font-size:12px;padding:8px 12px;align-self:center}
body[data-screen="simulation"] .sim-aside{display:none;height:100%;min-height:0;max-width:800px;margin:auto}
body[data-screen="simulation"] .sim-aside>.sim-panel{display:none}
body[data-screen="simulation"] .sim-shell:not([data-workspace="conversation"]) .sim-encounter{display:none}
body[data-screen="simulation"] .sim-shell:not([data-workspace="conversation"]) .sim-aside{display:block}
body[data-screen="simulation"] .sim-shell[data-workspace="workstation"] .sim-workstation,body[data-screen="simulation"] .sim-shell[data-workspace="notes"] .sim-notes,body[data-screen="simulation"] .sim-shell[data-workspace="camera"] .sim-camera,body[data-screen="simulation"] .sim-shell[data-workspace="history"] .sim-history{display:block}
body[data-screen="simulation"] .sim-panel{border:1px solid var(--m-line);background:#fff;border-radius:20px;padding:26px 30px;color:#41624b}
body[data-screen="simulation"] .sim-panel h3{font-size:22px;line-height:1.3;font-weight:500;color:#315f3b;margin:10px 0 12px}
body[data-screen="simulation"] .sim-small,body[data-screen="simulation"] .sim-empty-fields{font-size:14px;line-height:1.5;color:#6d8a72;margin:0 0 14px}
body[data-screen="simulation"] .sim-fields{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}
body[data-screen="simulation"] .sim-field{font-size:14px;color:#3e6649}
body[data-screen="simulation"] .sim-field>span{margin-bottom:7px;line-height:1.4}
body[data-screen="simulation"] .sim-field input,body[data-screen="simulation"] .sim-field select{min-height:44px;border:1px solid #bed2c4;border-radius:10px;background:#fafffb;color:#35583e;font-size:14px;padding:10px 12px}
body[data-screen="simulation"] .sim-field small{font-size:12px;line-height:1.4;margin-top:6px;color:#7a9980}
body[data-screen="simulation"] .sim-workstation-status{font-size:13px;color:#589468;border-color:#dbe9de;padding-top:14px;margin-top:18px}
body[data-screen="simulation"] .sim-notes textarea{min-height:150px;height:180px;max-height:30dvh;resize:none;border:1px solid #c7dccb;border-radius:12px;background:#f8fcf8;color:#365c3f;padding:14px;font-size:15px;line-height:1.5}
body[data-screen="simulation"] .sim-voice-status{font-size:13px;color:#699272;line-height:1.4;margin-top:12px}
body[data-screen="simulation"] .sim-camera-preview{margin-top:20px;height:calc(100dvh - 415px);min-height:150px;max-height:420px;background:#e7eee8;border-radius:14px;overflow:hidden}
body[data-screen="simulation"] .sim-video{display:block;width:100%;height:100%;object-fit:contain}
body[data-screen="simulation"] .sim-history summary{font-size:18px;line-height:1.4;color:#3f704c;pointer-events:none;cursor:default}
body[data-screen="simulation"] .sim-history summary:before{display:none}
body[data-screen="simulation"] .sim-history-count{background:#e0f0e3;color:#4a8b5b;padding:4px 8px;font-size:12px}
body[data-screen="simulation"] .sim-history-item{padding:20px 0;border-color:#dfebe1;color:#365f42}
body[data-screen="simulation"] .sim-history-item strong{font-size:18px;line-height:1.4;color:#356044}
body[data-screen="simulation"] .sim-history-item p{font-size:14px;line-height:1.6;color:#6a8d74;margin:12px 0 0}
.sim-timeline-pager{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:12px;font-size:14px;color:#7a9982}
body[data-screen="simulation"] .sim-message{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 32px));background:#fff6e3;border:1px solid #e8d2a0;color:#7b653b;z-index:30;font-size:14px;padding:12px 16px;box-shadow:0 8px 30px #654d1922}
body[data-screen="simulation"] .sim-pause-overlay{inset:88px 0 0;background:#f3faf4ee;color:#315f42}
body[data-screen="simulation"] .sim-pause-overlay p{color:#6c8d74;font-size:15px}
body[data-screen="simulation"] .sim-pause-overlay .sim-next{align-self:auto}
@media(max-height:800px) and (min-width:700px){body[data-screen="simulation"] .sim-shell{grid-template-rows:80px 42px 52px minmax(0,1fr)}body[data-screen="simulation"] .sim-layout{padding:16px 24px}body[data-screen="simulation"] .sim-dialogue{padding:20px 24px;gap:10px}body[data-screen="simulation"] .sim-line{font-size:19px}body[data-screen="simulation"] .sim-choice{padding:10px 12px;min-height:50px}body[data-screen="simulation"] .sim-panel{padding:22px 26px}body[data-screen="simulation"] .sim-fields{gap:14px}}
@media(max-width:699px){
 body[data-screen="simulation"] .sim-shell{grid-template-rows:90px 40px 54px minmax(0,1fr)}
 body[data-screen="simulation"] .sim-header{padding:10px 12px;gap:10px;flex-wrap:nowrap}
 body[data-screen="simulation"] .sim-title h1{font-size:17px;line-height:1.2;margin:4px 0}
 body[data-screen="simulation"] .sim-header .sim-eyebrow{font-size:8px;letter-spacing:.3px}
 body[data-screen="simulation"] .sim-meta{font-size:10px;line-height:1.3;display:block}
 body[data-screen="simulation"] .sim-tools{gap:4px;margin:0;flex-wrap:wrap;width:92px;justify-content:flex-end;flex:none}
 body[data-screen="simulation"] .sim-tools .sim-timer{width:100%;text-align:right;padding:0 4px;font-size:12px;line-height:1}
 body[data-screen="simulation"] .sim-tools .sim-btn{width:44px;min-height:44px;height:44px;padding:10px}
 body[data-screen="simulation"] .sim-tools .sim-btn span{display:none}
 body[data-screen="simulation"] .sim-back{width:44px;height:44px}
 body[data-screen="simulation"] .sim-stagebar{padding:0 16px;gap:12px}
 body[data-screen="simulation"] .sim-stage-count{font-size:12px}
 body[data-screen="simulation"] .sim-mode-label{font-size:10px}
 .sim-workspace-tabs{gap:2px;padding:5px 8px;justify-content:space-between}
 .sim-workspace-tabs button{min-height:44px;font-size:14px;line-height:1.3;padding:10px 7px;flex:1;border-radius:16px}
 .sim-tab-long{display:none}.sim-tab-short{display:inline}
 body[data-screen="simulation"] .sim-layout{padding:12px;height:100%;min-height:0}
 body[data-screen="simulation"] .sim-encounter{display:block;border-radius:16px}
 body[data-screen="simulation"] .sim-scene{display:none}
 body[data-screen="simulation"] .sim-dialogue{padding:18px 16px;gap:12px}
 body[data-screen="simulation"] .sim-dialogue-heading .sim-eyebrow{font-size:11px}
 body[data-screen="simulation"] .sim-speaker{font-size:12px}
 body[data-screen="simulation"] .sim-line{font-size:18px;line-height:1.4}
 body[data-screen="simulation"] .sim-prompt{font-size:13px;line-height:1.4}
 body[data-screen="simulation"] .sim-choice{padding:12px 10px;min-height:64px;font-size:13px;line-height:1.45;gap:9px}
 body[data-screen="simulation"] .sim-choice-index{width:26px;height:26px}
 body[data-screen="simulation"] .sim-choice>svg{display:none}
 body[data-screen="simulation"] .sim-next{width:100%;padding:11px 12px;min-height:44px;font-size:14px}
 body[data-screen="simulation"] .sim-selected-response{padding:11px 12px;gap:6px}
 body[data-screen="simulation"] .sim-selected-response p{font-size:13px;line-height:1.45}
 body[data-screen="simulation"] .sim-selected-response .sim-btn{grid-column:1;grid-row:auto;justify-self:start;min-height:44px;font-size:14px;padding:8px 12px;margin-top:3px}
 body[data-screen="simulation"] .sim-response p{font-size:13px;line-height:1.5}
 body[data-screen="simulation"] .sim-feedback{padding:12px;font-size:13px;line-height:1.5}
 body[data-screen="simulation"] .sim-feedback strong{font-size:10px}
 body[data-screen="simulation"] .sim-panel{padding:22px 20px;border-radius:16px}
 body[data-screen="simulation"] .sim-panel h3{font-size:21px}
 body[data-screen="simulation"] .sim-fields{gap:18px}
 body[data-screen="simulation"] .sim-small{font-size:13px}
 body[data-screen="simulation"] .sim-camera-preview{height:calc(100dvh - 400px);min-height:150px;max-height:400px}
 body[data-screen="simulation"] .sim-pause-overlay{inset:90px 0 0;padding:24px}
}
@media(min-width:1600px){.m-page{padding:40px 46px 30px;gap:22px}.m-page-heading h1{font-size:34px}.m-home-card{min-height:136px}.m-feature{max-height:410px}.m-feature h2{font-size:42px}.m-scenario{max-height:470px;padding:28px}.m-scenario h2{font-size:25px}.m-scenario p{font-size:16px}.m-review{padding:32px 36px;gap:20px}.m-review h2{font-size:25px}.m-review blockquote{font-size:19px}.m-review-choice p{font-size:17px}.m-review-feedback p{font-size:16px}}
@media(min-width:700px) and (max-height:800px){.m-page{padding:20px 24px 16px;gap:12px}.m-page-heading h1{font-size:26px}.m-feature{min-height:195px;padding:24px 28px;max-height:250px}.m-feature-copy{gap:12px}.m-feature h2{font-size:30px}.m-feature p{font-size:14px}.m-home-card{padding:18px 14px;min-height:94px;gap:10px}.m-home-card strong{font-size:15px}.m-scenario{padding:18px;gap:12px}.m-review{padding:18px 22px;gap:11px}.m-review h2{font-size:20px}.m-review blockquote{font-size:15px}.m-result-strip{padding:12px 20px}}
@media(max-width:1100px) and (min-width:700px){.m-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.m-scenario{display:grid;grid-template-columns:40px 1fr;gap:10px 14px;padding:16px}.m-scenario-copy{min-width:0}.m-scenario h2{font-size:18px;margin:4px 0 6px}.m-scenario p{font-size:13px;line-height:1.4}.m-scenario>.button{grid-column:2}.m-home-card>.m-card-icon{display:none}.m-feature-art{display:none}.m-feature{grid-template-columns:1fr}}
@media(max-width:699px){
 #app .app-shell{grid-template-columns:1fr;grid-template-rows:100px minmax(0,1fr)}
 #app .sidebar{padding:8px 12px 4px;border-right:0;border-bottom:1px solid var(--m-line);gap:4px;display:grid;grid-template-rows:40px 44px}
 #app .brand{flex-direction:row;align-items:center;gap:10px;padding:0 4px}
 #app .brand-logo{width:82px;max-height:28px;object-fit:contain}
 #app .brand-name{display:block;font-size:19px}
 #app .brand-sub{display:none}
 #app .nav-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 #app .nav-item{justify-content:center;padding:8px 6px;gap:6px;min-height:44px;font-size:14px;border-radius:22px}
 #app .nav-item .icon{width:18px;height:18px}
 #app .sidebar-footer{display:none}
 #app .main-area{grid-template-rows:48px minmax(0,1fr)}
 #app .topbar{height:48px;padding:0 16px;gap:8px}
 #app .breadcrumb{font-size:12px}
 #app .breadcrumb span{margin:0 5px}
 #app .training-label{display:none}
 #app .top-actions{gap:0}
 .m-page{padding:16px 16px 12px;gap:12px}
 .m-page-heading{align-items:flex-start;gap:10px}
 .m-page-heading h1{font-size:24px;margin:0 0 6px;line-height:1.2}
 .m-page-heading p{font-size:13px;line-height:1.4}
 .m-page-heading>.button{padding:10px 13px;font-size:14px;flex:none}
 #app .button,#app .text-button{font-size:14px;padding:10px 14px;min-height:44px}
 .m-home{gap:10px}
 .m-home .m-page-heading p{display:none}
 .m-feature{grid-template-columns:1fr;padding:20px;gap:0;min-height:0;max-height:none;flex:1 1 auto;border-radius:20px}
 .m-feature-copy{gap:11px}
 .m-feature .m-kicker{font-size:10px;line-height:1.5;letter-spacing:.5px}
 .m-feature h2{font-size:26px;line-height:1.15}
 .m-feature p{font-size:14px;line-height:1.4}
 .m-feature-art{display:none}
 .m-feature .button{width:100%}
 .m-section-label{min-height:34px}
 .m-section-label h2{font-size:15px}
 #app .m-section-label>.text-button{font-size:14px;padding:8px 0}
 .m-home-scenarios{grid-template-columns:1fr;gap:8px}
 .m-home-card{min-height:62px;padding:10px 13px;gap:12px;border-radius:14px}
 .m-home-card strong{font-size:14px;line-height:1.25}
 .m-home-card small{font-size:11px;margin-top:4px}
 .m-home-card .m-card-icon{width:34px;height:34px;border-radius:10px}
 .m-home-card>.icon{width:17px!important}
 .m-footnote{font-size:11px;line-height:1.4}
 .m-library-toolbar{gap:8px}
 .m-search{padding:0 10px;min-height:44px;border-radius:12px}
 .m-search input{height:42px;font-size:14px}
 .m-search>.icon{width:17px!important;height:17px!important}
 .m-role>span{display:none}
 .m-role select{width:142px;min-height:44px;font-size:14px;padding:8px 18px 8px 8px}
 .m-count{font-size:12px}
 .m-scenario-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
 .m-scenario{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px 12px;padding:15px;border-radius:16px;max-height:none}
 .m-scenario>.m-card-icon{width:34px;height:34px;border-radius:10px}
 .m-scenario h2{font-size:18px;line-height:1.2;margin:5px 0 7px}
 .m-scenario p{font-size:13px;line-height:1.4}
 .m-scenario .m-kicker{font-size:10px}
 .m-scenario>.button{grid-column:2;justify-self:start;width:auto;padding:8px 16px}
 .m-pager{gap:16px;justify-content:space-between}
 .m-pager>.button{min-width:112px}
 .m-activity{padding:14px;gap:12px;min-height:100px;border-radius:16px}
 .m-activity>.m-card-icon{display:none}
 .m-activity-copy strong{font-size:15px}
 .m-activity-copy small{font-size:12px;line-height:1.45}
 .m-activity>.icon{display:none}
 .m-score{font-size:22px}
 .m-result .m-page-heading{align-items:center}
 .m-result .m-page-heading h1{font-size:22px}
 .m-result .m-page-heading p{font-size:12px}
 .m-result-strip{padding:11px 14px;gap:12px;border-radius:14px;font-size:12px}
 .m-result-score{font-size:26px}
 .m-result-strip small{font-size:10px}
 #app .m-result-strip>.button{font-size:14px;padding:8px 10px}
 .m-review{padding:16px;gap:12px;border-radius:16px}
 .m-review-heading{gap:10px}
 .m-number{width:32px;height:32px;font-size:14px}
 .m-review .m-kicker{font-size:10px;line-height:1.4;letter-spacing:.5px}
 .m-review h2{font-size:18px;margin-top:3px}
 .m-review blockquote{font-size:14px;line-height:1.45}
 .m-review-choice p{font-size:14px;line-height:1.45;margin-top:4px}
 .m-review-feedback{padding:12px;gap:8px;border-radius:10px}
 .m-review-feedback p{font-size:13px;line-height:1.45}
 .m-review-feedback .icon{width:17px!important;height:17px!important}
 .m-review-tools{flex-wrap:wrap;gap:0}
 #app .m-review-tools>.text-button{font-size:14px;padding:8px 7px;min-height:44px}
 #modal-root .modal-backdrop{padding:16px}
 #modal-root .modal{max-height:calc(100dvh - 32px);border-radius:22px}
 #modal-root .modal-header{padding:23px 56px 18px 22px}
 #modal-root .modal-close{right:10px;top:10px}
 #modal-root h2{font-size:24px}
 #modal-root .eyebrow{font-size:10px}
 #modal-root .modal-body{padding:20px 22px}
 #modal-root .modal-footer{padding:14px 22px 20px;flex-direction:row}
 #modal-root .modal-footer>.button{width:auto}
 #modal-root .modal-footer:not(.m-modal-pager)>.button{width:100%}
 #modal-root .modal-body>p{font-size:14px}
 .m-brief-steps{gap:17px}
 .m-brief-steps li{gap:11px}
 .m-brief-steps strong{font-size:15px}
 .m-brief-steps p{font-size:13px;line-height:1.45}
 .m-brief-steps li>span{width:36px;height:36px}
 #modal-root .modal-body>.m-privacy{font-size:11px;line-height:1.5;padding:11px 12px;margin-top:18px}
 .m-mode-grid{gap:9px}
 #modal-root .mode-option{padding:13px;min-height:100px}
 #modal-root .mode-option.selected{padding:12px}
 #modal-root .mode-option span{font-size:12px}
 .m-modal-page{min-height:260px}
 .m-patient{gap:11px}
 .m-patient strong{font-size:15px}
 .m-patient p{font-size:13px;line-height:1.4}
}
