/* Records first. The contextual non-modal email panel shares their working frame. */
.list-stage { min-width:0; outline:none; }
.stage-title { font-size:30px; font-weight:300; letter-spacing:-.6px; }
.list-start { margin:30px auto; max-width:800px; padding:48px; border:1px solid var(--line); background:var(--surface); }
.list-introduction { color:var(--muted); font-size:15px; margin:16px 0 24px; }
.list-start-actions { display:flex; gap:10px; flex-wrap:wrap; }
.list-sample-link { margin-top:24px; }
.list-editor { background:var(--surface); border:1px solid var(--line); min-width:0; }
.list-document-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 22px; border-bottom:1px solid var(--line); }
.list-name-area { min-width:0; flex:1; }
.list-title-input { padding:2px 0; border:0; border-radius:0; background:transparent; min-height:40px; font-size:24px; font-weight:350; letter-spacing:-.5px; }
.list-title-input:focus { box-shadow:0 1px 0 var(--accent); }
#listSaveStatus { color:var(--muted); font-size:12px; }
#listSaveStatus[data-dirty="true"] { color:var(--accent-strong); }
.list-save-actions { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.list-editor-fields { min-width:0; padding:0; border:0; margin:0; }
.list-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 22px; border-bottom:1px solid var(--line); }
.list-message-actions, .list-edit-actions { display:flex; align-items:center; gap:14px; min-width:0; }
.list-edit-actions input { width:180px; min-height:38px; font-size:13px; }
.list-toolbar .button { padding:8px 12px; min-height:38px; font-size:13px; }
.notification-count { color:var(--muted); font-size:12px; white-space:nowrap; }
.list-working-frame { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; }
.list-working-frame:has(.list-preview-panel[open]) { grid-template-columns:minmax(0,1fr) minmax(340px,40%); }
.list-records { min-width:0; }
.list-table-shell { height:clamp(320px,calc(100dvh - 255px),760px); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.list-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; min-width: 840px; font-size: 0.86rem; }
.list-table th, .list-table td { width: 165px; padding: 0; border-right: 1px solid #e8e4dc; border-bottom: 1px solid #e8e4dc; background: var(--surface); font-weight: 400; text-align: left; }
.list-table thead th { position: sticky; top: 0; z-index: 2; background: var(--surface-soft); border-bottom-color: var(--line-strong); }
.list-table thead th.list-row-number { z-index: 3; }
.list-table .list-row-number { width: 46px; text-align: center; color: var(--muted-secondary); font-size: 0.74rem; background: var(--surface-softer); position: sticky; left: 0; z-index: 1; }
.list-table .list-email-column { width: 285px; }
.list-table .list-checkbox-column { width: 108px; }
.list-table .list-row-action { width: 42px; text-align: center; border-right: 0; }
.list-column-button { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 10px 12px; font-size: 0.74rem; font-weight: 500; text-align: left; overflow-wrap: anywhere; }
.list-column-button span { color: var(--accent); font-size: 0.78rem; }
.list-column-button:hover { background: var(--accent-soft); }
.list-table .list-cell-input { display: block; padding: 12px; border: 0; border-radius: 0; background: transparent; min-height: 46px; max-height: 110px; height: 46px; font-size: 0.86rem; line-height: 1.5; resize: none; overflow: auto; }
.list-cell-input:focus { position: relative; z-index: 1; box-shadow: inset 0 0 0 1.5px var(--accent); }
.list-table .list-checkbox-cell { text-align: center; }
.list-checkbox { appearance: auto; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 10px; accent-color: var(--accent-strong); cursor: pointer; vertical-align: middle; }
.list-delete-row { width: 34px; height: 38px; font-size: 1.1rem; color: var(--muted-secondary); }
.list-delete-row:hover { color: var(--danger); }
.list-no-rows { padding: 36px 24px; text-align: center; font-size: 0.9rem; color: var(--muted); }
.list-table-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 28px; font-size: 0.76rem; color: var(--muted); min-height: 58px; }
.list-pager { display: flex; align-items: center; gap: 12px; }
.list-pager .icon-button { width: 32px; min-width: 32px; min-height: 32px; height: 32px; }

.list-table .list-notification-column { width:185px; }
.list-notification-cell { padding:7px 9px; }
.list-notification-state { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:0 10px; min-height:46px; }
.list-notification-pill { color:var(--muted); font-size:12px; line-height:1.3; white-space:nowrap; }
.list-notification-pill[data-tone="ready"] { color:var(--accent-strong); }
.list-notification-pill[data-tone="complete"] { color:var(--success); }
.list-notification-pill[data-tone="warning"] { color:var(--warning); }
.list-notification-pill[data-tone="danger"] { color:var(--danger); }
.list-notification-action { font-size:12px; color:var(--accent-strong); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.list-table tr[data-notification-active="true"] > * { background:var(--accent-soft); }
.list-preview-panel { position:sticky; top:88px; width:100%; max-height:calc(100dvh - 110px); padding:0; margin:0; border:0; border-left:1px solid var(--line); background:var(--surface-softer); color:var(--ink); overflow:auto; }
.list-preview-panel[open] { display:block; }
.notification-review-head { display:flex; align-items:center; gap:16px; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); }
.notification-review-head h2 { font-size:18px; font-weight:400; margin:0; }
.list-preview-panel .email-preview-meta { padding:6px 20px; }
.list-preview-panel .email-preview-meta > div { grid-template-columns:48px minmax(0,1fr); gap:10px; padding:8px 0; }
.list-preview-panel .email-preview-body { padding:20px; min-height:220px; font-size:16px; }
.list-preview-panel .dialog-actions { margin:0; padding:14px 20px; border-top:1px solid var(--line); background:var(--surface); position:sticky; bottom:0; }
.notification-review-note { padding:12px 20px; font-size:13px; line-height:1.5; color:var(--muted); }
.notification-review-note:empty { display:none; }
.notification-config-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0; }
.notification-config-grid.one-column { grid-template-columns:1fr; }
.notification-config-grid .field-stack { margin:0; }
.list-notification-dialog { width:min(720px,calc(100% - 28px)); }
.list-notification-dialog textarea { min-height:200px; }
.row-menu { position:relative; }
.row-menu summary { list-style:none; cursor:pointer; font-size:18px; padding:0 6px; }
.row-menu[open]:has(summary:not([hidden])) .list-notification-action { position:absolute; right:0; background:var(--surface); border:1px solid var(--line); padding:10px; z-index:5; }
