/* DREAM 5 — feuille de style v2 */
:root {
  --navy: #152238; --navy-dark: #0b1424; --gold: #d4a85a; --gold-dark: #8d6928;
  --bg: #f5f5f7; --card: #ffffff; --text: #1f2937; --muted: #6b7280;
  --border: #e5e7eb; --error: #c0392b; --ok: #1e8449;
}
* { box-sizing: border-box; }
body { margin:0; padding:0; background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.5; }
.wrap { max-width:1280px; margin:0 auto; padding:0 16px; }
header.top { background:var(--navy); color:#fff; padding:14px 0; margin-bottom:24px; }
header.top .header-flex { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
header.top .header-logo { max-height:60px; max-width:60px; border-radius:6px; }
header.top .header-text { display:flex; flex-direction:column; line-height:1.2; }
header.top strong { font-size:20px; letter-spacing:1px; }
header.top .sub { color:var(--gold); font-size:12px; }
header.top .admin-bar { margin-left:auto; font-size:13px; }
header.top a { color:var(--gold); text-decoration:none; }
header.top a:hover { text-decoration:underline; }
footer { text-align:center; color:var(--muted); padding:20px 0; margin-top:60px; border-top:1px solid var(--border); }
h1 { color:var(--navy); }
h2 { color:var(--navy); margin-top:28px; padding-bottom:6px; border-bottom:2px solid #eef3fb; font-size:18px; }
h3 { color:var(--navy); font-size:16px; }
h2:first-of-type { margin-top:0; }
.muted { color:var(--muted); }
.small { font-size:13px; }
.lead { font-size:18px; }
.center { text-align:center; }
.card { background:var(--card); border-radius:8px; padding:24px 28px; box-shadow:0 2px 8px rgba(0,0,0,0.06); margin-bottom:16px; }
.card.narrow { max-width:560px; margin:30px auto; }
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=search],
input[type=number], textarea, select {
  width:100%; padding:9px 11px; border:1px solid var(--border); border-radius:5px;
  font-size:15px; font-family:inherit; margin-top:4px;
}
input:focus, textarea:focus, select:focus { outline:2px solid #eef3fb; border-color:var(--navy); }
textarea { min-height:70px; resize:vertical; }
label { font-weight:600; font-size:14px; margin-top:14px; display:block; }
.row { display:flex; gap:16px; flex-wrap:wrap; }
.row .col { flex:1 1 280px; }
.radios, .checks { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.radios label, .checks label { font-weight:normal; font-size:14px; padding:6px 10px; background:#eef3fb; border-radius:5px; cursor:pointer; }
.radios input, .checks input { margin-right:6px; }
.rgpd { background:#fafafa; padding:12px; border-radius:5px; margin-top:18px; font-size:13px; }
.rgpd label { font-weight:normal; }
.resto-block { background:#fafbfc; padding:14px 18px; border-radius:6px; border:1px solid var(--border); margin-top:14px; }
.resto-block h3 { margin:0 0 8px; }
button, .btn { background:#fff; color:var(--navy); border:1px solid var(--navy);
  padding:9px 18px; border-radius:5px; font-size:14px; cursor:pointer; font-weight:600;
  text-decoration:none; display:inline-block; }
button:hover, .btn:hover { background:#eef3fb; }
button.primary, .btn.primary { background:var(--navy); color:#fff; border-color:var(--navy); margin-top:18px; }
button.primary:hover, .btn.primary:hover { background:var(--navy-dark); }
.flash { padding:12px 16px; border-radius:5px; margin:14px 0; }
.flash.error { background:#fce8e6; border-left:4px solid var(--error); }
.flash.success { background:#eaf7ef; border-left:4px solid var(--ok); }
.flash ul { margin:6px 0 0 18px; }
.counters { background:#fafafa; padding:10px 14px; border-radius:5px; }
.tabs { list-style:none; padding:0; display:flex; gap:8px; margin:16px 0; flex-wrap:wrap; }
.tabs a { color:var(--muted); text-decoration:none; padding:6px 12px; border-radius:4px; font-size:13px; }
.tabs a.active { background:var(--navy); color:#fff; }
.tabs a:hover { background:#eef3fb; color:var(--navy); }
form.search { display:flex; gap:8px; align-items:center; margin-bottom:16px; flex-wrap:wrap; }
form.search input[type=search] { flex:1 1 240px; margin-top:0; }
table.grid { width:100%; border-collapse:collapse; background:#fff; border-radius:6px; overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,0.06); font-size:12.5px; }
table.grid th { background:var(--navy); color:#fff; padding:9px 7px; text-align:left; font-weight:600; }
table.grid th a { color:#fff; text-decoration:none; }
table.grid td { padding:8px 7px; border-bottom:1px solid var(--border); vertical-align:top; }
table.grid tr:hover { background:#fafafa; }
table.info { width:100%; background:#fafbfc; border-radius:6px; }
table.info th { text-align:left; font-weight:600; padding:8px 12px; color:var(--muted); width:160px; }
table.info td { padding:8px 12px; }
.badge { color:#fff; padding:3px 8px; border-radius:3px; font-size:11px; font-weight:600; display:inline-block; }
.actions { display:flex; gap:3px; flex-wrap:wrap; }
.actions form { margin:0; }
.btn-mini { padding:4px 8px; font-size:11px; border-radius:3px; cursor:pointer; border:1px solid var(--border); background:#fff; color:#374151; font-weight:600; }
.btn-mini.ok { background:var(--ok); color:#fff; border-color:var(--ok); }
.btn-mini.ko { background:var(--error); color:#fff; border-color:var(--error); }
.btn-mini.warn { background:#996800; color:#fff; border-color:#996800; }
details { margin-top:6px; }
details summary { cursor:pointer; font-size:12px; color:#555; }
details textarea { width:100%; min-height:50px; font-size:12px; margin-top:4px; }
hr { border:0; border-top:1px solid var(--border); margin:30px 0; }
code { background:#eef3fb; padding:1px 6px; border-radius:3px; font-size:13px; }
@media (max-width:680px) {
  header.top .admin-bar { font-size:11px; flex-basis:100%; margin-left:0; }
}
