.raid-workspace { min-width: 0; }
.raid-workspace .raid-layout { display: block; min-width: 0; }
.raid-workspace-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; }
.raid-workspace-heading h2 { font-size: 22px; margin: 0 0 4px; }
.raid-workspace-heading .muted { font-size: 12px; color: var(--muted); }
.raid-heading-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.raid-heading-actions button { display: inline-flex; align-items: center; gap: 7px; }
.raid-workspace .link-button, #raidPreviewDialog .link-button, #ticketDialog .link-button { color: var(--accent); }
.raid-mode-tabs, .raid-saved-views { display: flex; gap: 20px; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
.raid-mode-tabs button, .raid-saved-views button { color: var(--muted); border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; padding: 11px 0; font-weight: 500; }
.raid-mode-tabs button.active, .raid-saved-views button.active { color: var(--accent); border-bottom-color: var(--accent); }
.raid-workspace .raid-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; padding: 20px 0; margin: 0; }
.raid-metric { text-align: left; background: none; border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: 0 18px; color: var(--text); display: grid; gap: 6px; min-width: 0; }
.raid-metric:first-child { padding-left: 0; }
.raid-metric:last-child { border-right: 0; }
.raid-metric span { font-size: 12px; color: var(--muted); font-weight: 500; }
.raid-metric strong { font-size: 25px; line-height: 1.2; }
.raid-metric small { font-size: 11px; color: var(--muted); font-weight: 400; white-space: normal; }
.raid-metric.active strong { color: var(--accent); }
.raid-workspace .raid-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; padding: 14px 0; border: 0; border-radius: 0; background: transparent; }
.raid-toolbar > label { flex: 1 1 130px; min-width: 0; display: grid; gap: 5px; }
.raid-toolbar > label.raid-search { flex: 2 1 230px; }
.raid-workspace .raid-toolbar label > span { font-size: 11px; color: var(--muted); font-weight: 500; }
.raid-workspace .raid-toolbar :is(input, select, button) { min-height: 32px; max-width: 100%; }
.raid-advanced { position: relative; }
.raid-advanced > summary { cursor: pointer; padding: 8px 4px; color: var(--muted); font-size: 12px; }
.raid-advanced-fields { position: absolute; top: 100%; right: 0; z-index: 20; width: 310px; max-width: 80vw; padding: 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--shadow); display: grid; gap: 12px; }
.raid-advanced-fields label { display: grid; gap: 5px; }
.raid-workspace .raid-register { display: block; min-width: 0; border-top: 1px solid var(--line); }
.raid-workspace .table-wrap { border: 0; border-radius: 0; max-width: 100%; }
#raidTable { width: 100%; min-width: 960px; table-layout: auto; border-collapse: collapse; font-size: 12px; }
#raidTable th { color: var(--muted); text-align: left; font-size: 11px; font-weight: 600; background: var(--panel-soft); white-space: nowrap; padding: 11px 10px; }
#raidTable td { padding: 13px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
#raidTable tbody tr:hover { background: var(--hover); }
#raidTable .raid-item-cell { width: 30%; min-width: 240px; max-width: 420px; }
.raid-item-open { text-align: left; display: grid; gap: 4px; color: var(--text); background: transparent; border: none; padding: 0; font-size: 13px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.raid-item-open:hover { color: var(--accent); }
.raid-item-open small, .raid-context small, .raid-date small { display: block; font-size: 11px; font-weight: 400; color: var(--muted); }
.raid-item-open small { color: var(--accent); }
.raid-context { max-width: 190px; min-width: 130px; }
.raid-context span { display: block; line-height: 1.4; }
.raid-context small, .raid-date small { margin-top: 4px; }
.raid-owner { min-width: 115px; max-width: 180px; overflow-wrap: anywhere; }
.raid-kind { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 11px; }
.raid-kind.risk { color: var(--amber); }
.raid-kind.issue { color: var(--red); }
.raid-kind.decision { color: var(--accent); }
.raid-icon { display: inline-block; width: 16px; height: 16px; flex: 0 0 16px; background: currentColor; mask: var(--raid-icon) center / contain no-repeat; }
.raid-badge { display: inline-flex; padding: 3px 7px; background: var(--chip); color: var(--chip-text); border: 1px solid var(--line); border-radius: 4px; font-size: 11px; line-height: 1.3; white-space: nowrap; }
.raid-badge.danger, .raid-date.danger, .ticket-risk-assessments .danger { color: var(--red); }
.raid-badge.warning, .ticket-risk-assessments .warning { color: var(--amber); }
.raid-badge.success, .ticket-risk-assessments .success { color: var(--green); }
:root[data-theme=dark] .raid-workspace, :root[data-theme=dark] #raidPreviewDialog, :root[data-theme=dark] #ticketDialog { --red: #f28da0; --amber: #f1c46b; --green: #7ccba8; }
.raid-next { white-space: nowrap; font-size: 12px; }
.raid-table-footer { color: var(--muted); font-size: 11px; padding: 12px 0; }
#raidTable .raid-group-row td { font-weight: 600; background: var(--panel-soft); padding: 8px 10px; }
.raid-overview-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 36px; }
.raid-overview-grid > section { padding: 24px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.raid-overview-grid h3 { margin: 0 0 18px; font-size: 15px; }
.raid-overview-grid p, .raid-overview-grid small { color: var(--muted); font-size: 12px; }
.raid-matrix { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.raid-matrix button { height: 58px; border-radius: 4px; background: color-mix(in srgb, var(--green) 18%, var(--panel)); color: var(--text); border: 1px solid var(--line); }
.raid-matrix button.danger { background: color-mix(in srgb, var(--red) 24%, var(--panel)); }
.raid-matrix button.warning { background: color-mix(in srgb, var(--amber) 20%, var(--panel)); }
.raid-review-row { padding: 10px 0; display: grid; gap: 4px; border-bottom: 1px solid var(--line); }
.raid-review-row button { text-align: left; }
.raid-distribution { display: grid; grid-template-columns: 115px 1fr 30px; gap: 12px; align-items: center; margin: 16px 0; font-size: 12px; }
.raid-distribution progress { width: 100%; height: 8px; accent-color: var(--blue); }
#raidPreviewDialog { position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0; height: 100dvh; max-height: 100dvh; width: 480px; max-width: 100vw; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: var(--bg); color: var(--text); }
#raidPreviewDialog[open] { display: flex; flex-direction: column; }
.raid-preview-head, .raid-preview-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.raid-preview-foot { border-top: 1px solid var(--line); border-bottom: 0; margin-top: auto; }
.raid-preview-body { padding: 24px; overflow-y: auto; }
.raid-preview-body h2 { font-size: 21px; line-height: 1.4; margin: 0 0 14px; }
.raid-preview-body h3 { font-size: 13px; margin-top: 26px; }
.raid-preview-body p { font-size: 13px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.raid-preview-body dl { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; font-size: 12px; margin: 24px 0; }
.raid-preview-body dt { color: var(--muted); }
.raid-preview-body dd { margin: 0; overflow-wrap: anywhere; }
.raid-preview-body > button { display: block; text-align: left; margin: 10px 0; }
.raid-assessment-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.raid-assessment-strip small { display: block; color: var(--muted); margin-bottom: 8px; }

#ticketDialog.ticket-record-dialog { position: fixed; inset: 0 auto 0 var(--ticket-workspace-left, 0px); width: var(--ticket-workspace-width, 100%); max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-inline: 1px solid var(--line); border-radius: 0; padding: 0; background: var(--bg); color: var(--text); overflow-y: auto; z-index: 30; container: ticket-record / inline-size; }
#ticketDialog #ticketForm { width: min(1440px, 100%); min-width: 0; max-width: none; margin: 0 auto; padding: 24px 32px 0; background: transparent; border: 0; box-shadow: none; }
#ticketDialog .dialog-heading { align-items: flex-start; gap: 24px; padding-bottom: 18px; margin-bottom: 0; }
.ticket-record-heading { min-width: 0; flex: 1; }
#ticketDialog #ticketDialogTitle { margin: 12px 0 10px; font-size: 25px; line-height: 1.3; overflow-wrap: anywhere; }
.ticket-record-context, .ticket-record-meta { color: var(--muted); font-size: 12px; line-height: 1.6; }
.ticket-record-back { margin-bottom: 14px; padding-left: 0; }
#ticketDialog .dialog-heading-actions { flex: 0 0 auto; gap: 8px; }
#ticketDialog .dialog-heading-actions button { min-height: 34px; }
#ticketDialog .ticket-timer-panel { margin: 0 0 18px; padding: 9px 0; border: 0; border-block: 1px solid var(--line); border-radius: 0; background: transparent; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
#ticketDialog .ticket-timer-panel > div:first-child { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
#ticketDialog #timerDetail { color: var(--muted); font-size: 11px; }
#ticketDialog .timer-actions { display: flex; gap: 8px; flex-wrap: wrap; }
#ticketDialog .timer-actions button { width: auto; }
.ticket-record-body { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 32px; align-items: start; }
.ticket-record-main { min-width: 0; }
.ticket-record-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.ticket-record-tabs button { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 13px 0; background: none; color: var(--muted); font-size: 12px; white-space: nowrap; }
.ticket-record-tabs [aria-selected=true] { color: var(--accent); border-bottom-color: var(--accent); }
#ticketDialog .ticket-record-panel { display: grid; gap: 24px; padding-top: 24px; min-width: 0; }
#ticketDialog .ticket-record-panel > section { padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; min-width: 0; }
#ticketDialog .ticket-record-panel h3, .ticket-property-group h3 { font-size: 14px; margin: 0 0 16px; }
#ticketDialog .worklog-heading { margin-bottom: 12px; }
#ticketDialog .worklog-heading p { display: none; }
#ticketDialog .ticket-record-panel label { display: grid; gap: 7px; min-width: 0; }
#ticketDialog .ticket-record-panel label > span:first-child { font-size: 12px; font-weight: 600; color: var(--text); }
#ticketDialog .raid-detail-editor { display: grid; gap: 20px; }
#ticketDialog .raid-detail-editor .compact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
#ticketDialog .ticket-read-field > .ticket-field-value { font-size: 13px; font-weight: 400; color: var(--text); line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
#ticketDialog:not(.ticket-record-editing) .ticket-read-field > :is(input, select, textarea, .searchable-select-control),
#ticketDialog:not(.ticket-record-editing) .ticket-read-field > .search-select,
#ticketDialog:not(.ticket-record-editing) .ticket-read-field > .search-multi-picker,
#ticketDialog:not(.ticket-record-editing) .ticket-assessment-input,
#ticketDialog:not(.ticket-record-editing) [data-ticket-field=title] { display: none !important; }
#ticketDialog:not(.ticket-record-editing) [data-ticket-field=customFields] > :not(.ticket-custom-readout):not(span:first-child) { display: none; }
.ticket-custom-readout { margin-top: 10px; font-size: 12px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
#ticketDialog.ticket-record-editing .ticket-custom-readout { display: none; }
#ticketDialog .raid-detail-editor .worklog-heading h3 { margin-bottom: 0; }
#ticketDialog .raid-detail-editor .worklog-heading { margin-bottom: 0; }
#ticketDialog.ticket-record-editing .ticket-field-value { display: none; }
#ticketDialog .ticket-type-hidden { display: none !important; }
.ticket-risk-assessments { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 0 0 22px; border-bottom: 1px solid var(--line); }
.ticket-risk-assessments > div { display: grid; gap: 10px; }
.ticket-risk-assessments span { color: var(--muted); font-size: 12px; }
.ticket-risk-assessments strong { font-size: 21px; }
.ticket-record-properties { border-left: 1px solid var(--line); padding-left: 24px; min-width: 0; }
.ticket-record-related .ticket-field-value button { display: block; text-align: left; margin: 8px 0; white-space: normal; }
.ticket-property-group { padding: 14px 0 24px; border-bottom: 1px solid var(--line); }
#ticketDialog .ticket-property-group > label { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 12px; align-items: start; margin: 14px 0; min-width: 0; }
#ticketDialog .ticket-property-group > label > span:first-child { font-size: 12px; line-height: 1.6; color: var(--muted); }
#ticketDialog .ticket-property-group .ticket-field-value { font-size: 12px; line-height: 1.6; }
#ticketDialog.ticket-record-editing .ticket-property-group > label, #ticketDialog .ticket-property-group > label:has(.search-multi-picker) { grid-template-columns: 1fr; gap: 6px; }
#ticketDialog :is(input, select, textarea) { max-width: 100%; min-width: 0; }
#ticketDialog .ticket-property-group .activity-editor { border: 0; border-radius: 0; padding: 12px 0; background: transparent; }
#ticketDialog #ticketForm > menu { position: sticky; bottom: 0; margin: 24px -32px 0; padding: 12px 32px; background: var(--bg); border-top: 1px solid var(--line); z-index: 2; }
#ticketDialog:not(.ticket-record-editing) #saveTicketButton { display: none; }
#ticketDialog .activity-row, #ticketDialog .attachment-row { overflow-wrap: anywhere; }
@media (max-width: 1050px) {
  .raid-workspace .raid-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 0; }
  .raid-metric:nth-child(4) { padding-left: 0; }
}
@container ticket-record (max-width: 1050px) {
  #ticketDialog #ticketForm { padding: 20px 24px 0; }
  #ticketDialog #ticketForm > menu { margin-inline: -24px; padding-inline: 24px; }
  .ticket-record-body { grid-template-columns: minmax(0, 1fr) 250px; gap: 22px; }
  .ticket-record-properties { padding-left: 18px; }
  #ticketDialog .ticket-property-group > label { grid-template-columns: 90px minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .raid-workspace-heading { align-items: flex-start; flex-direction: column; }
  .raid-workspace .raid-summary { grid-template-columns: 1fr 1fr; }
  .raid-metric:nth-child(odd) { padding-left: 0; }
  .raid-metric:nth-child(4) { padding-left: 18px; }
  .raid-overview-grid { grid-template-columns: 1fr; gap: 0; }
  .raid-advanced-fields { right: auto; left: 0; }
}
@container ticket-record (max-width: 850px) {
  .ticket-record-body { display: flex; flex-direction: column; gap: 24px; }
  .ticket-record-main, .ticket-record-properties { width: 100%; }
  .ticket-record-properties { border: 0; border-top: 1px solid var(--line); padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  #ticketDialog .ticket-property-group > label { grid-template-columns: 100px minmax(0, 1fr); }
  #ticketDialog #ticketDialogTitle { font-size: 22px; }
  #ticketDialog .dialog-heading { flex-wrap: wrap; gap: 12px; }
}
@container ticket-record (max-width: 600px) {
  #ticketDialog #ticketForm { padding: 16px 16px 0; }
  #ticketDialog .dialog-heading { flex-direction: column; gap: 12px; }
  #ticketDialog #ticketDialogTitle { font-size: 21px; }
  .ticket-record-properties { display: block; }
  #ticketDialog .ticket-property-group > label { grid-template-columns: 120px minmax(0, 1fr); }
  #ticketDialog #ticketForm > menu { margin-inline: -16px; padding-inline: 16px; }
  #ticketDialog .ticket-record-panel :is(.comment-form, .attachment-form, .ticket-remote-support-grid, .ticket-remote-support-tool-grid) { grid-template-columns: 1fr; }
  #ticketDialog .ticket-record-panel .span-2 { grid-column: auto; }
  .ticket-record-tabs { gap: 20px; }
}
