Release v0.1.2

This commit is contained in:
2026-06-25 19:58:20 +02:00
parent 39ad3500e2
commit 23318c709a
98 changed files with 3432 additions and 2339 deletions

View File

@@ -1,5 +1,15 @@
/* Campaign workspace data interfaces. Kept separate from layout.css so local sticky/table tweaks stay untouched. */
.workspace-data-page .card { margin-bottom: 18px; }
.workspace-data-page > .workspace-heading {
position: sticky;
top: 0;
z-index: 75;
background: var(--bg, #f8f7f4);
border-bottom: 1px solid var(--line);
box-shadow: 0 8px 18px rgba(65, 60, 52, .08);
margin: -28px -34px 22px;
padding: 18px 34px 16px;
}
.workspace-heading .mono-small { margin-top: 8px; }
.alert.success { background: var(--success-bg); color: var(--success-text); margin-bottom: 12px; }
.alert.info { background: var(--info-bg); color: var(--info-text); margin-bottom: 12px; }
@@ -95,10 +105,6 @@
color: #4d4944;
}
.danger-text { color: var(--danger-text); }
.page-bottom-actions {
justify-content: flex-end;
margin-top: 18px;
}
.section-mini-heading {
margin: 18px 0 8px;
font-size: 12px;
@@ -375,6 +381,28 @@
.settings-dashboard-grid {
align-items: start;
}
.queue-pressure-section {
margin-bottom: 18px;
}
.queue-pressure-heading {
margin: 0 0 12px;
color: var(--text-strong);
font-size: 16px;
}
.queue-pressure-grid {
grid-template-columns: repeat(5, minmax(112px, 1fr));
margin: 0;
}
.queue-pressure-grid .metric-card {
min-width: 0;
}
.queue-pressure-grid .metric-label {
min-height: 2.4em;
}
@media (max-width: 1150px) {
.queue-pressure-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}
.module-table th,
.module-table td {
white-space: nowrap;
@@ -605,6 +633,13 @@
color: var(--text-strong);
box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.template-body-mode button:disabled {
cursor: not-allowed;
opacity: .58;
}
.template-editor-mode {
margin-top: -2px;
}
.template-editor-actions {
justify-content: flex-end;
}
@@ -812,23 +847,32 @@
margin-top: 12px;
}
.attachment-rules-modal {
width: min(1120px, 100%);
width: min(1500px, 100%);
}
.attachment-rules-body {
min-height: 0;
overflow: auto;
padding: 0;
}
.attachment-rules-body > .data-grid-shell:only-child {
margin: -22px;
width: calc(100% + 44px);
.attachment-rules-body .attachment-rules-editor,
.attachment-rules-body .attachment-rules-main {
width: 100%;
min-width: 0;
}
.attachment-rules-body > .data-grid-shell:only-child,
.attachment-rules-body .attachment-rules-main > .data-grid-shell:only-child {
margin: 0;
width: 100%;
border: 0;
border-radius: 0;
}
.attachment-rules-body > .data-grid-shell:only-child .data-grid-container {
.attachment-rules-body > .data-grid-shell:only-child .data-grid-container,
.attachment-rules-body .attachment-rules-main > .data-grid-shell:only-child .data-grid-container {
height: auto;
min-height: 0;
}
.attachment-rules-body > .data-grid-shell:only-child .data-grid-container .data-grid {
.attachment-rules-body > .data-grid-shell:only-child .data-grid-container .data-grid,
.attachment-rules-body .attachment-rules-main > .data-grid-shell:only-child .data-grid-container .data-grid {
min-height: 0;
}
.attachment-rules-empty {
@@ -854,15 +898,17 @@
.recipient-address-stack { min-width: 260px; }
}
.attachment-rules-table th:nth-child(1),
.attachment-rules-table td:nth-child(1) { min-width: 160px; }
.attachment-rules-table td:nth-child(1) { min-width: 180px; }
.attachment-rules-table th:nth-child(2),
.attachment-rules-table td:nth-child(2) { width: 280px; }
.attachment-rules-table td:nth-child(2) { width: 240px; }
.attachment-rules-table th:nth-child(3),
.attachment-rules-table td:nth-child(3) { min-width: 230px; }
.attachment-rules-table td:nth-child(3) { min-width: 300px; }
.attachment-rules-table th:nth-child(4),
.attachment-rules-table td:nth-child(4) { width: 175px; }
.attachment-rules-table td:nth-child(4) { width: 220px; }
.attachment-rules-table th:nth-child(5),
.attachment-rules-table td:nth-child(5) { width: 160px; }
.attachment-rules-table th:last-child,
.attachment-rules-table td:last-child { width: 145px; }
.attachment-rules-table td:last-child { width: 150px; }
.attachment-rules-table .data-grid-body-cell:last-child .btn {
width: 100%;
}
@@ -883,9 +929,6 @@
.attachment-rules-table tr.is-choosing-file td {
background: var(--panel-soft);
}
.attachment-rules-footer-actions {
margin-top: 12px;
}
.attachment-file-browser-panel {
display: grid;
gap: 12px;
@@ -1192,6 +1235,12 @@
gap: 1rem;
}
.message-preview-modal .message-display-body,
.message-preview-modal .message-display-html-frame {
height: clamp(280px, 45vh, 520px);
max-height: clamp(280px, 45vh, 520px);
}
.message-preview-meta {
margin: 0;
}
@@ -1573,10 +1622,10 @@
.review-flow-navigation {
position: sticky;
top: 0;
top: 85px;
z-index: 35;
margin: 0 0 24px;
padding: 10px;
padding: 15px 10px 10px;
border: 1px solid var(--line);
border-radius: var(--radius);
background: rgba(247, 246, 244, .96);
@@ -2488,6 +2537,20 @@
min-width: 0;
box-shadow: var(--shadow-card, 0 2px 10px rgba(0,0,0,.06));
}
.card-body > .admin-table-surface:only-child {
margin: -22px -24px;
width: calc(100% + 48px);
max-width: inherit;
}
.card-body > .admin-table-surface:only-child > .data-grid-shell {
border: 0;
border-radius: 0;
box-shadow: none;
}
.campaigns-page .card-body > .admin-table-surface:only-child {
margin: 0;
width: 100%;
}
.admin-icon-actions {
display: grid;
grid-auto-flow: column;
@@ -2593,6 +2656,16 @@
font-size: 12px;
}
.campaign-access-dialog > .dialog-header,
.campaign-access-dialog > .dialog-footer {
background: var(--surface);
}
.campaign-access-dialog > .dialog-body {
display: grid;
gap: 12px;
}
/* Administration scope separation and ownership safeguards ---------------- */
.admin-overview-section-label {
margin: 2px 0 14px;
@@ -2613,3 +2686,18 @@
font-size: 13px;
line-height: 1.45;
}
/* Campaign policy tables. */
.campaign-policy-row {
grid-template-columns: minmax(190px, .9fr) minmax(180px, .7fr) minmax(220px, 1fr);
}
.campaign-policy-control .toggle-switch {
min-height: 36px;
}
@media (max-width: 900px) {
.campaign-policy-row {
grid-template-columns: 1fr;
align-items: start;
}
}