    /* MM Contact Portal - Compact Edit Form v2.0 */
        .mmcp-container { max-width: 100%; margin: 0 auto; font-family: var(--mm-font); }
        .mmcp-card { background:#fff; border:1px solid var(--mm-gray-200); border-radius:var(--mm-radius-lg); padding:16px; box-shadow:var(--mm-shadow); }
        .mmcp-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
        
        /* Ensure table container allows for button overflow */
        .mmcp-table-wrap {
            position: relative;
            z-index: 1;
        }
        
        .mmcp-table-wrap::after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: 20px;
            background: linear-gradient(to left, rgba(255,255,255,0.9), transparent);
            pointer-events: none;
            z-index: 2;
        }
        .mmcp-row > * { margin:4px 0; }
        .mmcp-input { padding:8px 10px; border:1px solid var(--mm-gray-300); border-radius:var(--mm-radius); min-width:220px; transition:border-color .15s, box-shadow .15s; }
        .mmcp-input:focus { outline:none; border-color:var(--mm-accent); box-shadow:0 0 0 3px rgba(237,132,94,0.15); }
        .mmcp-select { padding:8px 10px; border:1px solid var(--mm-gray-300); border-radius:var(--mm-radius); transition:border-color .15s, box-shadow .15s; }
        .mmcp-select:focus { outline:none; border-color:var(--mm-accent); box-shadow:0 0 0 3px rgba(237,132,94,0.15); }
        .mmcp-btn { padding:8px 14px; border-radius:var(--mm-radius); border:1px solid var(--mm-accent) !important; background:var(--mm-accent) !important; background-color:var(--mm-accent) !important; color:#fff !important; cursor:pointer; font-weight:500; letter-spacing:0.01em; box-shadow: 0 1px 2px rgba(81,53,40,0.08); transition: all var(--mm-transition); }
        .mmcp-btn:hover { background-color: var(--mm-accent-hover) !important; border-color: var(--mm-accent-hover) !important; box-shadow: 0 3px 8px rgba(237,132,94,0.25) !important; transform: translateY(-1px); }
        .mmcp-btn:active { transform: translateY(0) !important; box-shadow: 0 1px 2px rgba(81,53,40,0.08) !important; }
        .mmcp-btn.secondary { background:#fff !important; background-color:#fff !important; color:var(--mm-primary) !important; border:1px solid var(--mm-gray-300) !important; }
        .mmcp-btn.secondary:hover { background:var(--mm-gray-50) !important; border-color:var(--mm-gray-400) !important; color:var(--mm-primary) !important; box-shadow: var(--mm-shadow) !important; }
        .mmcp-btn.sm { padding:5px 10px; font-size:12px; font-weight:500; }
        .mmcp-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 12px;
        }
        /* Only the main contacts table needs fixed layout and min-width */
        #mmcp-table {
            table-layout: fixed;
            min-width: 1000px;
        }
        .mmcp-table-wrap { 
            width: 100%; 
            overflow-x: auto; 
            overflow-y: visible; /* Allow buttons to show */
            -webkit-overflow-scrolling: touch; 
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius);
        }
        .mmcp-table th, .mmcp-table td {
            padding: 10px;
            border-bottom: 1px solid var(--mm-gray-200); 
            text-align: left; 
            vertical-align: middle; 
            font-size: 14px; 
            overflow: hidden; 
            text-overflow: ellipsis; 
            white-space: nowrap;
        }
        .mmcp-table th { background: var(--mm-gray-50); font-weight: 600; }
        #mmcp-select-all, .mmcp-contact-checkbox, .mmcp-job-fair-checkbox { display: inline-block !important; visibility: visible !important; opacity: 1 !important; width: 16px !important; height: 16px !important; }
        
        /* Allow two-line headers */
        .mmcp-table th {
            white-space: normal;
            line-height: 1.2;
            vertical-align: middle;
        }
        
        /* Fixed column widths — ONLY for the main contacts table, not modal activity tables */
        #mmcp-table th:nth-child(1), #mmcp-table td:nth-child(1) { width: 5%; min-width: 40px; overflow: visible; text-align: center; } /* Checkbox */
        #mmcp-table td:nth-child(1) input[type="checkbox"] { display: inline-block !important; visibility: visible !important; opacity: 1 !important; }
        #mmcp-table th:nth-child(2), #mmcp-table td:nth-child(2) { width: 16%; min-width: 140px; } /* Name */
        #mmcp-table th:nth-child(3), #mmcp-table td:nth-child(3) { width: 22%; min-width: 200px; } /* Email */
        #mmcp-table th:nth-child(4), #mmcp-table td:nth-child(4) { width: 10%; min-width: 90px; } /* Status */
        #mmcp-table th:nth-child(5), #mmcp-table td:nth-child(5) { width: 10%; min-width: 90px; } /* Email Check */
        #mmcp-table th:nth-child(6), #mmcp-table td:nth-child(6) { width: 10%; min-width: 90px; } /* Owner */

        /* Ensure Owner column shows at least 10 characters */
        #mmcp-table td[data-label="Owner"] {
            font-family: monospace;
            font-size: 13px;
        }
        #mmcp-table th:nth-child(7), #mmcp-table td:nth-child(7) { width: 8%; min-width: 70px; }  /* Job Fair */
        #mmcp-table th:nth-child(8), #mmcp-table td:nth-child(8) { width: 24%; min-width: 220px; white-space: nowrap; } /* Actions */
        #mmcp-table input.mmcp-input:not(.compact), #mmcp-table select.mmcp-select:not(.compact) { width:100%; min-width:0; font-size:14px; }

        /* Modal activity/page-view/email tables — natural 2-column layout */
        #mmcp-details-modal .mmcp-table {
            table-layout: auto;
            min-width: 0;
        }
        #mmcp-details-modal .mmcp-table th,
        #mmcp-details-modal .mmcp-table td {
            white-space: normal;
            overflow: visible;
            text-overflow: clip;
            word-break: break-word;
        }
        #mmcp-details-modal .mmcp-table th:first-child,
        #mmcp-details-modal .mmcp-table td:first-child {
            white-space: nowrap;
            min-width: 130px;
            word-break: normal;
        }
        .mmcp-badge { display:inline-block; padding:2px 8px; border-radius:999px; background:var(--mm-gray-100); }
        .mmcp-badge.valid { background:#dcfce7; color:#166534; }
        .mmcp-badge.risky { background:#fef9c3; color:#92400e; }
        .mmcp-badge.invalid { background:#fee2e2; color:#991b1b; }
        .mmcp-badge.unknown { background:var(--mm-gray-200); color:var(--mm-gray-700); }
        .mmcp-pagination { display:flex; gap:8px; align-items:center; justify-content:flex-end; margin-top:10px; }
        .mmcp-muted { color:var(--mm-gray-500); }
        .mmcp-error { color:var(--mm-danger); margin-top:10px; }
        .mmcp-grow { flex:1 1 auto; }
        /* Toolbar + chips */
        .mmcp-toolbar { justify-content: space-between; }
        .mmcp-left, .mmcp-right { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
        .mmcp-select.owner { min-width: 180px; }
        .mmcp-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
        .mmcp-chip { padding:6px 10px; border:1px solid var(--mm-gray-300); border-radius:999px; background:#fff; cursor:pointer; }
        .mmcp-chip.active { background:var(--mm-accent); color:#fff; border-color:var(--mm-accent); }
        .mmcp-queue-shell { margin-bottom: 18px; overflow: hidden; }
        .mmcp-queue-header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; flex-wrap:wrap; margin-bottom:16px; background: linear-gradient(135deg, var(--mm-primary) 0%, #6B4434 50%, var(--mm-accent) 100%); margin: -16px -16px 20px; padding: 24px 20px 20px; border-radius: var(--mm-radius-lg) var(--mm-radius-lg) 0 0; }
        .mmcp-queue-title { margin:0 0 4px; font-size:20px; color: #fff; }
        .mmcp-queue-subtitle { margin:0; color:rgba(255,255,255,0.7); font-size:13px; }
        .mmcp-queue-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
        .mmcp-queue-actions .mmcp-btn { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.3); color: #fff; backdrop-filter: blur(4px); }
        .mmcp-queue-actions .mmcp-btn:hover { background: rgba(255,255,255,0.25); border-color: rgba(255,255,255,0.5); }
        .mmcp-queue-hint { font-size:12px; color:rgba(255,255,255,0.8); background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); border-radius:999px; padding:6px 10px; }
        .mmcp-queue-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:12px; margin-bottom:16px; }
        .mmcp-queue-card { border:1px solid var(--mm-gray-200); border-radius:var(--mm-radius-lg); padding:14px; background:linear-gradient(180deg, #ffffff 0%, var(--mm-gray-50) 100%); transition: transform var(--mm-transition), box-shadow var(--mm-transition); }
        .mmcp-queue-card:hover { transform: translateY(-2px); box-shadow: var(--mm-shadow-md); }
        .mmcp-queue-card-label { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--mm-gray-500); margin-bottom:8px; }
        .mmcp-queue-card-value { font-size:28px; line-height:1; font-weight:700; color:var(--mm-primary); }
        .mmcp-queue-grid { display:grid; grid-template-columns:2fr 1.3fr; gap:16px; }
        .mmcp-queue-panel { border:1px solid var(--mm-gray-200); border-radius:var(--mm-radius-lg); background:#fff; }
        .mmcp-queue-panel-header { padding:12px 14px; border-bottom:1px solid var(--mm-gray-200); }
        .mmcp-queue-panel-header h4 { margin:0; font-size:14px; }
        .mmcp-queue-list { padding:8px; }
        .mmcp-queue-item { border:1px solid var(--mm-gray-200); border-radius:10px; padding:12px; margin-bottom:8px; }
        .mmcp-queue-item:last-child { margin-bottom:0; }
        .mmcp-queue-item-header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-bottom:6px; }
        .mmcp-queue-item-title { font-weight:600; color:var(--mm-primary); }
        .mmcp-queue-item-meta { font-size:12px; color:var(--mm-gray-500); display:flex; gap:8px; flex-wrap:wrap; }
        .mmcp-queue-item-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
        .mmcp-queue-status { font-size:12px; padding:3px 8px; border-radius:999px; background:var(--mm-sand-light); color:var(--mm-gray-700); }
        .mmcp-queue-status.overdue { background:#fee2e2; color:#991b1b; }
        .mmcp-queue-status.today { background:#fef3c7; color:#92400e; }
        .mmcp-queue-status.ok { background:#dcfce7; color:#166534; }
        .mmcp-queue-empty { color:var(--mm-gray-500); font-size:13px; padding:8px 4px; }
        .mmcp-reminder-help { font-size:12px; color:var(--mm-gray-500); margin:4px 0 0; }
        .mmcp-reminder-inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
        .mmcp-reminder-inline .mmcp-input { min-width: 180px; }
        @media (max-width: 640px) {
            .mmcp-right { width:100%; justify-content:space-between; }
            .mmcp-select.owner { min-width: 140px; }
            .mmcp-queue-grid { grid-template-columns:1fr; }
            .mmcp-queue-actions { width:100%; justify-content:flex-start; }
            /* Mobile stacked cards — ONLY for main contacts table */
            #mmcp-table { table-layout: auto; min-width: auto; }
            #mmcp-table thead { display:none; }
            #mmcp-table, #mmcp-table tbody, #mmcp-table tr, #mmcp-table td { display:block; width:100%; }
            #mmcp-table tr { border:1px solid var(--mm-gray-200); border-radius:var(--mm-radius-lg); padding:10px; margin-bottom:10px; background:#fff; }
            #mmcp-table td { border-bottom:0; padding:6px 0; display:flex; justify-content:space-between; align-items:flex-start; }
            #mmcp-table td::before { content: attr(data-label); font-weight:600; color:var(--mm-gray-500); margin-right:10px; flex:0 0 auto; }
            #mmcp-table td:last-child {
                display:flex;
                gap:4px;
                justify-content:flex-start;
                padding-top:8px;
                flex-wrap:wrap;
                overflow:visible;
            }
            #mmcp-table td:last-child::before { display:none; }
            #mmcp-table td:last-child .mmcp-btn {
                flex:1 1 auto;
                min-width:0;
                font-size:11px;
                padding:4px 6px;
                white-space:nowrap;
            }
            /* Reset fixed widths on mobile */
            #mmcp-table th:nth-child(1), #mmcp-table td:nth-child(1),
            #mmcp-table th:nth-child(2), #mmcp-table td:nth-child(2),
            #mmcp-table th:nth-child(3), #mmcp-table td:nth-child(3),
            #mmcp-table th:nth-child(4), #mmcp-table td:nth-child(4),
            #mmcp-table th:nth-child(5), #mmcp-table td:nth-child(5),
            #mmcp-table th:nth-child(6), #mmcp-table td:nth-child(6),
            #mmcp-table th:nth-child(7), #mmcp-table td:nth-child(7),
            #mmcp-table th:nth-child(8), #mmcp-table td:nth-child(8) {
                width: auto;
                overflow: visible;
                text-overflow: initial;
                min-width: auto;
            }

            /* Compact form adjustments for mobile */
            #mmcp-table .mmcp-input.compact,
            #mmcp-table .mmcp-select.compact {
                padding: 6px 8px;
                font-size: 13px;
                height: 32px;
            }

            /* Keep field labels visible on mobile but smaller */
            #mmcp-table .field-label {
                font-size: 8px;
                margin-top: 2px;
            }
        }
        
        /* Job Fair checkbox styling */
        .mmcp-job-fair-checkbox {
            width: 16px;
            height: 16px;
            cursor: pointer;
        }
        
        .mmcp-table td[data-label="Job Fair"] {
            text-align: center;
            vertical-align: middle;
        }
        
        /* Ensure buttons in Actions column are properly sized */
        .mmcp-table td[data-label="Actions"] {
            white-space: nowrap;
        }
        
        .mmcp-table td[data-label="Actions"] .mmcp-btn {
            margin-right: 4px;
            margin-bottom: 2px;
            font-size: 12px;
            padding: 4px 8px;
            min-width: auto;
        }
        
        .mmcp-table td[data-label="Actions"] .mmcp-btn:last-child {
            margin-right: 0;
        }

        /* Action button color variants */
        .mmcp-btn[data-action="edit"] {
            background: #fff !important;
            color: var(--mm-gray-700) !important;
            border: 1px solid var(--mm-gray-300) !important;
        }
        .mmcp-btn[data-action="edit"]:hover {
            background: var(--mm-gray-50) !important;
            border-color: var(--mm-gray-400) !important;
        }

        .mmcp-btn[data-action="delete-contact"] {
            background: #fff !important;
            color: var(--mm-danger) !important;
            border: 1px solid var(--mm-danger) !important;
        }
        .mmcp-btn[data-action="delete-contact"]:hover {
            background: var(--mm-danger) !important;
            color: #fff !important;
        }
        
        /* Compact edit mode styling */
        .mmcp-table td[data-label="Name"] .edit-compact-group {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
        
        .mmcp-table td[data-label="Name"] .edit-field-row {
            display: flex;
            gap: 2px;
        }
        
        .mmcp-table td[data-label="Name"] .edit-field-row input {
            flex: 1;
            min-width: 0;
        }
        
        /* Compact input styling - force override */
        .mmcp-table td .mmcp-input.compact,
        .mmcp-table td .mmcp-select.compact {
            padding: 4px 6px !important;
            font-size: 12px !important;
            height: 28px !important;
            line-height: 1.2 !important;
            min-width: 0 !important;
            width: auto !important;
            border: 2px solid var(--mm-accent) !important;
            background-color: var(--mm-accent-light) !important;
        }
        
        /* Field labels - always visible */
        .mmcp-table .field-label {
            font-size: 9px;
            color: var(--mm-gray-500);
            margin-top: 1px;
            font-weight: 500;
            text-align: center;
            line-height: 1;
        }
        
        /* Ensure labels are visible */
        .mmcp-table td[data-label="Name"] .field-label,
        .mmcp-table td[data-label="Email"] .field-label,
        .mmcp-table td[data-label="Status"] .field-label,
        .mmcp-table td[data-label="Owner"] .field-label {
            display: block !important;
            visibility: visible !important;
        }
        
        /* Tooltip styling for compact form */
        .mmcp-table input[title], .mmcp-table select[title] {
            position: relative;
        }
        
        .mmcp-table input[title]:hover::after,
        .mmcp-table select[title]:hover::after {
            content: attr(title);
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: var(--mm-primary);
            color: white;
            padding: 4px 8px;
            border-radius: var(--mm-radius-sm);
            font-size: 11px;
            white-space: nowrap;
            z-index: 1000;
            pointer-events: none;
        }
        
        /* Name column styling - show company under name */
        .mmcp-table td[data-label="Name"] {
            vertical-align: top;
            line-height: 1.3;
            white-space: normal; /* Allow wrapping for name column */
            overflow: visible;
        }
        
        .mmcp-table td[data-label="Name"] .contact-name {
            font-weight: 600;
            color: var(--mm-primary);
            margin-bottom: 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .mmcp-table td[data-label="Name"] .contact-company {
            font-size: 12px;
            color: var(--mm-gray-500);
            font-style: italic;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        /* Modal Styles */
        .mmcp-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(15, 23, 42, 0.6);
            backdrop-filter: blur(4px);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 1000;
        }
        
        .mmcp-modal-content {
            background: #ffffff !important;
            background-color: #ffffff !important;
            border-radius: var(--mm-radius-lg);
            box-shadow: var(--mm-shadow);
            max-width: 500px;
            width: 90%;
            max-height: 90vh;
            overflow-y: auto;
        }
        
        .mmcp-modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 24px;
            border-bottom: 1px solid var(--mm-gray-200);
        }

        .mmcp-modal-header h3 {
            margin: 0;
            font-size: 18px;
            font-weight: 600;
            color: var(--mm-primary);
        }
        
        .mmcp-modal-close {
            background: var(--mm-gray-50);
            border: 1px solid var(--mm-gray-200);
            font-size: 18px;
            color: var(--mm-gray-500);
            cursor: pointer;
            padding: 0;
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            transition: all 0.15s ease;
            flex-shrink: 0;
        }

        .mmcp-modal-close:hover {
            background-color: var(--mm-gray-200);
            color: var(--mm-primary);
        }
        
        .mmcp-modal-body {
            padding: 24px;
        }
        
        .mmcp-modal-footer {
            display: flex;
            justify-content: flex-end;
            gap: 12px;
            padding: 20px 24px;
            border-top: 1px solid var(--mm-gray-200);
            background-color: var(--mm-gray-50);
            border-radius: 0 0 var(--mm-radius-lg) var(--mm-radius-lg);
        }
        
        /* Form Styles */
        .mmcp-form-row {
            display: flex;
            gap: 16px;
            margin-bottom: 16px;
        }
        
        .mmcp-form-group {
            flex: 1;
            margin-bottom: 16px;
        }
        
        .mmcp-form-group label {
            display: block;
            margin-bottom: 6px;
            font-weight: 500;
            color: var(--mm-gray-700);
            font-size: 14px;
        }

        .mmcp-form-group .mmcp-input,
        .mmcp-form-group .mmcp-select {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid var(--mm-gray-300);
            border-radius: var(--mm-radius);
            font-size: 14px;
            transition: border-color 0.15s, box-shadow 0.15s;
        }
        
        .mmcp-form-group .mmcp-input:focus,
        .mmcp-form-group .mmcp-select:focus {
            outline: none;
            border-color: var(--mm-accent);
            box-shadow: 0 0 0 3px rgba(237, 132, 94, 0.15);
        }
        
        .mmcp-checkbox-label {
            display: flex;
            align-items: center;
            cursor: pointer;
            margin-bottom: 0;
        }
        
        .mmcp-checkbox-label input[type="checkbox"] {
            margin-right: 8px;
            width: 16px;
            height: 16px;
            accent-color: var(--mm-accent);
        }
        
        .mmcp-checkbox-text {
            font-size: 14px;
            color: var(--mm-gray-700);
        }
        
        /* Mobile Responsive Modal Styles */
        @media (max-width: 768px) {
            .mmcp-modal-content {
                width: 95%;
                max-width: none;
                margin: 20px 10px;
                max-height: 95vh;
                border-radius: var(--mm-radius);
            }

            .mmcp-modal-header {
                padding: 16px 20px;
            }
            
            .mmcp-modal-header h3 {
                font-size: 16px;
            }
            
            .mmcp-modal-close {
                width: 28px;
                height: 28px;
                font-size: 20px;
            }
            
            .mmcp-modal-body {
                padding: 20px;
            }
            
            .mmcp-modal-footer {
                padding: 16px 20px;
                flex-direction: column;
                gap: 8px;
            }
            
            .mmcp-modal-footer .mmcp-btn {
                width: 100%;
                padding: 12px 16px;
                font-size: 16px;
            }
            
            /* Mobile Form Styles */
            .mmcp-form-row {
                flex-direction: column;
                gap: 0;
                margin-bottom: 0;
            }
            
            .mmcp-form-group {
                margin-bottom: 16px;
            }
            
            .mmcp-form-group:last-child {
                margin-bottom: 0;
            }
            
            .mmcp-form-group label {
                font-size: 14px;
                margin-bottom: 6px;
            }
            
            .mmcp-form-group .mmcp-input,
            .mmcp-form-group .mmcp-select {
                font-size: 16px; /* Prevents zoom on iOS */
                padding: 12px 16px;
                border-radius: var(--mm-radius-sm);
            }
            
            .mmcp-checkbox-label {
                padding: 8px 0;
            }
            
            .mmcp-checkbox-label input[type="checkbox"] {
                width: 18px;
                height: 18px;
                margin-right: 10px;
            }
            
            .mmcp-checkbox-text {
                font-size: 14px;
            }
        }
        
        /* Small Mobile Devices */
        @media (max-width: 480px) {
            .mmcp-modal-content {
                width: 98%;
                margin: 10px 5px;
                max-height: 98vh;
            }
            
            .mmcp-modal-header {
                padding: 12px 16px;
            }
            
            .mmcp-modal-header h3 {
                font-size: 15px;
            }
            
            .mmcp-modal-body {
                padding: 16px;
            }
            
            .mmcp-modal-footer {
                padding: 12px 16px;
            }
            
            .mmcp-form-group .mmcp-input,
            .mmcp-form-group .mmcp-select {
                padding: 10px 12px;
                font-size: 16px;
            }
        }
        
        /* Landscape Mobile */
        @media (max-width: 768px) and (orientation: landscape) {
            .mmcp-modal-content {
                max-height: 90vh;
                overflow-y: auto;
            }
            
            .mmcp-modal-body {
                max-height: 60vh;
                overflow-y: auto;
            }
        }
        
        /* Touch-friendly improvements */
        @media (hover: none) and (pointer: coarse) {
            .mmcp-modal-close {
                min-width: 44px;
                min-height: 44px;
            }
            
            .mmcp-modal-footer .mmcp-btn {
                min-height: 44px;
                touch-action: manipulation;
            }
            
            .mmcp-form-group .mmcp-input,
            .mmcp-form-group .mmcp-select {
                min-height: 44px;
                touch-action: manipulation;
            }
            
            .mmcp-checkbox-label input[type="checkbox"] {
                min-width: 44px;
                min-height: 44px;
            }
        }
        
        /* Action button variants */
        .mmcp-btn[onclick*="editContact"],
        .mmcp-btn[data-action="edit"] {
            background: #fff;
            color: var(--mm-gray-700);
            border: 1px solid var(--mm-gray-300);
        }
        .mmcp-btn[onclick*="editContact"]:hover,
        .mmcp-btn[data-action="edit"]:hover {
            background: var(--mm-gray-50);
            border-color: var(--mm-gray-400);
        }

        .mmcp-btn[onclick*="deleteContact"],
        .mmcp-btn[data-action="delete"] {
            background: var(--mm-danger);
            border-color: var(--mm-danger);
            color: #fff;
        }
        .mmcp-btn[onclick*="deleteContact"]:hover,
        .mmcp-btn[data-action="delete"]:hover {
            background: #b91c1c;
            border-color: var(--mm-danger);
        }

        /* Toolbar secondary buttons */
        #mmcp-reset-filters,
        #mmcp-verify-all,
        #mmcp-activities {
            background: #fff;
            color: var(--mm-gray-700);
            border: 1px solid var(--mm-gray-300);
        }

        /* Loading spinner animation */
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
    .mmca-campaign-builder {
        max-width: 100%;
        margin: 0 auto;
        font-family: var(--mm-font);
    }
    .mmca-tabs {
        display: flex;
        border-bottom: 2px solid var(--mm-gray-200);
        margin-bottom: 20px;
    }
    .mmca-tab {
        padding: 12px 24px;
        background: var(--mm-gray-50);
        border: 1px solid var(--mm-gray-200);
        border-bottom: none;
        cursor: pointer;
        margin-right: 4px;
        border-radius: var(--mm-radius) var(--mm-radius) 0 0;
        font-weight: 500;
    }
    .mmca-tab.active {
        background: #fff;
        border-bottom: 2px solid var(--mm-accent);
        color: var(--mm-accent);
    }
    .mmca-tab-content {
        display: none;
        padding: 20px;
        background: #fff;
        border: 1px solid var(--mm-gray-200);
        border-radius: 0 var(--mm-radius) var(--mm-radius) var(--mm-radius);
    }
    .mmca-tab-content.active {
        display: block;
    }
    .mmca-search-box {
        width: 100%;
        padding: 10px;
        border: 1px solid var(--mm-gray-300);
        border-radius: var(--mm-radius-sm);
        margin-bottom: 20px;
        font-size: 14px;
    }
    .mmca-contact-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
        table-layout: fixed;
    }
    .mmca-contact-table th,
    .mmca-contact-table td {
        padding: 12px;
        border: 1px solid var(--mm-gray-200);
        text-align: left;
        word-wrap: break-word;
    }
    .mmca-contact-table td {
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .mmca-contact-table th {
        background: var(--mm-gray-50);
        font-weight: 600;
    }
    .mmca-contact-table .col-checkbox {
        width: 50px;
    }
    .mmca-contact-table .col-name {
        width: 30%;
    }
    .mmca-contact-table .col-email {
        width: 35%;
    }
    .mmca-contact-table .col-company {
        width: 25%;
    }
    .mmca-contact-table tr:hover {
        background: var(--mm-gray-50);
    }
    .mmca-btn {
        padding: 10px 20px;
        background: var(--mm-accent);
        color: white;
        border: none;
        border-radius: var(--mm-radius-sm);
        cursor: pointer;
        font-size: 14px;
        margin: 5px;
    }
    .mmca-btn:hover {
        background: var(--mm-accent-hover);
    }
    .mmca-btn.secondary {
        background: #fff;
        color: var(--mm-gray-700);
        border: 1px solid var(--mm-gray-300);
    }
    .mmca-btn.secondary:hover {
        background: var(--mm-gray-50);
    }
    .mmca-form-group {
        margin-bottom: 20px;
    }
    .mmca-form-group label {
        display: block;
        margin-bottom: 5px;
        font-weight: 600;
    }
    .mmca-form-group input,
    .mmca-form-group textarea {
        width: 100%;
        padding: 10px;
        border: 1px solid var(--mm-gray-300);
        border-radius: var(--mm-radius-sm);
        font-size: 14px;
    }
    .mmca-form-group textarea {
        min-height: 120px;
    }
    .mmca-selected-count {
        background: var(--mm-accent-light);
        color: var(--mm-accent);
        padding: 8px 16px;
        border-radius: var(--mm-radius-sm);
        margin: 10px 0;
        font-weight: 600;
    }
    .mmca-error {
        background: #fee2e2;
        color: var(--mm-danger);
        padding: 12px;
        border-radius: var(--mm-radius-sm);
        margin: 10px 0;
    }
    .mmca-success {
        background: #dcfce7;
        color: #166534;
        padding: 12px;
        border-radius: var(--mm-radius-sm);
        margin: 10px 0;
    }
    .mmca-list-selector {
        margin-bottom: 20px;
    }
    .mmca-list-selector select {
        width: 200px;
        padding: 8px;
        border: 1px solid var(--mm-gray-300);
        border-radius: var(--mm-radius-sm);
        margin-right: 10px;
    }
      .mmcp-container{font-size:13px}
      .mmcp-container .mmcp-chip{font-size:12px}
      .mmcp-container .mmcp-table{font-size:13px}
      .mmcp-btn{padding:8px 12px;border-radius:var(--mm-radius);border:1px solid var(--mm-accent);background:var(--mm-accent);color:#fff;cursor:pointer;box-shadow:0 1px 2px 0 rgba(81,53,40,0.05);transition:background-color 0.2s,border-color 0.2s}
      .mmcp-btn:hover{background-color:var(--mm-accent-hover);border-color:var(--mm-accent-hover)}
      .mmcp-btn.secondary{background:#fff;color:var(--mm-primary);border:1px solid var(--mm-gray-300)}
        .mmca-container {
            max-width: 100%;
            margin: 20px auto;
            font-family: var(--mm-font);
            font-size: 14px;
        }
        .mmca-filters {
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius-lg);
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: var(--mm-shadow);
        }
        .mmca-filter-row {
            display: flex;
            gap: 15px;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 15px;
        }
        .mmca-filter-row:last-child {
            margin-bottom: 0;
        }
        .mmca-filter-group {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }
        .mmca-filter-group label {
            font-weight: 600;
            color: var(--mm-gray-700);
            font-size: 13px;
        }
        .mmca-filter-group select,
        .mmca-filter-group input {
            padding: 8px 12px;
            border: 1px solid var(--mm-gray-300);
            border-radius: var(--mm-radius-sm);
            font-size: 14px;
            min-width: 150px;
        }
        .mmca-container .mmcp-btn {
            padding: 8px 12px !important;
            border-radius: var(--mm-radius) !important;
            border: 1px solid var(--mm-accent) !important;
            background: var(--mm-accent) !important;
            color: #fff !important;
            cursor: pointer !important;
            font-size: 14px !important;
            font-weight: 500 !important;
            text-decoration: none !important;
            display: inline-block !important;
            transition: all 0.2s ease !important;
            box-sizing: border-box !important;
        }
        .mmca-container .mmcp-btn.secondary {
            background: #fff !important;
            color: var(--mm-primary) !important;
            border: 1px solid var(--mm-gray-300) !important;
        }
        .mmca-container .mmcp-btn:hover {
            background: var(--mm-accent-hover) !important;
            border-color: var(--mm-accent-hover) !important;
            opacity: 1 !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 2px 4px rgba(81,53,40,0.1) !important;
        }
        .mmca-container .mmcp-btn:active {
            transform: translateY(0) !important;
        }
        .mmca-btn {
            padding: 8px 16px;
            background: var(--mm-accent);
            color: #fff;
            border: none;
            border-radius: var(--mm-radius-sm);
            cursor: pointer;
            font-size: 14px;
            font-weight: 500;
        }
        .mmca-btn:hover {
            background: var(--mm-accent-hover);
        }
        .mmca-btn.secondary {
            background: #fff;
            color: var(--mm-primary);
            border: 1px solid var(--mm-gray-300);
        }
        .mmca-btn.secondary:hover {
            background: var(--mm-gray-50);
        }
        .mmca-stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin-bottom: 20px;
        }
        .mmca-stat-card {
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius);
            padding: 20px;
            text-align: center;
        }
        .mmca-modal {
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(15, 23, 42, 0.6);
            backdrop-filter: blur(4px);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .mmca-modal-content {
            background-color: #fff;
            border-radius: var(--mm-radius-lg);
            width: 90%;
            max-width: 800px;
            max-height: 85vh;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
        }
        .mmca-modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 24px;
            border-bottom: 1px solid var(--mm-gray-200);
        }
        .mmca-modal-header h2 {
            margin: 0;
            font-size: 20px;
            font-weight: 600;
            color: var(--mm-primary);
        }
        .mmca-modal-close {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            border: 1px solid var(--mm-gray-200);
            background: var(--mm-gray-50);
            color: var(--mm-gray-500);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            transition: all 0.15s ease;
            flex-shrink: 0;
        }
        .mmca-modal-close:hover {
            background: var(--mm-gray-200);
            color: var(--mm-primary);
        }
        .mmca-modal-body {
            padding: 24px;
        }
        .mmca-details-section {
            margin-bottom: 24px;
        }
        .mmca-details-section h3 {
            margin: 0 0 12px 0;
            font-size: 16px;
            font-weight: 600;
            color: var(--mm-gray-700);
            border-bottom: 2px solid var(--mm-gray-200);
            padding-bottom: 8px;
        }
        .mmca-details-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 16px;
            margin-bottom: 16px;
        }
        .mmca-detail-item {
            background: var(--mm-gray-50);
            padding: 12px;
            border-radius: var(--mm-radius-sm);
            border-left: 4px solid var(--mm-accent);
        }
        .mmca-detail-label {
            font-size: 12px;
            font-weight: 600;
            color: var(--mm-gray-500);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 4px;
        }
        .mmca-detail-value {
            font-size: 14px;
            color: var(--mm-primary);
            font-weight: 500;
        }
        .mmca-activity-list {
            max-height: 300px;
            overflow-y: auto;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius-sm);
        }
        .mmca-activity-item {
            padding: 12px 16px;
            border-bottom: 1px solid var(--mm-gray-100);
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background 0.15s ease;
        }
        .mmca-activity-item:hover {
            background: var(--mm-accent-light);
        }
        .mmca-activity-item:last-child {
            border-bottom: none;
        }
        .mmca-activity-info {
            flex: 1;
        }
        .mmca-activity-type {
            font-size: 12px;
            font-weight: 600;
            color: var(--mm-gray-500);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .mmca-activity-desc {
            font-size: 14px;
            color: var(--mm-gray-700);
            margin-top: 2px;
        }
        .mmca-activity-time {
            font-size: 12px;
            color: var(--mm-gray-400);
            white-space: nowrap;
        }
        .mmca-btn-small {
            padding: 6px 12px;
            font-size: 12px;
            border-radius: var(--mm-radius-sm);
            border: none;
            cursor: pointer;
            font-weight: 500;
        }
        .mmca-btn-primary {
            background: var(--mm-accent);
            color: #fff;
        }
        .mmca-btn-primary:hover {
            background: var(--mm-accent-hover);
        }
        .mmca-pagination {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 20px;
            padding: 15px;
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius);
        }
        .mmca-page-info,
        .mmca-total-info {
            font-size: 14px;
            color: var(--mm-gray-500);
        }
        .mmcportal-dashboard-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            margin-top: 20px;
        }
        .mmcportal-full-width {
            grid-column: 1 / -1;
        }
        .mmcportal-card {
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius-sm);
            padding: 20px;
            box-shadow: var(--mm-shadow);
        }
        .mmcportal-card h2 {
            margin-top: 0;
            color: var(--mm-primary);
        }
        .mmcportal-stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 15px;
        }
        .stat-item {
            text-align: center;
            padding: 15px;
            background: var(--mm-gray-50);
            border-radius: var(--mm-radius-sm);
        }
        .stat-number {
            display: block;
            font-size: 24px;
            font-weight: bold;
            color: var(--mm-accent);
        }
        .stat-label {
            display: block;
            font-size: 12px;
            color: var(--mm-gray-500);
            margin-top: 5px;
        }
        .mmcportal-links {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .mmcportal-activity table {
            margin-top: 10px;
        }
        .mmcportal-guide {
            max-width: 100%;
        }
        .mmcportal-section {
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius-sm);
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: var(--mm-shadow);
        }
        .mmcportal-section h2 {
            margin-top: 0;
            color: var(--mm-primary);
        }
        .mmcportal-section h3 {
            color: var(--mm-accent);
            border-bottom: 1px solid var(--mm-gray-200);
            padding-bottom: 10px;
        }
        .mmcportal-code-block {
            background: var(--mm-gray-100);
            border: 1px solid var(--mm-gray-300);
            border-radius: var(--mm-radius-sm);
            padding: 15px;
            margin: 10px 0;
            overflow-x: auto;
        }
        .mmcportal-code-block code {
            background: none;
            padding: 0;
            font-family: monospace;
            font-size: 13px;
            line-height: 1.4;
            word-break: break-all;
        }
        .mmcportal-params-table {
            width: 100%;
            border-collapse: collapse;
            margin: 15px 0;
        }
        .mmcportal-params-table th,
        .mmcportal-params-table td {
            border: 1px solid var(--mm-gray-300);
            padding: 12px;
            text-align: left;
        }
        .mmcportal-params-table th {
            background: var(--mm-gray-50);
            font-weight: bold;
        }
        .mmcportal-params-table code {
            background: var(--mm-gray-100);
            padding: 2px 6px;
            border-radius: 3px;
            font-family: monospace;
        }
        .mmcportal-shortcodes {
            max-width: 100%;
        }
        .mmcportal-section {
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius-sm);
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: var(--mm-shadow);
        }
        .mmcportal-section h2 {
            margin-top: 0;
            color: var(--mm-primary);
        }
        .mmcportal-section h3 {
            color: var(--mm-accent);
            border-bottom: 1px solid var(--mm-gray-200);
            padding-bottom: 10px;
        }
        .mmcportal-code-block {
            background: var(--mm-gray-100);
            border: 1px solid var(--mm-gray-300);
            border-radius: var(--mm-radius-sm);
            padding: 15px;
            margin: 10px 0;
            overflow-x: auto;
        }
        .mmcportal-code-block code {
            background: none;
            padding: 0;
            font-family: monospace;
            font-size: 13px;
            line-height: 1.4;
        }
        .mmcportal-params-table {
            width: 100%;
            border-collapse: collapse;
            margin: 15px 0;
        }
        .mmcportal-params-table th,
        .mmcportal-params-table td {
            border: 1px solid var(--mm-gray-300);
            padding: 12px;
            text-align: left;
        }
        .mmcportal-params-table th {
            background: var(--mm-gray-50);
            font-weight: bold;
        }
        .mmcportal-params-table code {
            background: var(--mm-gray-100);
            padding: 2px 6px;
            border-radius: 3px;
            font-family: monospace;
        }
        .mmcportal-settings {
            max-width: 100%;
        }
        .mmcportal-section {
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius-sm);
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: var(--mm-shadow);
        }
        .mmcportal-section h2 {
            margin-top: 0;
            color: var(--mm-primary);
        }
        .mmcportal-info-table {
            width: 100%;
            border-collapse: collapse;
        }
        .mmcportal-info-table td {
            border: 1px solid var(--mm-gray-300);
            padding: 10px;
        }
        .mmcportal-info-table td:first-child {
            background: var(--mm-gray-50);
            width: 200px;
        }
        .mmca-container .mmcp-btn {
            padding: 8px 12px !important;
            border-radius: var(--mm-radius) !important;
            border: 1px solid var(--mm-accent) !important;
            background: var(--mm-accent) !important;
            color: #fff !important;
            cursor: pointer !important;
            font-size: 14px !important;
            font-weight: 500 !important;
            text-decoration: none !important;
            display: inline-block !important;
            transition: all 0.2s ease !important;
            box-sizing: border-box !important;
        }
        .mmca-container .mmcp-btn.secondary {
            background: #fff !important;
            color: var(--mm-primary) !important;
            border: 1px solid var(--mm-gray-300) !important;
        }
        .mmca-container .mmcp-btn:hover {
            background: var(--mm-accent-hover) !important;
            border-color: var(--mm-accent-hover) !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 2px 4px rgba(81,53,40,0.1) !important;
        }
        .mmca-container .mmcp-btn:active {
            transform: translateY(0) !important;
        }

        /* ── JS Modal Overrides (mobile-first) ── */

        .mmcp-js-modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.6);
            backdrop-filter: blur(4px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
            padding: 0;
        }

        .mmcp-js-modal-card {
            background: #fff;
            border: 1px solid var(--mm-gray-200);
            border-radius: var(--mm-radius-lg);
            box-shadow: var(--mm-shadow-lg);
            width: 900px;
            max-width: 95%;
            max-height: 85vh;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }

        .mmcp-js-modal-card--sm {
            width: 480px;
        }

        .mmcp-js-modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 14px 16px;
            border-bottom: 1px solid var(--mm-gray-100);
            position: sticky;
            top: 0;
            background: #fff;
            z-index: 1;
            border-radius: var(--mm-radius-lg) var(--mm-radius-lg) 0 0;
        }

        .mmcp-js-modal-header h3 {
            margin: 0;
            font-size: 16px;
            font-weight: 600;
            color: var(--mm-primary);
        }

        .mmcp-js-modal-body {
            padding: 16px;
        }

        .mmcp-details-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
            margin: 10px 0 16px;
        }

        .mmcp-details-grid--full {
            grid-column: 1 / -1;
        }

        .mmcp-contact-header {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-bottom: 12px;
        }

        .mmcp-contact-header__identity {
            display: flex;
            gap: 8px;
            align-items: center;
            flex-wrap: wrap;
        }

        .mmcp-contact-header__actions {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        .mmcp-contact-header__actions .mmcp-btn {
            min-height: 36px;
            font-size: 13px;
        }

        .mmcp-details-section {
            border-top: 1px solid var(--mm-gray-100);
            margin-top: 12px;
        }

        .mmcp-details-section summary {
            padding: 10px 0;
            font-size: 14px;
            font-weight: 600;
            color: var(--mm-primary);
            cursor: pointer;
            list-style: none;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .mmcp-details-section summary::-webkit-details-marker {
            display: none;
        }

        .mmcp-details-section summary::before {
            content: '\25B6';
            font-size: 10px;
            transition: transform 0.2s;
        }

        .mmcp-details-section[open] summary::before {
            transform: rotate(90deg);
        }

        .mmcp-company-link {
            color: var(--mm-accent);
            text-decoration: none;
            cursor: pointer;
        }

        .mmcp-company-link:hover {
            text-decoration: underline;
        }

        /* ── Mobile: Full-screen modals ── */
        @media (max-width: 640px) {
            .mmcp-js-modal-overlay {
                align-items: flex-end;
            }

            .mmcp-js-modal-card,
            .mmcp-js-modal-card--sm {
                width: 100%;
                max-width: 100%;
                max-height: 100vh;
                border-radius: var(--mm-radius-lg) var(--mm-radius-lg) 0 0;
                margin: 0;
            }

            .mmcp-js-modal-body {
                padding: 12px;
            }

            .mmcp-details-grid {
                grid-template-columns: 1fr;
            }

            .mmcp-contact-header__actions {
                width: 100%;
            }

            .mmcp-contact-header__actions .mmcp-btn {
                flex: 1;
                min-height: 44px;
                font-size: 14px;
                justify-content: center;
            }

            .mmcp-js-modal-card .mmcp-input,
            .mmcp-js-modal-card .mmcp-select,
            .mmcp-js-modal-card select,
            .mmcp-js-modal-card input,
            .mmcp-js-modal-card textarea {
                font-size: 16px !important;
            }

            .mmcp-js-modal-card .mmcp-btn {
                min-height: 44px;
                touch-action: manipulation;
            }

            .mmcp-js-modal-card .mmcp-btn.secondary.sm {
                min-height: 36px;
                padding: 6px 12px;
            }

            .mmcp-js-modal-card .mmcp-table td,
            .mmcp-js-modal-card .mmcp-table th {
                font-size: 13px;
                padding: 8px 6px;
            }
        }

        @media (hover: none) and (pointer: coarse) {
            .mmcp-js-modal-card .mmcp-btn {
                min-height: 44px;
                touch-action: manipulation;
            }

            .mmcp-js-modal-card .mmcp-input,
            .mmcp-js-modal-card .mmcp-select,
            .mmcp-js-modal-card select,
            .mmcp-js-modal-card input,
            .mmcp-js-modal-card textarea {
                min-height: 44px;
                touch-action: manipulation;
            }
        }
