*{box-sizing:border-box}html{color:#152944;background:#f2f5f9;font-family:Arial,Helvetica,sans-serif;font-size:16px}body{margin:0}a{color:#17558b;text-underline-offset:3px}button,input,select{font:inherit}button,a.primary{cursor:pointer}button:disabled{cursor:default}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible){outline-offset:3px;outline:3px solid #e9aa32}.booking{max-width:850px;margin:auto;padding:36px 28px}.brand{margin-bottom:40px;font-weight:700;text-decoration:none;display:block}.eyebrow{letter-spacing:.13em;color:#35627f;font-size:.8rem;font-weight:700;display:block}h1{letter-spacing:-.04em;margin:16px 0;font-size:clamp(2.2rem,7vw,3.6rem);line-height:1.05}h2{margin:0 0 20px;font-size:1.25rem}.event-name{font-size:1.12rem}.facts{gap:40px;margin:28px 0 32px;line-height:1.6;display:flex}.facts span{border-left:3px solid #dfa72e;padding-left:16px}.surface,.success{background:#fff;border:1px solid #dce3ec;border-radius:14px;padding:28px}.section-title{justify-content:space-between;align-items:baseline;display:flex}.section-title span,.small,.hint{color:#50627a;font-size:.875rem;line-height:1.5}.slots{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:34px;display:grid}.slot{text-align:left;color:#152944;background:#fff;border:1px solid #becbd8;border-radius:8px;min-height:80px;padding:16px 12px}.slot strong,.slot span{display:block}.slot strong{font-size:1rem}.slot span{margin-top:8px;font-size:.875rem}.slot.selected{color:#fff;background:#143c64;border-color:#143c64;box-shadow:0 0 0 2px #143c64}.slot:disabled{color:#68778b;background:#f5f7fa;border-color:#dce3ec}.notice{background:#edf3fa;border-left:3px solid #35627f;padding:16px;line-height:1.5}.error{color:#922b20;background:#fff0ed;padding:18px;line-height:1.5}form label{margin-bottom:20px;font-size:.9375rem;font-weight:700;display:block}input:not([type=checkbox]),select{color:#152944;background:#fff;border:1px solid #aabace;border-radius:6px;width:100%;margin-top:8px;padding:13px;display:block}input:disabled{background:#f5f7fa}.hint{margin-top:6px;font-weight:400;display:block}.check{align-items:flex-start;gap:12px;font-weight:400;line-height:1.5;display:flex}.check input{flex-shrink:0;width:19px;height:19px}.primary{color:#fff;background:#173f68;border:0;border-radius:7px;padding:15px 22px;font-weight:700;text-decoration:none;display:inline-block}.primary:disabled{background:#9eaab8}.chosen{border-top:1px solid #dce3ec;padding-top:18px}.trap{position:absolute;left:-9999px}footer{color:#50627a;justify-content:space-between;gap:20px;margin-top:26px;font-size:.875rem;display:flex}.success{border-top:5px solid #173f68;line-height:1.6}.success h2{margin-top:16px;font-size:1.8rem}.admin{max-width:1300px;margin:auto;padding:35px 28px}.admin h1{font-size:2.6rem}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin:30px 0;display:flex}button:not(.slot):not(.primary){color:#173f68;background:#fff;border:1px solid #b7c5d5;border-radius:5px;padding:9px 12px}.table-wrap{background:#fff;border:1px solid #dce3ec;border-radius:10px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9375rem}td,th{text-align:left;vertical-align:top;border-bottom:1px solid #dce3ec;padding:16px}th{background:#e9eff6}td small{font-size:.875rem;line-height:1.5;display:block}.actions{flex-direction:column;gap:8px;display:flex}.cancelled{color:#65768b;background:#f6f7f9}.admin .surface{margin-top:24px}.admin form{max-width:550px}@media (max-width:650px){.booking,.admin{padding:24px 16px}.brand{margin-bottom:28px}.facts{flex-direction:column;gap:16px}.surface,.success{padding:20px 16px}.slots{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;gap:8px}}.reservation-details{overflow-wrap:anywhere;background:#edf3fa;border-left:4px solid #173f68;flex-direction:column;gap:8px;margin:24px 0;padding:20px;display:flex}.reservation-name{font-size:1.5rem;line-height:1.3}.success .primary{margin-top:12px}
