.chardas-login { max-width: 500px; }
.chardas-login input { width: 100%; }
.chardas-error { color: #b32d2e; }
.chardas-grid-wrap { overflow-x: auto; }
.chardas-grid { width: 100%; border-collapse: collapse; }
.chardas-grid th, .chardas-grid td { padding: .5em .75em; border: 1px solid #ddd; text-align: left; }
.chardas-grid th { background: #000; color: #fff; }
.chardas-grid td:last-child { text-align: right; }
@media (max-width: 600px) {
	.chardas-grid thead { display: none; }
	.chardas-grid tr, .chardas-grid td { display: block; }
	.chardas-grid tr { margin-bottom: 1em; }
	.chardas-grid td { text-align: right; }
	.chardas-grid td::before { content: attr(data-label); float: left; font-weight: 600; }
}
.chardas-contact input,
.chardas-contact textarea { width: 100%; max-width: 400px; box-sizing: border-box; }
.chardas-grid .chardas-right { text-align: right; }
.chardas-forgot input { width: 100%; max-width: 500px; box-sizing: border-box; }
.chardas-forgot-actions { display: flex; justify-content: space-between; max-width: 500px; }
.chardas-forgot-cancel { background: #888; color: #fff; border-color: #888; }
.chardas-login-actions { display: flex; justify-content: space-between; align-items: center; }
.chardas-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1em; }
.chardas-toolbar { flex-wrap: wrap; }
.chardas-toolbar-buttons { display: flex; gap: .5em; margin-left: auto; }
.chardas-dialog { width: min(600px, 92vw); max-height: 90vh; overflow-y: auto; padding: 1.25em; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box; }
.chardas-dialog::backdrop { background: rgba(0, 0, 0, .5); }
.chardas-request input[type=date], .chardas-request input[type=tel], .chardas-request textarea { width: 100%; box-sizing: border-box; }
.chardas-request fieldset { margin: 0 0 0.5em 0; }
.chardas-request fieldset legend { margin-bottom: 0; }
.chardas-pet { display: block; margin-bottom: .35em; }
.chardas-req-actions { display: flex; justify-content: space-between; }
.chardas-warn { color: #c00; }
.chardas-req-close { background: #888; color: #fff; border-color: #888; }
.chardas-request input[type=date] { width: 150px; }
.chardas-dialog .chardas-request input[type=tel],
.chardas-dialog .chardas-request textarea { width: 100%; max-width: none; box-sizing: border-box; }
.chardas-req-actions[hidden] { display: none; }
.chardas-grid .chardas-unconfirmed { color: #c00; }
.chardas-date-error { color: #b32d2e; }
.chardas-row, .chardas-booking-only:not([hidden]) { display: flex; flex-wrap: wrap; gap: 0 2em; }
.chardas-amend input[type=date] { width: 150px; }
.chardas-edit-current { border-collapse: collapse; margin-bottom: 1em; }
.chardas-edit-current th, .chardas-edit-current td { padding: .5em .75em; border: 1px solid #ddd; text-align: left; }
.chardas-edit-current th { background: #000; color: #fff; }
.chardas-edit { white-space: nowrap; }
.chardas-dev-banner { background: #fff3cd; color: #842029; border: 2px solid #c00; padding: .5em .75em; font-size: .9em; }
.chardas-forgot-cancel.is-login { background: #2e7d32; border-color: #2e7d32; color: #fff; }
.chardas-toolbar { flex-wrap: nowrap; align-items: flex-start; }
.chardas-toolbar-text { flex: 1 1 0; min-width: 0; }
.chardas-toolbar-buttons { flex: 0 0 auto; }
/* Astra theme: keep the footer at the bottom of the window when the page content is short */
#page { min-height: 100vh; display: flex; flex-direction: column; }
body.admin-bar #page { min-height: calc(100vh - 32px); }
#page > #content { flex: 1 0 auto; }
.chardas-reset-login { background: #2e7d32; border-color: #2e7d32; color: #fff; }
