.mrcd-dashboard,
.mrcd-bookings-page,
.mrcd-packages-page,
.mrcd-consent-page,
.mrcd-front-admin {
    --mrcd-green: #1f6049;
    --mrcd-dark: #174936;
    --mrcd-peach: #e99a7d;
    --mrcd-cream: #faf8ef;
    --mrcd-sage: #edf3ea;
    --mrcd-ink: #24362f;
    --mrcd-muted: #6f7c76;
    --mrcd-line: #dfe8e1;
    color: var(--mrcd-ink);
    margin-top: 8px;
}

.mrcd-dashboard *,
.mrcd-dashboard *::before,
.mrcd-dashboard *::after,
.mrcd-bookings-page *,
.mrcd-bookings-page *::before,
.mrcd-bookings-page *::after,
.mrcd-packages-page *,
.mrcd-packages-page *::before,
.mrcd-packages-page *::after,
.mrcd-consent-page *,
.mrcd-consent-page *::before,
.mrcd-consent-page *::after,
.mrcd-front-admin *,
.mrcd-front-admin *::before,
.mrcd-front-admin *::after {
    box-sizing: border-box;
}

.mrcd-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 28px;
    margin-bottom: 22px;
    background: linear-gradient(135deg, var(--mrcd-dark), var(--mrcd-green));
    color: #fff;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.mrcd-hero::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -90px;
    top: -120px;
    border: 42px solid rgba(255,255,255,.07);
    border-radius: 50%;
}

.mrcd-hero > * { position: relative; z-index: 1; }
.mrcd-hero h2 { color: #fff !important; font-size: clamp(28px, 3vw, 42px) !important; line-height: 1.1 !important; margin: 6px 0 8px !important; }
.mrcd-hero p { color: rgba(255,255,255,.78); margin: 0; }
.mrcd-eyebrow, .mrcd-panel__kicker { display: block; text-transform: uppercase; letter-spacing: 1.15px; font-size: 11px; font-weight: 800; }
.mrcd-eyebrow { color: #dceadf; }

.mrcd-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    color: var(--mrcd-dark) !important;
    background: var(--mrcd-sage);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 750;
    text-decoration: none !important;
    white-space: nowrap;
}

.mrcd-button--primary { background: var(--mrcd-peach); color: #fff !important; box-shadow: 0 10px 22px rgba(0,0,0,.14); }
.mrcd-button:hover { transform: translateY(-1px); filter: brightness(.98); }

.mrcd-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.mrcd-metric {
    min-width: 0;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(31,96,73,.05);
}

.mrcd-metric__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 18px;
    color: var(--mrcd-green);
    background: var(--mrcd-sage);
    border-radius: 12px;
}

.mrcd-metric__icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.mrcd-metric__label, .mrcd-metric__meta { display: block; color: var(--mrcd-muted); }
.mrcd-metric__label { margin-bottom: 6px; font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .45px; }
.mrcd-metric__value { display: block; overflow: hidden; color: var(--mrcd-ink); font-size: 19px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.mrcd-metric__meta { margin-top: 6px; font-size: 12px; line-height: 1.4; }
.mrcd-metric--warning { border-color: rgba(217,121,93,.42); background: #fffaf7; }
.mrcd-metric--warning .mrcd-metric__icon { color: #a84b34; background: #fff0eb; }

.mrcd-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 18px;
    margin-bottom: 18px;
}

.mrcd-layout--tables { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.mrcd-panel {
    min-width: 0;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(31,96,73,.045);
}

.mrcd-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.mrcd-panel__head h3 { color: var(--mrcd-ink) !important; font-size: 20px !important; line-height: 1.25 !important; margin: 3px 0 0 !important; }
.mrcd-panel__kicker { color: var(--mrcd-peach); }
.mrcd-panel__head > a { color: var(--mrcd-green) !important; font-size: 13px; font-weight: 750; text-decoration: none !important; white-space: nowrap; }

.mrcd-subscription-card { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; overflow: hidden; background: var(--mrcd-line); border: 1px solid var(--mrcd-line); border-radius: 14px; }
.mrcd-subscription-card > div { padding: 16px; background: var(--mrcd-cream); }
.mrcd-subscription-card span, .mrcd-subscription-card strong { display: block; }
.mrcd-subscription-card > div > span { margin-bottom: 7px; color: var(--mrcd-muted); font-size: 12px; }
.mrcd-subscription-card > div > strong { color: var(--mrcd-ink); font-size: 14px; overflow-wrap: anywhere; }

.mrcd-status { display: inline-flex !important; width: max-content; padding: 5px 9px; color: var(--mrcd-dark); background: var(--mrcd-sage); border-radius: 999px; font-size: 11px !important; font-weight: 800; line-height: 1.1; }
.mrcd-status--failed, .mrcd-status--pending, .mrcd-status--waiting { color: #943e2a; background: #fff0eb; }
.mrcd-status--completed, .mrcd-status--active, .mrcd-status--approved, .mrcd-status--confirmed { color: var(--mrcd-dark); background: #e5f3e6; }
.mrcd-status--refunded, .mrcd-status--expired, .mrcd-status--canceled, .mrcd-status--cancelled, .mrcd-status--rejected, .mrcd-status--no-show { color: #5f6863; background: #eef0ee; }

.mrcd-empty { padding: 22px; background: var(--mrcd-cream); border: 1px dashed #cad8ce; border-radius: 14px; }
.mrcd-empty strong { color: var(--mrcd-ink); font-size: 16px; }
.mrcd-empty p { color: var(--mrcd-muted); margin: 7px 0 15px; }
.mrcd-empty--compact { padding: 17px; }
.mrcd-empty--compact p { margin-bottom: 0; }
.mrcd-booking { display: flex; flex-direction: column; gap: 9px; padding: 20px; background: var(--mrcd-cream); border-radius: 14px; }

.mrcd-table-wrap { overflow-x: auto; }
.mrcd-table { width: 100%; margin: 0 !important; border: 0 !important; border-collapse: collapse; font-size: 13px; }
.mrcd-table th, .mrcd-table td { padding: 13px 10px !important; text-align: left; border: 0 !important; border-bottom: 1px solid var(--mrcd-line) !important; vertical-align: middle; }
.mrcd-table th { color: var(--mrcd-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .7px; }
.mrcd-table td { color: var(--mrcd-ink); }
.mrcd-table tr:last-child td { border-bottom: 0 !important; }

.mrcd-notice { padding: 16px 18px; color: #943e2a; background: #fff0eb; border: 1px solid #f0c5b9; border-radius: 12px; }

/* Authentication feedback ------------------------------------------------ */
.mrcd-toast {
    position: fixed;
    z-index: 999999;
    top: 28px;
    right: 28px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    width: min(430px, calc(100vw - 32px));
    padding: 16px 16px 16px 18px;
    color: #24362f;
    background: rgba(255, 255, 255, .98);
    border: 1px solid #dfe8e1;
    border-left: 5px solid #1f6049;
    border-radius: 16px;
    box-shadow: 0 22px 55px rgba(23, 73, 54, .2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-14px) scale(.98);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.mrcd-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.mrcd-toast--error { border-left-color: #c9684d; }

.mrcd-toast__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: #fff;
    background: #1f6049;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 900;
}

.mrcd-toast--error .mrcd-toast__icon { background: #c9684d; }
.mrcd-toast__copy { display: grid; gap: 3px; }
.mrcd-toast__copy strong { color: #174936; font-size: 15px; line-height: 1.25; }
.mrcd-toast--error .mrcd-toast__copy strong { color: #873b2c; }
.mrcd-toast__copy span { color: #6f7c76; font-size: 13px; line-height: 1.45; }

.mrcd-toast__close {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    color: #6f7c76;
    background: #f3f6f2;
    border: 0;
    border-radius: 50%;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.mrcd-toast__close:hover { color: #174936; background: #e8efe7; }

.mrcd-bookings-page { margin-top: 12px; }
.mrcd-bookings-page__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 26px;
    margin-bottom: 18px;
    background: var(--mrcd-sage);
    border: 1px solid var(--mrcd-line);
    border-radius: 18px;
}
.mrcd-bookings-page__head h2 { margin: 4px 0 5px !important; color: var(--mrcd-dark) !important; font-size: clamp(26px, 3vw, 38px) !important; }
.mrcd-bookings-page__head p { margin: 0; color: var(--mrcd-muted); }
.mrcd-bookings-page__head .mrcd-eyebrow { color: var(--mrcd-green); }
.mrcd-bookings-empty { display: grid; justify-items: start; padding: 30px; }
.mrcd-bookings-empty__icon,
.mrcd-booking-item__icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 14px; color: var(--mrcd-green); background: var(--mrcd-sage); border-radius: 14px; }
.mrcd-bookings-empty__icon svg,
.mrcd-booking-item__icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.mrcd-booking-list { display: grid; gap: 12px; }
.mrcd-booking-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 20px; background: #fff; border: 1px solid var(--mrcd-line); border-radius: 16px; box-shadow: 0 8px 24px rgba(31,96,73,.045); }
.mrcd-booking-item__icon { margin: 0; }
.mrcd-booking-item__title { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.mrcd-booking-item__title h3 { margin: 0 !important; color: var(--mrcd-ink) !important; font-size: 18px !important; }
.mrcd-booking-item p { margin: 3px 0; color: var(--mrcd-ink); }
.mrcd-booking-item__meta { color: var(--mrcd-muted) !important; font-size: 13px; }

/* Read-only, keyboard-accessible appointment disclosures. */
.mrcd-booking-disclosure { background: #fff; border: 1px solid var(--mrcd-line); border-radius: 16px; scroll-margin-top: 24px; }
.mrcd-booking-disclosure > summary.mrcd-booking-item { margin: 0; list-style: none; cursor: pointer; border: 0; box-shadow: none; }
.mrcd-booking-disclosure > summary::-webkit-details-marker { display: none; }
.mrcd-booking-disclosure > summary:hover { background: #f8faf7; }
.mrcd-booking-disclosure > summary:focus-visible,
.mrcd-booking-table-details > summary:focus-visible { outline: 3px solid #1f6049; outline-offset: 3px; }
.mrcd-booking-disclosure[open] > summary { border-radius: 16px 16px 0 0; }
.mrcd-booking-item__title { flex-wrap: wrap; }
.mrcd-booking-item__service { color: var(--mrcd-ink); font-size: 18px; font-weight: 600; }
.mrcd-booking-item__date,
.mrcd-booking-item__content > .mrcd-booking-item__meta { display: block; margin-top: 4px; }
.mrcd-booking-item__toggle { display: inline-flex; align-items: center; gap: 10px; color: var(--mrcd-green); font-size: 13px; font-weight: 750; }
.mrcd-booking-item__toggle > [aria-hidden] { font-size: 22px; }
.mrcd-booking-hide,
.mrcd-booking-disclosure[open] .mrcd-booking-show { display: none; }
.mrcd-booking-disclosure[open] .mrcd-booking-hide { display: inline; }
.mrcd-booking-disclosure[open] .mrcd-booking-item__toggle > [aria-hidden] { transform: rotate(180deg); }
.mrcd-booking-details { padding: 22px; border-top: 1px solid var(--mrcd-line, #dfe8e1); color: var(--mrcd-ink, #24362f); }
.mrcd-booking-details dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 26px; margin: 0; }
.mrcd-booking-details dl > div { min-width: 0; }
.mrcd-booking-details dt { margin: 0 0 5px; color: var(--mrcd-muted, #6f7c76); font-size: 12px; font-weight: 750; }
.mrcd-booking-details dd { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.mrcd-booking-details > p { margin: 18px 0 0; color: var(--mrcd-muted, #6f7c76); }
.mrcd-booking-details > .mrcd-button { margin-top: 18px; }
.mrcd-booking-table-details > summary { cursor: pointer; }
.mrcd-booking-table-hint { display: block; margin-top: 5px; color: var(--mrcd-green, #1f6049); font-size: 11px; }
.mrcd-booking-table-details .mrcd-booking-details { margin-top: 12px; padding: 14px 0 0; min-width: 210px; }
.mrcd-booking-table-details .mrcd-booking-details dl { grid-template-columns: 1fr; }
.mrcd-front-admin .mrcd-admin-bookings > div > .mrcd-booking-table-details { grid-column: 1 / -1; }
.mrcd-front-admin .mrcd-admin-bookings .mrcd-booking-table-details > summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 12px; }
.mrcd-booking > strong > a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
    .mrcd-booking-disclosure > summary.mrcd-booking-item { grid-template-columns: auto minmax(0,1fr); gap: 12px; padding: 16px; }
    .mrcd-booking-item__toggle { grid-column: 2; }
    .mrcd-booking-details { padding: 18px; }
    .mrcd-booking-details dl { grid-template-columns: 1fr; }
}

/* Packages and native PMS/Stripe checkout ------------------------------- */
.mrcd-packages-page { margin-top: 12px; }

.mrcd-packages-page__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    margin-bottom: 20px;
    background: linear-gradient(135deg, #edf3ea 0%, #f8f5e9 100%);
    border: 1px solid var(--mrcd-line);
    border-radius: 20px;
}

.mrcd-packages-page__head h2 {
    margin: 5px 0 7px !important;
    color: var(--mrcd-dark) !important;
    font-size: clamp(28px, 3.5vw, 42px) !important;
    line-height: 1.1 !important;
}

.mrcd-packages-page__head p { max-width: 700px; margin: 0; color: var(--mrcd-muted); }
.mrcd-packages-page__head .mrcd-eyebrow { color: var(--mrcd-green); }

.mrcd-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.mrcd-package-card {
    display: flex;
    min-width: 0;
    padding: 24px;
    flex-direction: column;
    color: var(--mrcd-ink);
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(31, 96, 73, .055);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.mrcd-package-card:hover { transform: translateY(-2px); border-color: #bfd2c4; box-shadow: 0 16px 36px rgba(31, 96, 73, .09); }
.mrcd-package-card.is-selected { border: 2px solid var(--mrcd-green); box-shadow: 0 16px 38px rgba(31, 96, 73, .13); }
.mrcd-package-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }

.mrcd-package-card__icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    color: var(--mrcd-green);
    background: var(--mrcd-sage);
    border-radius: 14px;
}

.mrcd-package-card__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.mrcd-package-card__labels { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.mrcd-package-card__badge { padding: 6px 11px; color: var(--mrcd-green); background: var(--mrcd-sage); border-radius: 999px; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .55px; }
.mrcd-package-card__selected { padding: 6px 10px; color: var(--mrcd-dark); background: #e3f1e4; border-radius: 999px; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .55px; }
.mrcd-package-card h3 { margin: 0 0 12px !important; color: var(--mrcd-dark) !important; font-size: 23px !important; line-height: 1.2 !important; }

.mrcd-package-card__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.mrcd-package-card__price strong { color: var(--mrcd-green); font-size: 29px; line-height: 1; }
.mrcd-package-card__price span { color: var(--mrcd-muted); font-size: 12px; }
.mrcd-package-card > p { margin: 0 0 18px; color: var(--mrcd-muted); font-size: 13px; line-height: 1.6; }
.mrcd-package-card ul { display: grid; gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.mrcd-package-card li { display: flex; gap: 9px; color: var(--mrcd-ink); font-size: 12px; line-height: 1.45; }
.mrcd-package-card li::before { content: "\2713"; color: var(--mrcd-green); font-weight: 900; }
.mrcd-package-card > .mrcd-button { width: 100%; margin-top: auto; }

.mrcd-package-prompt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 22px;
    color: var(--mrcd-dark);
    background: var(--mrcd-sage);
    border: 1px dashed #bed1c2;
    border-radius: 16px;
    text-align: center;
}

.mrcd-package-prompt > span { font-size: 20px; }

.mrcd-package-checkout {
    padding: clamp(20px, 4vw, 34px);
    scroll-margin-top: 28px;
    color: var(--mrcd-ink);
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 20px;
    box-shadow: 0 14px 40px rgba(31, 96, 73, .07);
}

.mrcd-package-checkout__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.mrcd-package-checkout__head h3 { margin: 4px 0 0 !important; color: var(--mrcd-dark) !important; font-size: clamp(22px, 3vw, 30px) !important; }
.mrcd-package-checkout__lock { display: inline-flex; align-items: center; gap: 6px; padding: 8px 11px; color: var(--mrcd-dark); background: var(--mrcd-sage); border-radius: 999px; font-size: 11px; font-weight: 800; }

.mrcd-package-checkout__notice {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    margin-bottom: 22px;
    color: var(--mrcd-dark);
    background: #f3f8f1;
    border: 1px solid #d8e8d9;
    border-radius: 13px;
}

.mrcd-package-checkout__notice strong { font-size: 13px; }
.mrcd-package-checkout__notice span { color: var(--mrcd-muted); font-size: 12px; line-height: 1.5; }
.mrcd-package-checkout__form { max-width: 880px; }
.mrcd-package-checkout__form form { max-width: none !important; }
.mrcd-package-checkout__form input[type="submit"] { min-height: 48px; padding: 12px 24px !important; color: #fff !important; background: var(--mrcd-green) !important; border: 0 !important; border-radius: 999px !important; font-weight: 800 !important; }
.mrcd-package-checkout__form input[type="submit"]:hover { background: var(--mrcd-dark) !important; }
.mrcd-consent-gate { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; }
.mrcd-consent-gate__icon { display: grid; place-items: center; width: 52px; height: 52px; color: var(--mrcd-green); background: var(--mrcd-sage); border-radius: 15px; font-size: 24px; font-weight: 900; }
.mrcd-consent-gate h3 { margin: 4px 0 5px !important; color: var(--mrcd-dark) !important; font-size: clamp(21px, 3vw, 28px) !important; }
.mrcd-consent-gate p { margin: 0; color: var(--mrcd-muted); font-size: 13px; line-height: 1.55; }
.mrcd-packages-empty { padding: 30px; }

@media (max-width: 1180px) {
    .mrcd-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .mrcd-subscription-card { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.mrcd-package-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 850px) {
    .mrcd-layout, .mrcd-layout--tables { grid-template-columns: 1fr; }
    .mrcd-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.mrcd-package-grid { grid-template-columns: 1fr; }
	.mrcd-consent-gate { grid-template-columns: auto minmax(0,1fr); }
	.mrcd-consent-gate > .mrcd-button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 600px) {
    .mrcd-toast { top: 16px; right: 16px; width: calc(100vw - 32px); }
    .mrcd-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
    .mrcd-button--primary { width: 100%; }
    .mrcd-metrics { grid-template-columns: 1fr; }
    .mrcd-subscription-card { grid-template-columns: 1fr; }
    .mrcd-panel { padding: 18px; }
    .mrcd-panel__head { align-items: flex-start; }
    .mrcd-table thead { display: none; }
    .mrcd-table, .mrcd-table tbody, .mrcd-table tr, .mrcd-table td { display: block; width: 100%; }
    .mrcd-table tr { padding: 10px 0; border-bottom: 1px solid var(--mrcd-line); }
    .mrcd-table td { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 7px 0 !important; border: 0 !important; text-align: right; }
    .mrcd-table td::before { content: attr(data-label); color: var(--mrcd-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; text-align: left; }
    .mrcd-bookings-page__head { align-items: flex-start; flex-direction: column; padding: 20px; }
    .mrcd-booking-item { grid-template-columns: auto minmax(0,1fr); align-items: start; gap: 14px; }
    .mrcd-booking-item > .mrcd-button { grid-column: 1 / -1; width: 100%; }
    .mrcd-booking-item__title { align-items: flex-start; flex-direction: column; }
	.mrcd-packages-page__head { align-items: flex-start; flex-direction: column; padding: 22px; }
	.mrcd-packages-page__head > .mrcd-button { width: 100%; }
	.mrcd-package-card { padding: 21px; }
	.mrcd-package-checkout__head { flex-direction: column; }
}

/* Payment requests and notification center ------------------------------ */
.mrcd-dashboard,
.mrcd-payment-requests-page {
    --mrcd-green: #1f6049;
    --mrcd-dark: #174936;
    --mrcd-peach: #e99a7d;
    --mrcd-cream: #faf8ef;
    --mrcd-sage: #edf3ea;
    --mrcd-ink: #24362f;
    --mrcd-muted: #6f7c76;
    --mrcd-line: #dfe8e1;
}

.mrcd-hero__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mrcd-role-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 13px;
    color: #fff;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .35px;
    white-space: nowrap;
}

.mrcd-role-badge > span {
    width: 8px;
    height: 8px;
    background: #bfe2c8;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(191, 226, 200, .15);
}

.mrcd-role-badge--administrator > span { background: #f5c6b5; box-shadow: 0 0 0 3px rgba(245, 198, 181, .17); }
.mrcd-role-badge--provider > span { background: #d7e6ff; box-shadow: 0 0 0 3px rgba(215, 230, 255, .17); }

.mrcd-notifications { position: relative; }

.mrcd-notifications__bell {
    position: relative;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    color: #fff;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
}

.mrcd-notifications__bell:hover,
.mrcd-notifications__bell:focus-visible {
    color: var(--mrcd-dark);
    background: #fff;
    outline: 3px solid rgba(255, 255, 255, .28);
}

.mrcd-notifications__bell svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mrcd-notifications__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    color: #fff;
    background: #d4664b;
    border: 2px solid var(--mrcd-green);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

.mrcd-notifications__badge.is-empty { display: none; }

.mrcd-notifications__panel {
    position: fixed;
    z-index: 99999;
    overflow: hidden;
    color: var(--mrcd-ink);
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(23, 73, 54, .24);
}

.mrcd-notifications__panel[hidden] { display: none !important; }

.mrcd-notifications__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid var(--mrcd-line);
}

.mrcd-notifications__head strong,
.mrcd-notifications__head span { display: block; }
.mrcd-notifications__head strong { color: var(--mrcd-dark); font-size: 17px; }
.mrcd-notifications__head span { margin-top: 3px; color: var(--mrcd-muted); font-size: 11px; }
.mrcd-notifications__head button { width: 30px; height: 30px; padding: 0; color: var(--mrcd-muted); background: var(--mrcd-sage); border: 0; border-radius: 50%; font-size: 20px; cursor: pointer; }

.mrcd-notifications__filters {
    display: flex;
    gap: 6px;
    padding: 11px 14px;
    overflow-x: auto;
    border-bottom: 1px solid var(--mrcd-line);
}

.mrcd-notifications__filters button {
    padding: 7px 10px;
    color: var(--mrcd-muted);
    background: transparent;
    border: 0;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.mrcd-notifications__filters button.is-active { color: var(--mrcd-dark); background: var(--mrcd-sage); }
.mrcd-notifications__list { max-height: min(440px, calc(100vh - 190px)); overflow-y: auto; }
.mrcd-notifications__empty { padding: 24px 18px; margin: 0; color: var(--mrcd-muted); text-align: center; }

.mrcd-notification-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    padding: 14px 16px;
    color: var(--mrcd-ink) !important;
    border-bottom: 1px solid var(--mrcd-line);
    text-decoration: none !important;
}

.mrcd-notification-item[hidden] { display: none !important; }
.mrcd-notification-item.is-unread { background: #f4f8f2; }
.mrcd-notification-item:hover { background: var(--mrcd-cream); }
.mrcd-notification-item > span:last-child,
.mrcd-notification-item strong,
.mrcd-notification-item small,
.mrcd-notification-item time { display: block; }
.mrcd-notification-item strong { color: var(--mrcd-dark); font-size: 13px; }
.mrcd-notification-item small { margin: 3px 0 5px; color: var(--mrcd-muted); font-size: 12px; line-height: 1.4; }
.mrcd-notification-item time { color: #87928d; font-size: 10px; }

.mrcd-notification-item__icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: var(--mrcd-green);
    background: var(--mrcd-sage);
    border-radius: 10px;
    font-size: 14px;
    font-weight: 800;
}
.mrcd-notification-item__icon--payment { color: #9b5a45; background: #fff0eb; }

.mrcd-panel--payment-requests { margin-bottom: 18px; }
.mrcd-payment-requests-page { margin-top: 8px; color: var(--mrcd-ink); }
.mrcd-payment-requests-page > header { padding: 24px; margin-bottom: 18px; background: var(--mrcd-sage); border: 1px solid var(--mrcd-line); border-radius: 18px; }
.mrcd-payment-requests-page > header h2 { margin: 4px 0 7px !important; color: var(--mrcd-dark) !important; font-size: clamp(28px, 4vw, 40px) !important; }
.mrcd-payment-requests-page > header p { margin: 0; color: var(--mrcd-muted); }

.mrcd-payment-request-list { display: grid; gap: 12px; }
.mrcd-payment-request {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 15px;
}
.mrcd-payment-request--failed { border-color: #efc6ba; background: #fffaf7; }
.mrcd-payment-request__icon { display: grid; place-items: center; width: 42px; height: 42px; color: var(--mrcd-dark); background: var(--mrcd-sage); border-radius: 12px; font-weight: 850; }
.mrcd-payment-request__copy > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.mrcd-payment-request__copy h3 { margin: 0 !important; color: var(--mrcd-dark) !important; font-size: 16px !important; }
.mrcd-payment-request__copy > strong { display: block; margin-top: 5px; color: var(--mrcd-ink); font-size: 17px; }
.mrcd-payment-request__copy p { margin: 3px 0 0; color: var(--mrcd-muted); font-size: 12px; }
.mrcd-payment-request__copy small { display: block; margin-top: 8px; color: var(--mrcd-muted); }
.mrcd-payment-request-list--compact .mrcd-payment-request { padding: 14px; }
.mrcd-payment-request-list--compact .mrcd-payment-request__icon { width: 36px; height: 36px; }

@media (max-width: 720px) {
    .mrcd-hero { align-items: flex-start; flex-direction: column; }
    .mrcd-hero__actions { width: 100%; flex-wrap: wrap; justify-content: space-between; }
    .mrcd-hero__actions > .mrcd-button--primary { flex: 1 0 100%; }
    .mrcd-payment-request { grid-template-columns: auto minmax(0, 1fr); }
    .mrcd-payment-request > .mrcd-button { grid-column: 1 / -1; width: 100%; }
}

/* --------------------------------------------------------------------------
   Premium PMS authentication and profile forms
   -------------------------------------------------------------------------- */

.mrcd-auth-shell,
.mrcd-account-login-page,
.mrcd-profile-page {
    --mrcd-green: #1f6049;
    --mrcd-dark: #174936;
    --mrcd-peach: #e99a7d;
    --mrcd-cream: #faf8ef;
    --mrcd-sage: #edf3ea;
    --mrcd-ink: #24362f;
    --mrcd-muted: #6f7c76;
    --mrcd-line: #dfe8e1;
}

.mrcd-auth-page .entry-title,
.mrcd-auth-page .page-title {
    display: none;
}

.mrcd-auth-shell,
.mrcd-auth-shell *,
.mrcd-profile-page form,
.mrcd-profile-page form * {
    box-sizing: border-box;
}

.mrcd-auth-shell {
    display: grid;
    grid-template-columns: minmax(300px, .88fr) minmax(440px, 1.12fr);
    width: min(1160px, calc(100% - 40px));
    min-height: 610px;
    margin: 64px auto;
    overflow: hidden;
    color: var(--mrcd-ink);
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 28px;
    box-shadow: 0 26px 70px rgba(23, 73, 54, .12);
}

.mrcd-auth-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px, 6vw, 72px);
    overflow: hidden;
    position: relative;
    color: #fff;
    background: linear-gradient(145deg, #174936 0%, #1f6049 62%, #2f755b 100%);
}

.mrcd-auth-intro::before,
.mrcd-auth-intro::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.mrcd-auth-intro::before {
    width: 330px;
    height: 330px;
    right: -185px;
    top: -120px;
    box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.02);
}

.mrcd-auth-intro::after {
    width: 180px;
    height: 180px;
    left: -105px;
    bottom: -95px;
}

.mrcd-auth-intro > * {
    position: relative;
    z-index: 1;
}

.mrcd-auth-eyebrow {
    display: inline-flex;
    width: max-content;
    margin-bottom: 22px;
    padding: 8px 13px;
    color: #174936;
    background: #edf3ea;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    line-height: 1;
    text-transform: uppercase;
}

.mrcd-auth-intro h1 {
    max-width: 520px;
    margin: 0 0 18px !important;
    color: #fff !important;
    font-size: clamp(40px, 5.2vw, 66px) !important;
    font-weight: 500 !important;
    letter-spacing: -.035em;
    line-height: 1.02 !important;
}

.mrcd-auth-intro > p {
    max-width: 520px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 16px;
    line-height: 1.75;
}

.mrcd-auth-benefits {
    display: grid;
    gap: 13px;
    margin: 38px 0 0;
    padding: 0;
    list-style: none;
}

.mrcd-auth-benefits li {
    display: flex;
    align-items: center;
    gap: 11px;
    color: rgba(255,255,255,.9);
    font-size: 14px;
}

.mrcd-auth-benefits span {
    display: grid;
    flex: 0 0 26px;
    place-items: center;
    width: 26px;
    height: 26px;
    color: #174936;
    background: #edf3ea;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 900;
}

.mrcd-auth-panel {
    align-self: center;
    padding: clamp(34px, 5vw, 70px);
}

.mrcd-auth-panel__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
}

.mrcd-auth-panel__icon {
    display: grid;
    flex: 0 0 48px;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--mrcd-green);
    background: var(--mrcd-sage);
    border-radius: 15px;
}

.mrcd-auth-panel__icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.mrcd-auth-panel__head h2 {
    margin: 0 0 4px !important;
    color: var(--mrcd-dark) !important;
    font-size: clamp(25px, 3vw, 34px) !important;
    line-height: 1.15 !important;
}

.mrcd-auth-panel__head p {
    margin: 0;
    color: var(--mrcd-muted);
    font-size: 14px;
}

.mrcd-auth-form form,
.mrcd-profile-page #pms_edit-profile-form,
.mrcd-profile-page form[class*="pms"] {
    display: grid;
    gap: 18px;
    width: 100%;
    margin: 0;
}

.mrcd-auth-form form > p,
.mrcd-auth-form .pms-field,
.mrcd-auth-form .pms-form-field-wrapper,
.mrcd-profile-page #pms_edit-profile-form > p,
.mrcd-profile-page #pms_edit-profile-form .pms-field,
.mrcd-profile-page form[class*="pms"] > p {
    display: grid;
    gap: 8px;
    width: 100%;
    margin: 0 !important;
}

.mrcd-auth-form label,
.mrcd-profile-page #pms_edit-profile-form label,
.mrcd-profile-page form[class*="pms"] label {
    color: var(--mrcd-ink);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
}

.mrcd-auth-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.mrcd-auth-form select,
.mrcd-auth-form textarea,
.mrcd-profile-page #pms_edit-profile-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.mrcd-profile-page #pms_edit-profile-form select,
.mrcd-profile-page #pms_edit-profile-form textarea,
.mrcd-profile-page form[class*="pms"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
    width: 100% !important;
    min-height: 52px;
    margin: 0 !important;
    padding: 12px 15px !important;
    color: var(--mrcd-ink) !important;
    background: #fbfcfa !important;
    border: 1px solid #d8e2da !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font: inherit;
    font-size: 15px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.mrcd-auth-form input:focus,
.mrcd-auth-form select:focus,
.mrcd-auth-form textarea:focus,
.mrcd-profile-page #pms_edit-profile-form input:focus,
.mrcd-profile-page #pms_edit-profile-form select:focus,
.mrcd-profile-page #pms_edit-profile-form textarea:focus {
    background: #fff !important;
    border-color: var(--mrcd-green) !important;
    box-shadow: 0 0 0 4px rgba(31, 96, 73, .11) !important;
}

.mrcd-auth-form input[type="checkbox"],
.mrcd-auth-form input[type="radio"],
.mrcd-profile-page #pms_edit-profile-form input[type="checkbox"],
.mrcd-profile-page #pms_edit-profile-form input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0 7px 0 0;
    accent-color: var(--mrcd-green);
}

.mrcd-auth-form .login-remember,
.mrcd-auth-form .pms-field-type-checkbox,
.mrcd-auth-form .pms-field-type-radio,
.mrcd-profile-page .pms-field-type-checkbox,
.mrcd-profile-page .pms-field-type-radio {
    display: flex !important;
    align-items: center;
    gap: 7px;
}

.mrcd-auth-form input[type="submit"],
.mrcd-auth-form button[type="submit"],
.mrcd-auth-form .pms-submit,
.mrcd-profile-page #pms_edit-profile-form input[type="submit"],
.mrcd-profile-page #pms_edit-profile-form button[type="submit"],
.mrcd-profile-page form[class*="pms"] input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 52px;
    margin: 4px 0 0 !important;
    padding: 12px 20px !important;
    color: #fff !important;
    background: var(--mrcd-green) !important;
    border: 1px solid var(--mrcd-green) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 24px rgba(31, 96, 73, .18) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.mrcd-auth-form input[type="submit"]:hover,
.mrcd-auth-form button[type="submit"]:hover,
.mrcd-profile-page #pms_edit-profile-form input[type="submit"]:hover,
.mrcd-profile-page #pms_edit-profile-form button[type="submit"]:hover {
    background: var(--mrcd-dark) !important;
    border-color: var(--mrcd-dark) !important;
    box-shadow: 0 14px 28px rgba(23, 73, 54, .22) !important;
    transform: translateY(-1px);
}

.mrcd-auth-form a,
.mrcd-profile-page #pms_edit-profile-form a {
    color: var(--mrcd-green) !important;
    font-weight: 700;
    text-underline-offset: 3px;
}

.mrcd-auth-form .pms-form-error,
.mrcd-auth-form .pms-error,
.mrcd-auth-form .pms-success,
.mrcd-auth-form .pms-notice,
.mrcd-profile-page .pms-form-error,
.mrcd-profile-page .pms-error,
.mrcd-profile-page .pms-success,
.mrcd-profile-page .pms-notice {
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    font-size: 13px;
    line-height: 1.55;
}

.mrcd-auth-form .pms-error,
.mrcd-auth-form .pms-form-error,
.mrcd-profile-page .pms-error,
.mrcd-profile-page .pms-form-error {
    color: #873b2c !important;
    background: #fff1ec !important;
    border: 1px solid #f0c5b9 !important;
}

.mrcd-auth-form .pms-success,
.mrcd-profile-page .pms-success {
    color: var(--mrcd-dark) !important;
    background: var(--mrcd-sage) !important;
    border: 1px solid #cfe0d2 !important;
}

.mrcd-auth-form ul.pms-form-errors,
.mrcd-profile-page ul.pms-form-errors {
    margin: 0;
    padding-left: 18px;
}

/* PMS appends the Register and Lost Password links as raw form children.
   Present them as intentional actions and remove the awkward visual break. */
.mrcd-login-actions {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    font-size: 0;
}

.mrcd-login-actions > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px !important;
    color: var(--mrcd-green, #1f6049) !important;
    background: var(--mrcd-sage, #edf3ea) !important;
    border: 1px solid #d8e4da !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center;
    text-decoration: none !important;
}

.mrcd-login-actions > a[href*="password"] {
    color: #9b5a45 !important;
    background: #fff7f3 !important;
    border-color: #efd3c8 !important;
}

.mrcd-login-actions > a:hover {
    color: #fff !important;
    background: var(--mrcd-green, #1f6049) !important;
    border-color: var(--mrcd-green, #1f6049) !important;
}

.mrcd-auth-form #pms_login {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mrcd-auth-form #pms_login > .login-username,
.mrcd-auth-form #pms_login > .login-password,
.mrcd-auth-form #pms_login > .login-remember,
.mrcd-auth-form #pms_login > .login-submit {
    grid-column: 1 / -1;
}

.mrcd-auth-form #pms_login > a,
.mrcd-account-login-page #pms_login > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    margin: 2px 0 0;
    padding: 9px 15px;
    color: var(--mrcd-green) !important;
    background: var(--mrcd-sage);
    border: 1px solid #d8e4da;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.mrcd-auth-form #pms_login > a[href*="register"],
.mrcd-account-login-page #pms_login > a[href*="register"] {
    grid-column: 1;
}

.mrcd-auth-form #pms_login > a[href*="password"],
.mrcd-account-login-page #pms_login > a[href*="password"] {
    grid-column: 2;
    color: #9b5a45 !important;
    background: #fff7f3;
    border-color: #efd3c8;
}

.mrcd-auth-form #pms_login > a:hover,
.mrcd-account-login-page #pms_login > a:hover {
    color: #fff !important;
    background: var(--mrcd-green);
    border-color: var(--mrcd-green);
    transform: translateY(-1px);
}

/* Logged-out visitors can land on any account tab URL. Keep that login form
   polished without applying Edit Profile rules to it. */
.mrcd-account-login-page #pms_login {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 26px;
    width: 100%;
    margin: 0;
    padding: clamp(22px, 4vw, 38px);
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(31, 96, 73, .055);
}

.mrcd-account-login-page #pms_login > p {
    display: grid;
    gap: 8px;
    width: 100%;
    margin: 0 !important;
}

.mrcd-account-login-page #pms_login label {
    color: var(--mrcd-ink);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
}

.mrcd-account-login-page #pms_login input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]) {
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 12px 15px;
    color: var(--mrcd-ink);
    background: #fbfcfa;
    border: 1px solid #d8e2da;
    border-radius: 12px;
    box-shadow: none;
    font: inherit;
    font-size: 15px;
    outline: none;
}

.mrcd-account-login-page #pms_login input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):focus {
    background: #fff;
    border-color: var(--mrcd-green);
    box-shadow: 0 0 0 4px rgba(31, 96, 73, .11);
}

.mrcd-account-login-page #pms_login .login-remember {
    display: flex;
    align-items: center;
    align-self: center;
}

.mrcd-account-login-page #pms_login input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 7px 0 0;
    accent-color: var(--mrcd-green);
}

.mrcd-account-login-page #pms_login input[type="submit"] {
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 12px 20px;
    color: #fff;
    background: var(--mrcd-green);
    border: 1px solid var(--mrcd-green);
    border-radius: 999px;
    box-shadow: 0 12px 24px rgba(31, 96, 73, .18);
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.mrcd-account-login-page #pms_login input[type="submit"]:hover {
    background: var(--mrcd-dark);
    border-color: var(--mrcd-dark);
}

.mrcd-register-page .mrcd-auth-shell {
    align-items: stretch;
}

.mrcd-register-page .mrcd-auth-panel {
    align-self: stretch;
}

.mrcd-auth-form .pms-subscription-plan,
.mrcd-auth-form .pms-subscription-plan-description,
.mrcd-auth-form li[class*="subscription-plan"] {
    padding: 15px 16px !important;
    color: var(--mrcd-ink);
    background: var(--mrcd-cream);
    border: 1px solid var(--mrcd-line) !important;
    border-radius: 12px;
}

.mrcd-auth-form .pms-subscription-plan label,
.mrcd-auth-form li[class*="subscription-plan"] label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.mrcd-registration-consent {
    display: grid;
    gap: 10px;
    width: 100%;
    padding: 16px;
    color: var(--mrcd-ink);
    background: var(--mrcd-cream);
    border: 1px solid var(--mrcd-line);
    border-radius: 12px;
}

.mrcd-registration-consent__label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    line-height: 1.55 !important;
}

.mrcd-registration-consent__label input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 2px 0 0 !important;
}

.mrcd-registration-consent__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding-left: 28px;
    font-size: 12px;
}

.mrcd-registration-consent__unavailable {
    margin: 0;
    color: #873b2c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.mrcd-profile-page #pms_edit-profile-form,
.mrcd-profile-page form[class*="pms"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(22px, 4vw, 38px) !important;
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(31, 96, 73, .055);
}

.mrcd-profile-page #pms_edit-profile-form > h3,
.mrcd-profile-page form[class*="pms"] > h3,
.mrcd-profile-page #pms_edit-profile-form > .pms-submit,
.mrcd-profile-page #pms_edit-profile-form > .pms-form-submit,
.mrcd-profile-page #pms_edit-profile-form > p:last-child,
.mrcd-profile-page form[class*="pms"] > p:last-child {
    grid-column: 1 / -1;
}

.mrcd-profile-page #pms_edit-profile-form > h3,
.mrcd-profile-page form[class*="pms"] > h3 {
    margin: 6px 0 2px !important;
    padding-top: 20px;
    color: var(--mrcd-dark) !important;
    border-top: 1px solid var(--mrcd-line);
    font-size: 20px !important;
}

.mrcd-profile-page #pms_edit-profile-form > h3:first-child,
.mrcd-profile-page form[class*="pms"] > h3:first-child {
    padding-top: 0;
    border-top: 0;
}

@media (max-width: 900px) {
    .mrcd-auth-shell {
        grid-template-columns: 1fr;
        width: min(720px, calc(100% - 30px));
        margin: 38px auto;
    }

    .mrcd-auth-intro {
        padding: 42px;
    }

    .mrcd-auth-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-top: 28px;
    }

    .mrcd-auth-benefits li {
        align-items: flex-start;
        flex-direction: column;
    }

    .mrcd-profile-page #pms_edit-profile-form,
    .mrcd-profile-page form[class*="pms"] {
        grid-template-columns: 1fr;
    }

    .mrcd-profile-page #pms_edit-profile-form > *,
    .mrcd-profile-page form[class*="pms"] > * {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .mrcd-auth-shell {
        width: calc(100% - 20px);
        margin: 22px auto;
        border-radius: 20px;
    }

    .mrcd-auth-intro,
    .mrcd-auth-panel {
        padding: 28px 22px;
    }

    .mrcd-auth-intro h1 {
        font-size: 38px !important;
    }

    .mrcd-auth-benefits {
        grid-template-columns: 1fr;
    }

    .mrcd-auth-benefits li {
        align-items: center;
        flex-direction: row;
    }

    .mrcd-auth-panel__head {
        align-items: flex-start;
    }

    .mrcd-profile-page #pms_edit-profile-form,
    .mrcd-profile-page form[class*="pms"] {
        padding: 20px !important;
        border-radius: 16px;
    }

    .mrcd-auth-form #pms_login,
    .mrcd-account-login-page #pms_login {
        grid-template-columns: 1fr;
    }

    .mrcd-login-actions {
        grid-template-columns: 1fr;
    }

    .mrcd-auth-form #pms_login > a,
    .mrcd-account-login-page #pms_login > p,
    .mrcd-account-login-page #pms_login > a {
        grid-column: 1 / -1 !important;
    }

    .mrcd-account-login-page #pms_login {
        padding: 20px;
        border-radius: 16px;
    }

    .mrcd-registration-consent__actions {
        padding-left: 0;
    }
}

/* Front-end administrator command center. */
.mrcd-front-admin {
    display: grid;
    gap: 20px;
    margin-top: 10px;
}

.mrcd-front-admin__hero,
.mrcd-front-admin__client-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    padding: 30px;
    color: #fff;
    background: linear-gradient(135deg, #123d2d 0%, var(--mrcd-green) 58%, #28765b 100%);
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(23,73,54,.16);
    overflow: hidden;
}

.mrcd-front-admin__hero::after,
.mrcd-front-admin__client-hero::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    top: -155px;
    right: -65px;
    border: 42px solid rgba(255,255,255,.07);
    border-radius: 50%;
}

.mrcd-front-admin__hero > *,
.mrcd-front-admin__client-hero > * { position: relative; z-index: 1; }
.mrcd-front-admin__hero h2,
.mrcd-front-admin__client-hero h2 { margin: 5px 0 8px !important; color: #fff !important; font-size: clamp(28px,3.5vw,44px) !important; line-height: 1.08 !important; }
.mrcd-front-admin__hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.78); }
.mrcd-front-admin__hero-actions,
.mrcd-front-admin__client-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }

.mrcd-front-admin__notice-link {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 0 8px;
    min-width: 112px;
    padding: 10px 14px;
    color: #fff !important;
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    text-decoration: none !important;
}
.mrcd-front-admin__notice-link > span:first-child { grid-row: 1 / 3; font-size: 20px; }
.mrcd-front-admin__notice-link strong { font-size: 18px; line-height: 1; }
.mrcd-front-admin__notice-link > span:last-child { color: rgba(255,255,255,.72); font-size: 10px; text-transform: uppercase; letter-spacing: .7px; }

.mrcd-front-admin__metrics {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 13px;
}
.mrcd-front-admin__metrics > div {
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0;
    padding: 19px;
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 17px;
    box-shadow: 0 9px 26px rgba(31,96,73,.055);
}
.mrcd-front-admin__metrics span { color: var(--mrcd-muted); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .7px; }
.mrcd-front-admin__metrics strong { min-width: 0; overflow: hidden; color: var(--mrcd-dark); font-size: clamp(21px,2.6vw,29px); line-height: 1.15; text-overflow: ellipsis; }
.mrcd-front-admin__metrics small { color: var(--mrcd-muted); font-size: 11px; line-height: 1.4; }

.mrcd-front-admin__dashboard-grid,
.mrcd-front-admin__detail-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
}
.mrcd-front-admin__panel--wide { grid-column: 1 / -1; }
.mrcd-front-admin__panel {
    min-width: 0;
    padding: 23px;
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 19px;
    box-shadow: 0 10px 28px rgba(31,96,73,.045);
}
.mrcd-front-admin__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.mrcd-front-admin__panel-head span { display: block; margin-bottom: 4px; color: var(--mrcd-peach); font-size: 10px; font-weight: 850; letter-spacing: .85px; text-transform: uppercase; }
.mrcd-front-admin__panel-head h3 { margin: 0 !important; color: var(--mrcd-dark) !important; font-size: 24px !important; line-height: 1.2 !important; }
.mrcd-front-admin__panel-head a { color: var(--mrcd-green) !important; font-size: 12px; font-weight: 850; text-decoration: none !important; }
.mrcd-front-admin__empty { margin: 0; padding: 22px; color: var(--mrcd-muted); background: var(--mrcd-cream); border-radius: 13px; text-align: center; }

.mrcd-front-admin__filters {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px;
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 16px;
}
.mrcd-front-admin__filters label:first-child { flex: 1 1 250px; }
.mrcd-front-admin__filters input,
.mrcd-front-admin__filters select {
    width: 100%;
    min-height: 44px;
    padding: 9px 13px;
    color: var(--mrcd-ink);
    background: #fff;
    border: 1px solid var(--mrcd-line);
    border-radius: 11px;
    box-shadow: none;
}
.mrcd-front-admin__filters select { min-width: 150px; }
.mrcd-front-admin__date { display: grid; gap: 4px; }
.mrcd-front-admin__date span { color: var(--mrcd-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.mrcd-front-admin__filters .mrcd-button { border: 0; cursor: pointer; }

.mrcd-front-admin__table-wrap { width: 100%; overflow-x: auto; }
.mrcd-front-admin__table { width: 100%; min-width: 880px; border: 0; border-collapse: collapse; background: transparent; }
.mrcd-front-admin__table th { padding: 12px 13px; color: var(--mrcd-muted); background: #f7faf6; border: 0; border-bottom: 1px solid var(--mrcd-line); font-size: 10px; font-weight: 850; letter-spacing: .6px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.mrcd-front-admin__table td { padding: 14px 13px; color: var(--mrcd-ink); border: 0; border-bottom: 1px solid #edf1ee; font-size: 12px; line-height: 1.45; vertical-align: middle; }
.mrcd-front-admin__table tr:last-child td { border-bottom: 0; }
.mrcd-front-admin__table td > strong,
.mrcd-front-admin__table td > small { display: block; }
.mrcd-front-admin__table td > small { margin-top: 3px; color: var(--mrcd-muted); }
.mrcd-front-admin__table .mrcd-status { display: inline-flex; margin-top: 6px; }
.mrcd-front-admin__table .mrcd-button { min-height: 36px; padding: 7px 12px; font-size: 11px; }
.mrcd-front-admin__client { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.mrcd-front-admin__client img { width: 38px; height: 38px; border: 2px solid #e2ebe3; border-radius: 50%; }
.mrcd-front-admin__client span { display: grid; gap: 2px; }
.mrcd-front-admin__client small { color: var(--mrcd-muted); font-size: 10px; }
.mrcd-front-admin__count { display: inline-grid; place-items: center; min-width: 27px; min-height: 27px; padding: 3px 7px; color: var(--mrcd-green); background: var(--mrcd-sage); border-radius: 999px; font-weight: 850; }
.mrcd-front-admin__count.is-warning { color: #934a35; background: #fff0e8; }

.mrcd-front-admin__feed-item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 12px 0;
    color: var(--mrcd-ink) !important;
    border-bottom: 1px solid #edf1ee;
    text-decoration: none !important;
}
.mrcd-front-admin__feed-item:last-child { border-bottom: 0; }
.mrcd-front-admin__feed-item > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.mrcd-front-admin__feed-item strong { overflow: hidden; color: var(--mrcd-dark); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.mrcd-front-admin__feed-item small { overflow: hidden; color: var(--mrcd-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mrcd-front-admin__feed-item em { color: var(--mrcd-green); font-size: 10px; font-style: normal; font-weight: 850; }
.mrcd-front-admin__feed-icon { display: grid; place-items: center; width: 34px; height: 34px; color: var(--mrcd-green); background: var(--mrcd-sage); border-radius: 10px; }
.mrcd-front-admin__feed-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }

.mrcd-front-admin__back { justify-self: start; color: var(--mrcd-green) !important; font-weight: 850; text-decoration: none !important; }
.mrcd-front-admin__client-hero { justify-content: flex-start; }
.mrcd-front-admin__client-hero > img { width: 76px; height: 76px; border: 4px solid rgba(255,255,255,.25); border-radius: 50%; }
.mrcd-front-admin__client-hero > div:nth-of-type(1) { flex: 1; }
.mrcd-front-admin__client-hero > div:nth-of-type(1) > span { color: rgba(255,255,255,.72); font-size: 10px; font-weight: 850; letter-spacing: .8px; text-transform: uppercase; }
.mrcd-front-admin__client-hero > div:nth-of-type(1) > a { color: rgba(255,255,255,.84) !important; text-decoration: none; }
.mrcd-front-admin__details { margin: 0; }
.mrcd-front-admin__details > div { display: grid; grid-template-columns: minmax(110px,.45fr) minmax(0,1fr); gap: 16px; padding: 11px 0; border-bottom: 1px solid #edf1ee; }
.mrcd-front-admin__details > div:last-child { border-bottom: 0; }
.mrcd-front-admin__details dt { color: var(--mrcd-muted); }
.mrcd-front-admin__details dd { margin: 0; color: var(--mrcd-dark); font-weight: 750; overflow-wrap: anywhere; }
.mrcd-front-admin__subscription { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; padding: 15px; margin-bottom: 10px; background: var(--mrcd-cream); border-radius: 13px; }
.mrcd-front-admin__subscription:last-child { margin-bottom: 0; }
.mrcd-front-admin__subscription small { grid-column: 1 / -1; color: var(--mrcd-muted); }
.mrcd-front-admin__privacy { margin: 0; padding: 14px 17px; color: var(--mrcd-dark); background: var(--mrcd-sage); border: 1px solid #d8e6d9; border-radius: 13px; font-size: 12px; }

.mrcd-front-admin .mrcd-admin__responsive { width: 100%; overflow-x: auto; }
.mrcd-front-admin .mrcd-admin__responsive table { width: 100%; min-width: 560px; border: 0; border-collapse: collapse; }
.mrcd-front-admin .mrcd-admin__responsive th,
.mrcd-front-admin .mrcd-admin__responsive td { padding: 11px; border: 0; border-bottom: 1px solid #edf1ee; text-align: left; }
.mrcd-front-admin .mrcd-admin__responsive th { color: var(--mrcd-muted); background: #f7faf6; font-size: 10px; text-transform: uppercase; }
.mrcd-front-admin .mrcd-admin-bookings { display: grid; gap: 9px; }
.mrcd-front-admin .mrcd-admin-bookings > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 12px; padding: 13px; background: var(--mrcd-cream); border-radius: 12px; }
.mrcd-front-admin .mrcd-admin-bookings small { grid-column: 1 / -1; color: var(--mrcd-muted); }
.mrcd-front-admin .mrcd-admin__panel { padding: 0; border: 0; box-shadow: none; }
.mrcd-front-admin .mrcd-admin__panel > h2 { margin: 0 0 14px !important; color: var(--mrcd-dark) !important; font-size: 17px !important; }
.mrcd-front-admin .mrcd-admin__empty { margin: 0; padding: 17px; color: var(--mrcd-muted); background: var(--mrcd-cream); border-radius: 12px; }
.mrcd-front-admin .mrcd-admin-status { display: inline-flex; width: max-content; padding: 5px 9px; color: var(--mrcd-dark); background: var(--mrcd-sage); border-radius: 999px; font-size: 10px; font-weight: 850; line-height: 1.1; }
.mrcd-front-admin .mrcd-admin-status--active,
.mrcd-front-admin .mrcd-admin-status--completed,
.mrcd-front-admin .mrcd-admin-status--approved,
.mrcd-front-admin .mrcd-admin-status--confirmed { color: var(--mrcd-dark); background: #e5f3e6; }
.mrcd-front-admin .mrcd-admin-status--pending,
.mrcd-front-admin .mrcd-admin-status--failed { color: #943e2a; background: #fff0eb; }
.mrcd-front-admin .mrcd-admin-status--inactive,
.mrcd-front-admin .mrcd-admin-status--expired,
.mrcd-front-admin .mrcd-admin-status--canceled,
.mrcd-front-admin .mrcd-admin-status--cancelled,
.mrcd-front-admin .mrcd-admin-status--rejected,
.mrcd-front-admin .mrcd-admin-status--no-show { color: #5f6863; background: #eef0ee; }
.mrcd-front-admin .mrcd-admin-payment-cards { display: grid; gap: 10px; }
.mrcd-front-admin .mrcd-admin-payment-cards > article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 14px; padding: 15px; background: var(--mrcd-cream); border: 1px solid #eee9db; border-radius: 12px; }
.mrcd-front-admin .mrcd-admin-payment-cards strong,
.mrcd-front-admin .mrcd-admin-payment-cards small { display: block; }
.mrcd-front-admin .mrcd-admin-payment-cards small { margin-top: 4px; color: var(--mrcd-muted); }
.mrcd-front-admin .mrcd-admin-payment-actions { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.mrcd-front-admin .mrcd-admin-payment-actions form { display: flex; align-items: center; flex: 1; gap: 7px; margin: 0; }
.mrcd-front-admin .mrcd-admin-payment-actions select { min-width: 130px; min-height: 38px; padding: 6px 10px; border: 1px solid var(--mrcd-line); border-radius: 9px; }
.mrcd-front-admin .mrcd-admin-payment-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 7px 13px; color: var(--mrcd-dark); background: var(--mrcd-sage); border: 0; border-radius: 999px; font-weight: 800; text-decoration: none; cursor: pointer; }

@media (max-width: 1050px) {
    .mrcd-front-admin__metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .mrcd-front-admin__hero,
    .mrcd-front-admin__client-hero { align-items: flex-start; flex-direction: column; padding: 24px; }
    .mrcd-front-admin__hero-actions,
    .mrcd-front-admin__client-actions { justify-content: flex-start; }
    .mrcd-front-admin__dashboard-grid,
    .mrcd-front-admin__detail-grid { grid-template-columns: 1fr; }
    .mrcd-front-admin__panel--wide { grid-column: auto; }
    .mrcd-front-admin__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 540px) {
    .mrcd-front-admin__metrics { grid-template-columns: 1fr; }
    .mrcd-front-admin__panel { padding: 17px; border-radius: 15px; }
    .mrcd-front-admin__filters { align-items: stretch; flex-direction: column; }
    .mrcd-front-admin__filters label:first-child { flex-basis: auto; }
    .mrcd-front-admin__filters select { min-width: 0; }
    .mrcd-front-admin__feed-item { grid-template-columns: auto minmax(0,1fr); }
    .mrcd-front-admin__feed-item em { grid-column: 2; }
    .mrcd-front-admin__details > div { grid-template-columns: 1fr; gap: 3px; }
    .mrcd-front-admin .mrcd-admin-payment-cards > article { grid-template-columns: 1fr; }
    .mrcd-front-admin .mrcd-admin-payment-actions,
    .mrcd-front-admin .mrcd-admin-payment-actions form { align-items: stretch; flex-direction: column; }
}

/* Consent documents ----------------------------------------------------- */
.mrcd-consent-notice {
    padding: 14px 17px;
    margin: 0 0 18px;
    border: 1px solid var(--mrcd-line);
    border-radius: 13px;
    font-size: 13px;
    font-weight: 750;
}
.mrcd-consent-notice--success { color: var(--mrcd-dark); background: #e8f5e9; border-color: #cfe7d2; }
.mrcd-consent-notice--error { color: #873b2c; background: #fff1ec; border-color: #efd3c8; }
.mrcd-consent-admin { display: grid; gap: 18px; }
.mrcd-consent-admin > .mrcd-front-admin__hero { margin-bottom: 0; }
.mrcd-consent-upload { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 14px; }
.mrcd-consent-upload label { grid-column: 1 / -1; display: grid; gap: 4px; color: var(--mrcd-dark); }
.mrcd-consent-upload label span { color: var(--mrcd-muted); font-size: 12px; font-weight: 500; line-height: 1.5; }
.mrcd-consent-upload input[type="file"] { width: 100%; min-height: 46px; padding: 9px; color: var(--mrcd-ink); background: var(--mrcd-cream); border: 1px solid var(--mrcd-line); border-radius: 11px; }
.mrcd-consent-documents { display: grid; gap: 10px; }
.mrcd-consent-document { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px; background: var(--mrcd-cream); border: 1px solid #eee9db; border-radius: 13px; }
.mrcd-consent-document__icon { display: grid; place-items: center; width: 40px; height: 40px; color: var(--mrcd-green); background: var(--mrcd-sage); border-radius: 11px; font-size: 20px; }
.mrcd-consent-document strong,
.mrcd-consent-document small { display: block; }
.mrcd-consent-document strong { color: var(--mrcd-dark); overflow-wrap: anywhere; }
.mrcd-consent-document small { margin-top: 3px; color: var(--mrcd-muted); font-size: 10px; font-weight: 850; letter-spacing: .7px; }
.mrcd-consent-document__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.mrcd-consent-document__actions .mrcd-button { min-height: 38px; padding: 7px 13px; font-size: 12px; }
.mrcd-consent-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.mrcd-consent-panel__head h3 { margin: 3px 0 5px !important; color: var(--mrcd-dark) !important; font-size: 24px !important; }
.mrcd-consent-panel__head p { margin: 0; color: var(--mrcd-muted); }
.mrcd-consent-status { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; color: var(--mrcd-dark); background: #e5f3e6; border-radius: 999px; font-size: 12px; font-weight: 850; white-space: nowrap; }
.mrcd-consent-details { margin-bottom: 18px; border: 1px solid var(--mrcd-line); border-radius: 14px; overflow: hidden; }
.mrcd-consent-details summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 17px; color: var(--mrcd-dark); background: var(--mrcd-sage); font-weight: 850; cursor: pointer; }
.mrcd-consent-details summary span { color: var(--mrcd-muted); font-size: 11px; font-weight: 650; }
.mrcd-consent-details .mrcd-consent-documents { padding: 14px; }
.mrcd-consent-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px 18px; padding: 17px; background: var(--mrcd-cream); border: 1px solid #eee9db; border-radius: 14px; }
.mrcd-consent-form label { display: flex; align-items: flex-start; gap: 11px; color: var(--mrcd-dark); font-weight: 750; line-height: 1.45; }
.mrcd-consent-form input[type="checkbox"] { flex: 0 0 auto; width: 19px; height: 19px; margin-top: 1px; accent-color: var(--mrcd-green); }
.mrcd-consent-form > small { grid-column: 1; color: var(--mrcd-muted); }
.mrcd-consent-form > .mrcd-button { grid-column: 2; grid-row: 1 / span 2; }

@media (max-width: 700px) {
    .mrcd-consent-upload,
    .mrcd-consent-form { grid-template-columns: 1fr; }
    .mrcd-consent-form > .mrcd-button { grid-column: auto; grid-row: auto; width: 100%; }
    .mrcd-consent-form > small { grid-column: auto; }
    .mrcd-consent-document { grid-template-columns: auto minmax(0,1fr); }
    .mrcd-consent-document__actions { grid-column: 1 / -1; }
    .mrcd-consent-document__actions .mrcd-button { flex: 1; }
    .mrcd-consent-panel__head { flex-direction: column; }
}
