@keyframes mmFadeIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
#modal-mantenimiento-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.55) !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
}
#modal-mantenimiento-overlay .mm-card {
    max-width: 440px !important;
    width: 100% !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18) !important;
    animation: mmFadeIn 0.35s ease both !important;
}
#modal-mantenimiento-overlay .mm-top-bar {
    height: 4px !important;
    background: #004ABA !important;
}
#modal-mantenimiento-overlay .mm-inner {
    padding: 1.75rem 2rem !important;
}
#modal-mantenimiento-overlay .mm-header {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 1.25rem !important;
}

#modal-mantenimiento-overlay .mm-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 10px !important;
    background: #f4f4f4 !important;
    border: 1px solid #e0e0e0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

#modal-mantenimiento-overlay .mm-icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
}

#modal-mantenimiento-overlay .mm-header-text {
    flex: 1 !important;
}

#modal-mantenimiento-overlay .mm-label {
    font-size: 11px !important;
    color: #ad6161 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-weight: 600 !important;
    margin: 0 0 3px !important;
    line-height: 1 !important;
    display: block !important;
}

#modal-mantenimiento-overlay .mm-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
#modal-mantenimiento-overlay .mm-close {
    width: 28px !important;
    height: 28px !important;
    min-width: unset !important;
    min-height: unset !important;
    border-radius: 50% !important;
    background: #f0f0f0 !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    padding: 0 !important;
    transition: background 0.15s !important;
    box-shadow: none !important;
    margin-left: auto !important;
}

#modal-mantenimiento-overlay .mm-close:hover {
    background: #e0e0e0 !important;
}
#modal-mantenimiento-overlay .mm-divider {
    height: 1px !important;
    background: #efefef !important;
    margin-bottom: 1.25rem !important;
}
#modal-mantenimiento-overlay .mm-dates {
    display: flex !important;
    background: #f7f7f7 !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 1.25rem !important;
}

#modal-mantenimiento-overlay .mm-date-col {
    flex: 1 !important;
    padding: 1rem !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
}

#modal-mantenimiento-overlay .mm-date-col--left {
    border-right: 1px solid #e8e8e8 !important;
}

#modal-mantenimiento-overlay .mm-date-label {
    font-size: 10px !important;
    color: #999 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    display: block !important;
}

#modal-mantenimiento-overlay .mm-date-number {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.1 !important;
    display: block !important;
    margin: 2px 0 !important;
}

#modal-mantenimiento-overlay .mm-date-month {
    font-size: 11px !important;
    color: #777 !important;
    line-height: 1 !important;
    display: block !important;
}
#modal-mantenimiento-overlay .mm-desc {
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    color: #444 !important;
    margin: 0 0 1.25rem !important;
}
#modal-mantenimiento-overlay .mm-reopen {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0.75rem 1rem !important;
    background: #f0f5ff !important;
    border-radius: 8px !important;
    border-left: 3px solid #004ABA !important;
    margin-bottom: 1.25rem !important;
}

#modal-mantenimiento-overlay .mm-reopen svg {
    width: 15px !important;
    height: 15px !important;
    flex-shrink: 0 !important;
    display: block !important;
}

#modal-mantenimiento-overlay .mm-reopen-text {
    font-size: 13px !important;
    color: #003080 !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

#modal-mantenimiento-overlay .mm-reopen-text strong {
    font-weight: 700 !important;
    color: #002060 !important;
}
#modal-mantenimiento-overlay .mm-thanks {
    font-size: 11.5px !important;
    color: #bbb !important;
    text-align: center !important;
    margin: 0 0 1.25rem !important;
    font-style: italic !important;
}
#modal-mantenimiento-overlay .mm-cta {
    width: 100% !important;
    padding: 11px !important;
    background: #222 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    letter-spacing: 0.02em !important;
    transition: background 0.2s !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

#modal-mantenimiento-overlay .mm-cta:hover {
    background: #111 !important;
}

#modal-mantenimiento-overlay .mm-cta:active {
    background: #000 !important;
}
@media (max-width: 480px) {
    #modal-mantenimiento-overlay .mm-inner {
        padding: 1.5rem !important;
    }

    #modal-mantenimiento-overlay .mm-title {
        font-size: 15px !important;
    }

    #modal-mantenimiento-overlay .mm-date-number {
        font-size: 22px !important;
    }
}