/* Scoped portal styles; intentionally independent of the WordPress theme. */
#sifamed-app .sifamed-risk-result { border: 1px solid #dce3e2; border-left: 5px solid #89979d; border-radius: 8px; background: #f4f5f3; padding: 12px 14px; margin: 14px 0 10px; }
#sifamed-app .sifamed-risk-result strong, #sifamed-app .sifamed-risk-result small { display: block; }
#sifamed-app .sifamed-risk-result small { margin-top: 5px; }
#sifamed-app .sifamed-risk-result--green { border-color: #72ac80; border-left-color: #27703c; background: #e7f5eb; }
#sifamed-app .sifamed-risk-result--yellow { border-color: #c5a83c; border-left-color: #89700a; background: #fff4c4; }
#sifamed-app .sifamed-risk-result--red { border-color: #d09292; border-left-color: #a63030; background: #fde8e8; }
#sifamed-app {
  --sm-navy: #172d3b;
  --sm-teal: #087e78;
  --sm-teal-dark: #08675f;
  --sm-bg: #f4f5f3;
  --sm-border: #dce3e2;
  --sm-muted: #5c6b73;
  --sm-white: #fff;
  color: var(--sm-navy);
  background: var(--sm-bg);
  font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  border: 1px solid var(--sm-border);
  border-radius: 20px;
  overflow: hidden;
  text-align: left;
  margin: 24px auto;
  max-width: 1600px;
}
#sifamed-app *, #sifamed-app *::before, #sifamed-app *::after { box-sizing: border-box; }
#sifamed-app [hidden] { display: none !important; }
#sifamed-app h1, #sifamed-app h2, #sifamed-app h3, #sifamed-app h4, #sifamed-app p { padding: 0; margin: 0; font-family: inherit; color: inherit; }
#sifamed-app h1 { font-size: clamp(25px, 3vw, 35px); font-weight: 700; line-height: 1.2; letter-spacing: -.8px; }
#sifamed-app h2 { font-size: 20px; font-weight: 680; line-height: 1.3; }
#sifamed-app h3 { font-size: 17px; font-weight: 680; }
#sifamed-app h4 { font-size: 15px; font-weight: 680; }
#sifamed-app button, #sifamed-app input, #sifamed-app select, #sifamed-app textarea { font: inherit; letter-spacing: normal; }
#sifamed-app button { text-transform: none; box-shadow: none; cursor: pointer; }
#sifamed-app button:disabled { cursor: not-allowed; opacity: .48; }
#sifamed-app button:focus-visible, #sifamed-app summary:focus-visible, #sifamed-app input:focus-visible, #sifamed-app select:focus-visible, #sifamed-app textarea:focus-visible { outline: 3px solid #46aba3; outline-offset: 3px; }
#sifamed-app .sifamed-header { background: var(--sm-navy); color: #fff; padding: 22px 32px; display: flex; gap: 20px; justify-content: space-between; align-items: center; }
#sifamed-app .sifamed-brand { display: flex; align-items: center; gap: 12px; }
#sifamed-app .sifamed-brand strong { display: block; font-size: 24px; letter-spacing: -.6px; line-height: 1.2; }
#sifamed-app .sifamed-brand span:not(.sifamed-mark) { font-size: 12px; color: #c8dbde; }
#sifamed-app .sifamed-mark { display: grid; place-items: center; width: 43px; height: 43px; background: #1c9488; border-radius: 13px; font-size: 25px; font-weight: 750; }
#sifamed-app .sifamed-header-meta { display: flex; gap: 18px; align-items: center; font-size: 13px; }
#sifamed-app .sifamed-test-badge { background: #ffffff12; border: 1px solid #ffffff33; padding: 6px 11px; border-radius: 40px; color: #e5f3f2; }
#sifamed-app .sifamed-user { color: #cfdddd; }
#sifamed-app .sifamed-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); min-height: 650px; }
#sifamed-app .sifamed-sidebar { display: flex; flex-direction: column; gap: 25px; background: #fff; border-right: 1px solid var(--sm-border); padding: 30px 22px; }
#sifamed-app .sifamed-company label { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 1.2px; font-weight: 700; color: var(--sm-muted); margin-bottom: 10px; }
#sifamed-app .sifamed-company select { width: 100%; padding: 11px 9px; min-height: 44px; border-radius: 9px; border: 1px solid var(--sm-border); background-color: #f8faf9; color: var(--sm-navy); }
#sifamed-app .sifamed-company small { display: block; color: var(--sm-muted); font-size: 11px; margin-top: 9px; }
#sifamed-app .sifamed-navigation { background: #e9f4f1; color: #076b64; font-weight: 650; border: none; border-radius: 9px; padding: 13px 12px; text-align: left; line-height: 1.4; }
#sifamed-app .sifamed-sidebar-note { padding: 0 5px; font-size: 12px; color: var(--sm-muted); }
#sifamed-app .sifamed-sidebar-note strong { display: block; margin-bottom: 8px; color: var(--sm-navy); font-size: 11px; text-transform: uppercase; letter-spacing: .8px; }
#sifamed-app .sifamed-sidebar-note--bottom { margin-top: auto; border-top: 1px solid var(--sm-border); padding-top: 22px; }
#sifamed-app .sifamed-main { min-width: 0; padding: 34px; }
#sifamed-app .sifamed-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 27px; }
#sifamed-app .sifamed-page-heading p:not(.sifamed-eyebrow) { margin-top: 10px; color: var(--sm-muted); }
#sifamed-app .sifamed-eyebrow { text-transform: uppercase; color: var(--sm-teal); letter-spacing: 1px; font-weight: 700; font-size: 11px; margin-bottom: 10px; }
#sifamed-app .sifamed-button { display: inline-flex; justify-content: center; align-items: center; border-radius: 8px; border: 1px solid transparent; padding: 11px 16px; min-height: 44px; font-size: 13px; font-weight: 650; line-height: 1.35; background: #eef3f1; color: var(--sm-navy); white-space: normal; transition: background .15s, border-color .15s; }
#sifamed-app .sifamed-button:hover:not(:disabled) { background: #e2ebe7; }
#sifamed-app .sifamed-button--primary { background: var(--sm-teal); color: white; }
#sifamed-app .sifamed-button--primary:hover:not(:disabled) { background: var(--sm-teal-dark); }
#sifamed-app .sifamed-button--outline { border-color: #bdcecb; background: #fff; color: #1d5955; }
#sifamed-app .sifamed-button--quiet { background: transparent; color: var(--sm-muted); padding-left: 0; }
#sifamed-app .sifamed-button--small { font-size: 12px; padding: 8px 11px; min-height: 36px; }
#sifamed-app .sifamed-button--danger { background: transparent; color: #9c3e39; border-color: transparent; }
#sifamed-app .sifamed-button--danger:hover:not(:disabled) { background: #faeae8; }
#sifamed-app .sifamed-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }
#sifamed-app .sifamed-summary > div { border: 1px solid var(--sm-border); background: #fff; border-radius: 12px; padding: 18px 20px; }
#sifamed-app .sifamed-summary strong { display: block; font-size: 24px; font-weight: 650; line-height: 1.2; }
#sifamed-app .sifamed-summary span { display: block; margin-top: 7px; font-size: 12px; color: var(--sm-muted); }
#sifamed-app .sifamed-callout { background: #fcf7e9; border: 1px solid #eadcb4; border-radius: 10px; padding: 17px 20px; margin-bottom: 25px; color: #6e571d; font-size: 13px; }
#sifamed-app .sifamed-callout strong { display: block; margin-bottom: 5px; font-size: 13px; }
#sifamed-app .sifamed-callout--compact { margin: 16px 0; }
#sifamed-app .sifamed-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
#sifamed-app .sifamed-assessment-card { border: 1px solid var(--sm-border); background: #fff; border-radius: 13px; padding: 23px; display: flex; flex-direction: column; gap: 16px; }
#sifamed-app .sifamed-card-top, #sifamed-app .sifamed-card-bottom { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
#sifamed-app .sifamed-assessment-card h2 { font-size: 19px; overflow-wrap: anywhere; }
#sifamed-app .sifamed-card-description { color: var(--sm-muted); font-size: 13px; overflow-wrap: anywhere; }
#sifamed-app .sifamed-card-bottom { margin-top: auto; padding-top: 6px; }
#sifamed-app .sifamed-card-bottom small { font-size: 11px; color: var(--sm-muted); }
#sifamed-app .sifamed-pill { display: inline-block; background: #ecf1f2; color: #52626b; border: 1px solid #dfe6e6; border-radius: 30px; font-size: 11px; font-weight: 650; padding: 4px 10px; }
#sifamed-app .sifamed-muted { color: var(--sm-muted); font-size: 12px; font-weight: 400; }
#sifamed-app .sifamed-empty { padding: 75px 30px; text-align: center; }
#sifamed-app .sifamed-empty p { color: var(--sm-muted); max-width: 520px; margin: 15px auto 23px; }
#sifamed-app .sifamed-empty--panel { background: #fff; border: 1px dashed #c4d4d1; border-radius: 13px; padding: 48px 25px; }
#sifamed-app .sifamed-empty-symbol { display: grid; place-items: center; margin: 0 auto 18px; color: var(--sm-teal); background: #eaf5f1; border-radius: 14px; width: 50px; height: 50px; font-size: 30px; }
#sifamed-app .sifamed-footer { border-top: 1px solid var(--sm-border); padding: 17px 32px; font-size: 11px; color: var(--sm-muted); background: #fff; }
#sifamed-app .sifamed-notice { font-size: 13px; padding: 14px 32px; border-bottom: 1px solid #cae3e6; background: #edf7f8; color: #1c626a; }
#sifamed-app .sifamed-notice--success { color: #215f46; background: #eaf6ee; border-color: #c5dfd0; }
#sifamed-app .sifamed-notice--warning { color: #795c18; background: #fff7df; border-color: #e6d5a5; }
#sifamed-app .sifamed-notice--error { color: #9a3934; background: #fdf0ed; border-color: #efd1cb; }
#sifamed-app .sifamed-meta-line { display: flex; gap: 12px; align-items: center; margin-top: 13px; flex-wrap: wrap; }
#sifamed-app .sifamed-save-state { font-size: 12px; color: var(--sm-muted); }
#sifamed-app .sifamed-save-state--dirty { color: #927020; font-weight: 600; }
#sifamed-app .sifamed-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 25px; }
#sifamed-app .sifamed-editor-actions .sifamed-button--quiet { margin-right: auto; }
#sifamed-app .sifamed-panel { background: #fff; border: 1px solid var(--sm-border); border-radius: 13px; padding: 25px; margin-bottom: 21px; }
#sifamed-app .sifamed-section-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 23px; }
#sifamed-app .sifamed-section-header p { color: var(--sm-muted); margin-top: 7px; font-size: 12px; }
#sifamed-app .sifamed-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
#sifamed-app .sifamed-field { min-width: 0; }
#sifamed-app .sifamed-field--wide { grid-column: 1 / -1; }
#sifamed-app .sifamed-field label { display: block; font-size: 12px; font-weight: 650; margin-bottom: 7px; color: #30464f; }
#sifamed-app .sifamed-required { color: #a34a3b; }
#sifamed-app .sifamed-field input, #sifamed-app .sifamed-field select, #sifamed-app .sifamed-field textarea, #sifamed-app .sifamed-demo-catalogue select { display: block; width: 100%; border: 1px solid #cbd7d5; border-radius: 7px; background: #fff; color: var(--sm-navy); font-size: 14px; padding: 10px 12px; min-height: 42px; box-shadow: none; margin: 0; }
#sifamed-app .sifamed-field textarea { resize: vertical; line-height: 1.5; }
#sifamed-app .sifamed-field input:focus, #sifamed-app .sifamed-field select:focus, #sifamed-app .sifamed-field textarea:focus { border-color: var(--sm-teal); }
#sifamed-app .sifamed-field small { display: block; font-size: 11px; color: var(--sm-muted); margin-top: 6px; }
#sifamed-app .sifamed-demo-catalogue { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto; gap: 15px; align-items: center; background: #f4f8f7; padding: 16px; border-radius: 9px; margin-bottom: 20px; }
#sifamed-app .sifamed-demo-catalogue strong { display: block; font-size: 12px; margin-bottom: 4px; }
#sifamed-app .sifamed-demo-catalogue small { display: block; font-size: 11px; color: var(--sm-muted); }
#sifamed-app .sifamed-demo-catalogue select { font-size: 12px; padding: 10px 8px; }
#sifamed-app .sifamed-inline-empty { padding: 17px; border: 1px dashed #d2ddda; border-radius: 8px; background: #fafcfb; color: var(--sm-muted); font-size: 12px; margin-bottom: 15px; }
#sifamed-app .sifamed-helper { color: var(--sm-muted); font-size: 12px; margin-top: 12px; }
#sifamed-app .sifamed-hazard { border: 1px solid var(--sm-border); border-radius: 11px; margin-bottom: 19px; overflow: hidden; }
#sifamed-app .sifamed-hazard > summary { display: flex; align-items: center; gap: 10px; background: #f3f7f5; padding: 16px; cursor: pointer; font-size: 14px; font-weight: 650; list-style: none; }
#sifamed-app .sifamed-hazard > summary::-webkit-details-marker { display: none; }
#sifamed-app .sifamed-hazard > summary::after { content: '+'; margin-left: 5px; font-size: 20px; font-weight: 400; color: var(--sm-teal); }
#sifamed-app .sifamed-hazard[open] > summary::after { content: '−'; }
#sifamed-app .sifamed-hazard > summary > .sifamed-muted { margin-left: auto; white-space: nowrap; }
#sifamed-app .sifamed-step-number { display: grid; place-items: center; background: #fff; color: var(--sm-teal); border: 1px solid #d4e1db; border-radius: 7px; min-width: 29px; height: 29px; font-size: 12px; }
#sifamed-app .sifamed-hazard-content { padding: 20px; }
#sifamed-app fieldset { min-width: 0; border: 1px solid var(--sm-border); padding: 16px; margin: 0; border-radius: 9px; }
#sifamed-app legend { width: auto; margin: 0; padding: 0 7px; font-size: 12px; font-weight: 700; color: var(--sm-navy); }
#sifamed-app .sifamed-risk { margin-top: 24px; background: #fffdf7; border-color: #e7dfc7; }
#sifamed-app .sifamed-warning-text { color: #85672b; margin-bottom: 15px; font-size: 11px; font-weight: 650; }
#sifamed-app .sifamed-measures-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 25px 0 15px; }
#sifamed-app .sifamed-measure { border: 1px solid var(--sm-border); border-radius: 10px; padding: 18px; background: #fafcfb; margin-bottom: 16px; }
#sifamed-app .sifamed-measure-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
#sifamed-app .sifamed-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
#sifamed-app .sifamed-control-grid fieldset { background: #fff; }
#sifamed-app .sifamed-control-grid .sifamed-field + .sifamed-field { margin-top: 16px; }
#sifamed-app .sifamed-upload { display: flex; flex-direction: column; gap: 10px; margin: 15px 0; background: #f8faf9; padding: 16px; border: 1px dashed #c6d6d1; border-radius: 9px; }
#sifamed-app .sifamed-upload label { font-size: 12px; font-weight: 650; }
#sifamed-app .sifamed-upload input { max-width: 100%; font-size: 12px; }
#sifamed-app .sifamed-upload input::file-selector-button { background: #fff; border: 1px solid #c8d5d1; border-radius: 6px; padding: 8px 12px; margin-right: 12px; color: #1d5955; font-weight: 600; cursor: pointer; }
#sifamed-app .sifamed-upload small { font-size: 11px; color: var(--sm-muted); }
#sifamed-app .sifamed-file-list { list-style: none; padding: 0; margin: 16px 0 0; }
#sifamed-app .sifamed-file-list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--sm-border); padding: 12px 0; }
#sifamed-app .sifamed-file-list strong { display: block; font-size: 13px; overflow-wrap: anywhere; }
#sifamed-app .sifamed-file-list small { display: block; font-size: 11px; color: var(--sm-muted); }
#sifamed-app .sifamed-revisions > summary { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 15px; font-weight: 650; }
#sifamed-app .sifamed-revisions > summary .sifamed-muted { margin-left: auto; }
#sifamed-app .sifamed-revisions ol { margin: 18px 0 0; padding: 0; list-style: none; }
#sifamed-app .sifamed-revisions li { display: flex; flex-wrap: wrap; gap: 18px; padding: 10px 0; border-top: 1px solid var(--sm-border); font-size: 12px; color: var(--sm-muted); }
#sifamed-app .sifamed-revisions li strong { color: var(--sm-navy); }
#sifamed-app .sifamed-revisions li { align-items: center; }
#sifamed-app .sifamed-revisions li .sifamed-button { margin-left: auto; }
#sifamed-app .sifamed-history-notice { border: 1px solid #c9dedb; border-radius: 11px; background: #edf6f4; padding: 20px; margin-bottom: 22px; font-size: 13px; color: #275e59; }
#sifamed-app .sifamed-history-notice p { margin-top: 8px; }
#sifamed-app .sifamed-read-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 16px 0 0; }
#sifamed-app .sifamed-read-field { min-width: 0; }
#sifamed-app .sifamed-read-field dt { margin: 0 0 6px; font-size: 12px; font-weight: 650; color: #30464f; }
#sifamed-app .sifamed-read-field dd { margin: 0; font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
#sifamed-app .sifamed-history-hazard { padding-top: 20px; border-top: 1px solid var(--sm-border); }
#sifamed-app .sifamed-history-hazard + .sifamed-history-hazard { margin-top: 25px; }
#sifamed-app .sifamed-history-hazard > h3 { overflow-wrap: anywhere; }
#sifamed-app .sifamed-history-risk { margin-top: 24px; padding: 16px; border: 1px solid #e7dfc7; border-radius: 9px; background: #fffdf7; }
#sifamed-app .sifamed-history-risk > h4 { margin: 0 0 12px; }
#sifamed-app .sifamed-history-hazard > h4 { margin: 22px 0 12px; }
#sifamed-app .sifamed-save-footer { display: flex; gap: 20px; justify-content: space-between; align-items: center; }
#sifamed-app .sifamed-save-footer p { color: var(--sm-muted); font-size: 12px; }
#sifamed-app .sifamed-export-layout { display: flex; align-items: center; gap: 8px; }
#sifamed-app .sifamed-export-layout label { font-size: 12px; font-weight: 650; white-space: nowrap; }
#sifamed-app .sifamed-export-layout select { min-height: 40px; max-width: 150px; padding: 7px 28px 7px 10px; border: 1px solid var(--sm-border); border-radius: 7px; background-color: #fff; color: inherit; }
#sifamed-app .sifamed-pictogram-picker { margin: 16px 0; padding: 12px; border: 1px solid var(--sm-border); border-radius: 8px; }
#sifamed-app .sifamed-pictogram-picker legend { font-size: 13px; font-weight: 650; padding: 0 5px; }
#sifamed-app .sifamed-pictogram-picker > p { margin: 0 0 12px; }
#sifamed-app .sifamed-pictogram-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
#sifamed-app .sifamed-pictogram-choice { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 9px; border: 1px solid var(--sm-border); border-radius: 7px; background: #fff; font-size: 13px; cursor: pointer; }
#sifamed-app .sifamed-pictogram-choice:has(input:checked) { border-color: #247f77; background: #eef8f6; }
#sifamed-app .sifamed-pictogram-choice input { flex: 0 0 17px; width: 17px; height: 17px; margin: 0; }
#sifamed-app .sifamed-pictogram-choice img, #sifamed-app .sifamed-pictogram-tag img { flex: 0 0 42px; width: 42px; height: 42px; object-fit: contain; }
#sifamed-app .sifamed-pictogram-choice span, #sifamed-app .sifamed-pictogram-tag span { min-width: 0; overflow-wrap: anywhere; }
#sifamed-app .sifamed-pictogram-choice small, #sifamed-app .sifamed-pictogram-tag small { display: block; margin-top: 3px; color: var(--sm-muted); font-size: 10px; }
#sifamed-app .sifamed-pictogram-read { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 15px; }
#sifamed-app .sifamed-pictogram-tag { display: flex; align-items: center; gap: 8px; padding: 8px; border: 1px solid var(--sm-border); border-radius: 7px; background: #fff; font-size: 12px; }
#sifamed-app .sifamed-pictogram-disclosure { margin: 14px 0; border: 1px solid var(--sm-border); border-radius: 8px; background: #fff; }
#sifamed-app .sifamed-pictogram-disclosure > summary { padding: 11px 13px; cursor: pointer; font-size: 13px; font-weight: 650; }
#sifamed-app .sifamed-pictogram-disclosure > .sifamed-pictogram-picker { margin: 0 12px 12px; }
#sifamed-app .sifamed-pictogram-summary { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
#sifamed-app .sifamed-pictogram-summary:empty { display: none; }
#sifamed-app .sifamed-pictogram-summary-item { display: inline-flex; align-items: center; gap: 5px; padding: 4px 6px; border-radius: 5px; background: #eef8f6; font-size: 11px; font-weight: 400; }
#sifamed-app .sifamed-pictogram-summary-item img { width: 24px; height: 24px; object-fit: contain; }
#sifamed-app .sifamed-pictogram-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: 10px; margin-bottom: 12px; }
#sifamed-app .sifamed-pictogram-filters .sifamed-field { margin-bottom: 0; }
#sifamed-app .sifamed-pictogram-filters > button { grid-column: 1 / -1; justify-self: start; }
#sifamed-app .sifamed-conflict { background: #fff1e9; border: 1px solid #e6b99c; border-radius: 11px; padding: 22px; margin-bottom: 22px; color: #743e25; }
#sifamed-app .sifamed-conflict h2 { font-size: 17px; }
#sifamed-app .sifamed-conflict p { margin: 9px 0 17px; font-size: 13px; }
#sifamed-app .sifamed-actions { display: flex; flex-wrap: wrap; gap: 10px; }
#sifamed-app .sifamed-media-overlay { position: fixed; inset: 0; z-index: 100100; display: flex; align-items: center; justify-content: center; padding: 24px; background: #10252be0; }
#sifamed-app .sifamed-media-dialog { width: min(900px, 100%); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow: auto; border-radius: 14px; background: #fff; padding: 25px; box-shadow: 0 16px 60px #0005; overscroll-behavior: contain; }
#sifamed-app .sifamed-media-dialog .sifamed-section-header { margin-bottom: 12px; align-items: flex-start; }
#sifamed-app .sifamed-media-dialog .sifamed-section-header h2 { margin-top: 8px; }
#sifamed-app .sifamed-media-dialog .sifamed-actions { margin-top: 20px; }
#sifamed-app .sifamed-media-file { display: flex; flex-direction: column; gap: 5px; margin: 18px 0; padding: 13px 15px; background: #f1f6f4; border-radius: 8px; font-size: 13px; overflow-wrap: anywhere; }
#sifamed-app .sifamed-media-file span, #sifamed-app .sifamed-media-file small { color: var(--sm-muted); }
#sifamed-app .sifamed-media-image { display: block; max-width: 100%; max-height: 55vh; max-height: 55dvh; width: auto; height: auto; object-fit: contain; margin: 18px auto; background: repeating-conic-gradient(#eee 0% 25%, #fff 0% 50%) 0 / 16px 16px; }
#sifamed-app .sifamed-media-error { color: #9a3934; background: #fdf0ed; border: 1px solid #efd1cb; border-radius: 8px; padding: 13px; margin: 16px 0; }
#sifamed-app .sifamed-sr-only { position: absolute; height: 1px; width: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#sifamed-app .sifamed-workflow-state { margin-bottom: 12px; }
#sifamed-app .sifamed-workflow > .sifamed-helper { margin: 10px 0; }
#sifamed-app .sifamed-workflow-actions { margin: 18px 0 24px; }
#sifamed-app .sifamed-workflow-history-heading { margin-top: 20px; }
#sifamed-app .sifamed-round-list { list-style: none; margin: 12px 0 0; padding: 0; }
#sifamed-app .sifamed-round-list > li { display: flex; gap: 16px; justify-content: space-between; align-items: center; padding: 15px 0; border-top: 1px solid var(--sm-border); }
#sifamed-app .sifamed-round-list strong, #sifamed-app .sifamed-round-list small { display: block; }
#sifamed-app .sifamed-round-list .sifamed-muted { display: block; font-size: 13px; }
#sifamed-app .sifamed-signature { margin: 18px 0; }
#sifamed-app .sifamed-signature h3 { margin-bottom: 8px; }
#sifamed-app .sifamed-signature-canvas { display: block; width: 100%; height: auto; aspect-ratio: 4 / 1; background: white; border: 2px solid #89979d; border-radius: 9px; touch-action: none; margin: 12px 0; cursor: crosshair; }
#sifamed-app .sifamed-signature-canvas:focus-visible { outline: 3px solid #46aba3; outline-offset: 3px; }
#sifamed-app .sifamed-signature-canvas--readonly { cursor: default; touch-action: auto; }
#sifamed-app .sifamed-workflow-events { list-style: none; padding: 0; margin: 18px 0 0; }
#sifamed-app .sifamed-workflow-events li { padding: 12px 0; border-top: 1px solid var(--sm-border); }
#sifamed-app .sifamed-workflow-events strong, #sifamed-app .sifamed-workflow-events span { display: block; }
#sifamed-app .sifamed-workflow-events span { color: var(--sm-muted); font-size: 13px; }
#sifamed-app .sifamed-workflow-events p { white-space: pre-wrap; margin-top: 7px; }
#sifamed-app .sifamed-workflow-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; margin: 16px 0; }
#sifamed-app .sifamed-workflow-steps li { padding: 15px; border: 1px solid var(--sm-border); border-radius: 9px; background: #f7f9fa; }
#sifamed-app .sifamed-workflow-steps strong { display: block; font-size: 14px; }
#sifamed-app .sifamed-workflow-steps p { margin: 8px 0 0; font-size: 13px; color: var(--sm-muted); }
#sifamed-app .sifamed-workflow-steps .sifamed-step--current { border-color: #247f77; background: #eef8f6; border-width: 2px; }
#sifamed-app .sifamed-workflow-steps .sifamed-step--done { border-color: #8cbcb5; }
#sifamed-app .sifamed-workflow-next { padding: 14px 16px; border-left: 4px solid #247f77; background: #eef8f6; border-radius: 0 8px 8px 0; }
@media (max-width: 820px) { #sifamed-app .sifamed-workflow-steps { grid-template-columns: 1fr; } }
@media (max-width: 1180px) {
  #sifamed-app .sifamed-layout { grid-template-columns: 220px minmax(0, 1fr); }
  #sifamed-app .sifamed-main { padding: 26px; }
  #sifamed-app .sifamed-card-grid { grid-template-columns: 1fr; }
  #sifamed-app .sifamed-demo-catalogue { grid-template-columns: 1fr 1fr; }
  #sifamed-app .sifamed-demo-catalogue > div { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  #sifamed-app { border-radius: 13px; margin: 12px auto; }
  #sifamed-app .sifamed-header { padding: 20px; }
  #sifamed-app .sifamed-header-meta { flex-direction: column; gap: 6px; align-items: flex-end; }
  #sifamed-app .sifamed-layout { grid-template-columns: 1fr; }
  #sifamed-app .sifamed-sidebar { border-right: none; border-bottom: 1px solid var(--sm-border); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 20px; align-items: center; }
  #sifamed-app .sifamed-sidebar-note { display: none; }
  #sifamed-app .sifamed-company label { margin-bottom: 5px; }
  #sifamed-app .sifamed-company small { display: none; }
  #sifamed-app .sifamed-navigation { max-width: 190px; font-size: 12px; }
  #sifamed-app .sifamed-main { padding: 24px 20px; }
  #sifamed-app .sifamed-panel { padding: 21px; }
  #sifamed-app .sifamed-page-heading { align-items: flex-start; }
  #sifamed-app .sifamed-summary { gap: 10px; }
  #sifamed-app .sifamed-summary > div { padding: 16px; }
  #sifamed-app .sifamed-summary strong { font-size: 21px; }
  #sifamed-app .sifamed-footer, #sifamed-app .sifamed-notice { padding: 15px 20px; }
}
@media (max-width: 560px) {
  #sifamed-app { font-size: 14px; }
  #sifamed-app h1 { font-size: 26px; }
  #sifamed-app h2 { font-size: 18px; }
  #sifamed-app .sifamed-header { padding: 17px; gap: 12px; }
  #sifamed-app .sifamed-brand strong { font-size: 21px; }
  #sifamed-app .sifamed-brand { gap: 9px; }
  #sifamed-app .sifamed-mark { width: 36px; height: 36px; font-size: 22px; }
  #sifamed-app .sifamed-test-badge { font-size: 10px; padding: 5px 7px; }
  #sifamed-app .sifamed-user { font-size: 11px; }
  #sifamed-app .sifamed-sidebar { grid-template-columns: 1fr; padding: 17px; }
  #sifamed-app .sifamed-navigation { max-width: none; text-align: center; padding: 10px; }
  #sifamed-app .sifamed-main { padding: 22px 15px; }
  #sifamed-app .sifamed-page-heading { flex-direction: column; gap: 17px; }
  #sifamed-app .sifamed-page-heading > button { width: 100%; }
  #sifamed-app .sifamed-summary { grid-template-columns: 1fr; gap: 8px; }
  #sifamed-app .sifamed-summary > div { display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; gap: 15px; }
  #sifamed-app .sifamed-summary span { margin: 0; text-align: right; }
  #sifamed-app .sifamed-summary strong { font-size: 19px; }
  #sifamed-app .sifamed-panel, #sifamed-app .sifamed-assessment-card { padding: 17px; }
  #sifamed-app .sifamed-field-grid, #sifamed-app .sifamed-control-grid, #sifamed-app .sifamed-demo-catalogue, #sifamed-app .sifamed-read-grid { grid-template-columns: 1fr; }
  #sifamed-app .sifamed-demo-catalogue > div { grid-column: auto; }
  #sifamed-app .sifamed-hazard-content { padding: 15px; }
  #sifamed-app .sifamed-hazard > summary { padding: 13px; font-size: 13px; flex-wrap: wrap; }
  #sifamed-app .sifamed-hazard > summary > .sifamed-muted { font-size: 10px; }
  #sifamed-app .sifamed-measure { padding: 14px; }
  #sifamed-app .sifamed-pictogram-grid { grid-template-columns: 1fr; }
  #sifamed-app .sifamed-pictogram-filters { grid-template-columns: 1fr; }
  #sifamed-app .sifamed-export-layout { flex: 1 1 auto; justify-content: flex-end; }
  #sifamed-app .sifamed-measures-header h3 { font-size: 15px; }
  #sifamed-app .sifamed-editor-actions .sifamed-button--quiet { width: 100%; justify-content: flex-start; margin: 0; }
  #sifamed-app .sifamed-editor-actions .sifamed-button:not(.sifamed-button--quiet) { flex: 1; }
  #sifamed-app .sifamed-save-footer { flex-direction: column; align-items: stretch; gap: 13px; }
  #sifamed-app .sifamed-card-bottom { align-items: flex-start; flex-direction: column; }
  #sifamed-app .sifamed-file-list li { flex-wrap: wrap; }
  #sifamed-app .sifamed-round-list > li { align-items: flex-start; flex-direction: column; }
  #sifamed-app .sifamed-round-list .sifamed-actions { width: 100%; }
  #sifamed-app .sifamed-round-list .sifamed-button { flex: 1; }
  #sifamed-app .sifamed-footer, #sifamed-app .sifamed-notice { padding: 14px 17px; }
  #sifamed-app .sifamed-conflict { padding: 17px; }
  #sifamed-app .sifamed-media-overlay { padding: 10px; }
  #sifamed-app .sifamed-media-dialog { padding: 17px; max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); border-radius: 10px; }
  #sifamed-app .sifamed-media-dialog .sifamed-actions .sifamed-button { flex: 1 1 160px; }
}
@media (prefers-reduced-motion: reduce) { #sifamed-app * { transition: none !important; } }

/* Customer branding and human review guidance. */
#sifamed-app .sifamed-portal-logo { display: block; width: 150px; max-width: 100%; max-height: 78px; object-fit: contain; background: #fff; border-radius: 6px; padding: 5px; flex: 0 0 auto; }
#sifamed-app .sifamed-header-meta { flex-wrap: wrap; justify-content: flex-end; }
#sifamed-app .sifamed-ai-review-notice { margin: 20px 30px 0; padding: 15px 18px; border: 1px solid #d6e2e4; border-left: 4px solid #087e78; border-radius: 8px; background: #fff; font-size: 13px; }
#sifamed-app .sifamed-ai-review-notice strong { display: block; margin-bottom: 6px; }
#sifamed-app .sifamed-done-badge { display: inline-block; color: #185b38; background: #e7f5eb; border-radius: 6px; padding: 6px 11px; margin-bottom: 10px; font-weight: 650; }
#sifamed-app .sifamed-import-review { margin: 16px 0; padding: 15px; background: #fff; border: 1px solid #cedddb; border-radius: 8px; }
#sifamed-app .sifamed-import-review li { white-space: pre-wrap; overflow-wrap: anywhere; margin: 8px 0; }
@media (max-width: 560px) { #sifamed-app .sifamed-portal-logo { width: 108px; max-height: 62px; } #sifamed-app .sifamed-header { align-items: flex-start; } #sifamed-app .sifamed-ai-review-notice { margin: 15px; padding: 13px; } }

/* Native checkbox sizing must not inherit full-width text-field styling. */
#sifamed-app #sifamed-ai-consent,
#sifamed-app .sifamed-field input[type="checkbox"] {
  appearance: auto; -webkit-appearance: checkbox; display: inline-block;
  width: 22px; height: 22px; min-width: 22px; min-height: 22px;
  flex: 0 0 22px; padding: 0; margin: 2px 9px 2px 0;
  vertical-align: middle; accent-color: var(--sm-teal); cursor: pointer;
  border-radius: 3px; box-shadow: none;
}
#sifamed-app #sifamed-ai-consent::before,
#sifamed-app #sifamed-ai-consent::after,
#sifamed-app .sifamed-field input[type="checkbox"]::before,
#sifamed-app .sifamed-field input[type="checkbox"]::after { content: none; display: none; }
#sifamed-app label[for="sifamed-ai-document-consent"],
#sifamed-app label[for="sifamed-ai-consent"] {
  display: flex; align-items: flex-start; gap: 10px; min-height: 44px;
  margin: 12px 0; padding: 10px; border: 1px solid var(--sm-border);
  border-radius: 7px; background: #f8faf9; font-size: 13px; line-height: 1.5; cursor: pointer;
}
#sifamed-app label[for="sifamed-ai-document-consent"] input,
#sifamed-app label[for="sifamed-ai-consent"] input { margin-right: 0; }

/* Keep the actual Excel attempt result next to its source and action. */
#sifamed-app .sifamed-conversion-state { display: grid; gap: 8px; margin: 12px 0; padding: 14px; border: 1px solid #87afad; border-left: 5px solid var(--sm-teal); border-radius: 8px; background: #edf6f5; white-space: normal; overflow-wrap: anywhere; }
#sifamed-app .sifamed-conversion-state p { margin: 0; font-size: 14px; line-height: 1.5; }
#sifamed-app .sifamed-conversion-state small { color: var(--sm-muted); font-variant-numeric: tabular-nums; }
#sifamed-app .sifamed-conversion-state--complete { border-color: #72ac80; border-left-color: #27703c; background: #e7f5eb; }
#sifamed-app .sifamed-conversion-state--failed, #sifamed-app .sifamed-conversion-state--auth { border-color: #d09292; border-left-color: #a63030; background: #fde8e8; }
#sifamed-app .sifamed-conversion-state--unknown { border-color: #c5a83c; border-left-color: #89700a; background: #fff4c4; }

/* Optional source details stay collapsed until requested. */
.sifamed-ai-details { margin: .6rem 0; padding: .65rem .8rem; border: 1px solid #dce5e5; border-radius: .5rem; }
.sifamed-ai-details > summary { cursor: pointer; font-weight: 600; }
.sifamed-ai-details[open] > summary { margin-bottom: .55rem; }

/* Review suggestions remain separate from the saved draft. */
.sifamed-ai-review .sifamed-review-finding{border:1px solid #cad7d9;border-left:4px solid #267b76;border-radius:8px;padding:16px;margin:16px 0;background:#fff}
.sifamed-ai-review .sifamed-review-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;background:#edf5f3;border-radius:6px;font-weight:600}
.sifamed-ai-review .sifamed-review-choice input{flex:0 0 auto;width:22px;height:22px;margin:0}
.sifamed-ai-review .sifamed-review-source-status{display:block;font-size:.875rem;color:#42635e;margin:4px 0 10px}
.sifamed-ai-review blockquote{border-left:3px solid #b6cbca;margin:10px 0;padding:8px 12px;white-space:pre-wrap}
.sifamed-ai-review .sifamed-review-measure{padding:10px 0;border-bottom:1px solid #e0e8e7}
.sifamed-ai-review .sifamed-review-sources{margin:16px 0;padding:14px;background:#f3f7f7;border-radius:8px}
.sifamed-ai-review a,.sifamed-ai-review p{overflow-wrap:anywhere}

/* Optional plan PDFs stay local until the user starts the confirmed AI request. */
.sifamed-plan-field{min-width:0}
.sifamed-auxiliary-document{margin:4px 0 16px;padding:12px;border-left:3px solid #bad4d1;background:#f4f8f7;border-radius:5px}
.sifamed-auxiliary-file-label{display:block;font-weight:600;margin-bottom:6px}
.sifamed-auxiliary-document input[type="file"]{max-width:100%;font-size:.9rem}
.sifamed-auxiliary-document small{display:block;line-height:1.45;color:#536966}
.sifamed-auxiliary-consent{display:flex;align-items:flex-start;gap:9px;margin:10px 0;font-weight:500}
.sifamed-auxiliary-consent input[type="checkbox"]{flex:0 0 auto;width:22px;height:22px;margin:0}

/* Public portal entry: presentation only, without starting the authenticated application. */
#sifamed-app.sifamed-entry { max-width: 1120px; }
#sifamed-app .sifamed-entry-body { padding: clamp(24px, 5vw, 60px); min-height: 280px; background: #fff; }
#sifamed-app .sifamed-entry-body p { max-width: 58ch; margin-top: 16px; color: var(--sm-muted); }
#sifamed-app .sifamed-entry-login { margin-top: 26px; text-decoration: none; color: #fff; }
#sifamed-app .sifamed-entry-login:hover { background: var(--sm-teal-dark); color: #fff; text-decoration: none; }
#sifamed-app .sifamed-entry-login:focus-visible { outline: 3px solid #46aba3; outline-offset: 4px; }

/* Portal session controls stay within the application header. */
#sifamed-app .sifamed-session-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;max-width:100%}
#sifamed-app .sifamed-session-actions .sifamed-user{overflow-wrap:anywhere;max-width:24ch}
#sifamed-app .sifamed-button--logout{border:1px solid #ffffff66;background:transparent;color:#fff;min-height:40px;padding:8px 13px;flex:0 0 auto;font-size:13px}
#sifamed-app .sifamed-button--logout:hover:not(:disabled){background:#ffffff18;color:#fff}
#sifamed-app .sifamed-button--logout:focus-visible{outline-color:#8de2d9;outline-offset:3px}
@media(max-width:560px){#sifamed-app .sifamed-session-actions{gap:6px 9px}#sifamed-app .sifamed-session-actions .sifamed-user{max-width:18ch}#sifamed-app .sifamed-button--logout{min-height:40px;padding:7px 10px;font-size:12px}}

/* Logout confirmation stays inside the portal and never opens a browser confirm dialog. */
#sifamed-app .sifamed-logout-overlay{position:fixed;inset:0;z-index:100001;background:#0c202ab8;display:flex;align-items:center;justify-content:center;padding:20px}
#sifamed-app .sifamed-logout-dialog{width:min(100%,560px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;border-radius:14px;background:#fff;padding:28px;box-shadow:0 18px 70px #0005;color:var(--sm-navy)}
#sifamed-app .sifamed-logout-dialog h2{font-size:23px;margin-bottom:16px}
#sifamed-app .sifamed-logout-dialog p{margin:10px 0;line-height:1.55}
#sifamed-app .sifamed-logout-dialog .sifamed-actions{margin-top:22px;justify-content:flex-end;gap:12px}
#sifamed-app .sifamed-logout-error{padding:10px 12px;border:1px solid #d09292;border-radius:6px;background:#fde8e8;color:#8c2525}
@media(max-width:560px){#sifamed-app .sifamed-logout-overlay{padding:14px}#sifamed-app .sifamed-logout-dialog{padding:22px;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px)}#sifamed-app .sifamed-logout-dialog .sifamed-actions{flex-direction:column-reverse;align-items:stretch}#sifamed-app .sifamed-logout-dialog .sifamed-button{width:100%}}

/* Assigned customers open their own scoped list; no cross-customer assessment preload. */
#sifamed-app .sifamed-customers{padding:clamp(22px,4vw,42px);min-height:440px}
#sifamed-app .sifamed-customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin:26px 0}
#sifamed-app .sifamed-customer-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:24px;border:1px solid var(--sm-border);border-radius:12px;background:#fff;box-shadow:0 3px 12px #173a3a08}
#sifamed-app .sifamed-customer-card h2{font-size:21px;line-height:1.35;margin:16px 0 8px;overflow-wrap:anywhere}
#sifamed-app .sifamed-customer-card p{color:var(--sm-muted);margin-bottom:22px;line-height:1.5}
#sifamed-app .sifamed-customer-card .sifamed-button{margin-top:auto}
#sifamed-app .sifamed-customer-symbol{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:11px;background:#e5f2ef;color:var(--sm-teal-dark);font-size:22px;font-weight:700}
#sifamed-app #sifamed-customers-back{margin-bottom:18px;width:100%;justify-content:flex-start}
@media(max-width:560px){#sifamed-app .sifamed-customers{padding:20px 15px}#sifamed-app .sifamed-customer-grid{gap:15px;margin:20px 0}#sifamed-app .sifamed-customer-card{padding:20px}#sifamed-app .sifamed-customer-card .sifamed-button{width:100%}}

/* The workplace photograph is decorative; header content stays readable above it. */
#sifamed-app .sifamed-header{position:relative;isolation:isolate;min-height:176px;padding:28px 32px;overflow:hidden;background:#102b3b;border-bottom:1px solid #ffffff1c}
#sifamed-app .sifamed-header::before{content:"";position:absolute;inset:0 20%;z-index:-2;background:url("images/sifamed-header-workplace.webp") center 7%/cover no-repeat;opacity:.94;pointer-events:none}
#sifamed-app .sifamed-header::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102b3b 0%,#102b3bf5 19%,#102b3b5c 46%,#102b3b30 59%,#102b3beb 80%,#102b3b 100%),linear-gradient(0deg,#073c3d45,transparent 70%);pointer-events:none}
#sifamed-app .sifamed-header .sifamed-brand{position:relative;min-width:0;flex:0 0 auto}
#sifamed-app .sifamed-header .sifamed-brand strong{font-size:26px;letter-spacing:-.7px;text-shadow:0 1px 12px #071c2b40}
#sifamed-app .sifamed-header .sifamed-brand span:not(.sifamed-mark){color:#e0eff0;font-size:13px}
#sifamed-app .sifamed-header .sifamed-mark{background:#147f77;border:1px solid #93d7cb4a;box-shadow:0 4px 16px #041c2426}
#sifamed-app .sifamed-header .sifamed-header-meta{position:relative;min-width:0;max-width:54%;gap:14px}
#sifamed-app .sifamed-header .sifamed-test-badge{background:#0b2535c9;border-color:#ffffff40;color:#f2faf9}
#sifamed-app .sifamed-header .sifamed-session-actions{min-width:0;padding:7px 9px;border:1px solid #ffffff21;border-radius:9px;background:#0b2535bd}
#sifamed-app .sifamed-header .sifamed-user{color:#edf7f6;overflow-wrap:anywhere}
#sifamed-app .sifamed-header .sifamed-portal-logo{width:144px;padding:6px;box-shadow:0 3px 18px #061d2c26}
#sifamed-app .sifamed-header .sifamed-button--logout{border-color:#d4edea9c;background:#103443;color:#fff}
#sifamed-app .sifamed-header .sifamed-button--logout:hover:not(:disabled){background:#1c5360;border-color:#edfffc}
#sifamed-app .sifamed-header .sifamed-button--logout:focus-visible{outline:3px solid #a0f5e7;outline-offset:4px;box-shadow:0 0 0 2px #102b3b}
@media(max-width:900px){#sifamed-app .sifamed-header{padding:24px;min-height:168px}#sifamed-app .sifamed-header::before{inset:0 10% 0 18%;background-position:center 4%}#sifamed-app .sifamed-header .sifamed-header-meta{max-width:52%;gap:10px}}
@media(max-width:560px){
  #sifamed-app .sifamed-header{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:12px 16px;padding:18px 16px;min-height:156px}
  #sifamed-app .sifamed-header::before{inset:0;background-size:auto 330px;background-position:right top;opacity:.78}
  #sifamed-app .sifamed-header::after{background:linear-gradient(90deg,#102b3bf2 0%,#102b3be6 37%,#102b3b66 64%,#102b3bba 100%),linear-gradient(0deg,#102b3bd9,transparent 75%)}
  #sifamed-app .sifamed-header .sifamed-brand{grid-column:1;grid-row:1;gap:9px}
  #sifamed-app .sifamed-header .sifamed-brand strong{font-size:22px}
  #sifamed-app .sifamed-header .sifamed-brand span:not(.sifamed-mark){font-size:11px}
  #sifamed-app .sifamed-header .sifamed-header-meta{display:contents}
  #sifamed-app .sifamed-header .sifamed-portal-logo{grid-column:2;grid-row:1;width:112px;max-height:66px;padding:5px;justify-self:end}
  #sifamed-app .sifamed-header .sifamed-test-badge{grid-column:1;grid-row:2;justify-self:start;align-self:center;font-size:10px;padding:5px 8px;max-width:100%}
  #sifamed-app .sifamed-header .sifamed-session-actions{grid-column:2;grid-row:2;gap:6px;padding:0;border:0;background:transparent;justify-content:flex-end}
  #sifamed-app .sifamed-header .sifamed-session-actions .sifamed-user{font-size:11px;line-height:1.35;text-align:right;max-width:100%}
  #sifamed-app .sifamed-header .sifamed-button--logout{min-height:40px;font-size:12px;padding:7px 12px}
}

/* Readable input space for AI context and follow-up answers. */
#sifamed-app #sifamed-ai-context { min-height: 240px; resize: vertical; }
#sifamed-app .sifamed-ai-answer textarea { min-height: 7rem; resize: vertical; }
#sifamed-app .sifamed-risk { scroll-margin-top: 2rem; }
#sifamed-app .sifamed-ai-note { margin-block: .8rem; padding: 1rem; border: 1px solid #e5d8aa; border-left: 4px solid #b88722; border-radius: .6rem; background: #fff9e9; }
#sifamed-app .sifamed-ai-note--reviewed { border-color: #bad6cc; border-left-color: #16836f; background: #f0f8f5; }
#sifamed-app .sifamed-ai-note summary { font-weight: 700; cursor: pointer; }
#sifamed-app .sifamed-ai-note label { display: flex; align-items: flex-start; gap: .65rem; margin-top: .8rem; font-weight: 600; }
#sifamed-app .sifamed-ai-note input[type=checkbox] { flex: 0 0 auto; margin-top: .2rem; width: 1.2rem; height: 1.2rem; }
#sifamed-app .sifamed-ai-note p { white-space: pre-wrap; overflow-wrap: anywhere; }
#sifamed-app .sifamed-source-proof { grid-column: 1 / -1; }
#sifamed-app .sifamed-risk-jump { display: inline-block; margin-block: .6rem; }

#sifamed-app .sifamed-ai-question-answer { margin-block: 1rem; }
#sifamed-app .sifamed-ai-question-answer label { display: block; font-weight: 650; margin-bottom: .5rem; }
#sifamed-app .sifamed-ai-question-answer textarea { box-sizing: border-box; width: 100%; min-height: 7rem; resize: vertical; }
#sifamed-app .sifamed-ai-answer-consent { display: flex; gap: .65rem; align-items: flex-start; margin-block: 1rem; }
#sifamed-app .sifamed-ai-answer-consent input { flex: 0 0 auto; margin-top: .3rem; }

/* Public legal information remains reachable from every portal view. */
#sifamed-app .sifamed-footer-note { margin: 0 0 4px; }
#sifamed-app .sifamed-legal-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
#sifamed-app .sifamed-legal-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; color: var(--sm-navy); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
#sifamed-app .sifamed-legal-links a:hover { color: var(--sm-teal); }
#sifamed-app .sifamed-legal-links a:focus-visible { outline: 3px solid #46aba3; outline-offset: 3px; border-radius: 3px; }
