*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font: 16px/1.6 system-ui, sans-serif; background: #0e1621; color: #e8eef4; }
header { padding: 18px 24px; }
.brand { font-size: 1.3rem; color: #fff; text-decoration: none; font-weight: 300; }
.brand b { color: #29a3ff; } .brand span { color: #6b7f92; font-size: .9rem; }
main { max-width: 860px; margin: 0 auto; padding: 8px 20px 60px; }
h1 { font-weight: 600; font-size: 1.5rem; }
a { color: #4fb6ff; }
.hint, .none { color: #8ba0b4; }
.flash-err { background: #4a1517; border: 1px solid #a33; color: #ffd7d7; padding: 10px 20px; margin: 0 20px; border-radius: 8px; max-width: 820px; margin: 8px auto; }

.days { display: grid; gap: 10px; }
.day { background: #16222f; border: 1px solid #223243; border-radius: 10px; padding: 10px 16px; }
.day h2 { margin: 4px 0 10px; font-size: 1rem; color: #b9cbdc; text-transform: capitalize; }
.slots { display: flex; flex-wrap: wrap; gap: 8px; }
.slot { display: inline-block; padding: 7px 13px; background: #0b62c4; color: #fff; border-radius: 7px; text-decoration: none; font-variant-numeric: tabular-nums; }
.slot:hover { background: #29a3ff; }
.none { margin: 2px 0 6px; }

.picked { color: #b9cbdc; } .picked .change { margin-left: 10px; font-size: .9rem; }
form.book { display: grid; gap: 14px; max-width: 460px; }
form.book label { display: grid; gap: 5px; font-size: .95rem; color: #b9cbdc; }
form.book input, form.book select, form.book textarea {
  padding: 10px 12px; border-radius: 8px; border: 1px solid #2c415a;
  background: #101b28; color: #e8eef4; font: inherit; }
form.book small { color: #7d94a9; }
form.book .check { display: flex; gap: 8px; align-items: center; }
form.book .check input { width: auto; }
button.primary { padding: 12px 18px; background: #0b62c4; border: 0; border-radius: 8px;
  color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
button.primary:hover { background: #29a3ff; }

.done { text-align: center; padding: 60px 0; }
footer { text-align: center; color: #5b6f83; padding: 24px; font-size: .85rem; }
