/* admin-automations.css — Smart Automations Rule Builder */
/* ------------------------------------------------------------------------
   FIX-ENGINE F-007-010 (2026-07-23): contrast fix לבקשת הלל.
   The cards section hardcoded dark-mode colors (var(--frost-white) — an
   UNDEFINED variable whose #E8F1F2 fallback always rendered near-white text —
   plus #aaa/#999/#888 grays, white-alpha borders, black-alpha backgrounds).
   Light mode is the site DEFAULT (css/theme.css), so titles/desc/meta showed
   light-on-light. All text colors now use the same theme tokens the rest of
   the dashboard uses (--text / --text-secondary / --card / --card-hover /
   --border via css/admin-styles.css bridge → css/theme.css), with gold text
   on light backgrounds routed through --t-gold-text (#8B6914, AA on white).
   Greens that were too pale for white get an explicit [data-theme="dark"]
   override. Old dark values kept as var() fallbacks.
   ------------------------------------------------------------------------ */

#automations-view { padding: 0; }

.automations-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0 1.5rem;
    border-bottom: 1px solid var(--border, #1a3a42);
    margin-bottom: 1.5rem;
}
.automations-toolbar .auto-count {
    color: var(--text-secondary, #999); /* FIX-ENGINE F-007-010 */
    font-size: 0.9rem;
}

.automations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 1rem;
    margin-bottom: 2.5rem;
}

.automation-card {
    background: rgba(0, 96, 107, 0.08);
    border: 1px solid var(--border, #1a3a42);
    border-radius: 12px;
    padding: 1.25rem;
    transition: transform 0.15s, border-color 0.15s;
}
.automation-card:hover { transform: translateY(-2px); border-color: var(--gold, #D4AF37); }
.automation-card.disabled {
    opacity: 0.78;
    border-right: 3px solid var(--muted-teal, #00606B);
}

.auto-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.auto-card-title { flex: 1; min-width: 0; }
.auto-card-title h3 {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010: was var(--frost-white) */
    font-family: 'Frank Ruhl Libre', serif;
}
.auto-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.78rem;
    color: var(--text-secondary, #aaa); /* FIX-ENGINE F-007-010 */
}
.auto-card-meta i { margin-left: 0.25rem; opacity: 0.7; }

.auto-card-actions {
    display: flex;
    gap: 0.25rem;
}
.btn-icon {
    width: 32px; height: 32px;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary, #aaa); /* FIX-ENGINE F-007-010 */
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: all 0.15s;
}
.btn-icon:hover { background: rgba(212, 175, 55, 0.1); color: var(--t-gold-text, var(--gold, #D4AF37)); border-color: rgba(212, 175, 55, 0.3); }
.btn-icon.danger:hover { background: rgba(214, 69, 69, 0.12); color: var(--danger, #E57373); border-color: rgba(214, 69, 69, 0.35); }

.auto-card-desc {
    color: var(--text-secondary, #aaa); /* FIX-ENGINE F-007-010 */
    font-size: 0.85rem;
    margin: 0.75rem 0;
    line-height: 1.5;
}

.auto-card-stats {
    display: flex;
    gap: 1rem;
    padding: 0.75rem 0;
    margin-top: 0.5rem;
    border-top: 1px solid var(--border, rgba(255,255,255,0.05)); /* FIX-ENGINE F-007-010 */
}
.auto-stat {
    text-align: center;
    flex: 1;
}
.auto-stat-num {
    font-size: 1.4rem;
    color: var(--t-gold-text, var(--gold, #D4AF37)); /* FIX-ENGINE F-007-010: readable gold in light mode */
    font-weight: 600;
    line-height: 1;
}
.auto-stat-label { font-size: 0.7rem; color: var(--text-secondary, #888); margin-top: 0.25rem; } /* FIX-ENGINE F-007-010 */
.auto-stat.error .auto-stat-num { color: var(--danger, #E57373); }

.auto-card-footer {
    margin-top: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-secondary, #777); /* FIX-ENGINE F-007-010 */
    text-align: left;
    direction: ltr;
}

/* Toggle switch */
.auto-toggle {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}
.auto-toggle input { display: none; }
.auto-toggle-slider {
    position: absolute;
    inset: 0;
    background: #5A6B6E;
    border-radius: 22px;
    cursor: pointer;
    transition: 0.2s;
}
.auto-toggle-slider::before {
    content: '';
    position: absolute;
    width: 16px; height: 16px;
    right: 3px; top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: 0.2s;
}
.auto-toggle input:checked + .auto-toggle-slider { background: var(--gold, #D4AF37); }
.auto-toggle input:checked + .auto-toggle-slider::before { right: 21px; }

/* Status badges */
.auto-badge {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
}
.auto-badge-dry { background: rgba(212,175,55,0.15); color: var(--t-gold-text, var(--gold, #D4AF37)); } /* FIX-ENGINE F-007-010 */
.auto-badge-live { background: rgba(47,133,146,0.22); color: var(--t-muted-teal, var(--dusty-aqua, #2F8592)); } /* FIX-ENGINE F-007-010 */

/* ------------------------------------------------------------------------
   DRY-RUN WARNING — loud card state for "enabled + dry_run" rules.
   Added after the pulse-check silent-send incident: an enabled dry_run rule
   used to look identical to a live one on the card; now it's unmistakable.
   ------------------------------------------------------------------------ */
.automation-card.card-in-dry-run {
    border-color: rgba(212,175,55,0.55);
    box-shadow: inset 6px 0 0 0 var(--gold, #D4AF37);
    background: linear-gradient(90deg, rgba(212,175,55,0.07), transparent 40%);
}
.automation-card.card-in-dry-run:hover {
    border-color: var(--gold, #D4AF37);
}
.auto-dry-warning {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.65rem 1rem;
    margin: -1rem -1rem 1rem;
    border-radius: 12px 12px 0 0;
    background: rgba(212,175,55,0.14);
    border-bottom: 1px solid rgba(212,175,55,0.35);
    color: var(--text, #f0e1a8); /* FIX-ENGINE F-007-010: pale gold text was invisible on light bg */
    font-size: 0.85rem;
    line-height: 1.35;
}
.auto-dry-warning i.fa-triangle-exclamation {
    color: var(--t-gold-text, var(--gold, #D4AF37));
    font-size: 1rem;
    flex-shrink: 0;
}
.auto-dry-warning span { flex: 1; }
.auto-dry-warning b { color: var(--text, #fff); font-weight: 700; } /* FIX-ENGINE F-007-010 */
.auto-dry-golive {
    flex-shrink: 0;
    background: var(--gold, #D4AF37);
    color: var(--deep-petrol, #003B46);
    border: none;
    border-radius: 8px;
    padding: 0.4rem 0.9rem;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.78rem;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
}
.auto-dry-golive:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(212,175,55,0.35);
}

/* Amber dry-run stat tile — appears only when the rule is in dry_run mode */
.auto-stat.dry {
    background: rgba(212,175,55,0.12);
    border-color: rgba(212,175,55,0.35);
}
.auto-stat.dry .auto-stat-num { color: var(--t-gold-text, var(--gold, #D4AF37)); } /* FIX-ENGINE F-007-010 */
.auto-stat.dry .auto-stat-label { color: var(--text-secondary, #f0e1a8); } /* FIX-ENGINE F-007-010 */

/* Audience count badge on rule cards */
.auto-audience-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(47,133,146,0.18);
    color: var(--t-muted-teal, var(--dusty-aqua, #2F8592)); /* FIX-ENGINE F-007-010 */
    padding: 0.15rem 0.6rem;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 600;
    border: 1px solid rgba(47,133,146,0.3);
}
.auto-audience-badge.loading { color: var(--text-secondary, #8fa3a6); border-color: var(--border, rgba(255,255,255,0.08)); background: var(--card-hover, rgba(255,255,255,0.04)); } /* FIX-ENGINE F-007-010 */

/* Live count pill inside editor */
.auto-live-count-badge {
    margin-bottom: 0.9rem;
    min-height: 32px;
}
.auto-count-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    font-size: 0.88rem;
    border: 1px solid transparent;
}
.auto-count-pill strong { font-size: 1.15rem; font-weight: 700; }
.auto-count-pill.ok { background: rgba(47,133,146,0.18); color: var(--text, #E8F1F2); border-color: rgba(47,133,146,0.45); } /* FIX-ENGINE F-007-010 */
.auto-count-pill.ok strong { color: var(--t-gold-text, var(--gold, #D4AF37)); } /* FIX-ENGINE F-007-010 */
.auto-count-pill.zero { background: rgba(90,107,110,0.2); color: var(--text-secondary, #c5d4d6); border-color: var(--border, rgba(255,255,255,0.12)); } /* FIX-ENGINE F-007-010 */
.auto-count-pill.zero strong { color: var(--text, #E8F1F2); } /* FIX-ENGINE F-007-010 */
.auto-count-pill.err { background: rgba(214,69,69,0.15); color: var(--danger, #E57373); border-color: rgba(214,69,69,0.4); }
.auto-count-loading { color: var(--text-secondary, #8fa3a6); font-size: 0.85rem; font-style: italic; } /* FIX-ENGINE F-007-010 */
.auto-error-text { color: var(--danger, #E57373); }

/* ============================================================
   TEMPLATES section
   ============================================================ */
.auto-templates-section h3 {
    margin: 2rem 0 1rem;
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010 */
    font-family: 'Frank Ruhl Libre', serif;
}
.auto-templates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.75rem;
}
.auto-template-card {
    background: var(--card, rgba(0,59,70,0.6)); /* FIX-ENGINE F-007-010: semi-petrol bg made white text unreadable on light page */
    border: 1px dashed rgba(212,175,55,0.3);
    border-radius: 10px;
    padding: 1rem;
    cursor: pointer;
    transition: all 0.15s;
}
.auto-template-card:hover {
    border-color: var(--gold, #D4AF37);
    background: var(--card-hover, rgba(0,59,70,0.9)); /* FIX-ENGINE F-007-010 */
    transform: translateY(-2px);
}
.auto-template-icon {
    color: var(--t-gold-text, var(--gold, #D4AF37)); /* FIX-ENGINE F-007-010 */
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}
.auto-template-name {
    font-weight: 600;
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010 */
    margin-bottom: 0.25rem;
}
.auto-template-desc {
    color: var(--text-secondary, #999); /* FIX-ENGINE F-007-010 */
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}
.auto-template-cron {
    color: var(--t-gold-text, var(--gold, #D4AF37)); /* FIX-ENGINE F-007-010 */
    font-size: 0.75rem;
}

/* ============================================================
   EDITOR modal
   ============================================================ */
.automation-editor-modal { display: none; }
.automation-editor-modal.active { display: flex; }

.auto-edit-section {
    margin-bottom: 1.75rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--border, rgba(255,255,255,0.05)); /* FIX-ENGINE F-007-010 */
}
.auto-edit-section:last-child { border-bottom: 0; }
.auto-edit-section h4 {
    margin: 0 0 0.75rem;
    color: var(--t-muted-teal, var(--dusty-aqua, #2F8592)); /* FIX-ENGINE F-007-010 */
    font-size: 1rem;
    font-family: 'Frank Ruhl Libre', serif;
    letter-spacing: 0.01em;
}
.auto-help-inline { font-size: 0.8rem; color: var(--text-secondary, #888); font-weight: normal; } /* FIX-ENGINE F-007-010 */

.auto-input {
    width: 100%;
    background: var(--bg, rgba(0,0,0,0.25)); /* FIX-ENGINE F-007-010: black-alpha bg + white text broke in light mode */
    border: 1px solid var(--border, rgba(255,255,255,0.1));
    border-radius: 6px;
    padding: 0.6rem 0.75rem;
    color: var(--text, #E8F1F2);
    font-family: inherit;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}
.auto-input:focus { outline: none; border-color: var(--gold, #D4AF37); }
.auto-input.small { width: auto; max-width: 200px; }
.auto-input.hidden { display: none; }
textarea.auto-input { resize: vertical; line-height: 1.6; }

.auto-cron-row {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}
.auto-help {
    font-size: 0.78rem;
    color: var(--text-secondary, #888); /* FIX-ENGINE F-007-010 */
    margin-top: 0.25rem;
    line-height: 1.5;
}
.auto-help code { background: var(--card-hover, rgba(0,0,0,0.4)); padding: 0.1rem 0.4rem; border-radius: 4px; color: var(--t-gold-text, var(--gold, #D4AF37)); } /* FIX-ENGINE F-007-010 */

.auto-condition-row {
    display: grid;
    grid-template-columns: 1fr 0.6fr 0.8fr auto;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.5rem;
}
.auto-condition-row .auto-input { margin-bottom: 0; }

.auto-preview-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
}
.auto-preview-result {
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010 */
    font-size: 1rem;
}
.auto-preview-result strong { color: var(--t-gold-text, var(--gold, #D4AF37)); font-size: 1.4rem; margin-left: 0.25rem; } /* FIX-ENGINE F-007-010 */

.auto-sample-list {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    background: rgba(0,96,107,0.15);
    border-radius: 8px;
    border: 1px solid rgba(47,133,146,0.25);
}
.auto-sample-phone { color: var(--text-secondary, #9ab3b6); direction: ltr; } /* FIX-ENGINE F-007-010 */
.auto-sample-lessons { color: var(--text-secondary, #9ab3b6); font-size: 0.82em; } /* FIX-ENGINE F-007-010 */
.auto-sample-title { color: var(--text-secondary, #888); font-size: 0.8rem; margin-bottom: 0.5rem; } /* FIX-ENGINE F-007-010 */
.auto-sample-row {
    display: grid;
    grid-template-columns: 1.5fr 1fr auto;
    gap: 0.75rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--border, rgba(255,255,255,0.04)); /* FIX-ENGINE F-007-010 */
    font-size: 0.85rem;
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010 */
}
.auto-sample-row:last-child { border-bottom: 0; }

.auto-vars-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.5rem 0 1rem;
}
.auto-var-chip {
    background: rgba(212,175,55,0.12);
    color: var(--t-gold-text, var(--gold, #D4AF37)); /* FIX-ENGINE F-007-010 */
    padding: 0.25rem 0.65rem;
    border-radius: 12px;
    font-size: 0.78rem;
    font-family: 'Courier New', monospace;
    cursor: pointer;
    border: 1px solid rgba(212,175,55,0.25);
    transition: all 0.15s;
}
.auto-var-chip:hover { background: rgba(212,175,55,0.25); }

.auto-live-preview {
    margin-top: 1rem;
}
.auto-preview-label { color: var(--text-secondary, #888); font-size: 0.78rem; margin-bottom: 0.4rem; } /* FIX-ENGINE F-007-010 */
.auto-preview-bubble {
    background: linear-gradient(135deg, rgba(47,133,146,0.28), rgba(0,96,107,0.35));
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010 */
    padding: 0.85rem 1.1rem;
    border-radius: 14px 14px 14px 4px;
    max-width: 90%;
    font-size: 0.92rem;
    line-height: 1.6;
    direction: rtl;
    border: 1px solid rgba(47,133,146,0.4);
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.auto-checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    background: var(--card-hover, rgba(0,0,0,0.2)); /* FIX-ENGINE F-007-010 */
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 1rem;
}
.auto-checkbox-row input { margin-top: 0.3rem; }
.auto-checkbox-row strong { color: var(--text, #E8F1F2); } /* FIX-ENGINE F-007-010 */

.auto-input-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}
.auto-input-row label {
    min-width: 240px;
    color: var(--text, #ccc); /* FIX-ENGINE F-007-010 */
    font-size: 0.9rem;
}
.auto-input-row .auto-help { width: 100%; margin-right: 240px; margin-top: 0; }

/* Editor modal scaffolding */
.modal#automation-editor-modal .modal-content,
.modal#automation-runs-modal .modal-content {
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
}
.auto-editor-footer {
    position: sticky;
    bottom: 0;
    background: var(--card, var(--deep-petrol, #003B46)); /* FIX-ENGINE F-007-010: petrol bg clashed with light modal */
    padding: 1rem 0 0;
    margin-top: 1rem;
    border-top: 1px solid var(--border, rgba(255,255,255,0.1)); /* FIX-ENGINE F-007-010 */
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

/* ============================================================
   RUNS history
   ============================================================ */
.auto-runs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}
.auto-runs-table th, .auto-runs-table td {
    text-align: right;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--border, rgba(255,255,255,0.05)); /* FIX-ENGINE F-007-010 */
}
.auto-runs-table th {
    background: var(--card-hover, rgba(0,0,0,0.2)); /* FIX-ENGINE F-007-010 */
    color: var(--text-secondary, #aaa); /* FIX-ENGINE F-007-010 */
    font-weight: 600;
}
.auto-run-status {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}
.auto-run-sent     { background: rgba(47,133,146,0.2); color: var(--t-muted-teal, var(--dusty-aqua, #2F8592)); } /* FIX-ENGINE F-007-010 */
.auto-run-dry_run  { background: rgba(212,175,55,0.15); color: var(--t-gold-text, var(--gold, #D4AF37)); } /* FIX-ENGINE F-007-010 */
.auto-run-failed   { background: rgba(214,69,69,0.15); color: var(--danger, #E57373); }
.auto-run-skipped  { background: rgba(150,150,150,0.15); color: var(--text-secondary, #999); } /* FIX-ENGINE F-007-010 */
.auto-run-err-cell { color: var(--danger, #E57373); font-size: 0.85em; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 768px) {
    .auto-condition-row { grid-template-columns: 1fr; }
    .auto-input-row label { min-width: auto; }
    .auto-input-row .auto-help { margin-right: 0; }
}

/* ============================================================
   SEGMENTS tab — flat, theme-aware, accessible
   Uses the same card pattern as .overview-card in admin-styles.css
   so it adapts to Light/Dark theme via --card / --border / --text.
   No gradients, no hardcoded greens, single accent color for bars.
   ============================================================ */

.seg-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.seg-error { color: var(--danger, #E57373); } /* FIX-ENGINE F-007-010 */

/* --- KPI strip --- */
.seg-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}
.seg-kpi {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    transition: border-color 0.2s, transform 0.15s;
}
.seg-kpi:hover { border-color: var(--t-border-strong); transform: translateY(-1px); }

.seg-kpi-warn {
    border-color: rgba(229, 115, 115, 0.35);
}
.seg-kpi-warn .seg-kpi-icon { color: #E57373; opacity: 0.95; }
.seg-kpi-warn:hover { border-color: rgba(229, 115, 115, 0.6); }

.seg-reengage-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.7rem;
    padding: 0.35rem 0.75rem;
    background: transparent;
    border: 1px solid var(--t-border-strong);
    border-radius: 6px;
    color: var(--text);
    font-size: 0.78rem;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.15s;
}
.seg-reengage-btn:hover {
    background: var(--card-hover);
    border-color: var(--gold, #D4AF37);
    color: var(--t-gold-text, var(--gold, #D4AF37)); /* FIX-ENGINE F-007-010 */
}

.seg-kpi-icon {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin-top: 0.35rem;
    flex-shrink: 0;
    opacity: 0.7;
}
.seg-kpi-body { flex: 1; min-width: 0; }
.seg-kpi-label {
    font-size: 0.78rem;
    color: var(--text-secondary);
    font-weight: 500;
    letter-spacing: 0.01em;
    margin-bottom: 0.35rem;
}
.seg-kpi-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
}
.seg-kpi-sub {
    font-size: 0.78rem;
    color: var(--text-secondary);
    margin-top: 0.4rem;
}
.seg-delta { font-weight: 600; }
.seg-delta.up   { color: #10B981; }
.seg-delta.down { color: #EF4444; }

/* --- Breakdown panels --- */
.seg-breakdowns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}
.seg-panel {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
}
.seg-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border);
}
.seg-panel-head h4 {
    margin: 0;
    color: var(--text);
    font-size: 0.95rem;
    font-weight: 700;
}
.seg-panel-head h4 i {
    margin-left: 0.5rem;
    color: var(--text-secondary);
    font-size: 0.9em;
}
.seg-panel-total {
    color: var(--text-secondary);
    font-size: 0.78rem;
}
.seg-panel-body { display: flex; flex-direction: column; gap: 0.5rem; }

.seg-row {
    display: grid;
    grid-template-columns: 140px 1fr 48px 42px;
    gap: 0.85rem;
    align-items: center;
    padding: 0.45rem 0.5rem;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.12s;
}
.seg-row:hover { background: var(--card-hover); }
.seg-row-label {
    color: var(--text);
    font-size: 0.88rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}
.seg-row-bar {
    height: 6px;
    background: var(--border);
    border-radius: 3px;
    overflow: hidden;
}
.seg-row-bar-fill {
    height: 100%;
    background: var(--dusty-aqua, #2F8592);
    border-radius: 3px;
    transition: width 0.3s ease;
}
.seg-row-count {
    color: var(--text);
    font-weight: 700;
    font-size: 0.9rem;
    text-align: left;
    font-variant-numeric: tabular-nums;
}
.seg-row-pct {
    color: var(--text-secondary);
    font-size: 0.78rem;
    text-align: left;
    font-variant-numeric: tabular-nums;
}

.seg-empty {
    color: var(--text-secondary);
    font-size: 0.85rem;
    padding: 0.75rem 0.5rem;
    text-align: center;
}

/* --- Custom builder (same flat card, no dashed border) --- */
.seg-builder {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.seg-builder-head { margin-bottom: 1.25rem; }
.seg-builder-head h3 {
    margin: 0 0 0.35rem;
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 700;
}
.seg-builder-head h3 i { color: var(--text-secondary); font-size: 0.9em; margin-left: 0.4rem; }
.seg-builder-head p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.85rem;
    line-height: 1.5;
}
.seg-builder-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
    justify-content: flex-end;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}
.seg-no-value {
    color: var(--text-secondary);
    align-self: center;
    font-size: 0.85rem;
}

.seg-footer {
    text-align: left;
    color: var(--text-secondary);
    font-size: 0.72rem;
    direction: ltr;
    margin-top: 1rem;
    opacity: 0.7;
}

/* Count pill override inside segments — match theme, not hardcoded */
.seg-builder .auto-count-pill.ok {
    background: var(--card-hover);
    color: var(--text);
    border-color: var(--t-border-strong);
}
.seg-builder .auto-count-pill.ok strong { color: var(--text); font-size: 1.2rem; }
.seg-builder .auto-count-pill.zero {
    background: var(--card-hover);
    color: var(--text-secondary);
    border-color: var(--border);
}

@media (max-width: 768px) {
    .seg-row { grid-template-columns: 1fr auto; }
    .seg-row-bar, .seg-row-pct { display: none; }
    .seg-kpi-value { font-size: 1.7rem; }
}

/* ═══ Plain-Hebrew story cards ("מתי / למי / מה") ═══════════════════════════ */

.auto-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    margin-top: 0.25rem;
}
/* FIX-ENGINE F-007-010: pale green #4CC38A unreadable on white — dark green in light, original in dark */
.auto-status.live { background: rgba(46, 160, 67, 0.15); color: #1B7F4B; border: 1px solid rgba(76, 195, 138, 0.35); }
[data-theme="dark"] .auto-status.live { color: #4CC38A; }
.auto-status.dry  { background: rgba(212, 175, 55, 0.12); color: var(--t-gold-text, var(--gold, #D4AF37)); border: 1px solid rgba(212, 175, 55, 0.35); } /* FIX-ENGINE F-007-010 */
.auto-status.off  { background: rgba(150, 150, 150, 0.12); color: var(--text-secondary, #999); border: 1px solid rgba(150, 150, 150, 0.3); } /* FIX-ENGINE F-007-010 */

.auto-story {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin: 1rem 0 0.75rem;
}
.auto-story-row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}
.auto-story-ico {
    flex: 0 0 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(47, 133, 146, 0.18);
    color: var(--t-muted-teal, var(--dusty-aqua, #2F8592)); /* FIX-ENGINE F-007-010 */
    font-size: 0.95rem;
    margin-top: 2px;
}
.auto-story-ico.wa { background: rgba(37, 211, 102, 0.14); color: #1B8C4A; } /* FIX-ENGINE F-007-010: was #25D366 (pale on white) */
[data-theme="dark"] .auto-story-ico.wa { color: #25D366; }
.auto-story-body { flex: 1; min-width: 0; }
.auto-story-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-secondary, #8fb3ba); /* FIX-ENGINE F-007-010 */
    letter-spacing: 0.02em;
    margin-bottom: 0.15rem;
}
.auto-story-text {
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010 */
    font-size: 0.95rem;
    font-weight: 600;
}

.auto-who-list {
    margin: 0;
    padding: 0 1.1rem 0 0;
    color: var(--text, #E8F1F2); /* FIX-ENGINE F-007-010 */
    font-size: 0.9rem;
    line-height: 1.55;
}
.auto-who-list li::marker { color: var(--t-muted-teal, var(--dusty-aqua, #2F8592)); } /* FIX-ENGINE F-007-010 */
.auto-who-count {
    display: inline-block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: #1B7F4B; /* FIX-ENGINE F-007-010: was #4CC38A (pale on white) */
    background: rgba(46, 160, 67, 0.1);
    border-radius: 999px;
    padding: 0.15rem 0.6rem;
}
[data-theme="dark"] .auto-who-count { color: #4CC38A; }
.auto-who-count.loading { color: var(--text-secondary, #999); background: rgba(150,150,150,0.1); } /* FIX-ENGINE F-007-010 */
.auto-who-count b { font-size: 0.95rem; }

/* WhatsApp-style message bubble — looks like the real thing on the phone.
   Deliberately keeps its own dark-green palette in BOTH themes (self-contained,
   light text on dark bubble is readable everywhere). */
.auto-wa-bubble {
    background: #1f3d2b;
    border: 1px solid rgba(37, 211, 102, 0.25);
    border-radius: 12px 12px 12px 3px;
    padding: 0.7rem 0.9rem;
    color: #e6f5ea;
    font-size: 0.88rem;
    line-height: 1.55;
    max-width: 420px;
    white-space: normal;
    word-break: break-word;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
    margin-top: 0.25rem;
}
.auto-what-note {
    font-size: 0.8rem;
    color: var(--t-gold-text, var(--gold, #D4AF37)); /* FIX-ENGINE F-007-010 */
    margin-bottom: 0.35rem;
    line-height: 1.4;
}

.auto-safety-line {
    font-size: 0.78rem;
    color: var(--text-secondary, #8fb3ba); /* FIX-ENGINE F-007-010 */
    padding-top: 0.6rem;
    border-top: 1px dashed var(--border, #1a3a42);
}
.auto-safety-line i { margin-left: 0.3rem; opacity: 0.8; }

.auto-num-err { color: var(--danger, #ff8a8a); } /* FIX-ENGINE F-007-010 */

/* Head layout fix: give the title room — action buttons drop to their own row */
.automation-card .auto-card-head { flex-wrap: wrap; align-items: center; }
.automation-card .auto-card-title { flex: 1 1 220px; min-width: 0; }
.automation-card .auto-card-actions {
    flex-basis: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
    order: 3;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--border, #1a3a42);
}
.auto-status { border-radius: 10px; line-height: 1.45; }
