/* =========================================================
   CEECI-UE — Espace Membre (extension du style admin)
   ========================================================= */

/* ------- Identité membre dans la sidebar ------- */
.mb-id{display:flex;gap:.8rem;align-items:center;padding:1.1rem 1.3rem;border-bottom:1px solid #ffffff14;background:#ffffff08}
.mb-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:14px;background:rgba(200,162,39,.18);border:2px solid rgba(200,162,39,.55);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',Georgia,serif;font-weight:800;color:#e2c14b;font-size:1.1rem;overflow:hidden}
.mb-avatar img{width:100%;height:100%;object-fit:cover}
.mb-id-txt{min-width:0}
.mb-id-txt b{display:block;color:#fff;font-size:.92rem;line-height:1.25}
.mb-id-txt span{display:block;font-size:.7rem;color:#8fa4c2;letter-spacing:.05em;margin:.1rem 0 .35rem}

/* ------- Étapes d'adhésion ------- */
.steps{display:grid;gap:.8rem;grid-template-columns:1fr;margin-bottom:1.4rem}
@media(min-width:820px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{display:flex;gap:.8rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.95rem 1rem;position:relative}
.step b{display:block;font-size:.86rem;color:var(--brand)}
.step small{font-size:.72rem;color:var(--muted)}
.step-dot{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;background:#eef2f7;color:var(--muted);border:2px solid var(--line)}
.step.done{border-color:#b9e4c7;background:#f4fbf6}
.step.done .step-dot{background:#166534;color:#fff;border-color:#166534}
.step.current{border-color:rgba(200,162,39,.6);background:#fffdf3}
.step.current .step-dot{background:var(--gold);color:#1b1b1b;border-color:var(--gold)}

/* ------- Cartes de paiement / actions ------- */
.pay-methods{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:820px){.pay-methods{grid-template-columns:1fr 1fr}}
.pay-card{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;transition:.2s}
.pay-card:hover{box-shadow:var(--shadow);border-color:rgba(200,162,39,.5)}
.pay-card .p-ic{width:54px;height:54px;flex:0 0 54px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--accent));color:var(--gold);display:flex;align-items:center;justify-content:center}
.pay-card b{display:block;color:var(--brand);font-size:.95rem}
.pay-card span{font-size:.8rem;color:var(--muted)}
.pay-card .btn{margin-left:auto;flex:0 0 auto}
.price-chip{display:inline-flex;align-items:baseline;gap:.25rem;background:rgba(18,58,114,.07);border-radius:10px;padding:.4rem .8rem;color:var(--brand);font-weight:800;font-family:'Playfair Display',serif;font-size:1.15rem}
.price-chip small{font-size:.7rem;font-family:'Inter',sans-serif;color:var(--muted);font-weight:600}

/* ------- Documents ------- */
.doc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;height:100%;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}
.doc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--gold))}
.doc-card .d-ic{width:48px;height:48px;border-radius:12px;background:rgba(200,162,39,.14);color:var(--gold-dark);display:flex;align-items:center;justify-content:center;margin-bottom:.3rem}
.doc-card h4{margin:0;font-family:'Playfair Display',serif;color:var(--brand);font-size:1.02rem}
.doc-card p{font-size:.82rem;color:var(--muted);margin:0;flex:1}
.doc-card.locked{opacity:.75}
.doc-lock{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted)}
.docs-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:760px){.docs-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.docs-grid{grid-template-columns:repeat(3,1fr)}}

/* ------- Connexion membre ------- */
.login-card .status-note{background:#f5f7fa;border:1px solid #e4e9f0;border-radius:10px;padding:.7rem .9rem;font-size:.8rem;color:var(--muted);text-align:left;margin-top:1.1rem}
.login-card .status-note b{color:var(--brand)}

/* ------- Bannière de statut ------- */
.status-banner{border-radius:var(--radius);padding:1.2rem 1.3rem;margin-bottom:1.4rem;display:flex;gap:1rem;align-items:flex-start}
.status-banner .ic{flex:0 0 auto;margin-top:.15rem}
.status-banner b{display:block;font-size:.96rem;margin-bottom:.15rem}
.status-banner p{font-size:.86rem;margin:0}
.status-wait{background:#fffdf0;border:1px solid #f1dfae;color:#7a5f10}
.status-ok{background:#edfaf1;border:1px solid #b9e4c7;color:#166534}
.status-ko{background:#fef1f1;border:1px solid #f5c6c6;color:#9b1c1c}

/* ------- Carte de membre (écran) ------- */
.card-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:1.2rem;padding:1rem 0 2rem}
.membre-card-rect{width:min(520px,100%);aspect-ratio:8.56/5.4;border-radius:18px;background:#fff;color:#123a72;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(10,34,73,.22);border:1px solid #d6e2f3;padding:0;display:flex;flex-direction:column;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.membre-card-rect::before{content:'';position:absolute;right:-60px;bottom:-60px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(18,58,114,.08),rgba(18,58,114,0) 70%);border:2px solid rgba(18,58,114,.08)}
.membre-card-rect::after{content:'';position:absolute;left:0;right:0;bottom:0;height:9px;background:linear-gradient(90deg,#0a2249,#123a72 45%,#2f6fc4)}
.mc-head{display:flex;align-items:center;gap:.7rem;position:relative;z-index:2;background:linear-gradient(110deg,#0a2249,#123a72 60%,#1d56a8);color:#fff;padding:.7rem 1.2rem}
.mc-head img{width:44px;height:44px;background:#fff;border-radius:50%;padding:2px}
.mc-head b{font-family:'Playfair Display',serif;font-size:1.05rem;line-height:1.15}
.mc-head small{display:block;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:#d5e2f5}
.mc-body{flex:1;display:flex;gap:1rem;align-items:center;position:relative;z-index:2;padding:.6rem 1.2rem 0}
.mc-photo{width:92px;height:112px;border-radius:10px;background:#eef3fb;border:2px solid #123a72;object-fit:cover;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:800;color:#123a72;overflow:hidden;flex:0 0 92px}
.mc-photo img{width:100%;height:100%;object-fit:cover}
.mc-info .tag-lbl{font-size:.56rem;text-transform:uppercase;letter-spacing:.12em;color:#5b7299}
.mc-info h3{font-family:'Playfair Display',serif;margin:.1rem 0 .3rem;font-size:1.15rem;color:#0a2249}
.mc-info p{margin:.1rem 0;font-size:.74rem;color:#3c5274}
.mc-foot{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2;font-size:.66rem;color:#5b7299;padding:0 1.2rem .95rem}
.mc-foot .mc-num{font-size:.8rem;color:#fff;background:#123a72;font-weight:700;letter-spacing:.05em;padding:.18rem .55rem;border-radius:6px}
.mc-sign{font-family:'Playfair Display',serif;font-style:italic;color:#123a72;text-align:right}
.mc-verso .mc-body p{margin:.1rem 0;font-size:.72rem;color:#3c5274}

/* ------- Impression ------- */
@media print{
  body *{visibility:hidden}
  .print-zone,.print-zone *{visibility:visible}
  .print-zone{position:absolute;inset:0;display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:2rem;margin:0}
  .no-print{display:none!important}
}
/* ================= V4 — Espace professionnel ================= */
.progress{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden;margin-top:1rem}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#e2c14b);border-radius:99px}
.progress.mini{height:5px;margin-top:.45rem;width:120px}
.comm{display:flex;gap:.9rem;align-items:flex-start;border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand)}
.comm .ic{color:var(--brand);margin-top:.15rem;flex:0 0 auto}
.comm b{display:block;color:var(--brand)}
.comm p{margin:.25rem 0;font-size:.87rem;color:#26333f}
.comm small{font-size:.72rem;color:var(--muted)}
.comm-important{border-left-color:var(--gold);background:#fffdf3}
.comm-important .ic{color:var(--gold-dark,#8a6c10)}
.duo-adm{display:grid;gap:1.2rem;grid-template-columns:1fr;margin-bottom:.2rem}
@media(min-width:1000px){.duo-adm{grid-template-columns:1fr 1fr}}
.mini-row{display:flex;gap:.8rem;align-items:center;padding:.65rem 0;border-top:1px solid var(--line);color:inherit}
.mini-row:first-of-type{border-top:none}
.mini-row b{display:block;color:var(--brand);font-size:.9rem}
.mini-row span:not(.badge){font-size:.78rem;color:var(--muted)}
.mini-row + .btn,.panel > .btn{margin-top:.7rem}
.ev-date{flex:0 0 64px;height:68px;border-radius:12px;background:linear-gradient(160deg,var(--brand),#0a2249);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.ev-date b{font-family:'Playfair Display',serif;font-size:1.55rem}
.ev-date small{font-size:.66rem;text-transform:uppercase;color:var(--gold);margin-top:.2rem;letter-spacing:.06em}
.ev-date.sm{flex-basis:48px;height:52px}.ev-date.sm b{font-size:1.2rem}
.ev-item{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
.ev-item.is-in{border-left:4px solid #166534}
.ev-body{flex:1;min-width:220px}
.ev-body h4{margin:.35rem 0 .2rem;color:var(--brand);font-family:'Playfair Display',serif;font-size:1.05rem}
.ev-body p{margin:0 0 .3rem;font-size:.82rem;color:var(--muted)}
.ev-act{display:flex;flex-direction:column;align-items:flex-end}
.net-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.net-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;display:flex;flex-direction:column;gap:.7rem;transition:.2s}
.net-card:hover{box-shadow:var(--shadow);border-color:rgba(200,162,39,.5)}
.net-head{display:flex;gap:.8rem;align-items:center}
.net-av{background:linear-gradient(135deg,var(--brand),#0a2249)!important;color:#fff!important}
.net-head b{display:block;color:var(--brand)}
.net-head span{display:block;font-size:.8rem;color:var(--muted)}
.net-meta{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;font-size:.8rem;color:var(--muted)}
.net-skills{margin:0;font-size:.82rem;color:#26333f}
.net-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:auto}
.type-pick{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.type-opt{position:relative;cursor:pointer}
.type-opt input{position:absolute;opacity:0}
.type-opt span{display:block;border:2px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:#fff;transition:.2s}
.type-opt b{display:block;color:var(--brand)}
.type-opt small{font-size:.76rem;color:var(--muted)}
.type-opt input:checked + span{border-color:var(--gold);background:#fffdf3;box-shadow:0 4px 14px rgba(200,162,39,.18)}
.empty-state{text-align:center;padding:2.4rem 1.4rem}
.empty-state .ic{color:var(--gold)}
.empty-state h3{justify-content:center}
.empty-state p{max-width:520px;margin:0 auto 1.2rem;color:var(--muted);font-size:.9rem}
.lib-cat{font-family:'Playfair Display',serif;color:var(--brand);margin:1.6rem 0 .8rem;font-size:1.1rem;border-left:3px solid var(--gold);padding-left:.6rem}
.f-filter{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.f-filter .f-select{width:auto;min-width:170px}
.mini-row .ev-date b{color:#fff;display:block}.mini-row .ev-date small{color:var(--gold)!important}
.net-av{width:64px!important;height:64px!important;flex-basis:64px!important;font-size:1.2rem}
.net-av img{border-radius:14px}
.net-flag{position:absolute;right:-6px;bottom:-6px;width:26px;height:26px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25);background:#fff;display:flex}
.net-flag img{width:100%!important;height:100%;object-fit:cover}
.dir-mini-flag{width:20px!important;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.1);vertical-align:-2px}

/* Cotisation mensuelle + code de référence (v7) */
.pay-ref{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1.2rem}
.pay-ref>div{flex:1 1 240px;border-radius:14px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.15rem}
.pay-ref small{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.pay-ref-amount{background:linear-gradient(135deg,#123a72,#1a4d97);color:#fff}
.pay-ref-amount b{font-size:1.7rem;font-family:'Playfair Display',serif;line-height:1.1}
.pay-ref-amount span{font-size:.82rem;opacity:.85}
.pay-ref-code{background:#fff;border:2px dashed #123a72;color:#123a72;position:relative}
.pay-ref-code b{font-size:1.35rem;letter-spacing:.06em}
.pay-ref-copy{align-self:flex-start;margin-top:.35rem;border:none;background:#e7f0fb;color:#123a72;font-weight:700;border-radius:8px;padding:.3rem .8rem;cursor:pointer;font-size:.8rem}
