:root {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #172033;
  background: #f3f5f8;
}
* { box-sizing: border-box; }
body { margin: 0; }
.container { max-width: 1000px; margin: 0 auto; padding: 24px 16px 60px; }
.hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin: 20px 0 24px; }
.eyebrow { font-size:12px; font-weight:800; letter-spacing:.12em; margin:0 0 8px; color:#667085; }
h1 { margin:0 0 8px; font-size:clamp(30px,5vw,48px); }
h2 { margin:0; }
.hero p:not(.eyebrow) { margin:0; color:#667085; }
.card { background:#fff; border-radius:18px; padding:22px; box-shadow:0 8px 30px rgba(16,24,40,.07); margin-bottom:18px; }
.toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
button, .admin-link { border:0; border-radius:10px; padding:11px 15px; font-weight:700; cursor:pointer; text-decoration:none; }
.primary { background:#172033; color:#fff; }
.secondary, .admin-link { background:#eef1f5; color:#172033; }
button:disabled { opacity:.5; cursor:not-allowed; }
.slots { display:grid; gap:10px; }
.slot { display:flex; justify-content:space-between; align-items:center; gap:15px; border:1px solid #e4e7ec; border-radius:14px; padding:15px; }
.slot-info strong { display:block; margin-bottom:4px; }
.slot-info span { color:#667085; font-size:14px; }
.available { color:#157347; font-weight:800; }
.partial { color:#b54708; font-weight:800; }
.full { color:#b42318; font-weight:800; }
label { display:grid; gap:7px; font-weight:700; margin-bottom:14px; }
input { width:100%; padding:12px; border:1px solid #d0d5dd; border-radius:10px; font:inherit; background:#fff; }
form .primary { width:100%; }
.selected-slot { background:#f6f8fa; border-radius:12px; padding:12px; margin:0 0 18px; }
.hidden { display:none !important; }
.message { min-height:20px; margin:10px 0 0; font-weight:600; }
.grid-form { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; align-items:end; }
.grid-form label { margin:0; }
.grid-form .primary { height:44px; }
.admin-row { display:grid; grid-template-columns:1fr auto; gap:16px; padding:15px 0; border-bottom:1px solid #eaecf0; }
.admin-row:last-child { border-bottom:0; }
.client { margin-top:8px; font-size:14px; color:#475467; }
.danger { background:#fee4e2; color:#b42318; }
@media (max-width:700px) {
  .hero { flex-direction:column; }
  .grid-form { grid-template-columns:1fr 1fr; }
  .grid-form .primary { grid-column:1 / -1; }
  .slot { align-items:flex-start; flex-direction:column; }
  .slot button { width:100%; }
  .admin-row { grid-template-columns:1fr; }
}
