/* 1. Brand Logo Container Layout (Responsive) */
.fi-logo.flex {
    display: flex !important;
    flex-direction: column !important; /* Stacked on mobile */
    align-items: center !important;    /* Cross-axis centering */
    justify-content: center !important; /* Main-axis centering */
    align-self: center !important;
    gap: 0.5rem !important;            /* Clean spacing between image and text */
    text-align: center;
    width: 100% !important;
    height: auto !important;
    padding: 8px 0 !important;         /* Safe vertical breathing room inside topbar */
}

/* 2. Brand Text Formatting */
.fi-logo span {
    margin: 0 !important;
    line-height: 1.25 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* 3. Tablet & Desktop Adaptations (640px and up) */
@media (min-width: 640px) {
    .fi-logo.flex {
        flex-direction: row !important; /* Side-by-side on desktop */
        justify-content: flex-start !important; /* Align to the left of the header */
        text-align: left;
        width: auto !important;
    }
}

/* ---------- Maintenance Form Field Loader ---------- */
.maintenance-form-loader-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    pointer-events: none;
    opacity: 0;
    transition: opacity 120ms ease-in-out;
}

.maintenance-form-loader-overlay.is-visible {
    opacity: 1;
    pointer-events: all;
}

.maintenance-form-loader-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0, 0, 0, 0.08);
    border-top-color: rgba(0, 0, 0, 0.8);
    border-radius: 50%;
    animation: maintenance-form-spin 700ms linear infinite;
}

@keyframes maintenance-form-spin {
    to {
        transform: rotate(360deg);
    }
}
