:root {
  --bg: #000000;
  --card: #121212;
  --card-border: #2c2c2c;
  --accent: #f0b429;
  --accent-hover: #d89c1a;
  --text: #ffffff;
  --text-muted: #b3b3b3;
  --danger: #ff6b6b;
  --good: #6bcf8f;

  /* Backward-compatible aliases for pages using the old color names */
  --blue: var(--accent);
  --sky: var(--accent);
  --gray: var(--text-muted);
  --light: var(--card);
}
* { box-sizing: border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; margin:0; background:var(--bg); color:var(--text); }
header { background:#000000; color:var(--text); padding:14px 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; row-gap:8px; border-bottom:1px solid var(--card-border); }
header h1 { margin:0; font-size:1.3rem; color:var(--accent); letter-spacing:.02em; }
header > div { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
header a.btn-link { color:var(--text); text-decoration:none; border:1px solid var(--card-border); padding:4px 9px; border-radius:5px; font-size:.76rem; margin-right:0 !important; }
header a.btn-link:hover { border-color:var(--accent); color:var(--accent); }
a:not(.btn):not(.btn-link):not(.cal-add-btn) { color: var(--sky); }
a:not(.btn):not(.btn-link):not(.cal-add-btn):visited { color: var(--sky); }
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(85%); cursor: pointer; }
.container { max-width:640px; margin:0 auto; padding:24px; }
.container.wide { max-width:900px; }
.card { background:var(--card); border:1px solid var(--card-border); border-radius:14px; padding:24px; box-shadow:0 2px 12px rgba(0,0,0,.4); margin-bottom:20px; }
h2 { margin-top:0; color:var(--accent); font-size:1.1rem; }
label { display:block; font-size:.85rem; font-weight:600; margin:12px 0 4px; color:var(--text-muted); }
input, textarea, select { width:100%; padding:10px 12px; border:1px solid var(--card-border); border-radius:8px; font-size:.95rem; font-family:inherit; background:#1a1a1a; color:var(--text); }
input::placeholder, textarea::placeholder { color:#777; }
input:focus, textarea:focus, select:focus { outline:none; border-color:var(--accent); }
textarea { min-height:110px; resize:vertical; }
.btn { background:var(--accent); color:#000000; border:none; padding:11px 18px; border-radius:8px; font-size:.95rem; cursor:pointer; width:100%; margin-top:16px; font-weight:700; text-decoration:none; display:inline-block; text-align:center; }
.btn:hover { background:var(--accent-hover); }
.btn.small { width:auto; padding:8px 14px; font-size:.85rem; margin-top:0; }
.toggle { text-align:center; margin-top:14px; font-size:.85rem; color:var(--text-muted); }
.toggle a { color:var(--accent); font-weight:600; text-decoration:none; }
.toggle a:hover { text-decoration:underline; }
.error { color:var(--danger); font-size:.85rem; margin-top:8px; }
.msg { color:var(--good); font-size:.85rem; margin-top:8px; }
.session, .session-row { border:1px solid var(--card-border); background:#0d0d0d; border-radius:10px; padding:14px 16px; margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.session-info strong { display:block; font-size:1rem; color:var(--accent); }
.session-info span { font-size:.85rem; color:var(--text-muted); }
.session-info span a { color:var(--accent); }
.badge { font-size:.75rem; padding:3px 10px; border-radius:999px; background:#262626; color:var(--accent); font-weight:600; }
.badge.full { background:#3a1f1f; color:var(--danger); }
.badge.booked { background:#1c3020; color:var(--good); }
.empty { text-align:center; color:var(--text-muted); font-size:.9rem; padding:20px 0; }
.row { display:flex; gap:12px; flex-wrap:wrap; }
.row > div { flex:1; min-width:160px; }
.participant { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--card-border); font-size:.9rem; }
.participant:last-child { border-bottom:none; }
.participant span.email { color:var(--text-muted); font-size:.82rem; margin-left:auto; }
