:root {
  color-scheme: light;
  font-family: Georgia, "Times New Roman", serif;
  background: #f2efe7;
  color: #17231f;
}

body { margin: 0; min-height: 100vh; display: grid; place-items: center; }
main { width: min(1040px, calc(100% - 32px)); margin: 48px auto; }
.eyebrow { font: 700 0.75rem Arial, sans-serif; letter-spacing: 0.18em; color: #a1472f; }
h1 { font-size: clamp(2.4rem, 8vw, 5rem); line-height: 0.95; margin: 0 0 24px; }
.intro { max-width: 600px; font-size: 1.15rem; line-height: 1.6; }
form { background: #fffdf7; border: 1px solid #c8c1b1; padding: clamp(20px, 5vw, 40px); box-shadow: 10px 10px 0 #193d34; }
label, legend { font: 700 0.9rem Arial, sans-serif; }
input, select { box-sizing: border-box; width: 100%; margin: 8px 0 20px; padding: 12px; border: 1px solid #706b60; background: white; font: 1rem Arial, sans-serif; }
.grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; }
fieldset { border: 0; padding: 0; margin: 4px 0; }
fieldset p { margin: 6px 0 0; color: #5c5a53; }
.consent { display: flex; align-items: start; gap: 10px; line-height: 1.4; }
.consent input { width: auto; margin: 2px 0; }
button { margin-top: 24px; padding: 14px 22px; border: 0; background: #a1472f; color: white; font: 700 1rem Arial, sans-serif; cursor: pointer; }
button:hover { background: #78331f; }
#status { min-height: 1.5em; font-weight: 700; }
.override-option { display: flex; align-items: center; gap: 10px; margin-top: 16px; }
.override-option input { width: auto; }
.room-note, .meta { color: #5c5a53; }
.request-card { margin-top: 16px; background: #fffdf7; border: 1px solid #c8c1b1; padding: 20px 24px; }
.request-card h3 { margin: 0 0 8px; font-size: 1.6rem; text-transform: none; letter-spacing: 0; }
.request-card p { margin: 8px 0; }
.request-summary { font: 1rem Arial, sans-serif; }
details { margin-top: 48px; }
summary { cursor: pointer; font: 700 1rem Arial, sans-serif; }
details form { margin-top: 16px; }
.bookings-panel { margin-top: 64px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
h2 { margin: 0; font-size: 2.4rem; }
h3 { font: 700 1rem Arial, sans-serif; text-transform: uppercase; letter-spacing: 0.08em; }
.section-heading button { margin: 0; }
.booking-sections { display: grid; gap: 32px; }
.table-scroll { overflow-x: auto; border: 1px solid #c8c1b1; background: #fffdf7; }
table { width: 100%; border-collapse: collapse; font: 0.9rem Arial, sans-serif; }
th { padding: 12px 14px; background: #193d34; color: white; text-align: left; }
td { padding: 12px 14px; border-top: 1px solid #ded8ca; vertical-align: middle; }
tbody tr:nth-child(even) { background: #f5f1e8; }
tbody tr:hover { background: #ebe4d5; }
.status-badge { display: inline-block; padding: 4px 9px; border-radius: 999px; font-weight: 700; text-transform: capitalize; white-space: nowrap; }
.status-success { background: #d7eadc; color: #155b2d; }
.status-waiting { background: #fff0bd; color: #715200; }
.status-processing { background: #dce9f7; color: #174d78; }
.status-muted { background: #e5e3df; color: #4d4b47; }
.status-error { background: #f5d8d4; color: #8a241c; }
.status-neutral { background: #e5e3df; color: #30302d; }
#bookings-status { font-weight: 700; }
@media (max-width: 560px) { .grid { grid-template-columns: 1fr; gap: 0; } }
