/* Group cards are inset inside the shared list, with their own closed outline. */
.regulation-module .regulation-notifications-table .notification-group-shell {
 padding: 20px 18px; border: 0; background: color-mix(in srgb, var(--brand-soft) 20%, white);
}
/* Consecutive groups share one vertical gap instead of stacking two. */
.regulation-module .regulation-notifications-table .notification-group-wrapper + .notification-group-wrapper > tr > .notification-group-shell { padding-top: 0; }
.production .regulation-module .regulation-notifications-table tr[data-notification-row] { background: #fff; }
.production .regulation-module .regulation-notifications-table tr.notification-row-alternate[data-notification-row] { background: #f6f9ff; }
html[data-theme="dark"] .production .regulation-module .regulation-notifications-table tr[data-notification-row] { background: #142034; }
html[data-theme="dark"] .production .regulation-module .regulation-notifications-table tr.notification-row-alternate[data-notification-row] { background: #1a2940; }
.notification-group-card { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: var(--surface, white); box-shadow: 0 3px 12px #18385b08; }
.regulation-module .regulation-notifications-table .notification-group-card table { min-width: 0; width: 100%; table-layout: fixed; border-collapse: collapse; }
.regulation-notifications-table .notification-process-members td:first-child { border-left: 0; }
.regulation-notifications-table .notification-process-heading th { width: auto; }
.regulation-notifications-table .notification-process-members tr:last-child td { border-bottom: 0; }
.regulation-notifications-table .notification-group-card .regulation-actions-field { width: 100%; min-width: 0; }
.notification-response-heading { display: flex; align-items: center; gap: 5px; }
.response-timeline-trigger { display: inline-grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: help; flex-shrink: 0; }
.response-timeline-trigger:hover, .response-timeline-trigger[aria-expanded="true"] { color: var(--brand); background: var(--brand-soft); }
.response-timeline-trigger:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.response-timeline { position: fixed; inset: auto; margin: 0; width: 330px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: #fff; color: var(--ink); box-shadow: 0 18px 50px #16345926; white-space: normal; text-align: left; }
.response-timeline::backdrop { background: transparent; }
.response-timeline header { display: grid; gap: 5px; padding-bottom: 18px; }
.response-timeline header strong { font-size: 13px; font-weight: 600; }
.response-timeline header span { font-size: 10px; color: var(--muted); overflow-wrap: anywhere; }
.response-timeline ol { list-style: none; margin: 0; padding: 0; }
.response-timeline li { position: relative; display: flex; gap: 12px; padding-bottom: 20px; font-size: 11px; line-height: 1.5; }
.response-timeline li:last-child { padding-bottom: 0; }
.response-timeline li:not(:last-child)::before { content: ''; position: absolute; top: 27px; bottom: 0; left: 13px; width: 1px; background: var(--line); }
.response-timeline-marker { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #f0f3f7; color: #718197; flex-shrink: 0; }
.response-timeline li strong { display: block; font-size: 11px; font-weight: 500; padding-top: 3px; }
.response-timeline li small { display: block; font-size: 10px; color: var(--muted); margin-top: 3px; }
.response-timeline .is-complete .response-timeline-marker { color: #216b59; background: #e5f5ed; }
.response-timeline .is-complete strong { color: #216b59; }
.response-timeline .is-warning strong { color: #865415; }
.response-timeline .is-warning .response-timeline-marker { color: #865415; background: #fff3d9; }
.response-timeline [data-response-origin] p { margin-top: 6px; font-size: 10px; }
.response-timeline .response-history-checked { margin-top: 14px; font-size: 10px; }
.response-timeline .is-pending strong { color: #718197; }
.response-timeline footer { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.response-timeline footer .badge { white-space: normal; font-weight: 500; }
html[data-theme="dark"] .regulation-module .regulation-notifications-table .notification-group-shell { background: #14223666; }
html[data-theme="dark"] .notification-group-card, html[data-theme="dark"] .response-timeline { background: #192b41; }
html[data-theme="dark"] .response-timeline .is-complete strong { color: #89d7b8; }
html[data-theme="dark"] .response-timeline .is-complete .response-timeline-marker { color: #89d7b8; background: #21473e; }
html[data-theme="dark"] .response-timeline .is-warning strong { color: #efd095; }
html[data-theme="dark"] .response-timeline .is-warning .response-timeline-marker { color: #efd095; background: #574526; }
html[data-theme="dark"] .response-timeline .is-pending strong { color: #9eafc6; }
html[data-theme="dark"] .response-timeline .is-pending .response-timeline-marker { color: #9eafc6; background: #293c53; }
@media(max-width:700px) {
 .regulation-module .regulation-notifications-table .notification-group-wrapper { display: block; margin: 0; }
 .regulation-module .regulation-notifications-table .notification-group-wrapper>tr { display: block; padding: 0; margin: 0; border: 0; background: transparent; }
 .regulation-module .regulation-notifications-table .notification-group-shell { display: block; padding: 14px 8px; width: auto; min-width: 0; }
 .regulation-module .regulation-notifications-table .notification-group-shell::before { display: none; }
 .regulation-module .regulation-notifications-table .notification-group-card table { display: block; }
 .regulation-module .regulation-notifications-table .notification-process-members { margin: 0; }
 .regulation-module .regulation-notifications-table .notification-process-members tr[data-notification-row] { border: 0; border-top: 1px solid var(--line); border-radius: 0; margin: 0; }
 .regulation-module .regulation-notifications-table .notification-process-heading th { border-radius: 0; }
}
