.scr-wrap { max-width: 900px; margin: 0 auto; width: fit-content; }
.scr-wrap form { padding: 35px; border: 1px solid #e4e4e4; border-radius: 12px; background-color: #f2f2f2 }
.scr-wrap.scr-booking { width: unset; }
.scr-form label { display: block; font-weight: 600; }
.scr-form input[type=text], .scr-form input[type=email], .scr-form input[type=tel],
.scr-form input[type=password] { width: 100%; max-width: 420px; padding: 8px; display: block; margin-top: 4px; }
.scr-login input.input { width: auto; max-width: 100%; }
.scr-register-link { margin-top: 12px; }
.scr-hp { position: absolute; left: -9999px; }
.scr-small { font-size: 0.85em; opacity: 0.75; }
.scr-btn, .scr-reserve, .scr-login input[type=submit] { background: #1d6b4f; color: #fff; border: 0; border-radius: 4px; padding: 10px 18px; cursor: pointer; font-size: 1em; }
.scr-btn-small { padding: 6px 12px; }
.scr-btn:disabled, .scr-reserve:disabled { opacity: 0.5; cursor: default; }
.scr-notice { padding: 10px 14px; border-radius: 4px; margin: 0 0 14px; }
.scr-message:empty { display: none; }
.scr-ok { background: #e6f4ec; color: #14532d; }
.scr-err { background: #fdecea; color: #7f1d1d; }
.scr-bar { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.scr-bar input[type=date] { padding: 6px; }
.scr-table { width: 100%; border-collapse: collapse; }
.scr-table th, .scr-table td { border: 1px solid #ddd; padding: 8px; text-align: center; }
.scr-slots th:first-child { text-align: left; white-space: nowrap; }
td.scr-cell.scr-open { background: #f1faf5; }
td.scr-cell.scr-taken { background: #eee; color: #777; }
td.scr-cell.scr-mine { background: #dbeafe; color: #1e3a8a; font-weight: 600; }
td.scr-cell.scr-closed { color: #aaa; }
.scr-legend { font-size: 0.85em; margin-top: 12px; }
.scr-key { display: inline-block; width: 12px; height: 12px; border: 1px solid #bbb; margin: 0 4px 0 12px; vertical-align: middle; }
.scr-key.scr-open { background: #f1faf5; }
.scr-key.scr-mine { background: #dbeafe; }
.scr-key.scr-taken { background: #eee; }
.scr-grid-wrap { overflow-x: auto; }
@media (max-width: 600px) {
	.scr-table th, .scr-table td { padding: 6px 4px; font-size: 0.9em; }
}
