/**
 * Espace Asso — Styles dédiés
 * Complète design-system.css + components.css
 * Préfixe : ea-
 */

/* ═══ LAYOUT ═══ */
.ea-page { padding-bottom: 80px; }
.ea-page.ea-loading { opacity: 0; }
.ea-page.ea-ready { opacity: 1; transition: opacity .2s ease; }
.ea-screen { display: none; animation: eaFadeIn .3s ease; }
.ea-screen.active { display: block; }
@keyframes eaFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* ═══ HERO ═══ */
.ea-hero { text-align: center; padding: 48px 0 32px; }
.ea-hero-title { font-family: var(--font-titre); font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; background: linear-gradient(135deg, #D4652F, #E8A87C); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.ea-hero-baseline { font-family: var(--font-ui); font-size: 16px; color: var(--texte-light); max-width: 540px; margin: 12px auto 0; line-height: 1.6; }

/* ═══ SECTION TITLES ═══ */
.ea-section-title { font-family: var(--font-titre); font-size: 1.3rem; font-weight: 700; margin: 0 auto 24px; display: flex; align-items: center; justify-content: center; gap: 10px; }

/* ═══ TYPE SELECTION GRID ═══ */
.ea-type-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; max-width: 1200px; margin: 0 auto; }
.ea-type-card { background: var(--fond-carte); border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; padding: 24px 20px; text-align: center; transition: transform .2s, box-shadow .2s, border-color .2s; cursor: default; position: relative; }
.ea-type-active { cursor: pointer; border-color: transparent; }
.ea-type-active:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(212, 101, 47, .15); border-color: #D4652F; }
.ea-type-disabled { opacity: .5; }
.ea-type-icon { display: block; font-size: 36px; margin-bottom: 12px; }
.ea-type-label { font-family: var(--font-titre); font-size: 16px; font-weight: 700; margin-bottom: 6px; color: var(--texte); }
.ea-type-desc { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); margin-bottom: 12px; }
.ea-type-badge { font-family: var(--font-ui); font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 4px 20px 4px 20px; display: inline-block; text-transform: uppercase; letter-spacing: .03em; }
.ea-badge-active { background: linear-gradient(135deg, #038168, #0096BB); color: #fff; }
.ea-badge-soon { background: var(--support); color: var(--texte-light); }

/* ═══ ACCUEIL PORTAIL (intro + login) ═══ */
.ea-accueil-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: 960px; margin: 0 auto; align-items: start; }
.ea-accueil-info { display: flex; flex-direction: column; gap: 32px; justify-content: center; min-height: 100%; }
.ea-accueil-login { display: flex; justify-content: center; }
.ea-accueil-login .ea-form-wrap { max-width: 400px; width: 100%; }
.ea-intro-block { font-family: var(--font-corps); font-size: 16px; line-height: 1.7; color: var(--texte); }
.ea-intro-block p { text-wrap: pretty; }

/* Tuto steps */
.ea-tuto-block .ea-section-title { justify-content: flex-start; margin-bottom: 16px; font-size: 1.1rem; }
.ea-tuto-steps { display: flex; flex-direction: column; gap: 16px; }
.ea-tuto-step { display: flex; gap: 16px; align-items: flex-start; }
.ea-tuto-num { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, #D4652F, #E8A87C); color: #fff; font-family: var(--font-titre); font-size: 15px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.ea-tuto-step strong { font-family: var(--font-ui); font-size: 15px; font-weight: 600; color: var(--texte); display: block; margin-bottom: 2px; }
.ea-tuto-step p { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); line-height: 1.5; margin: 0; }

/* Trust block */
.ea-trust-block { background: var(--fond-alt); border: 1px solid var(--support); border-radius: 12px; padding: 20px 24px; }
.ea-trust-title { font-family: var(--font-ui); font-size: 16px; font-weight: 600; color: var(--texte); margin: 0 0 12px; }
.ea-trust-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.ea-trust-list li { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); line-height: 1.5; padding-left: 20px; position: relative; }
.ea-trust-list li::before { content: '\2713'; position: absolute; left: 0; color: var(--vert); font-weight: 700; }

/* Accueil links */
.ea-accueil-links { text-align: center; margin-top: 16px; font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); }
.ea-accueil-links a { color: var(--texte-light); text-decoration: none; transition: color .2s; }
.ea-accueil-links a:hover { color: var(--vert); }
.ea-sep { margin: 0 8px; }

/* Responsive mobile */
@media (max-width: 768px) {
  .ea-accueil-grid { grid-template-columns: 1fr; gap: 32px; }
  .ea-accueil-login .ea-form-wrap { position: static; max-width: 100%; }
}

/* ═══ SOUTIEN STORY MILCATS ═══ */

/* Accueil — sous le formulaire de connexion */
.ea-soutien-block { margin-top: 20px; padding: 20px 24px; background: var(--fond-alt); border: 1px solid var(--support); border-radius: 12px; text-align: center; }
.ea-soutien-text { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); line-height: 1.5; margin: 0 0 16px; }
.ea-soutien-btns { display: flex; flex-direction: column; gap: 10px; }

/* Boutons custom HelloAsso */
.ea-ha-btn { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 20px; border-radius: 20px 4px 20px 4px; text-decoration: none; font-family: var(--font-ui); font-size: 14px; font-weight: 600; transition: transform .2s, box-shadow .2s; }
.ea-ha-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(73, 211, 138, .25); }
.ea-ha-btn-adhesion { background: var(--fond-carte); border: 2px solid var(--support); color: var(--texte); }
.ea-ha-btn-adhesion:hover { border-color: #49D38A; }
.ea-ha-btn-don { background: var(--fond-carte); border: 2px solid var(--support); color: var(--texte); }
.ea-ha-btn-don:hover { border-color: #49D38A; }
.ea-ha-logo { flex-shrink: 0; height: 18px; width: auto; }
[data-theme="dark"] .ea-ha-logo { filter: brightness(1.8) saturate(1.2); }

/* Iframes dashboard (inchangées) */
.ea-soutien-dash-actions iframe { border-radius: 8px; overflow: hidden; }
.ea-ha-don-wrap { border-radius: 8px; overflow: hidden; }

/* Dashboard — bandeau horizontal */
.ea-soutien-dash { display: flex; align-items: center; gap: 32px; padding: 20px 24px; background: linear-gradient(135deg, var(--fond-alt) 0%, var(--fond-carte) 100%); border: 1px solid var(--support); border-radius: 12px; margin-bottom: 24px; }
.ea-soutien-dash-text { flex: 1; min-width: 0; }
.ea-soutien-title { font-family: var(--font-titre); font-size: 1rem; font-weight: 700; color: var(--texte); margin: 0 0 4px; }
.ea-soutien-desc { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); margin: 0; line-height: 1.5; }
.ea-soutien-dash-actions { display: flex; gap: 16px; flex-shrink: 0; }

/* Boutons dashboard — plus gros que ceux de l'accueil */
.ea-ha-btn-dash { padding: 16px 28px; font-size: 16px; }
.ea-ha-logo-dash { flex-shrink: 0; height: 22px; width: auto; }
[data-theme="dark"] .ea-ha-logo-dash { filter: brightness(1.8) saturate(1.2); }

@media (max-width: 768px) {
  .ea-soutien-dash { flex-direction: column; gap: 16px; text-align: center; }
  .ea-soutien-dash-actions { width: 100%; flex-direction: column; }
}

/* ═══ VERIFICATION UPLOAD — Documents list ═══ */
.ea-verif-docs-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }

/* Chaque document uploade */
.ea-verif-doc-item { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: rgba(3, 129, 104, .08); border: 2px solid var(--vert); border-radius: 12px; }
.ea-verif-doc-check { flex-shrink: 0; }
.ea-verif-doc-name { flex: 1; min-width: 0; font-family: var(--font-ui); font-size: 14px; font-weight: 500; color: var(--texte); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ea-verif-doc-remove { flex-shrink: 0; background: none; border: none; cursor: pointer; color: var(--texte-light); padding: 6px; border-radius: 50%; transition: color .2s, background .2s; }
.ea-verif-doc-remove:hover { color: #ef4444; background: rgba(239, 68, 68, .1); }

/* Zone de statut (succes, erreur, chargement) */
.ea-verif-status { font-family: var(--font-ui); font-size: 14px; line-height: 1.5; padding: 12px 16px; border-radius: 8px; margin-top: 8px; }
.ea-verif-status-success { background: rgba(3, 129, 104, .1); color: var(--vert); font-weight: 500; }
.ea-verif-status-error { background: rgba(239, 68, 68, .1); color: #ef4444; font-weight: 500; }
.ea-verif-status-loading { background: rgba(0, 150, 187, .1); color: var(--cyan); font-weight: 500; }

/* ═══ PRIX MONTANTS DYNAMIQUES ═══ */
.ea-prix-montants { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.ea-prix-montant-row { display: flex; align-items: center; gap: 12px; }
.ea-prix-montant-row .ea-label-sm { font-family: var(--font-ui); font-size: 15px; font-weight: 500; color: var(--texte); min-width: 100px; margin: 0; }
.ea-prix-montant-row .ea-input-sm { font-family: var(--font-ui); font-size: 15px; padding: 8px 12px; max-width: 180px; }

/* ═══ EVENT SUCCESS SCREEN ═══ */
.ea-success-header { text-align: center; margin-bottom: 32px; }
.ea-success-check-big { margin-bottom: 16px; }
.ea-success-title { font-family: var(--font-titre); font-size: clamp(1.4rem, 3vw, 1.8rem); font-weight: 700; color: var(--texte); margin: 0 0 8px; }
.ea-success-text { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); margin: 0; }

.ea-success-carte-block { display: flex; align-items: center; gap: 16px; padding: 20px 24px; background: rgba(0, 150, 187, .08); border: 2px solid var(--cyan); border-radius: 12px; margin-bottom: 24px; }
.ea-success-carte-label { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--texte); margin: 0 0 4px; }
.ea-success-carte-link { font-family: var(--font-ui); font-size: 14px; color: var(--cyan); text-decoration: none; font-weight: 500; }
.ea-success-carte-link:hover { text-decoration: underline; }

.ea-success-actions { display: flex; gap: 12px; justify-content: center; margin-top: 24px; }

/* ═══ REQUIRED NOTE ═══ */
.ea-required-note { margin-top: 20px; padding: 12px 16px; background: var(--fond-alt); border-radius: 8px; font-style: italic; }

/* ═══ FIELD HELP LIST ═══ */
.ea-field-help-list { list-style: none; padding: 0; margin: 6px 0 8px; }
.ea-field-help-list li { font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); line-height: 1.6; padding-left: 16px; position: relative; }
.ea-field-help-list li::before { content: '–'; position: absolute; left: 0; color: var(--texte-light); }

/* ═══ BACK BUTTON ═══ */
.ea-back-btn { display: flex; width: fit-content; align-items: center; gap: 6px; font-family: var(--font-ui); font-size: 15px; font-weight: 500; color: var(--texte-light); background: none; border: none; cursor: pointer; padding: 8px 4px; margin: 0 auto 16px; transition: color .2s; }
.ea-back-btn:hover { color: var(--vert); }
.ea-back-btn svg { flex-shrink: 0; }

/* ═══ FORM WRAP ═══ */
.ea-form-wrap { max-width: 1040px; margin: 0 auto; background: var(--fond-carte); border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; padding: 40px 36px; }
.ea-form-narrow { max-width: 460px; margin: 0 auto; }
.ea-form-header { text-align: center; margin-bottom: 32px; }
.ea-form-title { font-family: var(--font-titre); font-size: 1.5rem; font-weight: 700; color: var(--texte); }
.ea-form-subtitle { font-family: var(--font-ui); font-size: 16px; color: var(--texte-light); margin-top: 8px; }
.ea-form-footer { text-align: center; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--support); font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); }

/* ═══ STEP INDICATOR ═══ */
.ea-step-indicator { display: flex; align-items: center; justify-content: center; gap: 0; margin-bottom: 20px; }
.ea-step { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-ui); font-size: 14px; font-weight: 700; border: 2px solid var(--support); color: var(--texte-light); background: var(--fond); }
.ea-step.active { border-color: var(--vert); color: #fff; background: var(--vert); }
.ea-step.done { border-color: var(--vert); color: #fff; background: var(--vert); font-size: 12px; }
.ea-step-line { width: 60px; height: 2px; background: var(--support); }
.ea-step-line-done { background: var(--vert); }

/* ═══ FORM FIELDS ═══ */
.ea-form { display: flex; flex-direction: column; gap: 20px; }
.ea-field-group { display: flex; flex-direction: column; gap: 6px; }
.ea-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ea-field-row-4 { grid-template-columns: repeat(4, 1fr); }
.ea-field-grow { flex: 1; }
.ea-label { font-family: var(--font-ui); font-size: 17px; font-weight: 600; color: var(--texte); display: flex; align-items: baseline; gap: 8px; }
.ea-label-hint { font-weight: 400; font-size: 15px; color: var(--texte-light); }
.ea-input, .ea-select, .ea-textarea { width: 100%; padding: 14px 16px; border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; font-family: var(--font-ui); font-size: 18px; background: var(--fond); color: var(--texte); transition: border-color .2s, box-shadow .2s; }
.ea-input:focus, .ea-select:focus, .ea-textarea:focus { outline: none; border-color: var(--vert); box-shadow: 0 0 0 3px rgba(3, 129, 104, .12); }
.ea-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.ea-textarea { resize: vertical; min-height: 80px; border-radius: 12px; }
.ea-field-help { font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); }
.ea-field-link { font-family: var(--font-ui); font-size: 14px; color: var(--vert); text-decoration: none; align-self: flex-end; }
.ea-field-link:hover { text-decoration: underline; }

/* Input + action button side by side */
.ea-input-action { display: flex; gap: 8px; }
.ea-input-action .ea-input { flex: 1; }
.ea-btn-verify { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }

/* Word counter */
.ea-word-counter { font-family: var(--font-ui); font-size: 13px; color: var(--texte-light); text-align: right; }
.ea-word-counter .ea-wc-over { color: #e74c3c; font-weight: 600; }

/* ═══ CHECKBOXES ═══ */
.ea-fieldset { border: none; padding: 0; margin: 0; }
.ea-legend { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--texte); margin-bottom: 12px; }
.ea-checkbox-group { display: flex; flex-direction: column; gap: 10px; }
.ea-checkbox { display: flex; align-items: center; gap: 10px; font-family: var(--font-ui); font-size: 14px; color: var(--texte); cursor: pointer; }
.ea-checkbox input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--vert); flex-shrink: 0; }

/* ═══ BUTTONS ═══ */
.ea-btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; }
.ea-btn-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 24px; border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; font-family: var(--font-ui); font-size: 15px; font-weight: 600; color: var(--texte); background: var(--fond-carte); cursor: pointer; transition: border-color .2s, background .2s; }
.ea-btn-secondary:hover { border-color: var(--vert); background: var(--fond-alt); }
.ea-btn-text { display: inline; background: none; border: none; font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--vert); cursor: pointer; padding: 0; }
.ea-btn-text:hover { text-decoration: underline; }
.ea-btn-ghost { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; background: none; border: 1px solid var(--support); border-radius: 4px 20px 4px 20px; font-family: var(--font-ui); font-size: 15px; font-weight: 500; color: var(--texte-light); cursor: pointer; transition: border-color .2s, color .2s; }
.ea-btn-ghost:hover { border-color: var(--texte-light); color: var(--texte); }
.ea-form-actions { margin-top: 8px; }
.ea-form-actions-split { display: flex; gap: 12px; }
.ea-form-actions-split .ea-btn-secondary { flex: 0 0 auto; }
.ea-form-actions-split .ea-btn-primary { flex: 1; }

/* Loading state */
.ea-spinner { display: inline-block; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%; animation: eaSpin .6s linear infinite; }
@keyframes eaSpin { to { transform: rotate(360deg); } }

/* ═══ ALERTS ═══ */
.ea-alert { padding: 14px 18px; border-radius: 8px; font-family: var(--font-ui); font-size: 15px; }
.ea-alert-error { background: rgba(231, 76, 60, .1); border: 1px solid rgba(231, 76, 60, .3); color: #e74c3c; }
.ea-alert-success { background: rgba(3, 129, 104, .1); border: 1px solid rgba(3, 129, 104, .3); color: var(--vert); }
.ea-alert-info { background: rgba(0, 150, 187, .1); border: 1px solid rgba(0, 150, 187, .3); color: var(--cyan); }

/* ═══ VERIFY RESULT ═══ */
.ea-verify-result { padding: 16px; border-radius: 12px; margin: 16px 0; font-family: var(--font-ui); font-size: 14px; }
.ea-verify-result.ea-verify-ok { background: rgba(3, 129, 104, .08); border: 1px solid rgba(3, 129, 104, .2); }
.ea-verify-result.ea-verify-fail { background: rgba(231, 76, 60, .08); border: 1px solid rgba(231, 76, 60, .2); }
.ea-verify-result h4 { font-weight: 700; margin-bottom: 4px; }

/* ═══ SUCCESS SCREENS ═══ */
.ea-success-wrap { text-align: center; padding: 60px 0; max-width: 500px; margin: 0 auto; }
.ea-success-icon { font-size: 64px; margin-bottom: 16px; }
.ea-success-check { width: 80px; height: 80px; margin: 0 auto 20px; background: linear-gradient(135deg, #038168, #0096BB); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 36px; }
.ea-success-title { font-family: var(--font-titre); font-size: 1.5rem; font-weight: 700; color: var(--vert); margin-bottom: 12px; }
.ea-success-text { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); line-height: 1.6; margin-bottom: 24px; }
.ea-success-info { background: var(--fond-alt); border: 1px solid var(--support); border-radius: 12px; padding: 20px; font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); text-align: left; }
.ea-success-info ul { margin: 8px 0 12px 20px; }
.ea-success-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ═══ DASHBOARD ═══ */
.ea-dash-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; gap: 16px; flex-wrap: wrap; max-width: 1200px; margin-left: auto; margin-right: auto; }
.ea-dash-title { font-family: var(--font-titre); font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 700; }
.ea-dash-subtitle { font-family: var(--font-ui); font-size: 16px; color: var(--texte-light); margin-top: 4px; }

/* Stats */
.ea-stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; max-width: 1200px; margin-left: auto; margin-right: auto; }
.ea-stat-card { background: var(--fond-carte); border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; padding: 20px; text-align: center; }
.ea-stat-clickable { cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.ea-stat-clickable:hover { border-color: var(--vert); box-shadow: 0 4px 12px rgba(3,129,104,.1); }
.ea-stat-value { display: block; font-family: var(--font-titre); font-size: 28px; font-weight: 800; color: var(--vert); }
.ea-stat-label { display: block; font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); margin-top: 4px; }

/* Action buttons */
.ea-action-buttons { display: flex; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; max-width: 1200px; margin-left: auto; margin-right: auto; justify-content: center; }
.ea-action-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 20px 4px 20px 4px; font-family: var(--font-ui); font-size: 15px; font-weight: 700; border: none; cursor: pointer; transition: transform .2s, box-shadow .2s; color: #fff; position: relative; }
.ea-action-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.15); }
.ea-action-btn:disabled { opacity: .5; cursor: not-allowed; }
.ea-action-event { background: #7B2D8E; }
.ea-action-article { background: #D4652F; }
.ea-btn-badge-soon { position: absolute; top: -6px; right: -6px; font-size: 10px; font-weight: 700; background: var(--support); color: var(--texte-light); padding: 2px 8px; border-radius: 4px 20px 4px 20px; text-transform: uppercase; }

/* Tabs */
.ea-tabs { display: flex; gap: 0; margin-bottom: 24px; border-bottom: 2px solid var(--support); max-width: 1200px; margin-left: auto; margin-right: auto; }
.ea-tab { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; font-family: var(--font-ui); font-size: 16px; font-weight: 600; color: var(--texte-light); border: none; background: none; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: color .2s, border-color .2s; }
.ea-tab:hover:not(:disabled) { color: var(--texte); }
.ea-tab:disabled { opacity: .4; cursor: not-allowed; }
.ea-tab.active { color: var(--texte); }
.ea-tab-event.active { border-bottom-color: #7B2D8E; color: #7B2D8E; }
.ea-tab-article.active { border-bottom-color: #D4652F; color: #D4652F; }
.ea-tab-count { font-size: 13px; font-weight: 700; padding: 2px 8px; border-radius: 20px; background: var(--support); color: var(--texte-light); }

/* Dashboard grid (calendar + messages) */
.ea-dash-grid { display: grid; grid-template-columns: 1fr 340px; gap: 24px; max-width: 1200px; margin: 0 auto; }
.ea-dash-col-main, .ea-dash-col-side { min-width: 0; }

/* ═══ MINI CALENDAR ═══ */
.ea-mini-cal { background: var(--fond-carte); border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; padding: 20px; margin-bottom: 20px; }
.ea-mini-cal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ea-mini-cal-month { font-family: var(--font-titre); font-size: 18px; font-weight: 700; text-transform: capitalize; }
.ea-cal-nav { background: none; border: 1px solid var(--support); border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--texte-light); transition: border-color .2s, color .2s; }
.ea-cal-nav:hover { border-color: var(--vert); color: var(--vert); }
.ea-mini-cal-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 8px; }
.ea-mini-cal-days span { font-family: var(--font-ui); font-size: 13px; font-weight: 600; text-align: center; color: var(--texte-light); text-transform: uppercase; }
.ea-mini-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.ea-cal-day { font-family: var(--font-ui); font-size: 15px; text-align: center; padding: 8px 0 12px; border-radius: 6px; cursor: default; color: var(--texte-light); background: none; border: none; position: relative; }
.ea-cal-day.ea-cal-today { font-weight: 700; color: var(--texte); background: var(--fond-alt); }
.ea-cal-day.ea-cal-has-event { position: relative; font-weight: 600; color: var(--texte); cursor: pointer; }
.ea-cal-day.ea-cal-has-event:hover { background: var(--fond-alt); border-radius: 6px; }
.ea-cal-day.ea-cal-empty { visibility: hidden; }
.ea-cal-dots { display: flex; justify-content: center; gap: 3px; position: absolute; bottom: 0; left: 0; right: 0; }
.ea-dot { width: 7px; height: 7px; border-radius: 50%; }
.ea-dot-mine { background: #7B2D8E; }
.ea-dot-pbgc { background: var(--vert); }
.ea-dot-ext { background: #B0B0B0; }

/* Calendar popup — rendered below calendar, not overlapping */
.ea-cal-popup { background: var(--fond-carte); border: 1px solid var(--support); border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,.1); padding: 16px; margin-top: 12px; max-height: 350px; overflow-y: auto; animation: fadeSlideIn .2s ease; }
.ea-cal-popup-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-family: var(--font-ui); font-size: 15px; }
.ea-cal-popup-close { background: none; border: none; font-size: 20px; cursor: pointer; color: var(--texte-light); padding: 0 4px; }
.ea-cal-popup-close:hover { color: var(--texte); }
.ea-cal-popup-card { padding: 10px 12px; border-left: 3px solid var(--support); border-radius: 0 8px 8px 0; background: var(--fond-alt); margin-bottom: 8px; }
.ea-cal-popup-card:last-child { margin-bottom: 0; }
.ea-cal-popup-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.ea-cal-popup-time { font-family: var(--font-ui); font-size: 14px; font-weight: 700; color: var(--texte-light); }
.ea-cal-popup-src { font-family: var(--font-ui); font-size: 13px; font-weight: 600; }
.ea-cal-popup-title { font-family: var(--font-ui); font-size: 15px; font-weight: 700; color: var(--texte); text-decoration: none; display: block; margin-bottom: 2px; }
.ea-cal-popup-title:hover { color: var(--vert); }

/* Filtered events panel (brouillons / publiés) */
.ea-filtered-events-panel { background: var(--fond-carte); border: 2px solid var(--violet, #7B2D8E); border-radius: 12px; margin: 16px 0; overflow: hidden; box-shadow: 0 4px 16px rgba(123,45,142,.15); animation: fadeSlideIn .3s ease; }
.ea-filtered-header { display: flex; align-items: center; gap: 6px; padding: 14px 16px; background: linear-gradient(135deg, #f3e8ff, #ede9fe); border-bottom: 1px solid var(--support); }
[data-theme="dark"] .ea-filtered-header { background: linear-gradient(135deg, rgba(123,45,142,.08), rgba(123,45,142,.04)); }
.ea-filtered-header strong { font-family: var(--font-ui); font-size: 15px; color: var(--violet, #7B2D8E); flex: 1; }
.ea-filtered-close { margin-left: auto; font-size: 13px; white-space: nowrap; }
.ea-filtered-check { flex-shrink: 0; display: flex; align-items: center; margin-right: 12px; }
.ea-filtered-check input { width: 18px; height: 18px; accent-color: var(--vert, #038168); cursor: pointer; }
.ea-filtered-item { display: flex; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--support); transition: background .15s; }
.ea-filtered-item:hover { background: var(--fond-alt); }
.ea-filtered-item:last-child { border-bottom: none; }
.ea-filtered-item .ea-event-info { display: flex; flex-direction: column; gap: 2px; }
.ea-filtered-item .ea-event-name { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--texte); }
.ea-filtered-item .ea-event-date { font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); }
.ea-filtered-item .ea-event-actions { display: flex; align-items: center; gap: 8px; }
.ea-btn-edit-filtered { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.ea-cal-popup-meta { font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); }
.ea-cal-popup-asso { font-family: var(--font-ui); font-size: 14px; color: var(--vert); margin-top: 2px; }
.ea-cal-popup-actions { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.ea-cal-popup-ext { font-family: var(--font-ui); font-size: 11px; color: var(--texte-light); margin-top: 6px; line-height: 1.4; }
.ea-cal-popup-ext a { color: var(--vert); }

/* ═══ EVENT LIST ═══ */
.ea-event-list { display: flex; flex-direction: column; gap: 12px; }
.ea-event-item { display: flex; align-items: flex-start; gap: 16px; padding: 16px; background: var(--fond-carte); border: 1px solid var(--support); border-left: 4px solid #7B2D8E; border-radius: 12px; transition: border-color .2s; flex-wrap: wrap; }
.ea-event-item:hover { border-left-color: var(--vert); }
.ea-event-item.ea-event-mine { border-left-color: #7B2D8E; }
.ea-event-item.ea-event-pbgc { border-left-color: var(--vert); }
.ea-event-item.ea-event-scraped { border-left-color: #B0B0B0; opacity: .85; }
.ea-event-item.ea-event-scraped:hover { opacity: 1; }
.ea-event-asso-name { font-size: 12px; color: var(--vert); margin-top: 2px; }
.ea-agenda-legend { display: flex; gap: 16px; flex-wrap: wrap; padding: 12px 16px; background: var(--fond-alt); border-radius: 8px; margin-bottom: 12px; font-family: var(--font-ui); font-size: 15px; font-weight: 500; color: var(--texte); }
.ea-legend-item { display: flex; align-items: center; gap: 6px; }
.ea-legend-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.ea-agenda-section-title { font-family: var(--font-ui); font-size: 13px; font-weight: 700; color: var(--texte-light); text-transform: uppercase; letter-spacing: .5px; margin: 8px 0; }
.ea-event-date-badge { flex-shrink: 0; text-align: center; background: var(--fond-alt); border-radius: 8px; padding: 8px 12px; min-width: 48px; }
.ea-event-date-badge .ea-day { display: block; font-family: var(--font-titre); font-size: 20px; font-weight: 800; color: #7B2D8E; }
.ea-event-date-badge .ea-month { display: block; font-family: var(--font-ui); font-size: 13px; font-weight: 600; color: var(--texte-light); text-transform: uppercase; }
.ea-event-info { flex: 1; min-width: 0; text-decoration: none; color: inherit; display: block; }
.ea-event-info h4 { font-family: var(--font-ui); font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.ea-event-info:hover h4 { color: var(--vert); }
.ea-event-info p { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); }
.ea-event-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.ea-btn-edit-event, .ea-btn-view-event { width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--support); background: var(--fond-alt); color: var(--texte-light); font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.ea-btn-edit-event:hover { background: var(--vert); color: #fff; border-color: var(--vert); }
.ea-btn-view-event:hover { background: var(--cyan); color: #fff; border-color: var(--cyan); }
.ea-event-status { font-family: var(--font-ui); font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 4px 20px 4px 20px; text-transform: uppercase; }
.ea-status-brouillon { background: var(--support); color: var(--texte-light); }
.ea-status-a_verifier { background: rgba(242, 169, 34, .15); color: #F2A922; }
.ea-status-publie, .ea-status-valide { background: rgba(3, 129, 104, .15); color: var(--vert); }
.ea-status-annule { background: rgba(231, 76, 60, .15); color: #e74c3c; }
.ea-event-cancelled { opacity: .65; }
.ea-event-cancelled .ea-event-info h4 { text-decoration: line-through; }
.ea-event-bottom { width: 100%; display: flex; align-items: center; gap: 10px; padding-top: 10px; border-top: 1px solid var(--support); }
.ea-btn-cancel-event { padding: 5px 12px; border-radius: 6px; border: 1px solid rgba(231,76,60,.3); background: rgba(231,76,60,.1); color: #e74c3c; font-family: var(--font-ui); font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; transition: background .2s, color .2s; }
.ea-btn-cancel-event:hover { background: #e74c3c; color: #fff; }
.ea-btn-republish-event { padding: 5px 12px; border-radius: 6px; border: 1px solid rgba(3,129,104,.3); background: rgba(3,129,104,.1); color: var(--vert); font-family: var(--font-ui); font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; transition: background .2s, color .2s; }
.ea-btn-republish-event:hover { background: var(--vert); color: #fff; }
/* Territory tab & contact */
.ea-tab-territory.active { border-bottom-color: var(--vert); color: var(--vert); }
.ea-btn-contact-territory { padding: 5px 12px; border-radius: 6px; border: 1px solid rgba(3,129,104,.3); background: rgba(3,129,104,.1); color: var(--vert); font-family: var(--font-ui); font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; transition: background .2s, color .2s; }
.ea-btn-contact-territory:hover { background: var(--vert); color: #fff; }
.ea-territory-scraped { font-family: var(--font-ui); font-size: 12px; color: var(--texte-light); font-style: italic; cursor: help; }
.ea-territory-scraped:hover { color: var(--texte); }
.ea-btn-delete-event { width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--support); background: var(--fond-alt); color: var(--texte-light); font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s, color .2s, border-color .2s; }
.ea-btn-delete-event:hover { background: #c0392b; color: #fff; border-color: #c0392b; }

/* ═══ MESSAGES PANEL ═══ */
.ea-messages-panel { background: var(--fond-carte); border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; padding: 20px; }
.ea-panel-title { font-family: var(--font-ui); font-size: 15px; font-weight: 700; display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--texte); }
.ea-messages-list { display: flex; flex-direction: column; gap: 10px; }
.ea-message-item { padding: 14px; background: var(--fond-alt); border-radius: 8px; font-family: var(--font-ui); font-size: 15px; }
.ea-message-item.ea-unread { border-left: 3px solid var(--vert); }
.ea-message-from { font-weight: 600; color: var(--texte); }
.ea-message-preview { color: var(--texte-light); margin-top: 4px; }
.ea-message-time { font-size: 13px; color: var(--texte-light); margin-top: 4px; }
.ea-placeholder { font-family: var(--font-ui); font-size: 16px; color: var(--texte); text-align: center; padding: 24px 0; line-height: 1.6; }

/* ═══ ALERTS ═══ */
.ea-alerts-section { margin-top: 24px; max-width: 1200px; margin-left: auto; margin-right: auto; }
.ea-alerts-list { display: flex; flex-direction: column; gap: 10px; }
.ea-alert-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 12px; font-family: var(--font-ui); font-size: 13px; }
.ea-alert-item.ea-alert-warning { background: rgba(231, 76, 60, .08); border: 1px solid rgba(231, 76, 60, .15); }
.ea-alert-item.ea-alert-opportunity { background: rgba(0, 150, 187, .08); border: 1px solid rgba(0, 150, 187, .15); }
.ea-alert-item .ea-alert-icon { font-size: 20px; flex-shrink: 0; }

/* ═══ HELP OPTIONS ═══ */
.ea-help-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px; max-width: 700px; margin-left: auto; margin-right: auto; }
.ea-help-card { background: var(--fond-alt); border: 1px solid var(--support); border-radius: 12px; padding: 16px; text-align: center; position: relative; transition: border-color .2s; }
.ea-help-card:hover { border-color: var(--vert); }
.ea-help-ai:hover, .ea-help-poster:hover { border-color: var(--support); }
.ea-help-icon { display: block; font-size: 24px; margin-bottom: 8px; }
.ea-help-card h4 { font-family: var(--font-ui); font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.ea-help-card p { font-family: var(--font-ui); font-size: 11px; color: var(--texte-light); line-height: 1.4; margin-bottom: 8px; }
.ea-help-tag { font-family: var(--font-ui); font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: .03em; }
.ea-help-soon { background: var(--support); color: var(--texte-light); }
.ea-help-paid { background: rgba(212, 101, 47, .15); color: #D4652F; }
.ea-help-ai { opacity: .55; cursor: not-allowed; }
.ea-help-poster { opacity: .55; cursor: not-allowed; }
.ea-help-pro { cursor: pointer; }

/* ═══ UPLOAD ═══ */
.ea-upload-zone { border: 2px dashed var(--support); border-radius: 12px; padding: 32px; text-align: center; position: relative; cursor: pointer; transition: border-color .2s, background .2s; }
.ea-upload-zone:hover, .ea-upload-zone.ea-drag-over { border-color: var(--vert); background: rgba(3, 129, 104, .04); }
.ea-upload-content { pointer-events: none; }
.ea-upload-content svg { color: var(--texte-light); margin-bottom: 8px; }
.ea-upload-text { font-family: var(--font-ui); font-size: 14px; color: var(--texte); margin-bottom: 4px; }
.ea-upload-hint { font-family: var(--font-ui); font-size: 12px; color: var(--texte-light); }
.ea-upload-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.ea-upload-preview { display: flex; align-items: center; gap: 12px; padding: 12px; background: var(--fond-alt); border: 1px solid var(--support); border-radius: 8px; margin-top: 8px; }
.ea-upload-preview img { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; }
.ea-upload-name { flex: 1; font-family: var(--font-ui); font-size: 13px; color: var(--texte); }
.ea-upload-remove { background: none; border: none; color: var(--texte-light); cursor: pointer; padding: 4px; }
.ea-upload-remove:hover { color: #e74c3c; }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 768px) {
	.ea-form-wrap { padding: 24px 16px; }
	.ea-field-row, .ea-field-row-4 { grid-template-columns: 1fr; }
	.ea-stats-row { grid-template-columns: 1fr; }
	.ea-dash-grid { grid-template-columns: 1fr; }
	.ea-type-grid { grid-template-columns: 1fr 1fr; }
	.ea-help-options { grid-template-columns: 1fr; }
	.ea-action-buttons { flex-direction: column; }
	.ea-action-btn { width: 100%; justify-content: center; }
	.ea-form-actions-split { flex-direction: column-reverse; }
	.ea-form-actions-split .ea-btn-secondary,
	.ea-form-actions-split .ea-btn-primary { width: 100%; }
	.ea-dash-header { flex-direction: column; }
	.ea-tabs { overflow-x: auto; }
	.ea-recurrence-chips { flex-direction: column; }
	.ea-day-chips { flex-wrap: wrap; }
	.ea-chip-day { width: 36px; height: 36px; font-size: 12px; }
}

@media (max-width: 480px) {
	.ea-type-grid { grid-template-columns: 1fr; }
	.ea-hero { padding: 32px 0 20px; }
}

/* Empty states — dashboard alerts & messages */
.ea-empty-state { text-align: center; padding: 28px 20px; background: var(--fond-alt); border: 1px dashed var(--support); border-radius: var(--radius-md); }
.ea-empty-icon { font-size: 32px; margin-bottom: 8px; opacity: .7; }
.ea-empty-title { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--texte); margin-bottom: 6px; }
.ea-empty-desc { font-family: var(--font-ui); font-size: 13px; color: var(--texte-light); line-height: 1.5; max-width: 420px; margin: 0 auto; }

/* ═══ PASSWORD UX (B1) ═══ */
.ea-password-wrap { position: relative; }
.ea-toggle-pw { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--texte-light); cursor: pointer; padding: 4px; display: flex; align-items: center; transition: color .2s; }
.ea-toggle-pw:hover { color: var(--texte); }
.ea-password-wrap .ea-input { padding-right: 44px; }
.ea-gen-pw-wrap { margin-top: -8px; }
.ea-btn-gen { font-size: 13px; padding: 10px 16px; width: auto; }
.ea-gen-pw-result { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 10px 14px; background: var(--fond-alt); border: 1px solid var(--support); border-radius: 8px; }
.ea-gen-pw-result code { flex: 1; font-family: var(--font-mono); font-size: 14px; color: var(--vert); word-break: break-all; }
.ea-btn-copy { background: none; border: none; color: var(--texte-light); cursor: pointer; padding: 4px; display: flex; }
.ea-btn-copy:hover { color: var(--vert); }

/* ═══ PASSWORD STRENGTH INDICATOR ═══ */
.ea-pw-strength { margin-top: -8px; }
.ea-pw-bar { display: flex; gap: 4px; height: 6px; border-radius: 3px; overflow: hidden; }
.ea-pw-seg { flex: 1; background: var(--support); border-radius: 3px; transition: background .3s; }
.ea-pw-bar.ea-pw-weak .ea-pw-seg[data-level="1"] { background: #e74c3c; }
.ea-pw-bar.ea-pw-medium .ea-pw-seg[data-level="1"],
.ea-pw-bar.ea-pw-medium .ea-pw-seg[data-level="2"] { background: #F2A922; }
.ea-pw-bar.ea-pw-strong .ea-pw-seg { background: var(--vert); }
.ea-pw-label { font-family: var(--font-ui); font-size: 12px; font-weight: 600; margin-top: 4px; display: block; }
.ea-pw-bar.ea-pw-weak + .ea-pw-label { color: #e74c3c; }
.ea-pw-bar.ea-pw-medium + .ea-pw-label { color: #F2A922; }
.ea-pw-bar.ea-pw-strong + .ea-pw-label { color: var(--vert); }

/* ═══ SETTINGS PANEL (B2) ═══ */
.ea-settings-panel { background: var(--fond-carte); border: 1px solid var(--support); border-radius: 20px 4px 20px 4px; padding: 0; overflow: hidden; }
.ea-settings-toggle { display: flex; align-items: center; gap: 10px; width: 100%; padding: 16px 20px; background: none; border: none; font-family: var(--font-ui); font-size: 15px; font-weight: 700; color: var(--texte); cursor: pointer; transition: background .2s; }
.ea-settings-toggle:hover { background: var(--fond-alt); }
.ea-settings-chevron { transition: transform .2s; margin-left: auto; }
.ea-settings-toggle.ea-open .ea-settings-chevron { transform: rotate(180deg); }
.ea-settings-body { padding: 0 20px 20px; }
.ea-radio-group { display: flex; flex-direction: column; gap: 10px; }
.ea-radio-label { display: flex; align-items: center; gap: 10px; font-family: var(--font-ui); font-size: 14px; color: var(--texte); cursor: pointer; }
.ea-radio-label input[type="radio"] { width: 18px; height: 18px; accent-color: var(--vert); flex-shrink: 0; }
.ea-share-options { margin-top: 12px; padding-left: 28px; display: flex; flex-direction: column; gap: 8px; }

/* ═══ MESSAGING (B3) ═══ */
.ea-btn-new-msg { margin-left: auto; padding: 4px 12px; font-family: var(--font-ui); font-size: 12px; font-weight: 600; color: var(--vert); background: rgba(3, 129, 104, .1); border: 1px solid rgba(3, 129, 104, .2); border-radius: 4px 20px 4px 20px; cursor: pointer; transition: background .2s; white-space: nowrap; }
.ea-btn-new-msg:hover { background: rgba(3, 129, 104, .2); }
.ea-msg-tabs { display: flex; gap: 0; margin-bottom: 12px; border-bottom: 1px solid var(--support); }
.ea-msg-tab { flex: 1; padding: 8px 12px; font-family: var(--font-ui); font-size: 15px; font-weight: 600; color: var(--texte-light); background: none; border: none; border-bottom: 2px solid transparent; cursor: pointer; transition: color .2s, border-color .2s; text-align: center; }
.ea-msg-tab.active { color: var(--vert); border-bottom-color: var(--vert); }
.ea-msg-tab:hover { color: var(--texte); }
.ea-message-subject { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--texte); margin-top: 2px; }
.ea-autocomplete-wrap { position: relative; }
.ea-dest-input-row { display: flex; gap: 8px; align-items: center; }
.ea-dest-input-row .ea-input { flex: 1; }
.ea-btn-annuaire-inline { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; font-size: 13px; padding: 8px 12px; border: 1px solid var(--vert, #2F6B3A); color: var(--vert, #2F6B3A); border-radius: 8px; background: transparent; cursor: pointer; transition: all .2s; }
.ea-btn-annuaire-inline:hover { background: var(--vert, #2F6B3A); color: #fff; }
.ea-autocomplete-dropdown { position: absolute; top: 100%; left: 0; right: 0; background: var(--fond-carte); border: 1px solid var(--support); border-radius: 0 0 12px 12px; max-height: 240px; overflow-y: auto; z-index: 50; box-shadow: 0 8px 24px rgba(0,0,0,.2); }

/* Annuaire button on dashboard top */
.ea-dash-top-actions { display: flex; align-items: center; gap: 10px; }
.ea-btn-annuaire-top { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--vert, #2F6B3A); color: var(--vert, #2F6B3A); border-radius: 8px; padding: 6px 14px; font-size: 13px; text-decoration: none; transition: all .2s; }
.ea-btn-annuaire-top:hover { background: var(--vert, #2F6B3A); color: #fff; }
.ea-ac-item { padding: 10px 14px; cursor: pointer; transition: background .15s; display: flex; flex-direction: column; gap: 2px; }
.ea-ac-item:hover { background: var(--fond-alt); }
.ea-ac-item strong { font-family: var(--font-ui); font-size: 14px; color: var(--texte); }
.ea-ac-item small { font-family: var(--font-ui); font-size: 12px; color: var(--texte-light); }
.ea-msg-detail-header { padding-bottom: 16px; border-bottom: 1px solid var(--support); margin-bottom: 16px; }
.ea-msg-meta { font-family: var(--font-ui); font-size: 14px; color: var(--texte); line-height: 1.6; }
.ea-msg-meta small { color: var(--texte-light); }
.ea-msg-detail-body { font-family: var(--font-ui); font-size: 14px; color: var(--texte); }

/* ═══ VERIFICATION UPLOAD (B4) ═══ */
.ea-verify-fieldset { margin-top: 8px; }

/* ═══ EVENT TYPE CHIPS (B5) ═══ */
.ea-chips-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.ea-chip-check { display: inline-flex; align-items: center; border: 2px solid var(--chip-color, var(--support)); border-radius: 20px 4px 20px 4px; padding: 8px 16px; cursor: pointer; transition: all .2s; font-family: var(--font-ui); font-size: 15px; font-weight: 600; color: var(--chip-color, var(--texte)); user-select: none; }
.ea-chip-check input { display: none; }
.ea-chip-check:hover { background: color-mix(in srgb, var(--chip-color) 10%, transparent); }
.ea-chip-check:has(input:checked) { background: var(--chip-color); color: #fff; border-color: var(--chip-color); }

/* Cascading filter chips — level 2 (sous-type, smaller) */
.ea-chips-sm .ea-chip-check { font-size: 14px; padding: 6px 14px; border-width: 1.5px; }
/* Sous-type group header (shown when multiple themes selected) */
.ea-st-group-header { width: 100%; font-family: var(--font-ui); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--texte-light); margin-top: 8px; padding-bottom: 4px; border-bottom: 2px solid var(--support); }
.ea-st-group-header:first-child { margin-top: 0; }
/* Cascading filter chips — level 3 (precision, smallest) */
.ea-chips-xs .ea-chip-check { font-size: 12px; padding: 4px 10px; border-width: 1px; opacity: .85; }

/* ═══ PWA BANNER (B6) ═══ */
.ea-pwa-banner { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: rgba(3, 129, 104, .08); border: 1px solid rgba(3, 129, 104, .2); border-radius: 12px; position: relative; }
.ea-pwa-content { flex: 1; font-family: var(--font-ui); font-size: 13px; color: var(--texte); }
.ea-pwa-content strong { display: block; margin-bottom: 2px; }
.ea-pwa-content p { color: var(--texte-light); font-size: 12px; margin: 0; }
.ea-pwa-dismiss { position: absolute; top: 8px; right: 8px; background: none; border: none; color: var(--texte-light); font-size: 18px; cursor: pointer; line-height: 1; padding: 4px; }

/* ═══ RECURRENCE UI ═══ */
.ea-recurrence-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.ea-chip-radio { display: inline-flex; align-items: center; border: 2px solid var(--support); border-radius: 20px 4px 20px 4px; padding: 8px 16px; cursor: pointer; transition: all .2s; font-family: var(--font-ui); font-size: 13px; font-weight: 600; color: var(--texte-light); user-select: none; }
.ea-chip-radio input { display: none; }
.ea-chip-radio:hover { border-color: var(--vert); color: var(--texte); }
.ea-chip-radio:has(input:checked) { background: var(--vert); color: #fff; border-color: var(--vert); }

.ea-recurrence-panel { margin-top: 12px; padding: 16px; background: var(--fond-alt); border: 1px solid var(--support); border-radius: 12px; display: flex; flex-direction: column; gap: 14px; }

.ea-day-chips { display: flex; gap: 6px; }
.ea-chip-day { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 2px solid var(--support); border-radius: 50%; cursor: pointer; transition: all .2s; font-family: var(--font-ui); font-size: 13px; font-weight: 700; color: var(--texte-light); user-select: none; }
.ea-chip-day input { display: none; }
.ea-chip-day:hover { border-color: var(--vert); color: var(--texte); }
.ea-chip-day:has(input:checked) { background: var(--vert); color: #fff; border-color: var(--vert); }

.ea-recurrence-preview { font-family: var(--font-ui); font-size: 13px; color: var(--vert); font-weight: 600; padding: 8px 12px; background: rgba(3,129,104,.08); border-radius: 8px; }

.ea-dates-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ea-date-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--fond-alt); border: 1px solid var(--support); border-radius: 20px; font-family: var(--font-ui); font-size: 13px; color: var(--texte); }
.ea-date-chip button { background: none; border: none; color: var(--texte-light); cursor: pointer; font-size: 14px; padding: 0 2px; line-height: 1; }
.ea-date-chip button:hover { color: #e74c3c; }

/* ═══ MANDATORY FIELDS PROGRESS BAR ═══ */
.ea-publish-progress { margin-bottom: 24px; }
.ea-progress-bar { height: 8px; background: var(--support); border-radius: 4px; overflow: hidden; }
.ea-progress-fill { height: 100%; background: linear-gradient(90deg, #e74c3c, #F2A922, var(--vert)); border-radius: 4px; transition: width .4s ease; }
.ea-progress-label { font-family: var(--font-ui); font-size: 12px; color: var(--texte-light); margin-top: 6px; display: block; }
.ea-progress-complete .ea-progress-fill { background: var(--vert); }
.ea-field-error .ea-input,
.ea-field-error .ea-select,
.ea-field-error .ea-textarea { border-color: #e74c3c; }

/* ═══ PROFILE / CARTE IDENTITE ═══ */
.ea-action-profile { background: var(--vert); }
[data-screen="carte-identite"] .ea-upload-zone { min-height: 120px; }
[data-screen="carte-identite"] .ea-upload-preview img { width: 80px; height: 80px; }

/* ═══ PUBLIC VISIBILITY ═══ */
.ea-public-master { font-weight: 600; }
#ea-public-sub .ea-checkbox { opacity: 1; transition: opacity .2s; }

/* ═══ MESSAGE PÉDAGOGIQUE (erreur/succès/info/warning) ═══ */
.ea-message { display: flex; align-items: flex-start; gap: 10px; padding: 16px 20px; border-radius: 20px 4px 20px 4px; font-size: 16px; line-height: 1.5; animation: eaFadeSlideIn .3s ease; }
.ea-message-icon { flex-shrink: 0; font-size: 18px; line-height: 1; }
.ea-message-text { flex: 1; }
.ea-message-error   { background: #FEE; border-left: 4px solid #E53E3E; color: #742A2A; }
.ea-message-success { background: #F0FFF4; border-left: 4px solid #38A169; color: #22543D; }
.ea-message-info    { background: #EBF8FF; border-left: 4px solid #3182CE; color: #2A4365; }
.ea-message-warning { background: #FFFBEB; border-left: 4px solid #D69E2E; color: #744210; }
@keyframes eaFadeSlideIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

/* ═══ TOAST NOTIFICATIONS ═══ */
.ea-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); padding: 14px 28px; border-radius: 12px; font-family: var(--font-ui); font-size: 16px; font-weight: 600; z-index: 10000; animation: eaToastIn .3s ease, eaToastOut .3s ease 2.7s forwards; box-shadow: 0 4px 20px rgba(0,0,0,.15); max-width: calc(100vw - 32px); text-align: center; }
.ea-toast-success { background: var(--vert); color: #fff; }
.ea-toast-error { background: #e74c3c; color: #fff; }
.ea-toast-info { background: var(--cyan); color: #fff; }
@keyframes eaToastIn { from { opacity: 0; transform: translateX(-50%) translateY(20px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
@keyframes eaToastOut { from { opacity: 1; } to { opacity: 0; transform: translateX(-50%) translateY(-10px); } }

/* ══════════════════════════════════════
   ARTICLES ASSO — Gabarit, médias, galerie
   ══════════════════════════════════════ */

/* Chip group (gabarit selector) */
.ea-chip-group { display: flex; flex-wrap: wrap; gap: 8px; }
.ea-chip-radio.active { background: var(--vert); color: #fff; border-color: var(--vert); }
.ea-chip-icon { margin-right: 6px; }

/* Gabarit sections */
.ea-gabarit-section { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--support); }
.ea-form-section-title { font-family: var(--font-titre); font-size: 1rem; font-weight: 700; margin-bottom: 12px; color: var(--texte); display: flex; align-items: baseline; gap: 8px; }

/* Hero toggle */
.ea-hero-toggle { display: flex; gap: 16px; margin-bottom: 12px; }
.ea-radio-inline { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-ui); font-size: 13px; cursor: pointer; }

/* Textarea large (article content) */
.ea-textarea-large { min-height: 200px; resize: vertical; }

/* Media slots (photo/video toggle zones) */
.ea-media-slots { display: flex; flex-direction: column; gap: 16px; }
.ea-media-slot { background: var(--fond-carte); border: 1px solid var(--support); border-radius: 12px; padding: 12px; }
.ea-media-slot-toggle { display: flex; gap: 12px; margin-bottom: 8px; }
.ea-media-slot-photo, .ea-media-slot-video { margin-bottom: 8px; }
.ea-upload-zone-sm { padding: 16px; min-height: auto; }
.ea-upload-zone-sm .ea-upload-text { font-size: 12px; }
.ea-media-caption { font-size: 13px !important; margin-top: 4px; }
.ea-media-slot-preview { position: relative; }
.ea-media-slot-preview img { display: block; max-width: 100%; border-radius: 8px; }

/* Media gallery (compte-rendu, grid) */
.ea-media-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.ea-media-gallery .ea-media-slot { padding: 10px; }

/* Gallery remove button */
.ea-gallery-remove { background: none; border: 1px solid #E53E3E; color: #E53E3E; border-radius: 4px; padding: 2px 8px; font-size: 14px; cursor: pointer; }
.ea-gallery-remove:hover { background: #E53E3E; color: #fff; }

/* Charte checkbox */
.ea-charte-group { margin-top: 16px; padding: 16px; background: #F7F7F5; border-radius: 12px; }
.ea-checkbox-label { display: flex; align-items: flex-start; gap: 10px; font-family: var(--font-ui); font-size: 13px; cursor: pointer; line-height: 1.5; }
.ea-checkbox-label input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; }
.ea-checkbox-label a { color: var(--vert); text-decoration: underline; }

/* Button small variant */
.ea-btn-sm { font-size: 13px; padding: 6px 14px; }

/* PDF preview */
#ea-art-pdf-preview { display: flex; align-items: center; gap: 10px; padding: 10px; background: var(--fond-carte); border-radius: 8px; font-family: var(--font-ui); font-size: 13px; }
#ea-art-pdf-name { flex: 1; }

/* Bloc CTA article sur event-success */
.ea-article-cta-block {
  margin-top: 28px;
  padding: 28px;
  background: var(--fond-alt);
  border: 2px solid var(--violet, #7B2D8E);
  border-radius: 16px;
  text-align: center;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.ea-article-cta-icon {
  font-size: 36px;
  margin-bottom: 8px;
}
.ea-article-cta-title {
  font-family: var(--font-titre);
  font-size: 19px;
  font-weight: 700;
  color: var(--violet, #7B2D8E);
  margin: 0 0 12px;
  line-height: 1.3;
}
.ea-article-cta-text {
  font-family: var(--font-ui);
  font-size: 16px;
  color: var(--texte);
  line-height: 1.6;
  margin: 0 0 20px;
}
.ea-article-cta-note {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--texte-light);
  margin: 10px 0 0;
  font-style: italic;
}
/* Info article hint in event form */
.ea-info-article-hint {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #f3e8ff 0%, #e8f5e9 100%);
  border: 1px solid var(--violet, #7B2D8E);
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--texte-light);
  margin-bottom: 16px;
}
[data-theme="dark"] .ea-info-article-hint { background: var(--fond-alt); }
.ea-info-article-hint strong { color: var(--violet, #7B2D8E); }
.ea-info-article-hint svg { color: var(--violet, #7B2D8E); margin-top: 2px; }

.ea-btn-generate-article {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  padding: 14px 28px;
  font-weight: 600;
}

/* Article tab count */
.ea-tab-article .ea-tab-count { background: #D4652F; }

@media (max-width: 640px) {
	.ea-media-gallery { grid-template-columns: 1fr; }
	.ea-chip-group { flex-direction: column; }
	.ea-chip-group .ea-chip-radio { justify-content: center; }
}

/* === DARK MODE === */
[data-theme="dark"] .ea-message-error   { background: rgba(229,62,62,.12); color: #FC8181; }
[data-theme="dark"] .ea-message-success { background: rgba(56,161,105,.12); color: #68D391; }
[data-theme="dark"] .ea-message-warning { background: rgba(214,158,46,.12); color: #F6E05E; }
[data-theme="dark"] .ea-message-info    { background: rgba(49,130,206,.12); color: #90CDF4; }
[data-theme="dark"] .ea-charte-group    { background: var(--fond-alt); }
[data-theme="dark"] .ea-type-card       { background: var(--fond-carte); border-color: var(--support); }
[data-theme="dark"] .ea-type-active:hover { box-shadow: 0 8px 30px rgba(212,101,47,.08); }
[data-theme="dark"] .ea-cal-popup       { box-shadow: 0 4px 20px rgba(0,0,0,.4); }
[data-theme="dark"] .ea-autocomplete-dropdown { box-shadow: 0 8px 24px rgba(0,0,0,.5); }
[data-theme="dark"] .ea-toast-success   { background: #22543D; color: #C6F6D5; }
[data-theme="dark"] .ea-toast-error     { background: #742A2A; color: #FED7D7; }
[data-theme="dark"] .ea-filtered-events-panel { box-shadow: 0 4px 16px rgba(123,45,142,.08); }

/* ═══ ARTICLE CHOICE SCREEN ═══ */
.ea-choice-wrap { max-width: 840px; margin: 0 auto; }
.ea-choice-header { text-align: center; margin-bottom: 40px; }
.ea-choice-title { font-family: var(--font-titre); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; color: var(--texte); margin: 0 0 12px; }
.ea-choice-subtitle { font-family: var(--font-ui); font-size: 15px; color: var(--texte-light); line-height: 1.6; max-width: 560px; margin: 0 auto; text-wrap: pretty; }

.ea-choice-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 32px; }

.ea-choice-card {
  position: relative;
  background: var(--fond-carte);
  border: 2px solid var(--support);
  border-radius: 20px 4px 20px 4px;
  padding: 32px 28px 24px;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ea-choice-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(3, 129, 104, .12);
}
.ea-choice-card:active { transform: translateY(-2px); }

/* Icone wrap */
.ea-choice-icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ea-choice-icon-ia {
  background: linear-gradient(135deg, rgba(0, 150, 187, .12), rgba(3, 129, 104, .12));
  color: var(--cyan, #0096BB);
}
.ea-choice-icon-manual {
  background: linear-gradient(135deg, rgba(212, 101, 47, .12), rgba(232, 168, 124, .12));
  color: #D4652F;
}

.ea-choice-card-title { font-family: var(--font-titre); font-size: 1.15rem; font-weight: 700; color: var(--texte); margin: 0; line-height: 1.3; }
.ea-choice-card-desc { font-family: var(--font-ui); font-size: 14px; color: var(--texte-light); line-height: 1.6; margin: 0; flex: 1; text-wrap: pretty; }

.ea-choice-card-footer { margin-top: auto; }
.ea-choice-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 4px 20px 4px 20px;
  letter-spacing: .02em;
}
.ea-choice-badge-ia { background: linear-gradient(135deg, #038168, #0096BB); color: #fff; }
.ea-choice-badge-manual { background: var(--fond-alt); border: 1px solid var(--support); color: var(--texte); }

/* Hover states */
.ea-choice-ia:hover { border-color: #0096BB; }
.ea-choice-manual:hover { border-color: #D4652F; }

/* Note bas */
.ea-choice-note {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--texte-light);
  text-align: center;
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto;
  text-wrap: pretty;
}

/* ═══ EVENT SUCCESS — 2 boutons article ═══ */
.ea-article-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 20px 0 16px;
  flex-wrap: wrap;
}
.ea-btn-cta-ia,
.ea-btn-cta-manual {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  border-radius: 20px 4px 20px 4px;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
  border: none;
}
.ea-btn-cta-ia { background: linear-gradient(135deg, #038168, #0096BB); color: #fff; }
.ea-btn-cta-ia:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(3, 129, 104, .25); }
.ea-btn-cta-manual { background: var(--fond-carte); border: 2px solid var(--support); color: var(--texte); }
.ea-btn-cta-manual:hover { transform: translateY(-2px); border-color: #D4652F; box-shadow: 0 6px 20px rgba(212, 101, 47, .15); }

/* ═══ ARTICLE SUCCESS — Partage ═══ */
.ea-art-ia-mention {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--texte-light);
  font-style: italic;
  text-align: center;
  margin: 16px 0;
  padding: 12px 20px;
  background: var(--fond-alt);
  border-radius: 8px;
  border: 1px solid var(--support);
}

.ea-share-block { text-align: center; margin: 24px 0; }
.ea-share-label { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--texte); margin: 0 0 12px; }
.ea-share-buttons { display: flex; gap: 12px; justify-content: center; }
.ea-share-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--support);
  background: var(--fond-carte);
  color: var(--texte);
  cursor: pointer;
  transition: transform .2s, background .2s, color .2s;
  text-decoration: none;
}
.ea-share-btn:hover { transform: scale(1.1); }
.ea-share-fb:hover { background: #1877F2; color: #fff; border-color: #1877F2; }
.ea-share-wa:hover { background: #25D366; color: #fff; border-color: #25D366; }
.ea-share-ig:hover { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); color: #fff; border-color: transparent; }

/* ═══ RESPONSIVE — ARTICLE CHOICE ═══ */
@media (max-width: 640px) {
  .ea-choice-cards { grid-template-columns: 1fr; gap: 16px; }
  .ea-choice-card { padding: 24px 20px 20px; }
  .ea-choice-icon-wrap { width: 52px; height: 52px; border-radius: 12px; }
  .ea-choice-icon-wrap svg { width: 28px; height: 28px; }
  .ea-choice-card-title { font-size: 1.05rem; }
  .ea-article-cta-buttons { flex-direction: column; }
  .ea-btn-cta-ia,
  .ea-btn-cta-manual { width: 100%; justify-content: center; }
}

/* ═══ DARK MODE — ARTICLE CHOICE ═══ */
[data-theme="dark"] .ea-choice-card { background: var(--fond-carte); border-color: var(--support); }
[data-theme="dark"] .ea-choice-ia:hover { box-shadow: 0 8px 32px rgba(0, 150, 187, .1); }
[data-theme="dark"] .ea-choice-manual:hover { box-shadow: 0 8px 32px rgba(212, 101, 47, .08); }
[data-theme="dark"] .ea-choice-badge-manual { background: var(--fond-alt); border-color: var(--support); }
[data-theme="dark"] .ea-share-btn { background: var(--fond-alt); border-color: var(--support); }

/* ═══ RECURRENCE — AIDE ═══ */
/* Texte d'aide sous les chips (visible au clic) */
.ea-recurrence-help {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--texte);
  margin: 10px 0 0;
  line-height: 1.5;
  padding: 12px 16px;
  background: var(--fond-alt);
  border-left: 3px solid #D4652F;
  border-radius: 0 8px 8px 0;
}

/* Tooltip bulle verte au survol (desktop) */
.ea-recurrence-chips { position: relative; }
.ea-recurrence-chips .ea-chip-radio { position: relative; }
.ea-chip-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  background: #038168;
  color: #fff;
  font-family: var(--font-ui);
  font-size: 12px;
  line-height: 1.4;
  padding: 8px 14px;
  border-radius: 8px;
  white-space: normal;
  width: max-content;
  max-width: 260px;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s;
  z-index: 100;
  box-shadow: 0 4px 12px rgba(3, 129, 104, .25);
}
.ea-chip-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #038168;
}
@media (hover: hover) {
  .ea-chip-radio:hover .ea-chip-tooltip { opacity: 1; }
}
@media (max-width: 640px) {
  .ea-chip-tooltip { display: none; }
}

/* ═══ DATES MULTIPLES — OCCURRENCES ═══ */
.ea-multi-intro {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--texte-light);
  margin: 0 0 16px;
  line-height: 1.5;
}
.ea-occurrence-add {
  background: var(--fond-alt);
  border: 1px solid var(--support);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 16px;
}
.ea-field-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
@media (max-width: 640px) { .ea-field-row-3 { grid-template-columns: 1fr; } }

/* Liste des occurrences */
.ea-occurrences-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.ea-occurrence-card {
  background: var(--fond-carte);
  border: 1px solid var(--support);
  border-left: 3px solid #D4652F;
  border-radius: 8px;
  padding: 12px 16px;
  transition: box-shadow .2s;
}
.ea-occurrence-card:hover { box-shadow: 0 2px 12px rgba(212, 101, 47, .1); }
.ea-occurrence-header { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }
.ea-occurrence-date { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: #D4652F; text-transform: capitalize; }
.ea-occurrence-time { font-family: var(--font-mono, monospace); font-size: 13px; color: var(--texte-light); }
.ea-occurrence-edit {
  margin-left: auto;
  background: none;
  border: none;
  color: var(--vert, #038168);
  font-size: 16px;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  transition: color .2s;
}
.ea-occurrence-edit:hover { color: var(--cyan, #0096BB); }
.ea-occurrence-remove {
  background: none;
  border: none;
  color: var(--texte-light);
  font-size: 20px;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  transition: color .2s;
}
.ea-occurrence-remove:hover { color: #E53E3E; }
.ea-occurrence-titre { font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--texte); }
.ea-occurrence-desc { font-family: var(--font-ui); font-size: 13px; color: var(--texte-light); margin-top: 2px; line-height: 1.4; }
.ea-multi-global-price-wrap {
  padding: 16px;
  background: var(--fond-alt);
  border: 1px solid var(--support);
  border-left: 3px solid var(--vert, #038168);
  border-radius: 0 8px 8px 0;
  margin-top: 16px;
}
.ea-occurrence-insc {
  display: inline-block;
  margin-top: 4px;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 4px 20px 4px 20px;
  background: rgba(212, 101, 47, .1);
  color: var(--asso, #D4652F);
}
.ea-occ-form-title { font-family: var(--font-titre, sans-serif); font-size: 16px; font-weight: 700; color: var(--texte); margin: 0 0 16px; }
.ea-occurrence-infos { font-family: var(--font-ui); font-size: 12px; color: var(--texte-light); margin-top: 4px; }
.ea-occurrence-lien { font-family: var(--font-ui); font-size: 12px; color: var(--vert, #038168); text-decoration: none; margin-top: 2px; display: inline-block; }
.ea-occurrence-lien:hover { text-decoration: underline; }
.ea-occurrence-photo-wrap { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.ea-occurrence-photo { max-height: 60px; border-radius: 8px; object-fit: cover; }
.ea-occurrence-photo-btn {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  color: var(--vert, #038168);
  cursor: pointer;
  padding: 4px 10px;
  border: 1px solid var(--support);
  border-radius: 4px 20px 4px 20px;
  transition: border-color .2s;
}
.ea-occurrence-photo-btn:hover { border-color: var(--vert, #038168); }
.ea-occurrence-lieu { font-family: var(--font-ui); font-size: 13px; color: var(--cyan, #0096BB); margin-top: 4px; }
.ea-occurrence-prix {
  display: inline-block;
  margin-top: 6px;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 4px 20px 4px 20px;
  background: linear-gradient(135deg, rgba(3, 129, 104, .1), rgba(0, 150, 187, .1));
  color: var(--vert, #038168);
}

/* Choix mode publication */
.ea-multi-publish-mode { margin-top: 16px; }
.ea-multi-publish-help {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--texte);
  margin: 10px 0 0;
  line-height: 1.5;
  padding: 12px 16px;
  background: var(--fond-alt);
  border-left: 3px solid #0096BB;
  border-radius: 0 8px 8px 0;
}

/* Dark mode */
[data-theme="dark"] .ea-occurrence-add { background: var(--fond-alt); border-color: var(--support); }
[data-theme="dark"] .ea-occurrence-card { background: var(--fond-carte); border-color: var(--support); }
[data-theme="dark"] .ea-occurrence-card:hover { box-shadow: 0 2px 12px rgba(212, 101, 47, .06); }

/* ═══ SECTION DIVIDERS ═══ */
.ea-section-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 32px 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--support);
}
.ea-section-divider:first-of-type { margin-top: 8px; }
.ea-section-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--vert, #038168), var(--cyan, #0096BB));
  color: #fff;
  font-family: var(--font-titre, sans-serif);
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ea-section-label {
  font-family: var(--font-titre, sans-serif);
  font-size: 18px;
  font-weight: 700;
  color: var(--texte);
}

/* ═══ STICKY PROGRESS BAR ═══ */
.ea-publish-progress {
  position: sticky;
  top: 68px;
  z-index: 50;
  background: var(--fond-carte);
  padding: 12px 0;
  margin: -12px 0 16px;
  border-bottom: 1px solid var(--support);
}

/* ═══ STICKY FOOTER ACTIONS ═══ */
.ea-form-actions-spacer { height: 80px; }
.ea-form-sticky-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--fond-carte, #242A2E);
  border-top: 1px solid var(--support, #374151);
  padding: 0;
  z-index: 100;
  backdrop-filter: blur(10px);
  display: none;
}
.ea-sticky-progress-bar { padding: 0; }
.ea-sticky-progress-bar .ea-progress-bar { border-radius: 0; height: 4px; }
.ea-sticky-progress-bar .ea-progress-fill { border-radius: 0; }
[data-screen="event-form"].active ~ .ea-form-sticky-footer,
.ea-form-sticky-footer.visible { display: block; }
.ea-sticky-inner {
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 24px;
}
.ea-sticky-progress {
  font-family: var(--font-ui, sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--texte-light);
  background: var(--fond-alt);
  padding: 6px 14px;
  border-radius: 20px;
}
@media (max-width: 640px) {
  .ea-sticky-inner { flex-wrap: wrap; justify-content: center; gap: 8px; }
  .ea-sticky-progress { order: -1; width: 100%; text-align: center; }
}

/* ═══ DARK MODE — CHIPS CONTRASTE ═══ */
[data-theme="dark"] .ea-chip-check {
  --chip-color-light: color-mix(in srgb, var(--chip-color, var(--support)) 60%, #fff);
  border-color: var(--chip-color-light, var(--support));
  color: var(--chip-color-light, var(--texte));
}
[data-theme="dark"] .ea-chip-check:hover {
  background: color-mix(in srgb, var(--chip-color) 15%, transparent);
}
[data-theme="dark"] .ea-chip-check:has(input:checked) {
  background: var(--chip-color);
  color: #fff;
  border-color: var(--chip-color);
}
/* Chips radio (récurrence, etc.) — même traitement */
[data-theme="dark"] .ea-chip-radio {
  border-color: var(--support);
  color: var(--texte);
}
[data-theme="dark"] .ea-chip-radio:has(input:checked) {
  border-color: var(--vert);
  background: rgba(3, 129, 104, .15);
  color: var(--texte);
}

.ea-dash-help-banner {
  padding: 14px 18px;
  background: var(--fond-alt);
  border-left: 3px solid var(--vert, #038168);
  border-radius: 0 8px 8px 0;
  margin-bottom: 20px;
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--texte);
  line-height: 1.6;
}

/* Address autocomplete */
.ea-address-autocomplete { position: relative; }
.ea-address-suggestions {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--fond-carte);
  border: 1px solid var(--support);
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  z-index: 50;
  max-height: 200px;
  overflow-y: auto;
}
.ea-address-option {
  padding: 10px 14px;
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: 14px;
  border-bottom: 1px solid var(--support);
  transition: background .15s;
}
.ea-address-option:last-child { border-bottom: none; }
.ea-address-option:hover { background: var(--fond-alt); }
