.outline-btn{border:1px solid var(--ink);background:transparent;padding:12px 16px;font:700 10px inherit;cursor:pointer;margin-top:8px}.membership-card{background:linear-gradient(145deg,var(--green),#101c18)!important}.booking-heading{display:flex;justify-content:space-between;align-items:end}.next-appointment{background:var(--green);color:#fff;padding:18px 22px;min-width:270px}.next-appointment small,.next-appointment strong{display:block}.next-appointment small{font-size:8px;letter-spacing:1.5px;color:#bcc8c2}.next-appointment strong{font:600 16px 'Playfair Display';margin-top:7px}.booking-grid{display:grid;grid-template-columns:1fr 1fr 290px;gap:16px}.step-panel{position:relative}.step-panel.date-panel{grid-column:1/3}.step{position:absolute;right:18px;top:16px;font:600 28px 'Playfair Display';color:#ded7ca}.choice-grid{display:grid;gap:8px}.choice{border:1px solid var(--line);padding:13px;text-align:left;background:#fff;cursor:pointer;font:500 12px inherit}.choice span,.choice small{display:block}.choice small{color:var(--muted);margin-top:3px}.choice.active,.barber-choice.active{border-color:var(--gold);background:#fbf7ef}.barber-grid{display:flex;gap:9px}.barber-choice{flex:1;text-align:center;border:1px solid var(--line);background:#fff;padding:12px 7px;cursor:pointer}.barber-choice .avatar{margin:auto auto 8px}.barber-choice strong{font-size:11px}.date-strip,.time-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.date-btn,.time-btn{border:1px solid var(--line);background:#fff;padding:10px 5px;text-align:center;cursor:pointer;font:600 10px inherit}.date-btn small{display:block;color:var(--muted);margin-bottom:5px}.date-btn strong{font:600 20px 'Playfair Display'}.date-btn.active,.time-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.time-grid{margin-top:12px}.booking-summary{grid-column:3;grid-row:1/3;background:var(--ink);color:white;padding:27px}.booking-summary h2{font:600 28px 'Playfair Display';margin:0 0 24px}.booking-summary .summary-row{border-top:1px solid #ffffff22;padding:14px 0}.summary-row small,.summary-row strong{display:block}.summary-row small{font-size:8px;color:#aaa;letter-spacing:1px;margin-bottom:5px}.booking-summary>small{display:block;text-align:center;color:#888;font-size:9px;margin-top:9px}.booking-summary .primary{background:var(--gold)}.booking-summary .primary:disabled{opacity:.35}.agenda-panel,.customize-panel{margin-top:20px}.appointment-row{display:grid;grid-template-columns:70px 1fr auto auto;align-items:center;gap:18px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.appointment-row>strong{font:600 18px 'Playfair Display'}.appointment-row small{display:block;color:var(--muted);margin-top:3px}.customize-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.form-stack{display:grid;gap:14px}.form-stack label{font-size:10px;font-weight:700}.form-stack input{width:100%;display:block;padding:12px;margin-top:6px;border:1px solid var(--line);font:13px inherit;background:var(--paper)}.palette{display:flex;gap:10px;margin-top:7px}.palette button{width:31px;height:31px;border-radius:50%;background:var(--swatch);border:3px solid white;outline:1px solid var(--line);cursor:pointer}.palette button.active{outline:2px solid var(--gold)}.mini-preview{background:linear-gradient(145deg,var(--green),#111);color:#fff;padding:28px;min-height:285px;position:relative}.mini-preview>small{font-size:8px;letter-spacing:1.5px;color:#ffffffaa}.preview-logo{width:48px;height:48px;border:1px solid #ffffff88;border-radius:50%;display:grid;place-items:center;margin:25px 0 18px;font:600 13px 'Playfair Display'}.mini-preview h3{font:600 24px 'Playfair Display';margin:0}.mini-preview p{color:#ffffffaa;font-size:12px}.preview-points{position:absolute;right:28px;bottom:25px;font:600 27px 'Playfair Display'}.preview-points small{font:600 8px 'DM Sans'}
@media(max-width:800px){.topbar nav{overflow-x:auto}.profile{display:none}.booking-grid{grid-template-columns:1fr}.step-panel.date-panel,.booking-summary{grid-column:1;grid-row:auto}.booking-heading{display:block}.next-appointment{margin-top:25px}.customize-grid{grid-template-columns:1fr}}
@media(max-width:520px){.date-strip,.time-grid{grid-template-columns:repeat(3,1fr)}.appointment-row{grid-template-columns:55px 1fr}.appointment-row>span:nth-last-child(-n+2){display:none}}
.availability-panel{margin-top:20px}.availability-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:35px}.week-row{display:grid;grid-template-columns:95px 1fr 30px;align-items:center;gap:13px;padding:10px 0;border-top:1px solid var(--line)}.day-toggle{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700}.day-toggle input{accent-color:var(--green)}.hours{display:flex;align-items:center;gap:8px}.hours input,.schedule-settings select{border:1px solid var(--line);background:var(--paper);padding:9px;font:11px inherit}.hours input{width:100px}.week-row.off .hours{opacity:.35;pointer-events:none}.remove-range{border:0;background:none;color:var(--muted);cursor:pointer}.add-block{border:0;background:none;color:var(--gold);font:700 10px inherit;padding:10px 0;cursor:pointer}.schedule-settings{border-left:1px solid var(--line);padding-left:30px}.schedule-settings label{display:block;font-size:10px;font-weight:700;margin-bottom:13px}.schedule-settings select{width:100%;display:block;margin-top:6px}.blocked-section{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;align-items:center;gap:20px}.blocked-section>div:first-child{margin-right:auto}.blocked-section strong,.blocked-section small{display:block}.blocked-section small{color:var(--muted);font-size:9px;margin-top:3px}#blockedDates span{font-size:10px;background:var(--paper);border:1px solid var(--line);padding:8px 10px}#blockedDates button{border:0;background:none;cursor:pointer;margin-left:5px}@media(max-width:800px){.availability-layout{grid-template-columns:1fr}.schedule-settings{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.blocked-section{align-items:flex-start;flex-wrap:wrap}.week-row{grid-template-columns:75px 1fr 20px}.hours input{width:88px}}
