﻿/* ==========================================================================
   Calentim — tema Samva (variables de samva-design-system.css)
   Mantiene el popup usable y alineado con la UI moderna.
   ========================================================================== */

.calentim-container,
.calentim-container-mobile {
    font-family: var(--sv-font, 'Inter', 'Segoe UI', Roboto, sans-serif) !important;
    font-size: var(--sv-font-size-base, 12.5px) !important;
    color: var(--sv-text-main, #1e293b);
}

.calentim-container.calentim-popup {
    max-width: calc(100vw - 16px);
}

.calentim-container .calentim-input,
.calentim-container-mobile .calentim-input {
    background: var(--sv-white, #ffffff);
    border: 1px solid var(--sv-border, #e2e8f0);
    border-radius: var(--sv-radius-md, 10px);
    box-shadow: var(--sv-shadow-lg, 0 20px 25px -5px rgba(0, 0, 0, 0.1));
    overflow: hidden;
}

.calentim-container .calentim-input.calentim-input-vertical-range .calentim-left,
.calentim-container-mobile .calentim-input.calentim-input-vertical-range .calentim-left {
    border-right: 1px solid var(--sv-border, #e2e8f0);
}

.calentim-container .calentim-input.calentim-input-vertical-range .calentim-right,
.calentim-container-mobile .calentim-input.calentim-input-vertical-range .calentim-right {
    background: var(--sv-bg-soft, #f1f5f9);
}

.calentim-container .calentim-input .calentim-header,
.calentim-container-mobile .calentim-input .calentim-header {
    border-bottom: 1px solid var(--sv-border, #e2e8f0);
    background: var(--sv-white, #ffffff);
}

.calentim-container .calentim-input .calentim-header .calentim-header-start-day,
.calentim-container .calentim-input .calentim-header .calentim-header-end-day,
.calentim-container-mobile .calentim-input .calentim-header .calentim-header-start-day,
.calentim-container-mobile .calentim-input .calentim-header .calentim-header-end-day {
    color: var(--sv-dark, #00013D);
}

.calentim-container .calentim-input .calentim-header .calentim-header-start-date,
.calentim-container .calentim-input .calentim-header .calentim-header-end-date,
.calentim-container-mobile .calentim-input .calentim-header .calentim-header-start-date,
.calentim-container-mobile .calentim-input .calentim-header .calentim-header-end-date {
    color: var(--sv-text-muted, #64748b);
}

.calentim-container .calentim-input .calentim-header .calentim-header-start-weekday,
.calentim-container .calentim-input .calentim-header .calentim-header-end-weekday,
.calentim-container-mobile .calentim-input .calentim-header .calentim-header-start-weekday,
.calentim-container-mobile .calentim-input .calentim-header .calentim-header-end-weekday {
    color: var(--sv-text-light, #94a3b8);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-title,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-title {
    color: var(--sv-text-main, #1e293b);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-title .calentim-prev,
.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-title .calentim-next,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-title .calentim-prev,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-title .calentim-next {
    color: var(--sv-primary, #006DEF);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-dayofweek,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-dayofweek {
    color: var(--sv-text-muted, #64748b);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day {
    color: var(--sv-text-main, #1e293b);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-today,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-today {
    color: var(--sv-primary, #006DEF);
    font-weight: 600;
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-selected,
.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-start,
.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-end,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-selected,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-start,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-end {
    background: var(--sv-primary-alpha, rgba(0, 109, 239, 0.2));
    color: var(--sv-dark, #00013D);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-selected.calentim-start span,
.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-selected.calentim-end span,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-selected.calentim-start span,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-selected.calentim-end span {
    background: var(--sv-primary, #006DEF) !important;
    color: var(--sv-white, #ffffff) !important;
    border-radius: var(--sv-radius-sm, 6px);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-hovered:not(.calentim-selected),
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-hovered:not(.calentim-selected) {
    background-color: var(--sv-primary-alpha, rgba(0, 109, 239, 0.2));
    color: var(--sv-text-main, #1e293b);
}

.calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-hovered:not(.calentim-selected) span,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day.calentim-hovered:not(.calentim-selected) span {
    background-color: transparent;
}

.calentim-notouch .calentim-container .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day:hover span,
.calentim-notouch .calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar .calentim-days-container .calentim-day:hover span {
    background: var(--sv-primary-alpha, rgba(0, 109, 239, 0.2));
    color: var(--sv-primary, #006DEF);
}

.calentim-container .calentim-input .calentim-calendars .calentim-month-selector .calentim-ms-month.current,
.calentim-container .calentim-input .calentim-calendars .calentim-year-selector .calentim-ys-year.current,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-month-selector .calentim-ms-month.current,
.calentim-container-mobile .calentim-input .calentim-calendars .calentim-year-selector .calentim-ys-year.current {
    background: var(--sv-primary, #006DEF);
    color: var(--sv-white, #ffffff);
}

.calentim-notouch .calentim-container .calentim-input .calentim-calendars .calentim-month-selector .calentim-ms-month:hover,
.calentim-notouch .calentim-container .calentim-input .calentim-calendars .calentim-year-selector .calentim-ys-year:hover,
.calentim-notouch .calentim-container-mobile .calentim-input .calentim-calendars .calentim-month-selector .calentim-ms-month:hover,
.calentim-notouch .calentim-container-mobile .calentim-input .calentim-calendars .calentim-year-selector .calentim-ys-year:hover {
    background: var(--sv-primary, #006DEF);
    color: var(--sv-white, #ffffff);
}

.calentim-container .calentim-input.calentim-input-vertical-range .calentim-right .calentim-ranges .calentim-range,
.calentim-container-mobile .calentim-input.calentim-input-vertical-range .calentim-right .calentim-ranges .calentim-range,
.calentim-container .calentim-input .calentim-ranges .calentim-range,
.calentim-container-mobile .calentim-input .calentim-ranges .calentim-range {
    background: var(--sv-white, #ffffff);
    border: 1px solid var(--sv-border, #e2e8f0);
    border-radius: var(--sv-radius-sm, 6px);
    color: var(--sv-text-main, #1e293b);
}

.calentim-container .calentim-input.calentim-input-vertical-range .calentim-right .calentim-ranges .calentim-range.calentim-range-selected,
.calentim-container-mobile .calentim-input.calentim-input-vertical-range .calentim-right .calentim-ranges .calentim-range.calentim-range-selected,
.calentim-container .calentim-input .calentim-ranges .calentim-range.calentim-range-selected,
.calentim-container-mobile .calentim-input .calentim-ranges .calentim-range.calentim-range-selected {
    background: var(--sv-primary, #006DEF);
    border-color: var(--sv-primary, #006DEF);
    color: var(--sv-white, #ffffff);
}

.calentim-notouch .calentim-container .calentim-input.calentim-input-vertical-range .calentim-right .calentim-ranges .calentim-range:hover,
.calentim-notouch .calentim-container .calentim-input .calentim-ranges .calentim-range:hover {
    border-color: var(--sv-primary, #006DEF);
    color: var(--sv-primary, #006DEF);
}

.calentim-container .calentim-input .calentim-ranges .calentim-range-header,
.calentim-container-mobile .calentim-input .calentim-ranges .calentim-range-header,
.calentim-container .calentim-input.calentim-input-vertical-range .calentim-right .calentim-ranges .calentim-range-header,
.calentim-container-mobile .calentim-input.calentim-input-vertical-range .calentim-right .calentim-ranges .calentim-range-header {
    color: var(--sv-dark, #00013D);
    font-weight: 600;
}

.calentim-container .calentim-input.calentim-input-vertical-range .calentim-right .calentim-footer,
.calentim-container-mobile .calentim-input.calentim-input-vertical-range .calentim-right .calentim-footer,
.calentim-container .calentim-input .calentim-footer {
    border-top: 1px solid var(--sv-border, #e2e8f0);
    background: var(--sv-white, #ffffff);
}

.calentim-container .calentim-input .calentim-footer .calentim-apply {
    background: var(--sv-primary, #006DEF);
    color: var(--sv-white, #ffffff);
    border-radius: var(--sv-radius-sm, 6px);
    font-family: var(--sv-font, 'Inter', 'Segoe UI', Roboto, sans-serif);
    font-weight: 600;
}

.calentim-container .calentim-input .calentim-footer .calentim-apply:disabled {
    background: var(--sv-border, #e2e8f0);
    color: var(--sv-text-light, #94a3b8);
}

.calentim-container .calentim-input .calentim-footer .calentim-cancel {
    background: var(--sv-bg-soft, #f1f5f9);
    color: var(--sv-text-muted, #64748b);
    border: 1px solid var(--sv-border, #e2e8f0);
    border-radius: var(--sv-radius-sm, 6px);
    font-family: var(--sv-font, 'Inter', 'Segoe UI', Roboto, sans-serif);
}

.calentim-notouch .calentim-container .calentim-input .calentim-footer .calentim-apply:hover:not(:disabled) {
    filter: brightness(0.95);
}

.calentim-notouch .calentim-container .calentim-input .calentim-footer .calentim-cancel:hover {
    border-color: var(--sv-text-light, #94a3b8);
    color: var(--sv-text-main, #1e293b);
}

.calentim-container .calentim-input .calentim-timepickers,
.calentim-container-mobile .calentim-input .calentim-timepickers {
    background: var(--sv-bg-soft, #f1f5f9);
    border-top: 1px solid var(--sv-border, #e2e8f0);
}

.calentim-container .calentim-input .calentim-timepickers .calentim-timepicker .calentim-timepicker-ampm .calentim-ampm-selected,
.calentim-container-mobile .calentim-input .calentim-timepickers .calentim-timepicker .calentim-timepicker-ampm .calentim-ampm-selected {
    background: var(--sv-primary, #006DEF);
    border-color: var(--sv-primary, #006DEF);
    color: var(--sv-white, #ffffff);
}

.calentim-container .calentim-box-arrow-top:after {
    border-bottom-color: var(--sv-white, #ffffff);
}

.calentim-container .calentim-box-arrow-bottom:after {
    border-top-color: var(--sv-white, #ffffff);
}

.calentim-container .calentim-box-arrow-left:after {
    border-right-color: var(--sv-white, #ffffff);
}

.calentim-container .calentim-box-arrow-right:after {
    border-left-color: var(--sv-white, #ffffff);
}

.calentim-container.calentim-hidden-calendar .calentim-box-arrow-top:after {
    border-bottom-color: var(--sv-bg-soft, #f1f5f9);
}