/* Contact Management Module */
.contact-mgmt-page {
    --cnt-primary: #0891b2;
    --cnt-primary-soft: #cffafe;
    --cnt-success: #059669;
    --cnt-warning: #f59e0b;
    --cnt-danger: #dc2626;
    --cnt-ink: #0c4a6e;
    --cnt-muted: #64748b;
    --cnt-bg: #f0f9ff;
    padding: 1.25rem;
    background:
        radial-gradient(circle at 8% -5%, rgba(8, 145, 178, 0.10), transparent 35%),
        radial-gradient(circle at 92% 0%, rgba(6, 182, 212, 0.09), transparent 33%),
        var(--cnt-bg);
    border-radius: 1rem;
}

.cnt-title { color: var(--cnt-ink); }
.cnt-subtitle { color: var(--cnt-muted); }
.cnt-card { border: 1px solid rgba(8, 145, 178, 0.15); border-radius: 0.9rem; background: #fff; box-shadow: 0 8px 24px rgba(12, 74, 110, 0.05); }
.cnt-card .card-header { background: linear-gradient(180deg, rgba(8, 145, 178, 0.06), transparent); border-bottom: 1px solid rgba(8, 145, 178, 0.1); }
.cnt-stats-box { border-radius: 0.8rem; background: linear-gradient(135deg, rgba(8, 145, 178, 0.06), rgba(6, 182, 212, 0.06)); border: 1px solid rgba(8, 145, 178, 0.18); padding: 1rem; text-align: center; }
.cnt-stats-box .label { color: var(--cnt-muted); font-size: 0.82rem; margin-bottom: 0.4rem; }
.cnt-stats-box .value { color: var(--cnt-ink); font-size: 1.4rem; font-weight: 700; }
.cnt-segment-badge { padding: 0.3rem 0.7rem; border-radius: 0.45rem; font-size: 0.78rem; font-weight: 600; }
.cnt-segment-badge.vip { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }
.cnt-segment-badge.active { background: #d1fae5; color: #065f46; border: 1px solid #a7f3d0; }
.cnt-segment-badge.inactive { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.cnt-segment-badge.new { background: #dbeafe; color: #1e40af; border: 1px solid #bfdbfe; }
.cnt-opt-badge { padding: 0.25rem 0.6rem; border-radius: 0.4rem; font-size: 0.76rem; font-weight: 600; display: inline-flex; align-items: center; gap: 0.25rem; }
.cnt-opt-badge.opted-in { background: #d1fae5; color: #065f46; }
.cnt-opt-badge.opted-out { background: #fee2e2; color: #991b1b; }
.cnt-opt-badge.suppressed { background: #f3f4f6; color: #6b7280; }
.cnt-table { font-size: 0.88rem; }
.cnt-table th { background: #f0f9ff; color: var(--cnt-ink); font-weight: 600; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.3px; }
.cnt-table tbody tr { cursor: pointer; transition: all 0.15s; }
.cnt-table tbody tr:hover { background: #f0f9ff; }
.cnt-avatar { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #0891b2, #06b6d4); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; font-size: 0.9rem; }
.cnt-filter-chip { cursor: pointer; padding: 0.45rem 0.9rem; border-radius: 0.5rem; border: 1px solid rgba(8, 145, 178, 0.2); background: #fff; transition: all 0.2s; font-size: 0.85rem; font-weight: 500; }
.cnt-filter-chip:hover { border-color: var(--cnt-primary); background: rgba(8, 145, 178, 0.05); }
.cnt-filter-chip.active { background: var(--cnt-primary); color: #fff; border-color: var(--cnt-primary); }
.cnt-tag { display: inline-block; padding: 0.2rem 0.5rem; background: #e0f2fe; color: #0c4a6e; border-radius: 0.3rem; font-size: 0.75rem; margin-right: 0.25rem; }
.cnt-action-btn { padding: 0.25rem 0.5rem; font-size: 0.8rem; }
.cnt-alert-box { border-radius: 0.75rem; border-left: 4px solid; padding: 0.85rem; }
.cnt-alert-box.warning { background: #fffbeb; border-color: #f59e0b; color: #92400e; }
.cnt-alert-box.info { background: #eff6ff; border-color: #3b82f6; color: #1e40af; }

/* Dark Mode */
html.dark-theme .contact-mgmt-page {
    --cnt-ink: #e2e8f0;
    --cnt-muted: #94a3b8;
    --cnt-bg: #0f1419;
    background:
        radial-gradient(circle at 8% -5%, rgba(8, 145, 178, 0.12), transparent 35%),
        radial-gradient(circle at 92% 0%, rgba(6, 182, 212, 0.10), transparent 33%),
        var(--cnt-bg);
}
html.dark-theme .cnt-title { color: #e2e8f0; }
html.dark-theme .cnt-subtitle { color: #94a3b8; }
html.dark-theme .cnt-card { background: #1a2627; border-color: rgba(8, 145, 178, 0.2); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); }
html.dark-theme .cnt-card .card-header { background: linear-gradient(180deg, rgba(8, 145, 178, 0.1), transparent); border-color: rgba(8, 145, 178, 0.2); }
html.dark-theme .cnt-stats-box { background: linear-gradient(135deg, rgba(8, 145, 178, 0.1), rgba(6, 182, 212, 0.1)); border-color: rgba(8, 145, 178, 0.25); }
html.dark-theme .cnt-stats-box .value { color: #67e8f9; }
html.dark-theme .cnt-table th { background: #0d1a1f; color: #e2e8f0; }
html.dark-theme .cnt-table tbody tr:hover { background: #1a2e34; }
html.dark-theme .cnt-alert-box.warning { background: rgba(245, 158, 11, 0.1); border-color: #f59e0b; color: #fcd34d; }
html.dark-theme .cnt-alert-box.info { background: rgba(59, 130, 246, 0.1); border-color: #3b82f6; color: #93c5fd; }
