.booking-page,.admin-page{min-height:calc(100vh - 90px);padding:80px 0;background:var(--blue)}
.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}
.booking-intro{padding-top:35px}.booking-intro h1,.admin-heading h1{margin:18px 0;font:600 clamp(3.2rem,5vw,5.4rem)/.9 "Barlow Condensed",sans-serif;letter-spacing:-.05em;color:var(--navy)}.booking-intro h1 em{color:var(--red);font-style:normal}.booking-intro>p,.admin-heading p{max-width:440px;color:var(--muted);line-height:1.75;font-size:.95rem}.booking-note{display:grid;gap:7px;margin-top:35px;padding:20px;border-left:3px solid var(--red);background:#fff}.booking-note strong{color:var(--navy);font-size:.86rem}.booking-note span{color:var(--muted);font-size:.78rem;line-height:1.55}
.booking-card,.appointment-panel{padding:32px;background:#fff;box-shadow:0 15px 35px rgba(8,43,85,.1)}.booking-card-header,.panel-header,.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.booking-step,.required-note{color:var(--red);font-size:.7rem;font-weight:700;letter-spacing:.08em}.booking-card h2,.appointment-panel h2{margin:7px 0 25px;color:var(--navy);font:600 2rem "Barlow Condensed",sans-serif}.required-note{color:var(--muted);font-weight:500;letter-spacing:0}
.platform-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.platform-form label,.field-label{display:block;color:var(--navy);font-size:.75rem;font-weight:700}.platform-form input,.platform-form select,.platform-form textarea{display:block;width:100%;margin-top:7px;padding:13px 12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:2px;outline:0}.platform-form textarea{resize:vertical}.platform-form input:focus,.platform-form select:focus,.platform-form textarea:focus{border-color:var(--red)}.full-field{grid-column:1/-1}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.time-slots label{position:relative}.time-slots input{position:absolute;opacity:0}.time-slots span{display:block;padding:12px 7px;text-align:center;color:var(--navy);background:var(--blue);border:1px solid var(--line);font-size:.7rem;cursor:pointer}.time-slots input:checked+span{color:#fff;background:var(--navy);border-color:var(--navy)}.form-message{min-height:18px;margin:0;color:var(--red);font-size:.76rem}
.admin-page{background:#f6f9fc}.admin-heading{align-items:end;margin-bottom:35px}.admin-heading h1{margin-bottom:8px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:25px}.admin-stats div{padding:22px;background:#fff;border-top:3px solid var(--red)}.admin-stats span,.admin-stats strong{display:block}.admin-stats span{color:var(--muted);font-size:.76rem}.admin-stats strong{margin-top:6px;color:var(--navy);font:700 2rem "Barlow Condensed",sans-serif}.button-outline-admin{color:var(--navy);background:#fff;border-color:var(--line)}.panel-header h2{margin-bottom:0}.panel-header{align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.appointments-list{display:grid;gap:12px;padding-top:20px}.empty-state{padding:45px;text-align:center;color:var(--muted);background:var(--blue);font-size:.85rem}.appointment-item{display:grid;grid-template-columns:130px 1fr auto;gap:20px;align-items:center;padding:18px;background:var(--blue);border-left:4px solid var(--red)}.appointment-date strong,.appointment-date span,.appointment-details strong,.appointment-details span{display:block}.appointment-date strong{color:var(--red);font:700 1.3rem "Barlow Condensed",sans-serif}.appointment-date span,.appointment-details span{color:var(--muted);font-size:.74rem}.appointment-details strong{color:var(--navy);font-size:.9rem}.appointment-actions button{border:0;color:var(--red);background:transparent;font-weight:700;cursor:pointer;font-size:.75rem}
@media(max-width:640px){.booking-layout{grid-template-columns:1fr;gap:35px}.booking-intro{padding-top:0}.admin-heading{align-items:flex-start;flex-direction:column}.appointment-item{grid-template-columns:1fr}.appointment-actions{margin-top:5px}.booking-page,.admin-page{padding:50px 0}.booking-card{padding:22px 18px}.platform-form{grid-template-columns:1fr}.full-field{grid-column:auto}.time-slots{grid-template-columns:1fr 1fr}.admin-stats{grid-template-columns:1fr}}
