﻿/* ===============================
   Background Branding
   =============================== */

#background_branding_container {
    background-color: #f5f3f0;
    width: 100%;
    height: 100%;
    position: fixed;
    inset: 0;
    z-index: 0;
}

img[data-tenant-branding-background="true"] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

/* ===============================
   Loading State
   =============================== */

.loading {
    height: 100%;
    width: 100%;
    display: table;
}

/* Spinner container */
.loading-circle {
    position: relative;
    width: 8rem;
    height: 8rem;
    display: grid;
    place-items: center;
    margin: 0 auto 1rem auto;
}

/* SVG ring */
.loading-progress {
    width: 100%;
    height: 100%;
    display: block;
}

    /* Base ring */
    .loading-progress circle {
        fill: none;
        stroke: #e0e0e0;
        stroke-width: 0.6rem;
        transform-origin: 50% 50%;
        transform: rotate(-90deg);
    }

        /* Progress ring driven by Blazor */
        .loading-progress circle:last-child {
            stroke: #296ec6;
            stroke-dasharray: calc( 3.141 * var(--blazor-load-percentage, 0%) * 0.8 ), 500%;
            transition: stroke-dasharray 0.05s ease-in-out;
        }

/* Progress text */
.loading-progress-text {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    text-align: center;
    font-weight: 600;
    color: #555;
    pointer-events: none;
}

    .loading-progress-text::after {
        content: var(--blazor-load-percentage-text, "Loading");
    }
