.app-loading {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: linear-gradient(180deg, #f6f8fb 0%, #eef3f8 100%);
}

.app-loading__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
}

.app-loading__spinner {
    position: relative;
    width: 5.75rem;
    height: 5.75rem;
}

.app-loading__spinner::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 4px solid rgba(12, 76, 130, 0.14);
    border-top-color: #0c4c82;
    animation: app-loading-spin 1s linear infinite;
}

.app-loading__brand {
    font: 700 1.5rem/1 "Segoe UI", sans-serif;
    color: #0c4c82;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.app-loading__products {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
    color: #0c4c82;
}

.app-loading__product {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 10px 24px rgba(12, 76, 130, 0.12);
}

.app-loading__product .material-symbols-rounded {
    font-size: 1.25rem;
    color: #0c4c82;
}

.app-loading__hint {
    font: 500 0.95rem/1.4 "Segoe UI", sans-serif;
    color: #5f6f82;
}

@keyframes app-loading-spin {
    to {
        transform: rotate(360deg);
    }
}
