:root{font:16px/1.5 system-ui;color:#173344;background:#f1f5f7}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{background:#153e52;color:white;padding:26px max(24px,calc((100vw - 1160px)/2))}h1{font-size:30px;margin:0}header p{margin:3px 0;color:#d4e7ee}main{max-width:1208px;margin:24px auto;padding:0 24px}aside{padding:16px 20px;background:#fff7e3;border-left:4px solid #c99a37;font-size:14px}nav{display:flex;gap:10px;border-bottom:1px solid #cad9e0;padding:22px 0 14px}button,.button{font:600 15px system-ui;cursor:pointer;border:1px solid #17667a;background:#17667a;color:white;border-radius:5px;padding:12px 18px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#0d4d60}button:disabled{opacity:.5;cursor:wait}nav button[aria-pressed=false],.secondary{background:white;color:#17667a}.secondary:hover{background:#e3f0f4}#status{padding:10px 0;min-height:44px;color:#355d6d}#status.error{color:#a22626}section{background:white;padding:24px;border:1px solid #d6e2e8;border-radius:8px;margin-bottom:20px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}legend{font-size:19px;font-weight:650;margin-bottom:10px}label{display:block;font-size:14px;font-weight:550;margin:10px 0}input,select{display:block;width:100%;font:16px system-ui;border:1px solid #9fb5c1;border-radius:4px;padding:11px;margin-top:6px;background:white;color:#173344}input:focus,select:focus{outline:2px solid #3b879a;outline-offset:2px}small{font-size:12px;color:#607781}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar h2{margin:0 auto 0 0;font-size:21px}.filter{max-width:460px;margin:20px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#567181;font-size:12px;padding:12px;background:#f1f6f8}td{padding:16px 12px;border-bottom:1px solid #deeaee;vertical-align:top}td small{display:block}td button{font-size:13px;padding:8px 12px;white-space:nowrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#102f40;color:#daf0ec;padding:18px;font:12px/1.7 monospace;max-height:450px;overflow:auto}summary{cursor:pointer;padding:15px 0;font-weight:600}footer{font-size:13px;color:#617d89;margin:25px 0}@media(max-width:760px){header{padding:20px}main{padding:0 14px}.columns,.pair{grid-template-columns:1fr;gap:4px}section{padding:18px}nav button{flex:1;min-width:0;padding:12px 9px;white-space:normal}.toolbar button{width:100%}table{min-width:800px}}
#cda-view{display:block;width:100%;height:850px;border:1px solid #cad9e0;border-radius:5px;background:white}
#detail-title{min-width:0;max-width:100%;overflow-wrap:anywhere}
body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}header{padding:16px 24px;flex:none}header h1{font-size:26px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:20px;padding:20px;width:100%;max-width:1880px;margin:0 auto;flex:1;min-height:0}.workspace main{min-width:0;max-width:none;margin:0;padding:0 8px 0 0;overflow:auto;scrollbar-gutter:stable}#activity-panel{min-width:0;min-height:0;margin:0;padding:18px;display:flex;flex-direction:column;overflow:hidden;background:#102c3a;color:#e6eff4;border-color:#284e60}#activity-panel h2{font-size:21px}#activity-panel .activity-intro{font-size:13px;color:#adc4d1;margin:10px 0}#activity-panel small{color:#aec5d1;margin-top:10px;font-size:11px}#activity-panel label{font-size:12px;color:#d4e5ed}#activity-panel input,#activity-panel select{padding:8px;font-size:13px}.log-filters{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.log-controls{gap:8px}.log-controls button{padding:8px 10px;font-size:12px}.log-controls label{margin:4px 0;display:flex;align-items:center;gap:6px}.log-controls input{width:auto;margin:0}#activity-count{font-size:12px;color:#a9c2d1;margin:8px 0}.live-indicator{font-size:12px;color:#7ee2be}.live-indicator.offline{color:#ffce82}#activity-list{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;border:1px solid #315565;border-radius:5px;background:#0a212d}.log-entry{padding:10px 12px;border-bottom:1px solid #244555;font-size:12px;line-height:1.5}.log-entry p{margin:5px 0;overflow-wrap:anywhere}.log-entry .log-meta{display:flex;gap:8px;align-items:center;font-size:11px;color:#aac4d3}.log-source{font-weight:700;color:#9cdbfa}.log-source.mock{color:#efc686}.log-level{margin-left:auto}.log-entry.warn{border-left:3px solid #f2bd64}.log-entry.error{border-left:3px solid #f68484}.log-request{font:11px monospace;color:#86aabc}#activity-list>p{padding:12px;color:#adc4d1}@media(max-width:1200px){.workspace .columns{grid-template-columns:1fr;gap:6px}}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(230px,36%);padding:10px;gap:10px}.workspace main{padding-right:0}#activity-panel{padding:12px}#activity-panel .activity-intro,#activity-panel>small{display:none}.log-filters{gap:8px}.log-filters label{margin:4px 0}.log-controls label{font-size:11px}.log-controls button{width:auto}header{padding:10px 16px}header p{font-size:13px}#activity-panel h2{font-size:18px}}
.patient-match{padding:12px;border:1px solid #d6e2e8;border-radius:5px;margin:10px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.patient-match p{margin:0;flex:1;min-width:180px}

.log-references{display:flex;flex-direction:column;gap:4px;margin-top:7px}.log-references a{font-size:12px;color:#9fdfed;overflow-wrap:anywhere}.log-references a:hover{color:white}.log-references a:focus-visible{outline:2px solid #9fdfed;outline-offset:2px}

.log-detail{display:block;background:transparent;border:0;color:#9fdfed;text-decoration:underline;font-size:12px;padding:5px 0}#request-dialog{width:min(1000px,94vw);max-height:90dvh;overflow:auto;border:1px solid #9fb5c1;border-radius:8px;padding:24px;color:#173344}#request-dialog::backdrop{background:#102f40b3}#request-dialog pre{max-height:40vh}#request-dialog h2{margin-top:0}#request-dialog>button{float:right}

.dialog-specs{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 0;margin-bottom:14px}.dialog-specs a{color:#17667a;font-size:14px}

#spec-dialog{width:min(1200px,96vw);height:92dvh;max-height:94dvh;border:1px solid #9fb5c1;border-radius:8px;padding:18px;color:#173344}#spec-dialog[open]{display:flex;flex-direction:column;gap:8px}#spec-dialog::backdrop{background:#102f40b3}#spec-dialog h2{margin:0;font-size:20px}#spec-dialog>button{align-self:flex-end}#spec-dialog iframe{width:100%;flex:1;min-height:160px;border:1px solid #cad9e0;background:white}#spec-dialog p{margin:0;font-size:12px}#spec-dialog a{color:#17667a}

.build-version{font-size:13px;margin:8px 0 0}.build-version a{color:#c1e8ff}.build-version code{color:inherit}.test-access{display:block;height:auto;overflow:auto}.test-access main{max-width:960px;margin:24px auto;padding:0 20px}.test-access pre{overflow:auto}


header nav{padding:0 0 10px;border:0;flex-wrap:wrap}header nav a{color:#d4e7ee;padding:4px 8px;border-radius:4px}header nav a[aria-current=page]{background:#fff;color:#153e52;text-decoration:none;font-weight:600}

/* Readable controls, explicit focus and room for the primary workflow. */
:root{color-scheme:light}
h2{font-size:22px;line-height:1.3;margin:0 0 12px}
a{color:#125a70;text-underline-offset:3px}
button,.button,input,select{min-height:44px}
button:disabled{opacity:1;background:#e3e9ed;border-color:#9aaeb9;color:#435e6d}
:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid #b05a00;outline-offset:3px}
.skip-link{position:fixed;left:16px;top:8px;z-index:100;background:white;padding:12px 18px;border:2px solid #17667a;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
small,footer{color:#48616d;font-size:14px}
.form-hint{color:#48616d;margin:0 0 20px}
.workflow-nav{position:sticky;top:0;z-index:5;background:#f1f5f7;padding:12px 0;flex-wrap:wrap}
.workflow-nav button[aria-pressed=true]{box-shadow:inset 0 -4px 0 #082f40}

#status{background:#e9f3f6;border-left:4px solid #17667a;border-radius:4px;padding:12px 16px;overflow-wrap:anywhere}
#status.error{background:#fff0ed;border-color:#a22626;font-weight:600}
#patient-search-status,#patient-origin,#records-patient{overflow-wrap:anywhere}

#document-list{padding-left:20px}
#document-list li{margin:10px 0}
#document-list button{max-width:100%;overflow-wrap:anywhere;text-align:left}
th{color:#365362;font-size:14px}
#activity-panel small,#activity-panel .activity-intro,#activity-count{font-size:13px}
#activity-panel input[type=checkbox]{min-height:20px;min-width:20px}
@media(max-width:1000px){
  body{height:auto;min-height:100dvh;overflow:auto}
  .workspace{display:block;padding:12px;flex:auto}
  .workspace main{overflow:visible;padding:0}
  #activity-panel{height:540px;max-height:85dvh;margin-top:20px}
  #activity-panel .activity-intro,#activity-panel>small{display:block}
  .workflow-nav{top:0}
}
@media(max-width:760px){
  .workflow-nav button{flex:1 1 42%}

  header nav a{min-height:44px;display:inline-flex;align-items:center}
  section{padding:18px 14px}
  .toolbar .button{width:100%;text-align:center}
  #cda-view{height:65dvh}
  .log-filters{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

header .test-notice{margin-top:12px;padding:10px 14px;background:#214c60;color:#edf5f8;border-left:3px solid #f0c269;border-radius:4px;font-size:13px;line-height:1.5}header .test-notice strong{color:#fff}@media(max-width:760px){header .test-notice{font-size:12px;padding:8px 10px}}

.workspace main>section{scroll-margin-top:90px}@media(max-width:760px){.workspace main>section{scroll-margin-top:130px}}
