/* Shared Safety Manager detail view. */
.detail-page { min-height: 100vh; }
.detail-page.is-embedded-detail { min-height: 0; overflow-y: visible; background: transparent; }
.detail-page.is-embedded-detail .detail-header,
.detail-page.is-embedded-detail .detail-breadcrumb,
.detail-page.is-embedded-detail .detail-top-back { display: none; }
.detail-page.is-embedded-detail .detail-main { width: 100%; max-width: none; margin: 0; padding: 0 0 48px; }
.detail-header-inner {
  display: flex;
  width: min(100% - 32px, 1040px);
  min-height: 64px;
  margin-inline: auto;
  align-items: center;
  justify-content: space-between;
}
.detail-header .brand-copy small { display: block; }
.detail-portal-link,
.detail-back-button,
.detail-footer-navigation a {
  display: inline-flex;
  min-height: 42px;
  padding: 0 14px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--navy);
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  font-size: .72rem;
  font-weight: 700;
}
.detail-portal-link .material-symbols-rounded,
.detail-back-button .material-symbols-rounded,
.detail-footer-navigation .material-symbols-rounded { font-size: 19px; }
.detail-main {
  width: min(100% - 32px, 920px);
  margin-inline: auto;
  padding: 24px 0 56px;
}
.detail-breadcrumb {
  display: flex;
  margin-bottom: 18px;
  align-items: center;
  gap: 4px;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 600;
}
.detail-breadcrumb .material-symbols-rounded { font-size: 16px; }
.detail-breadcrumb strong { color: var(--navy); }
.detail-top-back {
  display: inline-flex;
  min-height: 36px;
  margin-bottom: 14px;
  padding: 0 11px;
  align-items: center;
  gap: 5px;
  color: var(--navy);
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  font-size: .66rem;
  font-weight: 800;
}
.detail-top-back .material-symbols-rounded { font-size: 18px; }
.detail-title-row {
  display: flex;
  margin-bottom: 18px;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
.detail-eyebrow {
  margin: 0 0 6px;
  color: var(--blue);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.detail-title-row h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(1.55rem, 7vw, 2.3rem);
  line-height: 1.15;
  letter-spacing: -.04em;
}
.detail-title-row p:not(.detail-eyebrow) {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: .7rem;
}
.detail-status-badge {
  display: inline-flex;
  min-height: 30px;
  padding: 0 11px;
  flex: 0 0 auto;
  align-items: center;
  color: #ad352e;
  border-radius: 999px;
  background: #fff0ee;
  font-size: .62rem;
  font-weight: 800;
}
.detail-status-badge.is-progress { color: #a95b12; background: #fff3e5; }
.detail-status-badge.is-complete { color: #13734f; background: #e7f7ef; }
.detail-alert {
  margin-bottom: 14px;
  padding: 12px 14px;
  color: #9b3a31;
  border: 1px solid #f1c9c4;
  border-radius: 13px;
  background: #fff5f3;
  font-size: .72rem;
  font-weight: 600;
}
.detail-alert.is-information { color: var(--navy); border-color: #cfe3f8; background: var(--blue-light); }
.detail-toast {
  position: fixed;
  z-index: 1300;
  right: 20px;
  bottom: 20px;
  max-width: min(360px, calc(100vw - 32px));
  padding: 12px 16px;
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(7, 30, 54, .22);
  font-size: .7rem;
  font-weight: 800;
}
.detail-toast[hidden] { display: none; }
.detail-toast.is-success { background: #13734f; }
.detail-toast.is-notice { background: var(--navy); }
.detail-card {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.detail-section-heading {
  display: flex;
  margin-bottom: 16px;
  align-items: center;
  gap: 11px;
}
.detail-section-heading > .material-symbols-rounded {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--blue);
  border-radius: 12px;
  background: var(--blue-light);
  font-size: 22px;
}
.detail-section-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: .95rem;
  letter-spacing: -.02em;
}
.detail-section-heading p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: .65rem;
}
.detail-information-grid {
  display: grid;
  margin: 0;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 14px;
}
.detail-information-grid > div {
  padding: 13px 14px;
  border-bottom: 1px solid var(--border);
}
.detail-information-grid > div:last-child { border-bottom: 0; }
.detail-information-grid dt {
  color: var(--muted);
  font-size: .58rem;
  font-weight: 700;
}
.detail-information-grid dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: .74rem;
  font-weight: 700;
}
.detail-content-card { display: grid; gap: 10px; }
.detail-content-card .detail-section-heading { margin-bottom: 4px; }
.detail-text-block,
.detail-photo {
  min-height: 96px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fbfdff;
}
.detail-text-block h3 {
  margin: 0;
  color: var(--navy);
  font-size: .72rem;
}
.detail-text-block p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.7;
  white-space: pre-wrap;
}

.report-chapter-tabs { display: flex; margin: 0 0 32px; border-bottom: 1px solid #e1e2e5; }
.report-chapter-tabs button { padding: 12px 24px; color: #6b6f76; border: 0; border-bottom: 2px solid transparent; background: transparent; font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; }
.report-chapter-tabs button:hover { color: #1b59f8; }
.report-chapter-tabs button.is-active { color: #1b59f8; border-bottom-color: #1b59f8; font-weight: 700; }
[data-report-chapter][hidden] { display: none !important; }
.detail-project-checklist { display: grid; gap: 9px; }
.detail-project-checklist > p { margin: 0; color: var(--muted); font-size: .7rem; }
.detail-project-checklist-item {
  display: grid;
  min-height: 48px;
  padding: 10px 14px;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fbfdff;
}
.detail-project-checklist-item > .material-symbols-rounded { color: #16815b; font-size: 22px; }
.detail-project-checklist-item > strong { color: var(--navy); font-size: .72rem; }
.detail-project-checklist-status { color: #16815b; font-size: .64rem; font-weight: 800; }
.detail-photo {
  display: grid;
  min-height: 150px;
  place-items: center;
  align-content: center;
  color: var(--muted);
  text-align: center;
}
.detail-photo .material-symbols-rounded { color: #a4b4c8; font-size: 36px; }
.detail-photo strong { margin-top: 7px; color: var(--navy); font-size: .75rem; }
.detail-photo p { margin: 5px 0 0; font-size: .64rem; }
.detail-photo img {
  display: block;
  width: 100%;
  max-height: 360px;
  border-radius: 10px;
  object-fit: cover;
}
.detail-action-buttons {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.detail-action-buttons button,
.detail-admin-actions button {
  min-height: 44px;
  padding: 0 18px;
  color: var(--navy);
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  cursor: pointer;
  font-size: .72rem;
  font-weight: 800;
}
.detail-action-buttons button:hover,
.detail-admin-actions button:hover { background: var(--blue-light); }
.detail-action-buttons button.is-primary {
  min-width: 108px;
  color: #fff;
  border-color: var(--navy);
  border-radius: 11px;
  background: var(--navy);
}
.detail-action-buttons [hidden] { display: none; }
.detail-current-state {
  display: flex;
  min-height: 54px;
  margin-bottom: 14px;
  padding: 11px 13px;
  align-items: flex-start;
  flex-direction: column;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fbfdff;
}
.detail-current-state span {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 700;
}
.detail-current-state .detail-current-status { min-height: 26px; }
.detail-workflow {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.detail-workflow li {
  position: relative;
  display: grid;
  min-height: 62px;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  color: #8a99aa;
}
.detail-workflow li:not(:last-child)::after {
  position: absolute;
  top: 28px;
  bottom: 0;
  left: 13px;
  width: 2px;
  background: var(--border);
  content: "";
}
.detail-workflow-marker {
  position: relative;
  z-index: 1;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 2px solid #cbd5e1;
  border-radius: 50%;
  background: var(--surface);
}
.detail-workflow-marker::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cbd5e1;
  content: "";
}
.detail-workflow strong {
  display: block;
  margin-top: 2px;
  font-size: .74rem;
}
.detail-workflow li div span {
  display: block;
  margin-top: 5px;
  font-size: .64rem;
  line-height: 1.5;
}
.detail-workflow li.is-complete { color: var(--navy); }
.detail-workflow li.is-complete .detail-workflow-marker {
  color: #fff;
  border-color: #23845f;
  background: #23845f;
}
.detail-workflow li.is-complete .detail-workflow-marker::before {
  width: auto;
  height: auto;
  background: none;
  content: "✓";
  font-size: .7rem;
  font-weight: 900;
}
.detail-workflow li.is-complete:not(:last-child)::after { background: #82c9ae; }
.detail-workflow li.is-current { color: var(--navy); }
.detail-workflow li.is-current strong { font-weight: 900; }
.detail-workflow li.is-current .detail-workflow-marker {
  border-color: #1976d2;
  box-shadow: 0 0 0 4px rgba(25, 118, 210, .11);
}
.detail-workflow li.is-current .detail-workflow-marker::before { background: #1976d2; }
.detail-workflow li.is-current.is-rejected { color: #ad352e; }
.detail-workflow li.is-current.is-rejected .detail-workflow-marker {
  border-color: #ad352e;
  background: #ad352e;
  box-shadow: 0 0 0 4px rgba(173, 53, 46, .1);
}
.detail-workflow li.is-current.is-rejected .detail-workflow-marker::before {
  color: #fff;
  background: none;
  content: "!";
}
.detail-workflow-owner {
  display: flex;
  margin-top: 4px;
  padding: 12px 14px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fbfdff;
}
.detail-workflow-owner span {
  color: var(--muted);
  font-size: .65rem;
  font-weight: 700;
}
.detail-workflow-owner strong {
  color: var(--navy);
  font-size: .7rem;
  text-align: right;
}
.detail-workflow-owner > div { display: grid; justify-items: end; gap: 2px; }
.detail-workflow-owner small { color: var(--muted); font-size: .61rem; }
.detail-workflow-update {
  display: grid;
  margin-top: 8px;
  padding: 12px 14px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 4px 12px;
  border: 1px solid #d8e7f5;
  border-radius: 12px;
  background: var(--blue-light);
}
.detail-workflow-update > span {
  color: var(--muted);
  font-size: .62rem;
  font-weight: 700;
}
.detail-workflow-update time {
  color: var(--navy);
  font-size: .66rem;
  font-weight: 800;
  text-align: right;
}
.detail-workflow-update p {
  margin: 0;
  grid-column: 1 / -1;
  color: var(--navy);
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.55;
}
.detail-available-title {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: .7rem;
}
.detail-no-action {
  width: 100%;
  margin: 0;
  padding: 13px;
  color: var(--muted);
  border: 1px dashed var(--border);
  border-radius: 12px;
  text-align: center;
  font-size: .68rem;
}
.detail-comment-field { display: block; }
.detail-comment-field textarea {
  width: 100%;
  resize: vertical;
  padding: 13px;
  color: var(--ink);
  border: 1px solid var(--border);
  border-radius: 13px;
  outline: none;
  background: #fbfdff;
  font-size: .72rem;
  line-height: 1.65;
}
.detail-comment-field textarea:focus {
  border-color: #8bbbe8;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, .09);
}
.detail-comment-readonly {
  min-height: 88px;
  padding: 14px;
  color: var(--ink);
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #fbfdff;
}
.detail-comment-readonly[hidden] { display: none; }
.detail-comment-readonly p {
  margin: 0;
  font-size: .72rem;
  line-height: 1.7;
  white-space: pre-wrap;
}
.detail-comment-save {
  display: block;
  min-width: 108px;
  min-height: 44px;
  margin: 10px 0 0 auto;
  color: #fff;
  border: 0;
  border-radius: 11px;
  background: var(--navy);
  cursor: pointer;
  font-size: .7rem;
  font-weight: 800;
}
.report-prevention-field { margin-top: 14px; }
.report-type-badge { display: inline-flex; width: fit-content; min-height: 28px; padding: 0 10px; align-items: center; border-radius: 999px; font-size: .64rem; font-weight: 800; }
.report-type-badge.is-accident { color: #a52828; background: #fde8e8; }
.report-type-badge.is-minor { color: #a45512; background: #fff0dc; }
.report-type-badge.is-near-miss { color: #8a6a00; background: #fff8cf; }
.report-type-badge.is-worker-opinion { color: #185fa8; background: #e7f2ff; }
.report-type-badge.is-unspecified { color: var(--muted); background: var(--background); }
.detail-comment-field > span:not(.sr-only) {
  display: block;
  margin-bottom: 7px;
  color: var(--navy);
  font-size: .66rem;
  font-weight: 800;
}
.detail-manager-controls {
  display: flex;
  margin-top: 14px;
  justify-content: flex-end;
  gap: 8px;
}
.detail-manager-controls .detail-comment-save {
  width: auto;
  min-width: 96px;
  margin-top: 0;
  padding: 0 14px;
}
.detail-manager-controls [data-report-workflow-action] {
  border: 1px solid var(--navy);
}
.detail-manager-controls [hidden] { display: none; }
.detail-title-actions { display: flex; align-items: center; gap: 9px; }
.detail-edit-button { display: inline-flex; min-height: 36px; padding: 0 13px; align-items: center; color: var(--blue); border: 1px solid color-mix(in srgb, var(--blue) 30%, var(--border)); border-radius: 10px; background: var(--surface); font-size: .66rem; font-weight: 850; text-decoration: none; }
.detail-edit-button[hidden] { display: none; }
.detail-comment-field textarea[readonly] { color: var(--ink); background: var(--page); cursor: default; }
.detail-approval-preview {
  display: flex;
  margin-top: 14px;
  padding-top: 14px;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--border);
}
.detail-approval-preview button {
  min-width: 88px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 11px;
  cursor: pointer;
  font-size: .7rem;
  font-weight: 800;
}
.detail-approval-preview .is-approve {
  color: #fff;
  border: 1px solid var(--navy);
  background: var(--navy);
}
.detail-approval-preview .is-reject {
  color: #ad352e;
  border: 1px solid #efc1bd;
  background: #fff7f6;
}
.detail-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}
.detail-timeline li {
  position: relative;
  display: grid;
  min-height: 66px;
  padding: 0 0 16px 30px;
  gap: 3px;
}
.detail-timeline li:not(:last-child)::before {
  position: absolute;
  top: 18px;
  bottom: -2px;
  left: 8px;
  width: 2px;
  background: #d9e6f3;
  content: "";
}
.detail-timeline li::after {
  position: absolute;
  top: 4px;
  left: 2px;
  width: 14px;
  height: 14px;
  border: 3px solid var(--surface);
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 1px #9fc7ed;
  content: "";
}
.detail-timeline time { color: var(--blue); font-size: .62rem; font-weight: 800; }
.detail-timeline strong { color: var(--navy); font-size: .74rem; }
.detail-timeline span { color: var(--muted); font-size: .64rem; }
.detail-timeline small { color: var(--muted); font-size: .61rem; }
.detail-timeline p { margin: 0; overflow: hidden; color: var(--muted); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.detail-admin-tools {
  margin-top: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.detail-admin-tools summary {
  display: flex;
  min-height: 56px;
  padding: 0 18px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--navy);
  cursor: pointer;
  font-size: .76rem;
  font-weight: 800;
  list-style: none;
}
.detail-admin-tools summary::-webkit-details-marker { display: none; }
.detail-admin-tools summary::after {
  color: var(--blue);
  content: "▼ 펼치기";
  font-size: .66rem;
  font-weight: 700;
}
.detail-admin-tools[open] summary::after { content: "▲ 접기"; }
.detail-admin-actions {
  display: grid;
  padding: 0 18px 18px;
  gap: 8px;
}
.detail-admin-actions button {
  display: flex;
  padding: 0 13px;
  align-items: center;
  gap: 7px;
  justify-content: flex-start;
}
.detail-admin-actions button .material-symbols-rounded { font-size: 19px; }
.detail-admin-actions button.is-danger { color: #b33b32; }
.detail-lifecycle-actions { display:flex; width:100%; padding:14px 16px; align-items:center; justify-content:space-between; gap:20px; border:1px solid #dbe4ee; border-radius:10px; background:#f8fafc; }
.detail-lifecycle-actions[hidden],.detail-lifecycle-actions > [hidden],.detail-lifecycle-actions [hidden] { display:none!important; }
.detail-lifecycle-actions > div:first-child { display:grid; min-width:0; flex:1 1 auto; gap:3px; }
.detail-lifecycle-actions strong { color:#0f172a; font-size:14px; }
.detail-lifecycle-actions span { color:#64748b; font-size:12px; }
.detail-lifecycle-actions > div:last-child { display:flex; flex:0 0 auto; gap:8px; }
.detail-lifecycle-actions button { min-width:96px; min-height:36px; padding:0 16px; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:#334155; font:inherit; font-size:12px; font-weight:800; line-height:1; white-space:nowrap; cursor:pointer; }
.detail-lifecycle-actions button.is-danger { border-color:#fecaca; color:#b42318; background:#fff7f7; }
.detail-lifecycle-completion { display:grid; width:100%; grid-template-columns:38px minmax(0,1fr); align-items:start; gap:12px; }
.detail-lifecycle-completion[hidden] { display:none!important; }
.detail-lifecycle-completion > .material-symbols-rounded { display:grid; width:38px; height:38px; place-items:center; color:#475569; border-radius:50%; background:#e2e8f0; font-size:23px; }
.detail-lifecycle-completion strong { color:#334155; font-size:14px; }
.detail-lifecycle-completion dl { display:flex; margin:7px 0 0; gap:20px; }
.detail-lifecycle-completion dl > div { display:flex; gap:7px; }
.detail-lifecycle-completion dt { color:#64748b; font-size:12px; }
.detail-lifecycle-completion dd { margin:0; color:#334155; font-size:12px; font-weight:800; }
.detail-lifecycle-completion p { margin:7px 0 0; color:#64748b; font-size:12px; }
.detail-lifecycle-actions.is-closed { width:100%; min-width:0; grid-column:1/-1; grid-row:3; padding:18px 20px; border-color:#cbd5e1; background:#f1f5f9; }
.detail-lifecycle-actions.is-closed .detail-lifecycle-completion { min-width:0; }
.detail-lifecycle-actions.is-closed .detail-lifecycle-completion dl { flex-wrap:wrap; }
.detail-lifecycle-actions.is-closed .detail-lifecycle-completion dd { white-space:nowrap; }
@media (max-width:720px) { .detail-lifecycle-actions { align-items:flex-start; flex-direction:column; } }
.detail-period-dialog { width:min(420px,calc(100% - 32px)); padding:0; border:0; border-radius:12px; color:#0f172a; box-shadow:0 20px 60px rgba(15,23,42,.24); }
.detail-period-dialog::backdrop { background:rgba(15,23,42,.42); }
.detail-period-dialog form { display:grid; gap:16px; padding:20px; }
.detail-period-dialog header,.detail-period-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.detail-period-dialog header button { border:0; background:transparent; color:#64748b; }
.detail-period-dialog label { display:grid; gap:7px; font-size:13px; font-weight:800; }
.detail-period-dialog input { min-height:42px; padding:0 10px; border:1px solid #cbd5e1; border-radius:7px; font:inherit; }
.detail-period-dialog p { margin:0; color:#64748b; font-size:12px; }
.detail-period-dialog footer { justify-content:flex-end; }
.detail-period-dialog footer button { min-height:36px; padding:0 14px; border:1px solid #cbd5e1; border-radius:7px; background:#fff; font:inherit; font-size:12px; font-weight:800; }
.detail-period-dialog footer .is-primary { border-color:#2563eb; background:#2563eb; color:#fff; }
.detail-back-button { width: 100%; margin-top: 16px; }
.detail-footer-navigation {
  display: flex;
  margin-top: 18px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.detail-footer-navigation a {
  width: auto;
  min-height: 42px;
  padding-inline: 13px;
  color: var(--muted);
  border-color: color-mix(in srgb, var(--muted) 25%, var(--border));
  border-radius: 10px;
  font-size: .66rem;
  box-shadow: none;
}
.detail-footer-navigation .material-symbols-rounded { font-size: 17px; }
.detail-footer-navigation a:hover { color: var(--blue); border-color: color-mix(in srgb, var(--blue) 45%, var(--border)); background: var(--blue-light); }

body.dark .detail-text-block,
body.dark .detail-photo { background: #0e2740; }
body.dark .detail-alert.is-information { color: #cce6ff; border-color: #315a80; background: #102d49; }
body.dark .detail-comment-field textarea { background: #0e2740; }
body.dark .detail-current-state { background: #0e2740; }

/* Safety Start supervisor review: one-page presentation. Runtime hooks remain in place. */
.detail-main[data-detail-type="start"] .detail-render-contract { display: none !important; }
.detail-main[data-detail-type="start"] .detail-review-context {
  min-height: 20px;
  margin: 0 0 12px;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
}
.detail-main[data-detail-type="start"] .detail-review-context .detail-top-back {
  display: inline-flex;
  min-height: 20px;
  margin: 0;
  padding: 0;
  gap: 5px;
  color: #475569;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
}
.detail-main[data-detail-type="start"] .detail-review-context .detail-top-back:hover { color: var(--blue); }
.detail-main[data-detail-type="start"] .detail-review-context strong { color: #0f172a; font-weight: 800; }
.detail-main[data-detail-type="start"] .detail-title-row { margin-bottom: 12px; align-items: center; }
.detail-main[data-detail-type="start"] .detail-title-row h1 { font-size: 24px; line-height: 30px; }
.detail-main[data-detail-type="start"] .detail-title-row p { margin-top: 4px; font-size: 13px; line-height: 20px; }

.detail-review-summary {
  display: grid;
  margin-top: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
}
.detail-review-summary > div { padding: 20px 24px; }
.detail-review-summary > div + div { border-left: 1px solid var(--border); }
.detail-review-summary h2 { margin: 0 0 14px; color: #0f172a; font-size: 15px; line-height: 22px; }
.detail-review-summary dl { display: grid; margin: 0; gap: 10px; }
.detail-review-summary dl > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: baseline; gap: 12px; }
.detail-review-summary dt { color: #64748b; font-size: 12px; font-weight: 600; }
.detail-review-summary dd { margin: 0; color: #0f172a; font-size: 13px; font-weight: 700; }
.detail-review-next-action { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.detail-review-next-action span { display: block; color: #64748b; font-size: 11px; font-weight: 700; }
.detail-review-next-action strong { display: block; margin-top: 4px; color: #1d4ed8; font-size: 13px; line-height: 20px; }

.detail-review-sections { margin-top: 12px; border-top: 1px solid var(--border); }
.detail-review-section {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.detail-review-section > summary {
  display: flex;
  min-height: 78px;
  padding: 16px 4px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #0f172a;
  cursor: pointer;
  list-style: none;
}
.detail-review-section > summary::-webkit-details-marker { display: none; }
.detail-review-section > summary > span { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: baseline; }
.detail-review-section > summary b { grid-row: 1 / span 2; color: #2563eb; font-size: 12px; letter-spacing: .04em; }
.detail-review-section > summary strong { font-size: 16px; line-height: 24px; }
.detail-review-section > summary small { margin-top: 2px; color: #64748b; font-size: 12px; font-weight: 400; line-height: 18px; }
.detail-review-section > summary em { color: #475569; font-size: 12px; font-style: normal; font-weight: 700; white-space: nowrap; }
.detail-review-section > summary::after { flex: 0 0 auto; color: #64748b; content: "expand_more"; font-family: "Material Symbols Rounded"; font-size: 22px; transition: transform .18s ease; }
.detail-review-section[open] > summary::after { transform: rotate(180deg); }
.detail-review-section-body { padding: 2px 34px 24px; }
.detail-review-section-body > h3 { margin: 20px 0 10px; color: #0f172a; font-size: 13px; line-height: 20px; }
.detail-review-section-body > h3:first-child { margin-top: 0; }
.detail-review-text-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.detail-review-text-grid .detail-text-block { min-height: 110px; border-radius: 8px; box-shadow: none; }
.detail-review-text-grid h4 { margin: 0; color: #0f172a; font-size: 12px; }
.detail-review-section .detail-information-grid { border-radius: 8px; }
.detail-review-section .detail-info-grid { margin-bottom: 12px; }
.detail-compact-empty { margin: 0; padding: 18px; color: #64748b; border: 1px dashed var(--border); border-radius: 8px; background: #fbfdff; font-size: 13px; text-align: center; }
.detail-review-decision .detail-review-section-body { width: 100%; }
.detail-review-decision .detail-comment-field textarea { min-height: 148px; }
.detail-review-decision .detail-comment-save { color: #1d4ed8; border: 1px solid #bfdbfe; background: #eff6ff; }
.detail-review-decision .detail-approval-preview { margin-top: 20px; padding-top: 20px; }
.detail-review-decision .detail-approval-preview::before { margin-right: auto; color: #0f172a; content: "최종 결정\A등록 내용과 검토 의견을 확인한 후 최종 처리 결과를 결정합니다."; font-size: 13px; font-weight: 800; line-height: 22px; white-space: pre-line; }
.detail-review-section.detail-admin-tools .detail-admin-actions { padding: 0; }
.detail-review-section.detail-admin-tools > summary::after { content: "expand_more"; font-size: 22px; }
.detail-review-section.detail-admin-tools[open] > summary::after { content: "expand_more"; }

/* Approved Safety Start review card language. */
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-summary {
  gap: 12px;
  grid-template-columns: minmax(240px, .85fr) minmax(240px, .85fr) minmax(360px, 2.1fr);
  border: 0;
  background: transparent;
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-summary > div {
  border: 1px solid #dce4ee;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-summary > div + div { border-left: 1px solid #dce4ee; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-summary > div:first-child h2 { color: #2563eb; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-summary > div:nth-child(2) h2 { color: #059669; }
.detail-review-action-panel {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 16px;
  border-color: #f6c453 !important;
  background: linear-gradient(135deg, #fffaf0, #fffdf7) !important;
  box-shadow: 0 3px 12px rgba(180, 83, 9, .08) !important;
}
.detail-review-action-panel > .material-symbols-rounded {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  color: #b45309;
  border-radius: 50%;
  background: #fde68a;
  font-size: 26px;
}
.detail-review-action-panel > div { min-width: 0; }
.detail-review-action-panel h2 { margin-bottom: 8px; color: #92400e !important; }
.detail-review-action-panel strong { display: block; color: #0f172a; font-size: 18px; line-height: 27px; }
.detail-review-action-panel p { margin: 10px 0 0; color: #92400e; font-size: 12px; font-weight: 700; line-height: 18px; }
.detail-review-action-panel.is-complete { border-color: #bbf7d0 !important; background: #f0fdf4 !important; }
.detail-review-action-panel.is-complete > .material-symbols-rounded { color: #047857; background: #d1fae5; }
.detail-review-action-panel.is-complete h2,
.detail-review-action-panel.is-complete p { color: #047857 !important; }
.detail-review-action-panel.is-own-record { border-color: #cbd5e1 !important; background: #f8fafc !important; box-shadow: none !important; }
.detail-review-action-panel.is-own-record > .material-symbols-rounded { color: #475569; background: #e2e8f0; }
.detail-review-action-panel.is-own-record h2,
.detail-review-action-panel.is-own-record p { color: #475569 !important; }
.detail-main[data-detail-type="report"] .detail-review-action-panel [hidden] { display: none !important; }
.detail-alert:has(> button) { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.detail-alert:has(> button) .detail-comment-save { flex: 0 0 auto; white-space: nowrap; }
.detail-own-record-notice { padding: 18px; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; }
.detail-own-record-notice strong { display: block; color: #0f172a; font-size: 14px; line-height: 20px; }
.detail-own-record-notice p { margin: 6px 0 0; color: #64748b; font-size: 12px; line-height: 18px; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-sections { display: grid; margin-top: 14px; gap: 10px; border-top: 0; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section {
  overflow: hidden;
  border: 1px solid #dce4ee;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .045);
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section > summary {
  min-height: 78px;
  padding: 0 16px 0 0;
  background: #fff;
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section > summary > span {
  min-height: 78px;
  flex: 1 1 auto;
  grid-template-columns: 56px 50px minmax(0, 1fr);
  align-items: center;
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section > summary b {
  display: grid;
  width: 56px;
  min-height: 78px;
  grid-row: 1 / span 2;
  place-items: center;
  align-self: stretch;
  color: #fff;
  background: #2563eb;
  font-size: 17px;
  letter-spacing: 0;
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section-icon {
  display: grid;
  width: 38px;
  height: 38px;
  grid-column: 2;
  grid-row: 1 / span 2;
  place-items: center;
  justify-self: center;
  color: #2563eb;
  border: 1px solid #dbeafe;
  border-radius: 9px;
  background: #eff6ff;
  font-size: 22px;
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section > summary strong { grid-column: 3; align-self: end; font-size: 16px; line-height: 23px; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section > summary small { grid-column: 3; align-self: start; margin: 1px 0 0; font-size: 12px; line-height: 18px; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section > summary em {
  min-width: 54px;
  padding: 5px 9px;
  color: #2563eb;
  border-radius: 7px;
  background: #eff6ff;
  font-size: 12px;
  text-align: center;
}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section > summary::after { margin-left: 4px; content: "expand_more"; transform: none; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section[open] > summary::after { content: "expand_less"; transform: none; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section-body { margin: 0 16px 14px; padding: 16px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section:nth-child(-n+5) > summary b { background: #315d8c; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section:nth-child(-n+5) .detail-review-section-icon { color: #315d8c; border-color: #dbe5f0; background: #f1f5f9; }
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section:nth-child(-n+5) > summary em { color: #315d8c; background: #eff4f8; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4):has(> summary em.is-current-step) { border-color: #86d7b5; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4):has(> summary em.is-current-step) > summary { background: #f7fdf9; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4):has(> summary em.is-current-step) > summary b { background: #059669; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4):has(> summary em.is-current-step) .detail-review-section-icon { color: #047857; border-color: #a7f3d0; background: #ecfdf5; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) > summary em.is-current-step { color: #047857; background: #d1fae5; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4):has(> summary em.is-current-step) .detail-review-section-body { border-color: #b7e4cf; background: #f0fdf7; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(6) > summary b { background: #64748b; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(6) .detail-review-section-icon { color: #475569; border-color: #e2e8f0; background: #f8fafc; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(6) > summary em { color: #475569; background: #f1f5f9; }
.detail-main[data-detail-type="start"] .detail-review-section.detail-admin-tools { display: none; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 18px;
}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(1),
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > .detail-information-grid:nth-of-type(1) { grid-column: 1; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(2),
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > .detail-information-grid:nth-of-type(2) { grid-column: 2; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(3),
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > .detail-review-text-grid { grid-column: 3; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3 { grid-row: 1; margin: 0 0 8px; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > dl,
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > .detail-review-text-grid { grid-row: 2; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-information-grid { display: grid; grid-template-columns: 1fr; border: 0; border-radius: 0; background: #fff; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-information-grid > div { padding: 5px 0; border: 0; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-text-grid { display: grid; grid-template-columns: 1fr; gap: 6px; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-text-block { min-height: 0; padding: 5px 0; border: 0; background: #fff; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-text-block p { margin-top: 3px; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-info-grid {
  display: grid;
  margin: 0 0 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-info-grid > div {
  min-width: 0;
  padding: 12px 14px;
  text-align: left;
}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-info-grid > div + div { border-left: 1px solid #e2e8f0; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-info-grid dt {
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-info-grid dd {
  margin: 7px 0 0;
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-project-checklist > p {
  margin: 0;
  padding: 10px 12px;
  color: #64748b;
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
  line-height: 18px;
  text-align: left;
}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-review-section-body { padding: 16px; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-review-section-body > h3 { display: none; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) #detail-comment-content {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(210px, .8fr) minmax(320px, 1fr);
  column-gap: 20px;
}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-comment-field { grid-column: 1; grid-row: 1; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-comment-field::before { display: block; margin-bottom: 8px; color: #047857; content: "1. 검토 의견 입력"; font-size: 13px; font-weight: 800; }
.detail-review-save-help { display: block; margin-top: 8px; color: #64748b; font-size: 12px; line-height: 18px; }
.detail-review-save-stage { display: flex; min-width: 0; padding-left: 20px; grid-column: 2; flex-direction: column; align-items: flex-start; border-left: 1px solid #e2e8f0; }
.detail-review-save-stage > strong { color: #047857; font-size: 13px; line-height: 20px; }
.detail-review-save-stage > p { margin: 4px 0 18px; color: #64748b; font-size: 12px; line-height: 18px; }
.detail-review-save-stage .detail-comment-save { margin-top: auto; }
.detail-review-start { display: flex; padding: 14px 16px; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; }
.detail-review-start strong { color: #1d4ed8; font-size: 13px; }
.detail-review-start p { margin: 3px 0 0; color: #475569; font-size: 12px; line-height: 18px; }
.detail-review-start button { min-height: 38px; padding: 0 16px; color: #fff; border: 0; border-radius: 7px; background: #2563eb; font-weight: 800; cursor: pointer; white-space: nowrap; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) #detail-comment-content:has(.detail-review-start) .detail-comment-field { grid-row: 2; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) #detail-comment-content:has(.detail-review-start) .detail-review-save-stage { grid-row: 2; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) #detail-comment-content:has(.detail-review-start) .detail-approval-preview { grid-row: 2; }
.detail-comment-save:disabled,
.detail-approval-preview button:disabled { opacity: .45; cursor: not-allowed; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-comment-field textarea { background: #fff; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview { background: transparent; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview { display: grid; margin: 0; padding: 0 20px; grid-template-columns: repeat(2, 132px); grid-template-rows: auto minmax(0, 1fr) auto; grid-column: 3; grid-row: 1; align-items: end; justify-content: center; column-gap: 12px; border-top: 0; border-left: 1px solid #e2e8f0; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview::before { width: 100%; margin: 0; grid-column: 1 / -1; grid-row: 1; align-self: start; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview::before { content: "3. 최종 결정\A검토를 완료하고 최종 처리 결과를 결정합니다."; color: #047857; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview button { width: 132px; min-width: 132px; max-width: 132px; grid-row: 3; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-approve,
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-reject { display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: #fff; font-weight: 850; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-approve { border-color: #059669; background: #059669; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-reject { border-color: #dc2626; background: #dc2626; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-approve::before,
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-reject::before { font-family: "Material Symbols Rounded"; font-size: 18px; font-weight: 600; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-approve::before { content: "check"; }
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview .is-reject::before { content: "close"; }
.detail-review-guide { display: flex; margin-top: 10px; padding: 14px 16px; align-items: flex-start; gap: 10px; color: #334155; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; }
.detail-review-guide > .material-symbols-rounded { color: #2563eb; font-size: 20px; }
.detail-review-guide strong { font-size: 13px; }
.detail-review-guide p { margin: 3px 0 0; color: #475569; font-size: 12px; line-height: 18px; }

@media (max-width: 900px) {
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body { grid-template-columns: 1fr; }
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > * { grid-column: 1 !important; grid-row: auto !important; }
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) #detail-comment-content { grid-template-columns: 1fr; }
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-comment-field,
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-review-save-stage,
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview { grid-column: 1; grid-row: auto; }
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-review-save-stage { margin-top: 16px; padding: 16px 0 0; border-top: 1px solid #e2e8f0; border-left: 0; }
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(4) .detail-approval-preview { margin-top: 16px; padding: 16px 0 0; border-top: 1px solid #e2e8f0; border-left: 0; }
}

@media (max-width: 699px) {
  .detail-main[data-detail-type="start"] .detail-review-summary { grid-template-columns: 1fr; }
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-info-grid { grid-template-columns: 1fr; }
  .detail-main[data-detail-type="start"] .detail-review-section:nth-child(2) .detail-info-grid > div + div { border-top: 1px solid #e2e8f0; border-left: 0; }
}

@media (max-width: 699px) {
  .detail-review-summary { grid-template-columns: 1fr; }
  .detail-review-summary > div + div { border-top: 1px solid var(--border); border-left: 0; }
  .detail-review-text-grid { grid-template-columns: 1fr; }
  .detail-review-section-body { padding-inline: 4px; }
  .detail-review-decision .detail-approval-preview { align-items: stretch; flex-wrap: wrap; }
  .detail-review-decision .detail-approval-preview::before { width: 100%; }
}

/* Desktop Safety Activity workspace: Golden content frame and one-scroll contract. */
@media (min-width: 700px) {
  body.detail-page {
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: visible;
  }
  .detail-page.is-embedded-detail .detail-header,
  .detail-page.is-embedded-detail .detail-top-back { display: none; }
  .detail-page.is-embedded-detail .detail-breadcrumb { display: flex; }
  .detail-main { padding:var(--desktop-section-gap) 0; }
  .detail-breadcrumb { margin: 0 0 12px; font-size: 12px; line-height: 18px; }
  .detail-title-row { min-height:72px; align-items:center; }
  .detail-title-row h1 { font-size: 28px; line-height: 36px; }
  .detail-title-row p:not(.detail-eyebrow) { margin-top: 6px; font-size: 13px; line-height: 20px; }
  .mounted-safety-workspace-node[data-mounted-workspace="detail"] .detail-title-row { min-height:0; }
  .mounted-safety-workspace-node[data-mounted-workspace="detail"] .detail-title-row h1 { font-size:var(--desktop-title-size); line-height:1.333; }
  .detail-title-actions .detail-top-back { min-height:36px; margin:0; }
  [data-report-workflow-source][hidden] { display:none !important; }
  .report-action-guidance { display:grid; min-height:var(--desktop-row-height); padding:10px var(--desktop-card-padding); grid-template-columns:minmax(240px,.8fr) minmax(420px,1.5fr) minmax(160px,.5fr); align-items:center; gap:var(--desktop-content-gap); border:1px solid var(--onoff-ui-divider); border-radius:var(--onoff-ui-radius); background:#fff; }
  .report-action-guidance[hidden] { display:none; }
  .report-action-guidance-copy { display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:2px 10px; }
  .report-action-guidance-copy>span,.report-action-guidance-owner>span { color:#64748b; font-size:11px; font-weight:700; }
  .report-action-guidance-copy>strong { color:#1d4ed8; font-size:13px; }
  .report-action-guidance-copy>p { margin:0; grid-column:1/-1; color:#475569; font-size:12px; line-height:18px; }
  .report-action-guidance-owner { display:grid; justify-items:end; gap:3px; }
  .report-action-guidance-owner strong { color:#0f172a; font-size:12px; }
  .report-action-guidance-progress { display:grid; margin:0; padding:0; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; }
  .report-action-guidance-progress li { padding:0 6px 6px; color:#94a3b8; border-bottom:2px solid #e2e8f0; font-size:10px; font-weight:700; text-align:center; }
  .report-action-guidance-progress li.is-complete { color:#15803d; border-bottom-color:#86efac; }
  .report-action-guidance-progress li.is-current { color:#1d4ed8; border-bottom-color:#2563eb; }
  .report-chapter-tabs {
    align-items: stretch;
  }
  .report-chapter-tabs button { min-height: 52px; padding: 0 24px; }
  .detail-main[data-detail-type="report"] .report-chapter-tabs button { min-height:inherit; padding-inline:var(--desktop-card-padding); }
  .mounted-safety-workspace-node[data-mounted-workspace="detail"] .report-chapter-tabs button { min-height:inherit; padding-inline:var(--desktop-card-padding); }
  .detail-compact-workflow { display:grid; min-height:var(--desktop-row-height); padding:10px var(--desktop-card-padding); grid-template-columns:minmax(0,1fr) minmax(420px,1.5fr) minmax(160px,.5fr); align-items:center; gap:var(--desktop-content-gap); border:1px solid var(--onoff-ui-divider); border-radius:var(--onoff-ui-radius); background:#fff; }
  .detail-compact-workflow .detail-section-heading { display:none; }
  .detail-compact-workflow .detail-workflow { margin:0; }
  .detail-compact-workflow .detail-workflow li { min-height:0; }
  .detail-compact-workflow .detail-workflow li div span { display:none; }
  .detail-compact-workflow .detail-workflow-owner,
  .detail-compact-workflow .detail-workflow-update { margin:0; padding:0; border:0; }
  .detail-compact-workflow .detail-workflow-update { display:none; }
  .onoff-desktop-section { width: 100%; margin-top: 0; }
  .onoff-desktop-section + .onoff-desktop-section { margin-top: 16px; }
  .detail-card { padding: 24px; border-radius: 10px; box-shadow: none; }
  .detail-comment-card { display: grid; width: min(100%, 880px); gap: 18px; }
  .detail-comment-card .detail-section-heading { margin-bottom: 0; }
  .detail-comment-field textarea { min-height: 132px; padding: 14px 16px; border-radius: 8px; font-size: 14px; line-height: 1.6; }
  .report-prevention-field { margin-top: 0; }
  .detail-manager-controls { margin-top: 0; padding-top: 2px; }
}

/* Shared status badge display system. Business status values remain unchanged. */
.status-badge {
  display: inline-flex;
  min-height: 26px;
  padding: 0 9px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: var(--status-badge-color);
  border-radius: 999px;
  background: var(--status-badge-background);
  font-size: .58rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.status-badge.status--registered {
  --status-badge-color: #1565c0;
  --status-badge-background: #e8f2ff;
}
.status-badge.status--progress {
  --status-badge-color: #a95b12;
  --status-badge-background: #fff3e5;
}
.status-badge.status--review {
  --status-badge-color: #6b4bb7;
  --status-badge-background: #f1edff;
}
.status-badge.status--completed {
  --status-badge-color: #13734f;
  --status-badge-background: #e7f7ef;
}
.status-badge.status--rejected {
  --status-badge-color: #ad352e;
  --status-badge-background: #fff0ee;
}
.status-badge.status--work-closed {
  --status-badge-color: #475569;
  --status-badge-background: #e2e8f0;
}
.status-badge.status--hold {
  --status-badge-color: #6b7280;
  --status-badge-background: #eef1f5;
}
.status-badge.status--registered,
.status-badge.status--progress,
.status-badge.status--review,
.status-badge.status--completed,
.status-badge.status--rejected,
.status-badge.status--work-closed,
.status-badge.status--hold {
  color: var(--status-badge-color);
  background: var(--status-badge-background);
}
body.dark .status-badge {
  color: var(--status-badge-color);
  background: var(--status-badge-background);
}

@media (min-width: 640px) {
  .detail-main { padding-top: 34px; }
  .detail-card { padding: 22px; }
  .detail-information-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-information-grid > div:nth-child(odd) { border-right: 1px solid var(--border); }
  .detail-information-grid > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .detail-admin-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .detail-top-back { margin-bottom: 18px; }
}

.detail-participants ul,.detail-safety-standards ul,.detail-attachment-list{list-style:none;margin:0;padding:0}.detail-participants ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-participants li{display:grid;padding:10px;border:1px solid #dbe4ee;border-radius:7px;background:#fff}.detail-participants li span,.detail-attachment-list small{color:#64748b;font-size:11px}.detail-safety-standards{margin-top:16px}.detail-safety-standards h3{margin:0 0 8px}.detail-safety-standards ul{display:flex;flex-wrap:wrap;gap:7px}.detail-safety-standards li{padding:6px 9px;border-radius:999px;background:#e8f5ef;color:#047857;font-size:12px;font-weight:750}.detail-attachment-list{display:grid;gap:8px}.detail-attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #dbe4ee;border-radius:7px;background:#fff}.detail-attachment-list li span{display:grid;min-width:0}.detail-attachment-list button{min-height:34px;padding:0 12px;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;color:#1d4ed8;font-weight:750;cursor:pointer}@media(max-width:699px){.detail-participants ul{grid-template-columns:1fr}}

/* SS-FINAL-04: compact participant density and safe attachment preview. */
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(1),
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > .detail-information-grid:nth-of-type(1){grid-column:1;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) #detail-participant-heading,
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) #detail-participants{grid-column:2;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(3),
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-requester-grid{grid-column:3;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(4),
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-text-grid{grid-column:1/-1;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(-n+3){grid-row:1;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) :is(.detail-information-grid:nth-of-type(1),#detail-participants,.detail-requester-grid){grid-row:2;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body > h3:nth-of-type(4){grid-row:3;margin-top:10px;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-text-grid{grid-row:4;grid-template-columns:repeat(2,minmax(0,1fr));}
.detail-participants ul{display:grid;grid-template-columns:1fr;gap:0;}
.detail-participants li{display:flex;min-width:0;padding:5px 0;align-items:baseline;justify-content:space-between;gap:10px;border:0;border-radius:0;background:transparent;}
.detail-participants li+li{border-top:1px solid #eef2f7;}
.detail-participants li strong{overflow:hidden;color:#0f172a;font-size:12px;text-overflow:ellipsis;white-space:nowrap;}
.detail-participants li span{flex:0 0 auto;font-size:11px;white-space:nowrap;}
.detail-attachment-actions{display:flex;flex:0 0 auto;align-items:center;gap:7px;}
.detail-attachment-category{width:fit-content;margin-bottom:4px;padding:3px 7px;color:#047857;border-radius:999px;background:#d1fae5;font-size:10px;font-style:normal;font-weight:800;line-height:15px;}
.detail-attachment-preview{width:min(900px,calc(100vw - 48px));height:min(720px,calc(100vh - 72px));padding:0;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.24);}
.detail-attachment-preview::backdrop{background:rgba(15,23,42,.52);}
.detail-attachment-preview>header{display:flex;min-height:48px;padding:0 16px;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0;}
.detail-attachment-preview>header strong{color:#0f172a;font-size:14px;}
.detail-attachment-preview>header button{display:grid;width:34px;height:34px;padding:0;place-items:center;color:#475569;border:0;border-radius:6px;background:transparent;font-family:"Material Symbols Rounded";font-size:20px;cursor:pointer;}
.detail-attachment-preview>[data-attachment-preview-body]{display:grid;height:calc(100% - 49px);place-items:center;overflow:auto;background:#f8fafc;}
.detail-attachment-preview :is(img,iframe){display:block;width:100%;height:100%;border:0;object-fit:contain;background:#fff;}
.detail-review-start.is-current-action{border-color:#f5b942;background:#fff9e8;box-shadow:0 0 0 2px rgba(245,185,66,.14);}
.detail-review-start.is-current-action strong{color:#9a5a00;}
.detail-review-start.is-current-action button{display:inline-flex;min-height:44px;padding:0 20px;align-items:center;justify-content:center;gap:8px;color:#fff;border:1px solid #b45309;border-radius:8px;background:#c65f08;box-shadow:0 2px 5px rgba(146,64,14,.2);font-size:13px;font-weight:850;line-height:1;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease;}
.detail-review-start.is-current-action button::before{content:"assignment_turned_in";font-family:"Material Symbols Rounded";font-size:19px;font-weight:600;}
.detail-review-start.is-current-action button:hover{border-color:#92400e;background:#a94a06;box-shadow:0 3px 8px rgba(146,64,14,.28);}
.detail-review-start.is-current-action button:focus-visible{outline:3px solid rgba(245,158,11,.34);outline-offset:2px;}
.detail-review-start.is-current-action button:active{background:#8f3f05;box-shadow:0 1px 2px rgba(146,64,14,.22);transform:translateY(1px);}
.detail-main[data-detail-type="start"] :is(.detail-comment-save,.detail-approval-preview button,.detail-attachment-actions button,.detail-footer-navigation a){transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;}
.detail-main[data-detail-type="start"] :is(.detail-comment-save,.detail-approval-preview button,.detail-attachment-actions button,.detail-footer-navigation a):focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px;}
.detail-main[data-detail-type="start"] .detail-comment-save{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #93c5fd;box-shadow:0 1px 2px rgba(30,64,175,.08);}
.detail-main[data-detail-type="start"] .detail-comment-save::before{content:"save";font-family:"Material Symbols Rounded";font-size:18px;font-weight:600;}
.detail-main[data-detail-type="start"] .detail-comment-save:not(:disabled):hover{border-color:#60a5fa;background:#dbeafe;}
.detail-main[data-detail-type="start"] .detail-approval-preview button:not(:disabled):hover{filter:brightness(.92);box-shadow:0 2px 5px rgba(15,23,42,.15);}
.detail-main[data-detail-type="start"] :is(.detail-comment-save,.detail-approval-preview button):disabled{opacity:1;color:#94a3b8;border-color:#cbd5e1;background:#e2e8f0;box-shadow:none;cursor:not-allowed;filter:none;}
.detail-main[data-detail-type="start"] .detail-approval-preview button:disabled::before{color:#94a3b8;}
.detail-attachment-actions button{display:inline-flex;min-height:36px;padding:0 13px;align-items:center;justify-content:center;gap:6px;border-width:1px;border-style:solid;box-shadow:0 1px 2px rgba(30,64,175,.08);font-size:12px;}
.detail-attachment-actions button::before{font-family:"Material Symbols Rounded";font-size:18px;font-weight:600;}
.detail-attachment-actions .is-preview::before{content:"visibility";}
.detail-attachment-actions .is-download::before{content:"download";}
.detail-attachment-actions button:hover{border-color:#60a5fa;background:#dbeafe;box-shadow:0 2px 5px rgba(30,64,175,.14);}
.detail-footer-navigation a:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section.is-history-focus{border-color:#67d7e4;}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section.is-history-focus>summary{background:#f0fdff;}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section.is-history-focus>summary b{background:#0891b2;}
.detail-main:is([data-detail-type="start"], [data-detail-presentation="golden"]) .detail-review-section.is-history-focus .detail-review-section-icon{color:#0e7490;border-color:#a5f3fc;background:#ecfeff;}
/* SS-FINAL-05A: semantic blocks prevent participant/requester grid overlap. */
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.detail-main[data-detail-type="start"] .detail-registration-block{min-width:0;}
.detail-main[data-detail-type="start"] .detail-registration-block>h3{margin:0 0 10px;padding:0 0 7px;color:#0f172a;border-bottom:1px solid #dbe4ee;font-size:13px;font-weight:850;line-height:20px;}
.detail-main[data-detail-type="start"] .detail-work-information{grid-column:1;grid-row:1;}
.detail-main[data-detail-type="start"] .detail-requester-information{grid-column:2;grid-row:1;}
.detail-main[data-detail-type="start"] .detail-work-detail{grid-column:3;grid-row:1;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-work-detail .detail-review-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;align-items:stretch;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-work-detail .detail-text-block{display:grid;min-height:72px;padding:7px 10px 7px 0;grid-template-rows:18px minmax(40px,1fr);align-content:start;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-work-detail .detail-text-block+ .detail-text-block{padding-right:0;padding-left:10px;border-left:1px solid #e2e8f0;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-work-detail .detail-text-block h4{margin:0;color:#64748b;font-size:11px;font-weight:750;line-height:18px;}
.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-work-detail .detail-text-block p{margin:4px 0 0;color:#0f172a;font-size:12px;font-weight:650;line-height:18px;}
.detail-main[data-detail-type="start"] .detail-participant-information{grid-column:1/-1;grid-row:2;padding-top:14px;border-top:1px solid #e2e8f0;}
.detail-main[data-detail-type="start"] .detail-participant-information .detail-participants ul{display:grid;grid-template-columns:1fr;}
.detail-main[data-detail-type="start"] .detail-participant-information .detail-participants li{min-height:32px;padding:6px 0;}
.detail-main[data-detail-type="start"] .detail-participant-information .detail-participants li span{color:#64748b;}
@media(max-width:900px){.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-section-body>*{grid-column:1!important;grid-row:auto!important}.detail-main[data-detail-type="start"] .detail-review-section:nth-child(1) .detail-review-text-grid{grid-template-columns:1fr}.detail-attachment-preview{width:calc(100vw - 24px);height:calc(100vh - 36px)}.detail-attachment-list li{align-items:flex-start;flex-direction:column}.detail-attachment-actions{width:100%;justify-content:flex-end}}
@media(max-width:699px){
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"]{width:calc(100% - 32px);max-width:none}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section:nth-child(1) .detail-review-section-body{grid-template-columns:minmax(0,1fr);gap:16px}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-registration-block{width:100%;max-width:100%;overflow-wrap:anywhere}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-registration-block .detail-information-grid,
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-registration-block .detail-review-text-grid{grid-template-columns:minmax(0,1fr)}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-work-detail .detail-text-block+ .detail-text-block{padding-left:0;border-left:0;border-top:1px solid #e2e8f0}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-participant-information{padding-top:0;border-top:0}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section>summary{min-height:48px;padding:0 12px 0 0;gap:12px}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section>summary>span{min-width:0;min-height:48px;grid-template-columns:52px minmax(0,1fr);grid-template-rows:1fr;align-items:center;column-gap:16px}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section>summary b{width:52px;min-height:48px;grid-row:1;align-self:stretch;font-size:16px;font-weight:700}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section-icon{display:none}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section>summary strong{min-width:0;grid-column:2;align-self:center;font-size:16px;font-weight:700;line-height:20px;white-space:nowrap}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section>summary small{display:none}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section>summary em{min-width:0;padding:4px 6px;font-size:10px}
  .detail-main[data-detail-type="start"][data-detail-role="supervisor"] .detail-review-section>summary::after{font-size:19px}
}

/* SR-DETAIL-01: persistent report detail chapters and confirmation state. */
.report-progress-information{margin-top:18px;}
.report-required-confirmations{margin-top:16px;padding:14px 16px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fafc;}
.report-required-confirmations h3{margin:0 0 10px;color:#334155;font-size:12px;}
.report-required-confirmations ul,.report-review-confirmations{display:grid;gap:7px;margin:0;padding:0;list-style:none;}
.report-required-confirmations li,.report-review-confirmations li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px;padding:9px 11px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;}
.report-required-confirmations li>div,.report-review-confirmations li>div{display:grid;min-width:0;gap:3px;}
.report-required-confirmations li strong,.report-review-confirmations li strong{min-width:0;color:#0f172a;font-size:12px;}
.report-required-confirmations li small,.report-review-confirmations li small{color:#64748b;font-size:11px;line-height:16px;}
.report-required-confirmations li span,.report-review-confirmations li span{flex:0 0 auto;font-size:11px;font-weight:800;white-space:nowrap;}
.report-required-confirmations .is-complete,.report-review-confirmations .is-complete{color:#047857;}
.report-required-confirmations .is-pending,.report-review-confirmations .is-pending{color:#b45309;}
.report-detail-confirmation-pulse{display:inline-flex;align-items:center;gap:7px;color:#9a5a00;font-size:12px;font-weight:850;}
.report-detail-confirmation-pulse i{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14);animation:report-confirmation-pulse 1.8s ease-in-out infinite;}
.report-detail-confirmation-pulse[hidden]{display:none;}
@keyframes report-confirmation-pulse{50%{box-shadow:0 0 0 8px rgba(245,158,11,0)}}
@media(prefers-reduced-motion:reduce){.report-detail-confirmation-pulse i{animation:none;}}
@media(max-width:699px){.report-progress-information{grid-template-columns:1fr}.report-progress-information>div{border-right:0!important}.report-required-confirmations li,.report-review-confirmations li{align-items:flex-start}}

/* Supervisor Report Detail: content-only rules on the shared Safety Start Golden shell. */
.detail-main[data-detail-type="report"] .detail-review-context{min-height:20px;margin:0 0 12px;gap:8px;font-size:14px;line-height:20px;}
.detail-main[data-detail-type="report"] .detail-review-context .detail-top-back{display:inline-flex;min-height:20px;margin:0;padding:0;gap:5px;color:#475569;border:0;border-radius:0;background:transparent;font-size:14px;font-weight:600;}
.detail-main[data-detail-type="report"] .detail-title-row{margin-bottom:12px;align-items:center;}
.detail-main[data-detail-type="report"] .detail-title-row h1{font-size:24px;line-height:30px;}
.detail-main[data-detail-type="report"] .detail-title-row p{margin-top:4px;font-size:13px;line-height:20px;}
.detail-main[data-detail-type="report"] .report-summary-response{color:#047857;font-size:15px;font-weight:850;}
.detail-main[data-detail-type="report"] .detail-review-action-panel .detail-comment-save{margin-left:auto;align-self:center;white-space:nowrap;}
.detail-main[data-detail-type="report"] .report-content-accordion-body{display:grid;gap:16px;}
.detail-main[data-detail-type="report"] .detail-registration-block{min-width:0;}
.detail-main[data-detail-type="report"] .detail-registration-block>h3{margin:0 0 10px;color:#0f172a;font-size:13px;line-height:20px;}
.detail-main[data-detail-type="report"] .report-progress-information{margin-top:16px;border-radius:8px;}
.detail-main[data-detail-type="report"] .report-required-confirmations{margin-top:12px;padding:16px;border-color:#e2e8f0;border-radius:8px;background:#f8fafc;}
.detail-main[data-detail-type="report"] .report-required-confirmations h3{color:#0f172a;font-size:13px;}
.detail-main[data-detail-type="report"] .report-confirmation-readonly{margin-top:12px;padding:12px 14px;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:12px;line-height:18px;}
.detail-main[data-detail-type="report"] .report-confirmation-readonly[hidden]{display:none;}
[data-report-workflow-action][hidden],
[data-report-confirmation-readonly][hidden]{display:none!important;}
.detail-main[data-detail-type="report"] .report-my-confirmation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;}
.detail-main[data-detail-type="report"] .report-my-confirmation>.report-detail-confirmation-pulse{grid-row:1 / span 2;}
.detail-main[data-detail-type="report"] .report-my-confirmation>strong{color:#0f172a;font-size:14px;line-height:20px;}
.detail-main[data-detail-type="report"] .report-my-confirmation>p{grid-column:2;margin:0;color:#64748b;font-size:12px;line-height:18px;}
.detail-main[data-detail-type="report"] .report-my-confirmation>button{grid-column:3;grid-row:1 / span 2;white-space:nowrap;}
.detail-main[data-detail-type="report"] .report-my-confirmation.is-pending{border-color:#fbbf24;background:#fffbeb;box-shadow:inset 4px 0 0 #d97706;}
.detail-main[data-detail-type="report"] .report-my-confirmation.is-complete{border-color:#a7f3d0;background:#f0fdf4;box-shadow:inset 4px 0 0 #059669;}
.detail-main[data-detail-type="report"] .report-my-confirmation.is-complete>strong{color:#047857;}
.detail-main[data-detail-type="report"] .detail-review-section.is-current-step{border-color:#fbbf24;background:#fffbeb;box-shadow:inset 4px 0 0 #d97706;}
.detail-main[data-detail-type="report"] .detail-review-section.is-current-step>summary b,.detail-main[data-detail-type="report"] .detail-review-section.is-current-step>summary em{color:#b45309;}
.detail-main[data-detail-type="report"] .detail-review-section.is-complete-step{border-color:#a7f3d0;background:#f0fdf4;box-shadow:inset 4px 0 0 #059669;}
.detail-main[data-detail-type="report"] .detail-review-section.is-complete-step>summary b,.detail-main[data-detail-type="report"] .detail-review-section.is-complete-step>summary em{color:#047857;}
@media(max-width:699px){.detail-main[data-detail-type="report"] .report-my-confirmation{grid-template-columns:auto minmax(0,1fr)}.detail-main[data-detail-type="report"] .report-my-confirmation>button{grid-column:1 / -1;grid-row:auto;width:100%;}}
.detail-main[data-detail-type="report"] .detail-timeline{margin-top:16px;}
body.detail-preview-open{position:fixed!important;top:calc(var(--detail-preview-scroll) * -1)!important;right:0;left:0;width:100%;overflow:hidden!important;}
.detail-attachment-preview[open]{position:fixed;inset:0;margin:auto;max-width:none;max-height:none;}
.detail-attachment-preview::backdrop{background:rgba(15,23,42,.68);backdrop-filter:none;}
.detail-attachment-preview>[data-attachment-preview-body]{overflow:auto;overscroll-behavior:contain;}
.detail-attachment-preview :is(img,iframe){max-width:100%;max-height:100%;object-fit:contain;}
@media(max-width:900px){.detail-main[data-detail-type="report"] .detail-review-action-panel .detail-comment-save{margin-left:0;align-self:flex-start}}

/* Report attachment categories expose permitted uploads without nested disclosure. */
.detail-main[data-detail-type="report"] .report-upload-category { min-width:0; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.detail-main[data-detail-type="report"] .report-upload-category + .report-upload-category { margin-top:12px; }
.detail-main[data-detail-type="report"] .report-upload-category > header { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.detail-main[data-detail-type="report"] .report-upload-category h4 { margin:0; font-size:15px; }
.detail-main[data-detail-type="report"] .report-upload-count { padding:3px 8px; border-radius:999px; background:var(--background); color:var(--muted); font-size:12px; }
.detail-main[data-detail-type="report"] .report-upload-trigger { margin-left:auto; min-height:44px; padding:8px 14px; border:1px solid var(--blue); border-radius:8px; background:var(--blue); color:#fff; font:inherit; font-size:13px; font-weight:700; white-space:nowrap; cursor:pointer; }
.detail-main[data-detail-type="report"] .report-upload-trigger:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.detail-main[data-detail-type="report"] .report-upload-trigger:disabled { opacity:.6; cursor:wait; }
.detail-main[data-detail-type="report"] .report-upload-category > p { margin:10px 0; color:var(--muted); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.detail-main[data-detail-type="report"] .report-upload-empty { padding:12px; background:var(--background); border-radius:8px; }
.detail-main[data-detail-type="report"] .report-upload-category :is(li,li > span,small,strong) { min-width:0; overflow-wrap:anywhere; }
@media (max-width:900px) {
  .detail-main[data-detail-type="report"] .detail-review-summary { display:flex !important; width:100%; max-width:100%; min-width:0; overflow-x:auto; gap:12px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .detail-main[data-detail-type="report"] .detail-review-summary > div { flex:0 0 88%; width:88%; min-width:0 !important; max-width:88%; box-sizing:border-box; scroll-snap-align:start; scroll-snap-stop:always; }
  .detail-main[data-detail-type="report"] .detail-review-summary dl > div { grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:8px; }
  .detail-main[data-detail-type="report"] .detail-review-summary :is(dt,dd,p,strong) { min-width:0; white-space:normal !important; overflow-wrap:anywhere; }
  .detail-main[data-detail-type="report"] .detail-title-row > div { min-width:0; }
  .detail-main[data-detail-type="report"] .detail-title-row :is(h1,p,span) { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .detail-main[data-detail-type="report"] .report-upload-category .report-attachment-list li { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
}

/* Worker Start detail: preserve all chapters without desktop column placement. */
@media (max-width:699px) {
  .detail-main[data-detail-type="start"][data-detail-role="worker"] .detail-review-section .detail-review-section-body { grid-template-columns:minmax(0,1fr); min-width:0; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] .detail-review-section-body > * { grid-column:1 / -1 !important; grid-row:auto !important; min-width:0; max-width:100%; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] :is(.detail-information-grid,.detail-review-text-grid,.detail-info-grid,#detail-comment-content) { grid-template-columns:minmax(0,1fr) !important; min-width:0; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] :is(.detail-information-grid,.detail-info-grid) > div { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; min-width:0; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] :is(dd,p) { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] .detail-work-detail .detail-text-block + .detail-text-block { padding-left:0; border-left:0; border-top:1px solid #e2e8f0; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] .detail-lifecycle-actions { flex-direction:column; align-items:stretch; gap:12px; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] [data-start-lifecycle-buttons]:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] :is([data-start-lifecycle-buttons],.detail-attachment-actions) button { min-height:44px; }
  .detail-main[data-detail-type="start"][data-detail-role="worker"] .detail-approval-preview { grid-column:auto; grid-row:auto; }
}
