
/* /hms_appointment_extended/static/src/scss/booking_redesign.scss */
 .vp-booking-page, .vp-booking-progress--inside, .vp-booking-confirmation-form{--vp-primary: #0a6275; --vp-primary-dark: #084e5d; --vp-primary-light: #e8f4f6; --vp-primary-xlight: #f4fafb; --vp-text: #173042; --vp-text-soft: #5e7384; --vp-border: #d6e2e8; --vp-surface: #ffffff; --vp-bg: #dff1f6; --vp-shadow: 0 18px 44px rgba(10, 98, 117, 0.1); --vp-radius: 24px; --vp-radius-sm: 16px; --vp-success-bg: #d9f7ea; --vp-success-text: #0e7a50; --vp-info-bg: #dcecff; --vp-info-text: #2457d5; --vp-warning-bg: #fff1c9; --vp-warning-text: #9a5b00; --vp-muted-bg: #edf3f7; --vp-muted-text: #6a7f90;}.vp-booking-page{background: radial-gradient(circle at top right, rgba(38, 167, 190, 0.1) 0%, rgba(38, 167, 190, 0) 28%), radial-gradient(circle at top left, rgba(0, 91, 105, 0.08) 0%, rgba(0, 91, 105, 0) 26%), linear-gradient(180deg, #eff8fb 0%, #f7fbfd 100%); min-height: calc(100vh - 76px); padding-bottom: 4rem;}.vp-booking-progress{background: rgba(255, 255, 255, 0.86); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(10, 98, 117, 0.08);}.vp-booking-progress--inside{background: transparent; border-bottom: 0; margin: 0 auto 1.5rem; max-width: 1040px;}.vp-booking-progress__inner{display: flex; align-items: center; gap: 0.75rem; min-height: 84px; max-width: 980px; margin: 0 auto;}.vp-booking-progress__step{display: flex; align-items: center; gap: 0.75rem; flex: 1 1 0; color: #90a2b3;}.vp-booking-progress__dot{width: 2.4rem; height: 2.4rem; border-radius: 999px; border: 2px solid currentColor; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 0.95rem; flex-shrink: 0; background: #fff;}.vp-booking-progress__label{font-size: 0.96rem; font-weight: 700; white-space: nowrap;}.vp-booking-progress__line{height: 2px; background: #d8e4eb; flex: 0.9 1 auto;}.vp-booking-progress__line.is-done{background: var(--vp-primary);}.vp-booking-progress__step.is-active, .vp-booking-progress__step.is-done{color: var(--vp-primary);}.vp-booking-progress__step.is-active .vp-booking-progress__dot{background: var(--vp-primary-xlight);}.vp-booking-progress__step.is-done .vp-booking-progress__dot{background: var(--vp-primary); color: #fff;}.vp-booking-hero{padding: 2.5rem 0 2rem;}.vp-booking-hero__panel, .vp-booking-slots__picker-shell, .vp-booking-slots__summary-card, .vp-booking-form-card{background: rgba(255, 255, 255, 0.92); border: 1px solid rgba(10, 98, 117, 0.08); border-radius: var(--vp-radius); box-shadow: var(--vp-shadow); overflow: visible;}.vp-booking-hero__panel{padding: 2.75rem 2.5rem;}.vp-booking-hero__copy{text-align: center; max-width: 760px; margin: 0 auto 2rem;}.vp-booking-hero__eyebrow{display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.45rem 0.9rem; border-radius: 999px; background: var(--vp-primary-light); color: var(--vp-primary); font-size: 0.88rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;}.vp-booking-hero h1, .vp-booking-slots__header h1{color: var(--vp-text); font-size: clamp(2.2rem, 4vw, 3.3rem); font-weight: 900; letter-spacing: -0.04em; margin: 1rem 0 0.75rem;}.vp-booking-hero p, .vp-booking-slots__header p{color: var(--vp-text-soft); font-size: 1.05rem; line-height: 1.7; margin: 0;}.vp-booking-directory__searchbox{display: flex; align-items: center; gap: 0.8rem; max-width: 880px; margin: 0 auto 1.5rem; padding: 0.95rem 1.2rem; border-radius: 999px; border: 1px solid var(--vp-border); background: #fff; box-shadow: 0 10px 28px rgba(10, 98, 117, 0.08);}.vp-booking-directory__searchbox i{color: var(--vp-primary); font-size: 1.1rem;}.vp-booking-directory__search-input{border: 0; outline: 0; box-shadow: none; width: 100%; background: transparent; font-size: 1.02rem; color: var(--vp-text);}.vp-booking-directory__filters{display: flex; flex-wrap: wrap; justify-content: center; gap: 0.85rem; margin-bottom: 2rem;}.vp-booking-filter{border: 1.5px solid var(--vp-border); background: #fff; color: var(--vp-text-soft); border-radius: 999px; padding: 0.8rem 1.35rem; font-weight: 700; transition: 0.18s ease;}.vp-booking-filter:hover, .vp-booking-filter.is-active{border-color: var(--vp-primary); color: var(--vp-primary); background: var(--vp-primary-light);}.vp-booking-directory__grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem;}.vp-doctor-card{display: flex; flex-direction: column; gap: 1rem; padding: 1.2rem; background: #fff; border: 1px solid var(--vp-border); border-radius: 1.5rem; box-shadow: 0 10px 26px rgba(23, 48, 66, 0.07); transition: transform 0.18s ease, box-shadow 0.18s ease;}.vp-doctor-card:hover{transform: translateY(-4px); box-shadow: 0 18px 34px rgba(10, 98, 117, 0.12);}.vp-doctor-card.is-disabled{opacity: 0.68;}.vp-doctor-card.is-disabled:hover{transform: none; box-shadow: 0 10px 26px rgba(23, 48, 66, 0.07);}.vp-doctor-card__header{display: flex; align-items: center; gap: 1rem;}.vp-doctor-card__avatar{width: 4.3rem; height: 4.3rem; border-radius: 999px; overflow: hidden; background: #edf5f8; box-shadow: 0 8px 20px rgba(10, 98, 117, 0.14); flex-shrink: 0;}.vp-doctor-card__avatar img, .vp-booking-slots__summary-avatar img{width: 100%; height: 100%; object-fit: cover; display: block;}.vp-doctor-card__identity h3{margin: 0 0 0.35rem; color: var(--vp-text); font-size: 1.35rem; font-weight: 800; letter-spacing: -0.03em;}.vp-doctor-card__specialty{display: inline-flex; align-items: center; padding: 0.28rem 0.72rem; border-radius: 999px; background: #eef5ff; color: var(--vp-primary); font-size: 0.86rem; font-weight: 800;}.vp-doctor-card__consultations{position: relative; padding: 1rem 1.1rem; border-radius: 1.1rem; background: var(--vp-primary-light); border: 1px solid rgba(10, 98, 117, 0.08);}.vp-doctor-card__consultations-copy{min-width: 0; width: 100%;}.vp-doctor-card__consultations-title{font-size: 0.8rem; color: var(--vp-text-soft); font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.55rem; padding-right: 8.5rem;}.vp-doctor-card__consultations-list{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem;}.vp-doctor-card__consultation-chip, .vp-booking-slots__summary-consultation-chip{display: inline-flex; flex-direction: column; align-items: flex-start; gap: 0.08rem; min-height: 2rem; padding: 0.5rem 0.8rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.85); color: var(--vp-primary); font-size: 0.82rem; font-weight: 800; line-height: 1.25; width: 100%;}.vp-doctor-card__consultation-name{color: var(--vp-primary); font-size: 0.88rem; font-weight: 800;}.vp-doctor-card__consultation-price{color: var(--vp-text-soft); font-size: 0.74rem; font-weight: 700;}.vp-doctor-card__consultations-empty, .vp-booking-slots__summary-consultations-empty{color: var(--vp-text-soft); font-size: 0.92rem; font-weight: 700;}.vp-doctor-card__badge{display: inline-flex; align-items: center; justify-content: center; min-width: 7rem; max-width: 8.25rem; padding: 0.45rem 0.85rem; border-radius: 999px; font-size: 0.82rem; font-weight: 800; text-align: center; position: absolute; top: 1rem; right: 1.1rem;}.vp-doctor-card__badge.is-today{background: var(--vp-success-bg); color: var(--vp-success-text);}.vp-doctor-card__badge.is-tomorrow{background: var(--vp-info-bg); color: var(--vp-info-text);}.vp-doctor-card__badge.is-week{background: var(--vp-warning-bg); color: var(--vp-warning-text);}.vp-doctor-card__badge.is-later, .vp-doctor-card__badge.is-none{background: var(--vp-muted-bg); color: var(--vp-muted-text);}.vp-doctor-card__meta{display: grid; gap: 0.55rem;}.vp-doctor-card__meta-row{display: flex; align-items: flex-start; gap: 0.7rem; color: var(--vp-text-soft); font-size: 0.95rem;}.vp-doctor-card__meta-row i{color: var(--vp-primary); margin-top: 0.15rem;}.vp-doctor-card__footer{margin-top: auto;}.vp-primary-button, .vp-secondary-button{display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 3.15rem; padding: 0.85rem 1.35rem; border-radius: 999px; font-weight: 800; transition: 0.18s ease; text-decoration: none !important;}.vp-primary-button{width: 100%; border: 0; background: var(--vp-primary); color: #fff; box-shadow: 0 12px 24px rgba(10, 98, 117, 0.2);}.vp-primary-button:hover, .vp-primary-button:focus{background: var(--vp-primary-dark); color: #fff;}.vp-primary-button[disabled]{cursor: not-allowed; background: #b8c8d1; box-shadow: none;}.vp-secondary-button{border: 1px solid var(--vp-border); background: #fff; color: var(--vp-text);}.vp-secondary-button:hover, .vp-secondary-button:focus{border-color: var(--vp-primary); color: var(--vp-primary);}.vp-booking-alert{border-radius: 1rem;}.vp-booking-empty{text-align: center; padding: 3rem 1.5rem; background: rgba(255, 255, 255, 0.78); border: 1px dashed var(--vp-border); border-radius: 1.5rem; margin-top: 1.5rem;}.vp-booking-empty i{font-size: 2rem; color: var(--vp-primary); margin-bottom: 0.8rem;}.vp-booking-empty h3{font-size: 1.45rem; font-weight: 800; color: var(--vp-text);}.vp-booking-empty p{color: var(--vp-text-soft); margin: 0.5rem auto 0; max-width: 34rem;}.vp-booking-slots__section{padding-top: 2rem;}.vp-booking-slots__layout{display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 1.5rem; align-items: start;}.vp-booking-slots__summary-card, .vp-booking-slots__picker-shell{padding: 1.6rem;}.vp-booking-slots__summary-head{display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem;}.vp-booking-slots__summary-avatar{width: 5rem; height: 5rem; border-radius: 999px; overflow: hidden; flex-shrink: 0; background: #edf5f8;}.vp-booking-slots__summary-eyebrow, .vp-booking-slots__summary-label{display: block; color: var(--vp-text-soft); font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;}.vp-booking-slots__summary-head h2{margin: 0.25rem 0 0.35rem; color: var(--vp-text); font-size: 1.55rem; font-weight: 900; letter-spacing: -0.04em;}.vp-booking-slots__summary-consultations{padding: 1rem 1.15rem; border-radius: 1.2rem; background: var(--vp-primary-light); margin-bottom: 1rem;}.vp-booking-slots__summary-consultations-list{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; margin-top: 0.65rem;}@media (max-width: 991.98px){.vp-doctor-card__consultations-list, .vp-booking-slots__summary-consultations-list{grid-template-columns: minmax(0, 1fr);}}.vp-booking-slots__summary-meta{display: grid; gap: 0.9rem; margin-bottom: 1.25rem;}.vp-booking-slots__summary-meta span{display: block; color: var(--vp-text-soft); font-size: 0.86rem; margin-bottom: 0.2rem;}.vp-booking-slots__summary-meta strong{color: var(--vp-text); font-size: 1rem;}.vp-doctor-card__meta-row:first-child, .vp-booking-slots__summary-meta > div:first-child{display: none;}.vp-booking-slots__header{margin-bottom: 1.4rem;}.vp-booking-slots__content{display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.1rem;}.vp-booking-slots__calendar-card, .vp-booking-slots__times-card{border: 1px solid var(--vp-border); border-radius: 1.35rem; background: #fff; padding: 1rem; min-width: 0; overflow: visible;}.vp-custom-picker{display: flex; flex-direction: column; gap: 1rem;}.vp-custom-picker__header{display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 0.8rem;}.vp-custom-picker__nav{width: 44px; height: 44px; border: 1px solid var(--vp-border); border-radius: 14px; background: #fff; color: var(--vp-primary); font-size: 1.4rem; box-shadow: 0 8px 18px rgba(10, 98, 117, 0.08);}.vp-custom-picker__title-block{text-align: center;}.vp-custom-picker__eyebrow{display: block; color: var(--vp-text-soft); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;}.vp-custom-picker__title{display: block; color: var(--vp-text); font-size: 1rem; font-weight: 900; margin-top: 0.2rem;}.vp-custom-picker__days{display: grid; grid-template-columns: repeat(var(--vp-days-count, 7), minmax(0, 1fr)); gap: 0.5rem;}.vp-custom-picker__day{width: 100%; border: 1px solid var(--vp-border); border-radius: 14px; background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%); padding: 0.6rem 0.4rem; text-align: center; display: grid; grid-template-columns: 1fr; grid-template-areas: "name" "number" "month" "meta"; gap: 0.05rem; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;}.vp-custom-picker__day:not(:disabled):hover{transform: translateY(-1px); border-color: rgba(10, 98, 117, 0.34); box-shadow: 0 12px 24px rgba(10, 98, 117, 0.1);}.vp-custom-picker__day.is-selected{background: linear-gradient(180deg, #0a6275 0%, #0d7389 100%); border-color: #0a6275; color: #fff;}.vp-custom-picker__day.is-disabled{opacity: 0.45; background: #f3f7fa; box-shadow: none;}.vp-custom-picker__day-name{grid-area: name; color: inherit; font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em;}.vp-custom-picker__day-number{grid-area: number; align-self: center; font-size: 1.15rem; font-weight: 900; color: inherit; line-height: 1.05;}.vp-custom-picker__day-month{grid-area: month; color: inherit; font-size: 0.7rem; font-weight: 700;}.vp-custom-picker__day-meta{grid-area: meta; color: inherit; font-size: 0.62rem; font-weight: 700; opacity: 0.85; margin-top: 0.15rem;}.vp-custom-picker__legend{display: flex; flex-wrap: wrap; gap: 0.9rem; color: var(--vp-text-soft); font-size: 0.78rem; font-weight: 700;}.vp-custom-picker__legend-dot{margin-right: 0.35rem;}.vp-custom-picker__legend-dot.is-available{color: #1da96c;}.vp-custom-picker__legend-dot.is-disabled{color: #b8c6d0;}.vp-custom-agenda{display: flex; flex-direction: column; gap: 1rem;}.vp-custom-agenda__header{display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: 0.25rem; border-bottom: 1px solid rgba(10, 98, 117, 0.08);}.vp-custom-agenda__eyebrow{display: block; color: var(--vp-text-soft); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;}.vp-custom-agenda__title{display: block; color: var(--vp-text); font-size: 1rem; font-weight: 900; margin-top: 0.15rem;}.vp-custom-agenda__hint{color: var(--vp-text-soft); font-size: 0.82rem; font-weight: 700;}.vp-custom-agenda__legend{display: flex; flex-wrap: wrap; gap: 0.9rem; padding: 0.85rem 1rem; border: 1px solid rgba(10, 98, 117, 0.08); border-radius: 16px; background: linear-gradient(135deg, #f7fbfd 0%, #ffffff 100%);}.vp-custom-agenda__legend-item{display: inline-flex; align-items: center; gap: 0.45rem; color: var(--vp-text-soft); font-size: 0.8rem; font-weight: 800;}.vp-custom-agenda__legend-icon{font-size: 0.78rem;}.vp-custom-agenda__legend-icon.is-open{color: #75c7a1;}.vp-custom-agenda__legend-icon.is-selected{color: var(--vp-primary);}.vp-custom-agenda__legend-icon.is-empty{color: #d4dee5;}.vp-custom-agenda__summary{display: grid;}.vp-custom-agenda__summary-card{display: grid; gap: 0.22rem; padding: 1rem 1.1rem; border-radius: 18px; border: 1px solid rgba(10, 98, 117, 0.08); background: radial-gradient(circle at top right, rgba(38, 167, 190, 0.08) 0%, rgba(38, 167, 190, 0) 36%), linear-gradient(135deg, #f6fbfc 0%, #ffffff 100%);}.vp-custom-agenda__summary-card.is-selected{border-color: rgba(10, 98, 117, 0.22); box-shadow: 0 14px 28px rgba(10, 98, 117, 0.08);}.vp-custom-agenda__summary-label{color: var(--vp-text-soft); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;}.vp-custom-agenda__summary-card strong{color: var(--vp-text); font-size: 1rem; font-weight: 900;}.vp-custom-agenda__summary-card span:last-child{color: var(--vp-text-soft); font-size: 0.84rem; font-weight: 700;}.vp-custom-agenda__grid{overflow-x: auto; padding-bottom: 0.25rem; border-radius: 20px; background: linear-gradient(180deg, rgba(244, 250, 252, 0.95) 0%, rgba(255, 255, 255, 0.98) 100%); border: 1px solid rgba(10, 98, 117, 0.06); padding: 0.9rem;}.vp-custom-agenda__matrix{--vp-agenda-days: 7; --vp-agenda-time-col: 66px; --vp-agenda-day-col: 124px; --vp-agenda-row-height: 74px; display: grid; position: relative; grid-template-columns: var(--vp-agenda-time-col) repeat(var(--vp-agenda-days), var(--vp-agenda-day-col)); grid-auto-rows: var(--vp-agenda-row-height); gap: 0.6rem; width: max-content; max-width: 100%; margin: 0 auto;}.vp-custom-agenda__time-head, .vp-custom-agenda__day-head, .vp-custom-agenda__range-preview, .vp-custom-agenda__time-cell, .vp-custom-agenda__slot, .vp-custom-agenda__slot-cover, .vp-custom-agenda__empty-cell{min-width: 0;}.vp-custom-agenda__time-head, .vp-custom-agenda__day-head{position: sticky; top: 0; z-index: 1; padding: 0.5rem 0.3rem; border: 1px solid rgba(10, 98, 117, 0.08); border-radius: 13px; background: linear-gradient(180deg, #f2f8fa 0%, #f8fcfd 100%); text-align: center;}.vp-custom-agenda__day-head.is-selected{border-color: rgba(10, 98, 117, 0.28); box-shadow: 0 12px 22px rgba(10, 98, 117, 0.09); background: linear-gradient(180deg, #dff1f6 0%, #f7fcfd 100%);}.vp-custom-agenda__column-day{display: block; color: var(--vp-text-soft); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;}.vp-custom-agenda__column-day{font-size: 0.6rem;}.vp-custom-agenda__column-date{display: block; color: var(--vp-text); font-size: 0.82rem; font-weight: 900; margin-top: 0.1rem;}.vp-custom-agenda__column-meta{display: block; color: var(--vp-text-soft); font-size: 0.6rem; font-weight: 700; margin-top: 0.15rem;}.vp-custom-agenda__time-head{display: flex; align-items: center; justify-content: center; color: var(--vp-text-soft); font-size: 0.64rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.05em;}.vp-custom-agenda__time-cell{display: flex; align-items: center; justify-content: center; min-height: var(--vp-agenda-row-height); padding: 0.4rem 0.35rem; border-radius: 13px; background: linear-gradient(180deg, #f8fbfd 0%, #f2f7fa 100%); color: var(--vp-text-soft); font-size: 0.72rem; font-weight: 800; border: 1px solid rgba(10, 98, 117, 0.05);}.vp-custom-agenda__slot{position: relative; isolation: isolate; border: 1px solid #d9e5eb; border-radius: 13px; background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%); min-height: var(--vp-agenda-row-height); padding: 0.4rem 0.3rem; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; z-index: 2;}.vp-custom-agenda__slot-cover{position: relative; min-height: var(--vp-agenda-row-height); background: transparent; z-index: 1;}.vp-custom-agenda__slot:hover{transform: translateY(-1px); border-color: rgba(10, 98, 117, 0.34); box-shadow: 0 10px 20px rgba(10, 98, 117, 0.08);}.vp-custom-agenda__range-preview{position: absolute; display: flex; align-items: stretch; justify-content: stretch; left: calc( var(--vp-agenda-time-col) + 0.6rem + (var(--vp-preview-day-offset, 0) * (var(--vp-agenda-day-col) + 0.6rem))); top: calc( var(--vp-agenda-row-height) + 0.6rem + (var(--vp-preview-row-offset, 0) * (var(--vp-agenda-row-height) + 0.6rem))); width: var(--vp-agenda-day-col); height: calc( (var(--vp-preview-row-span, 1) * var(--vp-agenda-row-height)) + ((var(--vp-preview-row-span, 1) - 1) * 0.6rem)); border-radius: 16px; z-index: 1; pointer-events: none; border: 1px solid transparent; overflow: hidden;}.vp-custom-agenda__range-preview.is-hover{z-index: 4; border-color: rgba(10, 98, 117, 0.42); background: linear-gradient(180deg, rgba(232, 244, 246, 0.96) 0%, rgba(247, 251, 253, 0.96) 100%); box-shadow: 0 12px 24px rgba(10, 98, 117, 0.1);}.vp-custom-agenda__range-preview.is-selected{z-index: 5; pointer-events: auto; border-color: #075566; background: linear-gradient(180deg, #0a6275 0%, #0d7389 100%); box-shadow: 0 18px 34px rgba(10, 98, 117, 0.22); color: #fff;}.vp-custom-agenda__range-content{width: 100%; min-height: 100%; padding: 0.85rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.25rem; text-align: center;}.vp-custom-agenda__range-content.is-preview{justify-content: flex-start; padding-top: 0.75rem; color: var(--vp-primary);}.vp-custom-agenda__range-label{font-size: 0.68rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.82;}.vp-custom-agenda__range-time{display: block; font-size: 1rem; font-weight: 900; line-height: 1.15;}.vp-custom-agenda__range-meta{display: block; font-size: 0.76rem; font-weight: 800; opacity: 0.88;}.vp-custom-agenda__change-slot{margin-top: 0.5rem; border: 1px solid rgba(255, 255, 255, 0.72); background: rgba(255, 255, 255, 0.14); color: #fff; border-radius: 999px; padding: 0.42rem 0.72rem; font-size: 0.74rem; font-weight: 900; transition: background 160ms ease, border-color 160ms ease;}.vp-custom-agenda__change-slot:hover, .vp-custom-agenda__change-slot:focus{background: rgba(255, 255, 255, 0.24); border-color: #fff;}.vp-custom-agenda__slot::before{content: ""; position: absolute; top: 0.65rem; right: 0.65rem; width: 0.55rem; height: 0.55rem; border-radius: 999px; background: #b8c8d1;}.vp-custom-agenda__slot.is-high::before{background: #1da96c;}.vp-custom-agenda__slot.is-medium::before{background: #f0aa2a;}.vp-custom-agenda__slot.is-low::before{background: #d97706;}.vp-custom-agenda__slot.is-selected{border-color: rgba(10, 98, 117, 0.4); color: transparent;}.vp-custom-agenda__slot.is-selected::before{background: transparent;}.vp-custom-agenda__slot.is-covered-by-hover, .vp-custom-agenda__slot.is-covered-by-selected{opacity: 0; pointer-events: none;}.vp-custom-agenda__slot-time{display: block; font-size: 0.76rem; font-weight: 900; line-height: 1.1;}.vp-custom-agenda__slot-meta{display: block; margin-top: 0.1rem; font-size: 0.6rem; font-weight: 800; opacity: 0.74;}.vp-custom-agenda__empty-cell{min-height: var(--vp-agenda-row-height); border: 1px dashed #d7e3e9; border-radius: 13px; background: linear-gradient(180deg, rgba(251, 253, 254, 0.95) 0%, rgba(246, 250, 252, 0.95) 100%);}.vp-booking-slots__times{display: grid; grid-template-columns: repeat(auto-fit, minmax(146px, 1fr)); gap: 0.95rem;}.vp-booking-slot{display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; margin: 0; padding: 0.95rem 0.85rem; border-radius: 1rem; border: 1px solid #d9e5eb; background: #f7fbfd; color: var(--vp-text); box-shadow: none;}.vp-booking-slot.bg-primary, .vp-booking-slot.acs_active{background: var(--vp-primary) !important; border-color: var(--vp-primary); color: #fff;}.vp-booking-slot__time{display: block; font-weight: 800; font-size: 1rem;}.vp-booking-slot__doctor, .vp-booking-slot__fee{display: block; margin-top: 0.3rem;}.vp-booking-slots__actions{display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.4rem;}.vp-booking-form-card .card-header{background: transparent; border-bottom: 1px solid rgba(10, 98, 117, 0.08); padding: 1.25rem 1.5rem 1rem;}.vp-booking-form-card .card-header h5{margin: 0; color: var(--vp-text); font-size: 1.25rem; font-weight: 900;}.vp-booking-form-card .card-body, .vp-booking-form-card .card-footer{padding-left: 1.5rem; padding-right: 1.5rem; background: radial-gradient(circle at top right, rgba(38, 167, 190, 0.08) 0%, rgba(38, 167, 190, 0) 30%), radial-gradient(circle at top left, rgba(0, 91, 105, 0.06) 0%, rgba(0, 91, 105, 0) 22%), linear-gradient(135deg, #f4fafc 0%, #f8fcfe 58%, #ffffff 100%);}.vp-booking-confirmation-form textarea, .vp-booking-confirmation-form .form-control, .vp-booking-confirmation-form .form-select{background: rgba(255, 255, 255, 0.86); border-radius: 1rem; border-color: var(--vp-border); min-height: 3rem;}.vp-booking-confirmation-form .acs_service_selector{border-radius: 1rem; background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(244, 250, 252, 0.96) 100%); border: 1px solid rgba(10, 98, 117, 0.08); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75); padding: 0.85rem;}.vp-booking-confirmation-form .btn-primary{background: var(--vp-primary); border-color: var(--vp-primary);}.vp-booking-confirmation-form .btn-primary:hover, .vp-booking-confirmation-form .btn-primary:focus{background: var(--vp-primary-dark); border-color: var(--vp-primary-dark);}.vp-booking-confirmation-form .btn-outline-primary{color: var(--vp-primary); border-color: var(--vp-primary);}.vp-booking-confirmation-form .btn-outline-primary:hover, .vp-booking-confirmation-form .btn-outline-primary:focus{background: var(--vp-primary); color: #fff;}@media (max-width: 1199.98px){.vp-booking-directory__grid{grid-template-columns: repeat(2, minmax(0, 1fr));}.vp-booking-slots__layout, .vp-booking-slots__content{grid-template-columns: 1fr;}.vp-custom-agenda__matrix{--vp-agenda-time-col: 56px; --vp-agenda-day-col: 100px;}}@media (max-width: 991.98px){.vp-custom-agenda__grid{overflow-x: auto;}.vp-custom-agenda__matrix{--vp-agenda-time-col: 54px; --vp-agenda-day-col: 96px; margin: 0;}}@media (max-width: 767.98px){.vp-booking-progress__inner{gap: 0.4rem; min-height: 72px;}.vp-booking-progress__label{display: none;}.vp-booking-hero__panel, .vp-booking-slots__picker-shell, .vp-booking-slots__summary-card{padding: 1.4rem;}.vp-booking-directory__grid{grid-template-columns: 1fr;}.vp-booking-slots__actions{flex-direction: column;}.vp-primary-button, .vp-secondary-button{width: 100%;}.vp-booking-slots__times{grid-template-columns: 1fr 1fr;}.vp-custom-picker__header{grid-template-columns: 40px minmax(0, 1fr) 40px;}.vp-custom-picker__days{grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));}.vp-custom-agenda__grid{overflow-x: auto;}.vp-custom-agenda__matrix{--vp-agenda-time-col: 56px; --vp-agenda-day-col: 116px; margin: 0;}.vp-custom-agenda__header{flex-direction: column; align-items: flex-start;}}@keyframes vp-spin{to{transform: rotate(360deg);}}.vp-spinner{display: inline-block; border-radius: 50%; border: 3px solid var(--vp-primary-light); border-top-color: var(--vp-primary); animation: vp-spin 0.7s linear infinite; vertical-align: middle;}.vp-spinner--sm{width: 1.5rem; height: 1.5rem;}.vp-spinner--lg{width: 2.8rem; height: 2.8rem; border-width: 4px;}.vp-loading-block{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; min-height: 340px; padding: 2.5rem 1.5rem; border: 1px solid var(--vp-border); border-radius: 1.35rem; background: linear-gradient(180deg, #ffffff 0%, var(--vp-primary-xlight) 100%);}.vp-loading-block__text{color: var(--vp-text-soft); font-weight: 800; font-size: 0.95rem;}