/* Styling for the fu Blazor components (DxGrid/DxLoadingPanel/DxPopup/DxComboBox replacements). */
.fu-blz-loadhost { position: relative; }
.fu-blz-loadpanel {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; z-index: 20;
}
.fu-blz-loadpanel.fu-blz-shaded { background: rgba(255, 255, 255, 0.65); }
.fu-blz-spinner {
    width: 40px; height: 40px; border: 4px solid #ccc; border-top-color: #337ab7;
    border-radius: 50%; animation: fu-blz-spin 0.8s linear infinite;
}
.fu-blz-loadtext { margin-top: 10px; color: #333; }
@keyframes fu-blz-spin { to { transform: rotate(360deg); } }

.fu-blz-grid table { background: #fff; }
.fu-blz-grid th { font-weight: 700; white-space: nowrap; }

.fu-blz-overlay {
    position: fixed; inset: 0; background: rgba(0, 0, 0, 0.35);
    display: flex; align-items: center; justify-content: center; z-index: 1080;
}
.fu-blz-popup {
    background: #fff; border-radius: 6px; box-shadow: 0 6px 28px rgba(0, 0, 0, 0.3);
    min-width: 360px; max-width: 96vw; max-height: 92vh; overflow: auto; padding: 18px; position: relative;
}
.fu-blz-popup-close {
    position: absolute; top: 8px; right: 12px; border: none; background: none;
    font-size: 24px; line-height: 1; cursor: pointer; color: #888;
}
.fu-blz-popup-header { font-size: 18px; font-weight: 500; margin-bottom: 12px; padding-right: 24px; }

.fu-blz-combo { position: relative; }
.fu-blz-combo-list {
    position: absolute; top: 100%; left: 0; right: 0; z-index: 1090; background: #fff;
    border: 1px solid #ddd; border-radius: 4px; max-height: 260px; overflow: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.fu-blz-combo-item { padding: 6px 10px; cursor: pointer; }
.fu-blz-combo-item:hover { background: #ebebeb; }
