/* Minimal, clair et responsive */
:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#1d2a3a;
  --muted:#6b7280;
  --primary:#2563eb;
  --yes:#22c55e;
  --maybe:#f59e0b;
  --no:#ef4444;
  --border:#e5e7eb;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans','Apple Color Emoji','Segoe UI Emoji';background:var(--bg);color:var(--text)}
.container{max-width:1000px;margin:0 auto;padding:24px}
header{margin-bottom:16px}
h1{margin:0 0 8px 0}
p{color:var(--muted)}

.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
input,textarea,select{padding:10px;border:1px solid var(--border);border-radius:10px;font-size:14px}
.btn{background:var(--primary);color:#fff;border:none;padding:10px 14px;border-radius:10px;cursor:pointer}
.btn.secondary{background:#374151}
.btn.danger{background:#9b1c1c}
.btn:disabled{opacity:.6;cursor:not-allowed}
.actions{margin-top:12px}

.slot-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.slot-row input{flex:0 0 auto}

.grid-table, .vote-table, .admin-table{width:100%;border-collapse:separate;border-spacing:0}
.grid-table th, .grid-table td,
.vote-table th, .vote-table td,
.admin-table th, .admin-table td{border:1px solid var(--border);padding:8px;text-align:center}
.grid-table thead th{position:sticky;top:0;background:var(--card);z-index:1}
.sticky{position:sticky;left:0;background:var(--card);text-align:left}

.cell.yes{background:rgba(34,197,94,.2)}
.cell.maybe{background:rgba(245,158,11,.2)}
.cell.no{background:rgba(239,68,68,.2)}
.cell.none{background:repeating-linear-gradient(45deg,#f0f0f0,#f0f0f0 10px,#fafafa 10px,#fafafa 20px)}

.choice{display:flex;gap:8px;justify-content:center}

.scroll-x{overflow:auto}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}


/* Badges for vote icons */
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:6px;
  font-weight:700;
  line-height:1;
  border:1px solid var(--border);
}
.badge.yes{ background: var(--yes); color:#ffffff; border-color: rgba(0,0,0,0.08); }
.badge.maybe{ background: var(--maybe); color:#ffffff; border-color: rgba(0,0,0,0.08); }
.badge.no{ background: var(--no); color:#ffffff; border-color: rgba(0,0,0,0.08); }

.email-row{ display:flex; gap:8px; align-items:center; margin-bottom:8px; }
