/* Kasaloma Twilio Campaign — campaign.css
   Inherits CSS variables from kcrm-style (--primary, --accent, etc.)
*/

/* ══ Nav link injected by JS ══ */
.ktc-nav-link {
    color: rgba(255,255,255,.75);
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    transition: all .2s;
}
.ktc-nav-link:hover,
.ktc-nav-link.active {
    color: #fff;
    background: rgba(255,255,255,.12);
}

/* ══ Page header ══ */
.ktc-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    gap: 12px;
}
.ktc-page-title {
    display: flex;
    align-items: center;
    gap: 14px;
}
.ktc-title-icon { font-size: 32px; }
.ktc-page-title h1 {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 2px;
}
.ktc-page-title p {
    font-size: 12px;
    color: var(--muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* ══ Connection status dots ══ */
.ktc-status-dot {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.ktc-status-dot.connected    { background: #10b981; box-shadow: 0 0 0 2px #d1fae5; }
.ktc-status-dot.disconnected { background: #ef4444; box-shadow: 0 0 0 2px #fee2e2; }

/* ══ Tabs ══ */
.ktc-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid var(--border);
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.ktc-tab {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--muted);
    text-decoration: none;
    border-radius: 8px 8px 0 0;
    border: 1px solid transparent;
    border-bottom: none;
    margin-bottom: -2px;
    transition: color .15s, background .15s;
}
.ktc-tab:hover { color: var(--primary); background: var(--bg); }
.ktc-tab.active {
    color: var(--primary);
    background: #fff;
    border-color: var(--border);
    border-bottom-color: #fff;
}

/* ══ Cards ══ */
.ktc-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 16px;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.ktc-card-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 12px;
    flex-wrap: wrap;
}
.ktc-card-toolbar h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    margin: 0;
}

/* ══ Forms ══ */
.ktc-form { display: flex; flex-direction: column; gap: 0; }
.ktc-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.ktc-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 16px;
}
.ktc-field label {
    font-size: 12px;
    font-weight: 700;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: .4px;
}
.ktc-field input[type=text],
.ktc-field input[type=email],
.ktc-field input[type=url],
.ktc-field input[type=password],
.ktc-field textarea,
.ktc-field select {
    border: 1.5px solid var(--border);
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 13px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--text);
    background: #f8fafc;
    transition: border-color .2s;
}
.ktc-field input:focus,
.ktc-field textarea:focus,
.ktc-field select:focus {
    outline: none;
    border-color: var(--primary);
    background: #fff;
}
.ktc-field small {
    font-size: 11px;
    color: var(--muted);
    line-height: 1.4;
}
.req { color: #ef4444; }

.ktc-form-group-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--muted);
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border);
}

.ktc-form-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 8px;
    flex-wrap: wrap;
}

/* ══ Buttons ══ */
.ktc-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', sans-serif;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: opacity .15s, transform .1s;
}
.ktc-btn:hover { opacity: .88; transform: translateY(-1px); }
.ktc-btn.primary  { background: var(--primary); color: #fff; }
.ktc-btn.danger   { background: #ef4444;         color: #fff; }
.ktc-btn.large    { padding: 12px 28px; font-size: 14px; }
.ktc-btn-ghost {
    background: transparent;
    border: 1.5px solid var(--border);
    color: var(--text);
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: border-color .15s;
}
.ktc-btn-ghost:hover { border-color: var(--primary); color: var(--primary); }
.ktc-btn-sm {
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 6px;
    background: var(--bg);
    color: var(--text);
    border: 1px solid var(--border);
    cursor: pointer;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: background .15s;
}
.ktc-btn-sm:hover    { background: #e2e8f0; }
.ktc-btn-sm.danger   { background: #fef2f2; color: #ef4444; border-color: #fecaca; }
.ktc-btn-sm.danger:hover { background: #fee2e2; }

/* ══ Notices ══ */
.ktc-notice {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 16px;
}
.ktc-notice.success { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }
.ktc-notice.error   { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
.ktc-notice.warning { background: #fffbeb; color: #d97706; border: 1px solid #fde68a; }

/* ══ Section header (connect page) ══ */
.ktc-section-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}
.ktc-section-icon { font-size: 28px; flex-shrink: 0; }
.ktc-section-header h3 { font-size: 16px; font-weight: 700; color: var(--primary); margin: 0 0 4px; }
.ktc-section-header p  { font-size: 13px; color: var(--muted); margin: 0; }
.ktc-connected-badge {
    margin-left: auto;
    background: #d1fae5;
    color: #065f46;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
    align-self: flex-start;
}

.ktc-url-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 12px;
    color: #1e40af;
    margin-bottom: 12px;
}

/* ══ Help box ══ */
.ktc-help-box {
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 18px 20px;
    margin-top: 24px;
}
.ktc-help-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}
.ktc-help-steps {
    margin: 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ktc-help-steps li {
    font-size: 12px;
    color: var(--text);
    line-height: 1.5;
}
.ktc-help-steps code {
    background: #e2e8f0;
    padding: 1px 5px;
    border-radius: 4px;
    font-size: 11px;
    color: var(--primary);
}

/* ══ Template grid ══ */
.ktc-filter-pills {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.ktc-pill {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    background: var(--bg);
    color: var(--muted);
    border: 1px solid var(--border);
    transition: all .15s;
}
.ktc-pill:hover,
.ktc-pill.active { background: var(--primary); color: #fff; border-color: var(--primary); }

.ktc-template-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}
.ktc-template-card {
    border: 1.5px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow .15s, transform .15s;
    background: #fff;
}
.ktc-template-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.10); transform: translateY(-2px); }

.ktc-tpl-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px 8px;
    border-bottom: 1px solid var(--border);
    background: #f8fafc;
    gap: 8px;
}
.ktc-tpl-name { font-size: 13px; font-weight: 700; color: var(--primary); }
.ktc-status-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 20px;
    color: #fff;
    white-space: nowrap;
    flex-shrink: 0;
}
.ktc-tpl-image { padding: 8px 14px 0; }
.ktc-tpl-image img { width: 100%; border-radius: 8px; max-height: 120px; object-fit: cover; }
.ktc-tpl-body { padding: 10px 14px; font-size: 12px; color: var(--text); line-height: 1.6; }
.ktc-tpl-vars { padding: 0 14px 8px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ktc-var-label { font-size: 10px; color: var(--muted); font-weight: 600; }
.ktc-tpl-vars code { background: #f1f5f9; padding: 1px 6px; border-radius: 4px; font-size: 10px; color: var(--primary); }
.ktc-tpl-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px 10px;
    border-top: 1px solid var(--border);
    background: #fafafa;
}
.ktc-tpl-meta { font-size: 11px; color: var(--muted); }
.ktc-tpl-actions { display: flex; gap: 6px; }

/* ══ Toggle switch ══ */
.ktc-toggle-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.ktc-toggle { position: relative; display: inline-block; width: 40px; height: 22px; flex-shrink: 0; }
.ktc-toggle input { opacity: 0; width: 0; height: 0; }
.ktc-toggle-slider {
    position: absolute; inset: 0;
    background: #cbd5e1;
    border-radius: 22px;
    cursor: pointer;
    transition: background .2s;
}
.ktc-toggle-slider:before {
    content: '';
    position: absolute;
    width: 16px; height: 16px;
    left: 3px; bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform .2s;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.ktc-toggle input:checked + .ktc-toggle-slider { background: var(--primary); }
.ktc-toggle input:checked + .ktc-toggle-slider:before { transform: translateX(18px); }
.ktc-toggle-label { font-size: 13px; color: var(--text); font-weight: 500; }

.ktc-image-url-field { transition: opacity .2s; }
.ktc-image-preview { margin-top: 8px; }
.ktc-image-preview img { max-width: 220px; border-radius: 8px; border: 1px solid var(--border); }

/* ══ Template selector (create campaign) ══ */
.ktc-template-selector {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}
.ktc-tpl-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--border);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.ktc-tpl-option:hover { border-color: var(--primary); background: #f0f4f8; }
.ktc-tpl-option.selected { border-color: var(--primary); background: #eff6ff; }
.ktc-tpl-option input[type=radio] { flex-shrink: 0; }
.ktc-tpl-option-inner { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ktc-tpl-option-name { font-size: 13px; font-weight: 600; color: var(--text); }
.ktc-tpl-option-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    flex-shrink: 0;
}
.ktc-tpl-option-badge.img  { background: #eff6ff; color: #1d4ed8; }
.ktc-tpl-option-badge.text { background: #f0fdf4; color: #16a34a; }

/* WhatsApp bubble preview */
.ktc-tpl-preview-panel {
    background: #e5ddd5;
    border-radius: 12px;
    padding: 16px;
    margin-top: 12px;
}
.ktc-wa-bubble-wrap { display: flex; justify-content: flex-end; }
.ktc-wa-bubble {
    background: #fff;
    border-radius: 12px 2px 12px 12px;
    padding: 10px 14px;
    max-width: 320px;
    font-size: 13px;
    color: #1a1a1a;
    line-height: 1.5;
    box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.ktc-wa-bubble img { width: 100%; border-radius: 8px; margin-bottom: 8px; }

/* ══ Contact list (create campaign) ══ */
.ktc-contact-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 10px;
}
.ktc-search-input {
    flex: 1;
    min-width: 180px;
    padding: 7px 12px;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    font-size: 12px;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.ktc-filter-sel {
    padding: 6px 10px;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    font-size: 12px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: #f8fafc;
}
.ktc-selected-count {
    font-size: 12px;
    font-weight: 700;
    color: var(--primary);
    background: #eff6ff;
    padding: 4px 10px;
    border-radius: 20px;
}

.ktc-contact-list {
    border: 1.5px solid var(--border);
    border-radius: 10px;
    max-height: 360px;
    overflow-y: auto;
    background: #f8fafc;
}
.ktc-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
    transition: background .12s;
}
.ktc-contact-item:last-child { border-bottom: none; }
.ktc-contact-item:hover { background: #eff6ff; }
.ktc-contact-item.no-phone { opacity: .5; cursor: not-allowed; }
.ktc-contact-item input[type=checkbox] { flex-shrink: 0; }

.ktc-ci-avatar {
    width: 30px; height: 30px;
    border-radius: 50%;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ktc-ci-info { flex: 1; min-width: 0; }
.ktc-ci-name { font-size: 12px; font-weight: 600; color: var(--text); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ktc-ci-meta { font-size: 11px; color: var(--muted); display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.ktc-wa-tag  { background: #dcfce7; color: #16a34a; padding: 1px 5px; border-radius: 4px; font-size: 10px; font-weight: 700; }
.ktc-ph-tag  { background: #dbeafe; color: #1d4ed8; padding: 1px 5px; border-radius: 4px; font-size: 10px; font-weight: 700; }
.ktc-no-tag  { background: #fef9c3; color: #854d0e; padding: 1px 5px; border-radius: 4px; font-size: 10px; font-weight: 700; }

/* ══ Delivery stats (campaign detail) ══ */
.ktc-delivery-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 16px 0;
}
.ktc-ds-card {
    background: var(--bg);
    border-radius: 10px;
    padding: 14px;
    text-align: center;
    border-top: 3px solid var(--ds-color, #64748b);
}
.ktc-ds-num   { font-size: 28px; font-weight: 800; color: var(--ds-color, #64748b); line-height: 1; margin-bottom: 4px; }
.ktc-ds-label { font-size: 11px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .4px; }

.ktc-progress-bar-wrap {
    height: 8px;
    background: var(--border);
    border-radius: 10px;
    overflow: hidden;
    margin: 8px 0 4px;
}
.ktc-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    border-radius: 10px;
    transition: width .5s ease;
    min-width: 4px;
}

.ktc-detail-meta {
    display: flex;
    gap: 20px;
    font-size: 12px;
    color: var(--muted);
    margin: 10px 0 16px;
    flex-wrap: wrap;
}

.ktc-msg-status {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
}

/* ══ Empty state ══ */
.ktc-empty-state {
    text-align: center;
    padding: 48px 20px;
}
.ktc-empty-icon { font-size: 48px; margin-bottom: 12px; }
.ktc-empty-state h4 { font-size: 16px; font-weight: 700; color: var(--text); margin: 0 0 6px; }
.ktc-empty-state p  { font-size: 13px; color: var(--muted); margin: 0 0 16px; }

/* ══ Responsive ══ */
@media (max-width: 768px) {
    .ktc-form-row { grid-template-columns: 1fr; }
    .ktc-template-grid { grid-template-columns: 1fr; }
    .ktc-delivery-stats { grid-template-columns: 1fr 1fr; }
    .ktc-page-header { flex-direction: column; align-items: flex-start; }
}

/* ══ Connected status banner ══ */
.ktc-connected-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f0fdf4;
    border: 1.5px solid #86efac;
    border-radius: 12px;
    padding: 14px 20px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.ktc-connected-banner-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ktc-connected-banner strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #15803d;
}
.ktc-connected-banner span {
    font-size: 12px;
    color: #16a34a;
}

/* ══ Multi-segment progress bar ══ */
.ktc-progress-multi-wrap {
    display: flex;
    height: 10px;
    border-radius: 10px;
    overflow: hidden;
    background: #e2e8f0;
    margin: 12px 0 6px;
    gap: 1px;
}
.ktc-progress-segment {
    height: 100%;
    min-width: 0;
    transition: width .5s ease;
}
.ktc-progress-legend {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.ktc-progress-legend span {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: var(--muted);
    font-weight: 600;
}
.ktc-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ══ Delivery stats — 5 columns ══ */
.ktc-delivery-stats {
    grid-template-columns: repeat(5, 1fr);
}
@media(max-width:768px) {
    .ktc-delivery-stats { grid-template-columns: repeat(3, 1fr); }
}

/* ══ Twilio push info banner (template form) ══ */
.ktc-twilio-push-info {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 20px;
}
.ktc-push-icon { font-size: 24px; flex-shrink: 0; margin-top: 2px; }
.ktc-twilio-push-info strong { display: block; font-size: 13px; font-weight: 700; color: #1e40af; margin-bottom: 4px; }
.ktc-twilio-push-info span { font-size: 12px; color: #3b82f6; line-height: 1.5; }

/* ══ Readonly status display ══ */
.ktc-status-readonly { display: flex; flex-direction: column; gap: 5px; }


/* === Campaign pages mobile sticky repair v2.6.9.54 ===
   Keeps Twilio Campaign and Meta Campaign page name + tab strip fixed on mobile.
   Create Campaign must remain available only as a tab, not as duplicate CTA buttons. */
body.kcrm-view-campaigns .ktc-page-header,
body.kcrm-view-meta-campaign .ktc-page-header {
    align-items: center;
}
body.kcrm-view-campaigns .ktc-page-title,
body.kcrm-view-meta-campaign .ktc-page-title {
    min-width: 0;
}
body.kcrm-view-campaigns .ktc-tabs,
body.kcrm-view-meta-campaign .ktc-tabs {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap !important;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
body.kcrm-view-campaigns .ktc-tabs::-webkit-scrollbar,
body.kcrm-view-meta-campaign .ktc-tabs::-webkit-scrollbar {
    display: none;
}
body.kcrm-view-campaigns .ktc-tab,
body.kcrm-view-meta-campaign .ktc-tab {
    flex: 0 0 auto;
}

@media (max-width: 768px), (hover: none) and (pointer: coarse) {
    body.kcrm-view-campaigns,
    body.kcrm-view-meta-campaign {
        --kbos-campaign-safe-top: env(safe-area-inset-top, 0px);
        --kbos-campaign-safe-bottom: env(safe-area-inset-bottom, 0px);
        --kbos-campaign-app-header: var(--kbos-mobile-header-total, calc(60px + env(safe-area-inset-top, 0px)));
        --kbos-campaign-pagehead-h: 44px;
        --kbos-campaign-tabs-h: 42px;
        background: #f5f7fb !important;
        overflow-x: hidden !important;
    }

    body.kcrm-view-campaigns .kcrm-content-shell,
    body.kcrm-view-meta-campaign .kcrm-content-shell,
    body.kcrm-view-campaigns .kcrm-main-content-area,
    body.kcrm-view-meta-campaign .kcrm-main-content-area {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow: visible !important;
        background: #f5f7fb !important;
    }

    body.kcrm-view-campaigns .kcrm-main-content-area,
    body.kcrm-view-meta-campaign .kcrm-main-content-area {
        padding: 0 !important;
        margin: 0 !important;
    }

    body.kcrm-view-campaigns .ktc-page,
    body.kcrm-view-meta-campaign .ktc-page {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #f5f7fb !important;
    }

    body.kcrm-view-campaigns .ktc-page-header,
    body.kcrm-view-meta-campaign .ktc-page-header {
        position: fixed !important;
        top: var(--kbos-campaign-app-header) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 99970 !important;
        height: var(--kbos-campaign-pagehead-h) !important;
        min-height: var(--kbos-campaign-pagehead-h) !important;
        max-height: var(--kbos-campaign-pagehead-h) !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 0 12px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .07) !important;
        box-sizing: border-box !important;
    }

    body.kcrm-view-campaigns .ktc-page-title,
    body.kcrm-view-meta-campaign .ktc-page-title {
        width: 100% !important;
        min-width: 0 !important;
        gap: 8px !important;
    }

    body.kcrm-view-campaigns .ktc-title-icon,
    body.kcrm-view-meta-campaign .ktc-title-icon {
        font-size: 18px !important;
        line-height: 1 !important;
        flex: 0 0 auto !important;
    }

    body.kcrm-view-campaigns .ktc-page-title h1,
    body.kcrm-view-meta-campaign .ktc-page-title h1 {
        color: #0f172a !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.kcrm-view-campaigns .ktc-page-title p,
    body.kcrm-view-meta-campaign .ktc-page-title p {
        display: none !important;
    }

    body.kcrm-view-campaigns .ktc-page-header > .ktc-btn,
    body.kcrm-view-meta-campaign .ktc-page-header > .ktc-btn {
        display: none !important;
    }

    body.kcrm-view-campaigns .ktc-tabs,
    body.kcrm-view-meta-campaign .ktc-tabs {
        position: fixed !important;
        top: calc(var(--kbos-campaign-app-header) + var(--kbos-campaign-pagehead-h)) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 99969 !important;
        height: var(--kbos-campaign-tabs-h) !important;
        min-height: var(--kbos-campaign-tabs-h) !important;
        max-height: var(--kbos-campaign-tabs-h) !important;
        display: flex !important;
        align-items: center !important;
        gap: 2px !important;
        padding: 0 10px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        border: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .045) !important;
        box-sizing: border-box !important;
    }

    body.kcrm-view-campaigns .ktc-tab,
    body.kcrm-view-meta-campaign .ktc-tab {
        height: var(--kbos-campaign-tabs-h) !important;
        min-height: var(--kbos-campaign-tabs-h) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        padding: 0 10px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 2px solid transparent !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #64748b !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    body.kcrm-view-campaigns .ktc-tab.active,
    body.kcrm-view-meta-campaign .ktc-tab.active {
        color: #1d4ed8 !important;
        border-bottom-color: #1d4ed8 !important;
        background: #eff6ff !important;
    }

    body.kcrm-view-campaigns .ktc-tab-content,
    body.kcrm-view-meta-campaign .ktc-tab-content {
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: calc(var(--kbos-campaign-pagehead-h) + var(--kbos-campaign-tabs-h) + 12px) 12px calc(86px + var(--kbos-campaign-safe-bottom)) !important;
        background: #f5f7fb !important;
    }

    body.kcrm-view-campaigns .ktc-page > :not(.ktc-page-header):not(.ktc-tabs),
    body.kcrm-view-meta-campaign .ktc-page > :not(.ktc-page-header):not(.ktc-tabs) {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.kcrm-view-campaigns .ktc-card,
    body.kcrm-view-meta-campaign .ktc-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 14px !important;
        margin: 0 0 12px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    body.kcrm-view-campaigns .ktc-card-toolbar,
    body.kcrm-view-meta-campaign .ktc-card-toolbar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
    }

    body.kcrm-view-campaigns .ktc-card-toolbar h3,
    body.kcrm-view-meta-campaign .ktc-card-toolbar h3 {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    body.kcrm-view-campaigns .ktc-form-row,
    body.kcrm-view-meta-campaign .ktc-form-row {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
    }

    body.kcrm-view-campaigns .kbos-p2-table-wrap,
    body.kcrm-view-meta-campaign .kbos-p2-table-wrap,
    body.kcrm-view-campaigns .kcrm-table,
    body.kcrm-view-meta-campaign .kcrm-table {
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.kcrm-view-campaigns table,
    body.kcrm-view-meta-campaign table {
        min-width: 760px;
    }

    body.kcrm-view-campaigns .ktc-empty-state,
    body.kcrm-view-meta-campaign .ktc-empty-state {
        padding: 22px 12px !important;
    }
}

/* === Campaign mobile TRUE sticky stack v2.6.9.55 ===
   Use sticky (not fixed) so headers stay attached inside the BOS mobile app scroll area.
   The main navy app header stays fixed by global CSS; content shell already has top padding. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
    body.kcrm-view-campaigns,
    body.kcrm-view-meta-campaign {
        --kbos-campaign-pagehead-h: 44px;
        --kbos-campaign-tabs-h: 42px;
        background: #f5f7fb !important;
        overflow-x: hidden !important;
    }

    body.kcrm-view-campaigns .kcrm-content-shell,
    body.kcrm-view-meta-campaign .kcrm-content-shell {
        padding-top: var(--kbos-mobile-header-total, calc(62px + env(safe-area-inset-top, 0px))) !important;
        overflow: visible !important;
        background: #f5f7fb !important;
        min-width: 0 !important;
        max-width: 100vw !important;
    }

    body.kcrm-view-campaigns .kcrm-main-content-area,
    body.kcrm-view-meta-campaign .kcrm-main-content-area,
    body.kcrm-view-campaigns .ktc-page,
    body.kcrm-view-meta-campaign .ktc-page {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow: visible !important;
        background: #f5f7fb !important;
        box-sizing: border-box !important;
    }

    body.kcrm-view-campaigns .ktc-page-header,
    body.kcrm-view-meta-campaign .ktc-page-header {
        position: sticky !important;
        position: -webkit-sticky !important;
        top: 0 !important;
        left: auto !important;
        right: auto !important;
        z-index: 2147480000 !important;
        width: 100% !important;
        height: var(--kbos-campaign-pagehead-h) !important;
        min-height: var(--kbos-campaign-pagehead-h) !important;
        max-height: var(--kbos-campaign-pagehead-h) !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 0 12px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .07) !important;
        box-sizing: border-box !important;
        transform: none !important;
        -webkit-transform: none !important;
    }

    body.kcrm-view-campaigns .ktc-page-title,
    body.kcrm-view-meta-campaign .ktc-page-title {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body.kcrm-view-campaigns .ktc-title-icon,
    body.kcrm-view-meta-campaign .ktc-title-icon {
        flex: 0 0 auto !important;
        font-size: 18px !important;
        line-height: 1 !important;
    }

    body.kcrm-view-campaigns .ktc-page-title h1,
    body.kcrm-view-meta-campaign .ktc-page-title h1 {
        color: #0f172a !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.kcrm-view-campaigns .ktc-page-title p,
    body.kcrm-view-meta-campaign .ktc-page-title p,
    body.kcrm-view-campaigns .ktc-page-header > .ktc-btn,
    body.kcrm-view-meta-campaign .ktc-page-header > .ktc-btn,
    body.kcrm-view-campaigns .ktc-card-toolbar .ktc-btn[href*="tab=create"],
    body.kcrm-view-meta-campaign .ktc-card-toolbar .ktc-btn[href*="tab=create"],
    body.kcrm-view-campaigns .ktc-empty-state .ktc-btn[href*="tab=create"],
    body.kcrm-view-meta-campaign .ktc-empty-state .ktc-btn[href*="tab=create"] {
        display: none !important;
    }

    body.kcrm-view-campaigns .ktc-tabs,
    body.kcrm-view-meta-campaign .ktc-tabs {
        position: sticky !important;
        position: -webkit-sticky !important;
        top: var(--kbos-campaign-pagehead-h) !important;
        left: auto !important;
        right: auto !important;
        z-index: 2147479999 !important;
        width: 100% !important;
        height: var(--kbos-campaign-tabs-h) !important;
        min-height: var(--kbos-campaign-tabs-h) !important;
        max-height: var(--kbos-campaign-tabs-h) !important;
        display: flex !important;
        align-items: center !important;
        gap: 2px !important;
        padding: 0 10px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        border: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .045) !important;
        box-sizing: border-box !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        transform: none !important;
        -webkit-transform: none !important;
    }

    body.kcrm-view-campaigns .ktc-tabs::-webkit-scrollbar,
    body.kcrm-view-meta-campaign .ktc-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body.kcrm-view-campaigns .ktc-tab,
    body.kcrm-view-meta-campaign .ktc-tab,
    body.kcrm-view-campaigns .ktc-tabs > span,
    body.kcrm-view-meta-campaign .ktc-tabs > span {
        height: var(--kbos-campaign-tabs-h) !important;
        min-height: var(--kbos-campaign-tabs-h) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        padding: 0 10px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 2px solid transparent !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #64748b !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    body.kcrm-view-campaigns .ktc-tab.active,
    body.kcrm-view-meta-campaign .ktc-tab.active {
        color: #1d4ed8 !important;
        border-bottom-color: #1d4ed8 !important;
        background: #eff6ff !important;
    }

    body.kcrm-view-campaigns .ktc-tab-content,
    body.kcrm-view-meta-campaign .ktc-tab-content {
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 12px 12px calc(86px + env(safe-area-inset-bottom, 0px)) !important;
        background: #f5f7fb !important;
        overflow: visible !important;
    }
}


/* Meta Campaign UI Foundation — Build 1 */
.kmc-page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;margin-bottom:14px}
.kmc-sender-picker{min-width:310px;max-width:430px;display:flex;flex-direction:column;gap:5px}
.kmc-sender-picker label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;color:#64748b}
.kmc-sender-picker select{width:100%;padding:10px 36px 10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-size:12px;font-weight:700;color:#0f172a}
.kmc-sender-picker span{font-size:10px;color:#64748b;line-height:1.35}
.kmc-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:6px;gap:4px;overflow-x:auto;scrollbar-width:none}
.kmc-tabs::-webkit-scrollbar{display:none}.kmc-tabs .ktc-tab{border-radius:9px;white-space:nowrap}
.kmc-tabs .ktc-tab.active{box-shadow:0 4px 12px rgba(15,23,42,.08)}
.kcrm-view-meta-campaign .ktc-card{border-radius:16px;box-shadow:0 6px 24px rgba(15,23,42,.04)}
@media(max-width:850px){.kmc-page-header{align-items:stretch;flex-direction:column}.kmc-sender-picker{min-width:0;max-width:none;width:100%}}

/* Meta Campaign Guided Creator — Build 2 */
.kmc-wizard-card{padding:0!important;overflow:hidden}.kmc-wizard-heading{padding:22px 24px;margin:0;border-bottom:1px solid #e5e7eb}.kmc-wizard{background:#f8fafc}.kmc-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border-bottom:1px solid #e2e8f0;padding:0 20px}.kmc-step{position:relative;border:0;background:transparent;padding:16px 12px 14px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:10px;color:#64748b;cursor:pointer;border-bottom:3px solid transparent}.kmc-step span{grid-row:1/3;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;font-weight:800}.kmc-step b{font-size:12px;color:#334155}.kmc-step small{font-size:10px;margin-top:2px}.kmc-step.active{border-bottom-color:#2563eb;background:#eff6ff}.kmc-step.active span{background:#2563eb;color:#fff}.kmc-step.active b{color:#1d4ed8}.kmc-step.done span{background:#dcfce7;color:#15803d}.kmc-step-panel{display:none;padding:24px;max-width:1040px;margin:0 auto}.kmc-step-panel.active{display:block}.kmc-panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.kmc-panel-title span{font-size:10px;font-weight:800;color:#2563eb;text-transform:uppercase;letter-spacing:.7px}.kmc-panel-title h4{margin:3px 0 4px;font-size:20px;color:#0f172a}.kmc-panel-title p{margin:0;font-size:12px;color:#64748b}.kmc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px}.kmc-form-grid input,.kmc-filter-grid select,.kmc-media-inputs input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font-size:12px}.kmc-form-grid small{display:block;margin-top:6px;color:#64748b;font-size:10px}.kmc-template-search{position:relative}.kmc-template-search>span{position:absolute;right:12px;top:11px;color:#94a3b8}.kmc-template-search #kwmc-ctpl-results{display:none;position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.14);padding:6px}.kmc-template-preview{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:15px 16px;margin-top:14px;font-size:12px;color:#166534}.kmc-content-box{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;margin-bottom:14px}.kmc-content-box h4{margin:0 0 6px;font-size:13px;color:#0f172a}.kmc-content-box p{margin:0 0 12px;font-size:11px;color:#64748b;line-height:1.5}.kmc-variable-box{border-color:#fed7aa;background:#fffaf3}.kmc-media-box{border-color:#bfdbfe;background:#f8fbff}.kmc-carousel-box{border-color:#ddd6fe;background:#faf9ff}.kmc-media-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kwmc-carousel-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kmc-empty-inline{border:1px dashed #cbd5e1;border-radius:14px;padding:28px;text-align:center;color:#64748b;background:#fff;font-size:12px}.kmc-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;margin-bottom:14px}.kmc-filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kmc-filter-grid label{display:block;font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.45px;margin-bottom:5px}.kmc-filter-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.kmc-filter-actions #kwmc-sel-count{font-size:11px;color:#64748b;margin-left:auto}.kmc-selected-pill{padding:7px 11px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:800}.kmc-contact-table-wrap{border:1px solid #e2e8f0;border-radius:14px;max-height:390px;overflow:auto;background:#fff}.kmc-contact-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.kmc-contact-table-wrap thead{position:sticky;top:0;background:#f8fafc;z-index:1}.kmc-contact-table-wrap th{padding:10px 12px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.45px;color:#64748b}.kmc-contact-table-wrap td{padding:11px 12px;border-top:1px solid #f1f5f9;color:#475569}.kmc-contact-table-wrap td strong{color:#1e293b}.kmc-review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kmc-review-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:15px}.kmc-review-card span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;color:#64748b;letter-spacing:.45px;margin-bottom:6px}.kmc-review-card strong{font-size:13px;color:#0f172a}.kmc-review-preview{margin-top:14px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.kmc-review-preview-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:800;color:#334155}.kmc-review-preview #kmc-review-message{max-width:520px;margin:20px auto;padding:16px;border-radius:12px;background:#dcfce7;color:#14532d;font-size:12px;line-height:1.55}.kmc-send-note{margin-top:14px;padding:12px 14px;border-radius:11px;background:#eff6ff;color:#1e40af;font-size:11px}.kmc-wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.kmc-send-button{min-width:210px}.kmc-step-panel #kwmc-send-msg{margin-top:12px;padding:11px 14px;border-radius:10px;font-size:12px}
@media(max-width:800px){.kmc-stepper{padding:0;overflow-x:auto;grid-template-columns:repeat(4,minmax(145px,1fr))}.kmc-step-panel{padding:16px}.kmc-form-grid,.kmc-media-inputs,.kmc-filter-grid,.kmc-review-grid{grid-template-columns:1fr}.kwmc-carousel-upload-grid{grid-template-columns:1fr!important}.kmc-panel-title{align-items:flex-start}.kmc-wizard-actions{position:sticky;bottom:70px;background:#f8fafc;padding-bottom:4px;z-index:5}.kmc-contact-table-wrap{max-height:48vh}.kmc-contact-table-wrap th:nth-child(4),.kmc-contact-table-wrap td:nth-child(4),.kmc-contact-table-wrap th:nth-child(5),.kmc-contact-table-wrap td:nth-child(5){display:none}}

/* Meta Campaign Final Management — Build 3 */
.kmc-management-page{display:flex;flex-direction:column;gap:16px}.kmc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 2px}.kmc-eyebrow{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.75px;color:#2563eb;margin-bottom:4px}.kmc-section-head h2{margin:0;color:#0f172a;font-size:24px}.kmc-section-head p{margin:5px 0 0;color:#64748b;font-size:12px}.kmc-overview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kmc-overview-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:15px 16px}.kmc-overview-card span{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-weight:800}.kmc-overview-card strong{display:block;margin-top:6px;font-size:22px;color:#0f172a}.kmc-overview-card.danger strong{color:#dc2626}.kmc-campaign-toolbar{display:flex;gap:10px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.kmc-searchbox{position:relative;flex:1}.kmc-searchbox span{position:absolute;left:12px;top:9px;color:#94a3b8;font-size:18px}.kmc-searchbox input,.kmc-campaign-toolbar select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;font-size:12px}.kmc-searchbox input{padding-left:36px}.kmc-campaign-toolbar select{width:190px}.kmc-campaign-list{display:flex;flex-direction:column;gap:12px}.kmc-campaign-item{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(430px,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 4px 18px rgba(15,23,42,.035)}.kmc-campaign-item[hidden]{display:none}.kmc-campaign-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kmc-campaign-title-row a{font-size:15px;font-weight:800;color:#0f172a;text-decoration:none}.kmc-campaign-title-row p{margin:4px 0 0;font-size:11px;color:#64748b}.kmc-status-badge{font-size:10px;font-weight:800;border-radius:999px;padding:5px 9px;white-space:nowrap;background:#f1f5f9;color:#475569}.kmc-status-badge.sending{background:#fef3c7;color:#92400e}.kmc-status-badge.delivered{background:#ecfeff;color:#0e7490}.kmc-status-badge.read{background:#dcfce7;color:#166534}.kmc-status-badge.partial{background:#fff7ed;color:#c2410c}.kmc-status-badge.failed{background:#fee2e2;color:#991b1b}.kmc-campaign-sender{display:flex;gap:6px;align-items:center;margin-top:11px;font-size:10px;color:#64748b}.kmc-campaign-sender strong{color:#334155}.kmc-campaign-sender small{color:#94a3b8}.kmc-progress-line{display:flex;align-items:center;gap:9px;margin-top:11px}.kmc-progress-line>div{height:6px;flex:1;background:#e2e8f0;border-radius:999px;overflow:hidden}.kmc-progress-line i{display:block;height:100%;background:#2563eb;border-radius:999px}.kmc-progress-line span{font-size:10px;color:#64748b;white-space:nowrap}.kmc-campaign-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.kmc-campaign-metrics div{padding:8px 6px;text-align:center;border-left:1px solid #f1f5f9}.kmc-campaign-metrics span{display:block;font-size:9px;text-transform:uppercase;color:#94a3b8;font-weight:800}.kmc-campaign-metrics strong{display:block;margin-top:4px;color:#1e293b;font-size:15px}.kmc-campaign-metrics .danger strong{color:#dc2626}.kmc-campaign-actions{display:flex;gap:7px;flex-direction:column}.kmc-campaign-actions .danger{color:#991b1b;border-color:#fecaca}.kmc-campaign-more{grid-column:1/3}.kmc-campaign-more summary{cursor:pointer;color:#64748b;font-size:10px;font-weight:700}.kmc-campaign-more>div{display:flex;gap:18px;flex-wrap:wrap;padding-top:10px;font-size:10px;color:#64748b}.kmc-campaign-more b{color:#334155}.kmc-log-page{overflow:hidden}.kmc-log-header{padding:18px 20px!important;background:linear-gradient(135deg,#fff,#f8fafc);gap:16px!important;flex-wrap:wrap}.kmc-log-header h3{margin:0;font-size:20px}.kmc-log-commandbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px}.kmc-log-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kmc-log-records{border:1px solid #e2e8f0;border-radius:14px;overflow:auto}.kmc-log-records thead{position:sticky;top:0;z-index:2}.kwmc-status-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f1f5f9;font-size:10px;font-weight:800}.kwmc-status-chip[data-status="read"]{background:#dcfce7;color:#166534}.kwmc-status-chip[data-status="delivered"]{background:#ecfeff;color:#0e7490}.kwmc-status-chip[data-status="failed"]{background:#fee2e2;color:#991b1b}.kwmc-status-chip[data-status="queued"]{background:#fef3c7;color:#92400e}.kwmc-row-hidden{display:none!important}
@media(max-width:1150px){.kmc-overview-grid{grid-template-columns:repeat(3,1fr)}.kmc-campaign-item{grid-template-columns:1fr}.kmc-campaign-more{grid-column:auto}.kmc-campaign-actions{flex-direction:row}.kmc-campaign-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.kmc-section-head{align-items:stretch;flex-direction:column}.kmc-overview-grid{grid-template-columns:repeat(2,1fr)}.kmc-campaign-toolbar{flex-direction:column}.kmc-campaign-toolbar select{width:100%}.kmc-campaign-item{padding:14px}.kmc-campaign-metrics{grid-template-columns:repeat(2,1fr)}.kmc-campaign-actions .ktc-btn-ghost{flex:1}.kmc-log-filter-group{display:grid!important;grid-template-columns:1fr!important;width:100%}.kmc-log-actions{display:grid;grid-template-columns:1fr 1fr}.kmc-log-actions button{width:100%}}

/* 2.6.9.318 audience search and compact filters */
.kmc-audience-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.kmc-audience-search{position:relative;flex:1}.kmc-audience-search span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:16px}.kmc-audience-search input{width:100%;box-sizing:border-box;padding:11px 12px 11px 36px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-size:12px;outline:none}.kmc-audience-search input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.kmc-filter-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:11px;font-weight:800;cursor:pointer}.kmc-filter-toggle.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.kmc-filter-toggle b{align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#2563eb;color:#fff;font-size:9px}.kmc-audience-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 2px 10px;color:#64748b;font-size:10px}.kmc-audience-status #kwmc-filter-intimation{align-items:center;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:800}.kmc-audience-status #kwmc-filter-intimation.empty{background:#fff7ed;color:#c2410c}.kmc-selection-actions{margin:0 0 10px}.kmc-filter-card{display:none}.kmc-filter-card.is-open{display:block!important}.kmc-filter-chevron{font-style:normal;font-size:13px;transition:transform .18s ease}.kmc-filter-toggle.active .kmc-filter-chevron{transform:rotate(180deg)}
@media(max-width:640px){.kmc-audience-toolbar{gap:7px}.kmc-filter-toggle{padding:0 10px}.kmc-filter-toggle .kmc-filter-label{display:none}.kmc-selection-actions{flex-wrap:wrap}.kmc-selection-actions #kwmc-sel-count{width:100%;margin-left:0}}

/* 2.6.9.319 filter-panel visibility fix */
#kmc-audience-filter-panel.is-open{display:block!important}

/* Email Campaign foundation 2.6.9.323 */
.kcrm-view-email-campaign .kemail-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.kcrm-view-email-campaign .kemail-dot.ok{background:#10b981}.kcrm-view-email-campaign .kemail-dot.off{background:#94a3b8}.kemail-connect-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.kemail-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.kemail-span-2{grid-column:span 2}.kemail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.kemail-message{margin-top:16px;padding:12px 14px;border-radius:10px;font-size:13px}.kemail-message.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.kemail-message.bad,.kemail-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.kemail-security h3{margin:7px 0 12px}.kemail-security ul{margin:0;padding-left:19px;color:#64748b;line-height:1.75;font-size:13px}.kemail-list{margin-top:18px}.kemail-connection-cards{display:grid;gap:12px}.kemail-connection-card{border:1px solid #e2e8f0;border-radius:15px;padding:16px;background:#fff}.kemail-connection-card.active{border-color:#a5b4fc;box-shadow:0 0 0 3px #eef2ff}.kemail-connection-main{display:flex;gap:12px;align-items:center}.kemail-provider-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;font-size:20px}.kemail-card-title{font-weight:750;color:#0f172a;display:flex;align-items:center;gap:8px}.kemail-connection-main strong{display:block;font-size:13px;margin-top:3px;color:#334155}.kemail-connection-main small{display:block;margin-top:3px;color:#64748b}.kemail-card-meta,.kemail-card-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px}.kemail-card-meta>span:not(.kmc-status-badge){font-size:12px;color:#64748b;padding:5px 8px;background:#f8fafc;border-radius:999px}.kemail-error{margin-top:10px;padding:9px 11px;border-radius:9px;font-size:12px}.kemail-coming{text-align:center;padding:52px 24px}.kemail-coming-icon{font-size:34px;margin-bottom:12px}.kemail-coming h2{margin:0 0 7px}.kemail-coming p{color:#64748b;max-width:560px;margin:0 auto 14px}.ktc-btn.danger{background:#fff;color:#b91c1c;border:1px solid #fecaca}.ktc-btn.small{padding:8px 11px;font-size:12px}@media(max-width:900px){.kemail-connect-grid{grid-template-columns:1fr}}@media(max-width:680px){.kemail-form-grid{grid-template-columns:1fr}.kemail-span-2{grid-column:auto}.kemail-actions .ktc-btn{flex:1}.kemail-card-actions .ktc-btn{flex:1}.kemail-connection-main{align-items:flex-start}}

/* Email Campaign template builder 2.6.9.324 */
.kemail-template-toolbar{margin:14px 0 8px}.kemail-template-summary{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px;color:#64748b;font-size:12px}.kemail-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kemail-template-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:0 4px 18px rgba(15,23,42,.035);min-width:0}.kemail-template-card[hidden]{display:none}.kemail-template-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.kemail-template-card-head>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.kemail-template-card-head small{color:#94a3b8}.kemail-category-chip{padding:5px 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:800}.kemail-template-card h3{margin:13px 0 5px;color:#0f172a;font-size:17px}.kemail-template-subject{display:block;color:#334155;font-size:13px}.kemail-template-preheader{margin:4px 0 10px;color:#94a3b8;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kemail-template-mini-preview{height:190px;overflow:hidden;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc;padding:8px;font-size:8px;position:relative}.kemail-template-mini-preview:after{content:"";position:absolute;left:0;right:0;bottom:0;height:55px;background:linear-gradient(transparent,#f8fafc)}.kemail-template-mini-preview img{max-width:100%;height:auto}.kemail-template-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.kemail-builder-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;align-items:start}.kemail-builder-controls{min-width:0}.kemail-builder-tools,.kemail-variable-bar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:16px 0;padding:11px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px}.kemail-builder-tools span,.kemail-variable-bar span{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-weight:800;margin-right:3px}.kemail-builder-tools button,.kemail-variable-bar button{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:7px 9px;color:#334155;font-size:10px;font-weight:700;cursor:pointer}.kemail-variable-bar button{font-family:monospace;color:#1d4ed8}.kemail-builder-controls textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55}.kemail-preview-card{position:sticky;top:18px}.kemail-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.kemail-preview-head h3{margin:4px 0 0}.kemail-preview-head>div:last-child{display:flex;border:1px solid #cbd5e1;border-radius:9px;overflow:hidden}.kemail-preview-head button{border:0;background:#fff;padding:7px 9px;font-size:10px;font-weight:800;color:#64748b;cursor:pointer}.kemail-preview-head button.active{background:#eff6ff;color:#1d4ed8}.kemail-inbox-preview{margin-top:14px;padding:11px 13px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.kemail-inbox-preview strong,.kemail-inbox-preview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kemail-inbox-preview strong{font-size:12px;color:#0f172a}.kemail-inbox-preview small{margin-top:3px;color:#94a3b8}.kemail-preview-shell{margin:12px auto 0;width:100%;transition:width .2s}.kemail-preview-shell.mobile{width:375px;max-width:100%}.kemail-preview-shell iframe{display:block;width:100%;height:620px;border:1px solid #cbd5e1;border-radius:12px;background:#f1f5f9}.kemail-modal[hidden]{display:none}.kemail-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:2147483000;display:grid;place-items:center;padding:18px}.kemail-modal-card{width:min(460px,100%);background:#fff;border-radius:16px;padding:22px;position:relative;box-shadow:0 25px 70px rgba(15,23,42,.28)}.kemail-modal-card h3{margin:0 0 5px}.kemail-modal-card p{margin:0 0 15px;color:#64748b;font-size:12px}.kemail-modal-card .kcrm-field{margin-bottom:13px}.kemail-modal-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:25px;color:#64748b;cursor:pointer}
@media(max-width:1050px){.kemail-template-grid{grid-template-columns:1fr}.kemail-builder-layout{grid-template-columns:1fr}.kemail-preview-card{position:static}.kemail-preview-shell iframe{height:520px}}@media(max-width:680px){.kemail-template-toolbar{flex-direction:column}.kemail-template-toolbar select{width:100%}.kemail-template-actions .ktc-btn{flex:1}.kemail-preview-shell.mobile{width:100%}.kemail-builder-tools,.kemail-variable-bar{align-items:stretch}.kemail-builder-tools button,.kemail-variable-bar button{flex:1}.kemail-preview-head{align-items:flex-start}}
.kemail-builder-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px}.kemail-preview-card{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff;min-height:520px}.kemail-preview-top{padding:12px 16px;border-bottom:1px solid #e5e7eb;font-weight:600;background:#f8fafc}.kemail-preview-card iframe{width:100%;height:480px;border:0;background:#fff}.kmc-campaign-grid{display:grid;gap:14px}.kmc-campaign-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.kmc-campaign-card-head h3{margin:8px 0 4px}.kmc-campaign-card-head p{margin:0;color:#64748b}.kmc-campaign-meta{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid #eef2f7;margin-top:16px;padding-top:12px;color:#64748b;font-size:13px}@media(max-width:900px){.kemail-builder-grid{grid-template-columns:1fr}.kmc-campaign-card-head{flex-direction:column}}

.kmc-progress{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden;margin:14px 0}.kmc-progress>div{height:100%;background:linear-gradient(90deg,#6d5dfc,#3b82f6);border-radius:999px}.kmc-status-badge.processing,.kmc-status-badge.queued{background:#eef2ff;color:#4338ca}.kmc-status-badge.completed,.kmc-status-badge.sent,.kmc-status-badge.connected{background:#ecfdf5;color:#047857}.kmc-status-badge.failed{background:#fef2f2;color:#b91c1c}.kmc-status-badge.paused{background:#fff7ed;color:#c2410c}

/* Email visual template builder 2.6.9.328 */
.kemail-template-basics{margin-bottom:16px}.kemail-visual-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 300px 380px;gap:16px;align-items:start}.kemail-block-library,.kemail-settings-card,.kemail-preview-card{position:sticky;top:18px}.kemail-block-library h3,.kemail-settings-card h3,.kemail-canvas-head h3{margin:5px 0}.kemail-block-library>p,.kemail-canvas-head small{color:#64748b;font-size:12px}.kemail-block-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.kemail-block-buttons button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:68px;border:1px solid #dbe3ee;border-radius:11px;background:#fff;color:#1e3a5f;font-size:18px;cursor:pointer}.kemail-block-buttons button:hover{border-color:#93c5fd;background:#eff6ff}.kemail-block-buttons span{font-size:10px;font-weight:800}.kemail-block-library .kemail-variable-bar{padding:0;border:0;background:transparent;display:grid;grid-template-columns:1fr}.kemail-block-library .kemail-variable-bar>span{grid-column:1/-1}.kemail-canvas-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.kemail-block-canvas{min-height:360px;padding:14px;background:#f3f6fa;border:1px dashed #cbd5e1;border-radius:14px}.kemail-empty-canvas{padding:60px 20px;text-align:center;color:#94a3b8}.kemail-canvas-block{margin-bottom:10px;border:2px solid transparent;border-radius:11px;background:#fff;overflow:hidden;cursor:pointer}.kemail-canvas-block:hover,.kemail-canvas-block.selected{border-color:#6d5dfc}.kemail-block-toolbar{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #eef2f7;color:#64748b;font-size:10px;text-transform:capitalize}.kemail-block-toolbar div{display:flex;gap:4px}.kemail-block-toolbar button{width:24px;height:24px;border:1px solid #dbe3ee;border-radius:6px;background:#fff;cursor:pointer}.kemail-canvas-content{padding:10px 16px}.kemail-settings-empty{color:#94a3b8;line-height:1.6}.kemail-block-settings .kcrm-field{margin-bottom:12px}.kemail-block-settings textarea{font-family:inherit;font-size:13px}.kemail-check{display:flex;gap:8px;align-items:center;font-size:12px;color:#334155;margin:10px 0}.kemail-upload-box{display:grid;gap:8px;padding:12px;margin-bottom:12px;border:1px dashed #93c5fd;border-radius:11px;background:#eff6ff}.kemail-upload-box>span{font-size:11px;font-weight:800;color:#1d4ed8}.kemail-upload-box small{font-size:10px;color:#64748b}.kemail-advanced-html{margin:15px 0;border:1px solid #e2e8f0;border-radius:11px;padding:11px;background:#fafafa}.kemail-advanced-html summary{cursor:pointer;font-weight:800;color:#334155}.kemail-advanced-html p{font-size:11px;color:#64748b}.kemail-advanced-html textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;margin-bottom:8px}.kcrm-field small{display:block;margin-top:5px;color:#64748b;font-size:10px}
@media(max-width:1500px){.kemail-visual-layout{grid-template-columns:200px minmax(0,1fr) 280px}.kemail-preview-card{grid-column:2/4;position:static}.kemail-preview-shell iframe{height:520px}}
@media(max-width:1050px){.kemail-visual-layout{grid-template-columns:190px minmax(0,1fr)}.kemail-settings-card,.kemail-preview-card{grid-column:auto;position:static}.kemail-settings-card{grid-column:1/2}.kemail-preview-card{grid-column:2/3}}
@media(max-width:760px){.kemail-visual-layout{grid-template-columns:1fr}.kemail-block-library,.kemail-settings-card,.kemail-preview-card{grid-column:auto;position:static}.kemail-block-buttons{grid-template-columns:repeat(3,1fr)}.kemail-canvas-card{order:2}.kemail-settings-card{order:3}.kemail-preview-card{order:4}.kemail-block-library{order:1}.kemail-canvas-content{padding:7px}.kemail-block-toolbar button{width:28px;height:28px}}
