/* =============================================================================
   AcquisitionSuite — Phase 3 Bespoke Admin Design System
   Brand: Navy #0D1B4B | Orange #F97316 | White #FFFFFF
   Pages: Form Builder | Analytics | Lead Scoring | Automation | Export | Submissions
   Author: Fortunatus | UfirstDEV Technologies
   ============================================================================= */

/* ─────────────────────────────────────────────────────────────────────────────
   DESIGN TOKENS
   ───────────────────────────────────────────────────────────────────────────── */
:root {
    --p3-navy:       #0D1B4B;
    --p3-navy-mid:   #1a2f6e;
    --p3-navy-light: #e8eaf4;
    --p3-orange:     #F97316;
    --p3-orange-lt:  #fff4ed;
    --p3-orange-mid: #fdba74;
    --p3-white:      #ffffff;
    --p3-gray-50:    #f9fafb;
    --p3-gray-100:   #f3f4f6;
    --p3-gray-200:   #e5e7eb;
    --p3-gray-400:   #9ca3af;
    --p3-gray-600:   #6b7280;
    --p3-gray-800:   #1f2937;
    --p3-green:      #16a34a;
    --p3-green-lt:   #dcfce7;
    --p3-red:        #dc2626;
    --p3-red-lt:     #fee2e2;
    --p3-blue:       #2563eb;
    --p3-blue-lt:    #dbeafe;
    --acquis-orange-dark:  #ea6008;
    --p3-radius-sm:  6px;
    --p3-radius:     10px;
    --p3-radius-lg:  14px;
    --p3-radius-xl:  18px;
    --p3-shadow-sm:  0 1px 3px rgba(13,27,75,.06);
    --p3-shadow:     0 2px 10px rgba(13,27,75,.08);
    --p3-shadow-lg:  0 8px 32px rgba(13,27,75,.16);
    --p3-transition: .18s ease;
}

/* ─────────────────────────────────────────────────────────────────────────────
   SHARED PRIMITIVES (override WP defaults cleanly)
   ───────────────────────────────────────────────────────────────────────────── */

/* ── Header ──────────────────────────────────────────────── */
.acquis-admin-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 0 16px;
    border-bottom: 3px solid var(--p3-orange);
    margin-bottom: 24px;
}
.acquis-logo { display: flex; align-items: center; gap: 14px; }
.acquis-logo .dashicons { font-size: 36px; width: 36px; height: 36px; color: var(--p3-orange); }
.acquis-logo h1 { font-size: 20px; font-weight: 800; margin: 0 0 2px; color: var(--p3-navy); line-height: 1.2; }
.acquis-logo h1 span { color: var(--p3-orange); }
.acquis-logo p  { margin: 0; font-size: 11px; color: var(--p3-orange); }
.acquis-version { font-size: 11px; color: var(--acquis-gray); background: var(--p3-navy-light); padding: 3px 10px; border-radius: 20px; }
.acquis-total-badge { font-size: 12px; font-weight: 700; background: var(--p3-orange-lt); color: var(--acquis-orange-dark); padding: 4px 12px; border-radius: 20px; }

/* Reusable buttons */
.acquis-btn-primary {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 20px; background: var(--p3-orange); color: #fff;
    border: none; border-radius: var(--p3-radius-sm); font-size: 13px;
    font-weight: 700; cursor: pointer; text-decoration: none;
    transition: background var(--p3-transition), transform var(--p3-transition), box-shadow var(--p3-transition);
    line-height: 1.4; box-shadow: 0 2px 8px rgba(249,115,22,.3);
    letter-spacing: .01em;
}
.acquis-btn-primary:hover { background: #ea6008; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(249,115,22,.4); }
.acquis-btn-primary:active { transform: translateY(0); }
.acquis-btn-primary:disabled { opacity: .6; cursor: not-allowed; transform: none; }

.acquis-btn-secondary {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 16px; background: var(--p3-white); color: var(--p3-navy);
    border: 1.5px solid var(--p3-gray-200); border-radius: var(--p3-radius-sm);
    font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: none;
    transition: all var(--p3-transition); line-height: 1.4;
}
.acquis-btn-secondary:hover { border-color: var(--p3-navy); color: var(--p3-navy); background: var(--p3-gray-50); }

.acquis-btn-ghost {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; background: transparent; color: var(--p3-gray-600);
    border: 1px solid var(--p3-gray-200); border-radius: var(--p3-radius-sm);
    font-size: 12px; cursor: pointer; text-decoration: none; transition: all var(--p3-transition);
}
.acquis-btn-ghost:hover { background: var(--p3-gray-100); color: var(--p3-gray-800); }

.acquis-btn-danger {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 6px 12px; background: transparent; color: var(--p3-red);
    border: 1.5px solid #fecaca; border-radius: var(--p3-radius-sm);
    font-size: 12px; cursor: pointer; transition: all var(--p3-transition);
}
.acquis-btn-danger:hover { background: var(--p3-red-lt); border-color: var(--p3-red); }

.acquis-btn-sm { padding: 5px 12px !important; font-size: 12px !important; }
.acquis-btn-xs { padding: 4px 9px !important; font-size: 11px !important; }

/* Badges */
.acquis-badge {
    display: inline-flex; align-items: center;
    padding: 3px 9px; border-radius: 20px; font-size: 11px; font-weight: 700;
    letter-spacing: .03em; white-space: nowrap;
}
.acquis-badge-navy   { background: var(--p3-navy-light); color: var(--p3-navy); }
.acquis-badge-orange { background: var(--p3-orange-lt);  color: #ea6008; }
.acquis-badge-green  { background: var(--p3-green-lt);   color: var(--p3-green); }
.acquis-badge-red    { background: var(--p3-red-lt);     color: var(--p3-red); }
.acquis-badge-blue   { background: var(--p3-blue-lt);    color: var(--p3-blue); }
.acquis-badge-gray   { background: var(--p3-gray-100);   color: var(--p3-gray-600); }

/* Form primitives */
.acquis-field-input,
.acquis-field-input.regular-text,
.acquis-field-input.small-text,
.acquis-field-input.large-text {
    display: block; width: 100%; padding: 9px 12px;
    border: 1.5px solid var(--p3-gray-200); border-radius: var(--p3-radius-sm);
    font-size: 13px; color: var(--p3-gray-800); background: var(--p3-white);
    transition: border-color var(--p3-transition), box-shadow var(--p3-transition);
    box-sizing: border-box; font-family: inherit;
}
.acquis-field-input:focus {
    border-color: var(--p3-orange); outline: none;
    box-shadow: 0 0 0 3px rgba(249,115,22,.12);
}

.acquis-form-label {
    display: block; font-size: 12px; font-weight: 700;
    color: var(--p3-navy); margin-bottom: 6px; letter-spacing: .02em;
}
.acquis-form-hint {
    font-size: 11px; color: var(--p3-gray-400); margin-top: 5px; line-height: 1.5;
}
.acquis-form-group-p3 { margin-bottom: 16px; }

/* Inline result feedback */
.acquis-inline-result {
    font-size: 12px; font-weight: 600; padding: 5px 10px;
    border-radius: var(--p3-radius-sm); display: none;
}
.acquis-inline-result.acquis-ok  { background: var(--p3-green-lt); color: var(--p3-green); display: inline-flex; }
.acquis-inline-result.acquis-err { background: var(--p3-red-lt);   color: var(--p3-red);   display: inline-flex; }

/* Page section header */
.acquis-section-head {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px; margin-bottom: 20px;
}
.acquis-section-head h2 {
    font-size: 16px; font-weight: 800; color: var(--p3-navy);
    margin: 0; display: flex; align-items: center; gap: 8px;
}

/* Total badge (count bubble) */
.acquis-count-pill {
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--p3-navy); color: #fff;
    padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 700;
}

/* Divider */
.acquis-divider {
    border: none; border-top: 1.5px solid var(--p3-gray-100); margin: 20px 0;
}

/* Empty state */
.acquis-p3-empty {
    text-align: center; padding: 56px 24px;
    background: linear-gradient(160deg, var(--p3-gray-50), var(--p3-orange-lt));
    border-radius: var(--p3-radius-xl); border: 2px dashed var(--p3-gray-200);
}
.acquis-p3-empty-icon { font-size: 56px; display: block; margin-bottom: 18px; line-height: 1; }
.acquis-p3-empty h3 { font-size: 20px; font-weight: 800; color: var(--p3-navy); margin: 0 0 10px; }
.acquis-p3-empty p  { font-size: 14px; color: var(--p3-gray-600); margin: 0 0 24px; max-width: 380px; margin-left: auto; margin-right: auto; }

/* Card base */
.acquis-p3-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); box-shadow: var(--p3-shadow-sm);
    overflow: hidden;
}
.acquis-p3-card-body { padding: 22px 24px; }
.acquis-p3-card-head {
    padding: 16px 22px; border-bottom: 1px solid var(--p3-gray-100);
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px;
}
.acquis-p3-card-head h3 {
    font-size: 14px; font-weight: 800; color: var(--p3-navy); margin: 0;
    display: flex; align-items: center; gap: 8px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ██████  FORM BUILDER
   ───────────────────────────────────────────────────────────────────────────── */

/* ── Create Form Screen ─────────── */
.acquis-p3-create-wrap { max-width: 600px; }
.acquis-create-form-card {
    background: var(--p3-white); border-radius: var(--p3-radius-xl);
    border: 1.5px solid var(--p3-gray-200); padding: 34px 36px;
    box-shadow: 0 4px 24px rgba(13,27,75,.09);
}
.acquis-create-form-card h2 {
    font-size: 22px; font-weight: 800; color: var(--p3-navy);
    margin: 0 0 6px; padding: 0; border: none;
}
.acquis-create-form-card .acquis-create-sub {
    font-size: 14px; color: var(--p3-gray-600); margin: 0 0 28px;
}
.acquis-create-form-body { display: flex; flex-direction: column; gap: 16px; }
.acquis-step-counter {
    display: flex; align-items: center; gap: 10px;
}
.acquis-step-counter input[type="number"] {
    width: 80px; padding: 9px 12px;
    border: 1.5px solid var(--p3-gray-200); border-radius: var(--p3-radius-sm);
    font-size: 14px; font-weight: 700; color: var(--p3-navy); text-align: center;
}
.acquis-step-counter input:focus { border-color: var(--p3-orange); outline: none; }
.acquis-step-counter-hint { font-size: 12px; color: var(--p3-gray-400); }

/* ── Form List Screen ─────────── */
.acquis-p3-form-list-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.acquis-p3-forms-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 14px;
}

.acquis-form-item-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); padding: 18px 20px;
    display: flex; align-items: center; gap: 14px;
    transition: border-color var(--p3-transition), box-shadow var(--p3-transition), transform var(--p3-transition);
    box-shadow: var(--p3-shadow-sm); cursor: default;
}
.acquis-form-item-card:hover {
    border-color: var(--p3-orange); box-shadow: 0 6px 20px rgba(249,115,22,.12);
    transform: translateY(-2px);
}
.acquis-form-item-icon {
    width: 52px; height: 52px; background: var(--p3-orange-lt);
    border-radius: 12px; display: flex; align-items: center; justify-content: center;
    font-size: 24px; flex-shrink: 0; border: 1.5px solid #fed7aa;
}
.acquis-form-item-body { flex: 1; min-width: 0; }
.acquis-form-item-body strong {
    display: block; font-size: 14px; font-weight: 800; color: var(--p3-navy);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 5px;
}
.acquis-form-item-meta {
    display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
    font-size: 11px; color: var(--p3-gray-400);
}
.acquis-form-item-actions {
    display: flex; align-items: center; gap: 6px; flex-shrink: 0; flex-direction: column;
}

/* ── Builder Canvas Screen ─────────── */

/* =============================================================================
   FORM BUILDER — Modern 3-column layout
   ============================================================================= */

/* ── Outer wrapper ────────────────────────────────────────────────────────── */
.acquis-fb-wrap {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0;
    height: calc(100vh - 140px);
    min-height: 600px;
    background: var(--p3-white);
    border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg);
    overflow: hidden;
    box-shadow: var(--p3-shadow);
}

/* ── LEFT: Field Palette ─────────────────────────────────────────────────── */
.acquis-fb-palette {
    background: var(--p3-navy);
    border-right: none;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}
.acquis-fb-panel-head {
    display: flex; align-items: center; gap: 8px;
    padding: 16px 14px 12px;
    color: rgba(255,255,255,.5);
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
    border-bottom: 1px solid rgba(255,255,255,.08);
    flex-shrink: 0;
}
.acquis-fb-panel-head .dashicons { font-size: 14px; }
.acquis-fb-palette-grid {
    display: flex; flex-direction: column; gap: 2px; padding: 10px 8px;
}
.acquis-fb-palette-btn {
    display: flex; align-items: center; gap: 10px;
    width: 100%; padding: 9px 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    color: rgba(255,255,255,.75);
    font-size: 12px; font-weight: 500;
    cursor: pointer; text-align: left;
    transition: background .15s, color .15s, border-color .15s;
}
.acquis-fb-palette-btn:hover {
    background: rgba(249,115,22,.18);
    border-color: rgba(249,115,22,.4);
    color: #fff;
}
.acquis-fb-palette-btn:active { background: rgba(249,115,22,.3); }
.acquis-fb-palette-btn .dashicons { font-size: 15px; flex-shrink: 0; }
.acquis-fb-palette-btn.acquis-btn-adding {
    opacity: .6; pointer-events: none;
}

/* ── RIGHT: Canvas panel ─────────────────────────────────────────────────── */
.acquis-fb-canvas-panel {
    display: flex; flex-direction: column; overflow: hidden;
}

/* Top bar */
.acquis-fb-topbar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 18px;
    background: var(--p3-white);
    border-bottom: 1.5px solid var(--p3-gray-100);
    flex-shrink: 0; gap: 12px;
}
.acquis-fb-topbar-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.acquis-fb-topbar-right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

.acquis-fb-back-btn {
    display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    background: var(--p3-gray-100); border-radius: 8px;
    color: var(--p3-navy); text-decoration: none;
    transition: background .15s;
    flex-shrink: 0;
}
.acquis-fb-back-btn:hover { background: var(--p3-navy); color: #fff; }

.acquis-fb-form-title-wrap { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.acquis-fb-form-title-input {
    font-size: 15px; font-weight: 700; color: var(--p3-navy);
    border: none; background: transparent; outline: none; padding: 0;
    width: 100%;
}
.acquis-fb-form-title-input:focus { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--p3-orange); }
.acquis-fb-title-hint { font-size: 10px; color: var(--p3-gray-400); line-height: 1; }

.acquis-fb-save-badge {
    font-size: 11px; font-weight: 600; padding: 3px 9px;
    border-radius: 20px; white-space: nowrap;
}
.acquis-fb-save-badge.saving { background: #fef3c7; color: #92400e; }
.acquis-fb-save-badge.saved  { background: var(--p3-green-lt); color: var(--p3-green); }
.acquis-fb-save-badge.error  { background: var(--p3-red-lt); color: var(--p3-red); }

.acquis-fb-field-count { font-size: 11px; color: var(--p3-gray-400); padding: 0 6px; }

.acquis-fb-tab-btn {
    display: flex; align-items: center; gap: 5px;
    padding: 6px 12px; border-radius: 7px;
    background: transparent; border: 1.5px solid var(--p3-gray-200);
    color: var(--p3-gray-600); font-size: 12px; font-weight: 600;
    cursor: pointer; transition: all .15s; white-space: nowrap;
}
.acquis-fb-tab-btn:hover { border-color: var(--p3-navy); color: var(--p3-navy); }
.acquis-fb-tab-btn.active { background: var(--p3-navy); border-color: var(--p3-navy); color: #fff; }
.acquis-fb-tab-btn .dashicons { font-size: 14px; }

/* Panel bodies */
.acquis-fb-panel-body {
    flex: 1; overflow-y: auto; padding: 20px;
}

/* ── Canvas drop zone ────────────────────────────────────────────────────── */
.acquis-fb-canvas {
    min-height: 400px; padding: 8px;
}
.acquis-fb-empty {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-height: 300px; gap: 10px;
    color: var(--p3-gray-400); text-align: center;
}
.acquis-fb-empty p { margin: 0; font-size: 13px; line-height: 1.6; }

/* ── Field Cards ─────────────────────────────────────────────────────────── */
.acquis-field-card {
    background: var(--p3-white);
    border: 1.5px solid var(--p3-gray-200);
    border-radius: 10px;
    margin-bottom: 8px;
    transition: border-color .15s, box-shadow .15s;
    box-shadow: 0 1px 4px rgba(13,27,75,.05);
    cursor: default;
}
.acquis-field-card:hover { border-color: #d1a7fb; box-shadow: 0 3px 12px rgba(107,33,168,.08); }

.acquis-field-card-header {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 14px; gap: 10px;
}

/* Drag handle — critical: must not block pointer events on children */
.acquis-drag-handle {
    cursor: grab;
    color: var(--p3-gray-200);
    font-size: 16px;
    flex-shrink: 0;
    padding: 4px 6px;
    border-radius: 5px;
    line-height: 1;
    user-select: none;
    -webkit-user-select: none;
    transition: color .15s, background .15s;
    /* Pointer events explicitly allowed */
    pointer-events: auto;
}
.acquis-drag-handle:hover { color: var(--p3-gray-400); background: var(--p3-gray-100); }
.acquis-drag-handle:active { cursor: grabbing; }

.acquis-field-type-chip {
    display: inline-flex; align-items: center; gap: 4px;
    background: var(--p3-navy-light); color: var(--p3-navy);
    padding: 3px 9px; border-radius: 20px;
    font-size: 10px; font-weight: 700; letter-spacing: .04em;
    flex-shrink: 0;
}
.acquis-field-card-label {
    flex: 1; font-size: 13px; font-weight: 600; color: var(--p3-gray-800);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.acquis-field-meta-chips { display: flex; gap: 4px; flex-shrink: 0; }
.acquis-field-card-actions { display: flex; gap: 3px; flex-shrink: 0; }
.acquis-field-card-actions button {
    display: flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 6px;
    background: transparent; border: none; cursor: pointer;
    color: var(--p3-gray-400); font-size: 13px; transition: all .12s;
}
.acquis-field-card-actions button:hover { background: var(--p3-gray-100); color: var(--p3-navy); }
.acquis-field-card-actions .acquis-del-btn:hover { background: var(--p3-red-lt); color: var(--p3-red); }

/* Inline edit panel */
.acquis-field-edit-panel {
    border-top: 1.5px solid var(--p3-gray-100);
    background: #fafafa;
    border-radius: 0 0 10px 10px;
    padding: 16px;
}
.acquis-field-edit-panel h4 {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: var(--p3-orange); margin: 0 0 14px;
}
.acquis-field-edit-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.acquis-feg-group { display: flex; flex-direction: column; gap: 4px; }
.acquis-feg-group label { font-size: 11px; font-weight: 600; color: var(--p3-navy); }
.acquis-feg-group input:not([type="checkbox"]), .acquis-feg-group select, .acquis-feg-group textarea {
    padding: 7px 10px; border: 1.5px solid var(--p3-gray-200);
    border-radius: 7px; font-size: 12px; width: 100%; box-sizing: border-box;
    background: #fff; color: var(--p3-gray-800);
    transition: border-color .12s;
}
.acquis-feg-group input:not([type="checkbox"]):focus, .acquis-feg-group select:focus, .acquis-feg-group textarea:focus {
    outline: none; border-color: var(--p3-orange);
}
.acquis-feg-full { grid-column: 1 / -1; }
.acquis-feg-hint { font-size: 10px; color: var(--p3-gray-400); margin: 0; line-height: 1.5; }
.acquis-fe-key-row { display: flex; align-items: center; gap: 6px; }
.acquis-feg-checkbox-label { display: flex; align-items: center; gap: 6px; font-size: 12px; cursor: pointer; }
.acquis-cond-logic-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.acquis-cond-label { font-size: 11px; color: var(--p3-gray-600); white-space: nowrap; }
.acquis-cond-logic-row input[type=text], .acquis-cond-logic-row select { flex: 1; min-width: 60px; }
.acquis-field-edit-footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; align-items: center; }

/* Autosave indicator */
.acquis-autosave-indicator {
    font-size: 10px; font-weight: 600; padding: 2px 7px;
    border-radius: 10px; margin-left: 6px;
}

/* ── Drag states ─────────────────────────────────────────────────────────── */
.acquis-drag-ghost {
    opacity: 0.4 !important;
    background: var(--p3-orange-lt) !important;
    border: 2px dashed var(--p3-orange) !important;
}
.acquis-fb-drop-placeholder {
    height: 56px;
    background: rgba(249,115,22,.06);
    border: 2px dashed var(--p3-orange);
    border-radius: 10px;
    margin-bottom: 8px;
}

/* ── Settings grid ───────────────────────────────────────────────────────── */
.acquis-fb-settings-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.acquis-fb-settings-section { display: flex; flex-direction: column; gap: 8px; }
.acquis-fb-settings-section h4 {
    font-size: 12px; font-weight: 700; color: var(--p3-navy);
    text-transform: uppercase; letter-spacing: .06em;
    margin: 0 0 4px; padding-bottom: 8px;
    border-bottom: 2px solid var(--p3-orange);
}
.acquis-fb-settings-section label { font-size: 11px; font-weight: 600; color: var(--p3-gray-800); }
.acquis-fb-settings-section input[type=text],
.acquis-fb-settings-section input[type=email],
.acquis-fb-settings-section input[type=number],
.acquis-fb-settings-section select,
.acquis-fb-settings-section textarea {
    padding: 8px 10px; border: 1.5px solid var(--p3-gray-200);
    border-radius: 7px; font-size: 12px; width: 100%; box-sizing: border-box;
    background: #fff;
}
.acquis-fb-settings-section input:focus,
.acquis-fb-settings-section select:focus,
.acquis-fb-settings-section textarea:focus { outline: none; border-color: var(--p3-orange); }
.acquis-fb-hint { font-size: 10px; color: var(--p3-gray-400); margin: 0; line-height: 1.5; }
.acquis-fb-shortcode-box {
    font-family: monospace; font-size: 11px;
    background: var(--p3-gray-100); border: 1.5px solid var(--p3-gray-200);
    border-radius: 7px; padding: 8px 10px; word-break: break-all;
    color: var(--p3-navy); margin-top: 2px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .acquis-fb-settings-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .acquis-fb-wrap { grid-template-columns: 1fr; height: auto; }
    .acquis-fb-palette { flex-direction: row; flex-wrap: wrap; }
    .acquis-fb-palette-grid { flex-direction: row; flex-wrap: wrap; padding: 8px; }
    .acquis-fb-palette-btn { width: auto; flex: 0 0 auto; }
    .acquis-fb-topbar { flex-wrap: wrap; }
    .acquis-field-edit-grid { grid-template-columns: 1fr; }
}


/* ─────────────────────────────────────────────────────────────────────────────
   ████████  ANALYTICS
   ───────────────────────────────────────────────────────────────────────────── */

.acquis-analytics-hero {
    background: linear-gradient(135deg, var(--p3-navy) 0%, #1e3a7a 50%, #2a1a6e 100%);
    border-radius: var(--p3-radius-xl); padding: 30px 34px; margin-bottom: 22px;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 20px; box-shadow: var(--p3-shadow-lg);
    position: relative; overflow: hidden;
}
.acquis-analytics-hero::before {
    content: ''; position: absolute; top: -40px; right: -40px;
    width: 200px; height: 200px; border-radius: 50%;
    background: rgba(249,115,22,.08);
}
.acquis-analytics-hero::after {
    content: ''; position: absolute; bottom: -60px; right: 80px;
    width: 160px; height: 160px; border-radius: 50%;
    background: rgba(249,115,22,.05);
}
.acquis-analytics-hero-left { position: relative; z-index: 1; }
.acquis-analytics-hero h2 {
    color: var(--p3-white); font-size: 22px; font-weight: 800;
    margin: 0 0 5px; display: flex; align-items: center; gap: 10px;
}
.acquis-analytics-hero p { color: rgba(255,255,255,.65); font-size: 13px; margin: 0; }

.acquis-analytics-filters {
    display: flex; gap: 6px; flex-wrap: wrap; position: relative; z-index: 1;
}
.acquis-analytics-filters a {
    padding: 8px 18px; border-radius: 24px; font-size: 12px; font-weight: 700;
    text-decoration: none; background: rgba(255,255,255,.1); color: rgba(255,255,255,.8);
    border: 1.5px solid rgba(255,255,255,.18); transition: all var(--p3-transition);
}
.acquis-analytics-filters a:hover {
    background: rgba(249,115,22,.35); border-color: var(--p3-orange); color: #fff;
}
.acquis-analytics-filters a.active {
    background: var(--p3-orange); border-color: var(--p3-orange);
    color: #fff; box-shadow: 0 3px 12px rgba(249,115,22,.4);
}

/* KPI grid */
.acquis-kpi-grid {
    display: grid; grid-template-columns: repeat(6, 1fr);
    gap: 12px; margin-bottom: 22px;
}
@media (max-width: 1200px) { .acquis-kpi-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .acquis-kpi-grid { grid-template-columns: repeat(2, 1fr); } }

.acquis-kpi-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); padding: 20px 16px; text-align: center;
    position: relative; overflow: hidden;
    transition: box-shadow var(--p3-transition), transform var(--p3-transition), border-color var(--p3-transition);
    box-shadow: var(--p3-shadow-sm);
}
.acquis-kpi-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--p3-navy), var(--p3-orange));
}
.acquis-kpi-card:hover {
    box-shadow: 0 8px 24px rgba(13,27,75,.12); transform: translateY(-3px);
    border-color: transparent;
}
.acquis-kpi-icon {
    width: 40px; height: 40px; border-radius: 10px; margin: 0 auto 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; background: var(--p3-navy-light);
}
.acquis-kpi-icon .dashicons { font-size: 22px; width: 22px; height: 22px; color: var(--p3-navy); }
.acquis-kpi-value {
    font-size: 26px; font-weight: 900; color: var(--p3-navy);
    line-height: 1; margin-bottom: 5px; letter-spacing: -.02em;
}
.acquis-kpi-label {
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: var(--p3-gray-600); margin-bottom: 3px;
}
.acquis-kpi-sub { font-size: 9px; color: var(--p3-gray-400); }

/* Charts row */
.acquis-charts-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 22px;
}
@media (max-width: 900px) { .acquis-charts-grid { grid-template-columns: 1fr; } }

.acquis-chart-panel {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); padding: 22px 24px;
    box-shadow: var(--p3-shadow-sm);
}
.acquis-chart-panel-header {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px;
}
.acquis-chart-panel-header h3 {
    font-size: 14px; font-weight: 800; color: var(--p3-navy); margin: 0;
    display: flex; align-items: center; gap: 8px;
}
.acquis-chart-range-pill {
    font-size: 10px; font-weight: 700; background: var(--p3-navy-light);
    color: var(--p3-navy); padding: 4px 10px; border-radius: 20px;
}
.acquis-chart-panel canvas {
    display: block;
    width: 100% !important;
    height: 220px !important;
    max-height: 220px;
}

/* Analytics data tables */
.acquis-analytics-tables-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
@media (max-width: 900px) { .acquis-analytics-tables-grid { grid-template-columns: 1fr; } }

.acquis-data-panel {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden; box-shadow: var(--p3-shadow-sm);
}
.acquis-data-panel-header {
    padding: 16px 20px; border-bottom: 1px solid var(--p3-gray-100);
    display: flex; align-items: center; justify-content: space-between;
    background: var(--p3-gray-50);
}
.acquis-data-panel-header h3 {
    font-size: 13px; font-weight: 800; color: var(--p3-navy); margin: 0;
    display: flex; align-items: center; gap: 7px;
}
.acquis-data-panel-body { padding: 0; }

.acquis-data-row {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 20px; border-bottom: 1px solid var(--p3-gray-100);
    transition: background var(--p3-transition);
}
.acquis-data-row:last-child { border-bottom: none; }
.acquis-data-row:hover { background: #fdf8f5; }
.acquis-data-row-rank {
    font-size: 12px; font-weight: 800; color: var(--p3-gray-400);
    width: 20px; text-align: center; flex-shrink: 0;
}
.acquis-data-row-label {
    flex: 1; font-size: 13px; color: var(--p3-gray-800);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.acquis-data-row-bar-wrap {
    width: 80px; flex-shrink: 0;
    height: 6px; background: var(--p3-gray-100); border-radius: 3px; overflow: hidden;
}
.acquis-data-row-bar-fill {
    height: 100%; border-radius: 3px;
    background: linear-gradient(90deg, var(--p3-navy), var(--p3-orange));
    transition: width .4s ease;
}
.acquis-data-row-value {
    font-size: 14px; font-weight: 800; color: var(--p3-navy);
    flex-shrink: 0; min-width: 36px; text-align: right;
}


/* ─────────────────────────────────────────────────────────────────────────────
   ⭐  LEAD SCORING
   ───────────────────────────────────────────────────────────────────────────── */

.acquis-scoring-page-grid {
    display: grid; grid-template-columns: 1fr 1.6fr; gap: 20px; align-items: start;
}
@media (max-width: 960px) { .acquis-scoring-page-grid { grid-template-columns: 1fr; } }

/* Hero banner */
.acquis-scoring-hero {
    background: linear-gradient(130deg, var(--p3-navy) 0%, #1e3a7a 100%);
    border-radius: var(--p3-radius-lg); padding: 22px 26px; margin-bottom: 20px;
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    box-shadow: 0 6px 24px rgba(13,27,75,.2);
}
.acquis-scoring-hero-icon {
    width: 54px; height: 54px; background: rgba(249,115,22,.2);
    border-radius: 14px; display: flex; align-items: center; justify-content: center;
    font-size: 28px; flex-shrink: 0;
}
.acquis-scoring-hero-text h2 { color: #fff; font-size: 18px; font-weight: 800; margin: 0 0 3px; }
.acquis-scoring-hero-text p  { color: rgba(255,255,255,.65); font-size: 12px; margin: 0; line-height: 1.5; }

/* Tier legend */
.acquis-tier-legend {
    display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px;
}
.acquis-tier-pill {
    display: flex; align-items: center; gap: 5px;
    padding: 5px 12px; border-radius: 20px; font-size: 11px; font-weight: 700;
}
.acquis-tier-hot   { background: #fee2e2; color: #b91c1c; }
.acquis-tier-warm  { background: #fff7ed; color: #c2410c; }
.acquis-tier-cool  { background: var(--p3-blue-lt); color: var(--p3-blue); }
.acquis-tier-cold  { background: var(--p3-gray-100); color: var(--p3-gray-600); }

/* Add rule panel */
.acquis-add-rule-panel {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden; box-shadow: var(--p3-shadow-sm);
}
.acquis-add-rule-head {
    background: linear-gradient(90deg, var(--p3-orange-lt), #fff);
    border-bottom: 1.5px solid #fed7aa; padding: 14px 20px;
    display: flex; align-items: center; gap: 10px;
}
.acquis-add-rule-head h3 { font-size: 14px; font-weight: 800; color: var(--p3-navy); margin: 0; }
.acquis-add-rule-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.acquis-rule-row-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.acquis-rule-row-grid.acquis-triple {
    grid-template-columns: 1fr 1fr 80px;
}
.acquis-rule-form-group { display: flex; flex-direction: column; gap: 4px; }
.acquis-rule-form-group label { font-size: 11px; font-weight: 700; color: var(--p3-navy); text-transform: uppercase; letter-spacing: .04em; }
.acquis-rule-form-group input,
.acquis-rule-form-group select {
    padding: 9px 12px; border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-sm); font-size: 13px; background: var(--p3-white);
    transition: border-color var(--p3-transition);
}
.acquis-rule-form-group input:focus,
.acquis-rule-form-group select:focus { border-color: var(--p3-orange); outline: none; box-shadow: 0 0 0 3px rgba(249,115,22,.1); }
.acquis-rule-form-group input.acquis-points-input { font-size: 16px; font-weight: 700; text-align: center; color: var(--p3-navy); }
.acquis-add-rule-footer {
    padding: 14px 20px; border-top: 1px solid var(--p3-gray-100);
    display: flex; align-items: center; gap: 10px;
    background: var(--p3-gray-50);
}

/* Rules list */
.acquis-rules-table-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden; box-shadow: var(--p3-shadow-sm);
}
.acquis-rules-table-head {
    background: var(--p3-navy); padding: 13px 20px;
    display: flex; align-items: center; gap: 10px;
}
.acquis-rules-table-head h3 { color: #fff; font-size: 13px; font-weight: 700; margin: 0; }
.acquis-rescore-btn {
    margin-left: auto; background: rgba(255,255,255,.15); color: #fff;
    border: 1px solid rgba(255,255,255,.25); border-radius: 6px;
    padding: 5px 12px; font-size: 11px; font-weight: 600; cursor: pointer;
    transition: all var(--p3-transition);
}
.acquis-rescore-btn:hover { background: var(--p3-orange); border-color: var(--p3-orange); }

.acquis-rule-item {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 20px; border-bottom: 1px solid var(--p3-gray-100);
    transition: background var(--p3-transition);
}
.acquis-rule-item:last-child { border-bottom: none; }
.acquis-rule-item:hover { background: #fdf8f5; }

.acquis-rule-item-icon {
    width: 38px; height: 38px; border-radius: 10px;
    background: var(--p3-navy-light); display: flex; align-items: center;
    justify-content: center; font-size: 18px; flex-shrink: 0;
}
.acquis-rule-item-body { flex: 1; min-width: 0; }
.acquis-rule-item-name { font-size: 13px; font-weight: 700; color: var(--p3-navy); margin-bottom: 3px; }
.acquis-rule-item-detail {
    font-size: 11px; color: var(--p3-gray-600);
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.acquis-rule-item-detail code {
    background: var(--p3-navy-light); color: var(--p3-navy);
    padding: 1px 6px; border-radius: 3px; font-size: 10px; font-weight: 700;
}
.acquis-rule-item-detail .acquis-op-badge {
    background: var(--p3-gray-100); color: var(--p3-gray-600);
    padding: 1px 6px; border-radius: 3px; font-size: 10px;
}

.acquis-points-badge {
    font-size: 16px; font-weight: 900; padding: 5px 14px;
    border-radius: 24px; flex-shrink: 0; letter-spacing: -.01em;
    min-width: 56px; text-align: center;
}
.acquis-points-pos { background: var(--p3-green-lt); color: #15803d; }
.acquis-points-neg { background: var(--p3-red-lt);   color: #dc2626; }
.acquis-points-zero { background: var(--p3-gray-100); color: var(--p3-gray-600); }


/* ─────────────────────────────────────────────────────────────────────────────
   ⚙  AUTOMATION RULE BUILDER
   ───────────────────────────────────────────────────────────────────────────── */

.acquis-automation-page { display: flex; flex-direction: column; gap: 20px; }

/* Builder card */
.acquis-automation-builder {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-xl); overflow: hidden; box-shadow: var(--p3-shadow);
}
.acquis-automation-builder-header {
    background: linear-gradient(135deg, var(--p3-navy), #1e3a7a);
    padding: 20px 28px; display: flex; align-items: center; gap: 12px;
}
.acquis-automation-builder-header .acquis-builder-hicon {
    width: 40px; height: 40px; background: rgba(249,115,22,.2);
    border-radius: 10px; display: flex; align-items: center;
    justify-content: center; font-size: 20px; flex-shrink: 0;
}
.acquis-automation-builder-header h2 {
    color: #fff; font-size: 16px; font-weight: 800; margin: 0;
}
.acquis-automation-builder-header p {
    color: rgba(255,255,255,.6); font-size: 12px; margin: 2px 0 0;
}
.acquis-ab-body { padding: 26px 28px; display: flex; flex-direction: column; gap: 20px; }

/* Rule meta row */
.acquis-ab-meta-row {
    display: grid; grid-template-columns: 1fr 200px; gap: 14px; align-items: end;
}
@media (max-width: 700px) { .acquis-ab-meta-row { grid-template-columns: 1fr; } }

/* IF/THEN sections */
.acquis-ab-section {
    background: var(--p3-gray-50); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden;
}
.acquis-ab-section-head {
    display: flex; align-items: center; gap: 10px; padding: 12px 16px;
    border-bottom: 1px solid var(--p3-gray-200);
}
.acquis-ab-section-badge {
    padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .06em;
}
.acquis-ab-if-badge   { background: var(--p3-navy-light); color: var(--p3-navy); }
.acquis-ab-then-badge { background: var(--p3-orange-lt);  color: #ea6008; }
.acquis-ab-section-head h4 { font-size: 13px; font-weight: 700; color: var(--p3-gray-800); margin: 0; }
.acquis-ab-section-hint { font-size: 11px; color: var(--p3-gray-400); margin-left: auto; }
.acquis-ab-rows { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; min-height: 44px; }
.acquis-ab-add-row { margin: 0 14px 14px; }

/* Condition / action rows */
.acquis-ar-condition-row,
.acquis-ar-action-row {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 10px 14px; background: var(--p3-white);
    border: 1.5px solid var(--p3-gray-200); border-radius: var(--p3-radius-sm);
    transition: border-color var(--p3-transition);
}
.acquis-ar-condition-row:hover,
.acquis-ar-action-row:hover { border-color: var(--p3-orange); }
.acquis-row-connector {
    font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
    color: var(--p3-gray-400); flex-shrink: 0;
}
.acquis-ar-condition-row input,
.acquis-ar-condition-row select,
.acquis-ar-action-row input,
.acquis-ar-action-row select {
    padding: 7px 10px; border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-sm); font-size: 12px; background: var(--p3-white);
    transition: border-color var(--p3-transition);
}
.acquis-ar-condition-row input:focus,
.acquis-ar-condition-row select:focus,
.acquis-ar-action-row input:focus,
.acquis-ar-action-row select:focus { border-color: var(--p3-orange); outline: none; }
.acquis-ar-remove-row {
    background: none; border: none; cursor: pointer; color: var(--p3-gray-400);
    font-size: 16px; padding: 4px 6px; border-radius: 4px;
    transition: all var(--p3-transition); line-height: 1; flex-shrink: 0;
}
.acquis-ar-remove-row:hover { color: var(--p3-red); background: var(--p3-red-lt); }
.acquis-ar-action-value-wrap { display: inline-flex; align-items: center; gap: 6px; flex: 1; flex-wrap: wrap; }

/* Rule builder footer */
.acquis-ab-footer {
    padding: 18px 28px; border-top: 1.5px solid var(--p3-gray-100);
    background: var(--p3-gray-50); display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.acquis-run-once-label {
    display: flex; align-items: center; gap: 7px; cursor: pointer;
    font-size: 12px; font-weight: 600; color: var(--p3-gray-800);
}

/* Existing rules list */
.acquis-auto-rules-list { display: flex; flex-direction: column; gap: 10px; }
.acquis-auto-rule-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden;
    box-shadow: var(--p3-shadow-sm);
    transition: border-color var(--p3-transition), box-shadow var(--p3-transition);
}
.acquis-auto-rule-card:hover { border-color: var(--p3-orange); box-shadow: 0 4px 16px rgba(249,115,22,.1); }
.acquis-auto-rule-card-header {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 18px; border-bottom: 1px solid var(--p3-gray-100);
    background: var(--p3-gray-50);
}
.acquis-auto-rule-card-icon {
    width: 36px; height: 36px; border-radius: 9px;
    background: var(--p3-navy-light); display: flex; align-items: center;
    justify-content: center; font-size: 17px; flex-shrink: 0;
}
.acquis-auto-rule-card-name {
    flex: 1; font-size: 14px; font-weight: 800; color: var(--p3-navy);
}
.acquis-auto-rule-card-meta { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.acquis-auto-rule-card-body {
    padding: 13px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
@media (max-width: 700px) { .acquis-auto-rule-card-body { grid-template-columns: 1fr; } }
.acquis-rule-segment { }
.acquis-rule-segment-label {
    font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
    color: var(--p3-gray-400); margin-bottom: 4px;
}
.acquis-rule-segment-content {
    font-size: 12px; color: var(--p3-gray-700); line-height: 1.5;
    background: var(--p3-gray-50); border: 1px solid var(--p3-gray-100);
    border-radius: 6px; padding: 8px 10px; min-height: 30px;
}
.acquis-rule-segment-content code {
    background: var(--p3-navy-light); color: var(--p3-navy);
    padding: 0 5px; border-radius: 3px; font-size: 11px;
}
.acquis-auto-rule-footer {
    padding: 10px 18px; border-top: 1px solid var(--p3-gray-100);
    display: flex; align-items: center; justify-content: flex-end;
    background: var(--p3-gray-50);
}


/* ─────────────────────────────────────────────────────────────────────────────
   ⬇  EXPORT
   ───────────────────────────────────────────────────────────────────────────── */

.acquis-export-hero {
    background: linear-gradient(130deg, var(--p3-navy) 0%, #F97316 130%);
    border-radius: var(--p3-radius-xl); padding: 30px 34px; margin-bottom: 24px;
    color: var(--p3-white); box-shadow: var(--p3-shadow-lg);
    position: relative; overflow: hidden;
}
.acquis-export-hero::before {
    content: '⬇'; position: absolute; right: 30px; top: 50%; transform: translateY(-50%);
    font-size: 80px; opacity: .08; line-height: 1;
}
.acquis-export-hero h2 { font-size: 24px; font-weight: 900; margin: 0 0 7px; letter-spacing: -.02em; color: var(--p3-white);}
.acquis-export-hero p  { font-size: 14px; opacity: .8; margin: 0; }
.acquis-export-hero-meta {
    display: flex; align-items: center; gap: 12px; margin-top: 16px;
    flex-wrap: wrap;
}
.acquis-export-hero-stat {
    background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.2);
    border-radius: 8px; padding: 8px 14px; text-align: center;
}
.acquis-export-hero-stat-num { font-size: 20px; font-weight: 900; display: block; }
.acquis-export-hero-stat-lbl { font-size: 10px; opacity: .75; text-transform: uppercase; letter-spacing: .05em; }

/* Export layout */
.acquis-export-layout {
    display: grid; grid-template-columns: 340px 1fr; gap: 18px; align-items: start;
}
@media (max-width: 900px) { .acquis-export-layout { grid-template-columns: 1fr; } }

/* Filter card */
.acquis-filter-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden; box-shadow: var(--p3-shadow-sm);
}
.acquis-filter-card-head {
    background: var(--p3-gray-50); border-bottom: 1px solid var(--p3-gray-100);
    padding: 14px 20px; display: flex; align-items: center; gap: 8px;
}
.acquis-filter-card-head h3 { font-size: 13px; font-weight: 800; color: var(--p3-navy); margin: 0; }
.acquis-filter-card-body { padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.acquis-filter-group { display: flex; flex-direction: column; gap: 5px; }
.acquis-filter-label { font-size: 11px; font-weight: 700; color: var(--p3-navy); text-transform: uppercase; letter-spacing: .04em; }
.acquis-filter-input,
.acquis-filter-select {
    padding: 9px 12px; border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-sm); font-size: 13px;
    background: var(--p3-white); width: 100%; box-sizing: border-box;
    transition: border-color var(--p3-transition);
}
.acquis-filter-input:focus,
.acquis-filter-select:focus { border-color: var(--p3-orange); outline: none; box-shadow: 0 0 0 3px rgba(249,115,22,.1); }
.acquis-filter-date-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.acquis-filter-note {
    font-size: 11px; color: var(--p3-gray-400); line-height: 1.6;
    background: var(--p3-gray-50); border-radius: 6px; padding: 10px 12px;
    border: 1px solid var(--p3-gray-100);
}

/* Format picker */
.acquis-format-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden; box-shadow: var(--p3-shadow-sm);
}
.acquis-format-card-head {
    background: var(--p3-gray-50); border-bottom: 1px solid var(--p3-gray-100);
    padding: 14px 20px;
}
.acquis-format-card-head h3 { font-size: 13px; font-weight: 800; color: var(--p3-navy); margin: 0; }
.acquis-format-card-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; }

.acquis-export-format-btn {
    display: flex; align-items: center; gap: 16px;
    padding: 18px 20px; background: var(--p3-white);
    border: 1.5px solid var(--p3-gray-200); border-radius: var(--p3-radius-lg);
    cursor: pointer; transition: all var(--p3-transition); text-align: left; width: 100%;
}
.acquis-export-format-btn:hover {
    border-color: var(--p3-orange); box-shadow: 0 4px 18px rgba(249,115,22,.15);
    transform: translateY(-1px);
}
.acquis-export-format-btn:active { transform: translateY(0); }
.acquis-efb-icon {
    width: 52px; height: 52px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; flex-shrink: 0;
}
.acquis-efb-csv  .acquis-efb-icon { background: #f0fdf4; }
.acquis-efb-xlsx .acquis-efb-icon { background: #f0fdf4; }
.acquis-efb-body { flex: 1; }
.acquis-efb-name { font-size: 15px; font-weight: 800; color: var(--p3-navy); margin-bottom: 3px; }
.acquis-efb-desc { font-size: 12px; color: var(--p3-gray-600); line-height: 1.4; }
.acquis-efb-arrow { color: var(--p3-gray-200); font-size: 20px; transition: color var(--p3-transition); }
.acquis-export-format-btn:hover .acquis-efb-arrow { color: var(--p3-orange); }

/* What's included card */
.acquis-export-includes-card {
    margin-top: 14px; background: var(--p3-navy-light);
    border-radius: var(--p3-radius); padding: 16px 18px;
}
.acquis-export-includes-card h4 {
    font-size: 11px; font-weight: 800; text-transform: uppercase;
    letter-spacing: .06em; color: var(--p3-navy); margin: 0 0 10px;
}
.acquis-includes-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 5px;
}
.acquis-includes-item {
    display: flex; align-items: center; gap: 5px;
    font-size: 11px; color: var(--p3-navy); font-weight: 600;
}
.acquis-includes-item::before {
    content: '✓'; color: var(--p3-green); font-weight: 900; font-size: 11px;
}


/* ─────────────────────────────────────────────────────────────────────────────
   📋  SUBMISSIONS
   ───────────────────────────────────────────────────────────────────────────── */

/* Page header bar */
.acquis-subs-header {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px; margin-bottom: 20px;
}
.acquis-subs-header h1 {
    font-size: 20px; font-weight: 900; color: var(--p3-navy);
    margin: 0; display: flex; align-items: center; gap: 10px;
}

/* Table controls row */
.acquis-table-controls {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-bottom: 14px; background: var(--p3-white);
    border: 1.5px solid var(--p3-gray-200); border-radius: var(--p3-radius);
    padding: 12px 16px;
}
.acquis-search-wrap { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 200px; }
.acquis-search-input-wrap { position: relative; flex: 1; max-width: 280px; }
.acquis-search-icon {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    font-size: 14px; width: 14px; height: 14px; color: var(--p3-gray-400); pointer-events: none;
}
.acquis-search-input {
    flex: 1; padding: 8px 12px 8px 30px; border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-sm); font-size: 13px;
    background: var(--p3-gray-50); max-width: 280px; width: 100%; box-sizing: border-box;
}
.acquis-search-input:focus { border-color: var(--p3-orange); outline: none; background: var(--p3-white); }
.acquis-controls-right { display: flex; align-items: center; gap: 8px; margin-left: auto; }

/* Main table card */
.acquis-subs-table-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden; box-shadow: var(--p3-shadow-sm);
}
.acquis-subs-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.acquis-subs-table thead { background: var(--p3-navy); }
.acquis-subs-table thead th {
    padding: 12px 16px; text-align: left; color: rgba(255,255,255,.9);
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    white-space: nowrap;
}
.acquis-subs-table thead th a {
    color: rgba(255,255,255,.8); text-decoration: none;
    display: flex; align-items: center; gap: 4px;
}
.acquis-subs-table thead th a:hover { color: #fff; }

.acquis-subs-table tbody tr {
    border-bottom: 1px solid var(--p3-gray-100);
    transition: background var(--p3-transition);
}
.acquis-subs-table tbody tr:last-child { border-bottom: none; }
.acquis-subs-table tbody tr:hover { background: #fdf8f5; }
.acquis-subs-table tbody td { padding: 13px 16px; vertical-align: middle; color: var(--p3-gray-800); }

/* Cell types */
.acquis-cell-id { color: var(--p3-gray-400); font-size: 11px; font-weight: 600; }
.acquis-cell-name { font-weight: 800; color: var(--p3-navy); }
.acquis-cell-email a { color: var(--p3-orange); text-decoration: none; font-weight: 600; }
.acquis-cell-email a:hover { text-decoration: underline; }
.acquis-cell-file { font-size: 12px; color: var(--p3-gray-600); }
.acquis-cell-score { display: flex; align-items: center; gap: 6px; }
.acquis-cell-score .acquis-pts { font-size: 11px; color: var(--p3-gray-400); }
.acquis-cell-source { font-size: 12px; color: var(--p3-gray-400); }
.acquis-cell-date { font-size: 12px; color: var(--p3-gray-500); white-space: nowrap; }
.acquis-cell-actions { white-space: nowrap; }

/* Score/tier badges */
.acquis-badge-hot  { background: #fee2e2; color: #b91c1c; }
.acquis-badge-warm { background: #fff7ed; color: #c2410c; }
.acquis-badge-cool { background: var(--p3-blue-lt); color: var(--p3-blue); }
.acquis-badge-cold { background: var(--p3-gray-100); color: var(--p3-gray-600); }

/* Detail view */
.acquis-sub-detail-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); overflow: hidden; box-shadow: var(--p3-shadow-sm);
    max-width: 700px;
}
.acquis-sub-detail-head {
    background: linear-gradient(135deg, var(--p3-navy), #1e3a7a);
    padding: 20px 24px; display: flex; align-items: center; gap: 12px;
}
.acquis-sub-detail-icon {
    width: 48px; height: 48px; background: rgba(249,115,22,.2);
    border-radius: 12px; display: flex; align-items: center;
    justify-content: center; font-size: 24px; flex-shrink: 0;
}
.acquis-sub-detail-title { color: #fff; font-size: 16px; font-weight: 800; margin-bottom: 3px; }
.acquis-sub-detail-meta { color: rgba(255,255,255,.6); font-size: 12px; }

/* table-layout:fixed + word-break/overflow-wrap so a long unbroken value
   (a URL, a run-on paste with no spaces) wraps within its column instead
   of forcing the table wider than its card, wrapping is what a reader
   actually expects from a key/value table, not having to scroll to read
   one field's value while the labels scroll out of view. */
.acquis-sub-fields-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.acquis-sub-fields-table tr { border-bottom: 1px solid var(--p3-gray-100); }
.acquis-sub-fields-table tr:last-child { border-bottom: none; }
.acquis-sub-fields-table th {
    padding: 12px 20px; background: var(--p3-gray-50);
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    color: var(--p3-gray-600); text-align: left; width: 36%;
    border-right: 1px solid var(--p3-gray-100);
    word-break: break-word;
}
.acquis-sub-fields-table td {
    padding: 12px 20px; font-size: 13px; color: var(--p3-gray-800);
    word-break: break-word; overflow-wrap: anywhere;
}
.acquis-sub-field-key {
    font-size: 10px; font-weight: 600; color: var(--p3-gray-400); margin-top: 3px;
    font-family: monospace;
}

/* Pagination */
.acquis-pagination {
    display: flex; align-items: center; gap: 5px; flex-wrap: wrap;
    padding: 14px 20px; border-top: 1px solid var(--p3-gray-100);
    background: var(--p3-gray-50);
}
.acquis-page-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 34px; height: 34px; padding: 0 10px;
    border: 1.5px solid var(--p3-gray-200); border-radius: 6px;
    font-size: 12px; font-weight: 600; color: var(--p3-gray-700);
    background: var(--p3-white); cursor: pointer; text-decoration: none;
    transition: all var(--p3-transition);
}
.acquis-page-btn:hover { border-color: var(--p3-orange); color: var(--p3-orange); }
.acquis-page-btn.acquis-page-active {
    background: var(--p3-navy); border-color: var(--p3-navy); color: #fff;
    box-shadow: 0 2px 8px rgba(13,27,75,.25);
}
.acquis-page-ellipsis { color: var(--p3-gray-400); padding: 0 4px; font-size: 12px; }
.acquis-pagination-info { font-size: 11px; color: var(--p3-gray-400); margin-left: auto; }

/* Table empty */
.acquis-table-empty {
    padding: 60px 24px; text-align: center; color: var(--p3-gray-400);
}
.acquis-table-empty-icon { font-size: 44px; display: block; margin-bottom: 14px; }
.acquis-table-empty p { font-size: 14px; margin: 0; }


/* ─────────────────────────────────────────────────────────────────────────────
   FRONTEND CUSTOM FORM FIELDS (modal)
   ───────────────────────────────────────────────────────────────────────────── */

.acquis-custom-form { }
.acquis-field-wrap  { margin-bottom: 15px; }
.acquis-field-label { display: block; font-weight: 700; font-size: 13px; color: var(--p3-navy); margin-bottom: 6px; }
.acquis-required    { color: var(--p3-orange); margin-left: 2px; }
.acquis-field, .acquis-input, .acquis-select, .acquis-textarea {
    width: 100%; padding: 10px 13px; border: 1.5px solid var(--p3-gray-200);
    border-radius: 8px; font-size: 14px; transition: border-color var(--p3-transition), box-shadow var(--p3-transition);
    background: var(--p3-white); box-sizing: border-box; font-family: inherit;
}
.acquis-field:focus, .acquis-input:focus, .acquis-select:focus, .acquis-textarea:focus {
    border-color: var(--p3-orange); outline: none;
    box-shadow: 0 0 0 3px rgba(249,115,22,.12);
}
.acquis-textarea { resize: vertical; min-height: 80px; }
.acquis-radio-group, .acquis-checkbox-group { display: flex; flex-direction: column; gap: 7px; margin-top: 4px; }
.acquis-radio-option, .acquis-checkbox-option {
    display: flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer;
    padding: 8px 12px; border: 1.5px solid var(--p3-gray-200); border-radius: 7px;
    transition: border-color var(--p3-transition), background var(--p3-transition);
}
.acquis-radio-option:hover, .acquis-checkbox-option:hover { border-color: var(--p3-orange); background: var(--p3-orange-lt); }
.acquis-help-text  { font-size: 11px; color: var(--p3-gray-400); margin: 5px 0 0; line-height: 1.5; }
.acquis-field-error{ font-size: 12px; color: var(--p3-red); margin: 4px 0 0; display: none; }
.acquis-step-actions {
    display: flex; gap: 10px; margin-top: 18px; justify-content: space-between;
}


/* ─────────────────────────────────────────────────────────────────────────────
   GLOBAL SHARED OVERRIDES (Phase 3 context)
   ───────────────────────────────────────────────────────────────────────────── */

/* These apply to WP native elements within .acquis-admin-wrap */
.acquis-admin-wrap .acquis-two-col {
    display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start;
}
@media (max-width: 900px) { .acquis-admin-wrap .acquis-two-col { grid-template-columns: 1fr; } }

/* Ensure acquis-card from Phase 1/2 still works cleanly on P3 pages */
.acquis-admin-wrap .acquis-card {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-lg); padding: 22px 24px;
    box-shadow: var(--p3-shadow-sm); margin-bottom: 18px;
}
.acquis-admin-wrap .acquis-card h2 {
    font-size: 15px; font-weight: 800; color: var(--p3-navy);
    margin: 0 0 18px; padding: 0; border: none;
    display: flex; align-items: center; gap: 8px;
}
.acquis-admin-wrap .acquis-card h3 {
    font-size: 13px; font-weight: 700; color: var(--p3-navy); margin: 0 0 12px;
}
.acquis-admin-wrap .acquis-desc { font-size: 13px; color: var(--p3-gray-600); margin-bottom: 16px; }
.acquis-admin-wrap .acquis-empty { font-size: 13px; color: var(--p3-gray-400); padding: 24px 0; text-align: center; }
.acquis-admin-wrap .acquis-total-badge {
    background: var(--p3-navy); color: #fff;
    padding: 3px 9px; border-radius: 20px; font-size: 11px; font-weight: 700;
    margin-left: 8px; vertical-align: middle;
}

/* WP form controls within P3 */
.acquis-admin-wrap .acquis-form-group input[type="text"],
.acquis-admin-wrap .acquis-form-group input[type="email"],
.acquis-admin-wrap .acquis-form-group input[type="number"],
.acquis-admin-wrap .acquis-form-group input[type="date"],
.acquis-admin-wrap .acquis-form-group input[type="url"],
.acquis-admin-wrap .acquis-form-group select {
    padding: 9px 12px; border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius-sm); font-size: 13px;
    transition: border-color var(--p3-transition);
}
.acquis-admin-wrap .acquis-form-group input:focus,
.acquis-admin-wrap .acquis-form-group select:focus { border-color: var(--p3-orange); outline: none; box-shadow: 0 0 0 3px rgba(249,115,22,.1); }
.acquis-admin-wrap .acquis-form-group label { font-size: 12px; font-weight: 700; color: var(--p3-navy); }
.acquis-admin-wrap .acquis-form-group p.description { font-size: 11px; color: var(--p3-gray-400); margin-top: 4px; }

/* widefat override for P3 tables */
.acquis-admin-wrap table.acquis-table thead th {
    background: var(--p3-navy); color: rgba(255,255,255,.9);
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .05em; padding: 11px 14px; border: none;
}
.acquis-admin-wrap table.acquis-table tbody tr { border-bottom: 1px solid var(--p3-gray-100); }
.acquis-admin-wrap table.acquis-table tbody tr:hover { background: #fdf8f5; }
.acquis-admin-wrap table.acquis-table tbody td { padding: 11px 14px; vertical-align: middle; border: none; }

/* Scoring rule table specific */
#acquis-scoring-rules-table tbody td code {
    background: var(--p3-navy-light); color: var(--p3-navy);
    padding: 2px 7px; border-radius: 4px; font-size: 11px;
}

/* Automation rule list (legacy .acquis-rule-row from PHP) */
.acquis-rule-list { display: flex; flex-direction: column; gap: 10px; }
.acquis-rule-row {
    background: var(--p3-white); border: 1.5px solid var(--p3-gray-200);
    border-radius: var(--p3-radius); padding: 14px 18px;
    display: flex; flex-direction: column; gap: 6px;
    transition: border-color var(--p3-transition);
}
.acquis-rule-row:hover { border-color: var(--p3-orange); }
.acquis-rule-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.acquis-rule-meta strong { font-size: 14px; font-weight: 800; color: var(--p3-navy); }
.acquis-rule-conditions, .acquis-rule-actions-list {
    font-size: 12px; color: var(--p3-gray-600);
    background: var(--p3-gray-50); border-radius: 6px;
    padding: 7px 10px; line-height: 1.5;
}
.acquis-rule-conditions strong, .acquis-rule-actions-list strong { color: var(--p3-navy); }

/* Shortcode copy chip */
.acquis-shortcode-copy {
    display: block; background: var(--p3-gray-50);
    border: 1.5px dashed var(--p3-gray-200); border-radius: 6px;
    padding: 9px 12px; font-size: 12px; color: var(--p3-navy);
    margin-bottom: 8px; word-break: break-all; line-height: 1.5;
    font-family: 'Courier New', monospace;
}

/* ── Responsive ─────────── */
@media (max-width: 782px) {
    .acquis-kpi-grid            { grid-template-columns: repeat(2,1fr); }
    .acquis-charts-grid         { grid-template-columns: 1fr; }
    .acquis-analytics-tables-grid { grid-template-columns: 1fr; }
    .acquis-scoring-page-grid   { grid-template-columns: 1fr; }
    .acquis-export-layout       { grid-template-columns: 1fr; }
    .acquis-includes-grid       { grid-template-columns: 1fr; }
    .acquis-p3-builder-wrap     { grid-template-columns: 1fr; }
    .acquis-auto-rule-card-body { grid-template-columns: 1fr; }
    .acquis-analytics-hero      { flex-direction: column; align-items: flex-start; }
    .acquis-field-edit-grid     { grid-template-columns: 1fr; }
    /* Lead detail view (Submissions → view_lead): inline style="" sets the
       desktop 2-column grid, needs !important to win here. */
    .acquis-lead-detail-grid    { grid-template-columns: 1fr !important; }
}

/* ── Reduced motion ─────── */
@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
}

/* =============================================================================
   FORM BUILDER MOBILE — acquis-p3.css additions
   ============================================================================= */

/* Mobile bar — hidden on desktop */
.acquis-builder-mobile-bar {
    display: none;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    background: var(--acquis-navy);
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 14px;
}
.acquis-builder-mobile-meta { display: flex; gap: 6px; flex-wrap: wrap; }
.acquis-builder-mobile-actions { display: flex; gap: 6px; }
.acquis-builder-mobile-actions .acquis-btn-ghost {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.2);
    color: rgba(255,255,255,.9);
    font-size: 11px;
}
.acquis-builder-mobile-actions .acquis-btn-ghost:hover {
    background: rgba(255,255,255,.22);
    color: #fff;
}

/* Desktop toolbar — visible on desktop only */
.acquis-canvas-toolbar-desktop { display: flex; }

/* Create form wrap — full width on mobile */
.acquis-create-form-wrap {
    max-width: 560px;
    width: 100%;
}
.acquis-create-form-icon {
    width: 52px;
    height: 52px;
    background: var(--acquis-orange-light, #fff4ed);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
}
.acquis-form-group-p3 { margin-bottom: 16px; }
.acquis-form-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--acquis-navy);
    margin-bottom: 6px;
    letter-spacing: .02em;
}
.acquis-field-input {
    display: block;
    width: 100%;
    padding: 10px 13px;
    border: 1.5px solid var(--acquis-border);
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}
.acquis-field-input:focus {
    border-color: var(--acquis-orange);
    outline: none;
    box-shadow: 0 0 0 3px rgba(249,115,22,.1);
}
.acquis-create-form-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 6px;
}
.acquis-inline-result {
    font-size: 12px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 6px;
}

/* Sidebar card inputs (canvas screen) */
.acquis-form-settings-wrap { display: flex; flex-direction: column; gap: 14px; }
.acquis-form-settings-wrap input[type="text"],
.acquis-form-settings-wrap input[type="number"] {
    width: 100%;
    padding: 9px 12px;
    border: 1.5px solid var(--acquis-border);
    border-radius: 7px;
    font-size: 13px;
    box-sizing: border-box;
    transition: border-color .15s;
}
.acquis-form-settings-wrap input:focus {
    border-color: var(--acquis-orange);
    outline: none;
}
.acquis-steps-row { display: flex; align-items: center; gap: 8px; }
.acquis-steps-hint { font-size: 11px; color: #9ca3af; line-height: 1.4; flex: 1; }

/* ── MOBILE BREAKPOINT ── */
@media (max-width: 900px) {

    /* Show mobile bar, hide desktop toolbar */
    .acquis-builder-mobile-bar    { display: flex; }
    .acquis-canvas-toolbar-desktop { display: none; }

    /* Stack builder: sidebar above canvas */
    .acquis-p3-builder-wrap {
        grid-template-columns: 1fr !important;
    }

    /* Sidebar hidden by default on mobile, slides in via toggle */
    .acquis-builder-sidebar {
        display: none;
        position: fixed;
        top: 32px; /* WP admin bar height */
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99999;
        background: #fff;
        overflow-y: auto;
        padding: 16px;
        box-shadow: 0 0 40px rgba(0,0,0,.3);
        flex-direction: column;
        gap: 14px;
    }
    .acquis-builder-sidebar.acquis-sidebar-open {
        display: flex;
    }

    /* Canvas takes full width */
    .acquis-canvas-wrap { width: 100%; }

    /* Field palette: 4 columns on mobile (smaller buttons) */
    .acquis-field-palette-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
    }
    .acquis-add-field-btn { padding: 10px 4px; font-size: 9px; }
    .acquis-add-field-btn .acquis-picon { font-size: 18px; }

    /* Field edit grid: single column */
    .acquis-field-edit-grid { grid-template-columns: 1fr !important; }

    /* Create form wrap: full width */
    .acquis-create-form-wrap { max-width: 100%; }

    /* Form list: single column */
    .acquis-p3-forms-grid { grid-template-columns: 1fr !important; }

    /* Form item card: stack vertically */
    .acquis-form-item-card { flex-direction: column; align-items: flex-start; }
    .acquis-form-item-actions { flex-direction: row; width: 100%; }

    /* Submissions table scroll */
    .acquis-subs-table-card { overflow-x: auto; }
    .acquis-subs-table { min-width: 700px; }

    /* Analytics: full-width grid */
    .acquis-kpi-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .acquis-charts-grid { grid-template-columns: 1fr !important; }
    .acquis-analytics-tables-grid { grid-template-columns: 1fr !important; }
    .acquis-analytics-hero { flex-direction: column; align-items: flex-start; }
    .acquis-analytics-filters { width: 100%; }

    /* Scoring: single column */
    .acquis-scoring-page-grid { grid-template-columns: 1fr !important; }

    /* Export: single column */
    .acquis-export-layout { grid-template-columns: 1fr !important; }
    .acquis-export-format-btn { padding: 14px 16px; }

    /* Automation builder */
    .acquis-ab-meta-row { grid-template-columns: 1fr !important; }
    .acquis-auto-rule-card-body { grid-template-columns: 1fr !important; }
    .acquis-ar-condition-row,
    .acquis-ar-action-row { flex-direction: column; align-items: flex-start; }
    .acquis-ar-condition-row input,
    .acquis-ar-condition-row select,
    .acquis-ar-action-row input,
    .acquis-ar-action-row select { width: 100%; box-sizing: border-box; }
}

@media (max-width: 600px) {
    /* KPI: 2 per row still fine, shrink values */
    .acquis-kpi-value { font-size: 20px !important; }
    .acquis-kpi-card  { padding: 14px 10px !important; }

    /* Pagination: tighter */
    .acquis-pagination { padding: 10px 14px; }
    .acquis-page-btn { min-width: 30px; height: 30px; font-size: 11px; }

    /* Sidebar card palette: 3 cols on very small */
    .acquis-field-palette-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── Inline Dashicons (replaces emoji throughout the admin UI) ─────── */
.acquis-dicon {
    display: inline-block; vertical-align: -3px; line-height: 1;
    font-size: 16px; width: 16px; height: 16px;
}
.acquis-dicon-sm  { font-size: 13px; width: 13px; height: 13px; vertical-align: -2px; }
.acquis-dicon-lg  { font-size: 22px; width: 22px; height: 22px; vertical-align: -5px; }
.acquis-dicon-xl  { font-size: 32px; width: 32px; height: 32px; vertical-align: -7px; }
button .acquis-dicon, .button .acquis-dicon, a.acquis-btn-primary .acquis-dicon, a.acquis-btn-secondary .acquis-dicon {
    margin-right: 5px;
}

/* Status dot (replaces colored circle emoji like 🔵 🟠) */
.acquis-status-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    margin-right: 6px; vertical-align: middle;
}

/* Spin animation for loading-state icons (e.g. dashicons-update as a spinner) */
.acquis-spin { animation: acquis-spin-rotate 1s linear infinite; }
@keyframes acquis-spin-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Per-form Email tab: real-time tag insert bar */
.acquis-pf-tag-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.acquis-pf-tag-insert {
    font-size: 10.5px; font-family: monospace; padding: 3px 8px; line-height: 1.5;
    border-radius: 4px; cursor: pointer; border: 1px solid var(--p3-navy-light);
    color: var(--p3-navy); background: var(--p3-navy-light);
    transition: background var(--p3-transition), border-color var(--p3-transition), color var(--p3-transition);
}
.acquis-pf-tag-insert:hover { background: var(--p3-orange-lt); border-color: var(--p3-orange); color: var(--p3-orange-dark); }
.acquis-pf-tag-custom { border-color: #bbf7d0; background: var(--p3-green-lt); color: var(--p3-green); }
.acquis-pf-tag-custom:hover { background: var(--p3-orange-lt); border-color: var(--p3-orange); color: var(--p3-orange-dark); }
.acquis-pf-tag-design { color: var(--p3-gray-600); background: var(--p3-gray-100); border-color: var(--p3-gray-200); }
.acquis-pf-tag-divider { width: 1px; height: 16px; background: var(--p3-gray-200); margin: 0 2px; }
.acquis-pf-tag-hint { font-size: 10px; color: var(--p3-gray-400); font-style: italic; }

/* Attention-grabbing highlight for validation errors that need to be
   impossible to miss (e.g. "add at least one action" on the Automation
   builder) — a brief, clearly visible pulse rather than relying solely
   on a small inline text message next to the button. */
.acquis-attention-flash {
    animation: acquis-attention-pulse 0.5s ease-in-out 2;
    border-radius: var(--p3-radius-sm);
}
@keyframes acquis-attention-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); }
    50%      { box-shadow: 0 0 0 4px rgba(220,38,38,.25); }
}

/* ── Form Builder drag states ─────────────────────────────────────────── */
.acquis-field-dragging { opacity: 0.35 !important; cursor: grabbing !important; }
.acquis-drag-ghost     { opacity: 0.35; background: var(--p3-orange-lt, #fff4ed); border: 2px dashed var(--p3-orange, #f97316) !important; border-radius: 8px; }
.sortable-placeholder  { height: 60px; background: rgba(249,115,22,.06); border: 2px dashed #f97316; border-radius: 8px; margin: 4px 0; }

/* ── Auto-save indicator ──────────────────────────────────────────────── */
.acquis-autosave-indicator { font-size: 10px; color: #6b7280; margin-left: 8px; transition: color .2s; }
.acquis-autosave-indicator.saved { color: #16a34a; }

/* ── Palette loading spinner ─────────────────────────────────────────── */
.acquis-palette-loading { opacity: 0.6; pointer-events: none; }
@keyframes acquis-spin { to { transform: rotate(360deg); } }
.acquis-spin { display: inline-block; animation: acquis-spin .7s linear infinite; }
