/* Salon scheduling v3. Intentionally separate from style.css for safe upgrades. */
.booking-slot-picker{margin-top:21px;padding:23px 23px 19px;border-radius:16px;border:1px solid #ece3e8;background:linear-gradient(155deg,#fff 2%,#fdfafc 94%);box-shadow:0 9px 28px rgba(70,35,57,.035)}
.slot-picker-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.slot-picker-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:#ac8c9e}
.slot-picker-top h3{font-size:21px;color:#41283b;letter-spacing:-.035em;line-height:1.35;margin-top:5px}
.slot-interval-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #e8d8e2;background:#faf2f6;color:#88526e;font-size:11px;font-weight:800;border-radius:99px;padding:8px 13px;white-space:nowrap}
.slot-interval-pill::before{content:'◷';font-size:14px}
.slot-picker-legend{display:flex;gap:16px;flex-wrap:wrap;color:#867984;font-size:11px;padding:18px 0 16px;border-bottom:1px solid #f1eaee}
.slot-picker-legend>span{display:inline-flex;align-items:center;gap:6px}
.slot-dot{display:block;width:8px;height:8px;border-radius:50%}
.slot-dot-open{background:#79b7a1}.slot-dot-chosen{background:#76465f}.slot-dot-full{background:#c6bbc2}
.booking-slot-picker .availability-slots{display:block;margin-top:0}
.slot-period{padding-top:19px}.slot-period+.slot-period{margin-top:11px;border-top:1px solid #f2edf0}
.slot-period-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.slot-period-heading h4{font-size:13px;font-weight:800;color:#483645;margin:0}
.slot-period-heading h4::before{content:'';display:inline-block;width:6px;height:6px;vertical-align:middle;border-radius:50%;margin-right:9px;background:#b48ca0}
.slot-period-heading>span{font-size:11px;color:#9f929a}
.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.booking-slot-picker .time-slot{appearance:none;min-width:0;min-height:65px;display:flex;justify-content:center;align-items:center;flex-direction:row;gap:6px;background:#fff;color:#55384a;border:1px solid #e8dfe4;border-radius:11px;box-shadow:0 2px 6px rgba(76,49,66,.025);padding:12px 6px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;text-decoration:none;outline-offset:2px}
.booking-slot-picker .time-slot:hover:not(:disabled){border-color:#9a657e;background:#fcf6f9;box-shadow:0 6px 16px rgba(109,70,88,.10);transform:translateY(-1px)}
.booking-slot-picker .time-slot:focus-visible{outline:3px solid #9b6688}
.booking-slot-picker .time-slot .slot-clock{font-size:15px;font-weight:750;letter-spacing:-.02em;line-height:1}
.booking-slot-picker .time-slot .slot-meridiem{font-size:9px;font-weight:800;letter-spacing:.03em;color:#a08a96}
.booking-slot-picker .time-slot.is-selected{background:#60364e;border-color:#60364e;color:#fff;box-shadow:0 4px 11px rgba(92,45,74,.25)}
.booking-slot-picker .time-slot.is-selected .slot-meridiem{color:#e8cfdc}
.booking-slot-picker .time-slot:disabled{background:#f5f3f4;border:1px dashed #e8e2e6;box-shadow:none;opacity:1;cursor:not-allowed;color:#aea6ac;transform:none}
.booking-slot-picker .time-slot:disabled .slot-meridiem{color:#bbb2b9}
.slot-feedback{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;margin-top:22px;border:1px solid #e8f0ec;background:#f4f9f6;border-radius:10px}
.slot-feedback-mark{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;background:#d9eee4;color:#39725b;border-radius:50%;font-weight:900;font-size:11px;font-style:normal}
.booking-slot-picker .slot-feedback p{font-size:11px;margin:0;color:#557161;line-height:1.65;min-height:0}
.booking-slot-picker .slot-feedback p.availability-error{color:#ab4657}
.booking-slot-note{font-size:11px;color:#9a8f98;line-height:1.65;margin:13px 0 0!important}
.booking-card input#bookingSelectedLabel{color:#5d354d;background:#faf7f9;font-weight:700;cursor:default}
/* Settings dashboard */
.settings-divider{height:1px;background:#eee6ea;margin:2px 0}
.interval-setting{padding:2px 0 1px}
.settings-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}
.settings-section-head h3{color:#483044;font-size:19px;letter-spacing:-.02em;margin:6px 0}
.settings-section-head p{font-size:12px;color:#928492}
.settings-eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#a2748c}
.settings-feature-icon{display:grid;place-items:center;flex:0 0 41px;width:41px;height:41px;background:#f6eaf1;color:#8b4a70;border-radius:12px;font-size:26px}
.slot-custom-row{margin-top:12px}.slot-custom-row[hidden]{display:none!important}.slot-custom-row label{max-width:270px}
.slot-settings-preview{margin-top:16px;padding:17px 18px;background:#fcf8fa;border:1px solid #eee4e9;border-radius:13px}
.slot-settings-preview-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.slot-settings-preview-head>span{font-size:11px;font-weight:800;color:#63485a}
.slot-settings-preview-head small{font-size:10px;color:#a08999}
.slot-preview-times{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 15px}
.slot-preview-times>span{background:#fff;border:1px solid #e8dce5;border-radius:8px;color:#6c455e;font-size:11px;font-weight:700;padding:9px 11px}
.slot-preview-times>span.preview-chip-first{background:#60364e;border-color:#60364e;color:#fff}
.slot-settings-preview>p{color:#8e7c89;font-size:11px;line-height:1.55}
.slot-settings-preview strong{color:#5f4861}
@media(max-width:600px){.booking-slot-picker{padding:17px 14px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-slot-picker .time-slot{min-height:58px;gap:4px;padding:8px 3px}.booking-slot-picker .time-slot .slot-clock{font-size:13px}.slot-picker-top h3{font-size:18px}.slot-picker-legend{gap:10px;font-size:10px}.slot-interval-pill{font-size:10px;padding:7px 9px}}
@media(max-width:365px){.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
