/* Compléments à la feuille d'origine (origin.css) */
@keyframes spin{to{transform:rotate(360deg)}}
a.auth-menu-item{display:block;color:inherit;text-decoration:none}
.auth-menu-item.active{font-weight:600;color:var(--vert-dark)}
.auth-menu-section{padding:8px 16px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--gris)}

/* ───────── Pages compte (connexion, invitation, foyer…) — esprit CRM ───────── */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;
  background:var(--cream) radial-gradient(ellipse at top,rgba(201,107,75,.10),transparent 60%)}
.auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  padding:36px 32px 28px;border-top:4px solid var(--vert)}
.auth-brand{text-align:center;margin-bottom:22px}
.auth-brand .logo-txt{font-family:'Josefin Sans',sans-serif;font-size:28px;color:var(--noir)}
.auth-brand .logo-txt em{color:var(--vert);font-style:normal}
.auth-brand .signature{font-family:'Homemade Apple',cursive;color:var(--menthe-dark);font-size:14px;margin-top:4px}
.auth-card h1{font-family:'Josefin Sans',sans-serif;font-size:22px;margin-bottom:4px;text-align:center}
.auth-card .sub{color:var(--gris);font-size:13px;text-align:center;margin-bottom:22px}
.auth-card .form-group{margin-bottom:14px}
.auth-card label{display:block;font-size:12px;font-weight:600;color:var(--noir);margin-bottom:5px}
.auth-card input,.page-card input,.page-card select{width:100%;border:1.5px solid rgba(29,29,27,.2);border-radius:var(--r);padding:11px 14px;font-size:14px;
  font-family:'Poppins',sans-serif;background:var(--cream-light);outline:none;transition:border-color .15s}
.auth-card input:focus,.page-card input:focus,.page-card select:focus{border-color:var(--vert);background:#fff}
.auth-card .btn{width:100%;margin-top:6px}
.errorlist{list-style:none;color:var(--rouge);font-size:12px;margin-top:4px}
.form-errors{background:#FBEAEA;color:var(--rouge);border-radius:var(--r);padding:10px 14px;font-size:13px;margin-bottom:14px}
.auth-links{text-align:center;margin-top:18px;font-size:12px}
.auth-links a{color:var(--vert-dark)}
.helptext{display:block;font-size:11px;color:var(--gris);margin-top:4px}
.helptext ul{padding-left:16px}

.flash{max-width:900px;margin:16px auto 0;padding:0 16px}
.flash div{border-radius:var(--r);padding:10px 16px;font-size:13px;margin-bottom:8px;background:#E9F1E8;color:var(--menthe-dark)}
.flash div.error{background:#FBEAEA;color:var(--rouge)}

.page-wrap{max-width:900px;margin:0 auto;padding:28px clamp(16px,4vw,32px) 60px}
.page-back{display:inline-block;margin-bottom:18px;color:var(--gris);text-decoration:none;font-size:13px;font-weight:600}
.page-back:hover{color:var(--noir)}
.page-title{font-family:'Josefin Sans',sans-serif;font-size:30px;margin-bottom:4px}
.page-sub{color:var(--gris);font-size:14px;margin-bottom:24px}
.page-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:22px 24px;margin-bottom:20px}
.page-card h2{font-family:'Josefin Sans',sans-serif;font-size:20px;margin-bottom:14px}
.page-card p.note{font-size:12px;color:var(--gris);margin-top:8px}
.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.inline-form .form-group{flex:1;min-width:180px;margin:0}
.inline-form label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}
.members{list-style:none}
.members li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--cream-dark);flex-wrap:wrap}
.members li:last-child{border-bottom:none}
.members .who{flex:1;min-width:160px}
.members .who strong{display:block;font-weight:600}
.members .who span{font-size:12px;color:var(--gris)}
.badge{background:var(--vert-pale);color:var(--vert-dark);border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700}
.badge.sage{background:#E3ECE2;color:var(--menthe-dark)}
.btn.sm{padding:6px 14px;font-size:12px}
.link-box{display:flex;gap:8px;margin-top:10px}
.link-box input{flex:1;font-size:12px !important;font-family:monospace !important}
.page-header{background:var(--noir);border-bottom:3px solid var(--vert);padding:0 clamp(16px,4vw,48px);display:flex;align-items:center}
.page-header a{text-decoration:none}

/* En-tête : le bouton utilisateur (avatar + prénom) tient sur une ligne en desktop */
@media (min-width:1100px){
  .header{gap:10px;flex-wrap:nowrap}
  .header-search{min-width:160px}
  .btn-import,.btn-planning,.btn-frigo,.btn-random,.menu-cats-btn{padding-left:15px;padding-right:15px;white-space:nowrap}
  .auth-btn{white-space:nowrap}
}
