.service-history-reschedule-button,
.sidebar-reschedule-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid #d7c29d;
    border-radius: 12px;
    color: #765826;
    background: #fffaf1;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.service-history-reschedule-button:hover,
.sidebar-reschedule-button:hover {
    background: #f8edd9;
    box-shadow: 0 9px 20px rgba(91, 68, 31, .1);
    transform: translateY(-1px);
}

.sidebar-appointment-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 25px;
}

.sidebar-appointment-actions .cancel-btn,
.sidebar-appointment-actions .sidebar-reschedule-button {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    margin-top: 0;
    padding: 10px 12px;
    font-size: 14px;
}

.sidebar-appointment-actions > :only-child {
    grid-column: 1 / -1;
}

.client-reschedule-open { overflow: hidden; }
.client-reschedule-modal { position: fixed; z-index: 12000; inset: 0; display: grid; place-items: center; padding: 18px; }
.client-reschedule-modal[hidden] { display: none; }
.client-reschedule-modal__backdrop { position: absolute; inset: 0; background: rgba(30, 24, 18, .62); backdrop-filter: blur(6px); }
.client-reschedule-modal__dialog { position: relative; display: grid; width: min(560px, 100%); max-height: calc(100vh - 36px); box-sizing: border-box; gap: 20px; padding: 26px; border: 1px solid rgba(211, 190, 153, .55); border-radius: 24px; background: #fff; box-shadow: 0 30px 80px rgba(31, 23, 14, .3); overflow: auto; }
.client-reschedule-modal__close { position: absolute; top: 14px; right: 14px; display: grid; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; place-items: center; color: #655b4f; background: #f5f0e8; font-size: 26px; line-height: 1; cursor: pointer; }
.client-reschedule-modal__dialog header { padding-right: 42px; }
.client-reschedule-modal__dialog header > span { color: #9a7435; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.client-reschedule-modal__dialog h2 { margin: 5px 0 4px; color: #352d24; }
.client-reschedule-modal__dialog header p { margin: 0; color: #807568; }
.client-reschedule-modal__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.client-reschedule-modal__fields label { display: grid; gap: 7px; }
.client-reschedule-modal__fields label > span { color: #786c5e; font-size: 12px; font-weight: 800; }
.client-reschedule-modal__fields input,
.client-reschedule-modal__fields select { width: 100%; min-height: 46px; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ddd0bd; border-radius: 12px; color: #433a30; background: #fff; font: inherit; }
.client-reschedule-modal__remaining { margin: 0; padding: 10px 12px; border-radius: 11px; color: #725a32; background: #f9f2e7; font-size: 13px; }
.client-reschedule-modal__feedback { min-height: 20px; margin: 0; color: #287546; font-size: 13px; font-weight: 700; }
.client-reschedule-modal__feedback.is-error { color: #b42318; }
.client-reschedule-modal__dialog footer { display: flex; justify-content: flex-end; gap: 10px; }
.client-reschedule-modal__dialog footer button { min-height: 44px; padding: 10px 17px; border-radius: 12px; font: inherit; font-weight: 850; cursor: pointer; }
.client-reschedule-modal__cancel { border: 1px solid #ddd0bd; color: #675b4c; background: #fff; }
.client-reschedule-modal__submit { border: 0; color: #fff; background: linear-gradient(135deg, #a57b3c, #7f5d2c); box-shadow: 0 10px 22px rgba(127, 93, 44, .23); }
.client-reschedule-modal__submit:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }

@media (max-width: 640px) {
    .client-reschedule-modal { align-items: end; padding: 0; }
    .client-reschedule-modal__dialog { width: 100%; max-height: 92vh; padding: 22px 17px; border-radius: 24px 24px 0 0; }
    .client-reschedule-modal__fields { grid-template-columns: 1fr; }
    .client-reschedule-modal__dialog footer { flex-direction: column-reverse; }
    .client-reschedule-modal__dialog footer button { width: 100%; }
    .sidebar-appointment-actions { grid-template-columns: 1fr; }
}
