﻿.validation-summary-errors ul {list-style: none;padding-left: 0;margin: 0;}
.dx-custom-grid {height: auto;max-height: 78vh;overflow-y: auto;}
.mapouter { width: 100%; height: 320px; }
#view-container { display: flex; flex-wrap: wrap; gap: 16px; }

.view-box { flex: 1; padding: 20px; border: 1px solid #ccc; background-color: #fafafa; min-height: 200px; }

.half-width { width: 50%; display: block; }

.full-width { width: 100%; display: block; }

.sticky-footer-row { position: sticky; bottom: 0; background: var(--bs-body-bg); /* Vuexy/Bootstrap background */ border-top: 1px solid var(--bs-border-color); padding: .75rem 1rem; z-index: 10; /* Keep above card body content */ }

/* Desktop cap. Devexpress message width set */
@media (min-width: 577px) {
    .dx-toast-wrapper .dx-overlay-content { max-width: 420px; }
}

/* Mobile: keep it inside viewport with padding. Devexpress message width set */
@media (max-width: 576px) {
    .dx-toast-wrapper .dx-overlay-content { max-width: calc(100vw - 32px); width: auto; }
}
