.ptm-dashboard { margin: 1em 0; }
.ptm-activity-summary { width: 100%; border-collapse: collapse; margin-top: 1em; }
.ptm-activity-summary th, .ptm-activity-summary td { border: 1px solid #ddd; padding: 0.4em 0.6em; }
.ptm-activity-summary th { background: #f5f5f5; cursor: default; }
.ptm-tasks-row { display: none; background: #fafafa; }
.ptm-tasks-inner { width: 100%; border-collapse: collapse; margin-top: 0.5em; }
.ptm-tasks-inner th, .ptm-tasks-inner td { border: 1px solid #e0e0e0; padding: 0.3em 0.4em; }
.ptm-notice { padding: 0.5em 0.8em; background: #e0ffe0; margin-bottom: 1em; border-left: 4px solid #2d8a34; }
.ptm-project-form, .ptm-task-form { margin: 1em 0; width: 100%; max-width: none; }
.ptm-project-form p, .ptm-task-form p { margin-bottom: 0.8em; }
.ptm-btn-edit-project {
    display: inline-block;
    padding: 0.1em 0.4em;
    border-radius: 3px;
    border: 1px solid #0073aa;
    background: #f0f8ff;
    text-decoration: none;
}
.ptm-btn-edit-project:hover {
    background: #0073aa;
    color: #fff;
}
.ptm-toggle-tasks {
    padding: 0.1em 0.4em;
    border-radius: 3px;
    border: 1px solid #888;
    background: #fff;
    cursor: pointer;
}
.ptm-filters {
    margin: 0.5em 0;
}
.ptm-filters label {
    margin-right: 0.8em;
}
.ptm-reset-filters {
    margin-left: 0.5em;
    text-decoration: none;
    font-size: 1.1em;
}


.ptm-volunteers-fieldset {
    border: 1px solid #ddd;
    padding: 0.8em;
    margin: 1em 0;
}

.ptm-dual-list {
    display: flex;
    gap: 1em;
    align-items: center;
}

.ptm-dual-list-column select {
    min-width: 220px;
    width: 100%;
}

.ptm-dual-list-controls {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.ptm-dual-list-controls button {
    padding: 0.3em 0.6em;
    cursor: pointer;
}

.ptm-activity-summary .ptm-ca-icon {
    display: inline-block;
    font-size: 1.1em;
}

.ptm-ca-approved { color: #2e7d32; }  /* vert */
.ptm-ca-rejected { color: #c62828; }  /* rouge */
.ptm-ca-pending  { color: #f9a825; }  /* jaune/orangé */
.ptm-ca-postponed { color: #555; }    /* gris */

.ptm-legend-style {
    font-size: 1em;        /* même taille que <legend> */
    font-weight: bold;     /* idem */
    margin: 0 0 0.5em 0;   /* même espacement visuel */
    padding: 0;
}

/* Style normal */
.ptm-btn-secondary {
    background-color: #A0CE4E;   /* vert FPDD */
    color: #ffffff;              /* texte blanc */
    border: 2px solid #000000;   /* bordure noire */
    padding: 2px 12px;
    font-size: 15px;
    cursor: pointer;
    border-radius: 4px;          /* optionnel */
    transition: all 0.2s ease;   /* animation hover propre */
}

/* Hover inversé */
.ptm-btn-secondary:hover {
    background-color: #000000;   /* fond noir */
    color: #ffffff;              /* texte blanc */
    border-color: #A0CE4E;       /* bordure dans le vert FPDD (plus joli) */
}

.ptm-inline {
    display: flex;
    align-items: center;
    gap: 15px; /* espace entre les éléments */
}

.ptm-activity-id {
    font-size: 14px;
    color: #333;
}

.ptm-separator.fpdd {
    border: 0;
    border-top: 3px solid #A0CE4E; /* vert FPDD */
    margin: 30px 0 20px 0;
}

.ptm-two-cols {
    display: flex;
    gap: 20px;
}

.ptm-col {
    display: flex;
    flex-direction: column;
}

.ptm-col input,
.ptm-col select {
    width: 100%;   /* 100% de la colonne et PAS de la page */
}

.ptm-inline-row {
    display: flex;
    align-items: flex-end; /* ou center */
    gap: 20px;
}

.ptm-field {
    display: flex;
    flex-direction: column; /* label au-dessus du select */
}

.ptm-btn-container {
    display: flex;
    align-items: flex-end;
}

.ptm-inline-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 10px;
}

.ptm-actions-left {
    display: flex;
    gap: 10px; /* espace entre les deux boutons */
}

.ptm-activity-id {
    margin-left: auto;  /* pousse l'ID complètement à droite */
    white-space: nowrap; /* évite le retour à la ligne dans l'ID */
}

/* Conteneur : tout sur la même ligne */
.ptm-row-inline {
    display: flex;
    align-items: center;
    flex-wrap: wrap; /* permet de revenir à la ligne si écran trop petit */
    gap: 10px;
    margin-bottom: 12px;
}

/* Label sur une ligne, pas de saut */
.ptm-inline-label {
    white-space: nowrap;
}

/* Champ titre : largeur ajustable par TOI */
.ptm-title-input {
    width: 350px;    /* 👉 Ajuste ici selon le rendu souhaité */
    max-width: 100%; /* sécurité responsive */
}

/* Select type : largeur auto, jamais trop long */
.ptm-type-select {
    width: auto;
    min-width: 140px;
}

/* Ligne horizontale */
.ptm-row-group-inline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;  /* sécurité responsive */
    gap: 15px;
    margin-bottom: 15px;
}

/* Empêche les labels de créer des retours */
.ptm-inline-label {
    white-space: nowrap;
}

/* Select à largeur auto */
.ptm-inline-select {
    width: auto;
    min-width: 180px; /* Ajustable */
}

/* Bouton aligné parfaitement */
.ptm-group-button {
    white-space: nowrap;
}
