/**
 * Blaminhor Essentials Module-Specific Styles
 *
 * @package BlaminhorEssentials
 */

/* ============================================
   Shared Components
   ============================================ */

/* Bulk Actions Bar (Redirections, Backup) */
.ap-bulk-actions {
    display: none;
    margin-bottom: 10px;
    padding: 8px 12px;
    background: #f0f0f1;
    border-radius: 4px;
    align-items: center;
    gap: 10px;
}

.ap-bulk-count {
    font-weight: 600;
}

.ap-bulk-delete-btn {
    color: #d63638;
}

/* Loop Badge (Redirections) */
.ap-loop-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 600;
    color: #996800;
    background: #fcf0c3;
    border-radius: 3px;
    vertical-align: middle;
}

.ap-loop-badge .dashicons {
    font-size: 13px;
    width: 13px;
    height: 13px;
    vertical-align: middle;
    margin-top: -1px;
}

.ap-redirect-loop-row {
    background-color: #fef8e8 !important;
}

/* Import Source Card (Redirections, SEO Manager) */
.ap-import-source-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
}

.ap-import-options {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.ap-import-status {
    margin: 10px 0 0;
    font-size: 13px;
    color: #646970;
}

/* ============================================
   Common Tab Styles (with URL hash support)
   ============================================ */

/* Spinner animation for buttons */
.ap-spin {
    animation: ap-spin 1s linear infinite;
}

/* ============================================
   Image Sizes Module
   ============================================ */

.blaminhor-essentials-image-sizes-table code {
    background: #f0f0f1;
    padding: 3px 6px;
    border-radius: 3px;
}

.ap-code-disabled {
    text-decoration: line-through;
    opacity: 0.6;
}

.ap-size-disabled {
    background-color: #fef7f1 !important;
}

.ap-size-disabled td {
    color: #8c8f94;
}

.ap-badge {
    display: inline-block;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 500;
    border-radius: 3px;
    margin-left: 8px;
    vertical-align: middle;
}

.ap-badge-custom {
    background: #e7f5ff;
    color: #1971c2;
}

.ap-badge-disabled {
    background: #fdecea;
    color: #d63638;
}

.ap-crop-yes {
    color: #00a32a;
}

.ap-crop-no {
    color: #6b7280;
}

.ap-source-core {
    color: #2271b1;
    font-weight: 500;
}

.ap-source-theme,
.ap-source-plugin {
    color: #6b7280;
}

.ap-source-custom {
    color: #1971c2;
    font-weight: 500;
}

.ap-btn-enable {
    background: #fdecea !important;
    border-color: #d63638 !important;
    color: #d63638 !important;
}

.ap-btn-enable:hover {
    background: #fcdfdc !important;
}

.ap-btn-enable .dashicons,
.ap-btn-disable .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
    margin-right: 3px;
}

.ap-btn-disable {
    background: #edfaef !important;
    border-color: #00a32a !important;
    color: #00a32a !important;
}

.ap-btn-disable:hover {
    background: #d8f5dc !important;
}

.ap-btn-delete {
    color: #b32d2e !important;
    padding: 0 5px !important;
    min-width: auto !important;
}

.ap-btn-delete .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
}

.ap-btn-delete:hover {
    color: #a00 !important;
    border-color: #a00 !important;
}

.required {
    color: #d63638;
}

/* Regenerate Thumbnails Styles */
.ap-regen-stats {
    display: flex;
    gap: 20px;
}

.ap-stat-box {
    background: #f6f7f7;
    padding: 20px 30px;
    border-radius: 8px;
    text-align: center;
    border: 1px solid #dcdcde;
}

.ap-stat-number {
    display: block;
    font-size: 32px;
    font-weight: 600;
    color: #2271b1;
    line-height: 1;
}

.ap-stat-label {
    display: block;
    margin-top: 8px;
    color: #50575e;
    font-size: 13px;
}

.ap-progress-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-weight: 500;
}

.ap-progress-bar-wrapper {
    height: 24px;
    background: #dcdcde;
    border-radius: 12px;
    overflow: hidden;
}

.ap-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #2271b1 0%, #135e96 100%);
    border-radius: 12px;
    transition: width 0.3s ease;
}

.ap-progress-log {
    max-height: 200px;
    overflow-y: auto;
    background: #1e1e1e;
    color: #50fa7b;
    font-family: monospace;
    font-size: 12px;
    padding: 15px;
    border-radius: 6px;
    margin-top: 15px;
}

.ap-progress-log .log-error {
    color: #ff5555;
}

.ap-progress-log .log-success {
    color: #50fa7b;
}

.ap-progress-log .log-skip {
    color: #f1fa8c;
}

/* Action Notices */
.ap-action-notice {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
    background: #fff;
    border: 1px solid #dcdcde;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.ap-notice-regen {
    border-left: 4px solid #2271b1;
}

.ap-notice-cleanup {
    border-left: 4px solid #dba617;
}

.ap-notice-icon {
    flex-shrink: 0;
}

.ap-notice-icon .dashicons {
    font-size: 32px;
    width: 32px;
    height: 32px;
}

.ap-notice-regen .ap-notice-icon .dashicons {
    color: #2271b1;
}

.ap-notice-cleanup .ap-notice-icon .dashicons {
    color: #dba617;
}

.ap-notice-content {
    flex: 1;
}

.ap-notice-content strong {
    display: block;
    margin-bottom: 4px;
}

.ap-notice-content p {
    margin: 0;
    color: #50575e;
}

.ap-notice-content code {
    background: #f0f0f1;
    padding: 2px 5px;
    border-radius: 3px;
    font-size: 12px;
}

.ap-notice-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.ap-cleanup-sizes {
    background: #f6f7f7;
    padding: 15px 20px;
    border-radius: 6px;
    border: 1px solid #dcdcde;
}

.ap-cleanup-sizes code {
    background: #fff;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 5px;
}

/* ============================================
   Broken Links Module
   ============================================ */

.ap-scan-controls {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
}

.ap-badge-error {
    background: #d63638;
    color: #fff;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    margin-left: 6px;
}

.ap-scan-log {
    background: #1d2327;
    color: #c3c4c7;
    padding: 15px;
    border-radius: 6px;
    max-height: 300px;
    overflow-y: auto;
    font-family: monospace;
    font-size: 12px;
    line-height: 1.8;
    margin-bottom: 25px;
}

.ap-scan-log .log-item {
    padding: 3px 0;
    border-bottom: 1px solid #32373c;
}

.ap-scan-log .log-item:last-child {
    border-bottom: none;
}

.ap-scan-log .log-title {
    color: #fff;
    font-weight: 500;
}

.ap-scan-log .log-meta {
    color: #8c8f94;
    margin-left: 10px;
}

.ap-scan-log .log-broken {
    color: #f86368;
}

.ap-scan-log .log-ok {
    color: #68de7c;
}

.ap-url-code {
    word-break: break-all;
    font-size: 12px;
    background: #f0f0f1;
    padding: 2px 5px;
    border-radius: 3px;
}

.ap-anchor-text {
    color: #646970;
}

.ap-status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 12px;
}

.ap-status-error {
    background: #fcf0f1;
    color: #8a1c22;
}

#broken-links-section h3 {
    margin: 25px 0 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dcdcde;
}

#no-broken-links {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 25px;
}

#no-broken-links .dashicons {
    color: #00a32a;
    font-size: 24px;
}

.ap-new-row {
    animation: ap-highlight 2s ease-out;
}

@keyframes ap-highlight {
    0% {
        background-color: #fcf0f1;
    }
    100% {
        background-color: transparent;
    }
}

/* ============================================
   Favicon Module
   ============================================ */

.ap-favicon-status {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 30px;
}

.ap-favicon-active {
    background: linear-gradient(135deg, #edfaef 0%, #d8f5dc 100%);
    border: 1px solid #00a32a;
}

.ap-favicon-status-icon .dashicons {
    font-size: 40px;
    width: 40px;
    height: 40px;
    color: #00a32a;
}

.ap-favicon-status-content h3 {
    margin: 0 0 5px 0;
    color: #1e1e1e;
}

.ap-favicon-status-content p {
    margin: 0;
    color: #50575e;
}

.ap-favicon-preview {
    margin-left: auto;
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.ap-favicon-preview img {
    display: block;
}

.ap-section {
    margin-bottom: 30px;
}

.ap-section h3 {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dcdcde;
}

.ap-favicon-files {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 10px;
}

.ap-favicon-file {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    background: #f6f7f7;
    border-radius: 4px;
}

.ap-favicon-file .dashicons-yes {
    color: #00a32a;
}

.ap-favicon-file .dashicons-no {
    color: #d63638;
}

.ap-file-missing {
    opacity: 0.6;
}

.ap-file-label {
    flex: 1;
}

.ap-file-link code {
    font-size: 11px;
    background: #e0e0e0;
    padding: 2px 6px;
    border-radius: 3px;
}

.ap-image-selector {
    display: flex;
    align-items: center;
    gap: 15px;
}

.ap-image-preview {
    width: 100px;
    height: 100px;
    border: 2px dashed #c3c4c7;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f6f7f7;
    overflow: hidden;
}

.ap-image-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ap-no-image .dashicons {
    font-size: 40px;
    width: 40px;
    height: 40px;
    color: #c3c4c7;
}

/* ============================================
   Database Optimizer Module
   ============================================ */

.ap-db-overview {
    padding: 0;
}

.ap-db-backup-notice {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 20px;
    background: #fcf9e8;
    border: 1px solid #dba617;
    border-radius: 6px;
    margin-bottom: 24px;
}

.ap-db-backup-notice .notice-icon {
    flex-shrink: 0;
}

.ap-db-backup-notice .notice-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: #dba617;
}

.ap-db-backup-notice .notice-content h4 {
    margin: 0 0 8px;
    font-size: 14px;
    color: #614c00;
}

.ap-db-backup-notice .notice-content p {
    margin: 0 0 12px;
    color: #614c00;
    font-size: 13px;
}

.ap-db-backup-notice .notice-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ap-db-summary-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

@media (max-width: 1200px) {
    .ap-db-summary-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .ap-db-summary-cards {
        grid-template-columns: 1fr;
    }
}

.ap-db-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #dcdcde;
}

/* Shared layout for module card icons (DB Optimizer, Backup). Sizing stays per-module. */
.ap-db-card-icon,
.ap-backup-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ap-db-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
}

.ap-db-card-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.ap-db-card-primary .ap-db-card-icon {
    background: #e7f5fe;
    color: #2271b1;
}

.ap-db-card-warning .ap-db-card-icon {
    background: #fcf9e8;
    color: #dba617;
}

.ap-db-card-info .ap-db-card-icon {
    background: #fcf0f1;
    color: #d63638;
}

.ap-db-card-success .ap-db-card-icon {
    background: #edfaef;
    color: #00a32a;
}

.ap-db-card-value {
    font-size: 24px;
    font-weight: 600;
    color: #1d2327;
    line-height: 1;
}

.ap-db-card-label {
    font-size: 13px;
    color: #646970;
    margin-top: 4px;
}

.ap-db-quick-actions h3 {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 600;
}

.ap-db-action-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.ap-db-cleanup-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.ap-db-cleanup-card {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    padding: 16px;
}

.ap-db-cleanup-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.ap-db-cleanup-header .dashicons {
    color: #2271b1;
}

.ap-db-cleanup-header h4 {
    margin: 0;
    font-size: 14px;
}

.ap-db-cleanup-desc {
    color: #646970;
    font-size: 13px;
    margin: 0 0 12px;
}

.ap-db-cleanup-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid #f0f0f1;
}

.ap-db-cleanup-count {
    font-size: 13px;
    color: #50575e;
}

.ap-db-tables-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 15px;
}

.ap-db-tables-header p {
    margin: 0;
    color: #646970;
}

.ap-db-overhead-warning {
    color: #d63638;
    font-weight: 500;
}

.ap-db-overhead-ok {
    color: #646970;
}

/* DB Optimizer Modal */
.ap-db-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ap-db-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
}

.ap-db-modal-content {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.ap-db-modal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.ap-db-modal-header .dashicons {
    font-size: 28px;
    width: 28px;
    height: 28px;
    color: #dba617;
}

.ap-db-modal-header h3 {
    margin: 0;
    font-size: 18px;
}

.ap-db-modal-body p {
    margin: 0 0 16px;
    color: #50575e;
}

.ap-db-modal-footer {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 16px;
    border-top: 1px solid #dcdcde;
}

.ap-db-modal-body p:last-child {
    margin-bottom: 0;
}

.ap-db-modal-footer .button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ap-db-modal-footer .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 1;
}

/* Quick Actions container */
.ap-db-quick-actions {
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    padding: 20px;
}

.ap-db-action-buttons .button-hero {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ap-db-action-buttons .button-hero .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.ap-db-cleanup-card:hover {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

#ap-db-tables-list code {
    background: #f3f4f6;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
}

.ap-db-loading {
    opacity: 0.6;
    pointer-events: none;
}

.ap-db-backup-notice .notice-actions .button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ap-db-backup-notice .notice-actions .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 1;
}

/* Responsive DB Optimizer */
@media (max-width: 782px) {
    .ap-db-summary-cards {
        grid-template-columns: 1fr 1fr;
    }

    .ap-db-cleanup-grid {
        grid-template-columns: 1fr;
    }

    .ap-db-tables-header {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }

    .ap-db-backup-notice {
        flex-direction: column;
    }

    .ap-db-modal-content {
        width: 95%;
    }

    .ap-db-modal-footer {
        flex-direction: column;
    }

    .ap-db-modal-footer .button {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================
   Backup Module
   ============================================ */

.ap-backup-options {
    margin-bottom: 24px;
}

.ap-backup-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
}

.ap-backup-card {
    display: flex;
    cursor: pointer;
    position: relative;
    width: 180px;
}

.ap-backup-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ap-backup-card-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    transition: all 0.15s ease;
    position: relative;
    box-sizing: border-box;
    flex: 1;
    width: 100%;
}

.ap-backup-card:hover .ap-backup-card-inner {
    border-color: #2271b1;
    background: #f0f6fc;
}

.ap-backup-card input:checked + .ap-backup-card-inner {
    border-color: #2271b1;
    background: #f0f6fc;
}

.ap-backup-card-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
}

.ap-backup-card-icon .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.ap-backup-card-text {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ap-backup-card-text strong {
    font-size: 13px;
    font-weight: 600;
    color: #1d2327;
    line-height: 1.3;
}

.ap-backup-card-text small {
    font-size: 11px;
    color: #646970;
    line-height: 1.3;
}

.ap-backup-card input:checked + .ap-backup-card-inner .ap-backup-card-text strong {
    color: #2271b1;
}

.ap-backup-type {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.ap-backup-type-full {
    background: #d1e4dd;
    color: #1e4620;
}

.ap-backup-type-database {
    background: #e0e7ff;
    color: #3730a3;
}

.ap-backup-type-files {
    background: #fef3c7;
    color: #92400e;
}

.ap-backup-type-custom {
    background: #f3f4f6;
    color: #4b5563;
}

.ap-backup-type-pre-restore {
    background: #dbeafe;
    color: #1e40af;
}

.ap-backup-type-uploaded {
    background: #fce7f3;
    color: #9d174d;
}

.ap-backup-type-scheduled {
    background: #f3e8ff;
    color: #7c3aed;
}

.ap-backup-type-interrupted {
    background: #fcf0f1;
    color: #d63638;
}

/* Backup Schedule Grid */
.ap-schedule-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 20px 0;
}

@media (max-width: 782px) {
    .ap-schedule-grid {
        grid-template-columns: 1fr;
    }
}

.ap-schedule-card {
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    padding: 16px 20px;
}

.ap-schedule-card h4 {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 600;
    color: #1d2327;
}

.ap-schedule-field {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.ap-schedule-field label {
    font-weight: 500;
    font-size: 13px;
    color: #1d2327;
    min-width: 70px;
}

.ap-schedule-card .description {
    margin: 0;
    font-size: 12px;
    color: #646970;
}

/* Backup Upload Area */
.ap-upload-area {
    max-width: 600px;
}

.ap-upload-dropzone {
    border: 2px dashed #c3c4c7;
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
    background: #f9fafb;
    transition: all 0.2s ease;
    cursor: pointer;
}

.ap-upload-dropzone:hover,
.ap-upload-dropzone.dragover {
    border-color: #2271b1;
    background: #f0f6fc;
}

.ap-upload-dropzone .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #c3c4c7;
    margin-bottom: 15px;
}

.ap-upload-dropzone:hover .dashicons,
.ap-upload-dropzone.dragover .dashicons {
    color: #2271b1;
}

.ap-upload-dropzone p {
    margin: 0 0 10px;
    color: #50575e;
    font-size: 14px;
}

.ap-upload-or {
    color: #a7aaad !important;
    font-size: 12px !important;
    text-transform: uppercase;
}

.ap-upload-progress {
    margin-top: 20px;
    text-align: center;
}

.ap-upload-progress-bar {
    height: 8px;
    background: #e5e7eb;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
}

.ap-upload-progress-fill {
    height: 100%;
    background: #2271b1;
    width: 0%;
    transition: width 0.3s ease;
}

.ap-upload-result {
    margin-top: 20px;
}

/* ============================================
   Mute Core Emails Module
   ============================================ */

.ap-status-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 6px;
    margin-bottom: 24px;
    font-size: 14px;
}

.ap-status-info {
    background: #f0f6fc;
    border: 1px solid #2271b1;
    color: #1d4163;
}

.ap-status-info .dashicons {
    color: #2271b1;
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.ap-status-success {
    background: #edfaef;
    border: 1px solid #00a32a;
    color: #00450a;
}

.ap-status-success .dashicons {
    color: #00a32a;
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.ap-status-warning {
    background: #fcf9e8;
    border: 1px solid #dba617;
    color: #614c00;
}

.ap-status-warning .dashicons {
    color: #dba617;
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.ap-notification-group {
    margin-bottom: 0;
}

.ap-notification-group h3 {
    margin: 24px 0 8px;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
}

.ap-notification-group h3:first-child {
    margin-top: 0;
}

.ap-notification-group > .description {
    margin: 0 0 12px;
    color: #646970;
}

.ap-mute-table td {
    padding-top: 12px;
    padding-bottom: 12px;
}

.ap-warning {
    color: #d63638;
    font-weight: 500;
}

/* Toggle Switch */
.ap-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

.ap-switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.ap-switch-slider {
    position: relative;
    width: 44px;
    height: 24px;
    background-color: #00a32a;
    border-radius: 24px;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
}

.ap-switch-slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    top: 3px;
    background-color: #fff;
    border-radius: 50%;
    transition: transform 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.ap-switch input:checked + .ap-switch-slider {
    background-color: #d63638;
}

.ap-switch input:checked + .ap-switch-slider::before {
    transform: translateX(20px);
}

.ap-switch input:focus + .ap-switch-slider {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2271b1;
}

.ap-switch-label {
    font-size: 13px;
    font-weight: 500;
    min-width: 50px;
}

.ap-switch-label-on {
    display: none;
    color: #d63638;
}

.ap-switch-label-off {
    display: inline;
    color: #00a32a;
}

.ap-switch input:checked ~ .ap-switch-label-on {
    display: inline;
}

.ap-switch input:checked ~ .ap-switch-label-off {
    display: none;
}

/* Unsaved changes indicator */
.ap-unsaved-notice {
    display: inline-block;
    margin-right: 12px;
    padding: 4px 10px;
    background: #fcf0f1;
    border: 1px solid #d63638;
    border-radius: 4px;
    color: #d63638;
    font-size: 13px;
    font-weight: 500;
    animation: ap-fade-in 0.3s ease;
}

@keyframes ap-fade-in {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ap-btn-pulse {
    animation: ap-pulse 2s infinite;
}

@keyframes ap-pulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(34, 113, 177, 0.4);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(34, 113, 177, 0);
    }
}

/* Modal */
.ap-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ap-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
}

.ap-modal-content {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 24px 32px;
    max-width: 420px;
    width: 90%;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    animation: ap-modal-in 0.2s ease;
}

@keyframes ap-modal-in {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ap-modal-icon {
    margin-bottom: 16px;
}

.ap-modal-icon .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #dba617;
}

.ap-modal-content h3 {
    margin: 0 0 12px;
    font-size: 18px;
    color: #1d2327;
}

.ap-modal-content p {
    margin: 0 0 24px;
    color: #646970;
    font-size: 14px;
    line-height: 1.5;
}

.ap-modal-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.ap-modal-buttons .button {
    min-width: 120px;
}

/* ============================================
   HTTPS Redirect Module
   ============================================ */

.ap-important-notes {
    background: #fcf9e8;
    border: 1px solid #dba617;
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 24px;
}

.ap-important-notes h3 {
    margin: 0 0 10px;
    color: #614c00;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ap-important-notes h3::before {
    content: "\f227";
    font-family: dashicons;
    font-size: 18px;
    color: #dba617;
}

.ap-important-notes ul {
    list-style: disc;
    margin: 0 0 0 24px;
    padding: 0;
    color: #614c00;
    font-size: 13px;
}

.ap-important-notes li {
    margin-bottom: 6px;
}

.ap-important-notes li:last-child {
    margin-bottom: 0;
}

.ap-important-notes a {
    color: #614c00;
    font-weight: 500;
}

.ap-important-notes a:hover {
    color: #8b6c00;
}

/* ============================================
   SEO Manager Module
   ============================================ */

/* SEO Meta Box Styles */
.ap-seo-meta-box {
    padding: 15px 0;
}

.ap-seo-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #c3c4c7;
    margin-bottom: 20px;
}

.ap-seo-tab {
    padding: 10px 20px;
    cursor: pointer;
    border: 1px solid transparent;
    border-bottom: none;
    background: none;
    font-size: 13px;
    color: #50575e;
    margin-bottom: -1px;
}

.ap-seo-tab:hover {
    color: #2271b1;
}

.ap-seo-tab.active {
    background: #fff;
    border-color: #c3c4c7;
    border-bottom-color: #fff;
    color: #1d2327;
    font-weight: 500;
}

.ap-seo-tab-content {
    display: none;
}

.ap-seo-tab-content.active {
    display: block;
}

.ap-seo-meta-section {
    padding: 15px 0;
    border-bottom: 2px solid #e0e0e0;
}

.ap-seo-meta-section:first-child {
    padding-top: 0;
}

.ap-seo-meta-section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ap-seo-meta-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1d2327;
    margin: 0 0 10px 0;
    padding: 0;
}

.ap-seo-meta-section-title .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #2271b1;
}

.ap-seo-field {
    margin-bottom: 20px;
}

.ap-seo-field label {
    display: block;
    font-weight: 500;
    margin-bottom: 6px;
    color: #1d2327;
}

.ap-seo-field input[type="text"],
.ap-seo-field textarea {
    width: 100%;
}

.ap-seo-field textarea {
    min-height: 80px;
    resize: vertical;
}

.ap-seo-field .description {
    margin-top: 6px;
    color: #646970;
    font-size: 12px;
}

.ap-seo-char-count {
    float: right;
    font-size: 12px;
    color: #646970;
}

.ap-seo-char-count.warning {
    color: #dba617;
}

.ap-seo-char-count.error {
    color: #d63638;
}

.ap-seo-progress {
    height: 4px;
    background: #dcdcde;
    border-radius: 2px;
    margin-top: 6px;
    overflow: hidden;
}

.ap-seo-progress-bar {
    height: 100%;
    width: 0%;
    background: #00a32a;
    transition: width 0.2s, background 0.2s;
}

.ap-seo-preview {
    background: #f6f7f7;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    padding: 20px;
    margin-top: 20px;
}

.ap-seo-preview-header {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    align-items: center;
}

.ap-seo-preview-device {
    padding: 6px 12px;
    border: 1px solid #c3c4c7;
    background: #fff;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
}

.ap-seo-preview-device.active {
    background: #2271b1;
    color: #fff;
    border-color: #2271b1;
}

.ap-serp-preview {
    background: #fff;
    border-radius: 4px;
    font: 400 14px/1.58 arial, sans-serif;
    letter-spacing: normal;
    word-spacing: normal;
    box-sizing: border-box;
}

.ap-serp-preview.mobile {
    width: 375px;
    max-width: 375px;
    padding: 16px;
}

.ap-serp-preview.desktop {
    width: 640px;
    max-width: 640px;
    padding: 20px;
}

.ap-serp-title {
    color: #1a0dab;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0 0 4px;
}

.ap-serp-title:hover {
    text-decoration: underline;
}

.ap-serp-url {
    color: #202124;
    font-size: 14px;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.ap-serp-url-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #f1f3f4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ap-serp-url-text {
    color: #4d5156;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ap-serp-desc {
    color: #4d5156;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.58;
    cursor: pointer;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ap-serp-desc:hover {
    background: #f6f7f7;
    border-radius: 3px;
}

.ap-serp-site-name {
    font-size: 14px;
    color: #202124;
    line-height: 1.3;
}

.ap-serp-url-info {
    min-width: 0;
    overflow: hidden;
}

.ap-serp-preview.mobile .ap-serp-title {
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.ap-serp-preview.desktop .ap-serp-desc {
    -webkit-line-clamp: 2;
}

.ap-serp-preview.mobile .ap-serp-desc {
    -webkit-line-clamp: 3;
}

/* SERP date prefix */
.ap-serp-date {
    color: #70757a;
    font-size: 14px;
}

/* SERP body layout: description + thumbnail (mobile) */
.ap-serp-body {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.ap-serp-body .ap-serp-desc {
    flex: 1;
    min-width: 0;
}

/* SERP thumbnail (mobile only) */
.ap-serp-thumbnail {
    width: 104px;
    height: 104px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

/* Favicon img inside icon container */
.ap-serp-url-icon img {
    border-radius: 50%;
    width: 18px;
    height: 18px;
}

.ap-seo-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.ap-seo-checkbox input {
    margin: 0;
}

/* SEO Content List Styles */
#ap-seo-content-table td {
    vertical-align: middle;
}

.ap-seo-status-yes {
    color: #00a32a;
}

.ap-seo-status-no {
    color: #d63638;
}

.ap-seo-edit-inline {
    cursor: pointer;
    border-bottom: 1px dashed #2271b1;
}

.ap-seo-edit-inline:hover {
    color: #2271b1;
}

/* Tab Info Accordion (details/summary) */
.ap-tab-info {
    background: #f0f6fc;
    border: 1px solid #c3c4c7;
    border-left: 4px solid #2271b1;
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 0;
}

.ap-tab-info summary {
    padding: 10px 14px;
    cursor: pointer;
    font-size: 13px;
    color: #2271b1;
    font-weight: 500;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ap-tab-info summary::-webkit-details-marker {
    display: none;
}

.ap-tab-info summary .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
    transition: transform 0.2s;
}

.ap-tab-info[open] summary .dashicons-arrow-right-alt2 {
    transform: rotate(90deg);
}

.ap-tab-info .ap-tab-info-content {
    padding: 0 14px 12px;
    color: #50575e;
    font-size: 13px;
    line-height: 1.6;
    border-top: 1px solid #c3c4c7;
}

.ap-tab-info .ap-tab-info-content p {
    margin: 10px 0 0;
}

/* SEO Title Templates - Accordion & Variables */
.seo-title-field {
    margin-bottom: 20px;
}

.seo-title-field > label {
    display: block;
    margin-bottom: 6px;
}

.seo-title-accordion {
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    margin-bottom: 8px;
    background: #fff;
}

.seo-title-accordion-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}

.seo-title-accordion-header:hover {
    background: #f6f7f7;
}

.seo-title-accordion-header .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: #646970;
    transition: transform 0.2s;
    flex-shrink: 0;
}

.seo-title-accordion.open .seo-title-accordion-header .dashicons {
    transform: rotate(90deg);
}

.seo-title-accordion-header code {
    font-size: 11px;
    background: #f0f0f1;
    padding: 2px 6px;
    border-radius: 3px;
}

.seo-title-accordion-preview {
    margin-left: auto;
    color: #646970;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 40%;
    font-style: italic;
}

.seo-title-accordion-body {
    display: none;
    padding: 0 16px 16px;
    border-top: 1px solid #f0f0f1;
}

.seo-title-accordion.open .seo-title-accordion-body {
    display: block;
}

.seo-title-variables {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.seo-var-btn {
    display: inline-block;
    padding: 3px 10px;
    font-size: 12px;
    line-height: 1.4;
    background: #f0f0f1;
    border: 1px solid #c3c4c7;
    border-radius: 12px;
    cursor: pointer;
    color: #2271b1;
    transition: all 0.15s;
}

.seo-var-btn:hover {
    background: #e7f5fe;
    border-color: #2271b1;
}

.seo-var-btn:active {
    background: #d4edfc;
}

.seo-title-preview {
    margin-top: 8px;
    font-size: 12px;
    color: #646970;
    padding: 6px 10px;
    background: #f6f7f7;
    border-radius: 4px;
    border-left: 3px solid #2271b1;
}

.seo-title-preview span {
    color: #1d2327;
    font-weight: 500;
}

/* SEO Keywords Tags (Meta Box) */
.ap-seo-keywords-container {
    border: 1px solid #8c8f94;
    border-radius: 4px;
    background: #fff;
    padding: 8px;
    min-height: 42px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.ap-seo-keywords-container:focus-within {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
}

.ap-seo-keywords-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.ap-seo-keyword-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #2271b1;
    color: #fff;
    padding: 4px 8px 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
}

.ap-seo-keyword-remove {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    padding: 0 2px;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s;
}

.ap-seo-keyword-remove:hover {
    color: #fff;
}

.ap-seo-keywords-input {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    flex: 1;
    min-width: 150px;
    padding: 4px 0 !important;
    margin: 0 !important;
    font-size: 13px;
}

.ap-seo-keywords-input:focus {
    box-shadow: none !important;
}

/* Keywords display in Content Overview */
.ap-seo-keywords-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.ap-seo-keywords-list .ap-seo-keyword-badge {
    display: inline-block;
    background: #f0f0f1;
    color: #50575e;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    line-height: 1.4;
}

/* ============================================
   Post Types Order Module
   ============================================ */

.ap-pto-sortable-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ap-pto-sortable-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #dcdcde;
    border-bottom: none;
    cursor: default;
    transition: background 0.15s;
}

.ap-pto-sortable-list li:first-child {
    border-radius: 4px 4px 0 0;
}

.ap-pto-sortable-list li:last-child {
    border-bottom: 1px solid #dcdcde;
    border-radius: 0 0 4px 4px;
}

.ap-pto-sortable-list li:only-child {
    border-radius: 4px;
    border-bottom: 1px solid #dcdcde;
}

.ap-pto-sortable-list li:hover {
    background: #f6f7f7;
}

.ap-pto-handle {
    cursor: grab;
    color: #c3c4c7;
    font-size: 18px;
    flex-shrink: 0;
}

.ap-pto-handle:hover {
    color: #2271b1;
}

.ap-pto-order-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #f0f0f1;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #50575e;
    flex-shrink: 0;
}

.ap-pto-item-title {
    flex: 1;
    font-weight: 500;
    color: #1d2327;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ap-pto-item-meta {
    font-size: 12px;
    color: #646970;
    flex-shrink: 0;
}

.ap-pto-status-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
    flex-shrink: 0;
}

.ap-pto-status-publish {
    background: #edfaef;
    color: #00a32a;
}

.ap-pto-status-draft {
    background: #f0f0f1;
    color: #646970;
}

.ap-pto-status-pending {
    background: #fcf9e8;
    color: #996800;
}

.ap-pto-status-private {
    background: #e7f5ff;
    color: #2271b1;
}

.ap-pto-placeholder {
    border: 2px dashed #2271b1;
    background: #f0f6fc;
    height: 44px;
    margin: 0;
    list-style: none;
}

.ap-pto-sortable-list .ui-sortable-helper {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    border: 1px solid #2271b1;
}

/* Admin list table drag & drop */
.ap-pto-list-handle {
    cursor: grab;
    color: #c3c4c7;
    font-size: 16px;
    width: 16px;
    height: 16px;
    margin-right: 4px;
    vertical-align: middle;
    display: inline-block;
}

.ap-pto-list-handle:hover {
    color: #2271b1;
}

.ap-pto-list-placeholder {
    background: #f0f6fc !important;
    border: 2px dashed #2271b1 !important;
}

.ap-pto-list-placeholder td {
    border: none !important;
}

#the-list .ui-sortable-helper {
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

#the-list tr {
    cursor: default;
}

/* ============================================
   User Role Editor Module
   ============================================ */

/* Layout 2 colonnes */
.ap-ure-layout {
    display: flex;
    gap: 20px;
    min-height: 500px;
}

.ap-ure-sidebar {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    background: #f6f7f7;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
}

.ap-ure-sidebar-header {
    padding: 12px;
    border-bottom: 1px solid #c3c4c7;
}

.ap-ure-sidebar-header input {
    width: 100%;
}

.ap-ure-role-list {
    flex: 1;
    overflow-y: auto;
    max-height: 400px;
}

.ap-ure-role-item {
    padding: 10px 12px;
    cursor: pointer;
    border-bottom: 1px solid #e0e0e0;
    transition: background 0.15s;
}

.ap-ure-role-item:hover {
    background: #fff;
}

.ap-ure-role-item.active {
    background: #f0f6fc;
    border-left: 3px solid #2271b1;
    padding-left: 9px;
}

.ap-ure-role-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ap-ure-role-name {
    font-weight: 500;
    color: #1d2327;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ap-ure-role-name .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    color: #dba617;
}

.ap-ure-role-count {
    background: #e0e0e0;
    color: #50575e;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
}

.ap-ure-sidebar-actions {
    padding: 12px;
    border-top: 1px solid #c3c4c7;
    display: flex;
    gap: 8px;
}

.ap-ure-sidebar-actions .button {
    flex: 1;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.ap-ure-sidebar-actions .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Main editor panel */
.ap-ure-main {
    flex: 1;
    min-width: 0;
}

.ap-ure-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #646970;
    text-align: center;
    padding: 40px;
}

.ap-ure-placeholder .dashicons {
    font-size: 64px;
    width: 64px;
    height: 64px;
    color: #c3c4c7;
    margin-bottom: 16px;
}

.ap-ure-editor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #c3c4c7;
}

.ap-ure-editor-header h3 {
    margin: 0;
    font-size: 16px;
}

.ap-ure-editor-actions {
    display: flex;
    gap: 8px;
}

.ap-ure-editor-actions .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
    margin-right: 2px;
}

.ap-btn-danger {
    color: #d63638 !important;
    border-color: #d63638 !important;
}

.ap-btn-danger:hover {
    background: #fcf0f1 !important;
}

.ap-ure-caps-toolbar {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    align-items: center;
}

#ap-ure-cap-search {
    flex: 1;
    max-width: 300px;
}

/* Save notice near button */
.ap-ure-save-notice {
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 12px;
    font-size: 13px;
}

.ap-ure-save-notice.success {
    background: #d1e7dd;
    color: #0f5132;
    border: 1px solid #badbcc;
}

.ap-ure-save-notice.error {
    background: #f8d7da;
    color: #842029;
    border: 1px solid #f5c2c7;
}

/* Capability groups */
.ap-ure-cap-group {
    margin-bottom: 16px;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    overflow: hidden;
}

.ap-ure-cap-group-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: #f6f7f7;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}

.ap-ure-cap-group-header:hover {
    background: #f0f0f1;
}

.ap-ure-group-toggle {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: #646970;
}

.ap-ure-group-count {
    margin-left: auto;
    background: #2271b1;
    color: #fff;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
}

.ap-ure-cap-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 4px;
    padding: 12px;
    background: #fff;
}

.ap-ure-cap-group.collapsed .ap-ure-cap-list {
    display: none;
}

.ap-ure-cap-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 3px;
    cursor: pointer;
    font-size: 13px;
}

.ap-ure-cap-item:hover {
    background: #f6f7f7;
}

.ap-ure-cap-item input {
    margin: 0;
}

.ap-ure-cap-name {
    color: #1d2327;
    word-break: break-all;
}

/* Capability label display modes */
.ap-ure-cap-label {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1.3;
}

.ap-ure-cap-friendly {
    color: #1d2327;
    font-weight: 500;
}

.ap-ure-cap-technical {
    color: #646970;
    font-size: 11px;
    font-family: monospace;
}

/* When only technical name is shown */
.ap-ure-cap-item[data-label-mode="technical"] .ap-ure-cap-technical {
    font-size: 13px;
    font-family: inherit;
    color: #1d2327;
}

/* When only friendly name is shown */
.ap-ure-cap-item[data-label-mode="friendly"] .ap-ure-cap-friendly {
    font-weight: 400;
}

/* Adjust grid for wider items when both labels shown */
.ap-ure-cap-item[data-label-mode="both"] {
    padding: 6px 8px;
}

.ap-ure-editor-footer {
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid #c3c4c7;
}

.ap-ure-editor-footer .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
    margin-right: 4px;
}

/* Users tab */
.ap-ure-users-header {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.ap-ure-users-header input {
    flex: 1;
    max-width: 300px;
}

/* Import/Export tab */
.ap-ure-import-export-grid {
    display: grid;
    gap: 24px;
}

.ap-ure-section {
    padding: 20px;
    background: #f6f7f7;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
}

.ap-ure-section h3 {
    margin: 0 0 8px;
    font-size: 14px;
}

.ap-ure-section .description {
    margin: 0 0 16px;
}

.ap-ure-section-danger {
    background: #fcf0f1;
    border-color: #d63638;
}

.ap-ure-import-options {
    margin-bottom: 16px;
}

.ap-ure-import-options p {
    margin: 8px 0;
}

/* Custom capabilities tags */
.ap-ure-custom-cap-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #2271b1;
    color: #fff;
    padding: 4px 8px 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    margin: 4px 4px 4px 0;
}

.ap-ure-custom-cap-tag button {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0 2px;
}

.ap-ure-custom-cap-tag button:hover {
    color: #fff;
}

/* User caps modal */
.ap-ure-user-cap-group {
    margin-bottom: 16px;
}

.ap-ure-user-cap-group h4 {
    margin: 0 0 8px;
    padding: 8px;
    background: #f6f7f7;
    border-radius: 4px;
    font-size: 13px;
}

.ap-ure-user-cap-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 4px;
    padding: 0 8px;
}

.ap-ure-cap-from-role {
    opacity: 0.5;
}

/* Responsive */
@media (max-width: 900px) {
    .ap-ure-layout {
        flex-direction: column;
    }

    .ap-ure-sidebar {
        width: 100%;
    }

    .ap-ure-role-list {
        max-height: 200px;
    }
}

/* ===========================
   Backup - Log Terminal
   =========================== */
.ap-backup-log-terminal {
    background: #1d2327;
    color: #c3c4c7;
    font-family: Menlo, Consolas, "Courier New", monospace;
    font-size: 12px;
    line-height: 1.6;
    max-height: 200px;
    overflow-y: auto;
    padding: 12px 16px;
    border-radius: 4px;
    border: 1px solid #3c434a;
}

.ap-log-line {
    white-space: pre-wrap;
    word-break: break-all;
}

.ap-log-error {
    color: #d63638;
}

.ap-log-warning {
    color: #dba617;
}

.ap-log-success {
    color: #00a32a;
}

.ap-log-info {
    color: #c3c4c7;
}

/* ============================================
   Mini Progress Bar (imports, SEO edit)
   ============================================ */
.ap-mini-progress-bar { background: #e5e7eb; border-radius: 4px; height: 8px; overflow: hidden; }
.ap-mini-progress-fill { height: 100%; background: #2271b1; width: 0%; transition: width 0.3s; }

/* Character progress bar (SEO edit modal) */
.ap-char-progress { height: 4px; background: #dcdcde; border-radius: 2px; margin-top: 6px; overflow: hidden; }
.ap-char-progress-fill { height: 100%; width: 0%; background: #00a32a; transition: width 0.2s, background 0.2s; }

/* ============================================
   Domain Changer - Step Wizard
   ============================================ */
.ap-domain-step { margin-bottom: 24px; padding: 20px; background: #f9fafb; border-radius: 8px; }
.ap-domain-step h3 { margin-top: 0; display: flex; align-items: center; gap: 10px; }
.ap-step-number { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #2271b1; color: #fff; border-radius: 50%; font-size: 14px; flex-shrink: 0; }

/* ============================================
   Shared Module Layout Components
   ============================================ */

/* SERP side-by-side preview container */
.ap-serp-previews-container { display: flex; gap: 20px; flex-wrap: wrap; }
.ap-serp-preview-col { flex: 0 0 auto; }
.ap-serp-device-label { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; color: #646970; font-size: 12px; }

/* Recovery URL box */
.ap-fer-recovery-url { margin: 20px 0; padding: 15px; background: #f0f6fc; border: 1px solid #72aee6; border-radius: 4px; }

/* Import sources list */
.ap-import-sources { margin-bottom: 30px; }

/* Import source card layout */
.ap-import-source-layout { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.ap-import-source-info { flex: 1; }
.ap-import-source-actions { text-align: right; }
.ap-import-source-title { margin: 0 0 10px; font-size: 16px; }

/* SMTP import preview table */
.smtp-import-preview { width: 100%; font-size: 13px; }
.smtp-import-preview td { padding: 3px 0; }
.smtp-import-preview td:first-child { padding-right: 10px; color: #646970; width: 120px; }

/* Sitemaps list */
.ap-sitemaps-list { background: #fff; border: 1px solid #dcdcde; border-radius: 4px; overflow: hidden; }
.ap-sitemap-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 15px; border-bottom: 1px solid #f0f0f1; }
.ap-sitemap-item:last-child { border-bottom: none; }
.ap-sitemap-item-info { display: flex; align-items: center; gap: 10px; }

/* Upload queue */
.ap-upload-queue { margin-top: 20px; }
.ap-upload-queue h4 { margin: 0 0 10px; }

/* Regen/Cleanup options and controls */
.ap-regen-options { margin-top: 25px; }
.ap-regen-controls { margin-top: 25px; }
.ap-cleanup-options { margin-top: 20px; }

/* Pre-update backup options */
.ap-pre-update-options { /* JS toggle container, no special styles needed */ }

/* Domain preview box */
.ap-domain-preview { margin-bottom: 24px; padding: 20px; background: #fff8e5; border: 1px solid #dba617; border-radius: 8px; }
.ap-domain-preview h3 { margin-top: 0; color: #8c6900; }

/* Backup progress box */
.ap-backup-progress-box { background: #f0f6fc; border: 1px solid #2271b1; border-radius: 6px; padding: 16px 20px; }
.ap-backup-progress-inner { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }

/* Backup row currently being created (lives inside #ap-backups-table tbody) */
.ap-backup-in-progress td { background: #f0f6fc; vertical-align: middle; }
.ap-backup-in-progress .ap-backup-progress-row-inner { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
.ap-backup-in-progress .ap-backup-progress-status { font-weight: 600; }
.ap-backup-in-progress .ap-backup-progress-percent { color: #2271b1; font-variant-numeric: tabular-nums; }

/* Restore domain option box */
.ap-restore-domain-option { margin-bottom: 20px; padding: 15px; background: #fff8e5; border-left: 4px solid #dba617; border-radius: 4px; }

/* Restore progress box */
.ap-restore-progress-box { background: #f0f6fc; border: 1px solid #2271b1; border-radius: 4px; padding: 12px; }

/* Backup card icon color variants */
.ap-backup-card-icon-db { background: #e7f5fe; }
.ap-backup-card-icon-db .dashicons { color: #2271b1; }
.ap-backup-card-icon-plugins { background: #fce8e9; }
.ap-backup-card-icon-plugins .dashicons { color: #d63638; }
.ap-backup-card-icon-themes { background: #e5f5e7; }
.ap-backup-card-icon-themes .dashicons { color: #00a32a; }
.ap-backup-card-icon-uploads { background: #fef6e7; }
.ap-backup-card-icon-uploads .dashicons { color: #dba617; }
.ap-backup-card-icon-content { background: #f0f0f1; }
.ap-backup-card-icon-content .dashicons { color: #646970; }
.ap-backup-card-icon-core { background: #e7f2fa; }
.ap-backup-card-icon-core .dashicons { color: #0073aa; }

/* Warning text (description with danger color) */
.ap-desc-danger { color: #d63638; }
.ap-desc-danger-bold { color: #d63638; font-weight: 500; }

/* Pagination centered */
.ap-pagination { margin-top: 15px; text-align: center; }

/* Table column widths */
.ap-col-checkbox { width: 35px; text-align: center; }
.ap-col-actions-sm { width: 100px; }
.ap-col-actions-md { width: 160px; }
.ap-col-actions-lg { width: 200px; }
.ap-col-actions-xl { width: 260px; }

/* Backup file detail styles */
.ap-backup-file-prefix { font-size: 12px; }
.ap-backup-file-meta { font-size: 11px; color: #646970; margin-top: 3px; }

/* Backup delete button */
.ap-btn-text-danger { color: #d63638; }

/* Backup restore modal */
.ap-restore-confirm-btn { background: #d63638; border-color: #d63638; }

/* Backup log modal (dark theme) */
#ap-backup-log-modal .ap-db-modal-content { max-width: 700px; background: #1e1e1e; color: #e0e0e0; padding: 20px; display: flex; flex-direction: column; }
#ap-backup-log-modal .ap-db-modal-header { margin-bottom: 12px; }
#ap-backup-log-modal .ap-db-modal-header h3 { color: #e0e0e0; }
#ap-backup-log-modal .ap-db-modal-close { background: #333; color: #e0e0e0; border-color: #555; }
#ap-backup-log-modal .ap-backup-log-terminal { flex: 1; overflow-y: auto; max-height: 60vh; }

/* SEO edit modal */
#ap-seo-edit-modal .ap-db-modal-content { max-width: 860px; max-height: 90vh; overflow-y: auto; padding: 30px; }

/* Restore modal */
#ap-restore-modal .ap-db-modal-content { max-width: 500px; padding: 30px; }

/* Maintenance admin bar badge */
.ap-admin-bar-badge { background: #d63638; color: #fff; padding: 0 8px; border-radius: 3px; font-size: 12px; }

/* Post Types Order header layout */
.ap-pto-header { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; flex-wrap: wrap; }

/* Input width utility (for specific fields like login slugs) */
.ap-input-200 { width: 200px; }

/* Number input small */
.ap-input-60 { width: 60px; }

/* Schema JSON-LD textarea (metabox) */
.ap-schema-json-textarea {
    width: 100%;
    min-height: 120px;
    font-family: monospace;
    font-size: 12px;
    tab-size: 2;
    white-space: pre;
    resize: vertical;
}

.ap-schema-json-status {
    margin-top: 5px;
    font-size: 12px;
}

.ap-schema-json-status.valid {
    color: #00a32a;
}

.ap-schema-json-status.invalid {
    color: #d63638;
}

.ap-seo-faq-detected {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    margin-bottom: 15px;
    background: #edf7ed;
    border: 1px solid #c3e6cb;
    border-radius: 4px;
    color: #1e4620;
    font-size: 13px;
}

.ap-seo-faq-detected .dashicons {
    color: #00a32a;
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.ap-schema-preview-block {
    margin-bottom: 10px;
}

.ap-schema-preview-block:last-child {
    margin-bottom: 0;
}

.ap-schema-preview-label {
    font-size: 12px;
    font-weight: 600;
    color: #2271b1;
    margin-bottom: 4px;
}

.ap-schema-preview-json {
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    padding: 10px 12px;
    font-family: monospace;
    font-size: 11px;
    line-height: 1.5;
    max-height: 200px;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
    color: #1d2327;
}

/* ============================================
   Key Takeaways - Metabox
   ============================================ */

.ap-key-takeaway-item {
    display: flex;
    gap: 6px;
    margin-bottom: 6px;
    align-items: center;
}

.ap-key-takeaway-item input[type="text"] {
    flex: 1;
}

.ap-key-takeaway-item .ap-key-takeaway-remove {
    min-width: 30px;
    padding: 0;
    font-size: 18px;
    line-height: 28px;
    color: #d63638;
    cursor: pointer;
}

/* ============================================
   Key Takeaways - Frontend
   ============================================ */

.blaminhor-key-takeaways {
    background: #f0f7ff;
    border-left: 4px solid #2271b1;
    border-radius: 4px;
    padding: 16px 20px;
    margin-bottom: 24px;
}

.blaminhor-key-takeaways-title {
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 10px;
    color: #1d2327;
}

.blaminhor-key-takeaways ul {
    margin: 0;
    padding-left: 20px;
}

.blaminhor-key-takeaways li {
    margin-bottom: 4px;
    line-height: 1.6;
}

/* ============================================
   Table of Contents - Frontend
   ============================================ */

.blaminhor-toc {
    background: #f8f9fa;
    border: 1px solid #dcdcde;
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 24px;
    max-width: 600px;
}

.blaminhor-toc-title {
    font-weight: 700;
    font-size: 15px;
    margin: 0 0 10px;
    color: #1d2327;
}

.blaminhor-toc-list {
    margin: 0;
    padding-left: 22px;
}

.blaminhor-toc-list ol,
.blaminhor-toc-list ul {
    padding-left: 18px;
    margin: 2px 0;
}

.blaminhor-toc-list li {
    margin-bottom: 3px;
    line-height: 1.5;
}

.blaminhor-toc-list a {
    text-decoration: none;
    color: #2271b1;
}

.blaminhor-toc-list a:hover {
    text-decoration: underline;
}

.blaminhor-toc-plain {
    list-style: none;
    padding-left: 0;
}

/* ============================================
   GEO Score - Metabox
   ============================================ */

.ap-score-loading {
    color: #646970;
    font-style: italic;
    padding: 10px 0;
}

.ap-score-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.ap-score-value {
    font-size: 22px;
    font-weight: 700;
    white-space: nowrap;
}

.ap-score-bar {
    flex: 1;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.ap-score-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease;
}

.ap-score-section {
    margin-bottom: 12px;
    padding: 10px 12px;
    background: #f8f9fa;
    border-radius: 4px;
}

.ap-score-section-header {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 6px;
    color: #1d2327;
}

.ap-score-section-pts {
    color: #646970;
    font-weight: 400;
}

.ap-score-item {
    font-size: 12px;
    line-height: 1.8;
    color: #3c434a;
}

.ap-score-source {
    color: #a7aaad;
    text-decoration: none;
    vertical-align: middle;
}

.ap-score-source:hover {
    color: #2271b1;
}

.ap-score-source .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
    line-height: 12px;
}

.ap-score-pass {
    color: #00a32a;
    font-weight: 700;
    margin-right: 4px;
}

.ap-score-fail {
    color: #d63638;
    font-weight: 700;
    margin-right: 4px;
}

.ap-score-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
    background: #f0f6fc;
    border: 1px solid #c3c4c7;
    border-left: 4px solid #2271b1;
    border-radius: 4px;
    padding: 10px 14px;
}

.ap-score-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #2271b1;
    text-decoration: none;
    cursor: pointer;
}

.ap-score-toggle:hover {
    color: #135e96;
}

.ap-score-toggle .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
    transition: transform 0.2s;
}

.ap-score-toggle .dashicons.ap-rotated {
    transform: rotate(90deg);
}

.ap-score-refresh-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #646970;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.ap-score-refresh-btn:hover {
    color: #2271b1;
}

.ap-score-refresh-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
}

.ap-score-refresh-btn.ap-spinning .dashicons {
    animation: ap-spin 1s linear infinite;
}

@keyframes ap-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.ap-score-details {
    display: none;
    margin-top: 12px;
}

.ap-score-note {
    margin: 12px 0 0;
    padding: 8px 0 0;
    border-top: 1px solid #e0e0e0;
    font-size: 11px;
    font-style: italic;
    color: #787c82;
    line-height: 1.5;
}

/* -------------------------------------------------------------------- */
/*  Cache module — Preload status banner                                 */
/* -------------------------------------------------------------------- */
.be-preload-banner {
    background: #fff;
    border: 1px solid #c3c4c7;
    border-left: 4px solid #2271b1;
    border-radius: var(--ap-border-radius, 4px);
    box-shadow: var(--ap-shadow, 0 1px 1px rgba(0, 0, 0, .04));
    margin: 12px 0 18px;
    padding: 12px 14px;
}
.be-preload-banner-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.be-preload-banner-icon {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2271b1;
    box-shadow: 0 0 0 3px rgba(34, 113, 177, .15);
}
.be-preload-banner-text {
    flex: 1;
    min-width: 0;
}
.be-preload-banner-title {
    display: block;
    font-size: 13px;
    line-height: 1.4;
}
.be-preload-banner-meta {
    display: block;
    font-size: 12px;
    color: #50575e;
    margin-top: 2px;
}
.be-preload-banner-toggle {
    flex: 0 0 auto;
    text-decoration: none;
    font-size: 12px;
}
.be-preload-banner-toggle-hide,
.be-preload-banner.be-preload-banner-collapsed .be-preload-banner-toggle-show {
    display: inline;
}
.be-preload-banner-toggle-show,
.be-preload-banner.be-preload-banner-collapsed .be-preload-banner-toggle-hide {
    display: none;
}
.be-preload-banner-progress {
    margin-top: 10px;
    height: 4px;
    background: #f0f0f1;
    border-radius: 2px;
    overflow: hidden;
}
.be-preload-banner-progress-bar {
    height: 100%;
    background: #2271b1;
    transition: width .3s ease;
}
.be-preload-banner-details {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f1;
}
.be-preload-banner-details .description {
    margin: 0;
}
.be-preload-banner.be-preload-banner-collapsed .be-preload-banner-details {
    display: none;
}
/* "Off" state — softer accent, not a warning. */
.be-preload-banner[data-progress="0"] {
    border-left-color: #8c8f94;
}
.be-preload-banner[data-progress="0"] .be-preload-banner-icon {
    background: #8c8f94;
    box-shadow: 0 0 0 3px rgba(140, 143, 148, .15);
}
.be-preload-banner[data-progress="0"] .be-preload-banner-progress-bar {
    background: #8c8f94;
}

/* -------------------------------------------------------------------- */
/*  Cache module — Cached pages table (Preload tab)                      */
/* -------------------------------------------------------------------- */
.be-cached-pages {
    margin-top: 24px;
}
.be-cached-pages-header {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.be-cached-pages-header h3 {
    margin: 0;
}
.be-cached-pages-search {
    flex: 1 1 220px;
    max-width: 320px;
}
.be-cached-pages-count {
    font-size: 12px;
    color: #50575e;
    margin: 0 0 6px;
}
.be-cached-pages-pager {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}
.be-cached-pages-position {
    font-size: 12px;
    color: #50575e;
}
.be-cached-pages-empty {
    text-align: center;
    color: #787c82;
    padding: 20px !important;
}
.be-cached-pages-kind {
    display: inline-block;
    padding: 1px 6px;
    margin-left: 6px;
    border-radius: 2px;
    font-size: 10px;
    text-transform: uppercase;
    background: #f0f0f1;
    color: #50575e;
    vertical-align: middle;
}

/* -------------------------------------------------------------------- */
/*  Critical CSS — error cells                                           */
/* -------------------------------------------------------------------- */
.be-critical-cell-error {
    color: #8a1c22;
    font-style: normal;
    cursor: help;
}
.be-critical-cell-error::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 6px;
    border-radius: 50%;
    background: #d63638;
    vertical-align: middle;
    opacity: .7;
}

/* Color fields (cookies/favicon/maintenance) — native picker + hex text */
.blaminhor-essentials-color-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}
.blaminhor-essentials-color-row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.blaminhor-essentials-color-label {
    display: contents;
    margin: 0;
}
.blaminhor-essentials-color-label-text {
    min-width: 140px;
    color: #1d2327;
    font-size: 13px;
}
.blaminhor-essentials-color-control {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.blaminhor-essentials-color-swatch {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    background: none;
    cursor: pointer;
    vertical-align: middle;
}
.blaminhor-essentials-color-swatch::-webkit-color-swatch-wrapper { padding: 2px; }
.blaminhor-essentials-color-swatch::-webkit-color-swatch { border: none; border-radius: 3px; }
.blaminhor-essentials-color-swatch::-moz-color-swatch { border: none; border-radius: 3px; }
.blaminhor-essentials-color-hex {
    width: 90px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    text-transform: uppercase;
    padding: 3px 6px;
}
.blaminhor-essentials-color-hex-invalid {
    border-color: #d63638 !important;
    box-shadow: 0 0 0 1px #d63638;
}

/* Cookies — services list (Pre-configured services tab) */
.blaminhor-essentials-services-list h3 {
    margin: 18px 0 6px;
    font-size: 14px;
}
.blaminhor-essentials-services-list h3:first-child {
    margin-top: 6px;
}
.blaminhor-essentials-services-table .check-column {
    width: 32px;
    text-align: center;
    padding: 8px 0;
}
.blaminhor-essentials-services-table .check-column input[type="checkbox"] {
    margin: 0;
}
.blaminhor-essentials-services-table thead .check-column {
    border-bottom: 1px solid #c3c4c7;
}

/* Maintenance module: image selector + admin bar badge + danger description. */
.ap-image-selector {
    display: flex;
    align-items: center;
    gap: 15px;
}
.ap-image-preview {
    width: 100px;
    height: 100px;
    border: 2px dashed var(--ap-gray-200);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ap-gray-50);
    overflow: hidden;
}
.ap-image-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.ap-no-image .dashicons {
    font-size: 40px;
    width: 40px;
    height: 40px;
    color: var(--ap-gray-400);
}
.ap-desc-danger-bold {
    color: var(--ap-danger);
    font-weight: 500;
}
.ap-admin-bar-badge {
    background: var(--ap-danger);
    color: #fff;
    padding: 0 8px;
    border-radius: 3px;
    font-size: 12px;
}
.ap-label-block {
    display: block;
    margin-bottom: 6px;
}

/* ------------------------------------------------------------------ */
/*  Advanced > WP-CLI tab: per-module command cards with Copy button. */
/* ------------------------------------------------------------------ */
.be-cli-module {
    margin: 0 0 6px;
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: var(--ap-border-radius);
    box-shadow: var(--ap-shadow);
    overflow: hidden;
}
.be-cli-module-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--ap-gray-900);
    list-style: none;
    user-select: none;
}
.be-cli-module-summary::-webkit-details-marker {
    display: none;
}
.be-cli-module-summary:hover {
    background: var(--ap-gray-50);
}
.be-cli-module-summary .dashicons-arrow-right-alt2 {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
    color: var(--ap-gray-600);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.be-cli-module[open] > .be-cli-module-summary .dashicons-arrow-right-alt2 {
    transform: rotate(90deg);
}
.be-cli-module-name {
    flex-shrink: 0;
}
.be-cli-module-id {
    font-size: 11px;
    color: var(--ap-gray-600);
    background: var(--ap-gray-50);
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 400;
}
.be-cli-module-count {
    margin-left: auto;
    font-size: 11px;
    font-weight: 400;
    color: var(--ap-gray-600);
}
.be-cli-commands {
    list-style: none;
    margin: 0;
    padding: 10px 12px 12px;
    display: grid;
    gap: 8px;
    border-top: 1px solid var(--ap-gray-200);
    background: var(--ap-gray-50);
}
.be-cli-command {
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: var(--ap-border-radius);
    padding: 10px 12px;
    box-shadow: var(--ap-shadow);
}
.be-cli-command-head {
    margin: 0 0 4px;
}
.be-cli-command-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--ap-gray-900);
    background: transparent;
    padding: 0;
}
.be-cli-command-desc {
    margin: 0 0 8px;
    font-size: 12px;
    color: var(--ap-gray-600);
    line-height: 1.45;
}
.be-cli-command-example {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--ap-gray-50);
    border: 1px solid var(--ap-gray-200);
    border-radius: 3px;
    padding: 6px 8px;
}
.be-cli-snippet {
    flex: 1;
    overflow-x: auto;
    white-space: nowrap;
    font-size: 12px;
    color: var(--ap-gray-900);
    background: transparent;
    padding: 0;
}
.be-cli-copy {
    flex-shrink: 0;
}
