/* ===== Espace Membres - styles (cohérents avec le site public) ===== */
:root{
  --white:#fff; --black:#111; --gray-1:#555; --gray-2:#888;
  --gray-bg:#f6f7f6; --gray-line:#e8e9e8;
  --green:#159b78; --green-soft:#eaf6f2;
  --radius:18px; --radius-pill:50px; --font:'Manrope',sans-serif;
  --shadow:0 10px 40px rgba(0,0,0,.06);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);background:var(--gray-bg);color:var(--black);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---- Auth (login / register / forgot) 
body.auth{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:30px}---- */

body.auth{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:30px;gap:24px}
.auth-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:42px;width:100%;max-width:440px}
.auth-card .logo{display:block;height:60px;margin:0 auto 18px}
.auth-card h1{font-size:1.6rem;font-weight:800;text-align:center;margin-bottom:6px}
.auth-card .sub{text-align:center;color:var(--gray-1);margin-bottom:26px;font-size:.95rem}

/* ---- Header membres ---- */
.m-header{background:var(--white);border-bottom:1px solid var(--gray-line);position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;padding:14px 28px;flex-wrap:wrap;gap:12px}
.m-brand{display:flex;align-items:center;gap:12px;font-weight:800}
.m-brand img{height:38px}
.m-nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.m-nav a{font-weight:600;color:var(--gray-1);font-size:.95rem;transition:.2s}
.m-nav a:hover{color:var(--green)}
.m-admin-link{color:var(--green)!important}
.m-logout{color:#c0392b!important}

.m-main{max-width:1080px;margin:0 auto;padding:36px 24px}
.m-footer{text-align:center;padding:30px;color:var(--gray-2);font-size:.9rem;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

/* ---- Formulaires ---- */
.field{margin-bottom:16px}
.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px;color:var(--gray-1)}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--font);font-size:1rem;padding:13px 15px;
  border:1.5px solid var(--gray-line);border-radius:12px;background:var(--white);transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.btn{display:inline-block;font-weight:700;font-size:1rem;padding:13px 28px;border-radius:var(--radius-pill);
  cursor:pointer;border:none;transition:.25s;font-family:var(--font);text-align:center}
.btn-primary{background:var(--black);color:#fff}
.btn-primary:hover{background:var(--green)}
.btn-block{display:block;width:100%}
.btn-sm{padding:8px 18px;font-size:.9rem}
.btn-ghost{background:transparent;border:1.5px solid var(--gray-line)}
.btn-ghost:hover{border-color:var(--green);color:var(--green)}
.btn-danger{background:#fdecea;color:#c0392b}

.auth-links{text-align:center;margin-top:18px;font-size:.92rem;color:var(--gray-1)}
.auth-links a{color:var(--green);font-weight:600}

/* ---- Alertes ---- */
.alert{padding:13px 16px;border-radius:12px;margin-bottom:18px;font-size:.95rem}
.alert-success{background:var(--green-soft);color:var(--green)}
.alert-error{background:#fdecea;color:#c0392b}
.alert-info{background:#eef3f8;color:#2c5d8f}

/* ---- Cartes / dashboard ---- */
.page-head{margin-bottom:26px}
.page-head h1{font-size:1.9rem;font-weight:800}
.page-head p{color:var(--gray-1)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius);padding:24px;transition:.25s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card h3{font-size:1.1rem;margin-bottom:6px}
.card p{color:var(--gray-1);font-size:.92rem}
.card .big{font-size:2.2rem;font-weight:800;color:var(--green)}

.badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:5px 12px;border-radius:var(--radius-pill)}
.badge-green{background:var(--green-soft);color:var(--green)}
.badge-wait{background:#fff4e0;color:#b8791b}
.badge-gray{background:var(--gray-line);color:var(--gray-1)}

/* ---- Tables ---- */
.table-wrap{background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius);overflow:hidden;overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:540px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--gray-line);font-size:.93rem}
th{background:var(--gray-bg);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-1)}
tr:last-child td{border-bottom:none}

/* ---- Profil ---- */
.profile-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--green-soft);background:var(--gray-line)}

@media(max-width:640px){
  .row2{grid-template-columns:1fr}
  .auth-card{padding:30px 24px}
}
