:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17212b;background:#edf1f4;--ink:#0b253d;--accent:#08766d;--muted:#637181}*{box-sizing:border-box}body{margin:0}body>header{height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;position:sticky;top:0;z-index:10;box-shadow:0 5px 20px #001a2d30}main{max-width:780px;margin:auto;padding:18px}.card,.hero{background:white;border-radius:20px;padding:20px;box-shadow:0 12px 36px #18304414;margin-bottom:16px}h1,h2,h3{margin-top:0}h1{letter-spacing:-.035em}label{display:block;margin:14px 0;font-weight:700}input,select,button{width:100%;font:inherit;border-radius:13px;padding:14px;border:1px solid #cbd5df}button{background:var(--accent);color:white;border:0;font-weight:800;margin-top:10px;cursor:pointer}button:disabled{background:#b9c2c9;cursor:not-allowed}.secondary{background:#425466}.link,.danger-link{background:transparent;color:#415466}.danger-link{color:#a12c2c}.manual{margin-top:30px}video{width:100%;border-radius:14px;background:#111;min-height:260px}.patient-image{width:100%;max-height:350px;object-fit:cover;border-radius:16px}.patient-title{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.patient-title h1{margin:2px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--muted);font-weight:900}.status-dot{width:18px;height:18px;border-radius:50%;background:#3a9b69;box-shadow:0 0 0 6px #3a9b6920}.status-dot.kritisch{background:#d84141}.status-dot.verstorben{background:#111}.triage{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.triage button{padding:11px 3px;font-size:.78rem}.triage button.selected{outline:4px solid #1d2c3a;outline-offset:2px}.triage .weiss{background:#eee;color:#111}.triage .gruen{background:#228b49}.triage .gelb{background:#e5b900;color:#111}.triage .rot{background:#c52b2b}.triage .schwarz{background:#111}.tabs{display:flex;gap:7px;overflow:auto;margin:14px 0;padding-bottom:4px}.tabs button{white-space:nowrap;width:auto;background:#dfe6eb;color:#223;margin:0}.tabs button.active{background:var(--ink);color:#fff}.finding{padding:14px;background:#f3f6f8;border-radius:14px;margin:8px 0;line-height:1.5}.hint{color:var(--muted);font-size:.92rem}.exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.exam-card{display:flex;text-align:left;align-items:center;gap:12px;background:#f0f5f6;color:#15343c;margin:0}.exam-card strong{font-size:1.4rem}.exam-card span{font-weight:700}.result{margin-top:18px;border-left:5px solid var(--accent);padding:16px;background:#f2f8f7;border-radius:0 14px 14px 0}.empty{text-align:center;padding:38px 24px}.monitor-icon{font-size:4rem}.monitor{background:#07130f;color:#d7ffe4;border-radius:20px;padding:18px;box-shadow:inset 0 0 0 2px #213a30,0 12px 36px #18304420}.monitor-top{display:flex;justify-content:space-between;color:#91b69e;font-size:.8rem}.vital-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.vital{border:1px solid #264b39;border-radius:14px;padding:14px}.vital span,.vital small{display:block;color:#7fb18f}.vital strong{display:block;font-size:2rem;margin:5px 0}.ecg-line{font-size:2rem;overflow:hidden;white-space:nowrap;color:#8bf0a7;margin-top:16px}.measure-list{display:grid;gap:12px}.measure{border:1px solid #dce4e8;border-radius:16px;padding:16px}.measure h3{margin-bottom:4px}.measure p{color:var(--muted);margin:0}.notice,.running{background:#edf4f4;border-radius:12px;padding:12px;margin-top:12px}.running{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.countdown{font-variant-numeric:tabular-nums}.photo input{background:white;margin-top:7px}.ok{display:block;color:#187a4a;font-weight:800}.warning{display:block;color:#a76500;font-weight:800}.timeline-head{display:flex;justify-content:space-between;align-items:center}.timeline{position:relative;margin-top:18px}.timeline:before{content:"";position:absolute;left:49px;top:8px;bottom:8px;width:2px;background:#d5e0e5}.timeline-item{display:grid;grid-template-columns:42px 1fr;gap:22px;position:relative;padding:0 0 22px}.timeline-item:before{content:"";position:absolute;left:44px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid white;box-shadow:0 0 0 2px #b7d2cf}.timeline-item time{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.timeline-item p{margin:4px 0;color:var(--muted)}.back{margin-bottom:12px}@media(max-width:480px){main{padding:12px}.triage{grid-template-columns:repeat(3,1fr)}.exam-grid{grid-template-columns:1fr}.vital strong{font-size:1.65rem}.running{display:block}}

.header-logout{width:auto;padding:7px 10px;background:rgba(255,255,255,.14);font-size:.82rem}.warning{padding:12px;border-radius:12px;background:#fff1c9;color:#684f00;margin:12px 0}code{background:#edf2f3;padding:2px 5px;border-radius:5px}
header{display:grid;grid-template-columns:1fr minmax(0,2fr) 1fr;align-items:center}.brand{justify-self:start}#identity{justify-self:center;text-align:center;font-weight:700}.header-logout{justify-self:end}.scenario-list{display:grid;gap:12px}.scenario-card{text-align:left;display:grid;gap:5px}.scenario-card span,.scenario-card small{font-weight:400;opacity:.9}.waiting-room{text-align:center}.waiting-pulse{width:24px;height:24px;border-radius:50%;background:var(--accent);margin:0 auto 15px;animation:pulse 1.5s infinite}.participant-list{display:grid;gap:8px;text-align:left}.participant-list>div{display:flex;justify-content:space-between;padding:10px 12px;background:#f2f6f7;border-radius:12px}@keyframes pulse{50%{transform:scale(1.35);opacity:.45}}.triage-banner{margin:-20px -20px 16px;padding:13px 18px;border-radius:20px 20px 0 0;font-size:1.05rem;font-weight:900;text-align:center}.triage-banner.offen{background:#e6edf0;color:#334}.triage-banner.weiss{background:#fff;border-bottom:2px solid #ccd;color:#111}.triage-banner.gruen{background:#228b49;color:#fff}.triage-banner.gelb{background:#e5b900;color:#111}.triage-banner.rot{background:#c52b2b;color:#fff}.triage-banner.schwarz{background:#111;color:#fff}.tabs{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.tabs button{width:100%;white-space:normal}.abcde-stack{display:grid;gap:12px}.abcde-section{margin-bottom:0}.abcde-heading{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start}.abcde-heading>span{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--ink);color:white;font-size:1.5rem;font-weight:900}.abcde-heading p{margin:0;line-height:1.45}.stored-result{margin:14px 0;padding:13px;background:#eaf4ef;border-left:5px solid var(--accent);border-radius:0 12px 12px 0}.stored-result p{margin-bottom:0}.diagnostics{border-top:1px solid #dce5e8;margin-top:16px;padding-top:12px}.diagnostics .secondary{margin:5px 0}.measure-group{margin:24px 0 8px;border-bottom:2px solid #dce5e8;padding-bottom:6px}.med-form{background:#f2f6f7;padding:12px;border-radius:12px;margin-top:10px}.med-form label{margin:8px 0}@media(max-width:560px){header{grid-template-columns:auto 1fr auto;gap:8px;padding:10px 12px}#identity{font-size:.78rem;line-height:1.15;padding:0 8px}.brand{font-size:.95rem}.tabs{grid-template-columns:repeat(2,1fr)}.tabs button:last-child{grid-column:1/-1}.triage-banner{margin:-14px -14px 14px}.participant-list>div{display:grid;gap:3px}}
/* v1.2 */
.patient-title{display:block}.patient-title>div{width:100%}
.inline-measures .measure,.monitor-action .measure{text-align:left;background:#f7fafb}.inline-measures .measure button,.monitor-action .measure button{width:100%}.diagnostics h3{margin-bottom:10px}.med-form select,.med-form input{background:white}
@media(max-width:560px){.inline-measures{gap:10px}.measure{padding:13px}}

/* v1.3 */
.measure{transition:background .25s,border-color .25s,box-shadow .25s}
.measure.ready{background:#e7f7ec;border-color:#4aa36b;box-shadow:0 0 0 2px rgba(74,163,107,.15)}
.measure.ready .complete-btn{background:#218447}
.auto-complete-note{display:block;color:#557064;margin-top:8px;line-height:1.35}
.manual input{font-size:1.25rem;text-align:center;font-weight:800;letter-spacing:.08em}

/* v1.4 – xABCDE und Arbeitsdiagnose */
.working-diagnosis{margin-top:10px;padding:11px 13px;background:#eef3f5;border-radius:12px;display:grid;gap:2px}
.working-diagnosis span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.working-diagnosis strong{font-size:1.05rem;color:var(--ink)}
.diagnosis-editor{padding:15px;background:#f4f7f8;border-radius:15px;margin:16px 0}.diagnosis-editor h3{margin-bottom:4px}.diagnosis-editor label{margin:8px 0}
.xabcde-intro{border-left:6px solid #b62020}.xabcde-intro p{margin-bottom:0;color:var(--muted);line-height:1.45}
.section-x .abcde-heading>span{background:#b62020;text-transform:lowercase}
.primary-result{margin-top:7px;padding:12px;background:#eef6f2;border-left:4px solid var(--accent);border-radius:0 12px 12px 0}.primary-result p{margin:5px 0 0!important;color:#243640}
.treatment-jump{margin-top:16px;background:#183f5b}.diagnostic-result{margin:10px 0;padding:11px;background:#e9f3fb;border-left:4px solid #2874a6;border-radius:0 10px 10px 0}.diagnostic-result p{margin:4px 0 0!important;color:#294556!important}
.measure-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.measure-title-row h2{margin-bottom:0}.compact{width:auto;margin:0;padding:9px 12px;font-size:.85rem}
@media(max-width:560px){.measure-title-row{align-items:flex-start}.compact{max-width:45%}}

/* v1.5 */
.draft-note{display:block;margin-top:8px;color:var(--muted);font-weight:700}.recent-treatments{margin-top:18px;border-top:1px solid #dce5e8;padding-top:12px}.compact-treatment-list{display:grid;gap:8px}.treatment-row{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #e1e8eb}.treatment-row span,.treatment-row small{color:var(--muted)}.treatment-table{display:grid;gap:12px;margin-top:12px}.treatment-detail{border:1px solid #dce4e8;border-radius:14px;padding:14px}.treatment-detail h3{margin-bottom:10px}.treatment-detail dl{display:grid;grid-template-columns:150px 1fr;gap:7px 12px;margin:0}.treatment-detail dt{font-weight:800;color:var(--muted)}.treatment-detail dd{margin:0}.monitor-history{margin-top:16px;text-align:left}@media(max-width:560px){.treatment-detail dl{grid-template-columns:1fr}.treatment-detail dt{margin-top:6px}}
/* v1.6 */
.measure-card{cursor:pointer;display:grid;gap:10px;min-height:86px;touch-action:manipulation}.measure-card:hover,.measure-card:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,118,109,.18);outline:none}.measure-card:active{transform:translateY(1px);background:#eef8f6}.measure-card.is-active{border-color:#2874a6;background:#eef7fc}.measure-card.is-disabled{opacity:.56;cursor:not-allowed}.sampler-section{border-left:6px solid #254f7a}.sampler-list{display:grid;gap:12px}.sampler-item{border:1px solid #dce4e8;border-radius:14px;padding:14px}.sampler-heading{display:grid;grid-template-columns:44px 1fr;gap:12px}.sampler-heading>strong{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#254f7a;color:#fff;font-size:1.25rem}.sampler-item button{margin-top:12px}.modal-open{overflow:hidden}.measure-modal-backdrop{position:fixed;inset:0;background:rgba(9,22,32,.58);z-index:11000;display:grid;place-items:center;padding:14px}.measure-modal{width:min(720px,100%);max-height:calc(100dvh - 28px);background:white;border-radius:16px;box-shadow:0 22px 70px rgba(0,0,0,.32);display:grid;grid-template-rows:auto minmax(0,1fr) auto;outline:none}.measure-modal-head,.measure-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #dfe7ea}.measure-modal-foot{border-top:1px solid #dfe7ea;border-bottom:0}.measure-modal-head h2{margin:2px 0 0;font-size:1.25rem}.modal-x{width:44px;height:44px;margin:0;border-radius:50%;padding:0;background:#e8eff1;color:#17343a;font-size:1.4rem}.measure-modal-body{overflow:auto;padding:16px}.modal-facts dl,.treatment-detail dl{display:grid;grid-template-columns:170px 1fr;gap:8px 14px}.modal-facts dt,.treatment-detail dt{font-weight:900;color:var(--muted)}.modal-facts dd,.treatment-detail dd{margin:0}.modal-running-grid{display:grid;gap:16px}.participant-slots{list-style:none;margin:0;padding:0;display:grid;gap:8px}.participant-slots li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#f2f6f7}.participant-slots span{color:var(--muted)}.free-slot{border:1px dashed #9badb7;background:#fff!important}.progress-shell{position:relative;height:58px;border-radius:14px;background:#e7edf1;overflow:hidden;display:grid;place-items:center}.progress-bar{position:absolute;inset:0 auto 0 0;width:0;background:#2874a6;transition:width .35s linear}.progress-shell.ready .progress-bar{width:100%!important;background:#218447}.progress-shell.waiting .progress-bar{display:none}.progress-shell strong{position:relative;z-index:1;color:#102433}.progress-shell.ready strong{color:white}.time-facts{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px}.modal-photo input{background:white;margin-top:7px}.modal-photo-preview{width:100%;max-height:260px;object-fit:contain;border-radius:12px;border:1px solid #dce4e8;margin-top:10px}.modal-notice{padding:11px 12px;border-radius:12px;background:#fff1c9;color:#684f00;font-weight:800;margin-top:12px}.modal-cancel.confirm-cancel{background:#b82020!important;color:white!important}.measure-modal-foot button{margin:0}.measure-modal-foot .secondary{background:#425466}@media(max-width:560px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}.tabs button{min-height:46px;padding:11px 8px;font-size:.9rem}.tabs [data-tab="treatments"],.tabs [data-tab="timeline"]{grid-column:1/-1}.measure-modal-backdrop{padding:0;place-items:stretch}.measure-modal{width:100%;max-height:100dvh;border-radius:0}.measure-modal-head,.measure-modal-foot{position:sticky;background:white;z-index:2}.measure-modal-head{top:0}.measure-modal-foot{bottom:0;display:grid;grid-template-columns:1fr;align-items:stretch}.measure-modal-body{padding:14px}.modal-facts dl,.treatment-detail dl{grid-template-columns:1fr}.participant-slots li{display:grid}.time-facts{display:grid}.modal-x{width:42px;height:42px}.sampler-heading{grid-template-columns:38px 1fr}.sampler-heading>strong{width:36px;height:36px}.compact{max-width:none}}
/* v2.0.0 */
.scanner-modal{position:fixed;inset:0;z-index:12000;background:rgba(9,22,32,.68);display:grid;place-items:center;padding:14px}.scanner-modal[hidden]{display:none}.scanner-dialog{width:min(720px,100%);max-height:calc(100dvh - 28px);background:white;border-radius:16px;box-shadow:0 22px 70px rgba(0,0,0,.34);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.scanner-head,.scanner-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #dfe7ea}.scanner-actions{border-top:1px solid #dfe7ea;border-bottom:0;flex-wrap:wrap}.scanner-body{overflow:auto;padding:16px}.scanner-video-wrap{position:relative;overflow:hidden;border-radius:14px;background:#0a1720;min-height:260px}.scanner-video-wrap video{display:block;width:100%;height:min(62dvh,520px);object-fit:cover;background:#0a1720}.scanner-video-wrap .scan-frame{position:absolute;left:15%;right:15%;top:50%;transform:translateY(-50%);aspect-ratio:1;border:3px solid rgba(255,255,255,.96);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.22);pointer-events:none}.scanner-status{font-weight:900;margin:14px 0 0}.scanner-diagnostics{margin-top:12px;padding:12px;border-radius:12px;background:#f2f6f7;color:#17343a}.scanner-diagnostics dl{display:grid;grid-template-columns:160px 1fr;gap:6px 12px;margin:0}.scanner-diagnostics dt{font-weight:900;color:var(--muted)}.scanner-diagnostics dd{margin:0;word-break:break-word}.qr-target{background:white!important;padding:14px;display:grid;place-items:center}.qr-target canvas,.qr-target img{background:white!important;image-rendering:pixelated}@media(max-width:560px){.scanner-modal{padding:0;place-items:stretch}.scanner-dialog{width:100%;max-height:100dvh;border-radius:0}.scanner-head,.scanner-actions{position:sticky;background:white;z-index:2}.scanner-head{top:0}.scanner-actions{bottom:0;display:grid;grid-template-columns:1fr}.scanner-body{padding:12px}.scanner-video-wrap{border-radius:0;min-height:calc(100dvh - 230px)}.scanner-video-wrap video{height:calc(100dvh - 230px)}.scanner-video-wrap .scan-frame{left:12%;right:12%}.scanner-diagnostics dl{grid-template-columns:1fr}}

/* v2.0.0 */
.admin-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;align-items:end;margin:14px 0}.bulk-bar{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end;margin:12px 0;padding:12px;border-radius:12px;background:#f2f6f7}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.admin-tabs a{padding:8px 10px;border-radius:9px;background:#e8eff1;color:#17343a;text-decoration:none;font-weight:800}.editor-section{border-top:1px solid #dfe7ea;margin-top:18px;padding-top:16px;scroll-margin-top:84px}.assignment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:420px;overflow:auto;padding:10px;border:1px solid #dfe7ea;border-radius:12px}.assignment-list label{margin:0;padding:9px;border-radius:9px;background:#f7fafb}.matrix-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.matrix-grid fieldset{border:1px solid #dfe7ea;border-radius:12px;padding:10px}.matrix-grid label{display:grid;grid-template-columns:1fr 88px;gap:8px;align-items:center}.qr-number{display:block;font-size:2.8rem;line-height:1;margin-top:8px}.print-qr-card{border-radius:8px}.print-qr-card h2{font-size:1.45rem;margin:10px 0 4px;letter-spacing:0}@media(max-width:800px){.admin-filter-grid,.bulk-bar,.assignment-list,.matrix-grid{grid-template-columns:1fr}}@media print{@page{size:A4;margin:10mm}.print-qr-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8mm!important}.print-qr-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important;padding:7mm!important;min-height:82mm}.qr-target{width:45mm!important;height:45mm!important;padding:3mm!important;margin:auto}.qr-target canvas,.qr-target img{width:39mm!important;height:39mm!important}.qr-number{font-size:16mm!important;color:#000}.print-qr-card p,.print-qr-card h2{color:#000!important}}

/* v2.0.0 */
.five-second-bar{height:12px;background:#e6edf0;border-radius:999px;overflow:hidden}.five-second-bar span{display:block;height:100%;width:0;background:#2874a6;transition:width .3s linear}.five-second-bar.ready span{background:#218447}.participant-slots li.not-present{opacity:.62}.measure-modal-head{align-items:flex-start}.measure-modal-head>div{min-width:0}.measure-modal-head h2{overflow-wrap:anywhere}.random-assignment fieldset{border:1px solid #dfe7ea;border-radius:12px;padding:12px}.compact-list{max-height:190px;overflow:auto}.preview-facts{display:grid;grid-template-columns:180px 1fr;gap:7px 12px}.preview-facts dt{font-weight:900;color:var(--muted)}.preview-facts dd{margin:0}.random-preview{margin-top:18px;padding-top:12px;border-top:1px solid #dfe7ea}@media(max-width:560px){.triage-chip{width:max-content}.preview-facts{grid-template-columns:1fr}}

/* v2.0.0 */
.measure-modal{display:flex;flex-direction:column;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow:hidden}.measure-modal-head,.measure-modal-foot,.measure-modal__header,.measure-modal__actions{flex:0 0 auto;background:#fff}.measure-modal-body,.measure-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.measure-modal-foot{z-index:3}.measure-modal-head{z-index:4}.measure-modal-head .modal-x[hidden],.measure-modal-foot button[hidden]{display:none!important}.admin-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity;padding:2px 0 8px;margin:12px 0 16px;max-width:100%}.admin-tabs a,.admin-tabs button{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;scroll-snap-align:start;max-width:72vw;overflow:visible}.editor-section{scroll-margin-top:96px}@media(max-width:560px){body{overflow-x:hidden}.admin-tabs{position:relative;z-index:1;background:transparent}.admin-tabs a,.admin-tabs button{padding:10px 12px}.measure-modal-backdrop{padding:0;place-items:stretch}.measure-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.measure-modal-head,.measure-modal-foot{position:relative}.measure-modal-body{padding:14px 14px 18px}.measure-modal-foot{display:grid;grid-template-columns:1fr;align-items:stretch}.modal-photo input{min-height:48px}}


/* v2.0.0 */

.measure-modal-head-main{min-width:0;display:grid;gap:6px}.measure-modal-head-main [data-role="modal-measure-status"]{margin:0}.help-needed{border:2px solid #f0c36a;background:#fff8e6;border-radius:14px;padding:12px;margin:16px 0}.help-needed h3{margin-bottom:10px;color:#684f00}.help-card{border-color:#d49a2a;background:#fffdf5}.help-card h3{color:#5b4300}.measure-help-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:999px;background:#8a5c00;color:white;font-weight:900;width:max-content}.help-card:hover .measure-help-button,.help-card:focus .measure-help-button{background:#684500}.progress-shell.ready strong{color:white}
@media(max-width:560px){.help-needed{padding:10px;margin:12px 0}.help-card{gap:8px}.measure-help-button{width:100%;min-height:44px}.measure-modal-head{max-height:none;overflow:visible}}

/* v2.0.0 */
:root{--app-header-height:64px;--surface:#fff;--border:#dfe7ea}
.patient-context-banner{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.75rem;align-items:stretch;width:100%;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;overflow:hidden;color:#17212b}
.patient-context-banner__item{min-width:0;display:grid;align-content:center;gap:3px}
.patient-context-banner__label{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;color:var(--muted);font-weight:900}
.patient-context-banner__value{min-width:0;overflow-wrap:anywhere;line-height:1.25}
.patient-context-banner__id strong,.patient-context-banner__id .patient-context-banner__value{font-size:1.18rem;font-weight:900;color:var(--ink)}
.patient-context-banner__diagnosis .patient-context-banner__value{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.patient-context-banner--page{position:relative;top:auto;z-index:auto;margin:0 0 14px;box-shadow:0 8px 24px rgba(12,31,42,.10)}
.measure-modal-head{display:block;padding:0;border-bottom:1px solid var(--border);background:var(--surface);z-index:4;overflow:visible}
.measure-modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px}
.patient-context-banner--modal{border:0;border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;padding:12px 16px;margin:0;box-shadow:none}
.patient-context-banner--modal .patient-context-banner__id strong,.patient-context-banner--modal .patient-context-banner__id .patient-context-banner__value{font-size:1.08rem}
.patient-context-banner__triage-value.triage-chip{width:max-content;max-width:100%;white-space:normal;text-align:left;justify-content:flex-start}
.triage-chip.triage-unset,.triage-chip.offen{background:#e8eff1;color:#25343a;border-color:#cbd5df}
.triage-chip.triage-white,.triage-chip.weiss{background:#fff;color:#111;border-color:#8fa0a9}
.triage-chip.triage-green,.triage-chip.gruen{background:#d9f2e1;color:#176735;border-color:#9fd6ad}
.triage-chip.triage-yellow,.triage-chip.gelb{background:#fff0b8;color:#594500;border-color:#d6b34d}
.triage-chip.triage-red,.triage-chip.rot{background:#f7dada;color:#8b1111;border-color:#df9a9a}
.triage-chip.triage-black,.triage-chip.schwarz{background:#1b1b1b;color:#fff;border-color:#111}
@media(max-width:520px){.patient-context-banner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;padding:10px}.patient-context-banner__diagnosis{grid-column:1/-1}.patient-context-banner__id strong,.patient-context-banner__id .patient-context-banner__value{font-size:1.04rem}.patient-context-banner--page{top:var(--app-header-height);margin-bottom:10px}.measure-modal-title-row{padding:10px 12px}.patient-context-banner--modal{border-radius:0;padding:10px 12px}.measure-modal-head h2{font-size:1.08rem}}

/* v2.0.0 modal header isolation */
.measure-modal-head{height:auto;position:relative;top:auto;box-shadow:none;color:inherit}
.measure-modal-head.measure-modal__header{display:block;flex:0 0 auto}

@media(max-width:560px){.measure-modal-head{max-height:none;overflow:visible}.measure-modal-body{min-height:0;overflow-y:auto}}


/* v2.0.0 Phase-B admin template metadata */
.template-status-box{margin-top:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted,#f7f9fc);font-size:.92rem;line-height:1.4}
.table-wrap td small{line-height:1.35}
.pill.muted{background:#eef1f5;color:#485365;border-color:#d7dde8}
/* KatSim 3.0.3 */
.patient-context-banner{position:relative;background:#e5e7eb;border:1px solid #c4c8cf;border-radius:6px;padding:20px 12px 10px;box-shadow:none;color:#17212b}
.patient-context-banner--page{background:#e5e7eb;border-color:#c4c8cf}
.patient-context-banner--modal{background:#e5e7eb;border-bottom:1px solid #c4c8cf;border-radius:6px 6px 0 0}
.patient-context-banner__triage-strip{position:absolute;left:0;right:0;top:0;height:8px;background:#9ca3af;border-bottom:1px solid rgba(17,24,39,.18);border-radius:6px 6px 0 0;pointer-events:none}
.patient-context-banner.triage-banner-rot .patient-context-banner__triage-strip{background:#dc2626}
.patient-context-banner.triage-banner-gelb .patient-context-banner__triage-strip{background:#facc15}
.patient-context-banner.triage-banner-gruen .patient-context-banner__triage-strip{background:#16a34a}
.patient-context-banner.triage-banner-blau .patient-context-banner__triage-strip{background:#2563eb}
.patient-context-banner.triage-banner-schwarz .patient-context-banner__triage-strip{background:#111827}
.patient-context-banner.triage-banner-weiss .patient-context-banner__triage-strip{background:#fff;border-bottom:1px solid #9ca3af}
.patient-context-banner.triage-banner-unset .patient-context-banner__triage-strip{background:#9ca3af}
.measure-card.treatment-measure-completed{background:#6b7280;border-color:#4b5563;color:#fff}
.measure-card.treatment-measure-completed h3,.measure-card.treatment-measure-completed p,.measure-card.treatment-measure-completed small{color:#fff}
.measure-card.treatment-measure-completed:hover,.measure-card.treatment-measure-completed:focus{border-color:#374151;box-shadow:0 0 0 3px rgba(75,85,99,.25)}

.measure-inline-form{background:#f8fafb;border:1px solid #d9e2e7;border-radius:12px;padding:14px;margin:6px 0 12px}
.measure-inline-form .code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:130px}
.measure-checks{display:grid;gap:8px;align-content:start;padding-top:4px}
.measure-checks label{margin:0;font-weight:700}
.measures-table .measure-edit-row td{background:#f6f8fa}
@media(max-width:560px){.patient-context-banner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px 10px 10px}.patient-context-banner__diagnosis{grid-column:1/-1}.measure-inline-form{padding:12px}.measure-checks{grid-column:1/-1}}

textarea{resize:none}
.textarea-long{min-height:132px}

.triage .blau{background:#2563eb;color:#fff}
.triage-chip.triage-blue,.triage-chip.blau{background:#dbeafe;color:#123a7a;border-color:#8ab4f8}
.measure-awaiting-delegation{background:#fff8e5;border-color:#e0b94f}
.measure-card.measure-awaiting-delegation{box-shadow:0 0 0 2px rgba(224,185,79,.28)}
.measure-awaiting-delegation h3::after{content:"Delegation erforderlich";display:inline-block;margin-left:.5rem;padding:.18rem .45rem;border-radius:999px;background:#ffe3a3;color:#654300;font-size:.72rem;vertical-align:middle}
.modal-running-grid section.measure-awaiting-delegation{border:1px solid #e0b94f;border-radius:12px;padding:12px;background:#fff8e5}
.modal-running-grid section.measure-awaiting-delegation h3::after{content:"";display:none}


/* KatSim 3.1.7 */
.triage-status{margin:.35rem 0 .6rem;font-weight:800;color:var(--muted)}
.diagnosis-list{list-style:none;margin:.4rem 0 .8rem;padding:0;display:grid;gap:7px}
.diagnosis-list li{display:grid;gap:2px;padding:9px 10px;border-radius:10px;background:#e9eef1}
.diagnosis-list small{color:var(--muted);font-weight:700}
.qr-print-actions{display:flex;gap:10px;align-items:center;justify-content:flex-start;margin:0 0 14px}
.qr-print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qr-print-card{border:1px solid #d1d5db;border-radius:10px;padding:14px;text-align:center;background:#fff;break-inside:avoid;page-break-inside:avoid}
.qr-print-card .qr-target{width:240px;height:240px;margin:0 auto 10px;padding:8px}
.qr-print-card h2{margin:.2rem 0;font-size:1.45rem}.qr-print-card p{margin:.2rem 0;color:#374151}
@media print{@page{size:A4 portrait;margin:0}.no-print,header,.admin-nav,.scenario-tabs{display:none!important}body{background:#fff;margin:0}.admin-wrap{max-width:none;margin:0;padding:0}.qr-print-grid{display:grid!important;grid-template-columns:105mm 105mm!important;grid-auto-rows:148.5mm!important;gap:0!important;width:210mm}.qr-print-card{width:105mm;height:148.5mm;box-sizing:border-box;border:1px solid #000!important;border-radius:0!important;padding:8mm!important;display:grid;grid-template-rows:auto 1fr auto;align-items:center;box-shadow:none!important}.qr-print-card .qr-target{width:82mm!important;height:82mm!important;padding:3mm!important}.qr-print-card .qr-target canvas,.qr-print-card .qr-target img{width:76mm!important;height:76mm!important}.qr-print-card h2{font-size:16pt!important;color:#000}.qr-print-card p{font-size:11pt!important;color:#000}}


.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.photo-required-button{display:inline-flex;align-items:center;justify-content:center;width:100%;border-radius:12px;padding:14px 16px;font-weight:900;border:0;color:#fff}
.photo-required-button.is-missing{background:#b42318}
.photo-required-button.is-ready{background:#15803d}
.photo-required-button:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}


/* KatSim 3.2.5 patient banner sticky only */
:root{--participant-header-height:calc(var(--app-header-height,64px) + env(safe-area-inset-top,0px))}
.patient-banner-sticky{position:sticky;top:var(--participant-header-height,64px);z-index:30;margin:0 0 10px;background:#edf1f4;padding:0 0 8px;box-shadow:0 10px 20px rgba(12,31,42,.08)}
.patient-banner-sticky .patient-context-banner--page{position:relative;top:auto;z-index:auto;margin:0;box-shadow:0 8px 20px rgba(12,31,42,.10)}
.patient-tabs{position:relative!important;top:auto!important;z-index:1;margin:0 0 14px;padding:0 0 4px;background:transparent;box-shadow:none;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.patient-tabs button{min-height:44px}
.patient-tab-content{position:relative;z-index:0}
@media(max-width:560px){.patient-banner-sticky{top:var(--participant-header-height,64px);margin-bottom:8px;padding-bottom:7px}.patient-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.patient-tabs button{min-height:46px;padding:11px 8px;font-size:.9rem}.patient-tabs [data-tab="treatments"],.patient-tabs [data-tab="timeline"]{grid-column:1/-1}}


/* KatSim 3.2.5 transport interface */
.patient-context-banner{grid-template-columns:auto auto minmax(0,1fr) minmax(160px,auto)}
.patient-context-banner__transport .patient-context-banner__value{font-weight:900;color:#17343a}
.transport-panel{margin:16px 0;padding:14px;border:1px solid #d6e0e6;border-radius:14px;background:#f7fafb;display:grid;gap:10px}
.transport-panel.is-ready{border-color:#5ca56f;background:#eef8f1}
.transport-panel dl{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;margin:0}
.transport-panel dt{font-weight:900;color:var(--muted)}
.transport-panel dd{margin:0}.transport-panel label{margin:4px 0}
@media(max-width:560px){.patient-context-banner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.patient-context-banner__diagnosis,.patient-context-banner__transport{grid-column:1/-1}.transport-panel dl{grid-template-columns:1fr}.transport-panel{padding:12px}}

/* KatSim 3.2.5 transport security */
#patient.is-not-treatable .measure-card,
#patient.is-not-treatable .transport-panel,
#patient.is-not-treatable .triage,
#patient.is-not-treatable .diagnosis-form{opacity:.68}
.patient-locked-notice{margin:0 0 14px;border:1px solid #d99a42;background:#fff3cd;color:#684f00}

/* =========================================================
   KatSim Corporate Design – reine visuelle Anpassung
   Bestehende Seitenstruktur und Anordnung bleiben unverändert.
   ========================================================= */
:root{
  --katsim-red:#f12d35;
  --katsim-red-dark:#d8242c;
  --katsim-red-soft:#fff1f2;
  --ink:#242124;
  --accent:var(--katsim-red);
  --muted:#777276;
  --surface:#ffffff;
  --surface-soft:#f7f7f8;
  --border:#dedbdd;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:#242124;
  background:#f3f3f4;
}
body{background:#f3f3f4;color:#242124}
body>header{
  background:var(--katsim-red);
  color:#fff;
  box-shadow:0 4px 16px rgba(72,18,21,.18);
  border-bottom:1px solid rgba(255,255,255,.22);
}
.brand,body>header>strong:first-child{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  font-weight:800;
  letter-spacing:.01em;
}
.brand::before,body>header>strong:first-child::before{
  content:"";
  width:36px;
  height:36px;
  flex:0 0 36px;
  background:url('branding/katsim-symbol.png') center/contain no-repeat;
  filter:brightness(0) invert(1);
}
.header-logout{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.28)}
.header-logout:hover{background:rgba(255,255,255,.25)}
main{max-width:780px}
.card,.hero,.stat{
  background:#fff;
  border:1px solid rgba(36,33,36,.08);
  border-radius:16px;
  box-shadow:0 8px 24px rgba(48,36,38,.09);
}
#login::before{
  content:"";
  display:block;
  width:min(430px,100%);
  height:76px;
  margin:0 auto 22px;
  background:url('branding/katsim-logo-slogan.png') center/contain no-repeat;
}
h1,h2,h3{color:#242124}
h1{letter-spacing:-.025em}
.eyebrow{color:#8b8589}
.hint,.muted,.measure p,.timeline-item p{color:#777276}
input,select,textarea{
  background:#fff;
  border:1px solid #cfcacd;
  color:#242124;
  border-radius:10px;
  box-shadow:inset 0 1px 2px rgba(36,33,36,.03);
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--katsim-red);
  box-shadow:0 0 0 3px rgba(241,45,53,.16);
}
button{
  background:var(--katsim-red);
  color:#fff;
  border-radius:10px;
  box-shadow:0 3px 9px rgba(194,31,38,.16);
}
button:hover:not(:disabled){background:var(--katsim-red-dark)}
button:focus-visible,a:focus-visible{outline:3px solid rgba(241,45,53,.34);outline-offset:2px}
.secondary{background:#4b474a;color:#fff}
.secondary:hover:not(:disabled){background:#343033}
.link{color:var(--katsim-red);box-shadow:none}
.danger-link{color:#b4232a;box-shadow:none}
.tabs button{background:#eceaec;color:#3a3538;box-shadow:none;border:1px solid #dedbdd}
.tabs button.active{background:var(--katsim-red);color:#fff;border-color:var(--katsim-red)}
.finding,.notice,.participant-list>div,.med-form,.diagnosis-editor,.working-diagnosis,.measure-inline-form,.scanner-diagnostics{
  background:#f7f6f7;
}
.exam-card{
  background:#fff;
  color:#242124;
  border:1px solid #e2dfe1;
  box-shadow:0 5px 16px rgba(48,36,38,.08);
}
.exam-card:hover{border-color:#f1a2a6;box-shadow:0 7px 20px rgba(102,31,35,.12)}
.result,.stored-result,.primary-result{border-left-color:var(--katsim-red);background:#fff3f4}
.abcde-heading>span{background:var(--katsim-red)}
.working-diagnosis strong{color:#242124}
.treatment-jump{background:var(--katsim-red)}
.measure{border-color:#dedbdd;background:#fff}
.measure-card:hover,.measure-card:focus{border-color:var(--katsim-red);box-shadow:0 0 0 3px rgba(241,45,53,.15)}
.measure-card:active{background:#fff4f5}
.timeline:before{background:#ddd8db}
.timeline-item:before{background:var(--katsim-red);box-shadow:0 0 0 2px #f5b8bb}
.waiting-pulse{background:var(--katsim-red)}
.progress-bar,.five-second-bar span{background:var(--katsim-red)}
.scanner-dialog,.measure-modal{border:1px solid rgba(255,255,255,.35)}
.modal-x{background:#f0edef;color:#2f2b2e;box-shadow:none}
.modal-x:hover{background:#e3dfe1}
.patient-banner-sticky{background:#f3f3f4}
.patient-context-banner--page{box-shadow:0 7px 20px rgba(48,36,38,.11)}

/* Adminbereich */
.admin-nav a{background:rgba(255,255,255,.13);color:#fff!important}
.admin-nav a:hover{background:rgba(255,255,255,.22)}
.admin-nav a.active{background:#fff;color:var(--katsim-red)!important}
.scenario-tabs a,.admin-tabs a,.small-btn,.actions a,.actions button{
  background:#f0edef;
  color:#2c282b;
  border:1px solid #dedbdd;
  box-shadow:none;
}
.scenario-tabs a:hover,.admin-tabs a:hover,.small-btn:hover,.actions a:hover{border-color:#f09da2;background:#fff4f5}
.scenario-tabs a.active,.admin-tabs a.active{background:var(--katsim-red);color:#fff;border-color:var(--katsim-red)}
.stat{background:#fff6f6;border-left:4px solid var(--katsim-red)}
.badge{background:#f0edef;color:#3a3538}
th{color:#3a3538;background:#faf9fa}
th,td{border-bottom-color:#e3dfe1}
.flash{background:#eaf7ee;color:#185d31}
.flash.error,.csv-errors,.danger{background:#fde8e9!important;color:#8f1f25!important}

/* Medizinischer Monitor bleibt bewusst dunkel, wird aber an KatSim angeglichen. */
.monitor{background:#070707;color:#e9f8ed;border-radius:14px;box-shadow:inset 0 0 0 2px #363336,0 10px 28px rgba(0,0,0,.18)}
.monitor-top{color:#aaa5a8}
.vital{border-color:#494449}
.vital span,.vital small{color:#a9a4a7}
.ecg-line{color:#52d477}

@media(max-width:560px){
  #login::before{height:62px;margin-bottom:18px}
  .brand::before,body>header>strong:first-child::before{width:32px;height:32px;flex-basis:32px}
}

/* =========================================================
   KatSim Corporate Design – reduzierte Rotpräsenz
   Rot dient nur noch als gezielter Marken- und Statusakzent.
   ========================================================= */
:root{
  --katsim-red:#c92f38;
  --katsim-red-dark:#a9252d;
  --katsim-red-soft:#fbf1f2;
  --ink:#29272a;
  --accent:#4b484c;
  --surface-soft:#f5f5f6;
  --border:#dedcdf;
  background:#f2f2f3;
}
body{background:#f2f2f3}
body>header{
  background:#2e2b2e;
  color:#fff;
  border-bottom:3px solid var(--katsim-red);
  box-shadow:0 4px 14px rgba(28,24,27,.14);
}
.brand::before,body>header>strong:first-child::before{filter:none}
.header-logout{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}
.header-logout:hover{background:rgba(255,255,255,.17)}

button{
  background:#4b484c;
  box-shadow:0 3px 9px rgba(38,34,37,.12);
}
button:hover:not(:disabled){background:#343235}
button:focus-visible,a:focus-visible{outline-color:rgba(201,47,56,.30)}
.secondary{background:#6b686c}
.secondary:hover:not(:disabled){background:#555256}
.link{background:transparent;color:var(--katsim-red)}
.danger-link{background:transparent;color:#a9252d}

/* Primäre Markenaktionen bleiben rot, ohne ganze Seiten rot einzufärben. */
#login button[type="submit"],
.scenario-card,
.treatment-jump,
.complete-btn,
.photo-required-button.is-missing{
  background:var(--katsim-red);
}
#login button[type="submit"]:hover,
.scenario-card:hover,
.treatment-jump:hover,
.complete-btn:hover,
.photo-required-button.is-missing:hover{background:var(--katsim-red-dark)}

.tabs button{background:#ebeaec;color:#373438;border-color:#d9d7da}
.tabs button.active{
  background:#fff;
  color:#29272a;
  border-color:#d2cfd3;
  box-shadow:inset 0 -3px 0 var(--katsim-red);
}
.abcde-heading>span{background:#4b484c}
.section-x .abcde-heading>span{background:#9f2730}
.result,.stored-result,.primary-result{border-left-color:#797579;background:#f6f5f6}
.measure-card:hover,.measure-card:focus{border-color:#b8b4b8;box-shadow:0 0 0 3px rgba(75,72,76,.10)}
.measure-card:active{background:#f5f4f5}
.timeline-item:before{background:#5e5a5e;box-shadow:0 0 0 2px #c9c6c9}
.waiting-pulse{background:#5e5a5e}
.progress-bar,.five-second-bar span{background:#5e5a5e}
.exam-card:hover{border-color:#bdb9bd;box-shadow:0 7px 20px rgba(48,42,46,.10)}
input:focus,select:focus,textarea:focus{border-color:#777277;box-shadow:0 0 0 3px rgba(75,72,76,.12)}
.patient-banner-sticky{background:#f2f2f3}

/* Adminbereich: neutrale Navigation, roter Akzent nur am aktiven Eintrag. */
.admin-nav a{background:rgba(255,255,255,.09)}
.admin-nav a:hover{background:rgba(255,255,255,.16)}
.admin-nav a.active{
  background:#fff;
  color:#29272a!important;
  box-shadow:inset 0 -3px 0 var(--katsim-red);
}
.scenario-tabs a,.admin-tabs a,.small-btn,.actions a,.actions button{
  background:#ecebed;
  color:#302d30;
  border-color:#dad7da;
}
.scenario-tabs a:hover,.admin-tabs a:hover,.small-btn:hover,.actions a:hover{border-color:#b9b5b9;background:#f7f6f7}
.scenario-tabs a.active,.admin-tabs a.active{
  background:#fff;
  color:#29272a;
  border-color:#cfcbd0;
  box-shadow:inset 0 -3px 0 var(--katsim-red);
}
.stat{background:#f7f6f7;border-left-color:#777277}

/* Rot bleibt bei kritischen Zuständen, Fehlern und Sichtungskategorie Rot bestehen. */
.triage .rot,.triage-banner.rot,.patient-context-banner.triage-banner-rot .patient-context-banner__triage-strip{background:#c52b2b}
.flash.error,.csv-errors,.danger{background:#fde8e9!important;color:#8f1f25!important}
