.qap-dialog {
  box-sizing:border-box; width:min(960px,calc(100vw - 32px)); max-width:none;
  max-height:calc(100dvh - 32px); margin:auto; padding:24px; overflow:auto;
  border:1px solid #c3d8cd; border-radius:16px; background:#f2f6f3; color:#203d32;
  font:1rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overscroll-behavior:contain;
}
.qap-dialog::backdrop { background:rgb(13 36 30 / .72); }
.qap-dialog *,.qap-print-root * { box-sizing:border-box; }
.qap-toolbar {
  position:sticky; top:-24px; z-index:1; display:flex; flex-wrap:wrap;
  justify-content:space-between; align-items:center; gap:12px;
  margin:-24px -24px 20px; padding:20px 24px; background:#f2f6f3;
  border-bottom:1px solid #d5e3da;
}
.qap-toolbar h2 { margin:0; font-size:1.3rem; line-height:1.3; color:#214f3c; }
.qap-actions { display:flex; flex-wrap:wrap; gap:10px; }
.qap-button {
  display:inline-flex; justify-content:center; align-items:center; min-height:44px;
  padding:10px 16px; border:1px solid #b7ccbf; border-radius:8px;
  background:white; color:#234f3a; font-family:inherit; font-size:.9rem;
  font-weight:600; line-height:1.4; cursor:pointer;
  white-space:normal; text-align:center;
}
.qap-button--primary { background:#175b42; color:white; border-color:#175b42; }
.qap-button:disabled { opacity:.65; cursor:wait; }
.qap-dialog :focus-visible { outline:3px solid #a95418; outline-offset:4px; }
.qap-dialog .qap-toolbar h2:focus { outline:none; }
.qap-description,.qap-status { margin:12px 0; font-size:.92rem; color:#496355; }
.qap-status { padding-bottom:12px; }
.qap-sheet {
  width:100%; max-width:820px; margin:20px auto 0; padding:34px;
  border:1px solid #d8e3db; background:white; color:#21382d;
  font:1rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-wrap:anywhere; word-break:break-word;
}
.qap-cover { padding:0 0 22px; border-top:5px solid #27654a; border-bottom:1px solid #d0dfd4; }
.qap-brand { margin:18px 0 8px; font-size:.7rem; letter-spacing:.11em; font-weight:750; color:#326d50; }
.qap-purpose { margin:6px 0; font-size:.85rem; font-weight:650; color:#456550; }
.qap-document-title { margin:14px 0; font-size:1.85rem; line-height:1.25; color:#194b32; }
.qap-date,.qap-count { font-size:.85rem; color:#4f6656; }
.qap-count { margin:6px 0 0; }
.qap-scope,.qap-prompt,.qap-hint { font-size:.88rem; color:#52665a; }
.qap-scope { margin:22px 0 14px; }
.qap-field { margin:28px 0 0; }
.qap-field h3 { font-size:1.06rem; line-height:1.4; margin:0 0 8px; color:#224e37; }
.qap-hint { margin:8px 0; }
.qap-answer { margin:12px 0 0; padding:14px 16px; border-left:3px solid #478c64; background:#f1f7f1; white-space:pre-wrap; }
.qap-answer.is-empty { font-style:italic; color:#576b5b; }
.qap-print-root { display:none; }
@media(max-width:600px) {
  .qap-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:14px; border-radius:12px; }
  .qap-toolbar { top:-14px; margin:-14px -14px 16px; padding:16px 14px; }
  .qap-toolbar h2 { font-size:1.13rem; }
  .qap-actions { width:100%; }
  .qap-button--primary { flex:1; }
  .qap-sheet { padding:20px 16px; }
  .qap-document-title { font-size:1.5rem; }
  .qap-answer { padding:12px; }
}
@media print {
  @page hospiq-application { size:A4; margin:17mm 16mm 19mm; }
  html:has(> body[data-quality-application-print]) { background:white!important; overflow:visible!important; }
  body[data-quality-application-print] {
    display:block!important; position:static!important; height:auto!important;
    min-height:0!important; overflow:visible!important; margin:0!important;
    padding:0!important; background:white!important;
  }
  html body[data-quality-application-print] > :not(.qap-print-root) { display:none!important; }
  html body[data-quality-application-print] > .qap-print-root {
    display:block!important; position:static!important; page:hospiq-application;
    width:auto!important; height:auto!important; overflow:visible!important;
  }
  .qap-dialog::backdrop { display:none!important; }
  .qap-print-root .qap-sheet {
    width:auto; max-width:none; margin:0; padding:0; border:0;
    font:10.5pt/1.5 "DejaVu Sans",Arial,sans-serif; color:#162e21;
    overflow:visible; print-color-adjust:exact; -webkit-print-color-adjust:exact;
  }
  .qap-print-root .qap-cover { break-inside:avoid; }
  .qap-print-root .qap-document-title { font-size:21pt; }
  .qap-print-root .qap-field { break-inside:auto; margin-top:18pt; }
  .qap-print-root .qap-field h3 { font-size:12pt; break-after:avoid; }
  .qap-print-root .qap-hint { break-after:avoid; }
  .qap-print-root .qap-answer { padding:9pt 11pt; orphans:3; widows:3; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
  .qap-print-root .qap-brand,.qap-print-root .qap-purpose,.qap-print-root .qap-date,
  .qap-print-root .qap-count,.qap-print-root .qap-scope,.qap-print-root .qap-prompt,.qap-print-root .qap-hint { font-size:9pt; }
}
