:root{
  --bg-main:#E6D9D9;
  --text-dark:#5B4B4B;
  --pink:#FF8FD4;
  --pink-soft:#FFD6F0;
  --white:#FFFFFF;
}
/* Reset léger */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  background:var(--bg-main);
  color:var(--text-dark);
}
a{color:var(--text-dark);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}

/* Layout */
.container{max-width:1100px;margin:0 auto;padding:20px}
.header{
  background:var(--bg-main);
  border-bottom:1px solid rgba(0,0,0,0.05);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 20px;
}
.nav .left{display:flex;align-items:center;gap:12px}
.nav .right{display:flex;align-items:center;gap:10px}
.logo{height:40px;width:auto}

/* Card */
.card{background:var(--white);border-radius:16px;box-shadow:0 6px 20px rgba(0,0,0,0.08);padding:22px}
.card-title{font-size:28px;font-weight:800;margin:0 0 12px}
.text-muted{opacity:.8}

/* Inputs */
.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.1);background:#fff;color:var(--text-dark)}
.input:focus-visible{outline:3px solid var(--pink-soft);border-color:var(--pink)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;cursor:pointer;font-weight:700}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn-primary{background:var(--pink);color:var(--text-dark)}
.btn-primary:hover{background:var(--pink-soft)}
.btn-ghost{background:transparent;border:1px solid var(--text-dark)}

/* Badges/messages */
.alert{display:none;margin-top:12px;border-radius:12px;padding:12px 14px}
.alert.show{display:block}
.alert-success{background:#e9fff2;border:1px solid #1db95430}
.alert-error{background:var(--pink-soft);border:1px solid #00000022;color:var(--text-dark)}

/* Field errors */
.error-text{margin-top:6px;display:none;background:var(--pink-soft);color:var(--text-dark);border-radius:10px;padding:8px 10px;border:1px solid #00000014}
.error-text.show{display:block}

/* Utils */
.center{display:flex;align-items:center;justify-content:center}
.mt-8{margin-top:8px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.text-right{text-align:right}
.small{font-size:14px}
.bold{font-weight:700}
