/* QB Personal Manager — listado en grid con filtro + formulario */

.qbpe-lista-wrapper,
.qbpe-form-wrapper {
    --qbpe-primary: #1e7d4f;
    --qbpe-primary-dark: #145c39;
    --qbpe-border: #e2e5e9;
    --qbpe-radius: 12px;

    max-width: 900px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #2b2f33;
}

.qbpe-lista-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.qbpe-lista-header h3 { margin: 0; font-size: 20px; }

.qbpe-btn-nuevo {
    background: var(--qbpe-primary);
    color: #fff !important;
    text-decoration: none;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
}

.qbpe-btn-nuevo:hover { background: var(--qbpe-primary-dark); }

.qbpe-filtro {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.qbpe-filtro select {
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--qbpe-border);
}

.qbpe-vacio { text-align: center; color: #6b7280; padding: 40px 0; }

.qbpe-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 14px;
}

.qbpe-card {
    display: block;
    background: #fff;
    border: 1px solid var(--qbpe-border);
    border-radius: var(--qbpe-radius);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.qbpe-card:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.08); }

.qbpe-card-foto {
    width: 100%;
    height: 130px;
    background: #f4f6f5;
}

.qbpe-card-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }

.qbpe-card-foto-vacia {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}

.qbpe-card-info { padding: 10px 12px; }
.qbpe-card-info strong { display: block; font-size: 14px; margin-bottom: 5px; }

.qbpe-badge {
    display: inline-block;
    background: #e6f4ec;
    color: var(--qbpe-primary-dark);
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 999px;
    margin-right: 4px;
}

.qbpe-equipos {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #6b7280;
}

.qbpe-volver {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 14px;
    color: var(--qbpe-primary);
    text-decoration: none;
}

.qbpe-volver:hover { text-decoration: underline; }

.qbpe-form-wrapper .acf-form {
    background: #fff;
    border: 1px solid var(--qbpe-border);
    border-radius: var(--qbpe-radius);
    padding: 32px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.qbpe-form-wrapper .acf-field {
    border: none;
    padding: 16px 0;
    border-bottom: 1px solid #f1f2f4;
}

.qbpe-btn-guardar {
    background: var(--qbpe-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 12px;
}

.qbpe-btn-guardar:hover { background: var(--qbpe-primary-dark); }
.qbpe-btn-guardar.qbpe-loading { opacity: 0.7; cursor: not-allowed; }

.qbpe-aviso {
    max-width: 480px;
    margin: 40px auto;
    text-align: center;
    padding: 20px;
    background: #fef3f2;
    border: 1px solid #fda29b;
    border-radius: 12px;
    color: #b42318;
}

@media (max-width: 600px) {
    .qbpe-form-wrapper .acf-form { padding: 20px; }
    .qbpe-lista-header { flex-direction: column; align-items: flex-start; gap: 10px; }
}
