﻿/* =========================================================
   GLOBAL UI STABILITY
   Evita deformaciones por zoom / resolución
   ========================================================= */

/* 1) Base box model estable */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* 2) Tipografía base que escala parejo */
html {
    font-size: 16px;
}

@media (max-width: 1200px) {
    html {
        font-size: 15px;
    }
}

@media (max-width: 900px) {
    html {
        font-size: 14px;
    }
}
/* 3) Evita que grids y flex rompan columnas */
.page,
.layout,
.content,
.card,
.pr-grid,
.cg-shell,
.pr-shell {
    min-width: 0;
}

/* 4) Evita desbordes horizontales con zoom */
body {
    overflow-x: hidden;
}

/* 5) Tablas y contenedores largos no rompen layout */
table {
    max-width: 100%;
    border-collapse: collapse;
}

.table-wrap,
.pr-table-wrap,
.cg-table-wrap {
    overflow: auto;
}

/* 6) Textos largos no inflan columnas */
.note,
.text,
.desc {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 7) Inputs y botones escalan parejo */
input,
select,
button,
textarea {
    font-size: 1rem;
}

/* 8) Seguridad para grids responsive */
@media (max-width: 980px) {
    .pr-grid,
    .cg-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ===== CALENDARIO GRANDE Y MODERNO ===== */
.flatpickr-calendar {
    width: 330px !important;
    border-radius: 20px !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.40) !important;
    border: 1px solid rgba(18,83,163,.25) !important;
    font-family: inherit !important;
}

.flatpickr-months {
    background: linear-gradient(180deg, #0b3a74, #1253a3) !important;
    padding: 14px !important;
}

.flatpickr-current-month {
    color: #fff !important;
    font-size: 1.3rem !important;
    font-weight: 900 !important;
}

.flatpickr-weekday {
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 1rem !important;
}

.flatpickr-days {
    padding: 16px !important;
}

.flatpickr-day {
    width: 38px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    border-radius: 16px !important;
    margin: 4px !important;
}

    .flatpickr-day.selected {
        background: #1253a3 !important;
        color: #fff !important;
    }