:root{
  --panel-border-color:#ddd;--panel-bg-light:#f0f0f1;--panel-bg-white:#fff;--panel-primary-color:#0073aa;
  --panel-btn-call:#0073aa;--panel-btn-email:#d9534f;--panel-btn-whatsapp:#25D366;--panel-btn-details:#6c6f7b;
}
.panel-autor-container{display:flex;border:1px solid var(--panel-border-color);min-height:700px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;background:var(--panel-bg-white)}
.panel-autor-sidebar{width:20%;min-width:160px;background:var(--panel-bg-light);border-right:1px solid var(--panel-border-color);flex-shrink:0}
.panel-autor-sidebar ul{list-style:none;margin:0;padding:0}
.panel-autor-sidebar li{padding:15px 20px;cursor:pointer;border-bottom:1px solid var(--panel-border-color);font-size:15px;color:#333}
.panel-autor-sidebar li:hover{background:#e0e0e1}
.panel-autor-sidebar li.pa-tab-active{background:var(--panel-bg-white);font-weight:600;color:#000;border-right:4px solid var(--panel-primary-color);position:relative;right:-1px}
.panel-autor-content{width:80%;padding:20px 30px;overflow-x:auto;flex-grow:1}
.pa-tab-content{display:none}
.pa-tab-content.pa-tab-active{display:block}

.pa-main-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--panel-bg-light);padding-bottom:10px;margin-bottom:25px}
.pa-main-header h2{margin:0;padding:0;font-size:24px}
.pa-user-menu{position:relative;cursor:pointer;font-size:14px}
.pa-user-name{font-weight:500;color:#333;padding:8px;border-radius:4px}
.pa-user-name:hover{background-color:var(--panel-bg-light)}
.pa-user-dropdown{display:none;position:absolute;top:100%;right:0;background:var(--panel-bg-white);border:1px solid var(--panel-border-color);border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.1);min-width:140px;z-index:1000}
.pa-user-menu:hover .pa-user-dropdown{display:block}
.pa-user-dropdown a{display:block;padding:10px 15px;text-decoration:none;color:#333;font-size:14px}
.pa-user-dropdown a:hover{background-color:var(--panel-bg-light)}

.pa-filter-form{margin-bottom:20px;padding:15px;background:var(--panel-bg-light);border-radius:4px}
.pa-filter-form label{font-weight:600;margin-right:10px}
.pa-usuarios-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:13px}
.pa-usuarios-table th,.pa-usuarios-table td{border:1px solid var(--panel-border-color);padding:9px;text-align:left}
.pa-usuarios-table th{background-color:#f9f9f9}
.pa-usuarios-table td:last-child{white-space:nowrap}

.pa-btn-action{display:inline-block;padding:5px 10px;text-decoration:none;border-radius:3px;color:#fff !important;margin-right:5px;font-size:12px;text-align:center}
.pa-btn-call{background:var(--panel-btn-call)}
.pa-btn-email{background:var(--panel-btn-email)}
.pa-btn-whatsapp{background:var(--panel-btn-whatsapp)}
.pa-btn-details{background:var(--panel-btn-details);color:#fff !important}

#pa-stats-selector{padding:8px;margin:10px 0;font-size:14px}
.pa-chart-container{position:relative;width:90%;max-width:700px;margin-top:20px;min-height:350px}
.pa-summary-list{list-style:square;padding-left:20px}
.pa-summary-list li{margin-bottom:8px}

/* Dropdown de detalles */
.pa-details-wrap{position:relative;display:inline-block}
.pa-details{display:none;position:absolute;right:0;top:30px;min-width:320px;max-width:460px;max-height:380px;overflow:auto;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.12);padding:12px;z-index:2000}
.pa-details h4{margin:0 0 8px 0;font-size:14px}
.pa-details .pa-meta-item{font-size:12px;border-bottom:1px dashed #eee;padding:6px 0}
.pa-details .pa-meta-key{font-weight:600;color:#333}
.pa-details .pa-meta-val{color:#222;word-break:break-word}
.pa-details .pa-empty{color:#888;font-style:italic}
.pa-details .pa-close{position:absolute;top:6px;right:8px;cursor:pointer;font-size:16px;line-height:1}

/* Mis Productos (embeds) */
.pa-embed-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}
.pa-embed-table th,.pa-embed-table td{border:1px solid var(--panel-border-color);padding:10px;vertical-align:top}
.pa-embed-code{width:100%;min-height:80px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.pa-copy-btn{display:inline-block;padding:6px 10px;border-radius:4px;background:#0073aa;color:#fff !important;text-decoration:none;cursor:pointer;border:none}
.pa-copy-btn:active{transform:scale(.98)}

/* Mensaje de redirección (rol no autorizado) */
.pa-redirect-message{ text-align:center;padding:40px;border:1px solid #ddd;background:#f9f9f9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;border-radius:5px;margin:20px 0}
.pa-redirect-message h3{ color:#d9534f;margin-top:0}


/**
 * ========================================================================
 * INICIO: ESTILOS DEL MARKETPLACE DE TESTS
 * ========================================================================
 */

.marketplace-grid {
    display: grid;
    /* Crea columnas responsivas: 
       - Intentarán medir 300px
       - Crecerán hasta llenar el espacio (1fr)
       - Se ajustarán automáticamente */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px; /* Espacio entre tarjetas */
    margin-top: 20px;
}

.marketplace-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    overflow: hidden; /* Asegura que la imagen no se salga de los bordes redondeados */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column; /* Apila imagen y contenido verticalmente */
}

.marketplace-card:hover {
    transform: translateY(-5px); /* Efecto "lift" al pasar el mouse */
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.marketplace-card img {
    width: 100%;
    height: 180px; /* Altura fija para la imagen */
    object-fit: cover; /* Asegura que la imagen cubra el espacio sin deformarse */
    border-bottom: 1px solid #eee;
}

/* Contenedor para el texto y el botón */
.marketplace-card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Hace que el contenido ocupe el espacio restante */
}

.marketplace-card h2 {
    font-size: 1.4em;
    color: #1d2327; /* Color de título estándar de WP */
    margin: 0 0 10px 0;
    padding: 0;
    line-height: 1.3;
}

.marketplace-card .description {
    font-size: 0.95em;
    color: #555;
    line-height: 1.5;
    margin-bottom: 15px;
    flex-grow: 1; /* Empuja el precio y el botón hacia abajo */
}

.marketplace-card .price {
    font-size: 1.1em;
    font-weight: 600;
    color: #4CAF50; /* Verde para el precio */
    margin: 0 0 20px 0;
}

/* Estilo para el botón de solicitar (usa clases de WP) */
.solicitar-test-btn.button.button-primary {
    width: 100%;
    box-sizing: border-box; /* Asegura que el padding no rompa el ancho */
    font-size: 1em;
    padding: 10px 0;
    height: auto;
    text-align: center;
}

/* Estilo para el botón cuando está cargando */
.solicitar-test-btn:disabled {
    background-color: #f6f7f7 !important;
    color: #787c82 !important;
    border-color: #dcdcde !important;
    cursor: wait !important;
}

/* Mensaje "Solicitado" que aparece */
.solicitado-msg {
    display: block; /* Ocupa el espacio del botón */
    text-align: center;
    background-color: #d4edda; /* Verde claro de éxito */
    color: #155724; /* Verde oscuro de éxito */
    padding: 10px;
    border: 1px solid #c3e6cb;
    border-radius: 4px;
    font-weight: 600;
    font-size: 1em;
    box-sizing: border-box;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

/**
 * ========================================================================
 * FIN: ESTILOS DEL MARKETPLACE DE TESTS
 * ========================================================================
 */

/**
 * ========================================================================
 * INICIO: ESTILOS PARA ACORDEÓN DE TUTORIALES
 * ========================================================================
 */
.pa-accordion-container {
    /* max-width: 800px; */ /* <-- Eliminado para ancho completo */
}
.pa-accordion-item {
    border: 1px solid var(--panel-border-color);
    border-radius: 4px;
    margin-bottom: 10px;
    overflow: hidden; /* Para los bordes redondeados */
}
.pa-accordion-title {
    background-color: var(--panel-bg-light);
    border: none;
    padding: 15px 20px;
    width: 100%;
    text-align: left;
    font-size: 1.1em;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    color: #333;
    transition: background-color 0.2s;
}
.pa-accordion-title:hover {
    background-color: #e0e0e1;
}
.pa-accordion-title::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
    font-weight: bold;
    color: var(--panel-primary-color);
}
.pa-accordion-title.active::after {
    content: '−';
}
.pa-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    background: var(--panel-bg-white);
}
/* Estilos para el contenido dentro del acordeón */
.pa-accordion-content-inner {
    padding: 20px;
    border-top: 1px solid var(--panel-border-color);
    line-height: 1.6;
}
.pa-accordion-content-inner p:first-child {
    margin-top: 0;
}
.pa-accordion-content-inner p:last-child {
    margin-bottom: 0;
}
/* Estilos para "En construcción" */
.pa-construction-notice {
    text-align: center;
    padding: 60px 30px;
    background: var(--panel-bg-light);
    border-radius: 5px;
    border: 2px dashed var(--panel-border-color);
    font-size: 1.3em;
    color: #555;
    font-weight: 500;
}
/**
 * ========================================================================
 * FIN: ESTILOS PARA ACORDEÓN DE TUTORIALES
 * ========================================================================
 */

/**
 * ========================================================================
 * INICIO: ESTILOS PARA TAB CONTACTABILIDAD (NUEVO)
 * ========================================================================
 */
 
/* Wrapper del formulario con estilo postbox */
.pa-contact-form-wrapper .postbox {
    background: #fff;
    border: 1px solid #ccd0d4;
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
    /* max-width: 800px; */ /* <-- Eliminado */
}
.pa-contact-form-wrapper h2.hndle {
    font-size: 1.2em;
    padding: 12px 20px;
    margin: 0;
    border-bottom: 1px solid #ccd0d4;
    font-weight: 600;
}
.pa-contact-form-wrapper .inside {
    padding: 20px;
}

/* Tabla de formulario estilo WP */
.pa-contact-form-wrapper .form-table {
    margin: 0;
}
.pa-contact-form-wrapper .form-table th {
    width: 150px;
    padding: 10px 10px 10px 0;
    vertical-align: top;
    font-weight: 600;
    text-align: left;
}
.pa-contact-form-wrapper .form-table td {
    padding: 5px 0;
}
.pa-contact-form-wrapper .form-table input[type="text"],
.pa-contact-form-wrapper .form-table input[type="email"],
.pa-contact-form-wrapper textarea {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #8c8f94;
    border-radius: 3px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.07);
}
.pa-contact-form-wrapper .form-table input[type="text"],
.pa-contact-form-wrapper .form-table input[type="email"] {
    max-width: 400px; /* Mantenemos max-width para inputs */
}
.pa-contact-form-wrapper .form-table td .description {
    font-size: 0.9em;
    color: #555;
    font-style: italic;
    margin-top: 4px;
    display: block;
}
.pa-contact-form-wrapper textarea#contact-content {
    height: 250px;
}

/* Aviso de "API no activa" (Amarillo) */
.pa-notice-warning {
    padding: 15px 20px;
    background-color: #fff3cd; 
    color: #856404;
    border: 1px solid #ffeeba;
    border-radius: 4px;
    font-size: 1.1em;
    text-align: center;
    /* max-width: 800px; */ /* <-- Eliminado */
}
.pa-notice-warning a {
    font-weight: 600;
    color: #856404;
    text-decoration: underline;
}

/* Aviso de "Info Mailchimp" (Azul) */
.pa-notice-info {
    padding: 10px 15px;
    background-color: #d1e5ee; /* Azul WP */
    color: #005a87;
    border: 1px solid #a4cde3;
    border-radius: 4px;
    font-size: 0.95em;
    margin-bottom: 20px;
}
.pa-notice-info p {
    margin: 0;
    padding: 0;
}

/* Caja de envío (Submit) */
.pa-campaign-submit-box {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}

/* Spinner (ya definido, pero aseguramos alineación) */
#pa-campaign-spinner {
    visibility: hidden;
    margin: 0;
    vertical-align: middle;
}
#pa-campaign-spinner.is-active {
    visibility: visible;
}

/* Mensajes de estado (ya definidos) */
#pa-campaign-status {
    display: none;
    padding: 12px;
    margin-top: 15px;
    border-radius: 4px;
    text-align: center;
    font-weight: 500;
}
#pa-campaign-status.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
#pa-campaign-status.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* --- INICIO: Estilos del Generador de IA --- */
.pa-ai-generator-box {
    display: none; /* Oculto por defecto */
    background: #f8f9fa;
    border: 1px solid #ccd0d4;
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 10px;
}
.pa-ai-generator-box label {
    font-weight: 600;
    margin-bottom: 5px;
    display: block;
}
.pa-ai-generator-box textarea {
    width: 100%;
    height: 80px;
    margin-bottom: 10px;
}
.pa-ai-generator-box .pa-ai-spinner {
    visibility: hidden;
    vertical-align: middle;
    margin-left: 5px;
}
.pa-ai-generator-box .pa-ai-spinner.is-active {
    visibility: visible;
}

/* Wrapper para el textarea principal y el icono */
.pa-textarea-wrapper {
    position: relative;
}
.pa-ai-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 1.3em;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s;
}
.pa-ai-icon:hover {
    opacity: 1;
}
/* --- FIN: Estilos del Generador de IA --- */

/**
 * ========================================================================
 * FIN: ESTILOS PARA TAB CONTACTABILIDAD
 * ========================================================================
 */