/* ==========================================================================
   Espace adhérent — styles dédiés (reskin d'après design-ref/)
   Écrit à la main, hors build Vite/Tailwind. Chargé APRÈS `main` (dépendance).
   Tout est scopé sous `.ea` : aucune règle globale, Orkney héritée du thème.
   Réf. maquettes : design-ref/Espace Adherent.dc.html + Admin Documents.dc.html
   ========================================================================== */

.ea {
    --ea-green:   #027D6C;
    --ea-green-d: #015d50;
    --ea-navy:    #151E3A;
    --ea-gold:    #E8A836;
    --ea-blue-l:  #D2E8EF;
    --ea-text:    #5a6472;
    --ea-muted:   #8a93a3;
    --ea-line:    #e6ebef;
    --ea-field:   #dbe4ea;
    --ea-card-bd: #e6edf1;

    --ea-grad-green:  linear-gradient(155deg, #04a08d 0%, #027D6C 55%, #016155 100%);
    --ea-grad-navy:   linear-gradient(155deg, #25335f 0%, #151E3A 55%, #0d1428 100%);

    color: var(--ea-navy);
}

/* Neutralise le padding-top hérité quand on affiche l'overlay de connexion */
.ea { padding-top: 0; }

/* --------------------------------------------------------------------------
   Boutons scopés (le .btn-primary du thème est JAUNE : on ne l'utilise pas ici)
   -------------------------------------------------------------------------- */
.ea .ea-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: .85rem 1.6rem;
    border-radius: 26px;
    border: 1.5px solid transparent;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease, filter .18s ease;
}
.ea .ea-btn--primary { background: var(--ea-green); color: #fff; }
.ea .ea-btn--primary:hover,
.ea .ea-btn--primary:focus-visible { background: var(--ea-green-d); color: #fff; }
.ea .ea-btn--ghost {
    background: #fff;
    border-color: #d3dde3;
    color: var(--ea-navy);
    text-transform: none;
    letter-spacing: normal;
    border-radius: 10px;
}
.ea .ea-btn--ghost:hover { background: #eef3f5; }

/* ==========================================================================
   ÉCRAN DE CONNEXION (plein écran) + ACCÈS REFUSÉ
   Overlay fixe qui recouvre visuellement header/footer du site.
   ========================================================================== */
.ea-authscreen {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    overflow: auto;
    background: linear-gradient(140deg, #151E3A 0%, #123a45 55%, #027D6C 140%);
}

.ea-authcard {
    width: 460px;
    max-width: 100%;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 30px 80px rgba(9, 20, 40, .45);
    padding: 48px 46px 40px;
    text-align: center;
}

.ea-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
}
.ea-brand-logo { display: block; height: 92px; width: auto; max-width: 100%; }

.ea-authcard h1 { margin: 0 0 8px; font-size: 24px; font-weight: 700; }
.ea-authcard .ea-lead { margin: 0 0 26px; font-size: 14.5px; line-height: 1.5; color: var(--ea-text); }

.ea-form { text-align: left; margin: 0; }

.ea-field { display: block; margin-bottom: 18px; }
.ea-field > span {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ea-muted);
    margin-bottom: 7px;
}
.ea-form input[type="text"],
.ea-form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid var(--ea-field);
    border-radius: 12px;
    font-size: 15px;
    background: #fff;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ea-form input[type="text"]:focus,
.ea-form input[type="password"]:focus {
    border-color: var(--ea-green);
    box-shadow: 0 0 0 3px rgba(2, 125, 108, .14);
}

.ea-remember {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 13px;
    color: var(--ea-text);
    margin: 2px 0 4px;
}

.ea-error {
    color: #C0392B;
    font-size: 13px;
    margin: 4px 2px 14px;
    text-align: left;
}

.ea-submit {
    width: 100%;
    margin-top: 22px;
    padding: 15px;
    border-radius: 26px;
    letter-spacing: .14em;
}

.ea-lost {
    display: block;
    text-align: center;
    margin-top: 18px;
    font-size: 13px;
    color: var(--ea-green);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ea-lost:hover { color: var(--ea-green-d); }

/* Retour au site public depuis l'écran de connexion */
.ea-backsite {
    display: block;
    text-align: center;
    margin-top: 26px;
    font-size: 13px;
    color: var(--ea-text);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ea-backsite:hover { color: var(--ea-green-d); }

/* Accès refusé : logout discret */
.ea-authcard .ea-logout { margin: 22px 0 0; }
.ea-authcard .ea-logout a { color: var(--ea-green); text-decoration: underline; text-underline-offset: 3px; font-size: 14px; }

/* Honeypot */
.ea-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }

/* ==========================================================================
   HUB / ACCUEIL ESPACE — 2 cartes de choix
   ========================================================================== */
.ea-hub {
    max-width: 1060px;
    margin: 0 auto;
    padding: 72px 40px 96px;
}

.ea-hub-intro { text-align: center; margin-bottom: 52px; }
.ea-eyebrow {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ea-green);
}
.ea-hub-title { margin: 0 0 16px; font-size: clamp(2rem, 4vw, 44px); font-weight: 700; line-height: 1.1; }
.ea-hub-lead  { margin: 0 auto; font-size: 18px; color: var(--ea-text); max-width: 600px; }

.ea-choices {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
@media (min-width: 760px) { .ea-choices { grid-template-columns: 1fr 1fr; gap: 38px; } }

.ea-choice {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 56px 40px;
    min-height: 420px;
    border-radius: 0;              /* angles DROITS */
    color: #fff;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.ea-choice--green {
    background: var(--ea-grad-green);
    box-shadow: 0 28px 58px rgba(2, 125, 108, .30);
}
.ea-choice--navy {
    background: var(--ea-grad-navy);
    border-top: 6px solid var(--ea-gold);
    box-shadow: 0 28px 58px rgba(21, 30, 58, .34);
}
.ea-choice--green:hover { transform: translateY(-8px); box-shadow: 0 42px 82px rgba(2, 125, 108, .48); }
.ea-choice--navy:hover  { transform: translateY(-8px); box-shadow: 0 42px 82px rgba(21, 30, 58, .58); }

.ea-choice-badge {
    width: 116px; height: 116px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 30px;
}
.ea-choice--green .ea-choice-badge { background: rgba(255, 255, 255, .16); color: #fff; }
.ea-choice--navy  .ea-choice-badge { background: rgba(232, 168, 54, .2);  color: var(--ea-gold); }
.ea-choice-badge svg { display: block; }

.ea-choice-title { margin: 0 0 16px; font-size: 30px; font-weight: 700; color: #fff; }
.ea-choice-desc  { margin: 0 0 32px; font-size: 16px; line-height: 1.6; max-width: 360px; }
.ea-choice--green .ea-choice-desc { color: rgba(255, 255, 255, .85); }
.ea-choice--navy  .ea-choice-desc { color: rgba(255, 255, 255, .82); }

/* Bouton « Accéder » avec balayage blanc gauche→droite au survol de la carte */
.ea-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    border-radius: 28px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    transition: color .25s ease;
}
.ea-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .4s cubic-bezier(.55, .2, .1, 1);
    z-index: -1;
}
.ea-cta .ea-cta-arrow { font-size: 19px; line-height: 1; }
.ea-choice--green .ea-cta { background: rgba(255, 255, 255, .16); color: #fff; }
.ea-choice--navy  .ea-cta { background: rgba(232, 168, 54, .16); color: var(--ea-gold); }
.ea-choice:hover .ea-cta::after { transform: scaleX(1); }
.ea-choice--green:hover .ea-cta { color: var(--ea-green); }
.ea-choice--navy:hover  .ea-cta { color: var(--ea-navy); }

/* Outils bas de hub : gérer / déconnexion */
.ea-hub-tools {
    margin-top: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.ea-logout a {
    color: var(--ea-green);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 14px;
}
.ea-logout a:hover { color: var(--ea-green-d); }

/* ==========================================================================
   PAGES SECTION (Assurances / Secrétariat) — bandeau + bibliothèque
   ========================================================================== */
.ea-lib { --accent: var(--ea-green); }
.ea-lib--secretariat { --accent: var(--ea-gold); }

/* Bandeau pleine largeur */
.ea-banner {
    color: #fff;
    padding: 52px 0 56px;
}
.ea-banner--assurances  { background: linear-gradient(120deg, #027D6C 0%, #04998a 100%); }
.ea-banner--secretariat { background: linear-gradient(120deg, #151E3A 0%, #1e2b4f 100%); border-bottom: 5px solid var(--ea-gold); }

.ea-banner-inner { max-width: 1240px; margin: 0 auto; padding: 0 40px; }

.ea-back {
    display: inline-block;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, .85);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}
.ea-back:hover { color: #fff; }

.ea-banner-row { display: flex; align-items: center; gap: 20px; }
.ea-banner-badge {
    width: 66px; height: 66px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 22px rgba(1, 60, 52, .28);
    display: flex; align-items: center; justify-content: center;
}
.ea-lib--secretariat .ea-banner-badge { box-shadow: 0 8px 22px rgba(9, 14, 30, .3); }
.ea-banner-badge svg { display: block; }
.ea-banner-title { margin: 0; font-size: clamp(1.6rem, 3.5vw, 34px); font-weight: 700; }
.ea-banner-sub   { margin: 6px 0 0; font-size: 15.5px; color: rgba(255, 255, 255, .85); }

/* Corps : catégories */
.ea-lib-body { max-width: 1240px; margin: 0 auto; padding: 44px 40px 90px; }
.ea-empty { color: var(--ea-text); font-style: italic; }

.ea-cat { margin-bottom: 36px; }
.ea-cat-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.ea-cat-dot  { width: 10px; height: 10px; border-radius: 50%; background: var(--accent); flex: 0 0 auto; }
.ea-cat-name { margin: 0; font-size: 19px; font-weight: 700; }
.ea-cat-line { flex: 1; height: 1px; background: #e2eaef; }

.ea-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 760px) { .ea-docs { grid-template-columns: 1fr 1fr; } }

/* Ligne document uniforme (badge + titre + méta + chevron) */
.ea-doc { display: block; }
.ea-doc-link {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--ea-card-bd);
    border-radius: 14px;
    padding: 16px 18px;
    text-align: left;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .15s ease, transform .15s ease;
}
.ea-doc-link:hover { box-shadow: 0 10px 26px rgba(20, 35, 58, .10); transform: translateY(-2px); }

.ea-doc-badge {
    width: 46px; height: 46px;
    flex: 0 0 auto;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.ea-doc-badge svg { display: block; }
.ea-doc[data-type="file"]    .ea-doc-badge { background: rgba(2, 125, 108, .10);  color: #027D6C; }
.ea-doc[data-type="image"]   .ea-doc-badge { background: rgba(46, 125, 161, .10); color: #2E7DA1; }
.ea-doc[data-type="youtube"] .ea-doc-badge { background: rgba(192, 57, 43, .10);  color: #C0392B; }
.ea-doc[data-type="audio"]   .ea-doc-badge { background: rgba(232, 168, 54, .10); color: #E8A836; }

.ea-doc-main  { flex: 1; min-width: 0; }
.ea-doc-name  { display: block; font-size: 15.5px; font-weight: 700; color: var(--ea-navy); }
.ea-doc-meta  { display: block; font-size: 12.5px; color: var(--ea-muted); margin-top: 3px; }
.ea-doc-chev  { color: #c3ccd4; flex: 0 0 auto; display: flex; }
.ea-doc-chev svg { display: block; }

/* ==========================================================================
   GESTION DES DOCUMENTS (front-end) — back-office custom (design-ref/Admin Documents)
   ========================================================================== */
.ea-notice { border-radius: 10px; padding: .8rem 1.1rem; margin: 0 0 1.5rem; font-weight: 700; font-size: 14px; }
.ea-notice--ok  { background: #E6F4F1; color: #027D6C; }
.ea-notice--err { background: #FDECEA; color: #C0392B; }

/* Coquille plein écran (remplace visuellement le chrome du site) */
.ea-admin {
    position: fixed;
    inset: 0;
    z-index: 9990;
    overflow-y: auto;
    background: #eef3f5;
    color: var(--ea-navy);
    -webkit-font-smoothing: antialiased;
}

/* En-tête back-office collant */
.ea-admin-head {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 74px;
    padding: 0 40px;
    background: #fff;
    border-bottom: 1px solid #e3e9ed;
}
.ea-admin-brand { display: flex; align-items: center; gap: 16px; min-width: 0; }
.ea-admin-logo img { height: 40px; width: auto; display: block; }
.ea-admin-sep { width: 1px; height: 34px; background: #e3e9ed; flex: 0 0 auto; }
.ea-admin-titles { display: flex; flex-direction: column; min-width: 0; }
.ea-admin-t1 { font-size: 15px; font-weight: 700; }
.ea-admin-t2 { font-size: 12px; color: var(--ea-muted); }
.ea-admin-user { display: flex; align-items: center; gap: 14px; }
.ea-admin-back { font-size: 13px; color: var(--ea-muted); text-decoration: none; }
.ea-admin-back:hover { color: var(--ea-navy); }
.ea-admin-logout { font-size: 13px; font-weight: 500; color: var(--ea-green); text-decoration: underline; text-underline-offset: 3px; }
.ea-admin-logout:hover { color: var(--ea-green-d); }
.ea-admin-avatar { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 50%; background: var(--ea-navy); color: #fff; font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; }

.ea-admin-body { max-width: 1080px; margin: 0 auto; padding: 34px 40px 90px; }

/* Barre d'outils : bascule d'espace + boutons */
.ea-admin-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.ea-admin-tools { display: flex; gap: 12px; flex-wrap: wrap; }

.ea-seg { display: inline-flex; background: #e0e9ec; border-radius: 10px; padding: 4px; gap: 4px; }
.ea-seg-btn { padding: 9px 20px; border-radius: 7px; font-size: 14px; font-weight: 700; color: #5a6472; text-decoration: none; }
.ea-seg-btn.is-active { background: #fff; color: var(--ea-navy); box-shadow: 0 2px 6px rgba(20, 35, 58, .12); }

.ea-btn2 { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; border-radius: 9px; padding: 11px 18px; cursor: pointer; border: 1.5px solid transparent; text-decoration: none; transition: filter .15s ease, background .15s ease, border-color .15s ease; }
.ea-btn2--primary { background: var(--ea-green); color: #fff; }
.ea-btn2--primary:hover { filter: brightness(1.08); color: #fff; }
.ea-btn2--ghost { background: #fff; border-color: #d3dde3; color: var(--ea-navy); }
.ea-btn2--ghost:hover { background: #eef3f5; }

/* Cartes de catégorie */
.ea-catcard { background: #fff; border: 1px solid #e3e9ed; border-radius: 10px; margin-bottom: 20px; overflow: hidden; }
.ea-catcard-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 20px; border-bottom: 1px solid #eef2f4; background: #fbfcfd; flex-wrap: wrap; }
.ea-catcard-title { display: flex; align-items: center; gap: 12px; }
.ea-catcard-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent, #027D6C); }
.ea-catcard-dot--muted { background: #c3ccd4; }
.ea-catcard-name { font-size: 16px; font-weight: 700; }
.ea-catcard-count { font-size: 12px; font-weight: 700; color: var(--ea-muted); background: #eef3f5; border-radius: 20px; padding: 3px 10px; }
.ea-catcard-actions { display: flex; align-items: center; gap: 6px; }
.ea-catcard-add { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--ea-green); background: none; border: none; cursor: pointer; padding: 7px 12px; border-radius: 7px; }
.ea-catcard-add:hover { background: #eef3f5; }
.ea-catcard-empty { padding: 20px; text-align: center; color: #9aa4b0; font-size: 14px; margin: 0; }

/* Lignes documents */
.ea-arow { display: flex; align-items: center; gap: 16px; padding: 13px 20px; border-bottom: 1px solid #f2f5f7; transition: background .12s ease; }
.ea-arow:last-child { border-bottom: 0; }
.ea-arow:hover { background: #f7fafb; }
.ea-arow .ea-doc-badge { width: 42px; height: 42px; }
.ea-arow-main { flex: 1; min-width: 0; }
.ea-arow-title { display: block; font-size: 15px; font-weight: 700; color: var(--ea-navy); }
.ea-arow-meta  { display: block; font-size: 12.5px; color: var(--ea-muted); margin-top: 2px; }
.ea-arow-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.ea-arow[data-type="file"]    .ea-doc-badge { background: rgba(2, 125, 108, .10);  color: #027D6C; }
.ea-arow[data-type="image"]   .ea-doc-badge { background: rgba(46, 125, 161, .10); color: #2E7DA1; }
.ea-arow[data-type="youtube"] .ea-doc-badge { background: rgba(192, 57, 43, .10);  color: #C0392B; }
.ea-arow[data-type="audio"]   .ea-doc-badge { background: rgba(232, 168, 54, .10); color: #E8A836; }

.ea-iconbtn {
    width: 34px; height: 34px;
    border-radius: 7px;
    border: none;
    background: none;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--ea-text);
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.ea-iconbtn:hover { background: #eef3f5; }
.ea-iconbtn--del { color: #C0392B; }
.ea-iconbtn svg { display: block; }

/* ---- Modales (document / catégorie) ---- */
html.ea-modal-open { overflow: hidden; }
html.ea-modal-open .ea-admin { overflow: hidden; }
/* L'attribut [hidden] doit toujours l'emporter (nos éléments ont un display forcé). */
.ea-admin [hidden] { display: none !important; }
.ea-modal[hidden] { display: none; }
.ea-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 30px; }
.ea-modal-overlay { position: absolute; inset: 0; background: rgba(9, 17, 34, .6); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.ea-modal-box { position: relative; background: #fff; border-radius: 10px; width: 560px; max-width: 100%; max-height: 92vh; overflow: auto; box-shadow: 0 40px 90px rgba(0, 0, 0, .45); }
.ea-modal-box--sm { width: 440px; }
.ea-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 26px; border-bottom: 1px solid #eef2f4; }
.ea-modal-title { margin: 0; font-size: 18px; font-weight: 700; }
.ea-modal-x { width: 36px; height: 36px; border-radius: 50%; background: #f2f5f7; border: none; font-size: 18px; color: #5a6472; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ea-modal-x:hover { background: #e7edf0; }
.ea-modal-body { padding: 22px 26px; }
.ea-modal-foot { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 26px; border-top: 1px solid #eef2f4; background: #fbfcfd; }

.ea-mfield { display: block; margin-bottom: 18px; }
.ea-mfield > span:first-child { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ea-muted); margin-bottom: 7px; }
.ea-mfield input[type="text"],
.ea-mfield input[type="url"],
.ea-mfield select {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--ea-field);
    border-radius: 8px;
    font-size: 15px;
    background: #fff;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ea-mfield input:focus, .ea-mfield select:focus { border-color: var(--ea-green); box-shadow: 0 0 0 3px rgba(2, 125, 108, .12); }

.ea-typegrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.ea-typechip { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 4px; border: 1.5px solid var(--ea-field); border-radius: 9px; background: #fff; color: #5a6472; cursor: pointer; font-weight: 700; font-size: 12.5px; }
.ea-typechip svg { display: block; }
.ea-typechip[data-type="file"].is-active    { border-color: #027D6C; color: #027D6C; background: rgba(2, 125, 108, .07); }
.ea-typechip[data-type="image"].is-active   { border-color: #2E7DA1; color: #2E7DA1; background: rgba(46, 125, 161, .07); }
.ea-typechip[data-type="youtube"].is-active { border-color: #C0392B; color: #C0392B; background: rgba(192, 57, 43, .07); }
.ea-typechip[data-type="audio"].is-active   { border-color: #E8A836; color: #E8A836; background: rgba(232, 168, 54, .07); }

.ea-type-pane[hidden] { display: none; }
.ea-dropzone { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px; border: 1.8px dashed #cdd8de; border-radius: 10px; cursor: pointer; text-align: center; color: #027D6C; transition: border-color .15s ease, background .15s ease; }
.ea-dropzone:hover, .ea-dropzone.is-drag { border-color: #027D6C; background: #f5faf9; }
.ea-dropzone-text { font-size: 14px; color: #5a6472; }
.ea-dropzone-text b { color: #027D6C; }
.ea-dropzone-hint { font-size: 12px; color: #9aa4b0; }
.ea-dropzone input[type="file"] { display: none; }
.ea-dropzone-name { display: block; margin-top: 10px; font-size: 13.5px; color: var(--ea-navy); background: #f1f7f9; border-radius: 8px; padding: 10px 14px; }
.ea-dropzone-current { display: block; margin-top: 10px; font-size: 13px; color: var(--ea-navy); background: #f4f7f9; border: 1px solid #e6ebef; border-radius: 8px; padding: 9px 13px; line-height: 1.35; }
.ea-dropzone-current b { font-weight: 700; }
.ea-dropzone-keep { display: block; margin-top: 8px; font-size: 12.5px; color: var(--ea-muted); }
.ea-dropzone.is-error { border-color: #C0392B; background: #FDECEA; }
.ea-dropzone-error {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 10px;
    padding: 10px 14px;
    background: #FDECEA;
    border: 1px solid #f0c2bb;
    border-radius: 8px;
    color: #B23227;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
    line-height: 1.35;
}
.ea-dropzone-error::before {
    content: "";
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C0392B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cline x1='12' y1='8' x2='12' y2='12.5'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Notices en bandeau : même langage visuel (icône + encadré) */
.ea-notice { display: flex; align-items: center; gap: 10px; }
.ea-notice::before {
    content: "";
    flex: 0 0 auto;
    width: 18px; height: 18px;
    background: center / contain no-repeat;
}
.ea-notice--err::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C0392B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cline x1='12' y1='8' x2='12' y2='12.5'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}
.ea-notice--ok::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23027D6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 760px) {
    .ea-authcard { padding: 36px 26px 30px; }
    .ea-hub { padding: 48px 22px 64px; }
    .ea-choice { min-height: 340px; padding: 44px 28px; }
    .ea-choice-badge { width: 92px; height: 92px; margin-bottom: 22px; }
    .ea-choice-badge svg { transform: scale(.82); }
    .ea-banner-inner, .ea-lib-body { padding-left: 22px; padding-right: 22px; }
    .ea-banner-row { gap: 14px; }
    .ea-banner-badge { width: 54px; height: 54px; }

    /* Back-office */
    .ea-admin-head { height: auto; padding: 12px 18px; flex-wrap: wrap; gap: 10px; }
    .ea-admin-t2 { display: none; }
    .ea-admin-back { display: none; }
    .ea-admin-body { padding: 24px 18px 70px; }
    .ea-admin-toolbar { gap: 14px; }
    .ea-seg { width: 100%; }
    .ea-seg-btn { flex: 1; text-align: center; padding: 9px 10px; }
    .ea-typegrid { grid-template-columns: 1fr 1fr; }
    .ea-modal { padding: 16px; }
    .ea-arow { padding: 12px 14px; }
    .ea-catcard-head { gap: 8px; }
}
