/* Full-screen internal reporting workspace. The compose flow uses pages, not
   a long form, so a team member can finish a report without scrolling the UI. */
#staff-portal .report-portal-view { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 0; }
#staff-portal .report-title-row { margin-bottom: 18px; padding-block: 20px; }
#staff-portal .report-title-row p:not(.eyebrow) { max-width: 760px; }
#staff-portal .report-workbench { display: grid; grid-template-columns: minmax(620px, 1.28fr) minmax(360px, .72fr); min-height: 560px; height: calc(100vh - 315px); max-height: 760px; gap: 18px; }
#staff-portal .report-compose,
#staff-portal .report-inbox { min-width: 0; overflow: hidden; border-top: 4px solid #2582c4; background: rgba(255, 255, 255, .96); box-shadow: 0 12px 30px rgba(19, 59, 94, .08); }
#staff-portal .report-compose { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; }
#staff-portal .report-compose-heading,
#staff-portal .report-inbox-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 23px 26px 16px; }
#staff-portal .report-compose-heading .eyebrow,
#staff-portal .report-inbox-head .eyebrow { margin: 0; }
#staff-portal .report-compose h3,
#staff-portal .report-inbox h3 { margin: 5px 0 0; color: #173f70; font-size: 1.22rem; }
#staff-portal .report-live-chip { flex: 0 0 auto; padding: 7px 9px; border: 1px solid #a9d8bf; background: #effbf5; color: #227252; font-size: .66rem; font-weight: 800; }
#staff-portal .report-form-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 26px; border: 1px solid #d7e4ed; background: #f6fafc; }
#staff-portal .report-form-tabs button { min-height: 43px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #688096; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
#staff-portal .report-form-tabs button.active { border-bottom-color: #2582c4; background: #fff; color: #155d96; }
#staff-portal .report-form-pane { min-height: 0; padding: 20px 26px; }
#staff-portal .report-field-grid,
#staff-portal .report-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 16px; }
#staff-portal .report-field-grid label,
#staff-portal .report-detail-grid label { display: grid; gap: 6px; color: #49677f; font-size: .73rem; font-weight: 800; }
#staff-portal .report-field-grid input,
#staff-portal .report-field-grid select,
#staff-portal .report-field-grid textarea,
#staff-portal .report-detail-grid textarea,
#staff-portal .user-create-form select { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #c5d8e6; background: #fff; color: #1b405f; font: inherit; font-size: .84rem; outline: 0; padding: 9px 10px; }
#staff-portal .report-field-grid input:focus,
#staff-portal .report-field-grid select:focus,
#staff-portal .report-field-grid textarea:focus,
#staff-portal .report-detail-grid textarea:focus,
#staff-portal .user-create-form select:focus { border-color: #2582c4; box-shadow: 0 0 0 3px rgba(54, 142, 202, .14); }
#staff-portal .report-field-grid textarea,
#staff-portal .report-detail-grid textarea { resize: none; line-height: 1.48; }
#staff-portal .report-span-2 { grid-column: 1 / -1; }
#staff-portal .report-evidence { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; }
#staff-portal .report-evidence h4 { margin: 6px 0; color: #1d4f7e; font-size: 1.08rem; }
#staff-portal .report-evidence p:not(.eyebrow) { max-width: 520px; margin: 0; color: #698298; font-size: .75rem; line-height: 1.65; }
#staff-portal .report-upload-control { display: inline-grid; place-items: center; min-height: 40px; padding: 0 13px; border: 1px solid #9fc9e5; color: #176dae; font-size: .75rem; font-weight: 800; cursor: pointer; }
#staff-portal .report-upload-control:hover { background: #eff8fe; }
#staff-portal .report-upload-control input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
#staff-portal .report-image-preview { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-column: 1 / -1; gap: 8px; min-height: 180px; padding: 10px; border: 1px dashed #c8d9e6; background: #f8fbfd; }
#staff-portal .report-image-preview > p { grid-column: 1 / -1; align-self: center; justify-self: center; color: #7890a3; }
#staff-portal .report-image-preview figure { min-width: 0; margin: 0; }
#staff-portal .report-image-preview img { display: block; width: 100%; height: 120px; object-fit: cover; background: #e7eef3; }
#staff-portal .report-image-preview figcaption { overflow: hidden; margin-top: 4px; color: #668198; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
#staff-portal .report-form-actions { display: grid; grid-template-columns: auto auto auto minmax(0, 1fr); align-items: center; gap: 9px; min-height: 70px; padding: 13px 26px; border-top: 1px solid #dce7ee; }
#staff-portal .report-form-actions .form-message { color: #648099; text-align: right; }
#staff-portal .report-inbox { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr); }
#staff-portal .report-inbox-head { align-items: center; border-bottom: 1px solid #dce7ee; }
#staff-portal .report-inbox-head select { min-height: 36px; max-width: 140px; border: 1px solid #c5d8e6; background: #fff; color: #385873; font: inherit; font-size: .72rem; padding: 0 7px; }
#staff-portal .report-list { display: grid; align-content: start; gap: 1px; overflow: auto; background: #e2ebf1; }
#staff-portal .report-list .portal-empty { min-height: 100%; margin: 0; }
#staff-portal .report-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 11px; align-items: center; width: 100%; min-height: 72px; padding: 13px 17px; border: 0; border-left: 3px solid #94abc0; background: #fff; color: #173f70; text-align: left; cursor: pointer; }
#staff-portal .report-row:hover,
#staff-portal .report-row.selected { background: #eef8fe; border-left-color: #2582c4; }
#staff-portal .report-row strong,
#staff-portal .report-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#staff-portal .report-row strong { font-size: .85rem; }
#staff-portal .report-row small { margin-top: 5px; color: #7890a2; font-size: .66rem; }
#staff-portal .report-row.status-critical { border-left-color: #bd4f55; }
#staff-portal .report-row.status-high { border-left-color: #d69227; }
#staff-portal .report-row.status-resolved,
#staff-portal .report-row.status-closed { border-left-color: #5f9d7d; }
#staff-portal .report-status-pill { padding: 5px 7px; border: 1px solid #cbdbe6; color: #55738d; font-size: .63rem; font-weight: 800; white-space: nowrap; }
#staff-portal .report-detail { position: absolute; z-index: 5; inset: 0; overflow: auto; padding: 25px; background: #fff; }
#staff-portal .report-detail-close { position: absolute; top: 12px; right: 14px; width: 34px; height: 34px; border: 0; background: transparent; color: #52718c; font-size: 1.7rem; cursor: pointer; }
#staff-portal .report-detail-heading { padding-right: 35px; }
#staff-portal .report-detail-heading .eyebrow { margin: 0; }
#staff-portal .report-detail h4 { margin: 7px 0; color: #173f70; font-size: 1.26rem; line-height: 1.25; }
#staff-portal .report-detail-meta { margin: 0; color: #6b8499; font-size: .71rem; line-height: 1.6; }
#staff-portal .report-detail-body { display: grid; gap: 13px; margin-top: 21px; }
#staff-portal .report-detail-body section { padding: 12px 14px; border-left: 3px solid #8abddd; background: #f6fafc; }
#staff-portal .report-detail-body strong,
#staff-portal .report-protected-images > strong,
#staff-portal .report-status-box > strong { color: #1d4f7e; font-size: .75rem; }
#staff-portal .report-detail-body p,
#staff-portal .report-status-box > p { margin: 6px 0 0; color: #49677f; font-size: .76rem; line-height: 1.65; white-space: pre-wrap; }
#staff-portal .report-protected-images { margin-top: 18px; }
#staff-portal .report-protected-image-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
#staff-portal .report-protected-image-grid img { width: 100%; height: 94px; object-fit: cover; background: #e6eef3; }
#staff-portal .report-protected-image-grid img.is-unavailable { opacity: .35; }
#staff-portal .report-status-box { margin-top: 18px; padding: 15px; border: 1px solid #cfe0eb; background: #f8fbfd; }
#staff-portal .report-status-controls { display: grid; grid-template-columns: 118px minmax(0, 1fr) auto; gap: 8px; margin-top: 12px; }
#staff-portal .report-status-controls select,
#staff-portal .report-status-controls input { min-width: 0; border: 1px solid #c5d8e6; background: #fff; color: #385873; font: inherit; font-size: .72rem; padding: 0 7px; }

@media (max-width: 1180px) {
  #staff-portal .report-workbench { grid-template-columns: minmax(0, 1fr) 360px; }
  #staff-portal .report-image-preview { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  #staff-portal .report-portal-view { display: block; }
  #staff-portal .report-workbench { grid-template-columns: 1fr; height: auto; max-height: none; }
  #staff-portal .report-compose { min-height: 590px; }
  #staff-portal .report-inbox { min-height: 460px; }
}
@media (max-width: 620px) {
  #staff-portal .report-compose-heading,
  #staff-portal .report-inbox-head { padding: 19px 18px 14px; }
  #staff-portal .report-live-chip { display: none; }
  #staff-portal .report-form-tabs { margin: 0 18px; }
  #staff-portal .report-form-tabs button { padding-inline: 5px; font-size: .65rem; }
  #staff-portal .report-form-pane { padding: 18px; }
  #staff-portal .report-field-grid,
  #staff-portal .report-detail-grid { grid-template-columns: 1fr; }
  #staff-portal .report-span-2 { grid-column: auto; }
  #staff-portal .report-evidence { grid-template-columns: 1fr; }
  #staff-portal .report-image-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 150px; }
  #staff-portal .report-form-actions { grid-template-columns: 1fr 1fr; padding: 13px 18px; }
  #staff-portal .report-form-actions #report-form-submit { grid-column: 1 / -1; }
  #staff-portal .report-form-actions .form-message { grid-column: 1 / -1; text-align: left; }
  #staff-portal .report-status-controls { grid-template-columns: 1fr; }
}
