*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:#fff;color:#111;min-height:100vh;padding:1.25rem 1rem;max-width:680px;margin:0 auto}h1{font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:.75rem}h2{font-size:1.2rem;font-weight:600;margin:1.75rem 0 .75rem}p{line-height:1.5;margin-bottom:.5rem}input[type=text],input[type=email],input[type=date],input[type=number],select{background-color:#ffffe0;width:100%;font-family:inherit;font-size:1rem;padding:.65rem .75rem;border:1px solid #ccc;border-radius:6px;-webkit-appearance:none;appearance:none}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem;background-color:#ffffe0}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-group label{font-size:.9rem;font-weight:500;color:#333}.checkbox-group{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:1rem}.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem;flex-shrink:0;accent-color:#1a1a1a}button{font-family:inherit;font-size:1rem;padding:.7rem 1.25rem;border-radius:6px;border:1px solid #ccc;background:#f0f0f0;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:not-allowed}.admin-page button{background-color:#1a1a1a;color:#fff;border-color:#1a1a1a;font-weight:600}#book,#pay-button{background-color:#1a1a1a;color:#fff;border-color:#1a1a1a;width:100%;font-weight:600;font-size:1.05rem;padding:.9rem 1.25rem}#cancel-payment{margin-left:0;margin-top:.5rem;width:100%}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border-radius:4px}table{border-collapse:collapse;width:100%}th,td{border:1px solid #ccc;padding:.5rem .75rem;text-align:left;white-space:nowrap}th{background-color:#f8f8f8;font-size:.9rem}.delete-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.delete-input{background-color:#fff5f5;border:1px solid #f5a0a0;border-radius:6px;padding:.55rem .75rem;flex:1 1 180px;max-width:240px;font-family:inherit;font-size:.95rem}.delete-btn{font-size:.9rem;padding:.55rem 1rem;white-space:nowrap}#schedule-total{color:#c00;font-weight:600}#booked-count{color:#c00}#booking-message{margin-top:1rem;color:green;font-weight:600}#places-available{margin-bottom:.5rem}#card-element{border:1px solid #ccc;padding:.75rem;border-radius:6px}.admin-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.admin-form .form-group{margin-bottom:0}@media(min-width:540px){.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}}
