
/* CPB_DATEPICKER_V1 */

.flatpickr-calendar {
    border: 1px solid #dfe7f0 !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 45px rgba(20,48,78,.15) !important;
    font-family: inherit !important;
    padding: 10px !important;
    width: 320px !important;
    max-width: calc(100vw - 24px) !important;
}

.flatpickr-months {
    align-items: center;
    padding: 8px 0;
}

.flatpickr-current-month {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #20384e !important;
}

.flatpickr-weekday {
    color: #6c8094 !important;
    font-weight: 750 !important;
}

.flatpickr-day {
    border-radius: 10px !important;
    font-weight: 650;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #0756a3 !important;
    border-color: #0756a3 !important;
    color: #fff !important;
}

.flatpickr-day.today {
    border-color: #0756a3 !important;
}

.flatpickr-day:hover {
    background: #eaf3fd !important;
    border-color: #eaf3fd !important;
}

.flatpickr-time {
    border-top: 1px solid #dfe7f0 !important;
    margin-top: 8px;
    padding-top: 8px;
    height: 52px !important;
}

.flatpickr-time input {
    font-weight: 800 !important;
    color: #20384e !important;
    font-size: 16px !important;
}

.flatpickr-time input:focus {
    background: #eaf3fd !important;
}

.flatpickr-input[readonly] {
    cursor: pointer;
    background-color: #fff !important;
}

@media (max-width: 700px) {
    .flatpickr-calendar {
        font-size: 14px;
    }
}


/* CPB_CALENDARIO_V11 — Ajustes visuais */

.flatpickr-calendar {
    width: 300px !important;
    padding: 8px !important;
    border-radius: 15px !important;
    box-shadow: 0 12px 35px rgba(20,48,78,.14) !important;
}

.flatpickr-calendar .flatpickr-days,
.flatpickr-calendar .dayContainer {
    width: 284px !important;
    min-width: 284px !important;
    max-width: 284px !important;
}

.flatpickr-calendar .flatpickr-day {
    height: 39px !important;
    line-height: 39px !important;
    max-width: 40px !important;
}

.flatpickr-calendar .flatpickr-time {
    border-top: 1px solid #dfe7f0 !important;
    margin-top: 9px;
    padding-top: 7px;
}

.flatpickr-calendar .flatpickr-time input {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #20384e !important;
}

.flatpickr-calendar .flatpickr-months {
    padding: 5px 0 10px;
}

.flatpickr-calendar .flatpickr-weekday {
    font-size: 12px !important;
}

@media(max-width:360px) {
    .flatpickr-calendar {
        max-width: calc(100vw - 16px) !important;
    }
}


/* ==================================================
   CPB_CALENDARIO_V12
   Calendário e botões de planeamento
   ================================================== */

/* Calendário */

.flatpickr-calendar {
    border: 1px solid #d9e5f1 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 48px rgba(25, 55, 90, .17) !important;
    overflow: hidden;
}

/* Cabeçalho */

.flatpickr-calendar .flatpickr-months {
    background: #f5f9fd;
    border-radius: 12px 12px 0 0;
}

.flatpickr-calendar .flatpickr-current-month {
    font-weight: 800 !important;
    color: #20384e !important;
}

/* Dias */

.flatpickr-calendar .flatpickr-day {
    border-radius: 10px !important;
    transition: background .15s ease;
}

.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange {
    background: #0756a3 !important;
    border-color: #0756a3 !important;
    color: #fff !important;
}

.flatpickr-calendar .flatpickr-day.today:not(.selected) {
    border-color: #0756a3 !important;
    color: #0756a3 !important;
}

/* Horas */

.flatpickr-calendar .flatpickr-time {
    background: #f5f9fd;
    border-top: 1px solid #dce7f2 !important;
    border-radius: 0 0 12px 12px;
}

.flatpickr-calendar .flatpickr-time input {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #20384e !important;
    background: transparent !important;
}

/* Ocultar controlos numéricos sem bloquear edição */

.flatpickr-calendar .flatpickr-time input::-webkit-inner-spin-button,
.flatpickr-calendar .flatpickr-time input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.flatpickr-calendar .flatpickr-time input[type=number] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.flatpickr-calendar .flatpickr-time .arrowUp,
.flatpickr-calendar .flatpickr-time .arrowDown {
    display: none !important;
}

/* Campos */

input.flatpickr-input {
    cursor: pointer;
}

/* Botões de planeamento:
   estilos aplicados apenas a links identificáveis */

a[href*="bloquear-posto"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 43px;
    padding: 10px 17px;
    border: 1px solid #9bc5f2;
    border-radius: 10px;
    background: #eff6ff;
    color: #0756a3 !important;
    font-weight: 800;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease;
}

a[href*="bloquear-posto"]:hover {
    background: #dbeafe;
    border-color: #6ca8e8;
}

/* Botão de consulta */

a[href*="/bloqueios/"]:not([href*="/editar/"]):not([href*="/eliminar/"]) {
    border-radius: 10px;
    font-weight: 750;
}

/* Teclado */

.flatpickr-calendar :focus-visible,
a[href*="bloquear-posto"]:focus-visible {
    outline: 3px solid #75aef0;
    outline-offset: 2px;
}

/* Mobile */

@media (max-width: 700px) {
    a[href*="bloquear-posto"] {
        min-height: 44px;
    }

    .flatpickr-calendar {
        max-width: calc(100vw - 16px) !important;
    }
}
