﻿/* ===== Velora final top-nav dashboard ===== */
.vdash-home--final {
    display: grid;
    gap: 24px;
}

.vdash-final-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-top: 2px;
}

.vdash-final-header h1 {
    margin: 0;
    color: var(--brand-deep);
    font-size: clamp(2rem, 3.1vw, 3rem);
    font-weight: 850;
    letter-spacing: -.045em;
}

.vdash-final-header p {
    margin: 8px 0 0;
    max-width: 720px;
    color: var(--muted);
    font-size: .98rem;
    font-weight: 600;
    line-height: 1.7;
}

.vdash-final-date {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    border-radius: 15px;
    color: var(--text-strong);
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(22,33,29,.11);
    box-shadow: 0 14px 30px rgba(22, 36, 31, .05);
    font-weight: 700;
    white-space: nowrap;
}

.vdash-final-date i {
    color: var(--brand-deep);
}

.vdash-final-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.vdash-final-kpi,
.vdash-final-panel {
    border: 1px solid rgba(22,33,29,.09);
    background: rgba(255,255,255,.76);
    box-shadow: 0 18px 44px rgba(24, 36, 32, .06);
}

.vdash-final-kpi {
    min-height: 138px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 24px 28px;
    border-radius: 16px;
}

.vdash-final-kpi__icon,
.vdash-final-action__icon,
.vdash-final-quick__icon,
.vdash-final-glance__icon {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.09);
}

.vdash-final-kpi__icon i {
    font-size: 1.75rem;
}

.vdash-final-kpi__icon.is-gold,
.vdash-final-action__icon.is-gold,
.vdash-final-glance__icon.is-gold {
    color: #9d6f19;
    background: rgba(199,169,112,.18);
}

.vdash-final-action__icon.is-blue,
.vdash-final-glance__icon.is-blue {
    color: #325a64;
    background: rgba(99,128,139,.14);
}

.vdash-final-kpi__label {
    color: var(--text-strong);
    font-size: 1rem;
    font-weight: 650;
}

.vdash-final-kpi__value {
    margin-top: 6px;
    color: var(--brand-deep);
    font-size: clamp(2.1rem, 3.2vw, 3rem);
    line-height: .92;
    font-weight: 850;
    letter-spacing: -.045em;
}

.vdash-final-kpi__note {
    margin-top: 9px;
    color: var(--muted);
    font-size: .87rem;
    font-weight: 600;
}

.vdash-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(390px, .86fr);
    gap: 24px;
    align-items: start;
}

.vdash-final-secondary {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(460px, .85fr);
    gap: 24px;
    align-items: start;
}

.vdash-final-panel {
    border-radius: 16px;
    padding: 20px;
}

.vdash-final-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.vdash-final-panel__head--simple {
    border-bottom: 0;
    padding-bottom: 12px;
}

.vdash-final-panel__titlewrap {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.vdash-final-panel__titlewrap > i {
    color: var(--brand-deep);
    font-size: 1.1rem;
}

.vdash-final-panel__titlewrap h2 {
    margin: 0;
    color: var(--text-strong);
    font-size: 1.28rem;
    font-weight: 780;
    letter-spacing: -.025em;
}

.vdash-final-panel__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 12px;
    color: var(--brand-deep);
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(22,33,29,.10);
    font-size: .82rem;
    font-weight: 750;
    text-decoration: none;
}

.vdash-final-panel__link:hover {
    color: var(--brand-deep);
    background: var(--surface-olive);
}

.vdash-final-table {
    display: grid;
}

.vdash-final-table__head,
.vdash-final-row {
    display: grid;
    grid-template-columns: 120px minmax(190px, 1.35fr) minmax(120px, .8fr) 150px 34px;
    gap: 16px;
    align-items: center;
}

.vdash-final-table__head {
    min-height: 44px;
    color: rgba(22,33,29,.48);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vdash-final-row {
    min-height: 56px;
    border-top: 1px solid rgba(22,33,29,.07);
}

.vdash-final-row__time {
    color: var(--text-strong);
    font-size: .98rem;
    font-weight: 650;
}

.vdash-final-row__patient {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--text-strong);
    font-weight: 700;
}

.vdash-final-row__patient span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vdash-final-avatar {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 999px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.12);
    font-size: .76rem;
    font-weight: 800;
}

.vdash-final-row__meta {
    color: var(--muted);
    font-size: .92rem;
    font-weight: 600;
}

.vdash-final-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 98px;
    min-height: 28px;
    border-radius: 8px;
    padding: 0 12px;
    font-size: .84rem;
    font-weight: 700;
}

.vdash-final-status.is-confirmed {
    color: #1f4f40;
    background: rgba(47,107,88,.11);
}

.vdash-final-status.is-hold {
    color: #956a22;
    background: rgba(199,169,112,.18);
}

.vdash-final-status.is-cancelled {
    color: #963737;
    background: rgba(184,88,88,.14);
}

.vdash-final-more {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--muted);
}

.vdash-final-more:hover {
    color: var(--brand-deep);
    background: rgba(47,107,88,.08);
}

.vdash-final-panel__footer {
    padding-top: 12px;
    border-top: 1px solid rgba(22,33,29,.07);
    color: var(--muted);
    text-align: center;
    font-size: .88rem;
    font-weight: 600;
}

.vdash-final-actions {
    display: grid;
    border: 1px solid rgba(22,33,29,.08);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255,255,255,.44);
}

.vdash-final-action {
    min-height: 92px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-bottom: 1px solid rgba(22,33,29,.07);
}

.vdash-final-action:last-child {
    border-bottom: 0;
}

.vdash-final-action__icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
}

.vdash-final-action__copy strong,
.vdash-final-action__copy span {
    display: block;
}

.vdash-final-action__copy strong {
    color: var(--text-strong);
    font-size: 1rem;
    font-weight: 750;
}

.vdash-final-action__copy span {
    margin-top: 3px;
    color: var(--muted);
    font-size: .88rem;
    font-weight: 600;
}

.vdash-final-count {
    min-width: 32px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #8a6826;
    background: rgba(199,169,112,.17);
    font-size: .86rem;
    font-weight: 850;
}

.vdash-final-action__btn {
    min-width: 96px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: var(--brand-deep);
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(47,107,88,.26);
    font-size: .88rem;
    font-weight: 760;
    text-decoration: none;
}

.vdash-final-action__btn:hover {
    color: #fff;
    background: var(--brand-deep);
}

.vdash-final-empty {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 86px;
    padding: 18px;
    margin-top: 16px;
    border-radius: 14px;
    border: 1px dashed rgba(22,33,29,.15);
    background: rgba(255,255,255,.52);
}

.vdash-final-empty--compact {
    margin-top: 16px;
}

.vdash-final-empty i {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
    font-size: 1.15rem;
}

.vdash-final-empty strong,
.vdash-final-empty span {
    display: block;
}

.vdash-final-empty strong {
    color: var(--text-strong);
    font-weight: 800;
}

.vdash-final-empty span {
    margin-top: 3px;
    color: var(--muted);
    font-size: .88rem;
    font-weight: 600;
}

.vdash-final-quick {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.vdash-final-quick__item {
    min-height: 96px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border-radius: 12px;
    color: var(--text-strong);
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(22,33,29,.08);
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.vdash-final-quick__item:hover {
    color: var(--brand-deep);
    transform: translateY(-2px);
    border-color: rgba(47,107,88,.22);
    box-shadow: 0 16px 32px rgba(24,36,32,.07);
}

.vdash-final-quick__item.is-primary {
    background: linear-gradient(135deg, rgba(47,107,88,.10), rgba(199,169,112,.14));
}

.vdash-final-quick__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
}

.vdash-final-quick__item strong,
.vdash-final-quick__item small {
    display: block;
}

.vdash-final-quick__item strong {
    font-size: .9rem;
    font-weight: 800;
}

.vdash-final-quick__item small {
    margin-top: 5px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 600;
}

.vdash-final-quick__arrow {
    color: var(--brand-deep);
}

.vdash-final-glance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding-top: 18px;
}

.vdash-final-glance__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding-inline-end: 18px;
    border-inline-end: 1px solid rgba(22,33,29,.08);
}

.vdash-final-glance__item:last-child {
    border-inline-end: 0;
    padding-inline-end: 0;
}

.vdash-final-glance__icon {
    width: 60px;
    height: 60px;
    border-radius: 999px;
}

.vdash-final-glance__item span,
.vdash-final-glance__item strong {
    display: block;
}

.vdash-final-glance__item span {
    color: var(--muted);
    font-size: .8rem;
    font-weight: 700;
}

.vdash-final-glance__item strong {
    margin-top: 6px;
    color: var(--text-strong);
    font-size: .94rem;
    font-weight: 760;
    line-height: 1.45;
}

@media (max-width: 1280px) {
    .vdash-final-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vdash-final-grid,
    .vdash-final-secondary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .vdash-final-header {
        flex-direction: column;
    }

    .vdash-final-kpis,
    .vdash-final-quick,
    .vdash-final-glance {
        grid-template-columns: 1fr;
    }

    .vdash-final-kpi,
    .vdash-final-action,
    .vdash-final-table__head,
    .vdash-final-row {
        grid-template-columns: 1fr;
    }

    .vdash-final-table__head {
        display: none;
    }

    .vdash-final-row {
        gap: 8px;
        padding: 14px 0;
    }

    .vdash-final-action__btn,
    .vdash-final-count {
        justify-self: start;
    }

    .vdash-final-glance__item {
        border-inline-end: 0;
        padding-inline-end: 0;
    }
}

/* ===== Remaining interface polish ===== */
.lc-pdetails,
.lc-visitPage,
.invoice-page,
.systemstatus-page,
.notificationlogs-page,
.patient-delete-page,
.visit-delete-page {
    display: grid;
    gap: 22px;
}

.lc-pd-heroCard,
.lc-visitForm,
.invoice-shell {
    display: grid;
    gap: 18px;
}

.lc-pd-heroCard {
    padding: 26px !important;
    border-radius: 30px !important;
}

.lc-pd-heroTop {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    flex-wrap: wrap;
}

.lc-pd-h1,
.lc-pd-secH {
    margin: 0;
    color: var(--text-strong);
    font-size: clamp(1.6rem, 2.4vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -.05em;
}

.lc-pd-actionsRow {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.lc-pd-statStrip,
.lc-pd-infoGrid,
.lc-finishGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.lc-pd-mini,
.lc-pd-infoItem,
.lc-summaryBar {
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #fff, #f7f4ec);
    padding: 16px 18px;
}

.lc-pd-miniNum {
    color: var(--text-strong);
    font-size: 1.45rem;
    font-weight: 800;
    margin-top: 6px;
}

.lc-pd-miniNumSm {
    font-size: 1rem;
}

.lc-pd-section .lc-pd-secTitle,
.lc-vf-secTitle {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}

.lc-chip {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(47,107,88,.12), rgba(199,169,112,.20));
    color: var(--brand-deep);
}

.lc-pd-infoNotes {
    grid-column: 1 / -1;
}

.lc-vf-section,
.invoice-card {
    border-radius: 28px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #fff, #fbf7ef);
    box-shadow: var(--shadow-sm);
}

.lc-group {
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f7f4ec);
    box-shadow: var(--shadow-sm);
}

.invoice-shell {
    max-width: 1080px;
    margin-inline: auto;
}

.invoice-page .invoice-card {
    padding: 28px;
}

.invoice-page .invoice-top {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.invoice-page .invoice-brand {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.invoice-page .invoice-logo {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(47,107,88,.12), rgba(199,169,112,.18));
    border: 1px solid rgba(22,33,29,.08);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.invoice-page .invoice-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.invoice-page .invoice-brand__name {
    color: var(--text-strong);
    font-family: var(--font-display);
    font-size: 2.4rem;
    line-height: .92;
}

.invoice-page .invoice-brand__sub,
.invoice-page .invoice-meta__label,
.invoice-page .invoice-table th,
.invoice-page .invoice-notes__label {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.invoice-page .invoice-table {
    width: 100%;
}

.invoice-page .invoice-table th,
.invoice-page .invoice-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.invoice-page .invoice-total-card {
    margin-left: auto;
    width: min(360px, 100%);
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #fff, #f6f2ea);
    padding: 20px 22px;
}

.invoice-page .invoice-total-card__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-block: 10px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.invoice-page .invoice-total-card__row:last-child {
    border-bottom: 0;
}

.invoice-page .invoice-actions,
.lc-actions-bar {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.invoice-page .invoice-notes,
.lc-help-card,
.lc-info-box {
    border-radius: 20px;
}

@media (max-width: 991.98px) {
    .lc-pd-statStrip,
    .lc-pd-infoGrid,
    .lc-finishGrid,
    .invoice-page .invoice-top {
        grid-template-columns: 1fr;
    }
}


.lc-vf-groupHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.lc-vf-groupTitle {
    color: var(--text-strong);
    font-size: 1rem;
    font-weight: 800;
}

.lc-summaryBar {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.lc-summaryLabel {
    color: var(--muted-strong);
    font-weight: 800;
}

.lc-group .lc-tablewrap {
    overflow: auto;
    border-radius: 18px;
    background: #fffdf9;
    border: 1px solid rgba(22,33,29,.08);
}

.lc-group table.lc-table thead th {
    background: #f4f1e8 !important;
    color: var(--muted-strong) !important;
}

.lc-group table.lc-table tbody td {
    background: transparent !important;
}

.lc-group .form-control,
.lc-group .form-select {
    border-color: rgba(22,33,29,.10) !important;
    background: #fff !important;
}

.lc-inline-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.lc-inline-summary__item {
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #fff, #f8f5ee);
    padding: 16px 18px;
}

.lc-inline-summary__label {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.lc-inline-summary__value {
    color: var(--text-strong);
    font-weight: 800;
}

@media (max-width: 991.98px) {
    .lc-inline-summary {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .lc-inline-summary {
        grid-template-columns: 1fr;
    }
}


.patient-visit-stack {
    display: grid;
    gap: 18px;
}

.patient-visit-empty {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px;
    padding: 24px;
    border-radius: 24px;
    border: 1px dashed rgba(22,33,29,.18);
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,242,233,.82));
}

.patient-visit-empty__icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    color: var(--brand-deep);
    background: rgba(107,130,102,.12);
    border: 1px solid rgba(107,130,102,.16);
}

.patient-visit-empty__title,
.patient-visit-card__title,
.patient-visit-lines__title,
.patient-visit-aside__value {
    color: var(--text-strong);
}

.patient-visit-empty__title {
    font-size: 1.02rem;
    font-weight: 800;
}

.patient-visit-empty__text,
.patient-visit-card__meta,
.patient-visit-lines__sub,
.patient-visit-line__sub,
.patient-visit-aside__label,
.patient-visit-noteCard__label,
.patient-visit-noteCard__text,
.patient-visit-lines__empty {
    color: var(--muted);
}

.patient-visit-empty__text {
    margin-top: 6px;
    line-height: 1.7;
}

.patient-visit-card {
    border-radius: 28px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,242,233,.92));
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.patient-visit-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(246,241,232,.85), rgba(255,255,255,.55));
}

.patient-visit-card__identity {
    display: grid;
    gap: 8px;
}

.patient-visit-card__eyebrow,
.patient-visit-lines__title,
.patient-visit-aside__label,
.patient-visit-noteCard__label {
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.patient-visit-card__eyebrow,
.patient-visit-card__code,
.patient-visit-aside__label,
.patient-visit-noteCard__label {
    color: var(--muted-strong);
}

.patient-visit-card__titleRow {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.patient-visit-card__title {
    margin: 0;
    font-size: 1.28rem;
    font-weight: 800;
    letter-spacing: -.03em;
}

.patient-visit-card__code {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.82);
    font-size: .78rem;
    font-weight: 800;
}

.patient-visit-card__meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    font-size: .92rem;
}

.patient-visit-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.patient-visit-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.patient-visit-card__actions form {
    margin: 0;
}

.patient-visit-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr);
    gap: 18px;
    padding: 22px 24px 24px;
}

.patient-visit-lines,
.patient-visit-aside__card,
.patient-visit-noteCard {
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f8f5ee);
}

.patient-visit-lines {
    padding: 18px;
}

.patient-visit-lines__head {
    margin-bottom: 14px;
}

.patient-visit-lines__title {
    color: var(--text-strong);
}

.patient-visit-lines__sub {
    margin-top: 6px;
    line-height: 1.7;
}

.patient-visit-lines__list {
    display: grid;
    gap: 12px;
}

.patient-visit-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 16px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,241,232,.82));
}

.patient-visit-line__main {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.patient-visit-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(22,33,29,.04);
    color: var(--text-strong);
    font-size: .74rem;
    font-weight: 800;
    white-space: nowrap;
}

.patient-visit-pill.is-fillers {
    background: rgba(107,130,102,.12);
    color: #47634a;
}

.patient-visit-pill.is-botox {
    background: rgba(87,118,142,.12);
    color: #49657a;
}

.patient-visit-pill.is-skin {
    background: rgba(192,157,87,.14);
    color: #8a6a21;
}

.patient-visit-line__copy {
    min-width: 0;
}

.patient-visit-line__name {
    color: var(--text-strong);
    font-weight: 800;
    line-height: 1.45;
}

.patient-visit-line__sub {
    margin-top: 4px;
    line-height: 1.6;
}

.patient-visit-line__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(86px, 1fr));
    gap: 10px;
    min-width: 210px;
}

.patient-visit-line__metric {
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(107,130,102,.06);
    border: 1px solid rgba(22,33,29,.06);
    text-align: right;
}

.patient-visit-line__metric--price {
    background: rgba(180,155,103,.10);
}

.patient-visit-line__metric span {
    display: block;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.patient-visit-line__metric strong {
    display: block;
    margin-top: 6px;
    color: var(--text-strong);
    font-size: .98rem;
    font-weight: 800;
}

.patient-visit-lines__empty {
    padding: 18px;
    border-radius: 18px;
    background: rgba(22,33,29,.03);
    border: 1px dashed rgba(22,33,29,.12);
    line-height: 1.7;
}

.patient-visit-aside {
    display: grid;
    gap: 12px;
    align-content: start;
}

.patient-visit-aside__card,
.patient-visit-noteCard {
    padding: 16px 18px;
}

.patient-visit-aside__card--accent {
    background: linear-gradient(180deg, rgba(236,242,237,.95), rgba(255,255,255,.9));
}

.patient-visit-aside__value {
    margin-top: 8px;
    font-size: 1.22rem;
    font-weight: 800;
    letter-spacing: -.03em;
}

.patient-visit-noteCard__text {
    margin-top: 10px;
    line-height: 1.8;
}

@media (max-width: 991.98px) {
    .patient-visit-card__body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .patient-visit-empty {
        grid-template-columns: 1fr;
    }

    .patient-visit-card__head,
    .patient-visit-card__body,
    .patient-visit-lines,
    .patient-visit-aside__card,
    .patient-visit-noteCard {
        padding: 18px;
    }

    .patient-visit-line {
        flex-direction: column;
        align-items: stretch;
    }

    .patient-visit-line__main {
        flex-direction: column;
    }

    .patient-visit-line__meta {
        min-width: 0;
        grid-template-columns: 1fr 1fr;
    }
}


/* ===== Batch 2: patient profile + invoice document polish ===== */
.lc-patient-shell,
.lc-patient-sidecard,
.lc-patient-section {
    border-radius: 28px;
}

.lc-patient-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.lc-patient-fact,
.lc-patient-note,
.lc-patient-side-item,
.lc-patient-subcard {
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f8f5ee);
    box-shadow: var(--shadow-sm);
}

.lc-patient-fact,
.lc-patient-side-item {
    padding: 16px 18px;
}

.lc-patient-fact__label,
.lc-patient-note__label,
.lc-patient-subcard__eyebrow,
.invoice-brand__eyebrow,
.invoice-dochead__label,
.invoice-section__eyebrow,
.invoice-meta-card__label {
    color: var(--muted);
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.lc-patient-fact__value,
.lc-patient-side-item__value {
    margin-top: 8px;
    color: var(--text-strong);
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: -.03em;
}

.lc-patient-note {
    padding: 18px 20px;
}

.lc-patient-note__text {
    margin-top: 10px;
    color: var(--text);
    line-height: 1.8;
}

.lc-patient-side-stack {
    display: grid;
    gap: 12px;
}

.lc-patient-side-item__label {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.6;
}

.lc-patient-section__head,
.invoice-section__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.lc-patient-subcard {
    padding: 18px;
}

.lc-patient-subcard__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.lc-patient-subcard__title {
    color: var(--text-strong);
    font-size: 1.02rem;
    font-weight: 800;
}

.invoice-hero .vc-page-hero__stat-value {
    font-size: 1.08rem;
}

.invoice-card--document {
    padding: 34px;
    background: linear-gradient(180deg, #fffefb, #f7f2e9);
}

.invoice-dochead {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
    gap: 24px;
    align-items: start;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.invoice-dochead__brand {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.invoice-brand-copy {
    display: grid;
    gap: 6px;
}

.invoice-brand__name {
    color: var(--text-strong);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.1vw, 2.8rem);
    line-height: .92;
    letter-spacing: -.04em;
}

.invoice-brand__meta {
    color: var(--muted-strong);
    line-height: 1.7;
}

.invoice-dochead__identity {
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,241,232,.9));
    padding: 22px 24px;
    box-shadow: var(--shadow-sm);
}

.invoice-dochead__number {
    margin-top: 6px;
    color: var(--text-strong);
    font-size: clamp(1.9rem, 2.6vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -.06em;
}

.invoice-dochead__metaGrid,
.invoice-meta-grid,
.invoice-lower-grid {
    display: grid;
    gap: 14px;
}

.invoice-dochead__metaGrid,
.invoice-meta-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.invoice-dochead__metaGrid {
    margin-top: 18px;
}

.invoice-dochead__metaItem,
.invoice-meta-card,
.invoice-note-card {
    border-radius: 20px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f8f5ee);
}

.invoice-dochead__metaItem {
    padding: 14px 15px;
}

.invoice-dochead__metaItem span {
    display: block;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.invoice-dochead__metaItem strong {
    color: var(--text-strong);
    font-weight: 800;
}

.invoice-meta-grid {
    margin-bottom: 22px;
}

.invoice-meta-card {
    padding: 18px 20px;
}

.invoice-meta-card__value {
    margin-top: 8px;
    color: var(--text-strong);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.45;
}

.invoice-meta-card__text,
.invoice-section__note {
    margin-top: 8px;
    color: var(--muted);
    line-height: 1.7;
}

.invoice-meta-card--status {
    background: linear-gradient(180deg, #f4f8f5, #ffffff);
}

.invoice-section {
    padding: 22px;
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,245,238,.92));
}

.invoice-table-wrap {
    overflow: auto;
    border-radius: 20px;
    background: #fffdfa;
    border: 1px solid rgba(22,33,29,.08);
}

.invoice-table {
    width: 100%;
    min-width: 780px;
    border-collapse: collapse;
}

.invoice-table th {
    background: #f5f1e7;
    color: var(--muted-strong);
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 800;
}

.invoice-table th,
.invoice-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.invoice-table tbody tr:last-child td {
    border-bottom: 0;
}

.invoice-lower-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    align-items: start;
    margin-top: 22px;
}

.invoice-note-card {
    padding: 22px;
    min-height: 100%;
}

.invoice-note {
    color: var(--text);
    line-height: 1.9;
}

.invoice-total-card {
    margin-left: auto;
    width: min(100%, 380px);
    padding: 22px 24px;
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f2eee5);
    box-shadow: var(--shadow-sm);
}

.invoice-total-card__title {
    color: var(--text-strong);
    font-size: 1.18rem;
    font-weight: 800;
}

.invoice-total-card__sub {
    color: var(--muted);
    font-size: .88rem;
    margin-top: 4px;
    margin-bottom: 14px;
}

.invoice-total-card__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(22,33,29,.08);
    color: var(--text);
}

.invoice-total-card__row strong {
    color: var(--text-strong);
    font-weight: 800;
}

.invoice-total-card__row--emphasis strong,
.invoice-total-card__row--emphasis span {
    color: var(--text-strong);
    font-size: 1.04rem;
}

.invoice-total-card__row--balance {
    border-bottom: 0;
    margin-top: 4px;
    padding-top: 16px;
}

.invoice-total-card__row--balance span,
.invoice-total-card__row--balance strong {
    color: var(--brand-deep);
    font-size: 1.06rem;
}

.invoice-footer-note {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(22,33,29,.08);
    color: var(--muted);
    line-height: 1.8;
    font-size: .92rem;
}

.invoice-empty-card {
    max-width: 760px;
    margin-inline: auto;
}

@media (max-width: 991.98px) {
    .lc-patient-facts,
    .invoice-dochead,
    .invoice-dochead__metaGrid,
    .invoice-meta-grid,
    .invoice-lower-grid {
        grid-template-columns: 1fr;
    }

    .invoice-card--document {
        padding: 24px;
    }
}

@media (max-width: 767.98px) {
    .lc-patient-facts {
        grid-template-columns: 1fr;
    }

    .invoice-card--document,
    .invoice-section,
    .invoice-note-card,
    .invoice-total-card {
        padding: 18px;
    }

    .invoice-dochead__brand {
        flex-direction: column;
    }
}

@media print {
    body {
        background: #ffffff !important;
    }

    .vc-sidebar,
    .vc-topbar,
    .invoice-toolbar--screen,
    .vc-help-card,
    .vc-user-card {
        display: none !important;
    }

    .vc-shell,
    .vc-main,
    .vc-content,
    .invoice-page,
    .invoice-shell {
        display: block !important;
        background: #ffffff !important;
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
    }

    .container {
        max-width: none !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .invoice-card,
    .invoice-section,
    .invoice-meta-card,
    .invoice-note-card,
    .invoice-total-card,
    .invoice-dochead__identity,
    .invoice-dochead__metaItem {
        box-shadow: none !important;
        background: #ffffff !important;
        border-color: #d8d3c8 !important;
    }

    .invoice-card--document {
        padding: 18px !important;
        border-radius: 0 !important;
    }

    .invoice-table-wrap {
        overflow: visible !important;
    }

    .invoice-table {
        min-width: 0 !important;
    }

    .invoice-table thead {
        display: table-header-group;
    }

    .invoice-table tr,
    .invoice-meta-card,
    .invoice-note-card,
    .invoice-total-card,
    .invoice-section {
        page-break-inside: avoid;
    }
}


/* ===== CRUD completion + booking board ===== */
.appointments-index-page,
.patients-create-page,
.patients-edit-page,
.visit-create-page,
.visit-edit-page {
    display: grid;
    gap: 22px;
}

.vc-side-stack,
.visit-builder-side,
.appointments-board-side,
.vc-delete-actions {
    display: grid;
    gap: 14px;
}

.vc-side-card {
    padding: 20px 22px;
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #fbf7ef);
    box-shadow: var(--shadow-sm);
}

.vc-side-card--accent {
    background: linear-gradient(180deg, #f3f8f4, #ffffff);
    border-color: rgba(47,107,88,.14);
}

.vc-side-card--warn {
    background: linear-gradient(180deg, #fffaf1, #ffffff);
    border-color: rgba(183, 144, 63, .18);
}

.vc-side-card__eyebrow {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.vc-side-card__title {
    color: var(--text-strong);
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.vc-side-card__text {
    color: var(--muted);
    line-height: 1.7;
}

.vc-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.vc-bullet-list li {
    position: relative;
    padding-left: 18px;
    color: var(--muted-strong);
    line-height: 1.65;
}

.vc-bullet-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--brand);
    box-shadow: 0 0 0 4px rgba(47,107,88,.10);
}

.vc-delete-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) 320px;
    gap: 16px;
    align-items: start;
}

.vc-delete-summary {
    display: grid;
    gap: 14px;
}

.vc-delete-action-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.visit-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) 320px;
    gap: 16px;
    align-items: start;
}

.visit-builder-main {
    display: grid;
    gap: 16px;
}

.visit-panel {
    padding: 22px !important;
}

.visit-section-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin-bottom: 18px;
}

.visit-section-head--split {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
}

.visit-section-head__cluster {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.visit-section-head__icon {
    width: 46px;
    height: 46px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(47,107,88,.12), rgba(199,169,112,.20));
    color: var(--brand-deep);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}

.visit-section-head__body {
    min-width: 0;
}

.visit-section-head__kicker {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.visit-section-head__title {
    color: var(--text-strong);
    font-size: clamp(1.08rem, 1.8vw, 1.4rem);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.2;
    margin-bottom: 4px;
}

.visit-section-head__desc {
    color: var(--muted);
    line-height: 1.65;
    max-width: 72ch;
}

.visit-panel .lc-summaryBar {
    margin-top: 18px;
}

.visit-panel .lc-finishGrid {
    grid-template-columns: minmax(220px, 320px) 1fr;
}

.appointments-flash-note {
    background: linear-gradient(180deg, #fffaf1, #ffffff);
    border-color: rgba(183, 144, 63, .18);
}

.appointments-board-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) 320px;
    gap: 16px;
    align-items: start;
}

.appointments-board-main {
    display: grid;
    gap: 16px;
}

.appointments-board__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}

.appointments-board__title {
    color: var(--text-strong);
    font-size: 1.12rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.appointments-board__desc {
    color: var(--muted);
    line-height: 1.7;
}

.appointments-board__legend,
.appointments-board__actions,
.appointments-helper-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.appointments-board__actions {
    justify-content: flex-end;
}

.appointments-board__table {
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #fff, #fbf7ef);
}

.appointments-board__when {
    color: var(--text-strong);
    font-weight: 700;
}

.appointments-board__mobile-list {
    display: grid;
    gap: 12px;
}

.appointments-board__mobile-card {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f9f6ef);
}

.appointments-helper-dateform {
    display: grid;
    gap: 8px;
}

.appointments-helper-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.appointments-helper-stat {
    padding: 14px 12px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.82);
    text-align: center;
}

.appointments-helper-stat__label {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.appointments-helper-stat__value {
    color: var(--text-strong);
    font-size: 1.35rem;
    font-weight: 800;
}

@media (max-width: 991.98px) {
    .visit-section-head--split {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .visit-section-head__cluster {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .visit-builder-grid,
    .appointments-board-grid,
    .vc-delete-grid,
    .visit-panel .lc-finishGrid,
    .appointments-helper-stats {
        grid-template-columns: 1fr;
    }
}

/* Calendar workspace */
.calendar-page {
    gap: 20px;
}

.calendar-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.calendar-summary-card {
    padding: 18px 20px;
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #fbf9f4);
    box-shadow: var(--shadow-sm);
}

.calendar-summary-card.is-soft {
    background: linear-gradient(180deg, #f6fbf7, #ffffff);
}

.calendar-summary-card.is-accent {
    background: linear-gradient(135deg, rgba(47,107,88,.96), rgba(120,166,147,.84));
    border-color: rgba(47,107,88,.22);
    color: #fff;
}

.calendar-summary-card__label {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.calendar-summary-card.is-accent .calendar-summary-card__label {
    color: rgba(255,255,255,.78);
}

.calendar-summary-card__value {
    color: var(--text-strong);
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1;
    margin-bottom: 8px;
}

.calendar-summary-card.is-accent .calendar-summary-card__value,
.calendar-summary-card.is-accent .calendar-summary-card__note {
    color: #fff;
}

.calendar-summary-card__note {
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.55;
}

.calendar-toolbar-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.calendar-toolbar-card__copy {
    max-width: 720px;
}

.calendar-toolbar-card__eyebrow,
.calendar-surface__eyebrow,
.calendar-side-card__eyebrow {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.calendar-toolbar-card__title,
.calendar-surface__title,
.calendar-side-card__title {
    margin: 0;
    color: var(--text-strong);
    font-size: clamp(1.2rem, 1.8vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -.03em;
}

.calendar-toolbar-card__desc,
.calendar-surface__desc,
.calendar-side-card__list,
.calendar-week-card__desc {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.65;
}

.calendar-toolbar-card__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.calendar-datebox {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f9f6ef);
    box-shadow: var(--shadow-sm);
}

.calendar-datebox .form-control {
    min-width: 178px;
    border-radius: 14px;
    border-color: rgba(22,33,29,.10);
}

.calendar-day-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(280px, .8fr);
    gap: 18px;
    align-items: start;
}

.calendar-surface {
    overflow: hidden;
}

.calendar-surface__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.calendar-surface__meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.calendar-slotlist {
    display: grid;
    gap: 12px;
}

.calendar-slot-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(140px, 180px) minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px 18px 18px 20px;
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #fbf8f2);
    box-shadow: 0 14px 28px rgba(21, 42, 34, .06);
}

.calendar-slot-card::before {
    content: "";
    position: absolute;
    inset: 10px auto 10px 10px;
    width: 4px;
    border-radius: 999px;
    background: rgba(47,107,88,.18);
}

.calendar-slot-card.is-open::before {
    background: linear-gradient(180deg, rgba(47,107,88,.85), rgba(120,166,147,.65));
}

.calendar-slot-card.is-busy::before {
    background: linear-gradient(180deg, rgba(184,138,61,.85), rgba(212,179,111,.72));
}

.calendar-slot-card.is-booked::before {
    background: linear-gradient(180deg, rgba(38,77,64,.92), rgba(84,128,112,.76));
}

.calendar-slot-card__time {
    padding-left: 10px;
}

.calendar-slot-card__range {
    color: var(--text-strong);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -.03em;
}

.calendar-slot-card__meta {
    color: var(--muted);
    font-size: .82rem;
    margin-top: 5px;
}

.calendar-slot-card__title,
.calendar-week-card__title {
    color: var(--text-strong);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.calendar-slot-card__desc {
    margin-top: 4px;
    color: var(--muted);
    line-height: 1.55;
    word-break: break-word;
}

.calendar-slot-card__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: flex-end;
}

.calendar-slot-card__btn {
    min-width: 106px;
}

.calendar-side-stack {
    display: grid;
    gap: 16px;
}

.calendar-side-card__list {
    padding-left: 18px;
}

.calendar-side-card__list li + li {
    margin-top: 8px;
}

.calendar-side-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.calendar-side-stat {
    padding: 14px 12px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.86);
    text-align: center;
}

.calendar-side-stat__label {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.calendar-side-stat__value {
    color: var(--text-strong);
    font-size: 1.25rem;
    font-weight: 800;
}

.calendar-week-wrap {
    overflow-x: auto;
}

.calendar-week-head {
    display: grid;
    gap: 4px;
}

.calendar-week-head__day {
    color: var(--text-strong);
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.calendar-week-head__date {
    color: var(--muted);
    font-size: .78rem;
    letter-spacing: .02em;
    text-transform: none;
}

.calendar-week-time {
    color: var(--text-strong);
    font-weight: 700;
}

.calendar-page .lc-week-cell {
    min-width: 210px;
    padding: 10px 8px !important;
}

.calendar-week-card {
    display: grid;
    gap: 10px;
    min-height: 108px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #faf7f1);
}

.calendar-week-card.is-open {
    background: linear-gradient(180deg, #f6fbf7, #ffffff);
}

.calendar-week-card.is-busy {
    background: linear-gradient(180deg, #fdf8ef, #ffffff);
}

.calendar-week-card.is-booked {
    background: linear-gradient(180deg, #f7faf8, #ffffff);
}

.calendar-week-card .btn {
    justify-self: start;
    min-width: 86px;
}

@media (max-width: 1199.98px) {
    .calendar-summary-grid,
    .calendar-day-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .calendar-summary-grid,
    .calendar-side-card__stats {
        grid-template-columns: 1fr;
    }

    .calendar-slot-card {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-left: 18px;
    }

    .calendar-slot-card__time,
    .calendar-slot-card__actions {
        padding-left: 10px;
        justify-content: flex-start;
    }

    .calendar-toolbar-card__actions,
    .calendar-datebox {
        width: 100%;
    }

    .calendar-datebox {
        justify-content: space-between;
    }

    .calendar-datebox .form-control {
        min-width: 0;
        flex: 1 1 auto;
    }
}

/* ===== Batch 6 · Admin + registry consistency pass ===== */
.ops-area-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ops-shortcut-list {
    display: grid;
    gap: 10px;
}

.ops-shortcut-link {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(33, 52, 45, .12);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(250,246,239,.82));
    color: var(--text-strong);
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(20, 32, 28, .06);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ops-shortcut-link:hover {
    transform: translateY(-1px);
    border-color: rgba(61, 112, 91, .24);
    box-shadow: 0 16px 32px rgba(20, 32, 28, .10);
    color: var(--text-strong);
}

.ops-shortcut-link__title {
    font-weight: 800;
    letter-spacing: -.01em;
}

.ops-shortcut-link__meta {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.55;
}

.ops-area-card {
    display: grid;
    gap: 18px;
    padding: 20px;
    border-radius: 26px;
    border: 1px solid rgba(33, 52, 45, .1);
    background:
        radial-gradient(circle at top right, rgba(157, 185, 166, .14), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,245,237,.9));
    box-shadow: 0 16px 34px rgba(20, 32, 28, .08);
}

.ops-area-card__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.ops-area-card__title {
    color: var(--text-strong);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: -.02em;
}

.ops-area-card__meta {
    color: var(--muted);
    font-size: .88rem;
    margin-top: 4px;
}

.ops-area-card__stats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ops-area-card__list {
    display: grid;
    gap: 12px;
}

.ops-check-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(33, 52, 45, .08);
    background: rgba(255,255,255,.8);
}

.ops-check-item.is-danger {
    background: linear-gradient(180deg, rgba(255, 244, 240, .95), rgba(255,255,255,.86));
    border-color: rgba(195, 87, 54, .16);
}

.ops-check-item.is-warning {
    background: linear-gradient(180deg, rgba(255, 250, 238, .95), rgba(255,255,255,.86));
    border-color: rgba(188, 138, 45, .18);
}

.ops-check-item.is-success {
    background: linear-gradient(180deg, rgba(245, 252, 247, .95), rgba(255,255,255,.86));
    border-color: rgba(60, 124, 88, .16);
}

.ops-check-item__title {
    color: var(--text-strong);
    font-weight: 800;
    letter-spacing: -.01em;
}

.ops-check-item__text {
    margin-top: 6px;
    color: var(--muted);
    font-size: .94rem;
    line-height: 1.65;
}

.ops-check-item__side {
    display: flex;
    align-items: flex-start;
}

.ops-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ops-mini-stat {
    padding: 16px 16px 14px;
    border-radius: 20px;
    border: 1px solid rgba(33, 52, 45, .08);
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,246,239,.9));
}

.ops-mini-stat__label {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.45;
}

.ops-mini-stat__value {
    margin-top: 8px;
    color: var(--text-strong);
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: -.03em;
}

.logs-helper-list,
.registry-note-list {
    display: grid;
    gap: 10px;
}

.logs-helper-item,
.registry-note-item {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(33, 52, 45, .08);
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,244,236,.88));
}

.logs-helper-item__title,
.registry-note-item__title,
.registry-notice-card__title {
    color: var(--text-strong);
    font-weight: 800;
    letter-spacing: -.01em;
}

.logs-helper-item__text,
.registry-note-item__text,
.registry-notice-card__text {
    margin-top: 6px;
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.62;
}

.logs-empty-card,
.registry-empty-card,
.registry-table-shell,
.logs-table-shell,
.registry-notice-card {
    margin-bottom: 24px;
}

.logs-table-shell__head,
.registry-table-shell__head,
.registry-notice-card__body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}

.logs-filter-meta,
.registry-notice-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(61, 112, 91, .14);
    background: rgba(88, 126, 104, .08);
    color: var(--brand-700);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.logs-table-card {
    margin-top: 16px;
}

.registry-aside-card {
    align-self: start;
}

.registry-mobile-card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(33, 52, 45, .09);
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(250,246,239,.92));
    box-shadow: 0 14px 28px rgba(20, 32, 28, .07);
}

.registry-mobile-card__main {
    min-width: 0;
}

.registry-mobile-card__title {
    color: var(--text-strong);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.01em;
}

.registry-mobile-card__meta,
.registry-mobile-card__notes {
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.58;
}

.registry-mobile-card__meta + .registry-mobile-card__meta,
.registry-mobile-card__notes {
    margin-top: 6px;
}

@media (max-width: 991.98px) {
    .ops-snapshot-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .ops-check-item {
        grid-template-columns: 1fr;
    }

    .registry-mobile-card {
        flex-direction: column;
        align-items: stretch;
    }

    .ops-check-item__side {
        justify-content: flex-start;
    }
}


.settings-env-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(22,33,29,.08);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: linear-gradient(180deg, #ffffff, #f7f4ec);
    color: var(--text-strong);
}

.settings-env-pill.is-dev {
    background: linear-gradient(180deg, #f3f8f4, #ffffff);
    border-color: rgba(47,107,88,.16);
    color: var(--brand-deep);
}

.settings-env-pill.is-prod {
    background: linear-gradient(180deg, #f8f6f0, #ffffff);
    border-color: rgba(93, 87, 58, .14);
    color: var(--text-strong);
}

/* ===== Velora luxury dashboard ===== */

.vdash--lux {
    display: grid;
    gap: 22px;
}

.vdash-lux-hero {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    border: 1px solid rgba(19,44,38,.08);
    background:
        radial-gradient(780px 340px at 10% 0%, rgba(255,255,255,.12), transparent 60%),
        radial-gradient(420px 240px at 100% 0%, rgba(233,203,147,.18), transparent 58%),
        linear-gradient(135deg, #1c4d41 0%, #215848 42%, #193d34 100%);
    box-shadow: 0 28px 60px rgba(18,37,32,.12);
}

.vdash-lux-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 22px;
    padding: 30px;
}

.vdash-lux-hero__title {
    max-width: 760px;
    color: #fffdf7;
    margin-bottom: 14px;
}

.vdash-lux-hero__title span {
    color: #f0dfb2;
}

.vdash-lux-hero__subtitle {
    max-width: 760px;
    color: rgba(255,249,238,.82);
    margin-bottom: 0;
}

.vdash-lux-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.vdash-lux-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 15px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.09);
    color: #fff8eb;
    font-weight: 700;
}

.vdash-lux-hero__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.vdash-lux-cta {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.08);
    color: #fffaf2;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.vdash-lux-cta strong,
.vdash-lux-cta small {
    display: block;
}

.vdash-lux-cta strong {
    color: #fffdf9;
    font-size: 1rem;
    margin-bottom: 6px;
}

.vdash-lux-cta small {
    color: rgba(255,249,238,.78);
    line-height: 1.7;
}

.vdash-lux-cta i {
    font-size: 1.2rem;
    margin-top: 3px;
}

.vdash-lux-cta:hover {
    color: #fffaf2;
    transform: translateY(-1px);
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.16);
}

.vdash-lux-cta--primary {
    background: linear-gradient(135deg, rgba(233,203,147,.24), rgba(255,255,255,.08));
}

.vdash-lux-spotlight {
    height: 100%;
    padding: 22px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
    color: #fff9ef;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.vdash-lux-spotlight__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.vdash-lux-spotlight__eyebrow {
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 800;
    color: rgba(255,249,238,.64);
    margin-bottom: 8px;
}

.vdash-lux-spotlight__title {
    font-size: 1.2rem;
    font-weight: 800;
    color: #fffdf9;
}

.vdash-lux-spotlight__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    font-weight: 800;
    white-space: nowrap;
}

.vdash-lux-spotlight__status.is-alert {
    color: #fffaf2;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.12);
}

.vdash-lux-spotlight__status.is-healthy {
    color: #15362f;
    background: #eef6f1;
}

.vdash-lux-spotlight__list {
    display: grid;
    gap: 12px;
}

.vdash-lux-spotlight__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 20px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.10);
}

.vdash-lux-spotlight__item-label {
    font-weight: 700;
    color: #fffdf8;
    margin-bottom: 4px;
}

.vdash-lux-spotlight__item-note {
    color: rgba(255,249,238,.74);
    line-height: 1.6;
}

.vdash-lux-spotlight__item-value {
    align-self: center;
    font-size: 1.7rem;
    font-weight: 800;
    color: #f0dfb2;
}

.vdash-kpis--lux {
    gap: 16px;
}

.vdash-kpi--lux,
.vdash-panel--lux,
.vdash-side-card--lux {
    border-radius: 28px;
    border: 1px solid rgba(19,44,38,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(250,247,240,.96));
    box-shadow: 0 18px 44px rgba(18,37,32,.06);
}

.vdash-kpi--lux .vdash-kpi__icon {
    background: linear-gradient(135deg, rgba(47,107,88,.12), rgba(233,203,147,.28));
}

.vdash__grid--lux {
    gap: 22px;
}

.vdash-lux-split {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 22px;
}

.vdash-appt-card--lux,
.vdash-activity-item--lux {
    border-radius: 20px;
    background: linear-gradient(180deg, #fffdf8, #f7f2e9);
    border: 1px solid rgba(19,44,38,.08);
}

.vdash-live--lux {
    align-items: flex-start;
}

.vdash-side-card--priority {
    background: linear-gradient(180deg, rgba(29,80,67,.96), rgba(20,51,44,.96));
    color: #fffaf1;
}

.vdash-side-card--priority .vdash-side-card__eyebrow,
.vdash-side-card--priority .vdash-side-card__title,
.vdash-side-card--priority .vdash-live__title,
.vdash-side-card--priority .vdash-live__text {
    color: inherit;
}

.vdash-side-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 16px;
    padding: 0 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #f0dfb2, #e0c57c);
    color: #14352e;
    font-weight: 800;
}

.vdash-side-card__cta:hover {
    color: #102924;
}

@media (max-width: 1180px) {
    .vdash-lux-hero__grid,
    .vdash-lux-split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .vdash-lux-hero__grid {
        padding: 22px;
    }

    .vdash-lux-hero__actions {
        grid-template-columns: 1fr;
    }
}

/* ===== Velora final website requests page ===== */
.vreq-page {
    display: grid;
    gap: 24px;
}

.vreq-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-top: 2px;
}

.vreq-header__eyebrow {
    margin-bottom: 8px;
    color: var(--brand-deep);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.vreq-header h1 {
    margin: 0;
    color: var(--brand-deep);
    font-size: clamp(2rem, 2.7vw, 2.7rem);
    font-weight: 820;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.vreq-header p {
    margin: 8px 0 0;
    max-width: 680px;
    color: var(--muted);
    font-size: .98rem;
    font-weight: 600;
    line-height: 1.65;
}

.vreq-header__actions {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.vreq-header__primary,
.vreq-header__pill {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 18px;
    border-radius: 15px;
    font-weight: 780;
    white-space: nowrap;
}

.vreq-header__primary {
    border: 0;
    color: #fff;
    background: var(--brand-deep);
    box-shadow: 0 16px 34px rgba(19, 62, 52, .18);
}

.vreq-header__primary:hover {
    background: #12372f;
}

.vreq-header__pill {
    color: var(--brand-deep);
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(22,33,29,.11);
    box-shadow: 0 14px 30px rgba(22, 36, 31, .05);
}

.vreq-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.vreq-kpi,
.vreq-panel,
.vreq-filter,
.vreq-alert {
    border: 1px solid rgba(22,33,29,.09);
    background: rgba(255,255,255,.76);
    box-shadow: 0 18px 44px rgba(24, 36, 32, .06);
}

.vreq-kpi {
    min-height: 138px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 24px 28px;
    border-radius: 16px;
}

.vreq-kpi__icon,
.vreq-focus-item__icon {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.09);
}

.vreq-kpi__icon i {
    font-size: 1.75rem;
}

.vreq-kpi__icon.is-gold,
.vreq-focus-item__icon.is-gold {
    color: #9d6f19;
    background: rgba(199,169,112,.18);
}

.vreq-kpi__label {
    color: var(--text-strong);
    font-size: 1rem;
    font-weight: 650;
}

.vreq-kpi__value {
    margin-top: 6px;
    color: var(--brand-deep);
    font-size: clamp(2.1rem, 3.2vw, 3rem);
    line-height: .92;
    font-weight: 850;
    letter-spacing: -.045em;
}

.vreq-kpi__note {
    margin-top: 9px;
    color: var(--muted);
    font-size: .87rem;
    font-weight: 600;
}

.vreq-filter {
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 16px;
}

.vreq-filter__main {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(220px, 280px) auto auto;
    gap: 12px;
    align-items: center;
}

.vreq-search,
.vreq-select {
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    border-radius: 14px;
    color: var(--muted);
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(22,33,29,.10);
}

.vreq-search input,
.vreq-select select {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-strong);
    font-weight: 650;
}

.vreq-select select {
    cursor: pointer;
}

.vreq-filter__apply,
.vreq-filter__clear {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border-radius: 14px;
    font-weight: 800;
}

.vreq-filter__apply {
    border: 0;
    color: #fff;
    background: var(--brand-deep);
}

.vreq-filter__clear {
    color: var(--brand-deep);
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(22,33,29,.10);
    text-decoration: none;
}

.vreq-filter__meta {
    color: var(--muted);
    font-size: .9rem;
    font-weight: 650;
}

.vreq-filter__meta strong {
    color: var(--text-strong);
}

.vreq-alert {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 16px;
    color: var(--brand-deep);
    font-weight: 750;
}

.vreq-alert i {
    color: #9d6f19;
}

.vreq-workgrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.vreq-panel {
    border-radius: 16px;
    padding: 20px;
}

.vreq-panel--queue {
    width: 100%;
}

.vreq-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.vreq-panel__titlewrap {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.vreq-panel__titlewrap > i {
    color: var(--brand-deep);
    font-size: 1.1rem;
}

.vreq-panel__titlewrap h2 {
    margin: 0;
    color: var(--text-strong);
    font-size: 1.28rem;
    font-weight: 780;
    letter-spacing: -.025em;
}

.vreq-panel__count {
    color: var(--muted);
    font-size: .86rem;
    font-weight: 750;
}

.vreq-list {
    display: grid;
}

.vreq-card {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(250px, 1.2fr) minmax(230px, .95fr) minmax(260px, .85fr);
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.vreq-card:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.vreq-card.is-new {
    background: linear-gradient(90deg, rgba(199,169,112,.08), transparent 44%);
    margin-inline: -20px;
    padding-inline: 20px;
}

.vreq-card__identity {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
}

.vreq-avatar {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
    font-size: .85rem;
    font-weight: 900;
}

.vreq-name {
    color: var(--text-strong);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.25;
}

.vreq-subline {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 12px;
    margin-top: 8px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 650;
}

.vreq-subline span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vreq-card__details,
.vreq-card__stage,
.vreq-card__actions {
    display: grid;
    gap: 12px;
    align-content: start;
}

.vreq-detail-block span,
.vreq-next-step span {
    display: block;
    color: rgba(22,33,29,.50);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vreq-detail-block strong {
    display: block;
    margin-top: 4px;
    color: var(--text-strong);
    font-size: .94rem;
    font-weight: 760;
}

.vreq-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.55;
}

.vreq-note i {
    margin-top: 2px;
    color: var(--brand-deep);
}

.vreq-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.vreq-stage,
.vreq-status,
.vreq-new-pill,
.vreq-linked-ref {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border-radius: 999px;
    font-size: .77rem;
    font-weight: 850;
    text-decoration: none;
}

.vreq-stage.is-new,
.vreq-new-pill {
    color: #8d6416;
    background: rgba(199,169,112,.18);
}

.vreq-stage.is-intake {
    color: #2f4d54;
    background: rgba(99,128,139,.13);
}

.vreq-stage.is-linked {
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.vreq-stage.is-booked,
.vreq-status.is-booked {
    color: #176348;
    background: rgba(37,136,93,.12);
}

.vreq-stage.is-cancelled,
.vreq-status.is-cancelled {
    color: #8a3028;
    background: rgba(176,72,62,.12);
}

.vreq-status.is-pending {
    color: #8d6416;
    background: rgba(199,169,112,.16);
}

.vreq-status.is-contacted {
    color: #325a64;
    background: rgba(99,128,139,.13);
}

.vreq-card__stage p {
    margin: 0;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.55;
}

.vreq-linked-ref {
    width: fit-content;
    color: var(--brand-deep);
    background: rgba(47,107,88,.08);
}

.vreq-linked-ref.is-static {
    color: #176348;
    background: rgba(37,136,93,.10);
}

.vreq-next-step {
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    border-radius: 14px;
    background: rgba(47,107,88,.06);
    border: 1px solid rgba(47,107,88,.10);
}

.vreq-next-step strong {
    color: var(--text-strong);
    font-size: .94rem;
    font-weight: 820;
}

.vreq-next-step small {
    color: var(--muted);
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.45;
}

.vreq-primary-actions,
.vreq-status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.vreq-action,
.vreq-small-action,
.vreq-status-btn {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border-radius: 12px;
    font-size: .8rem;
    font-weight: 850;
    text-decoration: none;
}

.vreq-action--primary {
    color: #fff;
    background: var(--brand-deep);
}

.vreq-action--primary:hover {
    color: #fff;
    background: #12372f;
}

.vreq-action--soft,
.vreq-small-action {
    color: var(--brand-deep);
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(22,33,29,.10);
}

.vreq-small-action {
    width: fit-content;
}

.vreq-small-action:hover,
.vreq-action--soft:hover {
    color: var(--brand-deep);
    background: var(--surface-olive);
}

.vreq-inline-form {
    display: inline-flex;
}

.vreq-status-actions form {
    display: inline-flex;
}

.vreq-status-btn {
    border: 1px solid rgba(22,33,29,.10);
    background: rgba(255,255,255,.70);
    color: var(--muted);
}

.vreq-status-btn.is-active {
    color: var(--brand-deep);
    border-color: rgba(47,107,88,.20);
    background: rgba(47,107,88,.10);
}

.vreq-status-btn.is-contacted.is-active {
    color: #325a64;
    background: rgba(99,128,139,.13);
}

.vreq-status-btn.is-booked.is-active {
    color: #176348;
    background: rgba(37,136,93,.12);
}

.vreq-status-btn.is-cancelled.is-active {
    color: #8a3028;
    background: rgba(176,72,62,.12);
}

.vreq-status-btn:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.vreq-side-stack {
    display: grid;
    gap: 24px;
}

.vreq-panel--focus,
.vreq-panel--pipeline {
    display: grid;
    gap: 16px;
}

.vreq-focus-list,
.vreq-pipeline {
    display: grid;
    gap: 10px;
}

.vreq-focus-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-radius: 15px;
    color: var(--text-strong);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(22,33,29,.08);
    text-decoration: none;
}

.vreq-focus-item:hover {
    color: var(--text-strong);
    background: rgba(255,255,255,.92);
}

.vreq-focus-item__icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
}

.vreq-focus-item strong,
.vreq-focus-item small {
    display: block;
}

.vreq-focus-item strong {
    font-size: .94rem;
    font-weight: 820;
}

.vreq-focus-item small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 620;
    line-height: 1.45;
}

.vreq-pipeline__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.vreq-pipeline__item:last-child {
    border-bottom: 0;
}

.vreq-pipeline__item > span {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
    font-size: .78rem;
    font-weight: 900;
}

.vreq-pipeline__item strong,
.vreq-pipeline__item small {
    display: block;
}

.vreq-pipeline__item strong {
    color: var(--text-strong);
    font-size: .92rem;
    font-weight: 820;
}

.vreq-pipeline__item small {
    margin-top: 3px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 620;
    line-height: 1.45;
}

.vreq-empty {
    min-height: 126px;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 16px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(255,255,255,.58);
    border: 1px dashed rgba(22,33,29,.14);
}

.vreq-empty i {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.08);
    font-size: 1.2rem;
}

.vreq-empty strong,
.vreq-empty span {
    display: block;
}

.vreq-empty strong {
    color: var(--text-strong);
    font-weight: 820;
}

.vreq-empty span {
    margin-top: 4px;
    color: var(--muted);
    font-weight: 620;
    line-height: 1.5;
}

@media (max-width: 1320px) {
    .vreq-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vreq-workgrid,
    .vreq-card {
        grid-template-columns: 1fr;
    }

    .vreq-card__actions {
        padding-top: 4px;
    }
}

@media (max-width: 860px) {
    .vreq-header,
    .vreq-panel__head {
        flex-direction: column;
        align-items: stretch;
    }

    .vreq-header__actions,
    .vreq-header__primary,
    .vreq-header__pill {
        width: 100%;
    }

    .vreq-filter__main {
        grid-template-columns: 1fr;
    }

    .vreq-kpis {
        grid-template-columns: 1fr;
    }

    .vreq-kpi {
        min-height: auto;
    }
}

@media (max-width: 560px) {
    .vreq-kpi {
        grid-template-columns: 1fr;
    }

    .vreq-kpi__icon {
        width: 58px;
        height: 58px;
    }

    .vreq-primary-actions,
    .vreq-status-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .vreq-action,
    .vreq-small-action,
    .vreq-status-btn {
        width: 100%;
    }
}

/* ===== Velora shared page rhythm + Bookings final pass ===== */
.velora-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 4px;
}

.velora-page-head__eyebrow {
    color: var(--brand-deep);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.velora-page-head__title {
    color: var(--text-strong);
    font-size: clamp(2.05rem, 3vw, 2.75rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.055em;
    margin: 0 0 8px;
}

.velora-page-head__subtitle {
    color: var(--muted);
    line-height: 1.65;
    max-width: 760px;
    margin: 0;
}

.velora-page-head__tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.velora-date-nav,
.velora-soft-btn,
.velora-primary-btn,
.velora-subtle-link,
.velora-mini-primary,
.velora-mini-soft,
.velora-mini-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(22, 33, 29, .10);
    text-decoration: none;
    font-weight: 800;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.velora-date-nav:hover,
.velora-soft-btn:hover,
.velora-primary-btn:hover,
.velora-subtle-link:hover,
.velora-mini-primary:hover,
.velora-mini-soft:hover,
.velora-mini-danger:hover {
    transform: translateY(-1px);
}

.velora-date-nav {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    color: var(--brand-deep);
    background: rgba(255, 255, 255, .82);
    box-shadow: var(--shadow-sm);
}

.velora-date-picker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 8px 0 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 33, 29, .10);
    background: rgba(255, 255, 255, .88);
    box-shadow: var(--shadow-sm);
    color: var(--brand-deep);
}

.velora-date-picker input {
    min-width: 146px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-strong);
    font-weight: 750;
}

.velora-date-picker button {
    border: 0;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 11px;
    background: rgba(47, 107, 88, .10);
    color: var(--brand-deep);
    font-weight: 850;
}

.velora-primary-btn {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 16px;
    background: var(--brand-deep);
    color: #fffdf8;
    border-color: rgba(10, 71, 60, .25);
    box-shadow: 0 14px 30px rgba(10, 71, 60, .16);
}

.velora-primary-btn:hover {
    color: #fffdf8;
    box-shadow: 0 18px 34px rgba(10, 71, 60, .20);
}

.velora-soft-btn {
    min-height: 42px;
    padding: 0 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .84);
    color: var(--brand-deep);
    box-shadow: var(--shadow-sm);
}

.velora-subtle-link {
    min-height: 38px;
    padding: 0 13px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .78);
    color: var(--brand-deep);
    white-space: nowrap;
}

.velora-mini-primary,
.velora-mini-soft,
.velora-mini-danger {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: .84rem;
    background: rgba(255, 255, 255, .82);
}

.velora-mini-primary {
    background: var(--brand-deep);
    border-color: rgba(10, 71, 60, .24);
    color: #fffdf8;
}

.velora-mini-primary:hover {
    color: #fffdf8;
}

.velora-mini-soft {
    color: var(--brand-deep);
}

.velora-mini-danger {
    color: #9c3f3f;
    background: rgba(255, 247, 247, .90);
    border-color: rgba(156, 63, 63, .18);
}

.velora-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 850;
    border: 1px solid rgba(22, 33, 29, .08);
    background: #f2f0e9;
    color: var(--muted-strong);
}

.velora-status-pill::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: .74;
}

.velora-status-pill.is-confirmed {
    color: #295f48;
    background: rgba(47, 107, 88, .10);
    border-color: rgba(47, 107, 88, .14);
}

.velora-status-pill.is-hold {
    color: #9c6c16;
    background: rgba(199, 169, 112, .18);
    border-color: rgba(199, 169, 112, .22);
}

.velora-status-pill.is-cancelled {
    color: #9c3f3f;
    background: rgba(156, 63, 63, .10);
    border-color: rgba(156, 63, 63, .14);
}

.velora-inline-alert {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(199, 169, 112, .22);
    background: linear-gradient(180deg, #fff9ec, #ffffff);
    box-shadow: var(--shadow-sm);
}

.velora-inline-alert__icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #9c6c16;
    background: rgba(199, 169, 112, .18);
}

.velora-inline-alert strong {
    display: block;
    color: var(--text-strong);
    margin-bottom: 2px;
}

.velora-inline-alert span {
    color: var(--muted);
}

.bookings-page {
    display: grid;
    gap: 22px;
}

.bookings-head {
    padding-top: 2px;
}

.bookings-kpis {
    margin-top: 0;
}

.bookings-kpi {
    min-height: 150px;
}

.bookings-kpi.is-attention .vdash-kpi__icon {
    color: #9c6c16;
    background: rgba(199, 169, 112, .18);
}

.bookings-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
    gap: 20px;
    align-items: start;
}

.bookings-main-card,
.bookings-side-card {
    border-radius: 26px;
    border: 1px solid rgba(22, 33, 29, .08);
    background: linear-gradient(180deg, #ffffff, #fbf9f4);
    box-shadow: var(--shadow-sm);
}

.bookings-main-card {
    padding: 20px;
    overflow: hidden;
}

.bookings-section-head,
.bookings-side-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.bookings-section-head__eyebrow,
.bookings-side-card__eyebrow {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.bookings-section-head__title,
.bookings-side-card h3 {
    color: var(--text-strong);
    font-size: 1.24rem;
    font-weight: 850;
    letter-spacing: -.025em;
    margin: 0 0 5px;
}

.bookings-section-head__desc,
.bookings-side-card p {
    color: var(--muted);
    line-height: 1.65;
    margin: 0;
}

.bookings-table-wrap {
    overflow-x: auto;
    border-radius: 20px;
    border: 1px solid rgba(22, 33, 29, .07);
    background: rgba(255, 255, 255, .72);
}

.bookings-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 850px;
}

.bookings-table th {
    padding: 14px 16px;
    color: var(--muted);
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(22, 33, 29, .07);
    background: rgba(250, 248, 242, .72);
}

.bookings-table td {
    padding: 16px;
    vertical-align: middle;
    border-bottom: 1px solid rgba(22, 33, 29, .065);
}

.bookings-table tbody tr:last-child td {
    border-bottom: 0;
}

.bookings-table tbody tr:hover {
    background: rgba(47, 107, 88, .035);
}

.bookings-time-cell {
    display: grid;
    gap: 3px;
    color: var(--text-strong);
}

.bookings-time-cell strong {
    font-size: 1rem;
    font-weight: 850;
}

.bookings-time-cell span {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 700;
}

.bookings-patient-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.bookings-avatar {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--brand-deep);
    background: rgba(47, 107, 88, .10);
    font-weight: 900;
    font-size: .78rem;
}

.bookings-patient-cell a {
    display: inline-block;
    color: var(--text-strong);
    font-weight: 850;
    text-decoration: none;
    margin-bottom: 2px;
}

.bookings-patient-cell a:hover {
    color: var(--brand-deep);
}

.bookings-patient-cell small {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--muted);
    font-weight: 650;
}

.bookings-duration-pill {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    color: var(--muted-strong);
    background: rgba(22, 33, 29, .045);
    font-weight: 800;
}

.bookings-status-stack {
    display: grid;
    gap: 6px;
    justify-items: start;
}

.bookings-status-stack small {
    color: var(--muted);
    font-weight: 650;
}

.bookings-row-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.bookings-row-actions form {
    display: inline-flex;
    margin: 0;
}

.bookings-empty-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 22px;
    border-radius: 22px;
    border: 1px dashed rgba(22, 33, 29, .14);
    background: rgba(255, 255, 255, .72);
}

.bookings-empty-state__icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    color: var(--brand-deep);
    background: rgba(47, 107, 88, .10);
    font-size: 1.25rem;
}

.bookings-empty-state h3 {
    color: var(--text-strong);
    font-size: 1.08rem;
    font-weight: 850;
    margin: 0 0 4px;
}

.bookings-empty-state p {
    color: var(--muted);
    margin: 0;
}

.bookings-empty-state__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.bookings-mobile-list {
    display: grid;
    gap: 12px;
}

.bookings-mobile-card {
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(22, 33, 29, .08);
    background: rgba(255, 255, 255, .78);
}

.bookings-mobile-card__top,
.bookings-mobile-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.bookings-mobile-card__top {
    margin-bottom: 14px;
}

.bookings-mobile-card__meta {
    justify-content: flex-start;
    margin: 14px 0;
    color: var(--muted);
    font-weight: 700;
}

.bookings-mobile-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.bookings-row-actions--mobile {
    justify-content: flex-start;
}

.bookings-side-stack {
    display: grid;
    gap: 16px;
}

.bookings-side-card {
    padding: 20px;
}

.bookings-side-card--focus {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    background: linear-gradient(180deg, #f7fbf7, #ffffff);
    border-color: rgba(47, 107, 88, .12);
}

.bookings-side-card__icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    color: var(--brand-deep);
    background: rgba(47, 107, 88, .10);
}

.bookings-side-actions {
    display: grid;
    gap: 9px;
}

.bookings-side-actions a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 13px;
    border-radius: 15px;
    border: 1px solid rgba(22, 33, 29, .08);
    color: var(--text-strong);
    background: rgba(255, 255, 255, .76);
    text-decoration: none;
    font-weight: 800;
}

.bookings-side-actions a:hover {
    color: var(--brand-deep);
    border-color: rgba(47, 107, 88, .18);
}

.bookings-mini-stats {
    display: grid;
    gap: 12px;
}

.bookings-mini-stats div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(22, 33, 29, .07);
}

.bookings-mini-stats div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.bookings-mini-stats span {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bookings-mini-stats strong {
    color: var(--text-strong);
    font-weight: 850;
    text-align: right;
}

@media (max-width: 1199.98px) {
    .velora-page-head,
    .bookings-layout {
        grid-template-columns: 1fr;
    }

    .bookings-layout {
        display: grid;
        grid-template-columns: 1fr;
    }

    .velora-page-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .velora-page-head__tools {
        justify-content: flex-start;
    }
}

@media (max-width: 991.98px) {
    .bookings-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bookings-section-head,
    .bookings-side-card__head,
    .bookings-empty-state {
        grid-template-columns: 1fr;
    }

    .bookings-section-head {
        display: grid;
    }

    .bookings-empty-state__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .bookings-kpis,
    .velora-page-head__tools,
    .velora-date-picker {
        grid-template-columns: 1fr;
    }

    .bookings-kpis {
        display: grid;
    }

    .velora-page-head__tools,
    .velora-date-picker {
        width: 100%;
    }

    .velora-date-picker input,
    .velora-primary-btn,
    .velora-soft-btn {
        width: 100%;
    }

    .velora-date-nav {
        flex: 1 1 42px;
    }

    .bookings-main-card,
    .bookings-side-card {
        border-radius: 22px;
        padding: 16px;
    }
}

/* ===== Velora Calendar Final Pass ===== */
.vcal-page {
    display: grid;
    gap: 24px;
}

.vcal-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 10px 2px 0;
}

.vcal-eyebrow,
.vcal-section-label {
    color: var(--brand-deep);
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.vcal-header h1 {
    margin: 8px 0 6px;
    color: var(--brand-deep);
    font-size: clamp(2.15rem, 3vw, 3.25rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.055em;
}

.vcal-header p {
    max-width: 640px;
    margin: 0;
    color: var(--muted);
    font-size: .98rem;
    font-weight: 580;
    line-height: 1.65;
}

.vcal-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.vcal-date-chip,
.vcal-mode-switch,
.vcal-primary-action,
.vcal-soft-btn,
.vcal-reserve-btn,
.vcal-date-form button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.vcal-date-chip {
    padding: 0 16px;
    color: var(--text-strong);
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(22,33,29,.10);
    box-shadow: 0 10px 24px rgba(22,33,29,.04);
}

.vcal-mode-switch {
    min-height: 44px;
    padding: 4px;
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(22,33,29,.10);
}

.vcal-mode-switch a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 11px;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 850;
    text-decoration: none;
}

.vcal-mode-switch a.is-active {
    color: #fff;
    background: var(--brand-deep);
    box-shadow: 0 10px 22px rgba(18,55,47,.16);
}

.vcal-primary-action {
    padding: 0 18px;
    color: #fff;
    background: var(--brand-deep);
    border: 1px solid rgba(18,55,47,.16);
    box-shadow: 0 14px 30px rgba(18,55,47,.16);
}

.vcal-primary-action:hover {
    color: #fff;
    background: #12372f;
}

.vcal-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.vcal-kpi,
.vcal-panel {
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(252,249,243,.88));
    box-shadow: 0 18px 44px rgba(22,33,29,.07);
}

.vcal-kpi {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-height: 132px;
    padding: 22px;
    border-radius: 18px;
}

.vcal-kpi__icon,
.vcal-avatar {
    display: inline-grid;
    place-items: center;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.vcal-kpi__icon {
    width: 58px;
    height: 58px;
    border-radius: 17px;
    font-size: 1.38rem;
}

.vcal-kpi__icon.is-gold {
    color: #9d6f19;
    background: rgba(199,169,112,.18);
}

.vcal-kpi__label {
    color: var(--text-strong);
    font-size: .92rem;
    font-weight: 780;
}

.vcal-kpi__value {
    margin-top: 4px;
    color: var(--brand-deep);
    font-size: 2.05rem;
    font-weight: 830;
    line-height: 1;
    letter-spacing: -.045em;
}

.vcal-kpi__value--text {
    font-size: 1.45rem;
}

.vcal-kpi__note {
    margin-top: 7px;
    color: var(--muted);
    font-size: .83rem;
    font-weight: 620;
    line-height: 1.45;
}

.vcal-grid {
    display: grid;
    gap: 24px;
    align-items: start;
}

.vcal-grid--day {
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .68fr);
}

.vcal-panel {
    border-radius: 18px;
    padding: 20px;
}

.vcal-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.vcal-panel__titlewrap {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.vcal-panel__titlewrap > i {
    width: 38px;
    height: 38px;
    display: inline-grid;
    place-items: center;
    border-radius: 13px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.vcal-panel__titlewrap h2,
.vcal-side-card h2 {
    margin: 3px 0 0;
    color: var(--text-strong);
    font-size: 1.24rem;
    font-weight: 820;
    letter-spacing: -.03em;
}

.vcal-panel__tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.vcal-soft-btn,
.vcal-date-form button {
    padding: 0 14px;
    color: var(--brand-deep);
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(22,33,29,.10);
}

.vcal-soft-btn:hover,
.vcal-date-form button:hover {
    color: var(--brand-deep);
    background: rgba(47,107,88,.08);
}

.vcal-soft-btn--compact {
    min-height: 36px;
    padding: 0 12px;
    font-size: .82rem;
}

.vcal-date-form {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vcal-date-form .form-control {
    width: 156px;
    min-height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(22,33,29,.10);
    background: rgba(255,255,255,.78);
    color: var(--text-strong);
    font-size: .88rem;
    font-weight: 750;
}

.vcal-timeline {
    display: grid;
}

.vcal-slot {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto auto;
    gap: 18px;
    align-items: center;
    min-height: 82px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(22,33,29,.075);
}

.vcal-slot:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.vcal-slot__time strong,
.vcal-slot__time span,
.vcal-slot__title,
.vcal-slot__desc {
    display: block;
}

.vcal-slot__time strong {
    color: var(--text-strong);
    font-size: .98rem;
    font-weight: 860;
}

.vcal-slot__time span,
.vcal-slot__desc {
    margin-top: 3px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 620;
}

.vcal-slot__title {
    color: var(--text-strong);
    font-size: .98rem;
    font-weight: 820;
}

.vcal-slot__patient {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.vcal-avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 900;
}

.vcal-status {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 850;
}

.vcal-status.is-open {
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.vcal-status.is-confirmed {
    color: #176348;
    background: rgba(37,136,93,.12);
}

.vcal-status.is-hold,
.vcal-status.is-neutral {
    color: #8d6416;
    background: rgba(199,169,112,.17);
}

.vcal-status.is-cancelled {
    color: #8a3028;
    background: rgba(176,72,62,.12);
}

.vcal-reserve-btn {
    min-height: 38px;
    padding: 0 14px;
    color: #fff;
    background: var(--brand-deep);
}

.vcal-reserve-btn:hover {
    color: #fff;
    background: #12372f;
}

.vcal-slot.is-open {
    background: linear-gradient(90deg, rgba(47,107,88,.035), transparent 56%);
}

.vcal-slot.is-continuation {
    background: linear-gradient(90deg, rgba(199,169,112,.05), transparent 56%);
}

.vcal-side-stack {
    display: grid;
    gap: 24px;
}

.vcal-side-card {
    display: grid;
    gap: 14px;
}

.vcal-side-card p {
    margin: 0;
    color: var(--muted);
    font-size: .9rem;
    font-weight: 610;
    line-height: 1.6;
}

.vcal-side-actions,
.vcal-insight-list {
    display: grid;
    gap: 10px;
}

.vcal-side-action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 54px;
    padding: 12px;
    border-radius: 15px;
    color: var(--text-strong);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(22,33,29,.08);
    text-decoration: none;
    font-weight: 780;
}

.vcal-side-action:hover {
    color: var(--text-strong);
    background: rgba(47,107,88,.08);
}

.vcal-side-action i {
    width: 36px;
    height: 36px;
    display: inline-grid;
    place-items: center;
    border-radius: 12px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.vcal-insight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 48px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.vcal-insight:last-child {
    border-bottom: 0;
}

.vcal-insight span {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 820;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.vcal-insight strong {
    color: var(--text-strong);
    font-size: .92rem;
    font-weight: 850;
    text-align: right;
}

.vcal-week-panel {
    display: grid;
    gap: 18px;
}

.vcal-week-wrap {
    width: 100%;
    overflow: auto;
    border-radius: 16px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.54);
}

.vcal-week-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: separate;
    border-spacing: 0;
}

.vcal-week-table th,
.vcal-week-table td {
    padding: 12px;
    border-bottom: 1px solid rgba(22,33,29,.07);
    border-right: 1px solid rgba(22,33,29,.06);
    vertical-align: top;
}

.vcal-week-table th:last-child,
.vcal-week-table td:last-child {
    border-right: 0;
}

.vcal-week-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    color: var(--text-strong);
    background: rgba(252,249,243,.96);
}

.vcal-week-head {
    display: grid;
    gap: 2px;
}

.vcal-week-head span {
    color: var(--muted);
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vcal-week-head strong,
.vcal-week-time {
    color: var(--text-strong);
    font-size: .9rem;
    font-weight: 850;
}

.vcal-week-time {
    width: 100px;
    white-space: nowrap;
    background: rgba(255,255,255,.52);
}

.vcal-week-cell {
    display: grid;
    gap: 8px;
    min-height: 92px;
    padding: 12px;
    border-radius: 15px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.68);
}

.vcal-week-cell strong,
.vcal-week-cell span,
.vcal-week-cell em {
    display: block;
}

.vcal-week-cell strong {
    color: var(--text-strong);
    font-size: .86rem;
    font-weight: 850;
}

.vcal-week-cell span {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 620;
}

.vcal-week-cell em {
    width: fit-content;
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    font-style: normal;
    font-size: .72rem;
    font-weight: 850;
}

.vcal-week-cell em.is-confirmed {
    color: #176348;
    background: rgba(37,136,93,.12);
}

.vcal-week-cell em.is-hold,
.vcal-week-cell em.is-neutral {
    color: #8d6416;
    background: rgba(199,169,112,.17);
}

.vcal-week-cell em.is-cancelled {
    color: #8a3028;
    background: rgba(176,72,62,.12);
}

.vcal-week-cell.is-open {
    background: rgba(47,107,88,.045);
}

.vcal-week-cell.is-open a {
    width: fit-content;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 10px;
    color: var(--brand-deep);
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(47,107,88,.12);
    font-size: .76rem;
    font-weight: 850;
    text-decoration: none;
}

.vcal-week-cell.is-continuation {
    background: rgba(199,169,112,.08);
}

.vcal-week-cell.is-continuation em {
    color: #8d6416;
    background: rgba(199,169,112,.18);
}

@media (max-width: 1180px) {
    .vcal-header,
    .vcal-panel__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .vcal-header__actions,
    .vcal-panel__tools {
        justify-content: flex-start;
    }

    .vcal-kpis,
    .vcal-grid--day {
        grid-template-columns: 1fr 1fr;
    }

    .vcal-side-stack {
        grid-column: 1 / -1;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 820px) {
    .vcal-kpis,
    .vcal-grid--day,
    .vcal-side-stack {
        grid-template-columns: 1fr;
    }

    .vcal-slot {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 16px 0;
    }

    .vcal-slot__status,
    .vcal-slot__action {
        justify-self: start;
    }

    .vcal-date-form {
        width: 100%;
    }

    .vcal-date-form .form-control {
        width: 100%;
    }
}

/* ===== Velora final patients registry ===== */
.patients-final-page {
    display: grid;
    gap: 22px;
}

.patients-final-badge {
    color: var(--brand-deep);
}

.patients-final-kpis {
    margin-top: 0;
}

.patients-final-kpi {
    min-height: 150px;
}

.patients-final-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
    gap: 20px;
    align-items: start;
}

.patients-final-main,
.patients-final-side {
    display: grid;
    gap: 18px;
}

.patients-filter-panel,
.patients-registry-panel,
.patients-side-card {
    border-radius: 26px;
    border: 1px solid rgba(22, 33, 29, .08);
    background: linear-gradient(180deg, #ffffff, #fbf9f4);
    box-shadow: var(--shadow-sm);
    padding: 20px;
}

.patients-panel-head,
.patients-side-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.patients-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.patients-search-field label {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.patients-search-input {
    min-height: 52px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border-radius: 16px;
    border: 1px solid rgba(22, 33, 29, .10);
    background: rgba(255, 255, 255, .78);
}

.patients-search-input i {
    color: var(--brand-deep);
}

.patients-search-input .form-control {
    min-height: 50px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-weight: 650;
}

.patients-search-button {
    min-height: 52px;
    border-radius: 16px;
    padding-inline: 22px;
    font-weight: 800;
}

.patients-truncated-alert {
    margin: 0;
}

.patients-table-wrap {
    overflow-x: auto;
}

.patients-table {
    min-width: 860px;
    display: grid;
}

.patients-table__head,
.patients-table__row {
    display: grid;
    grid-template-columns: 80px minmax(280px, 1.45fr) minmax(160px, .8fr) 170px 94px;
    gap: 16px;
    align-items: center;
}

.patients-table__head {
    min-height: 44px;
    color: rgba(22, 33, 29, .48);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.patients-table__row {
    min-height: 74px;
    border-top: 1px solid rgba(22, 33, 29, .07);
}

.patients-table__row:hover {
    background: linear-gradient(90deg, rgba(47, 107, 88, .045), transparent);
}

.patients-table__id,
.patients-table__phone,
.patients-table__created {
    color: var(--muted);
    font-size: .92rem;
    font-weight: 650;
}

.patients-table__patient {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.patients-avatar {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 16px;
    color: var(--brand-deep);
    background: rgba(47, 107, 88, .11);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .02em;
}

.patients-table__patient-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.patients-table__patient-copy a {
    color: var(--text-strong);
    font-weight: 800;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.patients-table__patient-copy a:hover {
    color: var(--brand-deep);
}

.patients-table__patient-copy small {
    max-width: 420px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.patients-table__actions {
    display: flex;
    justify-content: flex-end;
}

.patients-empty-state {
    min-height: 250px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 26px;
    border: 1px dashed rgba(22, 33, 29, .16);
    border-radius: 22px;
    background: rgba(255, 255, 255, .56);
}

.patients-empty-state__icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    color: var(--brand-deep);
    background: rgba(47, 107, 88, .10);
    font-size: 1.45rem;
}

.patients-empty-state h3 {
    margin: 0 0 8px;
    color: var(--text-strong);
    font-size: 1.25rem;
    font-weight: 850;
}

.patients-empty-state p {
    max-width: 640px;
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
    font-weight: 600;
}

.patients-empty-state__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.patients-mobile-list {
    display: grid;
    gap: 12px;
}

.patients-mobile-card {
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(22, 33, 29, .08);
    background: rgba(255, 255, 255, .70);
}

.patients-mobile-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.patients-mobile-card__meta {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    color: var(--muted);
    font-size: .88rem;
    font-weight: 650;
}

.patients-mobile-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.patients-mobile-card p {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.6;
}

.patients-side-card--focus {
    background: linear-gradient(180deg, rgba(29, 80, 67, .96), rgba(20, 51, 44, .96));
    color: #fffaf1;
}

.patients-side-card__eyebrow {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.patients-side-card--focus .patients-side-card__eyebrow {
    color: rgba(255, 250, 241, .68);
}

.patients-side-card h3 {
    margin: 0;
    color: var(--text-strong);
    font-size: 1.18rem;
    font-weight: 850;
    letter-spacing: -.025em;
}

.patients-side-card--focus h3 {
    color: #fffaf1;
}

.patients-side-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
    font-weight: 600;
}

.patients-side-card--focus p {
    color: rgba(255, 250, 241, .76);
}

.patients-side-card__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--brand-deep);
    background: rgba(47, 107, 88, .10);
}

.patients-side-card--focus .patients-side-card__icon {
    color: #f0dfb2;
    background: rgba(255, 255, 255, .11);
}

.patients-side-card__icon.is-gold {
    color: #9d6f19;
    background: rgba(199, 169, 112, .18);
}

.patients-side-card--focus .patients-side-card__icon.is-gold {
    color: #f0dfb2;
    background: rgba(240, 223, 178, .14);
}

.patients-side-actions {
    display: grid;
    gap: 10px;
}

.patients-side-actions a {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border-radius: 16px;
    color: var(--text-strong);
    background: rgba(255, 255, 255, .66);
    border: 1px solid rgba(22, 33, 29, .08);
    text-decoration: none;
    font-weight: 780;
}

.patients-side-actions a i {
    color: var(--brand-deep);
}

.patients-side-actions a:hover {
    color: var(--brand-deep);
    background: var(--surface-olive);
}

.patients-mini-stats {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(22, 33, 29, .08);
    border-radius: 18px;
    background: rgba(255, 255, 255, .58);
}

.patients-mini-stats div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 52px;
    padding: 0 14px;
    border-bottom: 1px solid rgba(22, 33, 29, .07);
}

.patients-mini-stats div:last-child {
    border-bottom: 0;
}

.patients-mini-stats span {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 750;
}

.patients-mini-stats strong {
    color: var(--brand-deep);
    font-size: 1.05rem;
    font-weight: 850;
}

@media (max-width: 1180px) {
    .patients-final-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 992px) {
    .patients-final-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .patients-search-form,
    .patients-empty-state {
        grid-template-columns: 1fr;
    }

    .patients-search-button {
        width: 100%;
    }

    .patients-panel-head,
    .patients-side-card__head,
    .patients-empty-state {
        align-items: flex-start;
    }

    .patients-empty-state {
        padding: 20px;
    }
}

@media (max-width: 640px) {
    .patients-final-kpis {
        grid-template-columns: 1fr;
    }

    .patients-filter-panel,
    .patients-registry-panel,
    .patients-side-card {
        padding: 16px;
        border-radius: 22px;
    }

    .patients-mobile-card__top {
        flex-direction: column;
    }
}

/* ===== Patient Details final dashboard-aligned layout ===== */
.patient-detail-final-page {
    display: grid;
    gap: 22px;
}

.patient-detail-final-head {
    align-items: center;
}

.patient-detail-final-title {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: min(100%, 520px);
}

.patient-detail-final-avatar {
    width: 62px;
    height: 62px;
    border-radius: 22px;
    flex: 0 0 auto;
    font-size: 1.1rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
}

.patient-detail-final-actions,
.patient-detail-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.patient-detail-final-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.patient-detail-final-kpi__date {
    font-size: clamp(1.05rem, 1.7vw, 1.35rem) !important;
    letter-spacing: -.035em;
}

.patient-detail-final-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 18px;
    align-items: start;
}

.patient-detail-final-main,
.patient-detail-final-side {
    display: grid;
    gap: 18px;
}

.patient-detail-info-panel,
.patient-detail-appointments-panel,
.patient-detail-visits-panel,
.patient-detail-side-card {
    padding: 22px;
}

.patient-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.patient-detail-info-item {
    min-height: 88px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 16px;
    border: 1px solid rgba(22, 33, 29, .08);
    border-radius: 20px;
    background: rgba(255, 255, 255, .62);
}

.patient-detail-info-item span {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.patient-detail-info-item strong {
    color: var(--text-strong);
    font-size: .98rem;
    font-weight: 820;
    line-height: 1.55;
}

.patient-detail-info-item--notes {
    grid-column: 1 / -1;
    align-content: start;
}

.patient-detail-appointments-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.patient-detail-timeline-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(22, 33, 29, .08);
    border-radius: 22px;
    background: rgba(255, 255, 255, .62);
}

.patient-detail-subhead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(22, 33, 29, .07);
}

.patient-detail-subhead span {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.patient-detail-subhead strong {
    color: var(--brand-deep);
    font-size: 1.05rem;
    font-weight: 880;
}

.patient-detail-empty-mini {
    min-height: 116px;
    display: grid;
    place-items: center;
    gap: 8px;
    text-align: center;
    color: var(--muted);
    font-weight: 700;
}

.patient-detail-empty-mini i {
    color: var(--brand-deep);
    font-size: 1.45rem;
}

.patient-detail-appointment-list {
    display: grid;
    gap: 10px;
}

.patient-detail-appointment-row {
    display: grid;
    grid-template-columns: minmax(120px, .7fr) minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(22, 33, 29, .07);
    border-radius: 18px;
    background: rgba(255, 255, 255, .76);
}

.patient-detail-appointment-row--past {
    grid-template-columns: minmax(120px, .7fr) minmax(0, 1fr);
}

.patient-detail-appointment-time,
.patient-detail-appointment-copy {
    display: grid;
    gap: 4px;
}

.patient-detail-appointment-time strong {
    color: var(--text-strong);
    font-size: .92rem;
    font-weight: 850;
}

.patient-detail-appointment-time span,
.patient-detail-appointment-copy > span:first-child {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 700;
}

.patient-detail-visit-list .lc-muted:first-child {
    min-height: 128px;
    display: grid;
    place-items: center;
    border: 1px dashed rgba(22, 33, 29, .16);
    border-radius: 22px;
    background: rgba(255, 255, 255, .56);
    font-weight: 700;
}

.patient-detail-visit-list .lc-card.lc-visit {
    border-radius: 22px;
    border: 1px solid rgba(22, 33, 29, .08);
    background: rgba(255, 255, 255, .72);
    box-shadow: none;
}

.patient-detail-visit-list .lc-visit__head,
.patient-detail-visit-list .lc-visit__foot,
.patient-detail-visit-list .lc-treat {
    gap: 12px;
}

.patient-detail-side-card--focus {
    background: linear-gradient(180deg, rgba(29, 80, 67, .96), rgba(20, 51, 44, .96));
    color: #fffaf1;
}

.patient-detail-side-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.patient-detail-side-card__eyebrow {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.patient-detail-side-card--focus .patient-detail-side-card__eyebrow {
    color: rgba(255, 250, 241, .68);
}

.patient-detail-side-card h3 {
    margin: 0;
    color: var(--text-strong);
    font-size: 1.18rem;
    font-weight: 850;
    letter-spacing: -.025em;
}

.patient-detail-side-card--focus h3 {
    color: #fffaf1;
}

.patient-detail-side-card p {
    margin: 12px 0 0;
    color: var(--muted);
    line-height: 1.7;
    font-weight: 600;
}

.patient-detail-side-card--focus p {
    color: rgba(255, 250, 241, .76);
}

.patient-detail-side-card__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--brand-deep);
    background: rgba(47, 107, 88, .10);
    flex: 0 0 auto;
}

.patient-detail-side-card--focus .patient-detail-side-card__icon {
    color: #f0dfb2;
    background: rgba(255, 255, 255, .11);
}

.patient-detail-side-card__icon.is-gold {
    color: #f0dfb2;
    background: rgba(240, 223, 178, .14);
}

.patient-detail-danger-zone {
    border-color: rgba(154, 62, 49, .12);
}

.patient-detail-danger-zone p {
    margin-bottom: 14px;
}

@media (max-width: 1180px) {
    .patient-detail-final-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 992px) {
    .patient-detail-final-kpis,
    .patient-detail-appointments-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .patient-detail-final-title,
    .patient-detail-final-actions,
    .patient-detail-panel-head,
    .patient-detail-side-card__head {
        align-items: flex-start;
    }

    .patient-detail-final-title,
    .patient-detail-final-actions {
        width: 100%;
    }

    .patient-detail-final-actions .btn {
        width: 100%;
    }

    .patient-detail-info-grid,
    .patient-detail-appointments-grid,
    .patient-detail-appointment-row,
    .patient-detail-appointment-row--past {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .patient-detail-final-kpis {
        grid-template-columns: 1fr;
    }

    .patient-detail-info-panel,
    .patient-detail-appointments-panel,
    .patient-detail-visits-panel,
    .patient-detail-side-card {
        padding: 16px;
        border-radius: 22px;
    }
}

/* ===== Velora Patients Create/Edit final pass ===== */
.patient-form-final-page {
    display: grid;
    gap: 24px;
}

.patient-form-final-head {
    margin-top: 2px;
}

.patient-form-final-badge span {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.patient-form-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.patient-form-kpi {
    border-radius: 16px;
}

.patient-form-kpi .vdash-final-kpi__value {
    font-size: clamp(1.85rem, 2.6vw, 2.55rem);
    letter-spacing: -.05em;
}

.patient-form-shell {
    display: grid;
    gap: 18px;
}

.patient-form-validation:empty,
.patient-form-validation.validation-summary-valid {
    display: none;
}

.patient-form-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .7fr);
    gap: 24px;
    align-items: start;
}

.patient-form-main,
.patient-form-side {
    display: grid;
    gap: 18px;
}

.patient-form-panel,
.patient-form-side-card {
    border-radius: 16px;
}

.patient-form-panel {
    padding: 22px;
}

.patient-form-panel-head {
    align-items: center;
}

.patient-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding-top: 20px;
}

.patient-form-field {
    display: grid;
    gap: 8px;
}

.patient-form-field--wide {
    grid-column: 1 / -1;
}

.patient-form-field label {
    margin: 0;
    color: var(--text-strong);
    font-size: .84rem;
    font-weight: 820;
    letter-spacing: .04em;
}

.patient-form-input,
.patient-form-textarea {
    position: relative;
    border: 1px solid rgba(22, 33, 29, .10);
    border-radius: 16px;
    background: rgba(255, 255, 255, .78);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.patient-form-input:focus-within,
.patient-form-textarea:focus-within {
    border-color: rgba(47,107,88,.32);
    box-shadow: 0 0 0 .18rem rgba(47,107,88,.10), inset 0 1px 0 rgba(255,255,255,.9);
    background: rgba(255,255,255,.94);
}

.patient-form-input {
    min-height: 54px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
}

.patient-form-input > i {
    display: grid;
    place-items: center;
    color: var(--brand-deep);
    font-size: 1.04rem;
}

.patient-form-input .form-control,
.patient-form-textarea .form-control {
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--text-strong);
    font-weight: 650;
}

.patient-form-input .form-control {
    min-height: 52px;
    padding-left: 0;
}

.patient-form-textarea .form-control {
    min-height: 142px;
    resize: vertical;
    padding: 15px 16px;
    line-height: 1.65;
}

.patient-form-input .form-control::placeholder,
.patient-form-textarea .form-control::placeholder {
    color: rgba(22,33,29,.38);
    font-weight: 600;
}

.patient-form-hint {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.55;
}

.patient-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(22, 33, 29, .08);
}

.patient-form-side-card {
    padding: 18px;
}

.patient-form-side-card--focus {
    background: linear-gradient(180deg, rgba(29, 80, 67, .96), rgba(20, 51, 44, .96));
    color: #fffaf1;
}

.patient-form-side-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.patient-form-side-card__eyebrow {
    color: var(--muted);
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.patient-form-side-card--focus .patient-form-side-card__eyebrow {
    color: rgba(255,250,241,.66);
}

.patient-form-side-card h3 {
    margin: 0;
    color: var(--text-strong);
    font-size: 1.12rem;
    font-weight: 850;
    letter-spacing: -.025em;
}

.patient-form-side-card--focus h3 {
    color: #fffaf1;
}

.patient-form-side-card p {
    margin: 12px 0 0;
    color: var(--muted);
    line-height: 1.7;
    font-weight: 620;
}

.patient-form-side-card--focus p {
    color: rgba(255,250,241,.76);
}

.patient-form-side-card__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 16px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.patient-form-side-card__icon.is-gold {
    color: #f0dfb2;
    background: rgba(255,255,255,.11);
}

.patient-form-checklist,
.patient-form-side-actions,
.patient-form-request-meta {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.patient-form-checklist > div,
.patient-form-side-actions a,
.patient-form-request-meta > div {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(22,33,29,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.68);
}

.patient-form-checklist i {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 999px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.patient-form-checklist span,
.patient-form-side-actions span {
    color: var(--text-strong);
    font-size: .9rem;
    font-weight: 680;
    line-height: 1.5;
}

.patient-form-side-actions a {
    color: var(--text-strong);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.patient-form-side-actions a:hover {
    transform: translateY(-1px);
    border-color: rgba(47,107,88,.18);
    background: var(--surface-olive);
}

.patient-form-side-actions i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.patient-form-request-meta > div {
    display: grid;
    align-items: start;
    gap: 4px;
    background: rgba(255,255,255,.10);
    border-color: rgba(255,255,255,.14);
}

.patient-form-request-meta span {
    color: rgba(255,250,241,.62);
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.patient-form-request-meta strong {
    color: #fffaf1;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.5;
}

@media (max-width: 1180px) {
    .patient-form-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 992px) {
    .patient-form-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .patient-form-final-head,
    .patient-form-panel-head,
    .patient-form-side-card__head {
        align-items: flex-start;
    }

    .patient-form-final-head > div:first-child,
    .patient-form-final-badge,
    .patient-form-panel-head .vdash-final-panel__link,
    .patient-form-actions .btn {
        width: 100%;
    }

    .patient-form-grid {
        grid-template-columns: 1fr;
    }

    .patient-form-panel,
    .patient-form-side-card {
        padding: 16px;
        border-radius: 16px;
    }
}

@media (max-width: 640px) {
    .patient-form-kpis {
        grid-template-columns: 1fr;
    }

    .patient-form-input {
        grid-template-columns: 42px minmax(0, 1fr);
    }
}

/* ===== Visits final workspace aligned with Velora dashboard ===== */
.visit-final-page {
    display: grid;
    gap: 24px;
}

.visit-final-head {
    margin-top: 2px;
}

.visit-final-badge {
    max-width: 360px;
}

.visit-final-badge--danger {
    color: #8f2f2f;
    border-color: rgba(155, 56, 56, .16);
    background: rgba(255,255,255,.78);
}

.visit-final-badge--danger i {
    color: #9b3838;
}

.visit-final-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.visit-final-kpi {
    min-height: 132px;
    padding: 22px 24px;
}

.visit-final-kpi .vdash-final-kpi__value {
    font-size: clamp(1.6rem, 2.15vw, 2.35rem);
}

.visit-final-kpi__text {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visit-final-layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .48fr);
    gap: 24px;
}

.visit-final-main,
.visit-final-side {
    display: grid;
    gap: 18px;
}

.visit-final-panel {
    padding: 20px !important;
    border-radius: 16px;
}

.visit-final-panel-head {
    align-items: center;
    margin-bottom: 18px;
}

.visit-final-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.visit-final-form-grid--finish {
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
}

.visit-final-field {
    display: grid;
    gap: 8px;
}

.visit-final-field--wide {
    grid-column: 1 / -1;
}

.visit-final-field .form-label,
.visit-final-groups .form-label {
    margin: 0;
    color: rgba(22,33,29,.66);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.visit-final-field .form-control,
.visit-final-field .form-select,
.visit-final-groups .form-control,
.visit-final-groups .form-select {
    min-height: 44px;
    border-radius: 14px;
    border-color: rgba(22,33,29,.12);
    background: rgba(255,255,255,.92);
}

.visit-final-groups {
    margin-top: 2px;
}

.visit-final-group {
    border-radius: 16px !important;
    border-color: rgba(22,33,29,.08) !important;
    background: linear-gradient(180deg, #ffffff, #fbf7ef) !important;
    box-shadow: none !important;
}

.visit-final-tablewrap {
    border-radius: 15px;
    border: 1px solid rgba(22,33,29,.08);
    background: #fff;
    overflow-x: auto;
}

.visit-final-tablewrap .lc-table {
    min-width: 760px;
}

.visit-final-summary {
    border-radius: 14px;
    background: rgba(47,107,88,.06);
    border: 1px solid rgba(47,107,88,.10);
    padding: 13px 15px;
}

.visit-final-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.visit-final-side-card {
    padding: 20px;
    border-radius: 16px;
}

.visit-final-side-card--focus {
    background: linear-gradient(180deg, #f3f8f4, #ffffff);
    border-color: rgba(47,107,88,.14);
}

.visit-final-side-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.visit-final-side-card__eyebrow {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.visit-final-side-card h3 {
    margin: 0;
    color: var(--text-strong);
    font-size: 1.02rem;
    font-weight: 820;
    letter-spacing: -.02em;
}

.visit-final-side-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.visit-final-side-card__icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 16px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.visit-final-side-card__icon.is-gold {
    color: #9d6f19;
    background: rgba(199,169,112,.18);
}

.visit-final-checklist {
    display: grid;
    gap: 11px;
}

.visit-final-checklist > div {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: var(--muted-strong);
    font-weight: 650;
    line-height: 1.55;
}

.visit-final-checklist i {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
    font-size: .85rem;
}

.visit-delete-final-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .45fr);
    gap: 24px;
    align-items: start;
}

.visit-delete-final-main {
    padding: 20px;
    border-radius: 16px;
}

.visit-delete-warning {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    padding: 18px;
    border-radius: 16px;
    border: 1px solid rgba(155,56,56,.16);
    background: linear-gradient(180deg, #fff6f4, #ffffff);
}

.visit-delete-warning.is-blocked {
    border-color: rgba(183,144,63,.20);
    background: linear-gradient(180deg, #fffaf1, #ffffff);
}

.visit-delete-warning__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #9b3838;
    background: rgba(155,56,56,.10);
}

.visit-delete-warning.is-blocked .visit-delete-warning__icon {
    color: #9d6f19;
    background: rgba(199,169,112,.18);
}

.visit-delete-warning h3 {
    margin: 0 0 6px;
    color: var(--text-strong);
    font-size: 1.08rem;
    font-weight: 820;
}

.visit-delete-warning p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.visit-delete-summary-box {
    margin-top: 16px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.78);
    display: grid;
    gap: 6px;
}

.visit-delete-summary-box span {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.visit-delete-summary-box strong {
    color: var(--text-strong);
    line-height: 1.65;
}

.visit-delete-final-actions {
    margin-top: 18px;
}

@media (max-width: 1199.98px) {
    .visit-final-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .visit-final-layout,
    .visit-delete-final-layout,
    .visit-final-form-grid,
    .visit-final-form-grid--finish {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .visit-final-kpis {
        grid-template-columns: 1fr;
    }

    .visit-final-panel,
    .visit-delete-final-main,
    .visit-final-side-card {
        padding: 18px !important;
    }
}

/* ===== Velora invoices final + one-page print document ===== */
.invoices-v2-page,
.invoice-v2-page {
    display: grid;
    gap: 22px;
}

.invoices-kpis .bookings-kpi--danger .bookings-kpi__icon {
    color: #8a3028;
    background: rgba(176,72,62,.10);
}

.invoices-layout {
    align-items: start;
}

.invoices-main-card,
.invoices-side-card,
.invoice-review-strip,
.invoice-empty-v2,
.invoice-print-frame {
    border-radius: 28px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(249,246,239,.96));
    box-shadow: var(--shadow-sm);
}

.invoices-main-card {
    padding: 22px;
}

.invoices-section-head {
    margin-bottom: 18px;
}

.invoices-visible-count {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    border-radius: 999px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.09);
    font-weight: 850;
    white-space: nowrap;
}

.invoices-filter-card {
    margin-bottom: 18px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.72);
}

.invoices-filter-card__main {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px) auto;
    gap: 14px;
    align-items: end;
}

.invoices-filter-card__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.invoices-table-wrap {
    margin-top: 4px;
}

.invoices-table {
    min-width: 980px;
}

.invoices-id-cell,
.invoices-mobile-card__head > div {
    display: grid;
    gap: 3px;
}

.invoices-id-cell strong,
.invoices-mobile-card__head strong,
.invoices-mobile-card__patient strong {
    color: var(--text-strong);
    font-weight: 850;
}

.invoices-id-cell span,
.invoices-mobile-card__head span,
.invoices-mobile-card__patient small,
.invoices-muted-cell {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 650;
}

.invoices-patient-cell strong {
    display: block;
    color: var(--text-strong);
    font-weight: 850;
}

.invoices-money-cell {
    color: var(--text-strong);
    font-weight: 780;
    white-space: nowrap;
}

.invoices-mobile-list {
    display: grid;
    gap: 13px;
}

.invoices-mobile-card {
    padding: 17px;
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.78);
}

.invoices-mobile-card__head,
.invoices-mobile-card__patient,
.invoices-mobile-card__amounts {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.invoices-mobile-card__head {
    margin-bottom: 14px;
}

.invoices-mobile-card__patient {
    justify-content: flex-start;
    padding: 14px 0;
    border-block: 1px solid rgba(22,33,29,.07);
    margin-bottom: 14px;
}

.invoices-mobile-card__amounts {
    margin-bottom: 14px;
}

.invoices-mobile-card__amounts div {
    display: grid;
    gap: 3px;
}

.invoices-mobile-card__amounts span,
.invoices-mini-stats span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.invoices-mobile-card__amounts strong,
.invoices-mini-stats strong {
    color: var(--text-strong);
    font-weight: 850;
}

.invoices-side-stack {
    gap: 16px;
}

.invoices-side-card {
    padding: 20px;
}

.invoices-side-card--focus {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    background: linear-gradient(180deg, #f7fbf7, #ffffff);
    border-color: rgba(47,107,88,.12);
}

.invoice-regenerate-btn {
    color: #745a18;
    background: rgba(239, 209, 145, .18);
    border-color: rgba(176, 138, 44, .20);
}

.invoice-review-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
}

.invoice-review-strip > div {
    min-height: 78px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid rgba(22,33,29,.07);
    background: rgba(255,255,255,.70);
}

.invoice-review-strip span,
.invoice-empty-v2 p,
.invoice-paper__clinic-lines,
.invoice-paper__box small,
.invoice-paper__table small,
.invoice-paper__notes p,
.invoice-paper__footer {
    color: var(--muted);
}

.invoice-review-strip > div > span {
    display: block;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.invoice-review-strip strong {
    color: var(--text-strong);
    font-weight: 850;
}

.invoice-empty-v2 {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 26px;
}

.invoice-empty-v2__icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
    font-size: 1.35rem;
}

.invoice-empty-v2 h2 {
    color: var(--text-strong);
    font-size: 1.22rem;
    font-weight: 850;
    margin: 0 0 6px;
}

.invoice-empty-v2 p {
    line-height: 1.7;
    margin: 0;
}

.invoice-print-frame {
    padding: 22px;
    overflow-x: auto;
}

.invoice-paper {
    width: min(100%, 900px);
    margin-inline: auto;
    padding: 34px;
    border-radius: 26px;
    border: 1px solid rgba(22,33,29,.10);
    background: #fffdf8;
    box-shadow: 0 20px 60px rgba(22,33,29,.08);
    color: var(--text);
}

.invoice-paper__header {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    gap: 24px;
    align-items: start;
    padding-bottom: 22px;
    margin-bottom: 18px;
    border-bottom: 2px solid rgba(47,107,88,.14);
}

.invoice-paper__clinic {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.invoice-paper__logo {
    width: 68px;
    height: 68px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 20px;
    border: 1px solid rgba(22,33,29,.10);
    background: linear-gradient(135deg, rgba(47,107,88,.10), rgba(224,197,124,.18));
    overflow: hidden;
    color: var(--brand-deep);
    font-weight: 900;
}

.invoice-paper__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.invoice-paper__label,
.invoice-paper__box span,
.invoice-paper__section-head span,
.invoice-paper__notes span {
    display: block;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.invoice-paper__clinic-name {
    margin-top: 5px;
    color: var(--text-strong);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    line-height: .92;
    letter-spacing: -.04em;
}

.invoice-paper__clinic-lines {
    display: grid;
    gap: 2px;
    margin-top: 12px;
    line-height: 1.45;
    font-size: .9rem;
}

.invoice-paper__identity {
    text-align: right;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, #ffffff, #f7f2e9);
}

.invoice-paper__number {
    margin-top: 6px;
    color: var(--text-strong);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.055em;
}

.invoice-paper__status {
    display: inline-flex;
    margin-top: 12px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(47,107,88,.09);
    color: var(--brand-deep);
    font-size: .78rem;
    font-weight: 850;
}

.invoice-paper__status.is-danger {
    color: #8a3028;
    background: rgba(176,72,62,.10);
}

.invoice-paper__status.is-primary {
    color: #745a18;
    background: rgba(239,209,145,.22);
}

.invoice-paper__meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.invoice-paper__box {
    min-height: 92px;
    padding: 13px 14px;
    border-radius: 17px;
    border: 1px solid rgba(22,33,29,.08);
    background: #fff;
}

.invoice-paper__box strong {
    display: block;
    margin-top: 7px;
    color: var(--text-strong);
    font-size: .96rem;
    font-weight: 850;
    line-height: 1.35;
}

.invoice-paper__box small {
    display: block;
    margin-top: 5px;
    line-height: 1.35;
    font-weight: 650;
}

.invoice-paper__section {
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: #ffffff;
}

.invoice-paper__section-head {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.invoice-paper__section-head strong {
    display: block;
    margin-top: 4px;
    color: var(--text-strong);
    font-size: 1.02rem;
    font-weight: 850;
}

.invoice-paper__table {
    width: 100%;
    border-collapse: collapse;
}

.invoice-paper__table th,
.invoice-paper__table td {
    padding: 9px 10px;
    border-bottom: 1px solid rgba(22,33,29,.075);
    vertical-align: top;
}

.invoice-paper__table th {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
    background: #f6f1e7;
}

.invoice-paper__table td {
    color: var(--text);
    font-size: .9rem;
    line-height: 1.35;
}

.invoice-paper__table td strong,
.invoice-paper__table td small {
    display: block;
}

.invoice-paper__table td strong {
    color: var(--text-strong);
    font-weight: 850;
}

.invoice-paper__table td small {
    margin-top: 3px;
    font-size: .78rem;
}

.invoice-paper__table tbody tr:last-child td {
    border-bottom: 0;
}

.invoice-paper__col-no {
    width: 44px;
}

.invoice-paper__empty-line {
    text-align: center;
    color: var(--muted) !important;
    padding: 20px !important;
}

.invoice-paper__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
    gap: 16px;
    align-items: start;
    margin-top: 16px;
}

.invoice-paper__notes,
.invoice-paper__totals {
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: #ffffff;
    padding: 15px 16px;
}

.invoice-paper__notes p {
    margin: 8px 0 0;
    line-height: 1.55;
}

.invoice-paper__totals {
    display: grid;
    gap: 0;
}

.invoice-paper__totals div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.invoice-paper__totals div:last-child {
    border-bottom: 0;
}

.invoice-paper__totals span {
    color: var(--muted);
    font-weight: 720;
}

.invoice-paper__totals strong {
    color: var(--text-strong);
    font-weight: 900;
}

.invoice-paper__totals .is-total span,
.invoice-paper__totals .is-total strong,
.invoice-paper__totals .is-balance span,
.invoice-paper__totals .is-balance strong {
    color: var(--brand-deep);
    font-size: 1.02rem;
}

.invoice-paper__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(22,33,29,.08);
    font-size: .88rem;
    line-height: 1.45;
}

.invoice-paper__footer strong {
    color: var(--text-strong);
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .invoices-layout,
    .invoice-paper__header,
    .invoice-paper__bottom {
        grid-template-columns: 1fr;
    }

    .invoice-paper__identity {
        text-align: left;
    }
}

@media (max-width: 991.98px) {
    .invoices-filter-card__main,
    .invoice-review-strip,
    .invoice-paper__meta {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .invoices-filter-card__main,
    .invoices-filter-card__actions,
    .invoice-review-strip,
    .invoice-paper__meta,
    .invoice-empty-v2,
    .invoice-paper__clinic {
        grid-template-columns: 1fr;
    }

    .invoices-filter-card__actions,
    .invoices-filter-card__actions .velora-primary-btn,
    .invoices-filter-card__actions .velora-soft-btn,
    .invoice-review-strip > div,
    .invoice-paper,
    .invoice-print-frame {
        width: 100%;
    }

    .invoice-paper,
    .invoice-print-frame,
    .invoices-main-card,
    .invoices-side-card {
        padding: 16px;
        border-radius: 22px;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 8mm;
    }

    html,
    body {
        width: 210mm;
        min-height: 297mm;
        background: #fff !important;
        color: #111 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body * {
        visibility: hidden !important;
    }

    .invoice-paper,
    .invoice-paper * {
        visibility: visible !important;
    }

    .vc-topnav-shell,
    .vc-content,
    .invoice-v2-page,
    .invoice-print-frame {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    .vc-app-topbar,
    .invoice-toolbar--screen,
    .invoice-review-strip,
    .vc-dropdown-menu,
    .btn,
    .velora-page-head,
    .invoice-empty-v2 {
        display: none !important;
    }

    .invoice-paper {
        position: absolute !important;
        inset: 0 auto auto 0 !important;
        width: 194mm !important;
        min-height: 281mm !important;
        margin: 0 !important;
        padding: 7mm !important;
        border-radius: 0 !important;
        border: 1px solid #d8d3c8 !important;
        background: #fff !important;
        box-shadow: none !important;
        color: #111 !important;
        font-size: 8.8pt !important;
        line-height: 1.25 !important;
        overflow: hidden !important;
        page-break-after: avoid !important;
        page-break-inside: avoid !important;
    }

    .invoice-paper__header {
        grid-template-columns: 1.16fr .84fr !important;
        gap: 8mm !important;
        padding-bottom: 4mm !important;
        margin-bottom: 4mm !important;
        border-bottom: 1.5px solid #2f6b58 !important;
    }

    .invoice-paper__logo {
        width: 15mm !important;
        height: 15mm !important;
        border-radius: 4mm !important;
    }

    .invoice-paper__clinic-name {
        font-size: 20pt !important;
        line-height: .9 !important;
    }

    .invoice-paper__clinic-lines {
        margin-top: 2mm !important;
        gap: .5mm !important;
        font-size: 7.6pt !important;
        line-height: 1.25 !important;
    }

    .invoice-paper__identity {
        padding: 3.5mm !important;
        border-radius: 4mm !important;
        box-shadow: none !important;
        background: #fff !important;
    }

    .invoice-paper__number {
        font-size: 17pt !important;
    }

    .invoice-paper__status {
        min-height: 6mm !important;
        margin-top: 2mm !important;
        padding: 0 3mm !important;
        font-size: 7.2pt !important;
    }

    .invoice-paper__meta {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 2mm !important;
        margin-bottom: 3mm !important;
    }

    .invoice-paper__box {
        min-height: 0 !important;
        padding: 2.6mm !important;
        border-radius: 3.5mm !important;
        background: #fff !important;
    }

    .invoice-paper__box strong {
        margin-top: 1.5mm !important;
        font-size: 8.4pt !important;
        line-height: 1.2 !important;
    }

    .invoice-paper__box small {
        margin-top: 1mm !important;
        font-size: 7.1pt !important;
        line-height: 1.18 !important;
    }

    .invoice-paper__section,
    .invoice-paper__notes,
    .invoice-paper__totals,
    .invoice-paper__box,
    .invoice-paper__identity {
        border-color: #d8d3c8 !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .invoice-paper__section-head {
        padding: 2mm 2.5mm !important;
    }

    .invoice-paper__section-head strong {
        font-size: 8.7pt !important;
    }

    .invoice-paper__table th,
    .invoice-paper__table td {
        padding: 1.65mm 2mm !important;
        border-color: #ded9cf !important;
        line-height: 1.18 !important;
    }

    .invoice-paper__table th {
        font-size: 6.6pt !important;
        background: #f4f0e7 !important;
    }

    .invoice-paper__table td {
        font-size: 7.7pt !important;
    }

    .invoice-paper__table td small {
        font-size: 6.9pt !important;
        margin-top: .7mm !important;
    }

    .invoice-paper__col-no {
        width: 8mm !important;
    }

    .invoice-paper__bottom {
        grid-template-columns: 1fr 58mm !important;
        gap: 3mm !important;
        margin-top: 3mm !important;
    }

    .invoice-paper__notes,
    .invoice-paper__totals {
        padding: 3mm !important;
        border-radius: 3.5mm !important;
    }

    .invoice-paper__notes p {
        margin-top: 1.5mm !important;
        line-height: 1.25 !important;
        font-size: 7.4pt !important;
    }

    .invoice-paper__totals div {
        padding: 1.35mm 0 !important;
    }

    .invoice-paper__totals .is-total span,
    .invoice-paper__totals .is-total strong,
    .invoice-paper__totals .is-balance span,
    .invoice-paper__totals .is-balance strong {
        font-size: 8.4pt !important;
    }

    .invoice-paper__footer {
        margin-top: 3mm !important;
        padding-top: 2.5mm !important;
        font-size: 7.2pt !important;
        line-height: 1.2 !important;
    }

    .invoice-paper__label,
    .invoice-paper__box span,
    .invoice-paper__section-head span,
    .invoice-paper__notes span {
        font-size: 6.4pt !important;
        letter-spacing: .09em !important;
    }
}

/* ===== Velora final operational cleanup overrides ===== */
.patients-final-layout--single,
.bookings-layout--single,
.invoices-layout--single {
    grid-template-columns: 1fr !important;
}

.patients-final-layout--single .patients-final-main,
.bookings-layout--single .bookings-main-card,
.invoices-layout--single .invoices-main-card {
    width: 100%;
}

.patients-panel-tools {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.patients-compact-count,
.bookings-day-strip span,
.invoices-work-strip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.70);
    color: var(--muted-strong);
    font-size: .82rem;
    font-weight: 820;
    white-space: nowrap;
}

.patients-compact-count i,
.bookings-day-strip i,
.invoices-work-strip i {
    color: var(--brand-deep);
}

.bookings-day-strip,
.invoices-work-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 14px 16px;
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(249,246,239,.94));
    box-shadow: var(--shadow-sm);
}

.bookings-day-strip .is-attention {
    color: #8b641a;
    background: rgba(239,209,145,.22);
    border-color: rgba(176,138,44,.20);
}

.invoices-work-strip span:last-child {
    margin-inline-start: auto;
}

.invoice-paper__identity-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(22,33,29,.08);
    color: var(--muted);
    font-size: .82rem;
    font-weight: 760;
}

.invoice-paper__identity-line strong {
    color: var(--text-strong);
    font-weight: 850;
    white-space: nowrap;
}

.invoice-paper__doctor-notes {
    margin-top: 14px;
    padding: 14px 16px 16px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.08);
    background: #ffffff;
    break-inside: avoid;
    page-break-inside: avoid;
}

.invoice-paper__doctor-notes-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
}

.invoice-paper__doctor-notes-head span {
    display: block;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.invoice-paper__doctor-notes-head strong {
    display: block;
    margin-top: 4px;
    color: var(--text-strong);
    font-size: .94rem;
    font-weight: 850;
}

.invoice-paper__signature {
    min-width: 130px;
    padding-top: 22px;
    border-top: 1px solid rgba(22,33,29,.18);
    color: var(--muted);
    font-size: .78rem;
    font-weight: 760;
    text-align: center;
}

.invoice-paper__note-lines {
    display: grid;
    gap: 10px;
    margin-top: 8px;
}

.invoice-paper__note-lines span {
    display: block;
    height: 16px;
    border-bottom: 1px solid rgba(22,33,29,.18);
}

@media (max-width: 767.98px) {
    .patients-panel-tools,
    .bookings-day-strip,
    .invoices-work-strip {
        align-items: stretch;
    }

    .patients-panel-tools,
    .patients-panel-tools .vdash-final-panel__link,
    .patients-compact-count,
    .bookings-day-strip span,
    .invoices-work-strip span {
        width: 100%;
    }

    .invoices-work-strip span:last-child {
        margin-inline-start: 0;
    }
}

@media print {
    .invoice-paper__doctor-notes {
        margin-top: 2.6mm !important;
        padding: 2.4mm 3mm 2.8mm !important;
        border-radius: 3.5mm !important;
        border-color: #d8d3c8 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .invoice-paper__doctor-notes-head {
        margin-bottom: 1.5mm !important;
        gap: 4mm !important;
    }

    .invoice-paper__doctor-notes-head span {
        font-size: 6.4pt !important;
        letter-spacing: .09em !important;
    }

    .invoice-paper__doctor-notes-head strong {
        margin-top: .6mm !important;
        font-size: 7.8pt !important;
    }

    .invoice-paper__signature {
        min-width: 34mm !important;
        padding-top: 5mm !important;
        font-size: 6.8pt !important;
    }

    .invoice-paper__note-lines {
        gap: 1.9mm !important;
        margin-top: 1mm !important;
    }

    .invoice-paper__note-lines span {
        height: 4.1mm !important;
        border-bottom-color: #bcb6ab !important;
    }

    .invoice-paper__identity-line {
        margin-top: 2mm !important;
        padding-top: 1.8mm !important;
        font-size: 7pt !important;
    }
}

/* ===== Velora final Reports / Settings alignment ===== */
.reports-final-head .velora-page-head__tools,
.settings-final-head .velora-page-head__tools {
    align-items: center;
}

.settings-section-divider {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(249,246,239,.90));
    box-shadow: var(--shadow-sm);
}

.settings-section-divider strong {
    color: var(--text-strong);
    font-weight: 850;
}

.settings-section-divider span {
    color: var(--muted);
    font-weight: 680;
}

/* =========================================================
   Velora final UI consolidation patch
   ========================================================= */

/* Dashboard Control */
.dashboard-control-page {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    gap: 20px;
}

.dashboard-control-hero {
    position: relative;
    min-height: 300px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 450px);
    align-items: center;
    gap: 28px;
    padding: clamp(32px, 4.5vw, 58px);
    border: 1px solid rgba(22, 33, 29, .08);
    border-radius: 32px;
    background:
        radial-gradient(640px 260px at 92% 30%, rgba(47,107,88,.10), transparent 62%),
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74));
    box-shadow: 0 22px 54px rgba(24, 36, 32, .08);
    overflow: hidden;
}

.dashboard-control-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(22,33,29,.12), transparent);
}

.dashboard-control-hero__eyebrow {
    color: var(--brand);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.dashboard-control-hero h1 {
    margin: 0;
    color: var(--brand-deep);
    font-family: var(--font-display);
    font-size: clamp(3.1rem, 5.5vw, 5.6rem);
    line-height: .92;
    font-weight: 760;
    letter-spacing: -.055em;
}

.dashboard-control-hero h1 span {
    color: #a9813c;
    font-weight: 620;
}

.dashboard-control-hero p {
    max-width: 650px;
    margin: 22px 0 0;
    color: var(--muted);
    font-size: 1.04rem;
    line-height: 1.8;
    font-weight: 600;
}

.dashboard-control-hero p strong {
    color: var(--brand-deep);
    font-weight: 850;
}

.dashboard-control-status {
    justify-self: end;
    width: 100%;
    max-width: 430px;
    padding: 22px;
    border-radius: 24px;
    border: 1px solid rgba(22,33,29,.10);
    background: rgba(255,255,255,.70);
    box-shadow: 0 22px 46px rgba(22, 36, 31, .08);
}

.dashboard-control-status > span {
    display: block;
    margin-bottom: 18px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dashboard-control-status div {
    display: flex;
    align-items: center;
    gap: 16px;
}

.dashboard-control-status i {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #fffaf1;
    background: linear-gradient(180deg, #2f6b58, #1d4a40);
    font-size: 2rem;
}

.dashboard-control-status.is-attention i {
    background: linear-gradient(180deg, #b98734, #875d20);
}

.dashboard-control-status strong {
    color: var(--brand-deep);
    font-size: clamp(1.55rem, 2.3vw, 2.05rem);
    font-weight: 850;
    letter-spacing: -.035em;
}

.dashboard-control-status small {
    display: block;
    margin-top: 14px;
    color: var(--muted);
    font-weight: 650;
}

.dashboard-control-strip {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: -42px;
    position: relative;
    z-index: 2;
}

.dashboard-control-strip span {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(22,33,29,.10);
    color: var(--brand-deep);
    background: rgba(255,255,255,.88);
    box-shadow: 0 12px 28px rgba(24, 36, 32, .07);
    font-weight: 760;
}

.dashboard-control-strip i {
    color: #a9813c;
}

.dashboard-control-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.dashboard-control-card {
    min-height: 178px;
    display: grid;
    align-content: space-between;
    gap: 16px;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.09);
    color: var(--text);
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.72));
    box-shadow: 0 16px 38px rgba(24, 36, 32, .06);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.dashboard-control-card:hover {
    transform: translateY(-3px);
    border-color: rgba(47,107,88,.22);
    box-shadow: 0 22px 48px rgba(24, 36, 32, .09);
}

.dashboard-control-card__top,
.dashboard-control-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.dashboard-control-card__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
    font-size: 1.35rem;
}

.dashboard-control-card.is-primary .dashboard-control-card__icon {
    color: #fffaf1;
    background: linear-gradient(180deg, #2f6b58, #1d4a40);
}

.dashboard-control-card__arrow {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: #a9813c;
    border: 1px solid rgba(22,33,29,.10);
    background: rgba(255,255,255,.70);
}

.dashboard-control-card > strong {
    color: var(--brand-deep);
    font-size: 1.15rem;
    font-weight: 850;
    letter-spacing: -.02em;
}

.dashboard-control-card > p {
    margin: -8px 0 0;
    min-height: 48px;
    color: var(--muted);
    font-weight: 620;
    line-height: 1.62;
}

.dashboard-control-card__foot {
    padding-top: 10px;
    border-top: 1px solid rgba(22,33,29,.09);
    color: var(--brand-deep);
    font-size: .88rem;
    font-weight: 820;
}

.dashboard-control-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.dashboard-control-mini-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.78);
    box-shadow: 0 14px 34px rgba(24, 36, 32, .05);
}

.dashboard-control-mini-panel span {
    display: block;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dashboard-control-mini-panel strong {
    display: block;
    margin-top: 4px;
    color: var(--brand-deep);
    font-weight: 850;
}

.dashboard-control-mini-panel a {
    color: var(--brand-deep);
    font-weight: 820;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .dashboard-control-hero,
    .dashboard-control-grid,
    .dashboard-control-bottom {
        grid-template-columns: 1fr;
    }

    .dashboard-control-status {
        justify-self: stretch;
        max-width: none;
    }

    .dashboard-control-strip {
        margin-top: 0;
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .dashboard-control-hero {
        padding: 26px;
        border-radius: 26px;
    }

    .dashboard-control-card,
    .dashboard-control-mini-panel {
        border-radius: 20px;
    }
}

/* Add Visit cleanup */
.visit-create-page .visit-final-layout {
    grid-template-columns: 1fr !important;
}

.visit-create-page .visit-final-main {
    max-width: none;
}

.visit-patient-lock {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(47,107,88,.16);
    background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(248,245,238,.92));
}

.visit-patient-lock i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.visit-patient-lock span {
    display: block;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.visit-patient-lock strong {
    display: block;
    color: var(--brand-deep);
    font-weight: 850;
}

/* Patient details final cleanup */
.patient-detail-final-layout {
    grid-template-columns: 1fr !important;
}

.patient-detail-final-main {
    width: 100%;
}

.patient-detail-appointments-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.patient-detail-appointments-split .patient-detail-appointments-panel {
    align-self: start;
    min-height: 0;
}

.patient-detail-appointments-split .patient-detail-subhead {
    margin: 6px 0 14px;
}

.patient-visit-empty {
    min-height: 150px;
    display: grid;
    place-items: center;
    gap: 8px;
    text-align: center;
    color: var(--muted);
    border: 1px dashed rgba(22,33,29,.16);
    border-radius: 24px;
    background: rgba(255,255,255,.58);
}

.patient-visit-empty i {
    color: var(--brand-deep);
    font-size: 1.9rem;
}

.patient-visit-empty strong {
    color: var(--brand-deep);
    font-weight: 850;
}

.patient-visit-cards-final {
    display: grid;
    gap: 14px;
}

.patient-visit-card {
    border: 1px solid rgba(22,33,29,.08);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72));
    box-shadow: 0 14px 32px rgba(24,36,32,.045);
    overflow: hidden;
}

.patient-visit-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 18px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.patient-visit-card__date {
    width: 62px;
    min-height: 70px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.10);
}

.patient-visit-card__date span {
    align-self: end;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.patient-visit-card__date strong {
    align-self: start;
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 900;
}

.patient-visit-card__eyebrow {
    color: #a9813c;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.patient-visit-card__titlewrap h3 {
    margin: 3px 0 0;
    color: var(--brand-deep);
    font-size: 1.15rem;
    font-weight: 850;
}

.patient-visit-card__titlewrap p {
    margin: 5px 0 0;
    color: var(--muted);
    font-weight: 650;
}

.patient-visit-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.patient-visit-card__actions form {
    margin: 0;
}

.patient-visit-card__body {
    padding: 16px 18px 4px;
}

.patient-visit-treatment-list {
    display: grid;
    gap: 10px;
}

.patient-visit-treatment,
.patient-visit-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.patient-visit-treatment {
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.07);
    background: rgba(255,255,255,.72);
}

.patient-visit-treatment__main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.patient-visit-treatment__main strong,
.patient-visit-treatment__meta strong {
    display: block;
    color: var(--brand-deep);
    font-weight: 850;
}

.patient-visit-treatment__main small,
.patient-visit-treatment__meta span,
.patient-visit-card__foot span {
    color: var(--muted);
    font-weight: 650;
}

.patient-visit-treatment__meta {
    text-align: end;
    flex: 0 0 auto;
}

.patient-visit-treatment-empty {
    padding: 16px;
    color: var(--muted);
    border-radius: 18px;
    background: rgba(255,255,255,.70);
    font-weight: 700;
}

.patient-visit-card__foot {
    align-items: stretch;
    padding: 14px 18px 18px;
}

.patient-visit-card__foot > div {
    flex: 1;
    padding: 14px;
    border-radius: 18px;
    background: rgba(248,245,238,.86);
}

.patient-visit-card__foot strong {
    display: block;
    margin-top: 4px;
    color: var(--brand-deep);
    font-weight: 850;
}

.patient-visit-card__note {
    flex: 2 !important;
}

@media (max-width: 992px) {
    .patient-detail-appointments-split,
    .patient-visit-card__head {
        grid-template-columns: 1fr;
    }

    .patient-visit-card__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .patient-visit-treatment,
    .patient-visit-card__foot {
        align-items: stretch;
        flex-direction: column;
    }

    .patient-visit-treatment__meta {
        text-align: start;
    }
}

/* Admin / reports modernization */
.systemstatus-page .vc-page-hero,
.users-admin-page .vc-page-hero,
.notifylogs-page .vc-page-hero,
.lc-reportsPage .velora-page-head {
    border-radius: 30px;
    border: 1px solid rgba(22,33,29,.08);
    background:
        radial-gradient(560px 240px at 88% 18%, rgba(47,107,88,.10), transparent 62%),
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.76));
    color: var(--brand-deep);
    box-shadow: 0 22px 54px rgba(24, 36, 32, .08);
}

.systemstatus-page .vc-page-hero__title,
.users-admin-page .vc-page-hero__title,
.notifylogs-page .vc-page-hero__title,
.lc-reportsPage .velora-page-head__title {
    color: var(--brand-deep);
    font-family: var(--font-display);
    font-weight: 760;
    letter-spacing: -.045em;
}

.systemstatus-page .vc-page-hero__title span,
.users-admin-page .vc-page-hero__title span,
.notifylogs-page .vc-page-hero__title span {
    color: #a9813c;
}

.systemstatus-page .vc-page-hero__eyebrow,
.users-admin-page .vc-page-hero__eyebrow,
.notifylogs-page .vc-page-hero__eyebrow,
.lc-reportsPage .velora-page-head__eyebrow {
    color: #a9813c;
}

.systemstatus-page .vc-page-hero__subtitle,
.users-admin-page .vc-page-hero__subtitle,
.notifylogs-page .vc-page-hero__subtitle,
.lc-reportsPage .velora-page-head__subtitle {
    color: var(--muted);
}

.systemstatus-page .vc-page-hero__focus,
.users-admin-page .vc-page-hero__focus,
.notifylogs-page .vc-page-hero__focus {
    border-color: rgba(47,107,88,.14);
    background: rgba(255,255,255,.62);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}

.systemstatus-page .lc-summary-grid,
.users-admin-page .lc-summary-grid,
.notifylogs-page .lc-summary-grid,
.lc-reportsPage .lc-summary-grid {
    gap: 16px;
    margin-top: 18px;
    margin-bottom: 22px;
}

.systemstatus-page .lc-summary-card,
.users-admin-page .lc-summary-card,
.notifylogs-page .lc-summary-card,
.lc-reportsPage .lc-summary-card,
.systemstatus-page .lc-surface-card,
.users-admin-page .lc-surface-card,
.notifylogs-page .lc-surface-card,
.notifylogs-page .lc-filter-card,
.users-admin-page .lc-filter-card,
.lc-reportsPage .lc-filter-card,
.lc-reportsPage .lc-panel,
.notifylogs-page .lc-table-card,
.users-admin-page .lc-table-card,
.systemstatus-page .lc-table-card {
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 38px rgba(24, 36, 32, .055);
}

.systemstatus-page .lc-summary-card__value,
.users-admin-page .lc-summary-card__value,
.notifylogs-page .lc-summary-card__value,
.lc-reportsPage .lc-summary-card__value {
    color: var(--brand-deep);
    letter-spacing: -.04em;
}

.systemstatus-page .lc-table,
.users-admin-page .lc-table,
.notifylogs-page .lc-table {
    --bs-table-bg: transparent;
}

.systemstatus-page .lc-table thead th,
.users-admin-page .lc-table thead th,
.notifylogs-page .lc-table thead th {
    color: var(--muted);
    font-size: .72rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    background: rgba(248,245,238,.82);
    border-bottom-color: rgba(22,33,29,.08);
}

/* Printable invoice final version */
.invoice-paper--clinic {
    width: min(100%, 210mm);
    min-height: 297mm;
    margin: 0 auto;
    padding: 14mm 15mm 12mm;
    border-radius: 0;
    border: 1px solid rgba(22,33,29,.14);
    background: #fffdf8;
    color: #111;
    box-shadow: 0 18px 42px rgba(24,36,32,.12);
    font-family: var(--font-ui);
}

.invoice-print-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16mm;
}

.invoice-print-brand {
    display: flex;
    align-items: center;
    gap: 7mm;
}

.invoice-print-logo {
    width: 24mm;
    height: 24mm;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #a9813c;
    border: 1.2px solid #a9813c;
    font-family: var(--font-display);
    font-size: 18pt;
    font-weight: 700;
    overflow: hidden;
}

.invoice-print-logo img {
    width: 75%;
    height: 75%;
    object-fit: contain;
}

.invoice-print-brand h1 {
    margin: 0;
    color: #060606;
    font-family: var(--font-display);
    font-size: 28pt;
    line-height: 1;
    font-weight: 650;
    letter-spacing: -.02em;
}

.invoice-print-brand p {
    margin: 4mm 0 0;
    color: #a9813c;
    font-size: 10pt;
    font-weight: 720;
    letter-spacing: .26em;
    text-transform: uppercase;
}

.invoice-print-topmeta {
    display: flex;
    align-items: flex-start;
    gap: 12mm;
}

.invoice-print-topmeta__item {
    display: flex;
    align-items: flex-start;
    gap: 3mm;
    min-width: 32mm;
}

.invoice-print-topmeta__item i {
    color: #111;
    font-size: 15pt;
    margin-top: .5mm;
}

.invoice-print-topmeta__item span,
.invoice-print-field span,
.invoice-print-totals span {
    display: block;
    color: #161616;
    font-size: 9.5pt;
    font-weight: 520;
}

.invoice-print-topmeta__item strong,
.invoice-print-field strong {
    display: block;
    margin-top: 1.5mm;
    color: #050505;
    font-size: 11pt;
    font-weight: 760;
}

.invoice-print-rule {
    height: 1.2px;
    margin: 9mm 0 12mm;
    background: #a9813c;
}

.invoice-print-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18mm;
    margin-bottom: 12mm;
}

.invoice-print-info-card {
    display: grid;
    gap: 8mm;
}

.invoice-print-section-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 5mm;
    margin-bottom: 5mm;
}

.invoice-print-section-title > span {
    width: 10mm;
    height: 10mm;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #111;
    background: #f3eee6;
    font-size: 12pt;
}

.invoice-print-section-title > strong {
    display: block;
    padding-bottom: 3mm;
    color: #090909;
    border-bottom: 1px solid #bcbcbc;
    font-size: 10pt;
    font-weight: 820;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.invoice-print-field {
    padding-left: 4mm;
}

.invoice-print-section {
    margin-top: 8mm;
}

.invoice-print-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #9f9a90;
    border-radius: 2mm;
    font-size: 10pt;
}

.invoice-print-table th,
.invoice-print-table td {
    padding: 5mm 6mm;
    border-right: 1px solid #c8c2b8;
    border-bottom: 1px solid #d8d3cb;
    vertical-align: middle;
}

.invoice-print-table th:last-child,
.invoice-print-table td:last-child {
    border-right: 0;
}

.invoice-print-table tbody tr:last-child td {
    border-bottom: 0;
}

.invoice-print-table th {
    color: #111;
    background: #faf8f4;
    font-size: 8.6pt;
    font-weight: 820;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.invoice-print-table td {
    color: #050505;
    font-weight: 580;
}

.invoice-print-empty {
    color: #777 !important;
    text-align: center;
}

.invoice-print-payment-section {
    width: 47%;
    margin-top: 12mm;
}

.invoice-print-totals {
    border: 1px solid #9f9a90;
    border-radius: 2mm;
    overflow: hidden;
}

.invoice-print-totals div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7mm;
    padding: 3.6mm 5mm;
    border-bottom: 1px solid #d9d4cc;
}

.invoice-print-totals div:last-child {
    border-bottom: 0;
}

.invoice-print-totals strong {
    color: #050505;
    font-size: 10pt;
    font-weight: 760;
    white-space: nowrap;
}

.invoice-print-balance {
    background: #f1ece4;
}

.invoice-print-balance span,
.invoice-print-balance strong {
    font-weight: 850 !important;
}

.invoice-print-notes {
    margin-top: 10mm;
}

.invoice-print-notes p {
    margin: -2mm 0 3mm 15mm;
    color: #111;
    font-size: 10pt;
    line-height: 1.6;
}

.invoice-print-note-lines {
    display: grid;
    gap: 4mm;
    margin-top: 5mm;
}

.invoice-print-note-lines span {
    height: 4.8mm;
    border-bottom: 1px solid #bdb8ae;
}

.invoice-print-footer {
    margin-top: 10mm;
    padding-top: 6mm;
    color: #111;
    border-top: 1.2px solid #a9813c;
    text-align: center;
    font-family: var(--font-display);
    font-size: 15pt;
    font-weight: 540;
}

@media screen and (max-width: 900px) {
    .invoice-print-header,
    .invoice-print-info-grid {
        grid-template-columns: 1fr;
    }

    .invoice-print-payment-section {
        width: 100%;
    }

    .invoice-print-topmeta {
        flex-wrap: wrap;
    }
}

@media print {
    @page {
        size: A4;
        margin: 0;
    }

    body {
        background: #fff !important;
    }

    body * {
        visibility: hidden !important;
    }

    .invoice-paper--clinic,
    .invoice-paper--clinic * {
        visibility: visible !important;
    }

    .invoice-v2-page,
    .invoice-print-frame {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: none !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .invoice-toolbar--screen,
    .invoice-review-strip,
    .invoice-shell,
    .vc-app-topbar,
    .vc-app-actions,
    .vc-app-nav {
        display: none !important;
    }

    .invoice-paper--clinic {
        position: absolute !important;
        inset: 0 auto auto 0 !important;
        width: 210mm !important;
        min-height: 297mm !important;
        height: 297mm !important;
        margin: 0 !important;
        padding: 14mm 15mm 12mm !important;
        border: 0 !important;
        box-shadow: none !important;
        background: #fffdf8 !important;
        overflow: hidden !important;
        print-color-adjust: exact !important;
        -webkit-print-color-adjust: exact !important;
    }

    .invoice-print-brand h1 {
        font-size: 27pt !important;
    }

    .invoice-print-table th,
    .invoice-print-table td {
        padding: 4.4mm 5.2mm !important;
    }

    .invoice-print-payment-section {
        margin-top: 9mm !important;
    }

    .invoice-print-notes {
        margin-top: 8mm !important;
    }

    .invoice-print-note-lines {
        gap: 3.2mm !important;
    }

    .invoice-print-note-lines span {
        height: 4.2mm !important;
    }

    .invoice-print-footer {
        margin-top: 8mm !important;
        padding-top: 5mm !important;
    }
}

/* ===== Velora shared topbar cleanup =====
   Scope: shared layout/topbar only. Keep one Velora logo on the left
   and account actions anchored on the right. No duplicated nav links in the topbar. */
.vc-app-topbar {
    justify-content: flex-start;
    min-height: 74px;
    gap: clamp(12px, 2vw, 22px);
    padding-block: 0;
}

.vc-app-brand--topbar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 0;
    width: clamp(124px, 12vw, 158px);
    min-height: 48px;
    padding: 4px 2px;
    border-radius: 16px;
    text-decoration: none;
    transition: background .18s ease, transform .18s ease;
}

.vc-app-brand--topbar:hover {
    background: rgba(47, 107, 88, .06);
    transform: translateY(-1px);
}

.vc-app-brand--topbar .vc-app-brand__logo {
    display: block;
    width: 100%;
    height: auto;
    max-height: 44px;
    object-fit: contain;
}

.vc-app-actions {
    margin-left: auto;
}

.vc-content--topnav {
    width: min(100%, 1480px);
}

@media (max-width: 991.98px) {
    .vc-app-topbar {
        align-items: center;
        padding-block: 14px;
    }

    .vc-app-brand--topbar {
        width: 126px;
    }

    .vc-app-actions {
        margin-left: auto;
    }
}

@media (max-width: 640px) {
    .vc-app-brand--topbar {
        width: 108px;
    }
}

/* Dashboard: no floating metric strip above the cards */
.dashboard-control-page {
    max-width: 1120px;
    margin: 0 auto;
}

.dashboard-control-hero {
    margin-bottom: 24px;
}

.dashboard-control-grid {
    margin-top: 0;
}

/* Calendar: remove KPI/side clutter and let the board breathe */
.vcal-page {
    max-width: 1180px;
    margin: 0 auto;
}

.vcal-grid--single,
.vcal-grid--day.vcal-grid--single {
    grid-template-columns: minmax(0, 1fr);
}

.vcal-panel--timeline {
    padding: 22px;
}

.vcal-slot {
    grid-template-columns: 160px minmax(0, 1fr) auto auto;
}

/* New appointment: rebuild as a clean, modern booking composer */
.booking-create-page--refined {
    max-width: 1120px;
    margin: 0 auto;
}

.booking-create-head {
    margin-bottom: 18px;
}

.booking-create-head .velora-page-head__title {
    font-family: var(--font-ui);
    font-size: clamp(2.05rem, 3vw, 2.75rem);
    font-weight: 850;
    line-height: 1.02;
    color: var(--text-strong);
    letter-spacing: -.045em;
}

.booking-create-head .velora-page-head__subtitle {
    max-width: 680px;
}

.booking-request-context {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
    padding: 18px 20px;
    border-radius: 22px;
    border: 1px solid rgba(22,33,29,.08);
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 38px rgba(24,36,32,.055);
}

.booking-request-context span:first-child {
    display: block;
    color: #a9813c;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.booking-request-context strong {
    display: block;
    margin-top: 4px;
    color: var(--text-strong);
    font-size: 1.15rem;
    font-weight: 850;
}

.booking-request-context p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: .92rem;
    font-weight: 620;
}

.booking-request-context p i {
    color: var(--brand-deep);
}

.booking-compose-main--full {
    padding: 24px;
    border-radius: 26px;
    border: 1px solid rgba(22,33,29,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(252,249,243,.88));
    box-shadow: 0 22px 54px rgba(24,36,32,.075);
}

.booking-form-topline {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(22,33,29,.08);
}

.booking-form-safe-note {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 999px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.08);
    font-weight: 760;
    white-space: nowrap;
}

.booking-picker {
    position: relative;
    z-index: 5;
}

.booking-picker--patient {
    isolation: isolate;
    /* Keep the patient dropdown above the later Time picker (z-index: 5). */
    z-index: 6;
}

.booking-picker--patient.is-open {
    z-index: 80;
}

.booking-picker__field .input-group-text {
    border-radius: 14px 0 0 14px !important;
    border-color: rgba(22,33,29,.12) !important;
    background: #fff !important;
    color: var(--brand-deep);
}

.booking-picker__field .form-control {
    border-left: 0 !important;
}

.booking-picker__suggestions,
.lc-suggest.booking-picker__suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1200;
    max-height: 230px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px;
    border-radius: 18px;
    border: 1px solid rgba(22,33,29,.10);
    background: rgba(255,255,255,.98);
    box-shadow: 0 18px 38px rgba(24,36,32,.14);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.lc-suggest.booking-picker__suggestions--patients {
    max-height: 230px;
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.booking-picker__suggestions--time {
    max-height: 260px;
}

.lc-suggest-empty {
    padding: 14px 16px;
    color: var(--muted);
    font-size: .92rem;
    font-weight: 700;
    text-align: center;
}

.lc-suggest-item {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 50px;
    padding: 9px 10px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: var(--text-strong);
    font-weight: 720;
    transition: background .16s ease, transform .16s ease;
}

.lc-suggest-item:hover,
.lc-suggest-item:focus {
    background: rgba(47,107,88,.08);
    color: var(--brand-deep);
    outline: none;
}

.lc-suggest-item__icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    border-radius: 12px;
    color: var(--brand-deep);
    background: rgba(47,107,88,.09);
}

.lc-suggest-item__copy {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lc-suggest-item__action {
    flex: 0 0 auto;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #a9813c;
    background: rgba(199,169,112,.14);
    font-size: .76rem;
    font-weight: 850;
}

.booking-create-actions {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(22,33,29,.08);
}

@media (max-width: 720px) {
    .booking-form-topline,
    .booking-request-context {
        align-items: stretch;
        flex-direction: column;
    }

    .booking-form-safe-note {
        white-space: normal;
    }
}

/* Reports: make the admin analytics page feel final, not legacy */
.lc-reportsPage {
    max-width: 1180px;
    margin: 0 auto;
}

.lc-reportsPage .reports-final-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: end;
    margin-bottom: 20px;
    padding: 28px 30px;
}

.lc-reportsPage .velora-page-head__title {
    font-size: clamp(2.65rem, 4vw, 4.55rem);
    line-height: .92;
}

.lc-reportsPage .velora-page-head__tools {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lc-reportsPage .lc-filter-card {
    margin-bottom: 22px;
    padding: 22px;
}

.lc-reportsPage .lc-filter-card__head {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.lc-reportsPage .lc-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.lc-reportsPage .lc-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lc-reportsPage .lc-summary-card {
    min-height: 120px;
    padding: 20px;
}

.lc-reportsPage .lc-summary-card__label {
    letter-spacing: .13em;
}

.lc-reportsPage .lc-summary-card__value {
    font-size: 2.2rem;
}

.lc-reportsPage .lc-chart-box {
    min-height: 260px;
}

@media (max-width: 980px) {
    .lc-reportsPage .reports-final-head,
    .lc-reportsPage .lc-filter-card__head {
        grid-template-columns: 1fr;
    }

    .lc-reportsPage .velora-page-head__tools,
    .lc-reportsPage .lc-filter-pills {
        justify-content: flex-start;
    }

    .lc-reportsPage .lc-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .lc-reportsPage .lc-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* Invoice print: stop responsive stacking inside Chrome print preview */
@media print {
    .invoice-print-header {
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: start !important;
    }

    .invoice-print-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .invoice-print-topmeta {
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
    }

    .invoice-print-brand h1 {
        font-size: 30pt !important;
    }

    .invoice-print-logo {
        width: 25mm !important;
        height: 25mm !important;
    }
}

/* =========================================================
   Dashboard / Calm Command Center
   Scoped to Pages/Index.cshtml only through velora-dashboard-* classes.
   ========================================================= */
.velora-dashboard-page {
    width: min(100%, 1240px);
    margin: 0 auto;
    padding: clamp(22px, 3vw, 38px) clamp(18px, 3vw, 32px) clamp(40px, 5vw, 68px);
}

.velora-dashboard-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: clamp(22px, 4vw, 42px);
    align-items: center;
    min-height: 178px;
    padding: clamp(26px, 4vw, 38px);
    border: 1px solid rgba(15, 67, 58, .10);
    border-radius: 28px;
    background:
        radial-gradient(circle at 96% 0%, rgba(184, 134, 52, .10), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(248, 250, 247, .92));
    box-shadow: 0 18px 46px rgba(15, 67, 58, .075);
}

.velora-dashboard-hero::after {
    content: "";
    position: absolute;
    inset: auto -86px -150px auto;
    width: 290px;
    height: 290px;
    border-radius: 999px;
    background: rgba(15, 109, 95, .055);
    pointer-events: none;
}

.velora-dashboard-hero__content,
.velora-dashboard-status {
    position: relative;
    z-index: 1;
}

.velora-dashboard-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    color: #0f6d5f;
    font-size: .70rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.velora-dashboard-eyebrow::before {
    content: "";
    width: 30px;
    height: 1px;
    background: linear-gradient(90deg, #b88634, rgba(184, 134, 52, 0));
}

.velora-dashboard-hero h1 {
    max-width: 720px;
    margin: 0;
    color: #073f36;
    font-size: clamp(2.05rem, 4vw, 3.2rem);
    line-height: 1.02;
    letter-spacing: -.055em;
    font-weight: 900;
}

.velora-dashboard-hero p {
    max-width: 620px;
    margin: 14px 0 0;
    color: #526b65;
    font-size: clamp(.96rem, 1.25vw, 1.05rem);
    line-height: 1.72;
    font-weight: 700;
}

.velora-dashboard-status {
    justify-self: end;
    display: flex;
    width: min(100%, 320px);
    align-items: center;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(15, 67, 58, .10);
    border-radius: 22px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 16px 34px rgba(15, 67, 58, .08);
    backdrop-filter: blur(12px);
}

.velora-dashboard-status__icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: #fff;
    font-size: 1.25rem;
    background: linear-gradient(145deg, #0e6c5d, #063f36);
    box-shadow: 0 12px 24px rgba(7, 63, 54, .18);
}

.velora-dashboard-status.is-attention .velora-dashboard-status__icon {
    background: linear-gradient(145deg, #c49138, #8a611f);
    box-shadow: 0 12px 24px rgba(184, 134, 52, .18);
}

.velora-dashboard-status small {
    display: block;
    margin-bottom: 4px;
    color: #71827d;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.velora-dashboard-status strong {
    display: block;
    color: #073f36;
    font-size: 1.28rem;
    line-height: 1.1;
    letter-spacing: -.035em;
    font-weight: 900;
}

.velora-dashboard-status p {
    margin: 5px 0 0;
    color: #5f746f;
    font-size: .83rem;
    line-height: 1.45;
    font-weight: 700;
}

.velora-dashboard-section-title {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin: clamp(26px, 4vw, 36px) 0 14px;
}

.velora-dashboard-section-title span {
    display: block;
    margin-bottom: 5px;
    color: #8a611f;
    font-size: .70rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.velora-dashboard-section-title h2 {
    margin: 0;
    color: #073f36;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    letter-spacing: -.04em;
    font-weight: 900;
}

.velora-dashboard-section-title p {
    max-width: 430px;
    margin: 0;
    color: #637a74;
    line-height: 1.58;
    font-size: .92rem;
    font-weight: 700;
    text-align: right;
}

.velora-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.velora-dashboard-card {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 178px;
    flex-direction: column;
    padding: 20px;
    border: 1px solid rgba(15, 67, 58, .10);
    border-radius: 24px;
    color: #073f36;
    text-decoration: none;
    background: rgba(255, 255, 255, .90);
    box-shadow: 0 12px 30px rgba(15, 67, 58, .055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.velora-dashboard-card::after {
    content: "";
    position: absolute;
    inset: auto -58px -82px auto;
    width: 136px;
    height: 136px;
    border-radius: 999px;
    background: rgba(15, 109, 95, .045);
    transition: transform .18s ease, background .18s ease;
}

.velora-dashboard-card:hover {
    transform: translateY(-4px);
    color: #073f36;
    border-color: rgba(184, 134, 52, .30);
    background: #fff;
    box-shadow: 0 20px 44px rgba(15, 67, 58, .10);
}

.velora-dashboard-card:hover::after {
    transform: scale(1.12);
    background: rgba(184, 134, 52, .065);
}

.velora-dashboard-card.is-primary {
    border-color: rgba(15, 109, 95, .18);
    background: linear-gradient(180deg, #ffffff, #f8fbf9);
}

.velora-dashboard-card__top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.velora-dashboard-card__icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: #0f6d5f;
    font-size: 1.12rem;
    background: rgba(15, 109, 95, .10);
}

.velora-dashboard-card:nth-child(3n + 2) .velora-dashboard-card__icon {
    color: #8a611f;
    background: rgba(184, 134, 52, .12);
}

.velora-dashboard-card:nth-child(3n + 3) .velora-dashboard-card__icon {
    color: #28574f;
    background: rgba(40, 87, 79, .10);
}

.velora-dashboard-card__arrow {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 67, 58, .10);
    border-radius: 999px;
    color: #b88634;
    background: rgba(255, 255, 255, .86);
}

.velora-dashboard-card strong {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 8px;
    color: #073f36;
    font-size: 1.02rem;
    letter-spacing: -.03em;
    font-weight: 900;
}

.velora-dashboard-card p {
    position: relative;
    z-index: 1;
    max-width: 260px;
    margin: 0;
    color: #5d746f;
    font-size: .88rem;
    line-height: 1.58;
    font-weight: 700;
}

.velora-dashboard-card__foot {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding-top: 18px;
    color: #073f36;
    font-size: .80rem;
    font-weight: 900;
}

.velora-dashboard-card__foot i {
    color: #b88634;
}

.velora-dashboard-shortcuts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.velora-dashboard-shortcut {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(15, 67, 58, .09);
    border-radius: 20px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 10px 24px rgba(15, 67, 58, .045);
}

.velora-dashboard-shortcut__mark {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #0f6d5f;
    background: rgba(15, 109, 95, .09);
}

.velora-dashboard-shortcut span {
    display: block;
    color: #8a611f;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.velora-dashboard-shortcut strong {
    display: block;
    margin-top: 3px;
    color: #073f36;
    font-size: .92rem;
    font-weight: 900;
}

.velora-dashboard-shortcut a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    color: #073f36;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 900;
}

.velora-dashboard-shortcut a:hover {
    color: #0f6d5f;
}

@media (max-width: 1180px) {
    .velora-dashboard-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .velora-dashboard-hero {
        grid-template-columns: 1fr;
    }

    .velora-dashboard-status {
        justify-self: stretch;
        width: 100%;
    }

    .velora-dashboard-grid,
    .velora-dashboard-shortcuts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .velora-dashboard-page {
        padding-inline: 14px;
    }

    .velora-dashboard-hero {
        min-height: auto;
        padding: 24px;
        border-radius: 24px;
    }

    .velora-dashboard-section-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .velora-dashboard-section-title p {
        text-align: start;
    }

    .velora-dashboard-grid,
    .velora-dashboard-shortcuts {
        grid-template-columns: 1fr;
    }

    .velora-dashboard-shortcut {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .velora-dashboard-shortcut a {
        grid-column: 2;
    }
}

@media (max-width: 430px) {
    .velora-dashboard-hero h1 {
        font-size: 2.15rem;
    }

    .velora-dashboard-card {
        min-height: 166px;
    }
}


/* Admin clean pages: User Access + Message History */
.admin-clean-page {
    max-width: 1220px;
}

.admin-clean-header {
    margin-bottom: 22px;
    padding: 26px 30px;
    border: 1px solid rgba(22, 33, 29, .08);
    border-radius: 28px;
    background:
        radial-gradient(520px 180px at 92% 0%, rgba(177, 137, 71, .08), transparent 62%),
        linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 252, 246, .82));
    box-shadow: 0 18px 42px rgba(24, 36, 32, .055);
}

.admin-clean-header__eyebrow {
    margin-bottom: 8px;
    color: #a9813c;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.admin-clean-header__title {
    margin: 0;
    color: var(--brand-deep);
    font-size: clamp(1.85rem, 2.2vw, 2.45rem);
    font-weight: 820;
    letter-spacing: -.035em;
    line-height: 1.06;
}

.admin-clean-header__subtitle {
    max-width: 640px;
    margin: 10px 0 0;
    color: var(--muted);
    font-size: .98rem;
    line-height: 1.65;
}

.users-admin-filter-card,
.notifylogs-filter-card {
    margin-bottom: 22px;
}

.admin-clean-filter-card .lc-filter-card__head {
    align-items: flex-start;
    gap: 16px;
}

.admin-filter-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-clear-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 14px;
    border: 1px solid rgba(47, 107, 88, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--brand-deep);
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.admin-clear-link:hover {
    border-color: rgba(47, 107, 88, .28);
    color: var(--brand-deep);
    box-shadow: 0 10px 22px rgba(24, 36, 32, .07);
    transform: translateY(-1px);
}

.admin-clean-table-card {
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(22, 33, 29, .08);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 16px 38px rgba(24, 36, 32, .055);
}

.users-admin-table-card .table-scroll,
.notifylogs-table-card .table-responsive {
    border-radius: inherit;
}

.users-admin-page .lc-filter-card,
.notifylogs-page .lc-filter-card {
    border-radius: 24px;
    background: rgba(255, 255, 255, .84);
}

.users-admin-page .lc-table td,
.notifylogs-page .lc-table td {
    vertical-align: middle;
}

.notifylogs-message-cell {
    max-width: 360px;
}

@media (max-width: 768px) {
    .admin-clean-header {
        padding: 22px;
        border-radius: 24px;
    }

    .admin-clean-filter-card .lc-filter-card__head {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-filter-actions,
    .admin-clear-link {
        width: 100%;
    }
}

/* VELORA_CALENDAR_MOBILE_SLOT_CLEANUP */
@media (max-width: 680px) {
    .vcal-slot.is-open {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }

    .vcal-slot.is-open > .vcal-slot__body,
    .vcal-slot.is-open > .vcal-slot__status {
        display: none;
    }

    .vcal-slot.is-open > .vcal-slot__action {
        justify-self: end;
    }

    .vcal-slot.is-open .vcal-slot__time strong {
        white-space: nowrap;
    }
}
/* END VELORA_CALENDAR_MOBILE_SLOT_CLEANUP */

