.quality-audit-mode .layout { grid-template-columns: minmax(0, 1fr); }
.quality-audit-mode .layout > .table-wrap { width: 100%; max-width: 100%; max-height: none; min-width: 0; min-height: 0; overflow: visible; }
.quality-audit-mode .layout > .table-wrap > table { display: block; width: 100%; min-width: 0; table-layout: auto; }
.quality-audit-mode .layout > .table-wrap > table > thead { display: none; }
.quality-audit-mode .layout > .table-wrap > table > tbody,
.quality-audit-mode .layout > .table-wrap > table > tbody > tr,
.quality-audit-mode .layout > .table-wrap > table > tbody > tr > td.qa-page-cell { display: block; width: 100%; max-width: 100%; min-width: 0; height: auto; min-height: 0; }
.quality-audit-mode .layout > .table-wrap > table > tbody > tr > td.qa-page-cell { padding: 0; border: 0; background: transparent; white-space: normal; }
.quality-audit-mode #editorPanel { display: none; }
.qa-page { display: block; width: 100%; min-width: 0; color: #3b352f; }
.qa-page > * + * { margin-top: 16px; }
.qa-page-head, .qa-respite-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px; border: 1px solid #eadfd4; border-radius: 22px; background: linear-gradient(135deg, #fffaf5, #f7f2ec); }
body.quality-audit-mode .qa-page-head {
  position: static !important;
  top: auto !important;
  display: flex !important;
  align-items: center !important;
  align-self: auto !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 22px 24px !important;
  border-radius: 22px !important;
}
.qa-page-head h2, .qa-respite-head h3 { margin: 0; color: #372f29; font-size: 24px; display: flex; gap: 9px; align-items: center; }
.qa-page-head h2 i { color: #d97706; }
.qa-page-head p, .qa-respite-head p { margin: 7px 0 0; color: #786f66; line-height: 1.65; }
.qa-page-head .qa-page-description { margin: 0; }
.qa-page-head > div:first-child { min-width: 0; flex: 1 1 auto; }
.qa-page-head .qa-page-description { white-space: normal; }
.qa-page-head .qa-head-actions { flex: 0 0 auto; flex-wrap: nowrap; }
.qa-head-actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.qa-page-head .qa-head-actions button { flex: 0 0 auto; white-space: nowrap; }
.qa-primary, .qa-secondary, .qa-danger, .qa-link { min-height: 40px; border-radius: 11px; padding: 8px 14px; border: 1px solid transparent; font: inherit; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.qa-primary { background: #d97706; color: white; border-color: #d97706; }
.qa-primary:hover { background: #b85f04; }
.qa-secondary { background: #fff; color: #5e5146; border-color: #d8c9bc; }
.qa-secondary:hover { background: #fff8f1; border-color: #d7a876; }
.qa-danger { background: #fff4f3; color: #b42318; border-color: #f2b8b5; }
.qa-link { min-height: 32px; padding: 4px 8px; border: 0; background: transparent; color: #a85d16; }
.qa-primary.small { min-height: 32px; padding: 5px 10px; font-size: 13px; }
.qa-primary:disabled, .qa-secondary:disabled, .qa-danger:disabled { opacity: .55; cursor: wait; }
.qa-toolbar { display: grid; grid-template-columns: minmax(255px, 1.1fr) minmax(310px, 1.7fr) minmax(220px, 1.2fr) minmax(130px, .7fr) minmax(170px, .9fr); gap: 10px; align-items: end; padding: 14px 16px; border: 1px solid #e5ddd5; border-radius: 16px; background: #fff; }
.qa-toolbar label, .qa-settings label, .qa-form label { display: grid; gap: 6px; color: #6f655c; font-size: 13px; font-weight: 800; }
.qa-toolbar label { height: 65px; min-height: 65px; grid-template-rows: 17px 42px; align-content: end; overflow: hidden; }
.qa-toolbar input, .qa-toolbar select, .qa-settings input, .qa-form input, .qa-form select, .qa-form textarea { width: 100%; min-height: 42px; box-sizing: border-box; border: 1px solid #d8cfc7; border-radius: 10px; padding: 9px 11px; background: #fff; color: #332d28; font: inherit; }
.qa-toolbar input, .qa-toolbar select { height: 42px; min-height: 42px; max-height: 42px; }
.qa-month-nav { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 6px; align-items: end; min-width: 0; }
.qa-month-nav label { min-width: 0; }
.qa-month-nav > button { width: 42px; height: 42px; min-height: 42px; border: 1px solid #d8cfc7; border-radius: 10px; background: #fffaf5; color: #9a5a2d; font: inherit; cursor: pointer; display: inline-grid; place-items: center; }
.qa-month-nav > button:hover { border-color: #caa88e; background: #f6e9dd; }
.qa-form textarea { min-height: 88px; resize: vertical; line-height: 1.55; }
.qa-toolbar input:focus, .qa-toolbar select:focus, .qa-settings input:focus, .qa-form input:focus, .qa-form select:focus, .qa-form textarea:focus { outline: 3px solid rgba(217,119,6,.14); border-color: #d97706; }
.qa-segment { align-self: end; height: 42px; min-height: 42px; box-sizing: border-box; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 12px; background: #eee9e3; }
.qa-segment button { height: 34px; min-height: 34px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: #6c6259; font: inherit; font-weight: 850; cursor: pointer; white-space: nowrap; }
.qa-segment button.active { color: #9a4d0b; background: #fff; box-shadow: 0 2px 9px rgba(76,57,41,.1); }
.qa-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.qa-summary > div { padding: 15px 17px; border: 1px solid #eadfd4; border-radius: 15px; background: #fffaf6; }
.qa-summary > div.alert { background: #fff3f1; border-color: #f1c1bd; }
.qa-summary span { display: block; color: #756b63; font-size: 13px; font-weight: 800; }
.qa-summary strong { display: block; margin-top: 4px; color: #3b332d; font-size: 24px; }
.qa-section, .qa-respite { padding: 18px; border: 1px solid #e6ded6; border-radius: 18px; background: #fff; }
.qa-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.qa-section-title h3 { margin: 0; color: #443b34; font-size: 18px; }
.qa-section-title span { color: #8a8179; font-size: 12px; }
.qa-table-wrap { overflow: auto; border: 1px solid #e6ded6; border-radius: 13px; }
.qa-table { width: 100%; min-width: 1040px; border-collapse: collapse; font-size: 13px; }
.qa-table th { position: sticky; top: 0; z-index: 1; padding: 10px 11px; background: #f4eee8; color: #65594f; text-align: left; white-space: nowrap; }
.qa-table td { padding: 10px 11px; border-top: 1px solid #eee7e0; vertical-align: top; line-height: 1.5; }
.qa-table tbody tr:hover td { background: #fffaf6; }
.qa-table td strong, .qa-table td small { display: block; }
.qa-table td small { margin-top: 3px; color: #8a8179; }
.qa-row-actions { display: flex; gap: 5px; }
.qa-row-actions button { width: 34px; height: 34px; border: 1px solid #ded5cc; border-radius: 9px; background: #fff; color: #665a50; cursor: pointer; }
.qa-row-actions button.danger { color: #b42318; border-color: #f0c7c3; }
.qa-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 2px 8px; border-radius: 999px; background: #eeeae6; color: #635a52; font-size: 12px; font-weight: 850; white-space: nowrap; }
.qa-badge.ok { color: #17623b; background: #e8f6ee; }
.qa-badge.warn { color: #8a4b0f; background: #fff1dc; }
.qa-badge.danger { color: #a12a22; background: #fde8e6; }
.qa-empty { padding: 30px 18px; color: #877d75; text-align: center; border: 1px dashed #dcd2ca; border-radius: 12px; background: #fcfaf8; }
.qa-respite { display: grid; gap: 15px; }
.qa-respite .qa-respite-head h3 { font-family: inherit; font-size: 18px; font-weight: 900; line-height: 1.4; }
.qa-respite-head { padding: 0 0 14px; border: 0; border-bottom: 1px solid #ede5de; border-radius: 0; background: transparent; }
.qa-settings { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; align-items: end; padding: 14px; border-radius: 14px; background: #faf6f2; }
.qa-settings > label, .qa-settings > button { min-width: 0; }
.qa-settings > button { width: 100%; height: 42px; min-height: 42px; padding-inline: 8px; white-space: nowrap; }
.qa-settings-note { grid-column: 1 / -1; color: #7c7167; font-size: 12px; }
body.qa-modal-open { overflow: hidden; }
.qa-modal-backdrop { position: fixed; inset: 0; z-index: 10020; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(32,27,23,.48); backdrop-filter: blur(3px); }
.qa-modal { position: relative; width: min(760px, 96vw); height: 94vh; max-height: 900px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid #dfd3c8; border-radius: 22px; background: #fff; box-shadow: 0 28px 80px rgba(35,27,20,.25); }
.qa-modal.medium { width: min(1120px, 97vw); }
.qa-modal.wide { width: min(1480px, 98vw); }
.qa-modal.choice {
  width: min(680px, 94vw) !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: min(560px, calc(100vh - 48px)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}
.qa-modal > .qa-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; width: 100%; height: auto; min-height: 0; max-height: none; padding: 18px 22px; border-bottom: 1px solid #eae1da; background: #fffaf6; box-sizing: border-box; overflow: visible; }
body.quality-audit-mode .qa-modal > .qa-modal-header {
  position: static !important;
  top: auto !important;
  display: flex !important;
  align-self: auto !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 18px 22px !important;
  border-radius: 0 !important;
}
body.quality-audit-mode .qa-modal.choice > .qa-modal-header {
  align-items: center !important;
  align-self: stretch !important;
  width: 100% !important;
  gap: 12px !important;
  padding: 12px 18px !important;
}
.qa-modal.choice > .qa-modal-header { align-items: center; gap: 12px; padding: 12px 18px; }
.qa-modal.choice > .qa-modal-header h2 { font-size: 19px; line-height: 1.3; }
.qa-modal.choice > .qa-modal-header p { margin-top: 2px; line-height: 1.35; }
.qa-modal.choice > .qa-modal-body {
  display: block !important;
  flex: 0 1 auto !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 16px 18px 18px !important;
  overflow: auto !important;
}
.qa-modal > .qa-modal-header h2 { margin: 0; color: #3d342d; font-size: 21px; }
.qa-modal > .qa-modal-header p { margin: 5px 0 0; color: #80756c; font-size: 12px; }
.qa-modal-close { width: 38px; height: 38px; border: 0; border-radius: 10px; background: transparent; color: #756a61; font-size: 21px; cursor: pointer; }
.qa-modal-close:hover { background: #f2eae3; }
.qa-modal-body { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 20px 22px 24px; }
.qa-type-choice-context { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }
.qa-type-choice-context > div { min-width: 0; display: grid; gap: 4px; padding: 10px 12px; border: 1px solid #e7ded6; border-radius: 10px; background: #faf7f4; }
.qa-type-choice-context > div.month { grid-column: 1 / -1; }
.qa-type-choice-context span { color: #8a8179; font-size: 12px; font-weight: 700; }
.qa-type-choice-context strong { min-width: 0; color: #453c35; font-size: 14px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qa-type-choice-list { display: grid; gap: 12px; }
.qa-type-choice {
  width: 100%;
  min-height: 78px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 13px;
  padding: 14px 16px;
  border: 1px solid #ddd2c8;
  border-radius: 12px;
  background: #fff;
  color: #3d342d;
  text-align: left;
  cursor: pointer;
}
.qa-type-choice:hover { border-color: #d59a65; background: #fffaf6; }
.qa-type-choice:disabled { opacity: .52; cursor: not-allowed; background: #f6f4f2; }
.qa-type-choice-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: #f6e8da; color: #a65b1b; font-size: 22px; }
.qa-type-choice-icon.respite { background: #edf1ee; color: #4f7566; }
.qa-type-choice-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.qa-type-choice-copy strong { display: block; width: 100%; color: #3d342d; font-size: 16px; font-weight: 800; line-height: 1.35; }
.qa-type-choice-copy small { display: block; width: 100%; color: #7c7167; font-size: 12px; font-weight: 600; line-height: 1.55; }
.qa-pdf-render-host { position: fixed; left: -10000px; top: 0; width: 794px; pointer-events: none; background: #fff; }
.qa-pdf-render-host .qa-print-page { width: 794px; min-height: 1123px; padding: 42px; background: #fff; color: #292524; font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif; }
.qa-pdf-render-host .qa-print-header { text-align: center; border-bottom: 2px solid #c87932; padding-bottom: 8px; margin-bottom: 10px; }
.qa-pdf-render-host .qa-print-header div { font-size: 12px; font-weight: 700; }
.qa-pdf-render-host .qa-print-header h1 { margin: 5px 0 2px; font-size: 22px; }
.qa-pdf-render-host .qa-print-header span { font-size: 11px; color: #78716c; }
.qa-pdf-render-host section { margin-top: 9px; }
.qa-pdf-render-host h2 { margin: 0 0 5px; font-size: 14px; color: #8b4b18; }
.qa-pdf-render-host table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1.25px solid #8f857c; font-size: 11px; table-layout: fixed; }
.qa-pdf-render-host th, .qa-pdf-render-host td { border: 0; border-right: 1px solid #9f958c; border-bottom: 1px solid #9f958c; padding: 5px 7px; vertical-align: top; white-space: pre-wrap; overflow-wrap: anywhere; }
.qa-pdf-render-host tr > :last-child { border-right: 0; }
.qa-pdf-render-host tr:last-child > * { border-bottom: 0; }
.qa-pdf-render-host th { width: 18%; background: #f5f0eb; text-align: left; }
.qa-pdf-render-host .qa-print-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.qa-pdf-render-host .qa-print-signature { min-height: 92px; display: grid; grid-template-rows: auto 1fr auto; gap: 4px; padding: 8px; border: 1.25px solid #8f857c; }
.qa-pdf-render-host .qa-print-signature img { display: block; max-width: 100%; height: 54px; object-fit: contain; margin: auto; }
.qa-pdf-render-host .qa-print-signature span, .qa-pdf-render-host .qa-print-signature small { color: #78716c; font-size: 10px; }
.qa-pdf-render-host .qa-print-signature-placeholder { display: flex; align-items: center; justify-content: center; }
.qa-form { display: grid; gap: 15px; }
.qa-form fieldset { min-width: 0; margin: 0; padding: 15px; border: 1px solid #e6ddd5; border-radius: 15px; background: #fff; }
.qa-form legend { padding: 0 7px; color: #9a500f; font-size: 15px; font-weight: 900; }
.qa-form-grid { display: grid; gap: 11px; align-items: end; }
.qa-form-grid > label { align-content: end; }
.qa-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.qa-form select {
  height: 42px;
  min-height: 42px;
  max-height: 42px;
  line-height: normal;
}
.qa-form textarea { height: auto; min-height: 88px; max-height: none; }
.qa-form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qa-form-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qa-form-grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.qa-form-grid .span-2 { grid-column: span 2; }
.qa-form-grid .span-4 { grid-column: span 4; }
.qa-form-actions { position: sticky; bottom: -24px; display: grid; grid-template-columns: auto 1fr auto auto; gap: 9px; align-items: center; padding: 13px 0 0; background: linear-gradient(to bottom, rgba(255,255,255,.4), #fff 26%); }
.qa-form-actions.qa-respite-actions { display: flex; align-items: center; }
.qa-respite-action-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; flex: 1 1 auto; min-width: 0; }
.qa-respite-action-pair > button { width: 100%; justify-content: center; }
.qa-signatures { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.qa-audit-footer { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; padding: 14px 22px max(14px, env(safe-area-inset-bottom)); border-top: 1px solid #e6ddd5; background: #fff; }
.qa-audit-action-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; flex: 1 1 auto; min-width: 0; }
.qa-audit-footer button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin: 0; white-space: nowrap; }
.qa-audit-action-pair > button { width: 100%; min-width: 0; }
.qa-signature-card { display: grid; gap: 7px; min-width: 0; padding: 12px; border: 1px solid #e2d8cf; border-radius: 13px; background: #fcfaf8; }
.qa-signature-head { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.qa-signature-head > strong { font-family: inherit; font-size: 13px; font-weight: 900; line-height: 1.5; letter-spacing: 0; }
.qa-signature-actions > .qa-link { font-family: inherit; font-size: 14px; font-weight: 900; line-height: 1.3; letter-spacing: 0; }
.qa-signature-card canvas { width: 100%; height: 130px; border: 1px dashed #b8aba0; border-radius: 10px; background: #fff; touch-action: none; cursor: crosshair; }
.qa-signature-card a { color: #9b5517; font-size: 12px; font-weight: 800; }
.qa-signature-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.qa-signature-head-tools { display: flex; align-items: center; gap: 10px; }
.qa-signature-expand { display: inline-flex; align-items: center; justify-content: center; width: 36px; min-width: 36px; height: 36px; padding: 0; border: 1px solid #e2d8cf; border-radius: 6px; background: #fff; color: #a75c29; font-size: 19px; cursor: pointer; }
.qa-signature-expand:hover { background: #fff3e9; border-color: #d8ac88; }
.qa-signature-expand:focus-visible { outline: 2px solid #c87932; outline-offset: 2px; }
.qa-signature-dialog[open] { position: fixed; inset: 0; display: flex; flex-direction: column; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: 0; box-sizing: border-box; overflow: hidden; border: 0; border-radius: 0; background: #fff; color: #3d342d; font-family: inherit; }
.qa-signature-dialog::backdrop { background: rgba(32,27,23,.55); }
.qa-signature-toolbar { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); border-bottom: 1px solid #e2d8cf; background: #fffaf6; }
.qa-signature-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.qa-signature-toolbar strong { font-family: inherit; font-size: 18px; font-weight: 900; }
.qa-signature-dialog button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; width: auto; font: inherit; font-size: 14px; font-weight: 900; white-space: nowrap; }
.qa-signature-stage { position: relative; flex: 1 1 auto; min-height: 0; margin: 12px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
.qa-signature-stage canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; aspect-ratio: auto; box-sizing: border-box; background: #fff; border: 0; border-radius: 0; outline: 1px solid #e8e1db; touch-action: none; cursor: crosshair; }
.qa-help { margin: 8px 0 0; color: #83786e; font-size: 12px; }
.qa-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.qa-check-grid > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; padding: 12px; border-radius: 12px; background: #faf6f2; }
.qa-check-grid strong { grid-column: 1 / -1; color: #554b43; }
.qa-check-grid label { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 6px; }
.qa-check-grid input { width: 17px; height: 17px; min-height: 17px; max-height: 17px; }

@media (max-width: 1280px) {
  .qa-toolbar { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .qa-segment { grid-column: span 2; }
  .qa-summary { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 980px) {
  .qa-settings { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .qa-page-head, .qa-respite-head { flex-direction: column; padding: 17px; }
  body.quality-audit-mode .qa-page-head { flex-direction: column !important; padding: 17px !important; }
  .qa-head-actions { width: 100%; }
  .qa-head-actions button { flex: 1 1 0; }
  .qa-toolbar { grid-template-columns: 1fr; }
  .qa-segment { grid-column: auto; }
  .qa-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .qa-settings { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .qa-modal-backdrop { padding: 0; }
  .qa-modal, .qa-modal.medium, .qa-modal.wide { width: 100vw; max-height: 100vh; height: 100vh; border-radius: 0; }
  .qa-modal-body { padding: 16px; }
  .qa-modal.choice { width: calc(100vw - 24px); min-height: 0; height: auto; max-height: calc(100vh - 24px); border-radius: 16px; }
  .qa-type-choice-context { grid-template-columns: 1fr; }
  .qa-type-choice-context > div.month { grid-column: auto; }
  .qa-type-choice { grid-template-columns: 42px minmax(0, 1fr) 18px; gap: 10px; padding: 13px; }
  .qa-type-choice-icon { width: 40px; height: 40px; }
  .qa-form-grid.four, .qa-form-grid.five, .qa-form-grid.two, .qa-signatures, .qa-check-grid { grid-template-columns: 1fr; }
  .qa-form-grid .span-2, .qa-form-grid .span-4 { grid-column: auto; }
  .qa-form-actions { grid-template-columns: 1fr 1fr; }
  .qa-form-actions > span { display: none; }
  .qa-form-actions.qa-respite-actions { display: flex; }
}

@media (max-width: 1180px), (any-pointer: coarse) {
  .qa-modal.qa-audit-editor { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; }
  .qa-modal.qa-audit-editor > .qa-modal-header { padding-top: max(14px, env(safe-area-inset-top)); }
  .qa-modal.qa-audit-editor > .qa-modal-body { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); padding-bottom: max(24px, env(safe-area-inset-bottom)); }
}

/* Match the scheduling system's loaded 700/900 text weights without overriding icon fonts. */
.qa-page, .qa-modal, .qa-signature-dialog {
  font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}
:is(.qa-page, .qa-modal, .qa-signature-dialog) :is(button, input, select, textarea) {
  font-family: inherit;
  letter-spacing: 0;
}
:is(.qa-page, .qa-modal, .qa-signature-dialog) :is(h2, h3, h4, legend, label, strong, th, button) {
  font-weight: 900;
}
:is(.qa-page, .qa-modal, .qa-signature-dialog) :is(input, select, textarea, td, p, small) {
  font-weight: 700;
}
.qa-page .qa-badge, .qa-modal .qa-badge, .qa-page .qa-summary span { font-weight: 900; }
.qa-modal .qa-type-choice-copy small { font-weight: 700; }
