:root{--font-brand:"Poppins",system-ui,sans-serif;--color-primary:#e6017e;--color-primary-tint:rgba(230,1,126,.08);--color-dark:#000;--color-light:#fff;--color-grey:#efefef;--color-grey-text:#6b6b6b;--color-success:#1a7f37;--color-error:#c4322f}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--color-light);color:var(--color-dark);font-family:var(--font-brand)}a{color:var(--color-primary)}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px 16px 48px}.brand-header,.card{width:100%;max-width:480px}.brand-header{margin-bottom:24px}.brand-logo{display:block;height:40px;width:auto;margin-bottom:16px}.admin-logo{height:32px;margin-bottom:20px}.brand-header .eyebrow{color:var(--color-primary);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px}.brand-header h1{font-weight:700;font-size:26px;line-height:1.25;margin:0 0 8px}.brand-header p{color:var(--color-grey-text);font-size:15px;margin:0}.step-label{font-weight:600;font-size:15px;margin:0 0 12px}.day-grid,.time-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:8px}.day-grid{grid-template-columns:1fr}.choice-btn{font-family:var(--font-brand);background:var(--color-light);border:2px solid var(--color-grey);border-radius:10px;padding:14px 12px;font-size:15px;font-weight:600;color:var(--color-dark);cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.choice-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-tint)}.choice-btn:disabled{opacity:.4;cursor:not-allowed}.choice-btn .remaining{display:block;font-weight:400;font-size:12px;color:var(--color-grey-text);margin-top:2px}.back-link{display:inline-block;margin-bottom:16px;font-size:14px;font-weight:600;color:var(--color-grey-text);cursor:pointer;background:none;border:none;padding:0;font-family:var(--font-brand)}.back-link:hover{color:var(--color-primary)}.selection-summary{background:var(--color-grey);border-radius:10px;padding:12px 14px;font-size:14px;margin-bottom:20px}.selection-summary strong{color:var(--color-primary)}form.details-form{display:flex;flex-direction:column;gap:14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field input{width:100%;font-family:var(--font-brand);font-size:15px;padding:12px 14px;border:2px solid var(--color-grey);border-radius:10px;background:var(--color-light);color:var(--color-dark)}.field input:focus,.field select:focus{outline:none;border-color:var(--color-primary)}.field select{width:100%;font-family:var(--font-brand);font-size:15px;padding:12px 14px;border:2px solid var(--color-grey);border-radius:10px;background:var(--color-light);color:var(--color-dark)}.checkbox-group{display:flex;flex-direction:column;gap:10px}.checkbox-option{display:flex!important;align-items:center;gap:10px;font-size:15px!important;font-weight:500!important;margin-bottom:0!important;cursor:pointer}.checkbox-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.primary-btn{font-family:var(--font-brand);background:var(--color-primary);color:var(--color-light);border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:700;cursor:pointer;margin-top:4px}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.error-box{background:#fdeceb;color:var(--color-error);border-radius:10px;padding:12px 14px;font-size:14px;margin-bottom:16px}.success-box{text-align:center}.success-box .check{font-size:40px;margin-bottom:8px}.success-box h2{font-size:22px;margin:0 0 10px}.success-box p{color:var(--color-grey-text);font-size:15px;line-height:1.5}.loading-note{font-size:13px;margin-top:4px}.loading-note,.privacy-note{color:var(--color-grey-text)}.privacy-note{font-size:12px;line-height:1.5;margin:4px 0 16px}.admin-page{max-width:900px;margin:0 auto;padding:32px 16px 64px}.admin-page h1{font-size:22px;margin-bottom:4px}.admin-page .sub{color:var(--color-grey-text);font-size:14px;margin-bottom:24px}.admin-day-heading{font-weight:700;font-size:17px;color:var(--color-primary);margin:28px 0 10px}.table-scroll{width:100%;overflow-x:auto}table.bookings-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}table.bookings-table th{text-align:left;background:var(--color-grey);padding:8px 10px;font-weight:700}table.bookings-table td{padding:8px 10px;border-bottom:1px solid var(--color-grey)}table.bookings-table tr.open-row td{color:var(--color-grey-text);font-style:italic}@media (min-width:420px){.time-grid{grid-template-columns:1fr 1fr}}